:root{--ink:#2e312d;--muted:#777c75;--green:#4e5a4a;--green2:#75816f;--gold:#a68f68;--paper:#fbfaf7;--panel:#fff;--line:#dedbd3;--soft:#f1efe9;--danger:#9c4f4f;--danger-soft:#fbf6f6;--danger-line:#e4cfcf;--focus:#4e5a4a;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--font-sans:Arial, Helvetica, sans-serif;--font-display:Georgia, "Times New Roman", serif;--text-xs:11px;--text-sm:12px;--text-md:13px;--text-lg:15px;--text-xl:18px;--text-2xl:22px;--text-3xl:28px;--text-4xl:34px;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.6;--tracking-eyebrow:.18em;--tracking-meta:.06em;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-pill:999px;--elev-1:0 4px 18px #2e312d14;--elev-2:0 12px 40px #2e312d24;--border:1px solid var(--line);--border-strong:1px solid #cfd3cc;--control-h:40px;--control-h-sm:34px;--control-px:14px;--control-font:13.5px;--icon:18px;--focus-ring:0 0 0 2px var(--paper), 0 0 0 4px var(--focus);--sidebar:260px;--sidebar-drawer:292px;--sidebar-compact:72px;--header-h:56px;--main-pad-x:42px;--main-pad-y:34px;--header-action:44px;--content-narrow:720px;--content-settings:760px;--content:880px;--content-wide:1200px;--content-max:1400px;--ease:cubic-bezier(.22, 1, .36, 1);--duration:.16s;--duration-slow:.22s;--bp-drawer:1024px;--bp-compact:1280px}@media (max-width:1024px){:root{--control-h:44px;--control-h-sm:40px;--control-font:15px;--main-pad-x:24px;--main-pad-y:20px;--header-h:56px}}@media (max-width:834px){:root{--main-pad-x:20px;--main-pad-y:14px}}@media (max-width:768px){:root{--main-pad-x:16px;--main-pad-y:12px}}*{box-sizing:border-box}html,body{width:100%;min-height:100%;font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-normal);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}:focus{outline:none}:focus-visible{box-shadow:var(--focus-ring);outline:none}.shell{width:100%;max-width:100%;min-height:100dvh;padding-left:var(--sidebar);box-sizing:border-box;display:block;position:relative}.shell-body{width:100%;min-width:0;max-width:100%;display:block}.sidebar{z-index:40;width:var(--sidebar);color:#fff;max-width:100%;padding:var(--space-5) var(--space-4);box-sizing:border-box;transition:transform var(--duration-slow) var(--ease), visibility var(--duration-slow) var(--ease);background:#303730;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.brand{padding:0 var(--space-2) var(--space-5);border-bottom:1px solid #ffffff1f}.brand img{width:200px;max-width:100%;height:auto;display:block}.brand small{margin-top:var(--space-2);font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;opacity:.65;display:block}.sidebar-search{margin:var(--space-5) 0 0}.nav{margin-top:var(--space-5);flex:1;gap:2px;display:grid;overflow:auto}.nav a{border-radius:var(--radius-sm);color:#ffffffd1;min-height:40px;transition:background var(--duration) var(--ease), color var(--duration) var(--ease);align-items:center;padding:11px 12px;font-size:13.5px;display:flex}.nav a:hover{color:#fff;background:#ffffff1a}.nav a:active{background:#ffffff24}.nav a.is-active{color:#fff;background:#ffffff29;font-weight:650}.nav a:focus-visible{box-shadow:0 0 0 2px #303730,0 0 0 4px #ffffffb3}.side-foot{padding-top:var(--space-4);border-top:1px solid #ffffff1a;margin-top:auto}.shell-overlay{z-index:35;cursor:pointer;background:#2e312d5c;border:0;padding:0;display:none;position:fixed;inset:0}.shell-overlay.is-open{display:block}.app-header{z-index:30;width:100%;height:var(--header-h);grid-template-columns:var(--header-action) minmax(0, 1fr) var(--header-action);align-items:center;column-gap:var(--space-2);background:var(--paper);box-shadow:none;box-sizing:border-box;border-bottom:1px solid #dedbd3e6;padding:0 14px;display:none;position:sticky;top:0}.app-header-brand{pointer-events:none;flex-direction:row;justify-content:center;justify-self:center;align-items:baseline;gap:7px;min-width:0;line-height:1;display:flex}.app-header-mark{font-family:var(--font-display);color:var(--green);letter-spacing:.01em;font-size:16px;font-weight:400}.app-header-sub{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:600}.main{width:100%;min-width:0;max-width:100%;padding:var(--main-pad-y) var(--main-pad-x) var(--space-9);box-sizing:border-box;margin:0;display:block}.main-inner{width:100%;max-width:var(--content-max)}@media (max-width:1024px){.shell{padding-left:0}.sidebar{width:var(--sidebar-drawer);max-width:min(var(--sidebar-drawer), 88vw);box-shadow:var(--elev-2);pointer-events:none;visibility:hidden;transform:translate(-100%)}.sidebar.is-open{pointer-events:auto;visibility:visible;transform:translate(0)}.app-header{display:grid}.main{padding-top:var(--main-pad-y)}.sidebar-search{display:none}.nav a{min-height:44px;padding:12px 14px;font-size:15px}}@media (min-width:1025px) and (max-width:1279px){:root{--sidebar:232px;--main-pad-x:28px}}.content{width:100%;max-width:var(--content)}.content-narrow{width:100%;max-width:var(--content-narrow)}.content-settings{width:100%;max-width:var(--content-settings)}.content-wide{width:100%;max-width:var(--content-wide)}.content-max{width:100%;max-width:var(--content-max)}.content-split{gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;display:grid}@media (max-width:1024px){.content-split{grid-template-columns:1fr}.content-settings,.content-narrow{max-width:min(760px,100%)}}@media (max-width:900px){.content-settings .form,.content-narrow .form{grid-template-columns:1fr}}@media (min-width:901px) and (max-width:1024px){.content-settings .form{grid-template-columns:1fr 1fr}}.head,.page-header{justify-content:space-between;gap:var(--space-4) var(--space-5);margin-bottom:var(--space-5);align-items:flex-start;display:flex}.page-header>div:first-child{flex-direction:column;gap:0;min-width:0;display:flex}.page-header-actions,.head>div:last-child:not(:only-child){gap:var(--space-2);flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;display:flex}.eyebrow{font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);color:var(--green2);text-transform:uppercase;font-weight:700;line-height:1.2}.head h1,.page-header h1{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:400;line-height:var(--leading-tight);margin:4px 0 6px}.head p,.page-header p{color:var(--muted);font-size:var(--text-md);line-height:var(--leading-normal);max-width:54ch;margin:0}.section-header{justify-content:space-between;gap:var(--space-3);margin:0 0 var(--space-4);align-items:baseline;display:flex}.section-header h2{font-family:var(--font-display);font-size:var(--text-2xl);margin:0;font-weight:400}@media (max-width:1024px){.head,.page-header{margin-bottom:var(--space-4);flex-direction:column;align-items:stretch;gap:10px}.page-header-actions,.head>div:last-child:not(:only-child){justify-content:flex-start;padding-top:2px}.head h1,.page-header h1{margin:2px 0 4px;font-size:26px}.head p,.page-header p{font-size:13px}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-h);border:1px solid var(--green);background:var(--green);color:#fff;font-size:var(--control-font);cursor:pointer;text-align:center;transition:background var(--duration) var(--ease), border-color var(--duration) var(--ease), color var(--duration) var(--ease), opacity var(--duration) var(--ease);border-radius:8px;padding:0 13px;font-weight:600;line-height:1;display:inline-flex}.btn:hover{background:#44503f;border-color:#44503f}.btn:active{background:#3a4436;border-color:#3a4436}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn.secondary{background:var(--panel);color:var(--ink);border-color:var(--line);font-weight:600}.btn.secondary:hover{background:var(--soft);border-color:#cfd3cc}.btn.secondary:active{background:#e9e6df}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger:hover{background:#8a4545}.btn.ghost{color:var(--green);background:0 0;border-color:#0000;font-weight:600}.btn.ghost:hover{background:var(--soft)}.btn.small{min-height:var(--control-h-sm);font-size:var(--text-sm);border-radius:7px;padding:0 11px}.btn.is-loading{pointer-events:none;position:relative}.icon-btn{width:var(--header-action);height:var(--header-action);color:var(--ink);cursor:pointer;transition:background var(--duration) var(--ease), color var(--duration) var(--ease);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background:#f1efe9e6}.icon-btn:active{background:var(--line)}.icon-btn:focus-visible{box-shadow:var(--focus-ring)}.menu-btn{width:var(--header-action);height:var(--header-action);color:var(--ink);cursor:pointer;transition:background var(--duration) var(--ease);background:0 0;border:0;border-radius:8px;justify-self:start;place-items:center;gap:5px;padding:0;display:inline-grid}.menu-btn:hover{background:#f1efe9e6}.menu-btn:active{background:var(--line)}.menu-btn:focus-visible{box-shadow:var(--focus-ring)}.menu-btn span{background:currentColor;border-radius:1px;width:20px;height:1.5px;display:block}.search-trigger{color:var(--ink);justify-self:end}.panel,.card-surface{background:var(--panel);border:var(--border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-5)}.panel h2{font-family:var(--font-display);font-size:var(--text-2xl);margin:0 0 var(--space-4);font-weight:400}.stats{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.stat,.metric-card{background:var(--panel);border:var(--border);border-radius:var(--radius-md);padding:var(--space-5)}.stat span,.metric-card span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:650;display:block}.stat strong,.metric-card strong,.metric-card b{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--green);margin-top:var(--space-2);font-weight:400;line-height:var(--leading-tight);display:block}.grid2{gap:var(--space-5);grid-template-columns:1fr 1fr;align-items:start;display:grid}.grid3{gap:var(--space-4);grid-template-columns:repeat(3,1fr);align-items:start;display:grid}.billing-workspace{gap:var(--space-5);grid-template-columns:minmax(300px,.4fr) minmax(0,.6fr);align-items:start;display:grid}.billing-compose{align-self:start;width:100%;height:fit-content}.billing-compose h2,.billing-ledger h2{margin:0 0 var(--space-4);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:400}.billing-ledger{min-width:0}.invoice-row{border-bottom:1px solid #eee;padding:12px 0}.invoice-row-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:7px;display:flex}.invoice-void{margin-top:10px}.invoice-void summary{cursor:pointer}.invoice-note{margin-top:8px;font-size:10px}.invoice-payment{margin-top:10px}@media (max-width:1100px){.billing-workspace{grid-template-columns:1fr}}@media (max-width:1024px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats .stat:last-child:nth-child(odd){grid-column:1/-1}.grid2{grid-template-columns:1fr}}.cards,.report-cards{gap:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.card{border:var(--border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--panel)}.card b{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--green);margin-top:var(--space-2);display:block}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:left;border-bottom:var(--border);letter-spacing:.06em;color:#6f746d;text-transform:uppercase;padding:10px 12px;font-size:11px;font-weight:650}.table td{vertical-align:top;border-bottom:1px solid #ece9e3;padding:12px;font-size:13px}.table tbody tr{transition:background var(--duration) var(--ease)}.table tbody tr:hover{background:#f1efe98c}.table a:hover{text-underline-offset:2px;text-decoration:underline}.data-table-view{display:block}.data-list-view{gap:var(--space-3);display:none}.data-list-card{padding:var(--space-4);border:var(--border);border-radius:var(--radius-md);background:var(--panel);min-height:72px;transition:background var(--duration) var(--ease), border-color var(--duration) var(--ease);display:block}.data-list-card:hover,.data-list-card:focus-visible{background:var(--soft);border-color:#cfd3cc}.data-list-title{color:var(--ink);margin:0 0 4px;font-size:15px;font-weight:650}.data-list-meta{color:var(--muted);font-size:13px;line-height:1.4}.data-list-meta span+span:before{content:" · ";color:#b0b3ad}.data-list-foot{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:12px;display:flex}.data-list-chip{color:#5c625b;font-size:12px}.clients-filters{gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;display:grid}.clients-filters .control{max-width:none}.clients-filters-toggle{color:var(--muted);text-transform:none;letter-spacing:0;white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:400;display:inline-flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.registry-panel{padding-bottom:var(--space-5)}.registry-toolbar{margin-bottom:var(--space-3);flex-wrap:wrap;align-content:center;align-items:center;gap:10px 12px;display:flex}.registry-toolbar-search{flex:240px;min-width:0}.registry-toolbar-search .control{width:100%;max-width:none;height:var(--control-h)}.registry-toolbar-filters{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.registry-field{color:#5c625b;flex:none;align-items:center;gap:6px;min-width:0;font-size:11px;font-weight:650;display:flex}.registry-inline-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:11px;font-weight:650}.registry-field .control{width:auto;min-width:128px;height:var(--control-h);max-width:220px}.registry-field--inline .control{min-width:148px}.registry-toolbar .btn{height:var(--control-h);min-height:var(--control-h);flex:none}.registry-toggle{color:var(--muted);text-transform:none;letter-spacing:0;min-height:var(--control-h);white-space:nowrap;flex:none;align-items:center;gap:8px;padding:0;font-size:13px;font-weight:400;display:inline-flex}@media (min-width:1200px){.registry-toolbar{flex-wrap:nowrap}.registry-toolbar-search{flex:auto}.registry-toolbar-filters{flex-wrap:nowrap;flex:0 auto}}.registry-summary{color:var(--muted);margin-bottom:var(--space-3);font-size:13px}.registry-table tbody tr.is-archived-row{opacity:.55}.registry-table tbody tr{cursor:default}.registry-pagination{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid #ece9e3;flex-wrap:wrap;display:flex}.registry-pagination-nav{align-items:center;gap:var(--space-3);display:flex}.registry-pagination-status{color:var(--ink);font-variant-numeric:tabular-nums;text-align:center;min-width:7rem;font-size:13px}.btn.is-disabled,.btn.is-disabled:hover{opacity:.4;pointer-events:none;cursor:not-allowed}.registry-page-size{align-items:center;gap:6px;font-size:13px;display:inline-flex}.registry-page-size-opt{border-radius:var(--radius-sm);min-width:36px;min-height:32px;color:var(--ink);border:1px solid #d8d6cf;justify-content:center;align-items:center;padding:0 8px;font-size:13px;text-decoration:none;display:inline-flex}.registry-page-size-opt.is-active{background:var(--ink);border-color:var(--ink);color:#fff}.registry-page-size-opt:hover:not(.is-active){background:var(--soft)}@media (max-width:900px){.data-table-view{display:none}.data-list-view{display:grid}.clients-filters{gap:var(--space-3);grid-template-columns:1fr auto}.clients-filters .control{grid-column:1/-1}.clients-filters-toggle{justify-self:start}.clients-filters .btn{justify-self:end}.registry-field{flex:140px}.registry-field .control{width:100%;min-width:0;max-width:none}}@media (max-width:1199px){.registry-toolbar{flex-wrap:wrap}.registry-toolbar-search{flex:100%}.registry-toolbar-filters{flex-wrap:wrap;flex:100%;justify-content:flex-start}}@media (max-width:768px){.registry-toolbar-filters{flex-direction:column;align-items:stretch}.registry-field,.registry-field--inline,.registry-toggle,.registry-toolbar .btn{width:100%}.registry-field .control{max-width:none}.registry-pagination{flex-direction:column;align-items:stretch}.registry-pagination-nav{justify-content:space-between}.registry-page-size{justify-content:flex-start}}.form{grid-template-columns:1fr 1fr;align-content:start;align-items:start;gap:16px 20px;display:grid}.form label,.field{text-transform:none;letter-spacing:0;color:#5c625b;align-content:start;gap:6px;font-size:11px;font-weight:650;display:grid}.form input,.form select,.form textarea,.field input,.field select,.field textarea,.control{width:100%;min-height:var(--control-h);border-radius:var(--radius-sm);padding:0 var(--control-px);background:var(--panel);color:var(--ink);font-size:var(--control-font);text-transform:none;letter-spacing:0;transition:border-color var(--duration) var(--ease), box-shadow var(--duration) var(--ease);border:1px solid #d8d6cf;font-weight:400}.form textarea,.field textarea{min-height:96px;padding:10px var(--control-px);line-height:var(--leading-normal)}.form input:hover,.form select:hover,.form textarea:hover,.field input:hover,.field select:hover,.field textarea:hover{border-color:#c4c1b8}.form .full,.field.full{grid-column:1/-1}.form-actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.muted{color:var(--muted)}.badge,.status-badge{border-radius:var(--radius-pill);font-size:var(--text-xs);letter-spacing:.04em;border:1px solid #d6d8d2;align-items:center;padding:5px 10px;font-weight:700;line-height:1.2;display:inline-flex}.status-badge.is-draft{color:#7a6840;border-color:#d4c4a0}.status-badge.is-final,.status-badge.is-active{color:var(--green);border-color:#b7c0b2}.status-badge.is-danger,.status-badge.is-archived{border-color:var(--danger-line);color:var(--danger)}.notice,.alert{border-radius:var(--radius-md);color:#5f5c54;font-size:var(--text-sm);line-height:var(--leading-normal);margin-bottom:var(--space-5);background:#f7f4ed;border:1px solid #ded8ca;padding:14px 16px}.alert.is-warn{background:#faf6eb;border-color:#e0d2a8}.alert.is-danger{border-color:var(--danger-line);background:var(--danger-soft);color:#6e3f3f}.alert.is-success{color:#3f4a3c;background:#f3f6f1;border-color:#c5d0c0}.empty-state{text-align:center;padding:var(--space-8) var(--space-5);color:var(--muted)}.empty-state h3{font-family:var(--font-display);font-size:var(--text-xl);color:var(--ink);margin:0 0 var(--space-2);font-weight:400}.empty-state p{margin:0 0 var(--space-5);font-size:var(--text-sm)}.danger-zone{border-color:var(--danger-line);background:var(--danger-soft)}.sticky-actions{z-index:20;gap:var(--space-2);padding:var(--space-3) 0;margin-top:var(--space-5);background:linear-gradient(180deg, #fbfaf700, var(--paper) 28%);flex-wrap:wrap;justify-content:flex-end;display:flex;position:sticky;bottom:0}.sticky-actions-inner{gap:var(--space-2);width:100%;padding:var(--space-3);background:var(--panel);border:var(--border);border-radius:var(--radius-md);box-shadow:var(--elev-1);flex-wrap:wrap;justify-content:flex-end;display:flex}.dialog-root[hidden]{display:none!important}.dialog-backdrop{z-index:60;cursor:pointer;background:#2e312d73;border:0;padding:0;position:fixed;inset:0}.dialog{z-index:70;background:var(--panel);border:var(--border);width:min(440px,100vw - 32px);max-height:min(80vh,640px);box-shadow:var(--elev-2);padding:var(--space-6);border-radius:14px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.dialog h2{font-family:var(--font-display);font-size:var(--text-2xl);margin:0 0 var(--space-3);font-weight:400}.dialog p{margin:0 0 var(--space-5);color:var(--muted);font-size:var(--text-md);line-height:1.5}.dialog-actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}@media (max-width:834px){.dialog.is-sheet{width:100%;max-height:85vh;padding-top:var(--space-5);border-radius:16px 16px 0 0;inset:auto 0 0;transform:none}.dialog.is-sheet:before{content:"";width:40px;height:4px;margin:0 auto var(--space-4);background:#d5d2ca;border-radius:999px;display:block}}.skeleton{background:linear-gradient(90deg, var(--soft) 0%, #e8e5dd 50%, var(--soft) 100%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.2s ease-in-out infinite skeleton-shimmer;display:block}.skeleton-line{height:12px;margin-bottom:var(--space-2)}.skeleton-title{width:42%;height:28px;margin-bottom:var(--space-4)}.skeleton-card{border-radius:var(--radius-md);height:88px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.searchbar{margin:0;position:relative}.searchbar--sidebar{margin:0}.searchbar--sidebar input{width:100%;min-height:var(--control-h-sm);border-radius:var(--radius-sm);color:#fff;font-size:var(--text-sm);background:#ffffff14;border:1px solid #ffffff24;padding:0 12px}.searchbar--sidebar input::placeholder{color:#ffffff8c}.searchbar--surface input{width:100%;min-height:var(--control-h);border:var(--border);background:var(--panel);color:var(--ink);font-size:max(16px, var(--control-font));border-radius:10px;padding:0 14px}.searchbar--surface input::placeholder{color:var(--muted)}.search-results{z-index:20;background:var(--panel);color:var(--ink);border-radius:var(--radius-md);border:var(--border);box-shadow:var(--elev-2);max-height:420px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.search-results a{border-bottom:1px solid #eee;padding:12px 14px;font-size:13px;display:block}.search-results a:hover,.search-results a:focus-visible{background:var(--soft)}.search-results strong{font-size:13.5px;display:block}.search-surface{z-index:55;position:fixed;inset:0}.search-surface-backdrop{cursor:pointer;background:#2e312d5c;border:0;padding:0;position:absolute;inset:0}.search-surface-panel{left:var(--main-pad-x);right:var(--main-pad-x);top:calc(var(--header-h) + 8px);background:var(--panel);border:var(--border);box-shadow:var(--elev-2);padding:var(--space-4);border-radius:14px;position:absolute}.search-surface-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.search-surface-head h2{font-family:var(--font-display);font-size:var(--text-xl);margin:0;font-weight:400}@media (max-width:834px){.search-surface-panel{padding:var(--space-5) var(--main-pad-x) calc(var(--space-6) + env(safe-area-inset-bottom,0px));border-radius:16px 16px 0 0;max-height:80vh;inset:auto 0 0}.search-surface-panel:before{content:"";width:40px;height:4px;margin:0 auto var(--space-4);background:#d5d2ca;border-radius:999px;display:block}}.profile-head{justify-content:space-between;gap:var(--space-5);align-items:flex-start;display:flex}.profile-head h1{font-family:var(--font-display);font-size:var(--text-4xl);margin:0;font-weight:400}.section-rule{border-top:var(--border);margin:var(--space-5) 0}.calendar-panel{overflow:hidden}.calendar-shell{gap:var(--space-4);display:grid}.calendar-toolbar{gap:4px;display:grid}.calendar-month-title{font-family:var(--font-display);font-size:var(--text-2xl);margin:0;font-weight:400}.calendar-hint{font-size:var(--text-sm);margin:0}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-weekdays{margin-bottom:2px}.cal-weekday{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 4px;font-size:10px;font-weight:700}.calendar-month{grid-auto-rows:118px}.cal-day{border:var(--border);background:var(--panel);border-radius:var(--radius-sm);height:100%;min-height:0;padding:0;overflow:hidden}.cal-day.out{opacity:.45}.cal-day-btn{width:100%;height:100%;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;flex-direction:column;align-items:stretch;gap:4px;margin:0;padding:6px 6px 4px;display:flex}.cal-day-btn:hover{background:#f1efe98c}.cal-day-btn:focus-visible{box-shadow:var(--focus-ring)}.cal-day-num{color:var(--ink);font-size:12px;font-weight:700;line-height:1;display:block}.cal-day-events{flex-direction:column;gap:2px;min-height:0;display:flex;overflow:hidden}.cal-event{border-left:2px solid var(--green2);background:#f7f8f5;border-radius:0 3px 3px 0;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px;height:26px;max-height:26px;padding:0 5px;font-size:10px;line-height:1.2;display:grid;overflow:hidden}.cal-event-time{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.cal-event-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);overflow:hidden}.cal-more{color:var(--green);padding:2px 4px 0;font-size:10px;font-weight:650;line-height:1.2;display:block}.calendar-agenda{gap:10px;display:grid}.agenda-day{border:var(--border);border-radius:var(--radius-md);background:var(--panel);text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;gap:8px;margin:0;padding:12px 14px;display:grid}.agenda-day:hover{background:var(--soft)}.agenda-day:focus-visible{box-shadow:var(--focus-ring)}.agenda-day-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.agenda-day-head strong{font-size:var(--text-md)}.agenda-preview{gap:4px;margin:0;padding:0;list-style:none;display:grid}.agenda-preview li{font-size:var(--text-sm);grid-template-columns:52px minmax(0,1fr) auto;align-items:baseline;gap:8px;display:grid}.agenda-time{color:var(--muted);font-variant-numeric:tabular-nums}.agenda-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:650;overflow:hidden}.agenda-more{color:var(--green);grid-column:1/-1;font-weight:650}.day-detail-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.day-detail-item{border-bottom:1px solid #eee;grid-template-columns:56px minmax(0,1fr);gap:12px;padding:10px 0;display:grid}.day-detail-item.is-cancelled{opacity:.55}.day-detail-time{font-variant-numeric:tabular-nums;font-size:var(--text-sm);color:var(--muted)}.day-detail-body strong{font-size:var(--text-md);display:block}.day-detail-note{font-size:var(--text-sm);margin:14px 0 0}@media (min-width:901px) and (max-width:1100px){.calendar-month{grid-auto-rows:108px}.cal-event{height:24px;max-height:24px;font-size:9px}}@media (max-width:1024px){.calendar-month{grid-auto-rows:102px}}.score{font-family:var(--font-display);color:var(--green);font-size:48px}.login{background:#303730;place-items:center;min-height:100vh;display:grid}.login-card{background:var(--panel);width:min(430px,92vw);padding:var(--space-7);border-radius:14px}.login-card img{width:260px;margin:0 auto 28px;display:block}.login-card h1{font-family:var(--font-display);font-size:30px;font-weight:400}.login-card form{gap:var(--space-3);display:grid}.login-card input{min-height:var(--control-h);border:var(--border);border-radius:var(--radius-sm);padding:0 12px}.pdf-page{page-break-after:always;color:#30342f;background:#fff;width:210mm;min-height:297mm;margin:0 auto;padding:22mm 20mm 18mm;position:relative}.pdf-page h1,.pdf-page h2{font-family:Arial,Helvetica,sans-serif;font-weight:400}.pdf-page h2{font-size:26px}.pdf-footer{color:#aaa;letter-spacing:.18em;text-transform:uppercase;border-top:1px solid #ddd8cf;justify-content:space-between;padding-top:7px;font-size:5.5px;display:flex;position:absolute;bottom:9mm;left:20mm;right:20mm}.pdf-metric{border:1px solid #dad6ce;padding:16px}.pdf-label{letter-spacing:.2em;text-transform:uppercase;color:#75816f;font-size:7px;font-weight:700}.pdf-value{color:#53604f;margin-top:12px;font:40px Georgia,serif}.pdf-copy{font-size:10px;line-height:1.58}.no-print{display:block}.progress-toolbar{flex-wrap:wrap;align-items:end;gap:14px 22px;margin-bottom:8px;display:flex}.progress-toolbar label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-meta);color:#676d66;flex:1;gap:6px;min-width:160px;display:grid}.progress-toolbar select{border-radius:var(--radius-sm);min-height:var(--control-h);background:#fff;border:1px solid #d8d6cf;width:100%;padding:0 11px}.progress-score{color:var(--green);font:32px Georgia,serif}.delta{font-variant-numeric:tabular-nums}.trend{margin-bottom:8px}.trend svg{width:100%;max-width:100%;height:72px;display:block}.progress-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.progress-table-wrap .table{min-width:640px}@media print{body{background:#fff}.sidebar,.app-header,.shell-overlay,.no-print,.sticky-actions{display:none!important}.main{width:100%;margin:0;padding:0}.pdf-page{box-shadow:none;margin:0}@page{size:A4;margin:0}}@media (max-width:1024px){.stats,.grid2,.grid3,.cards,.report-cards{grid-template-columns:1fr 1fr}.form{grid-template-columns:1fr}.form .full{grid-column:auto}.profile-head{flex-direction:column}}@media (max-width:900px){.progress-stats{grid-template-columns:1fr 1fr}.progress-toolbar{flex-direction:column;align-items:stretch}}@media (max-width:768px){.stats,.grid2,.grid3,.cards,.report-cards{grid-template-columns:1fr}}.client-file-head{margin-bottom:var(--space-4)}.client-file-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;display:flex}.client-file-nav{margin:0 0 var(--space-5);border-bottom:1px solid var(--border,#e4e2db)}.client-file-nav-scroll{gap:var(--space-1);-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:1px;display:flex;overflow-x:auto}.client-file-tab{min-height:44px;color:var(--muted,#6b6f69);font-size:var(--text-sm,13px);white-space:nowrap;transition:color var(--duration,.16s), border-color var(--duration,.16s);border-bottom:2px solid #0000;flex:none;align-items:center;gap:8px;padding:10px 14px;font-weight:500;text-decoration:none;display:inline-flex}.client-file-tab:hover{color:var(--ink,#2e312d)}.client-file-tab.is-active{color:var(--ink,#2e312d);border-bottom-color:var(--accent,#4e5a4a)}.client-file-tab:focus-visible{box-shadow:var(--focus-ring,0 0 0 2px #fff, 0 0 0 4px #4e5a4a);border-radius:4px;outline:none}.client-section-head{justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:flex-start;display:flex}.client-section-head h2{font-family:var(--font-display);font-size:var(--text-2xl);margin:0;font-weight:400}.client-section-actions{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.client-file-reassessment-blocked{flex-direction:column;align-items:flex-start;gap:4px;display:inline-flex}.client-file-hint{max-width:220px;font-size:11px}.client-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.client-overview-row{border-bottom:1px solid #eee;padding:6px 0}.client-overview-glance{gap:var(--space-3);flex-direction:column;display:flex}.btn.is-disabled,button.is-disabled{opacity:.45;cursor:not-allowed}.comparator-context{margin-bottom:var(--space-4);border:1px solid var(--border,#e4e2db);border-radius:var(--radius,8px);background:var(--surface,#faf9f6);padding:var(--space-3) var(--space-4)}.comparator-context-strip{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.comparator-context-main{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.comparator-context-main strong{font-size:var(--text-md)}.comparator-context-toggle{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:8px;display:none}.comparator-context-detail{margin-top:var(--space-3)}@media (max-width:834px){.client-file-tab{padding:12px;font-size:14px}.comparator-context-link{display:none}.comparator-context-toggle{display:inline-flex}.comparator-context-detail{display:none}.comparator-context-detail.is-open{display:block}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.anamnesis-panel{flex-direction:column;gap:12px;display:flex}.anamnesis-meta{margin:0;font-size:13px}.anamnesis-form{flex-direction:column;gap:12px;display:flex}.anamnesis-section{background:#fff;border:1px solid #e4e2db;border-radius:12px}.anamnesis-section summary{cursor:pointer;padding:14px 16px;font-size:16px;font-weight:600;list-style:none}.anamnesis-section summary::-webkit-details-marker{display:none}.anamnesis-section-body{flex-direction:column;gap:12px;padding:0 16px 16px;display:flex}.anamnesis-hint{margin:0}.anamnesis-grid{grid-template-columns:1fr;gap:12px;display:grid}.anamnesis-field{color:#5c625b;gap:6px;min-width:0;font-size:13px;font-weight:600;display:grid}.anamnesis-field .control{width:100%;min-height:var(--control-h)}.anamnesis-repeat{flex-direction:column;gap:10px;display:flex}.anamnesis-item{background:#faf9f6;border:1px solid #eee;border-radius:10px;grid-template-columns:1fr;gap:8px;padding:12px;display:grid}.anamnesis-actions{justify-content:flex-start;display:flex}@media (min-width:834px){.anamnesis-grid{grid-template-columns:1fr 1fr}.anamnesis-item{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.anamnesis-item .btn{justify-self:start}}.settings-block{flex-direction:column;gap:12px;display:flex}.settings-block>.form{grid-template-columns:1fr}.settings-block fieldset{border:0;min-width:0;margin:0;padding:0}.settings-block fieldset.form{grid-template-columns:1fr 1fr}.brand-row{align-items:center;gap:16px;display:flex}.billing-workspace .registry-toolbar{flex-wrap:wrap;align-items:flex-end}.billing-workspace .registry-toolbar-search{flex:100%}.billing-workspace .registry-toolbar-filters{flex-wrap:wrap;flex:100%}.brand-logo{width:160px;height:auto}.invoice-lines{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.invoice-lines .btn{width:auto}.invoice-lines-head,.invoice-lines-row{grid-template-columns:1fr 72px 120px;gap:8px;display:grid}.invoice-lines-head{color:#5c625b;font-size:12px}.invoice-lines input,.settings-block input,.settings-block select,.settings-block textarea{width:100%;min-height:var(--control-h,44px)}.invoice-totals{flex-wrap:wrap;gap:16px;display:flex}.invoice-detail-grid{grid-template-columns:1fr;gap:16px;display:grid}.invoice-print{color:#1c1c1c;background:#fff}.invoice-sheet{max-width:210mm;margin:0 auto;padding:24px}.invoice-sheet .table{width:100%}.invoice-logo{width:min(220px,60%);height:auto}.invoice-sheet-grid{grid-template-columns:1fr;gap:16px;display:grid}.invoice-sheet-totals{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.receipt-paid{letter-spacing:.14em;font-weight:600}.qr-slip{width:100%;overflow:hidden}.qr-slip svg{width:100%;height:auto;display:block}@media (min-width:834px){.invoice-detail-grid,.invoice-sheet-grid{grid-template-columns:1fr 1fr}}@media (max-width:1024px){.settings-block fieldset.form{grid-template-columns:1fr}}
