:root{--radius: 10px;--radius-sm: 6px;--content: 1180px;--font: "Open Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-heading: "Montserrat", ui-sans-serif, system-ui, sans-serif;--font-nav: "Barlow", ui-sans-serif, system-ui, sans-serif;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--page);color:var(--body);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--ink);font-weight:600;margin:0}img.brand-logo.brand-logo--light{display:block}img.brand-logo.brand-logo--dark{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) img.brand-logo.brand-logo--light{display:none}:root:not([data-theme=light]) img.brand-logo.brand-logo--dark{display:block}}:root[data-theme=dark] img.brand-logo.brand-logo--light{display:none}:root[data-theme=dark] img.brand-logo.brand-logo--dark{display:block}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface-sunk);border-bottom:1px solid var(--line);box-shadow:inset 3px 0 0 var(--brand)}.modal-head-title{font-size:16px;font-weight:700;color:var(--ink)}.modal-head-actions{display:flex;align-items:center;gap:var(--space-2)}.form-card{margin:0;padding:var(--space-4) var(--space-4) var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);min-inline-size:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:inset 3px 0 0 var(--brand),var(--shadow)}.form-card-legend{padding:0 var(--space-2);font-size:13px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ink)}:root{--brand: #8cc63f;--brand-dark: #6b9a2e;--brand-soft: #eef6e2;--on-brand: #ffffff;--on-brand-dim: rgb(255 255 255 / .45);--accent: #f57000;--accent-strong:#dd6300;--accent-soft: #fff1e2;--ink: #171b21;--body: #383c43;--muted: #545a61;--surface: #ffffff;--surface-sunk: #eaeee4;--page: #d2d6cf;--line: #bcc1ba;--danger: #b3261e;--danger-soft: #fdecea;--danger-strong: #b3261e;--danger-on: #ffffff;--focus: #1a73e8;--shadow: 0 1px 2px rgb(0 0 0 / .1), 0 10px 30px rgb(0 0 0 / .13)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ink: #e8eaed;--body: #b6bbc1;--muted: #868d95;--on-brand: #14210b;--on-brand-dim: rgb(20 33 11 / .55);--accent: #ff8a2b;--accent-strong:#ff7a10;--accent-soft: #3a2612;--surface: #1c1f24;--surface-sunk: #24282e;--page: #0f1215;--line: #333942;--danger: #f2b8b5;--danger-soft: #3a1f1d;--danger-strong: #e5484d;--danger-on: #ffffff;--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 8px 24px rgb(0 0 0 / .5)}}:root[data-theme=dark]{--ink: #e8eaed;--body: #b6bbc1;--muted: #868d95;--on-brand: #14210b;--on-brand-dim: rgb(20 33 11 / .55);--accent: #ff8a2b;--accent-strong:#ff7a10;--accent-soft: #3a2612;--surface: #1c1f24;--surface-sunk: #24282e;--page: #0f1215;--line: #333942;--danger: #f2b8b5;--danger-soft: #3a1f1d;--danger-strong: #e5484d;--danger-on: #ffffff;--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 8px 24px rgb(0 0 0 / .5)}.navcrumb{display:grid;grid-template-rows:0fr;background:var(--surface-sunk);border-bottom:0 solid var(--line);transition:grid-template-rows .22s ease,border-bottom-width .22s ease}.navcrumb.is-open{grid-template-rows:1fr;border-bottom-width:1px}.navcrumb-inner{overflow:hidden;min-height:0;max-width:var(--content);width:100%;margin:0 auto;padding:7px var(--space-5) 6px;display:flex;align-items:center;gap:var(--space-2)}.navcrumb-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:5px 10px;flex:1;min-width:0}.navcrumb-cell{display:inline-flex;align-items:center;gap:2px;flex:none;animation:navcrumb-in .2s ease}@keyframes navcrumb-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.navcrumb-cell.is-draggable{cursor:grab}.navcrumb-cell.is-dragging{cursor:grabbing}.navcrumb-cell.is-dragging .navcrumb-crumb{visibility:hidden}.navcrumb-drag{position:fixed;z-index:1000;pointer-events:none;cursor:grabbing}.navcrumb-crumb{display:inline-flex;align-items:center;flex:none;border-radius:999px;border:1px solid var(--line);background:var(--surface)}.navcrumb-crumb.is-pinned{border:2px solid var(--brand-dark)}.navcrumb-crumb.is-current{border:1px solid color-mix(in srgb,var(--brand) 72%,var(--surface));background:color-mix(in srgb,var(--brand) 50%,var(--surface))}.navcrumb-crumb.is-pinned.is-current{border:2px solid var(--brand-dark);background:color-mix(in srgb,var(--brand) 50%,var(--surface))}.navcrumb-go{display:inline-flex;align-items:center;gap:6px;max-width:250px;padding:3px 4px 3px 10px;border:0;border-radius:999px 0 0 999px;background:none;color:var(--ink);font:inherit;cursor:pointer}.navcrumb-go:hover .navcrumb-label{color:var(--brand-dark)}.navcrumb-glyph{flex:none}.navcrumb-text{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:27px;min-width:0;line-height:1.15}.navcrumb-label{font-size:12px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.navcrumb-details{display:grid;justify-items:start;min-width:0}.navcrumb-detail{grid-area:1 / 1;font-size:10.5px;color:var(--muted);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;opacity:0;transition:opacity .24s ease}.navcrumb-detail.is-active{opacity:1}.navcrumb-crumb.is-current .navcrumb-detail{color:var(--ink)}.navcrumb-pinbtn{flex:none;align-self:stretch;display:inline-flex;align-items:center;justify-content:center;padding:0 7px 0 3px;border:0;background:none;cursor:pointer;color:var(--muted);border-radius:0 999px 999px 0}.navcrumb-pinbtn:hover{color:var(--ink)}.navcrumb-pinbtn.is-pinned{color:var(--brand-dark)}.navcrumb-pinicon{display:block;transition:transform .15s ease}.navcrumb-pinicon.is-diagonal{transform:rotate(45deg)}.theme-toggle{display:inline-flex;gap:2px;padding:2px;background:var(--surface-sunk);border:1px solid var(--line);border-radius:999px}.theme-toggle button{display:grid;place-items:center;width:30px;height:30px;font-size:14px;line-height:1;color:var(--muted);background:transparent;border:0;border-radius:999px;cursor:pointer}.theme-toggle button:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--body)}.theme-toggle button.is-selected{background:var(--brand);color:#fff}.shell{min-height:100%;display:flex;flex-direction:column}.shell-header{background:var(--surface)}.shell-bar{display:flex;align-items:center;gap:var(--space-5);max-width:var(--content);width:100%;margin:0 auto;padding:var(--space-3) var(--space-5)}.shell-logo{flex:none;display:block;margin-left:-14px}.shell-logo img{height:64px;width:auto}.shell-title{flex:1 1 auto;font-size:20px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;visibility:hidden}.shell-who{flex:0 1 auto;margin-left:auto;min-width:0;display:flex;flex-direction:column;align-items:flex-end;line-height:1.3}.shell-client,.shell-user{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-client{font-weight:600;color:var(--ink);font-size:16px}.shell-user{color:var(--muted);font-size:14px}.office-switcher{position:relative}.office-switcher-current{display:flex;align-items:center;gap:4px;flex:none;padding:2px 4px;margin-right:-4px;border:0;background:none;color:var(--ink);font:inherit;font-weight:600;font-size:16px;line-height:1.3;cursor:pointer;border-radius:var(--radius-sm)}.office-switcher-current:hover{background:var(--surface-sunk)}.office-switcher-name{white-space:nowrap}.office-switcher-current svg{flex:none;color:var(--muted);transition:transform .15s ease}.office-switcher.is-open .office-switcher-current svg{transform:rotate(180deg)}.office-switcher-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:30;width:max-content;min-width:100%;max-width:90vw;max-height:60vh;overflow-y:auto;margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.office-switcher-menu li{margin:0}.office-switcher-menu li button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:8px 10px;border:0;background:none;color:var(--ink);font:inherit;font-size:14px;text-align:left;white-space:nowrap;cursor:pointer;border-radius:var(--radius-sm)}.office-switcher-menu li button:hover:not(:disabled){background:var(--surface-sunk)}.office-switcher-menu li button.is-current{font-weight:600;cursor:default}.office-switcher-menu li button:disabled{cursor:default}.office-switcher-tick{flex:none;color:var(--brand-dark, var(--brand))}.office-switcher-loading{padding:8px 10px;color:var(--muted);font-size:14px}.shell-menu{background:var(--brand);position:relative;z-index:20}.shell-bar--menu{gap:var(--space-4);padding:0 var(--space-4) 0 calc(var(--space-5) - 14px)}.shell-menu-list{flex:1 1 auto;display:flex;align-items:stretch;gap:0;margin:0;padding:0;list-style:none;overflow-x:auto;scrollbar-width:none}.shell-menu-list::-webkit-scrollbar{display:none}.shell-menu-list[data-collapsed]{display:none}.shell-menu-list a{display:flex;align-items:center;height:42px;padding:0 15px;white-space:nowrap;font-family:var(--font-nav);font-weight:700;font-size:15px;letter-spacing:.01em;color:var(--on-brand);text-decoration:none}.shell-menu-list a:hover{background:#00000024}.shell-home-icon{display:block}.shell-menu-list a[aria-current=page]{background:var(--accent);box-shadow:inset 0 -3px 0 var(--accent-strong)}.shell-menu-list a[aria-current=page]:hover{background:var(--accent-strong)}.shell-menu-list .shell-nav-off{display:flex;align-items:center;height:46px;padding:0 15px;white-space:nowrap;font-family:var(--font-nav);font-weight:700;font-size:15px;letter-spacing:.01em;color:var(--on-brand-dim);cursor:not-allowed}.shell-menu-end{flex:none;display:flex;align-items:center;gap:var(--space-3)}.shell-menu-toggle{display:inline-flex;align-items:center;gap:8px;font:inherit;font-family:var(--font-nav);font-weight:700;font-size:14px;color:var(--on-brand);background:transparent;border:1px solid var(--on-brand-dim);border-radius:var(--radius-sm);padding:6px 12px;min-height:32px;cursor:pointer;white-space:nowrap}.shell-menu-toggle:hover{background:#00000024}.shell-menu-bars,.shell-menu-bars:before,.shell-menu-bars:after{display:block;width:16px;height:2px;background:var(--on-brand);border-radius:1px}.shell-menu-bars{position:relative}.shell-menu-bars:before,.shell-menu-bars:after{content:"";position:absolute;left:0}.shell-menu-bars:before{top:-5px}.shell-menu-bars:after{top:5px}.shell-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15;background:transparent;border:0;padding:0;cursor:default}.shell-menu-drawer{position:absolute;top:100%;left:0;right:0;background:var(--brand);box-shadow:var(--shadow);z-index:20}.shell-menu-drawer ul{max-width:var(--content);margin:0 auto;padding:var(--space-2) var(--space-4) var(--space-3);list-style:none;display:flex;flex-direction:column;gap:2px}.shell-menu-drawer a{display:block;padding:12px 14px;color:var(--on-brand);font-family:var(--font-nav);font-weight:700;font-size:16px;text-decoration:none;border-radius:var(--radius-sm)}.shell-menu-drawer a:hover{background:#00000024}.shell-menu-drawer a[aria-current=page]{background:var(--accent);box-shadow:inset 3px 0 0 var(--accent-strong)}.shell-menu-drawer .shell-nav-off{display:block;padding:12px 14px;font-family:var(--font-nav);font-weight:700;font-size:16px;color:var(--on-brand-dim);cursor:not-allowed}.shell-main{flex:1 1 auto;padding:var(--space-5);max-width:var(--content);width:100%;margin:0 auto}.shell-footer{background:var(--surface);border-top:1px solid var(--line)}.shell-footer-bar{justify-content:space-between;flex-wrap:wrap;gap:var(--space-3) var(--space-5);padding-top:var(--space-4);padding-bottom:var(--space-4);font-size:12px;color:var(--muted)}.shell-footer-copy{font-weight:700;color:var(--body)}.shell-footer-links{display:flex;align-items:center;gap:var(--space-4)}.shell-footer-links a{color:var(--body);font-weight:600;text-decoration:none}.shell-footer-links a:hover{color:var(--brand-dark);text-decoration:underline}.shell-footer-theme{display:inline-flex;align-items:center;gap:var(--space-2)}.shell-footer-theme-label{color:var(--muted);font-weight:600}@media(max-width:700px){.shell-bar{gap:var(--space-3);padding:var(--space-3) var(--space-4)}.shell-bar--menu{padding:0 var(--space-3) 0 calc(var(--space-4) - 14px)}.shell-logo img{height:40px}.shell-main{padding:var(--space-4) 0}.shell-title{display:none}}.shell-cog{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:32px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--on-brand);cursor:pointer}.shell-cog:hover{background:#00000024}.shell-cog[aria-current=page]{background:var(--accent)}.shell-cog:focus-visible{outline:2px solid #fff;outline-offset:2px}.pill-toggle{display:inline-flex;gap:2px;padding:2px;background:var(--surface-sunk);border:1px solid var(--line);border-radius:999px}.pill-toggle button{min-height:30px;padding:0 14px;font:inherit;font-size:13px;font-weight:600;line-height:1;color:var(--muted);background:transparent;border:0;border-radius:999px;cursor:pointer}.pill-toggle button:hover{background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--body)}.pill-toggle button.is-selected{background:var(--brand);color:#fff}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.card-stack{display:flex;flex-direction:column;gap:var(--space-4)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-3) var(--space-5);background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--radius);box-shadow:inset 3px 0 0 var(--brand),var(--shadow)}.card-head h2{font-size:16px;font-weight:700;color:var(--ink)}.card-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.card-body{padding:var(--space-5)}.card-body:has(>.table-scroll){padding:0}.board-days{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--space-1)}@media(max-width:900px){.board-days{grid-template-columns:repeat(4,1fr)}}@media(max-width:480px){.board-days{grid-template-columns:repeat(2,1fr)}}.board-days button{font:inherit;font-family:var(--font-nav);font-weight:600;font-size:13px;color:var(--body);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 8px;min-height:44px;min-width:0;cursor:pointer;position:relative;overflow:visible;display:flex;align-items:center;justify-content:center}.board-day-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-days button:hover{background:var(--surface-sunk)}.board-days button.is-selected{color:#fff;background:var(--brand);border-color:var(--brand-dark)}.board-day-count{position:absolute;top:-3px;right:-3px;min-width:20px;height:20px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent);color:var(--on-brand);font-size:11px;font-weight:700;line-height:1}.table-scroll{width:100%;overflow-x:auto}.table-sort-bar{display:none}@media(max-width:760px){.table-sort-bar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4) 0}.table-sort-bar select{font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);min-height:40px;padding:0 10px}.table-sort-dir{font:inherit;color:var(--ink);background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:40px;min-height:40px;cursor:pointer}}.table{width:100%;border-collapse:collapse;font-size:14px}.table th{text-align:left;font-family:var(--font-nav);font-weight:700;color:var(--ink);background:var(--surface-sunk);padding:12px var(--space-4);border-bottom:2px solid var(--line);white-space:nowrap}.table td{padding:10px var(--space-4);border-bottom:1px solid var(--line);color:var(--body);vertical-align:top}.table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface-sunk) 55%,transparent)}.table tbody tr:hover td{background:var(--brand-soft)}:root[data-theme=dark] .table tbody tr:hover td,:root:not([data-theme=light]) .table tbody tr:hover td{background:color-mix(in srgb,var(--brand) 16%,transparent)}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .table tbody tr:hover td{background:var(--brand-soft)}}.table-sort{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;white-space:nowrap}.table-sort:hover,.table-sort.is-active{color:var(--brand-strong, var(--brand))}.table-sort:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--radius-sm)}.table .is-numeric{text-align:right;font-variant-numeric:tabular-nums}.table-empty{margin:0;padding:var(--space-6) var(--space-5);text-align:center;color:var(--muted)}@media(max-width:760px){.table thead{display:none}.table,.table tbody,.table tr,.table td{display:block;width:100%}.table-scroll{overflow-x:visible;padding:var(--space-3) var(--space-4)}.table tr{border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.table tr+tr{margin-top:var(--space-3)}.table td{display:flex;gap:var(--space-4);justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);text-align:left}.table tr td:last-child{border-bottom:0}.table td:before{content:attr(data-label);flex:none;font-family:var(--font-nav);font-weight:600;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.02em}.table .is-numeric{text-align:right}.table .is-secondary{display:none}}.pg-scroll{overflow-x:auto;max-width:100%}.pg-grid{border-collapse:collapse;font-size:13px}.pg-grid th{font-weight:600;color:var(--muted);text-align:center;padding:var(--space-1) var(--space-2);white-space:nowrap}.pg-grid th[scope=row]{text-align:left;position:sticky;left:0;background:var(--surface-sunk)}.pg-corner{position:sticky;left:0;background:var(--surface-sunk)}.pg-grid td{padding:2px}.pg-price{font:inherit;font-size:13px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 8px;height:38px;width:90px;text-align:right}.pg-grid--ro{width:100%;font-size:14px}.pg-grid--ro thead th{font-family:var(--font-nav);font-weight:700;color:var(--ink);background:var(--surface-sunk);border-bottom:2px solid var(--line);padding:12px var(--space-4);text-align:right}.pg-grid--ro thead th.pg-corner{background:var(--surface);border-bottom:2px solid var(--line)}.pg-grid--ro tbody th[scope=row]{padding:10px var(--space-4);border-bottom:1px solid var(--line);font-weight:600;color:var(--body);white-space:nowrap}.pg-grid--ro tbody td{padding:10px var(--space-4);border-bottom:1px solid var(--line);text-align:right}.pg-grid--ro tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface-sunk) 55%,transparent)}.pg-grid--ro tbody tr:hover td{background:var(--brand-soft)}.pg-price--ro{background:transparent;border:0;border-radius:0;width:auto;height:auto;padding:0;font-variant-numeric:tabular-nums}.pg-extras--ro{margin-top:var(--space-4)}.pg-extras--ro .pg-price-field{flex-direction:row;align-items:baseline;gap:var(--space-3)}.pg-extras--ro .pg-label{font-size:14px;font-weight:600;color:var(--body)}.pg-extras{display:flex;flex-wrap:wrap;gap:var(--space-3)}.pg-price-field{display:flex;flex-direction:column;gap:var(--space-1)}.pg-label{font-size:12px;font-weight:700;color:var(--body)}.btn{font:inherit;font-weight:600;min-height:44px;padding:0 18px;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.btn:disabled{opacity:.6;cursor:default}a.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn--primary{color:var(--on-brand);background:var(--brand);border:1px solid var(--brand-dark)}.btn--primary:hover:not(:disabled){background:var(--brand-dark)}.btn--secondary{color:var(--ink);background:var(--surface);border:1px solid var(--line)}.btn--secondary:hover:not(:disabled){background:var(--surface-sunk)}.btn--danger{color:var(--danger-on);background:var(--danger-strong);border:1px solid var(--danger-strong)}.btn--danger:hover:not(:disabled){filter:brightness(.92)}.datepicker{position:relative;display:inline-block}.datepicker-field{display:inline-flex;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);min-height:44px;padding-right:4px}.datepicker-field:focus-within{border-color:var(--brand)}.datepicker-input{font:inherit;font-size:14px;font-variant-numeric:tabular-nums;color:var(--ink);background:none;border:0;outline:none;padding:0 10px;width:118px;min-height:42px;cursor:pointer}.datepicker-clear,.datepicker-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:var(--muted);font-size:15px;line-height:1;min-width:30px;min-height:34px;border-radius:var(--radius-sm);cursor:pointer}.datepicker-clear:hover,.datepicker-toggle:hover{color:var(--ink);background:var(--surface-sunk)}.datepicker-pop{position:absolute;z-index:40;top:calc(100% + 4px);left:0;width:260px;padding:var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 32px #0000002e;outline:none}.datepicker-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.datepicker-month{font-family:var(--font-nav);font-weight:600;font-size:14px;color:var(--ink)}.datepicker-head button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--surface-sunk);color:var(--ink);font-size:16px;line-height:1;width:32px;height:32px;border-radius:var(--radius-sm);cursor:pointer}.datepicker-head button:hover{border-color:var(--brand)}.datepicker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.datepicker-weekday{text-align:center;font-family:var(--font-nav);font-size:11px;font-weight:600;color:var(--muted);padding-bottom:4px}.datepicker-day{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:none;color:var(--body);font:inherit;font-size:13px;font-variant-numeric:tabular-nums;aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer}.datepicker-day:hover{background:var(--brand-soft)}.datepicker-day.is-today{border-color:var(--line);font-weight:600}.datepicker-day.is-focus{outline:2px solid var(--brand);outline-offset:-2px}.datepicker-day.is-selected{background:var(--brand);border-color:var(--brand-dark, var(--brand));color:#fff;font-weight:600}.filter-bar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.filter-field{display:inline-flex}.filter-select,.filter-search{font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 10px;min-height:44px;max-width:100%}.filter-search{min-width:220px}.filter-search--wide{min-width:320px}.filter-select:disabled{color:var(--muted);background:var(--surface-sunk);cursor:not-allowed}.pager{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-4) var(--space-5);border-top:1px solid var(--line);color:var(--muted);font-size:14px}.pager>div{display:flex;gap:var(--space-2)}.reassign-select{font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 8px;min-height:36px;max-width:160px}.reassign-select:disabled{color:var(--muted);background:var(--surface-sunk);cursor:not-allowed}.notes-badge{font-family:var(--font-nav);font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--surface);background:var(--ink);border-radius:var(--radius-sm);padding:1px 5px;cursor:help}.job-ref{font-family:var(--font-nav);font-weight:600;color:var(--ink)}.job-ref--link{color:var(--brand-dark);text-decoration:none}.job-ref--link:hover{text-decoration:underline}.job-ref--button{border:0;background:none;padding:0;font:inherit;cursor:pointer}:root[data-theme=dark] .job-ref--link,:root:not([data-theme=light]) .job-ref--link{color:var(--brand)}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .job-ref--link{color:var(--brand-dark)}}.inv-totals{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-3);padding:var(--space-4);background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--radius);box-shadow:inset 3px 0 0 var(--brand),var(--shadow)}.inv-total{display:flex;flex-direction:column;gap:var(--space-1);min-inline-size:0}.inv-total-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);white-space:nowrap}.inv-total-value{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.inv-total-value--paid{color:var(--brand-dark)}.inv-total-value--due{color:#c0392b}@media(max-width:900px){.inv-totals{grid-template-columns:repeat(3,1fr)}}@media(max-width:520px){.inv-totals{grid-template-columns:repeat(2,1fr)}.inv-total-value{font-size:16px}}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:#00000080}.dialog{width:100%;max-width:440px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 20px 48px #0000004d;padding:var(--space-5)}.dialog-title{font-size:18px;margin:0 0 var(--space-3)}.dialog-body{color:var(--body);font-size:14px;margin:0 0 var(--space-4)}.dialog-error{margin:0 0 var(--space-4);padding:8px var(--space-4);background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);font-size:14px}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.job-sheet{--sheet-ink: #1a1a1a;--sheet-line: #cfcfcf;--sheet-label: #555;width:100%;max-width:210mm;margin:0 auto;padding:12mm;background:#fff;color:var(--sheet-ink);font-family:var(--font, Arial, sans-serif);font-size:13px;line-height:1.4}.job-sheet-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4)}.job-sheet-head h1{font-size:26px;font-weight:700;margin:0;color:var(--sheet-ink)}.job-sheet-datetime{display:flex;gap:var(--space-5);font-size:14px}.job-sheet-datetime b{color:var(--sheet-label);font-weight:700;margin-right:6px}.job-sheet-box{border:1px solid var(--sheet-line);border-radius:4px;padding:10px 12px;margin-bottom:10px}.job-sheet-box h2{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--sheet-label);margin:0 0 6px}.job-sheet-box p{margin:0 0 2px}.job-sheet-details{display:grid;grid-template-columns:1fr 1fr;gap:6px 20px}.js-span2{grid-column:1 / -1}.js-label{display:inline-block;min-width:72px;font-weight:700;color:var(--sheet-label)}.job-sheet-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.job-sheet-columns .job-sheet-box{margin-bottom:0}.js-multiline{white-space:pre-line}.js-notes{min-height:3em}@media(max-width:620px){.job-sheet-details,.job-sheet-columns{grid-template-columns:1fr}}@media print{@page{size:A4;margin:14mm}body *{visibility:hidden!important}.job-sheet,.job-sheet *{visibility:visible!important}.job-sheet{position:absolute;left:0;top:0;width:100%;max-width:none;margin:0;padding:0}}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-5);overflow:auto;background:#00000080}.sheet-panel{width:100%;max-width:calc(210mm + 2 * var(--space-5));max-height:calc(100vh - 2 * var(--space-5));display:flex;flex-direction:column;min-height:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 20px 48px #0000004d}.sheet-panel .modal-head{flex:none;border-radius:var(--radius) var(--radius) 0 0}.sheet-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-5);background:var(--page);border-radius:0 0 var(--radius) var(--radius)}.sheet-scroll .job-sheet{box-shadow:0 1px 4px #00000026}@media print{.sheet-overlay{position:static;padding:0;background:none;overflow:visible}.sheet-panel{border:0;box-shadow:none;max-width:none}.sheet-panel .modal-head{display:none!important}.sheet-scroll{padding:0;background:none}.sheet-scroll .job-sheet{box-shadow:none}}.job-list-sheet{background:#fff;color:#111;max-width:210mm;margin:0 auto;padding:12mm;font-family:Arial,Helvetica,sans-serif;box-shadow:0 1px 4px #00000026}.jl-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;border-bottom:2px solid #111;padding-bottom:8px;margin-bottom:12px}.jl-head h1{font-size:20px;margin:0}.jl-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:13px}.jl-empty{color:#555}.jl-truncated{color:#a00;font-size:12px;margin:0 0 10px}.jl-table{width:100%;border-collapse:collapse;font-size:12px}.jl-table th,.jl-table td{text-align:left;padding:4px 6px;border-bottom:1px solid #ccc;vertical-align:top}.jl-table th{border-bottom:1px solid #111;font-weight:700;white-space:nowrap}.jl-table tbody tr:nth-child(2n){background:#f4f4f4}@media print{@page{size:A4;margin:14mm}body *{visibility:hidden!important}.job-list-sheet,.job-list-sheet *{visibility:visible!important}.job-list-sheet{position:absolute;left:0;top:0;width:100%;max-width:none;margin:0;padding:0;box-shadow:none}.jl-table tbody tr:nth-child(2n){-webkit-print-color-adjust:exact;print-color-adjust:exact}}.pnf-host{display:block}.pnf-wrap{position:relative;display:flex;align-items:stretch;block-size:44px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:visible}.pnf-wrap:focus-within{outline:2px solid var(--brand);outline-offset:1px}.pnf-btn{display:flex;align-items:center;gap:6px;min-inline-size:44px;padding:0 var(--space-3);border:0;border-inline-end:1px solid var(--line);border-radius:var(--radius) 0 0 var(--radius);background:var(--surface-sunk);color:var(--ink);font:inherit;cursor:pointer}.pnf-btn:hover{background:var(--line)}.pnf-flag{font-size:16px;line-height:1}.pnf-dial{font-variant-numeric:tabular-nums;color:var(--muted)}.pnf-input{flex:1 1 auto;min-inline-size:0;padding:0 var(--space-3);border:0;border-radius:0 var(--radius) var(--radius) 0;background:transparent;color:var(--ink);font:inherit}.pnf-input:focus-visible{outline:none}.pnf-panel{position:absolute;inset-block-start:calc(100% + 4px);inset-inline-start:0;z-index:20;inline-size:min(320px,92vw);max-block-size:300px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.pnf-panel[hidden]{display:none}.pnf-search{block-size:40px;padding:0 var(--space-3);border:0;border-block-end:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit}.pnf-search:focus-visible{outline:none}.pnf-list{overflow-y:auto;padding:4px}.pnf-row{display:flex;align-items:center;gap:10px;inline-size:100%;min-block-size:40px;padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink);font:inherit;text-align:start;cursor:pointer}.pnf-row:hover,.pnf-row.active{background:var(--surface-sunk)}.pnf-row .pnf-name{flex:1 1 auto}.pnf-row .pnf-dial{color:var(--muted)}.ljd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:#00000080}.ljd-panel{width:100%;max-width:720px;height:min(760px,calc(100vh - 2 * var(--space-5)));display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 48px #0000004d}.ljd-scroll{flex:1 1 auto;min-height:0;padding:var(--space-4);display:flex;flex-direction:column;overflow:hidden}.ljd-intro{margin:0;color:var(--body);font-size:14px}.ljd-step[hidden],.ljd-form[hidden]{display:none}.ljd-step{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:var(--space-4)}.ljd-find{display:flex;gap:var(--space-3)}.ljd-find .ljd-input{flex:1 1 auto}.ljd-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;list-style:none;margin:0;padding:2px;display:flex;flex-direction:column;gap:var(--space-2)}.ljd-list-head{margin-top:var(--space-2);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.ljd-list-head:first-child{margin-top:0}.ljd-option{display:flex;flex-direction:column;gap:2px;inline-size:100%;min-block-size:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;text-align:start;cursor:pointer}.ljd-option:hover{border-color:var(--brand)}.ljd-option[aria-pressed=true]{border-color:var(--brand);background:var(--surface-sunk);box-shadow:inset 3px 0 0 var(--brand)}.ljd-option-addr{font-weight:600}.ljd-option-meta{font-size:12px;color:var(--muted)}.ljd-tabs{display:flex;gap:2px;padding:3px;background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--radius)}.ljd-tab{flex:1 1 0;min-block-size:38px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font:inherit;font-weight:600;cursor:pointer}.ljd-tab.is-selected{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.ljd-form{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:var(--space-4)}.ljd-section{flex-shrink:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.ljd-loose{flex-shrink:0;display:flex;flex-direction:column;gap:var(--space-3)}.ljd-check{display:flex;align-items:center;gap:var(--space-2);font-size:13px;color:var(--ink)}.ljd-check input{inline-size:18px;block-size:18px}.ljd-section-head{padding:var(--space-2) var(--space-4);background:var(--surface-sunk);border-bottom:1px solid var(--line);box-shadow:inset 3px 0 0 var(--brand);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.ljd-section-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.ljd-cols{display:flex;gap:var(--space-3)}.ljd-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:var(--space-3)}.ljd-pair{display:flex;gap:var(--space-3)}.ljd-pair>.ljd-field{flex:1 1 0;min-width:0}.ljd-datetime{display:flex;gap:var(--space-3);max-width:55%}.ljd-datetime>.ljd-field{flex:1 1 0;min-width:0}.ljd-person{display:flex;flex-direction:column;gap:var(--space-2)}.ljd-person+.ljd-person{padding-top:var(--space-3);border-top:1px solid var(--line)}.ljd-person-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;color:var(--ink)}.ljd-remove{border:0;background:none;padding:0;font:inherit;font-size:12px;font-weight:600;color:var(--danger);cursor:pointer}.ljd-add{align-self:flex-start;min-block-size:36px;padding:0 var(--space-3);border:1px dashed var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.ljd-add:hover{border-color:var(--brand);background:var(--surface-sunk)}.ljd-summary{padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--surface-sunk);color:var(--ink);font-weight:600;box-shadow:inset 3px 0 0 var(--brand)}.ljd-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.ljd-field{display:flex;flex-direction:column;gap:var(--space-1);flex:1 1 220px}.ljd-field--wide{flex:1 1 100%}.ljd-label{font-size:12px;font-weight:600;color:var(--ink)}.ljd-req{color:#c0392b}.ljd-input{block-size:44px;padding:0 var(--space-3);font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.ljd-input:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.ljd-input:disabled{background:var(--surface-sunk);color:var(--muted);cursor:default}select.ljd-input{padding-inline-end:var(--space-2)}.ljd-textarea{block-size:auto;min-block-size:72px;padding:var(--space-2) var(--space-3);resize:vertical;line-height:1.4}.ljd-textarea--readonly{background:var(--surface-sunk);color:var(--muted);cursor:default;white-space:pre-wrap}.ljd-hint{font-size:12px;color:var(--muted)}.ljd-panel--compact{height:auto;max-width:440px}.ljd-overlay--top{z-index:110}.ljd-nearmatch{display:flex;flex-direction:column;gap:var(--space-3)}.ljd-nearmatch-lead{margin:0;color:var(--body);font-size:14px}.ljd-nearmatch-lead strong{color:var(--ink)}.ljd-nearmatch-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.ljd-nearmatch-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.ljd-nearmatch-addr{display:flex;flex-direction:column;gap:2px;min-width:0}.ljd-nearmatch-addr>span:first-child{font-size:14px;color:var(--ink)}.ljd-nearmatch-meta{font-size:12px;color:var(--muted)}.ljd-compact-body{padding:var(--space-6) var(--space-4);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.ljd-done-lead{margin:0;color:var(--muted)}.ljd-done-ref{margin:0;font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.ljd-footer{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--line)}.ljd-footer-end{display:flex;gap:var(--space-2);margin-inline-start:auto}@media(max-width:620px){.ljd-overlay{padding:0}.ljd-panel{height:100vh;border-radius:0;border:0}.ljd-panel--compact{height:auto;margin:var(--space-4);border-radius:var(--radius)}.ljd-field{flex-basis:100%}.ljd-cols{flex-direction:column}.ljd-datetime{max-width:none}}.job-address{color:var(--body)}.job-day{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink);font-weight:600}.job-time{font-size:13px;color:var(--muted)}.list-error{margin:0;padding:10px var(--space-5);background:var(--danger-soft);color:var(--danger);font-size:14px}.list-loading{margin:0;padding:var(--space-6) var(--space-5);text-align:center;color:var(--muted)}.row-actions{display:flex;gap:var(--space-2)}.row-actions--right{justify-content:flex-end}.row-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:14px;line-height:1;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:32px;min-height:32px;padding:0 6px;cursor:pointer}.row-action:hover:not(:disabled),.row-action:focus-visible:not(:disabled){color:#fff;background:var(--brand);border-color:var(--brand-dark)}.row-action:disabled{opacity:.4;cursor:not-allowed}.row-action--pinned{border:2px solid var(--brand-dark);color:var(--brand-dark)}.row-action--danger{color:var(--danger)}.row-action--danger:hover:not(:disabled),.row-action--danger:focus-visible:not(:disabled){color:var(--danger-on);background:var(--danger-strong);border-color:var(--danger-strong)}a.row-action{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.row-action-wrap{display:inline-flex}.card-head:has(.list-toolbar) .card-actions{flex:1}.list-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4);flex:1}.list-toolbar .filter-bar{flex:1 1 auto}.list-toolbar-add{margin-left:auto}.card-head:has(.detail-head) .card-actions{flex:1}.detail-head{display:flex;align-items:center;gap:var(--space-4);flex:1;min-width:0}.detail-head h2{margin:0;min-width:0;font-size:20px;font-weight:600;color:var(--ink)}.detail-head-pin{margin-left:auto;flex:0 0 auto;display:inline-flex}.detail-head-sub{margin-left:var(--space-2);font-size:13px;font-weight:400;color:var(--muted)}.detail-head-end{margin-left:auto;flex:0 0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.details-head{display:flex;align-items:center;gap:var(--space-2)}.details-line{display:flex;align-items:center;gap:var(--space-2);color:var(--body)}.login-page{min-height:100%;display:grid;place-items:center;padding:24px}.login-stack{width:100%;max-width:400px}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 25px}.login-logo{display:block;width:100%;max-width:260px;height:auto;margin:0 auto 22px}.login-field+.login-field{margin-top:12px}.login-field input{width:100%;padding:11px 13px;font:inherit;color:var(--ink);background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--radius-sm)}.login-field input::placeholder{color:var(--muted)}.login-field input:focus{border-color:var(--brand);background:var(--surface)}.login-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.login-reset{color:var(--body);text-decoration:none;font-size:14px}.login-reset:hover{text-decoration:underline}.login-button{font:inherit;font-weight:600;color:var(--on-brand);background:var(--brand);border:1px solid var(--brand-dark);border-radius:var(--radius-sm);padding:10px 22px;cursor:pointer;min-height:44px}.login-button:hover:not(:disabled){background:var(--brand-dark)}.login-button:disabled{opacity:.6;cursor:default}.login-error{margin-top:16px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-size:14px}.login-footer{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:20px}.login-legal{display:flex;gap:16px}.login-legal a{font-size:13px;color:var(--muted);text-decoration:none}.login-legal a:hover{color:var(--ink);text-decoration:underline}.login-copy{margin:0;font-size:12px;color:var(--muted)}.login-version{margin:0;text-align:center;font-size:12px;color:var(--muted)}.login-note{margin:0 0 18px;color:var(--body);font-size:14px}.board-controls{display:flex;flex-direction:column;gap:var(--space-3)}.card-head .card-actions:has(.board-controls){flex:1 1 100%}.card-head .board-controls{flex:1 1 100%}.board-print{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);font-size:14px;color:var(--body)}.board-field{display:inline-flex;align-items:center;gap:var(--space-2)}.board-print select{font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 8px;min-height:44px}.board-count{color:var(--muted)}.client-board-controls{display:flex;flex-direction:column;gap:var(--space-3)}.card-head .card-actions:has(.client-board-controls){flex:1 1 100%}.card-head .client-board-controls{flex:1 1 100%}.board-time-edit{font:inherit;font-size:13px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 6px;min-height:32px}.upload-date{font-size:13px;color:var(--muted)}.client-invoices{display:flex;flex-direction:column;gap:var(--space-4)}.inv-money{font-variant-numeric:tabular-nums;white-space:nowrap}.inv-nowrap{white-space:nowrap}.report-sheet{background:#fff;color:#111;max-width:210mm;margin:0 auto;padding:12mm;font-family:Arial,Helvetica,sans-serif;font-size:12px;box-shadow:0 1px 4px #00000026}.report-sheet h1,.report-sheet h2,.report-sheet h3,.report-sheet dt{color:#111}.rs-title{font-size:20px;font-weight:400;text-align:center;margin:0 0 14px}.rs-title--left{text-align:left;font-weight:700}.rs-head{display:grid;grid-template-columns:auto 1fr auto auto;gap:2px 14px;align-items:start;border-bottom:2px solid #111;padding-bottom:10px;margin-bottom:12px;font-size:12px}.rs-head dt{font-weight:700}.rs-head dd{margin:0}.rs-addr{white-space:pre-line;line-height:1.35}.rs-fig{text-align:right}.rs-fig b{display:inline-block}.rs-empty{color:#555;padding:8px 0}.rs-acc-head{display:flex;gap:24px;justify-content:space-between;border-bottom:2px solid #111;padding-bottom:10px;margin-bottom:12px;font-size:12px}.rs-acc-col{display:flex;flex-direction:column;gap:4px}.rs-acc-col:first-child{flex:1 1 auto}.rs-acc-customer{display:flex;gap:10px;margin-top:4px}.rs-acc-figs{text-align:right;align-items:flex-end}.rs-k{font-weight:700}.rs-aged{width:auto;margin-bottom:16px}.rs-aged th,.rs-aged td{padding:4px 14px}.rs-report-date{margin:0 0 12px;font-size:12px}.rs-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:16px}.rs-table th,.rs-table td{text-align:left;padding:4px 6px;vertical-align:top}.rs-table thead th{border-bottom:1.5px solid #111;font-weight:700;white-space:nowrap}.rs-table td{border-bottom:1px solid #ddd}.rs-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.rs-group td{font-weight:700;border-bottom:1.5px solid #111;padding-top:12px}.rs-total td,.rs-total th{border-top:1.5px solid #111;border-bottom:none;font-weight:700}.rs-stack{display:flex;flex-direction:column;line-height:1.3}.rs-stack .rs-sub{color:#555}.rs-counters{display:grid;grid-template-columns:auto auto auto auto;gap:4px 24px;margin-top:8px;font-size:13px}.rs-counters b{font-weight:700}.rs-foot{margin-top:18px;padding-top:8px;border-top:1px solid #ccc;display:flex;justify-content:space-between;font-size:11px;color:#555}@media print{@page{size:A4;margin:14mm}body *{visibility:hidden!important}.report-sheet,.report-sheet *{visibility:visible!important}.report-sheet{position:absolute;left:0;top:0;width:100%;max-width:none;margin:0;padding:0;box-shadow:none}}.rp-page{display:flex;flex-direction:column;gap:var(--space-5)}.rp-row{display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3) 0}.rp-row+.rp-row{border-top:1px solid var(--line)}.rp-field{display:flex;flex-direction:column;gap:var(--space-1)}.rp-label{font-size:12px;font-weight:600;color:var(--ink)}.rp-select{font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 10px;min-height:44px;min-width:200px}.rp-select:focus-visible{outline:2px solid var(--brand);outline-offset:1px}@media(max-width:620px){.rp-field{flex:1 1 100%}.rp-select{min-width:0;width:100%}}.prices-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;flex:1 1 100%;width:100%}.prices-vat{margin:0;color:var(--body)}.prices-vat strong{color:var(--ink)}.prices-extras{display:flex;gap:var(--space-4);flex-wrap:wrap}.prices-extra{color:var(--body);font-variant-numeric:tabular-nums;white-space:nowrap}.prices-extra-label{font-weight:600;color:var(--ink)}.clerk-board-controls{display:flex;flex-direction:column;gap:var(--space-3)}.card-head .card-actions:has(.clerk-board-controls){flex:1 1 100%}.card-head .clerk-board-controls{flex:1 1 100%}.clerk-board-print{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);font-size:14px;color:var(--body)}.clerk-board-field{display:inline-flex;align-items:center;gap:var(--space-2)}.clerk-board-print select{font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 8px;min-height:44px}.board-time{font-variant-numeric:tabular-nums;white-space:nowrap}.board-tenant{font-size:13px;color:var(--muted);margin-top:2px}.board-tenant strong{color:var(--body)}.help-intro{margin:0;color:var(--body)}.help-field{display:block}.help-textarea{width:100%;box-sizing:border-box;min-height:160px;resize:vertical;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-3)}.help-textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.help-actions{display:flex;justify-content:flex-end}.help-sent{margin:0;color:var(--body)}.help-again{border:0;background:none;padding:0;font:inherit;color:var(--brand-dark);cursor:pointer;text-decoration:underline}.stage-chip{display:inline-block;font-size:13px;padding:2px 10px;border-radius:999px;background:var(--surface-sunk);border:1px solid var(--line);white-space:nowrap}.assign-cancel-details{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) var(--space-4);background:var(--surface-sunk);border-radius:var(--radius-sm)}.je-page{display:flex;flex-direction:column;gap:var(--space-4)}.je-topbar{display:flex;justify-content:space-between;align-items:center}.je-topbar-actions{display:flex;gap:var(--space-2)}.je-form{display:flex;flex-direction:column;gap:var(--space-5)}.je-address{margin:0;font-size:15px;font-weight:600;color:var(--ink)}.je-hint{margin:0;font-size:12px;color:var(--muted)}.je-note{margin:0;font-size:14px;color:var(--body)}.je-subhead{margin-top:var(--space-3)}.je-invoiced{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:15px;color:var(--ink)}.je-pricing{display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start}.je-pricing-row{display:flex;gap:var(--space-4);flex-wrap:wrap}.je-pricing-row .ljd-field{flex:0 1 220px}.je-pricing-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.btn.je-invoice-btn{color:var(--brand-dark);background:var(--surface);border-color:var(--brand)}.btn.je-invoice-btn:hover:not(:disabled){color:var(--brand-dark);background:var(--brand-soft);border-color:var(--brand-dark)}.btn.je-nocharge-btn{color:var(--muted);background:transparent;border-style:dashed}.btn.je-nocharge-btn:hover:not(:disabled){color:var(--ink);border-color:var(--muted)}.je-actions{display:flex;align-items:center;gap:var(--space-3)}.je-actions-end{display:flex;align-items:center;gap:var(--space-3);margin-inline-start:auto}.je-saved{font-size:13px;font-weight:700;color:var(--brand)}@media(max-width:760px){.je-actions{flex-direction:column-reverse;align-items:stretch}.je-actions>*,.je-actions-end{width:100%}.je-actions-end{justify-content:flex-end}}.card-head:has(.prop-search) .card-actions{flex:1 1 100%}.prop-search{display:grid;grid-template-columns:auto 1fr;column-gap:var(--space-3);row-gap:var(--space-2);align-items:center;width:100%}.prop-intro{grid-column:2;grid-row:1;margin:0;color:var(--muted);font-size:13px}.prop-tabs-label{grid-column:1;grid-row:1;color:var(--muted);font-size:13px}.prop-tabs{grid-column:1;grid-row:2;display:flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.prop-tab{flex:0 0 auto;min-height:36px;padding:0 16px;border:0;background:transparent;color:var(--muted);font:inherit;font-size:13px;font-weight:600;cursor:pointer}.prop-tab.is-selected{background:var(--surface);color:var(--ink)}.prop-input{grid-column:2;grid-row:2;font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 10px;min-height:36px;min-width:0}@media(max-width:640px){.prop-search{grid-template-columns:1fr}.prop-search>*{grid-column:1;grid-row:auto}}.property-hint{color:var(--muted);padding:var(--space-6) 0;text-align:center}.clients-active{display:inline-flex;align-items:center;gap:var(--space-2);font-size:13px;color:var(--muted);min-height:44px;cursor:pointer}.clients-active input{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:none;width:18px;height:18px;margin:0;display:grid;place-content:center;border:1.5px solid var(--line);border-radius:5px;background:var(--surface);cursor:pointer;transition:background .12s ease,border-color .12s ease}.clients-active input:before{content:"";width:11px;height:11px;transform:scale(0);transition:transform .12s ease;background:var(--on-brand);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,82% 0%,43% 62%)}.clients-active input:checked{background:var(--brand);border-color:var(--brand-dark)}.clients-active input:checked:before{transform:scale(1)}.clients-active input:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.client-users{color:var(--brand);text-decoration:none;font-variant-numeric:tabular-nums}.client-users:hover{text-decoration:underline}.client-row-inactive{opacity:.55}.cd-form{display:flex;flex-direction:column;gap:var(--space-5)}.cd-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.cd-field{display:flex;flex-direction:column;gap:var(--space-1);flex:0 1 200px}.cd-field--wide{flex:1 1 320px}.cd-label{font-size:12px;font-weight:700;color:var(--body)}.cd-input{font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 10px;min-height:44px;max-width:100%}.cd-input:disabled{background:color-mix(in srgb,var(--line) 26%,var(--surface));color:var(--muted)}.cd-checks{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5)}.cd-check{display:inline-flex;align-items:center;gap:var(--space-2);font-size:14px;min-height:44px;cursor:pointer}.cd-hint{color:var(--muted);font-size:12px;margin:0}.cd-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.cd-status{margin-right:auto}@media(max-width:760px){.cd-field,.cd-field--wide{flex:1 1 100%}.cd-actions{flex-direction:column-reverse}.cd-actions>*{width:100%}}.users-filter{display:inline-flex;align-items:center;gap:var(--space-2);font-size:13px;color:var(--muted)}.users-filter select{font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 10px;min-height:44px;max-width:60vw}.ue-form{display:flex;flex-direction:column;gap:var(--space-5)}.ue-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.ue-field{display:flex;flex-direction:column;gap:var(--space-1);flex:0 1 220px}.ue-field--wide{flex:1 1 320px}.ue-label{font-size:12px;font-weight:700;color:var(--body)}.ue-input{font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 10px;min-height:44px;max-width:100%}.ue-input:disabled{background:color-mix(in srgb,var(--line) 26%,var(--surface));color:var(--muted)}.ue-field-error{font-size:12px;color:var(--danger-strong)}.ue-hint{font-size:12px;color:var(--muted)}.ue-verify{color:var(--body)}.ue-verify--ok{color:var(--success-strong, var(--muted))}.ue-link-btn{padding:0;border:0;background:none;font:inherit;color:var(--link, var(--accent, var(--body)));text-decoration:underline;cursor:pointer}.ue-link-btn:disabled{color:var(--muted);text-decoration:none;cursor:default}.ue-checks{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5)}.ue-check{display:inline-flex;align-items:center;gap:var(--space-2);font-size:14px;min-height:44px;cursor:pointer}.ue-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}@media(max-width:760px){.ue-field,.ue-field--wide{flex:1 1 100%}.ue-actions{flex-direction:column-reverse}.ue-actions>*{width:100%}}.group-count{color:var(--brand-dark);font-weight:600;text-decoration:none;font-variant-numeric:tabular-nums}.group-count:hover{text-decoration:underline}.group-name-field{display:flex;flex-direction:column;gap:var(--space-1)}.group-name-field>span{font-size:12px;font-weight:700;color:var(--body)}.group-name-field input{font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 10px;min-height:44px;width:320px;max-width:100%}.roster{display:flex;flex-direction:column;gap:var(--space-4)}.roster>.card-stack,.roster>.card{align-self:stretch}.roster-add{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.roster-add-select{font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 10px;min-height:44px;min-inline-size:240px;max-inline-size:100%}.roster-add-select:disabled{background:color-mix(in srgb,var(--line) 26%,var(--surface));color:var(--muted)}@media(max-width:640px){.roster-add{width:100%}.roster-add-select{flex:1 1 auto;min-inline-size:0}}.pdf-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#00000080}.pdf-panel{display:flex;flex-direction:column;width:100%;max-width:940px;height:92vh;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 20px 48px #0000004d;overflow:hidden}.pdf-frame{flex:1 1 auto;inline-size:100%;border:0;background:var(--page)}.pdf-status{flex:1 1 auto;display:flex;align-items:center;justify-content:center;margin:0;padding:var(--space-5);text-align:center}@media(max-width:620px){.pdf-overlay{padding:0}.pdf-panel{height:100vh;max-width:none;border-radius:0}}.invoices{display:flex;flex-direction:column;gap:var(--space-4)}.inv-no{font-weight:700;font-variant-numeric:tabular-nums}.inv-ref{white-space:nowrap;font-variant-numeric:tabular-nums}.inv-os{font-variant-numeric:tabular-nums;font-weight:600}.inv-os--due{color:#c0392b}.inv-os--settled{color:var(--brand-dark)}.inv-os--cancelled{color:var(--muted)}.inv-tag{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.inv-tag--paid{background:color-mix(in srgb,var(--brand) 22%,var(--surface));color:var(--brand-dark)}.inv-tag--due{background:#fdece8;color:#c0392b}.inv-tag--cancelled{background:var(--surface-sunk);color:var(--muted)}.inv-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.inv-row--cancelled{opacity:.55}@media(max-width:760px){.inv-actions{justify-content:flex-start}}.payments{display:flex;flex-direction:column;gap:var(--space-4)}.pay-topbar{display:flex}.pay-header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--radius);box-shadow:inset 3px 0 0 var(--brand),var(--shadow)}.pay-header-id{display:flex;flex-direction:column;gap:var(--space-1);min-inline-size:0}.pay-header-invno{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.pay-header-client{font-size:13px;color:var(--muted)}.pay-header-figures{display:flex;gap:var(--space-5);margin-inline-start:auto}.pay-figure{display:flex;flex-direction:column;gap:var(--space-1)}.pay-figure-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);white-space:nowrap}.pay-figure-value{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.pay-figure-value--paid{color:var(--brand-dark)}.pay-figure-value--due{color:#c0392b}.pay-status{padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.pay-status--paid{background:color-mix(in srgb,var(--brand) 22%,var(--surface));color:var(--brand-dark)}.pay-status--due{background:#fdece8;color:#c0392b}.pay-status--cancelled{background:var(--surface-sunk);color:var(--muted)}.pay-add{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3)}.pay-field{display:flex;flex-direction:column;gap:var(--space-1)}.pay-field--grow{flex:1 1 220px;min-inline-size:160px}.pay-field-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.pay-input{block-size:44px;padding:0 var(--space-3);font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.pay-input:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.pay-input--value{inline-size:120px;text-align:right;font-variant-numeric:tabular-nums}.pay-add-error{margin:var(--space-3) 0 0;color:#c0392b;font-size:13px}.pay-val{font-variant-numeric:tabular-nums;font-weight:600}.pay-none{color:var(--muted)}.pay-row-actions{display:flex;justify-content:flex-end}@media(max-width:760px){.pay-header-figures{margin-inline-start:0;gap:var(--space-4)}.pay-row-actions{justify-content:flex-start}}.invoice-edit{display:flex;flex-direction:column;gap:var(--space-4)}.ie-headbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap}.ie-head-actions{display:flex;gap:var(--space-2)}.ie-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-3);margin-top:var(--space-3)}.ie-head-invno{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.ie-head-ref{font-variant-numeric:tabular-nums;color:var(--muted)}.ie-head-client{color:var(--muted)}.ie-cancelled-tag{padding:2px 10px;border-radius:999px;font-size:11px;font-weight:700;background:var(--surface-sunk);color:var(--muted)}.ie-cancelled-note{margin:0;padding:var(--space-3);border-radius:var(--radius);background:var(--surface-sunk);color:var(--muted);font-size:13px}.ie-form{display:flex;flex-direction:column;gap:var(--space-5)}.ie-group{border:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.ie-group[disabled]{opacity:.7}.ie-legend{padding:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.ie-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}.ie-field{display:flex;flex-direction:column;gap:var(--space-1);flex:0 1 auto}.ie-field--wide{flex:1 1 100%}.ie-label{font-size:12px;font-weight:600;color:var(--ink)}.ie-req{color:#c0392b}.ie-input{block-size:44px;padding:0 var(--space-3);font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.ie-input:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.ie-input:disabled{background:var(--surface-sunk);color:var(--muted)}.ie-input--value{inline-size:140px;text-align:right;font-variant-numeric:tabular-nums}.ie-textarea{block-size:auto;min-block-size:72px;padding:var(--space-2) var(--space-3);resize:vertical;line-height:1.4}.ie-hint{font-size:12px;color:var(--muted)}.ie-check{display:flex;align-items:center;gap:var(--space-2);font-size:13px;color:var(--ink)}.ie-check input{inline-size:18px;block-size:18px}.ie-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.ie-actions-end{display:flex;gap:var(--space-2);margin-inline-start:auto}.ie-cancel-foot{display:flex;justify-content:flex-start;padding-top:var(--space-4);border-top:1px solid var(--line)}@media(max-width:620px){.ie-input--value{inline-size:100%}.ie-actions{flex-direction:column-reverse;align-items:stretch}.ie-actions-end{margin-inline-start:0}}.ie-immutable-note{margin:0;padding:var(--space-3) var(--space-4);background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--body);font-size:14px}.ie-ro-group{margin-bottom:var(--space-5)}.ie-ro-heading{margin:0 0 var(--space-3);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.ie-ro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3) var(--space-5)}@media(max-width:620px){.ie-ro-grid{grid-template-columns:1fr}}.ie-ro-field{display:flex;flex-direction:column;gap:2px}.ie-ro-label{font-size:12px;font-weight:600;color:var(--muted)}.ie-ro-value{color:var(--ink);font-variant-numeric:tabular-nums}.ie-ro-address{display:flex;flex-direction:column}.ie-body{display:flex;flex-direction:column;gap:var(--space-5)}.ie-notes-form{display:flex;flex-direction:column;gap:var(--space-3)}.card-head:has(.blocks-form) .card-actions{flex:1 1 100%}.blocks-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);width:100%}.blocks-field{display:flex;flex-direction:column;gap:var(--space-1)}.blocks-field--grow{flex:1 1 240px;min-width:200px}.blocks-label{font-size:12px;font-weight:600;color:var(--muted)}.blocks-select,.blocks-message{font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 10px;min-height:44px;max-width:100%}.blocks-select{min-width:130px}.blocks-message{width:100%}.blocks-actions{display:flex;align-items:center;gap:var(--space-3);min-height:44px}.blocks-saved{font-size:13px;font-weight:600;color:var(--brand)}.blocks-hint{color:var(--muted);font-size:13px;margin:0 0 var(--space-3)}@media(min-width:760px){.blocks-date-repeat{visibility:hidden}}@media(max-width:760px){.blocks-field,.blocks-field--grow,.blocks-select,.blocks-actions{width:100%}.blocks-actions{justify-content:flex-start}}.doc-links{display:flex;gap:var(--space-1);flex-wrap:wrap}.doc-glyph{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:0 4px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);cursor:pointer}.doc-glyph:hover:not(:disabled),.doc-glyph:focus-visible{border-color:var(--brand)}.doc-glyph:disabled,.doc-glyph--missing{cursor:default;opacity:.3}.activity-when{white-space:nowrap;color:var(--body)}.activity-line{display:inline-flex;align-items:baseline;gap:var(--space-2)}.activity-text{min-width:0}.activity-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;transform:translateY(1px);background:var(--line)}.activity-dot--login{background:#7a93c2}.activity-dot--cancelled{background:var(--danger-strong)}.activity-dot--logged{background:#e0a400}.activity-dot--downloaded{background:#4a9e3f}.activity-dot--uploaded{background:#86c46a}.activity-dot--other{background:var(--muted);opacity:.4}.activity-toggle{display:inline-flex;align-items:center;gap:var(--space-2);min-height:44px;font-size:14px;color:var(--ink);cursor:pointer;-webkit-user-select:none;user-select:none}.activity-toggle input{width:18px;height:18px;accent-color:var(--brand);cursor:pointer}.about{display:flex;flex-direction:column;gap:var(--space-5);max-width:640px}.about-lede{margin:0;color:var(--body);font-size:15px;line-height:1.5}.about-facts{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-2) var(--space-5);margin:0}.about-facts dt{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);align-self:baseline}.about-facts dd{margin:0;color:var(--ink);font-size:14px}.about-facts a{color:var(--brand-dark);font-weight:600;text-decoration:none}.about-facts a:hover{text-decoration:underline}@media(max-width:560px){.about-facts{grid-template-columns:1fr;gap:var(--space-1) 0}.about-facts dd{margin-bottom:var(--space-3)}}.legal{max-width:720px;color:var(--body);font-size:15px;line-height:1.6}.legal-updated{margin:0 0 var(--space-5);color:var(--muted);font-size:13px}.legal-lede{margin:0 0 var(--space-5);color:var(--ink);font-size:15px}.legal section{margin:0 0 var(--space-5)}.legal section:last-child{margin-bottom:0}.legal h2{margin:0 0 var(--space-2);color:var(--ink);font-size:16px;font-weight:700}.legal p{margin:0 0 var(--space-3)}.legal p:last-child{margin-bottom:0}.legal ul{margin:0 0 var(--space-3);padding-left:var(--space-5)}.legal li{margin:0 0 var(--space-1)}.legal a{color:var(--brand-dark);font-weight:600;text-decoration:none}.legal a:hover{text-decoration:underline}.legal address{font-style:normal}.mfa-block{display:flex;flex-direction:column;gap:var(--space-3)}.mfa-lead{font-size:14px;line-height:1.5;color:var(--body);margin:0}.mfa-lead--on{font-weight:600;color:var(--brand-strong, var(--brand))}.mfa-qr{align-self:flex-start;background:#fff;padding:12px;border:1px solid var(--line);border-radius:var(--radius-sm);line-height:0}.mfa-manual{font-size:13px}.mfa-manual summary{cursor:pointer;color:var(--muted);font-weight:600}.mfa-manual summary:hover{color:var(--body)}.mfa-secret{display:block;margin-top:var(--space-2);padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;letter-spacing:.06em;word-break:break-all;background:var(--surface-sunk);border-radius:var(--radius-sm)}.mfa-codefield{max-width:220px}.mfa-codeinput{text-align:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px;letter-spacing:.3em}.mfa-codes-note{display:flex;align-items:flex-start;gap:var(--space-3);font-size:13px;line-height:1.5;color:#7a4f00;background:#fff8e6;border:1px solid #f0c96b;border-radius:var(--radius-sm);padding:10px 12px}.mfa-codes-note-text{flex:1 1 auto;min-width:0}.mfa-copy-btn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin:-3px -3px 0 0;padding:0;color:inherit;background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer}.mfa-copy-btn:hover{background:#7a4f001f}.mfa-copy-btn:focus-visible{outline:2px solid currentColor;outline-offset:1px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .mfa-codes-note{color:#f4d58a;background:#7850002e;border-color:#f0c96b66}}:root[data-theme=dark] .mfa-codes-note{color:#f4d58a;background:#7850002e;border-color:#f0c96b66}.mfa-codes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.mfa-codes li{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;letter-spacing:.08em;text-align:center;padding:8px 6px;background:var(--surface-sunk);border-radius:var(--radius-sm)}.my-details{max-width:720px}.md-stack{display:flex;flex-direction:column;gap:var(--space-4)}.md-fields{display:flex;flex-direction:column;gap:var(--space-3)}.md-field{display:flex;flex-direction:column;gap:var(--space-1)}.md-label{font-size:13px;font-weight:600;color:var(--body)}.md-hint{font-size:12px;color:var(--muted)}.md-input{font:inherit;font-size:14px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 10px;min-height:44px}.md-input:disabled{background:var(--surface-sunk);color:var(--muted)}.md-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2)}.md-saved{color:var(--brand-strong, var(--brand));font-weight:600}.md-emailrow{position:relative}.md-emailrow .md-input{width:100%;box-sizing:border-box}.md-input--inlinebtn{padding-right:96px}.md-inlinebtn{position:absolute;top:50%;right:5px;transform:translateY(-50%);height:34px;padding:0 14px;font:inherit;font-size:13px;font-weight:600;color:var(--brand);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer}.md-inlinebtn:hover{background:var(--surface-sunk);color:var(--brand-dark)}.md-inlinebtn:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.md-emailactions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.md-sent{font-size:13px;line-height:1.4;color:var(--body);background:var(--surface-sunk);border-radius:var(--radius-sm);padding:10px 12px;margin:0}.md-linkbtn{align-self:flex-start;margin-top:var(--space-1);padding:0;font:inherit;font-size:13px;font-weight:600;color:var(--brand);background:none;border:0;cursor:pointer;text-decoration:underline}.md-linkbtn:hover{color:var(--brand-dark)}.sheet-panel.md-dialog{max-width:720px}.md-dialog .card-head{flex:none;border:0;border-bottom:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;box-shadow:inset 3px 0 0 var(--brand)}.md-dialog .sheet-scroll{background:var(--surface);border-radius:0 0 var(--radius) var(--radius)}.md-dialog-close{margin-left:auto}.legal-standalone{max-width:820px;margin:0 auto;padding:var(--space-5)}.legal-standalone-logo{display:block;width:200px;max-width:100%;height:auto;margin-bottom:var(--space-4)}.legal-standalone-title{margin:0 0 var(--space-2);font-size:22px;font-weight:700;color:var(--ink)}.legal-standalone-back{display:inline-block;margin-bottom:var(--space-4);font-size:14px;color:var(--muted);text-decoration:none}.legal-standalone-back:hover{color:var(--ink);text-decoration:underline}
