@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";:root{--font-ui:"Plus Jakarta Sans", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:var(--font-ui);--font-mono:"JetBrains Mono", ui-monospace, monospace;--canvas:#fefdfb;--bg:#fefdfb;--bg-subtle:#faf8f2;--bg-sunken:#f2efe5;--surface:#fff;--ink:oklch(17.8% .028 260);--muted:oklch(42% .02 260);--faint:oklch(56% .015 260);--primary:oklch(60.5% .174 32);--primary-hover:oklch(55% .17 32);--primary-foreground:oklch(98.5% .008 80);--primary-soft:oklch(95.5% .025 32);--primary-soft-ink:oklch(55% .15 32);--secondary:oklch(54.6% .215 262.9);--secondary-hover:oklch(50% .215 262.9);--secondary-foreground:oklch(98.5% .008 80);--secondary-soft:oklch(93% .06 262/.6);--tertiary:#cfc292;--tertiary-soft:#ece4cf;--tertiary-ink:#5a4f2a;--hue-purple:oklch(52% .19 300);--hue-purple-soft:oklch(95% .04 300);--hue-blue:oklch(54.6% .215 262.9);--hue-blue-soft:oklch(93% .06 262/.6);--hue-green:oklch(62.7% .17 149.2);--hue-green-soft:oklch(94% .06 149/.6);--hue-amber:oklch(76.9% .165 70.1);--hue-amber-soft:oklch(95% .08 70/.5);--hue-pink:oklch(63% .22 340);--hue-pink-soft:oklch(95% .05 340/.6);--hue-teal:oklch(60% .11 190);--hue-teal-soft:oklch(95% .04 190/.6);--accent:var(--primary);--accent-2:var(--primary-hover);--danger:oklch(57.7% .215 27.3);--success:oklch(62.7% .17 149.2);--warning:oklch(76.9% .165 70.1);--info:oklch(54.6% .215 262.9);--line:oklch(93.5% .012 78);--line-strong:oklch(89.5% .016 78);--ring:var(--primary);--radius-sm:5px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--shadow-sm:0 1px 2px #0f172a0a;--shadow:0 4px 12px #0f172a0f, 0 0 0 1px #0f172a08;--shadow-popover:0 4px 12px #0f172a1a, 0 0 0 1px #0f172a0d;--shadow-modal:0 16px 48px #0f172a33, 0 0 0 1px #0f172a14}*{box-sizing:border-box}html{font-size:15px}body{font-family:var(--font-ui);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;accent-color:var(--secondary);margin:0;font-size:14px;line-height:1.5}select option{background:var(--surface);color:var(--ink)}button,input,select,textarea{font:inherit}em,i,cite,dfn,address{font-style:normal}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--ring);outline-offset:2px}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line-strong);background-clip:content-box;border:3px solid #0000;border-radius:999px}.shell{grid-template-columns:260px 1fr;min-height:100vh;transition:grid-template-columns .18s;display:grid}.shell.collapsed{grid-template-columns:64px 1fr}.shell.collapsed .sidebar{padding:16px 8px}.shell.collapsed .navlink{justify-content:center;gap:0;padding:9px 8px}.shell.collapsed .brand-block{text-align:center;border-bottom:1px solid var(--line);padding:6px 4px 14px}.shell.collapsed .brand-row{justify-content:center;overflow:hidden}.shell.collapsed .brand-logo{display:none}.shell.collapsed .sidebar-collapse{justify-content:center}.shell.collapsed .sidebar-collapse span{display:none}.sidebar{flex-direction:column;display:flex}.brand-row{align-items:center;gap:10px;display:flex}.brand-logo{object-fit:contain;flex:none;width:auto;max-width:100%;height:32px;display:block}.brand-monogram{background:var(--primary);width:36px;height:36px;color:var(--primary-foreground);letter-spacing:.02em;border-radius:10px;flex:none;justify-content:center;align-items:center;font-family:Playfair Display,Plus Jakarta Sans,serif;font-size:1.1rem;font-weight:800;display:inline-flex}.brand-text div{color:var(--muted);margin-top:2px;font-size:.72rem}.nav{flex-direction:column;flex:1;gap:6px;display:flex}.sidebar-footer{border-top:1px solid var(--line);flex-direction:column;gap:2px;margin-top:auto;padding-top:10px;display:flex}.navlink{align-items:center;gap:10px;display:flex!important}.navlink>span{flex:auto;min-width:0}.navlink-icon{opacity:.9;flex:none}.navlink.active .navlink-icon{opacity:1}.navlink-hue-primary .navlink-icon{color:var(--primary)}.navlink-hue-purple .navlink-icon{color:var(--hue-purple)}.navlink-hue-blue .navlink-icon{color:var(--hue-blue)}.navlink-hue-green .navlink-icon{color:var(--hue-green)}.navlink-hue-amber .navlink-icon{color:var(--hue-amber)}.navlink-hue-pink .navlink-icon{color:var(--hue-pink)}.navlink-hue-teal .navlink-icon{color:var(--hue-teal)}.nav-space{flex-direction:column;gap:1px;display:flex}.nav-space+.nav-space{margin-top:2px}.nav-space-head{width:100%;min-height:32px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;align-items:center;gap:6px;padding:10px 10px 6px;font-size:.72rem;font-weight:700;display:flex}.nav-space-head:hover{color:var(--ink)}.nav-space-head svg{opacity:.6;transition:transform .14s}.nav-space-head:hover svg{opacity:1}.nav-space-items{flex-direction:column;gap:1px;animation:.16s ease-out fadeIn;display:flex}.shell.collapsed .nav-space+.nav-space{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.sidebar-collapse{border-radius:var(--radius-md);width:100%;color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;margin-top:4px;padding:8px 10px;font-size:.78rem;display:flex}.sidebar-collapse:hover{background:var(--bg-sunken);color:var(--ink)}.sidebar-user{text-align:left;cursor:pointer;border-radius:var(--radius-md);background:var(--bg-subtle);border:1px solid var(--line);width:100%;font:inherit;color:inherit;align-items:center;gap:10px;margin-bottom:6px;padding:8px 10px;transition:background .12s,border-color .12s;display:flex}.sidebar-user:hover{background:var(--bg-sunken);border-color:var(--line-strong)}.sidebar-user-avatar{background:var(--primary);width:30px;height:30px;color:var(--primary-foreground);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;display:inline-flex}.sidebar-user-meta{flex:1;min-width:0}.sidebar-user-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;overflow:hidden}.sidebar-user-role{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:1px;font-size:.66rem;font-weight:600}.onb-backdrop{z-index:80;background:#12262073;justify-content:center;align-items:center;padding:24px;animation:.16s ease-out fadeIn;display:flex;position:fixed;inset:0}.onb-modal{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-modal);border-radius:16px;width:min(560px,100%);padding:28px;position:relative;overflow:hidden}.onb-close{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:14px;right:14px}.onb-close:hover{background:var(--bg-sunken);color:var(--ink)}.onb-progress{background:var(--bg-sunken);border-radius:999px;height:4px;margin:4px 0 20px;overflow:hidden}.onb-progress-bar{background:var(--secondary);border-radius:999px;height:100%;transition:width .24s}.onb-step-meta{justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.onb-chip{background:var(--tertiary-soft);color:var(--tertiary-ink);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;align-items:center;padding:3px 10px;font-size:.68rem;font-weight:700;display:inline-flex}.onb-dots{gap:4px;display:inline-flex}.onb-dot{background:var(--line-strong);border-radius:999px;width:6px;height:6px;transition:background .12s,width .12s}.onb-dot.active{background:var(--primary);width:18px}.onb-dot.done{background:var(--secondary)}.onb-body{align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.onb-icon{background:var(--secondary-soft);width:56px;height:56px;color:var(--secondary);border-radius:14px;flex:none;justify-content:center;align-items:center;display:inline-flex}.onb-text{flex:1;min-width:0}.onb-title{letter-spacing:-.015em;color:var(--ink);margin:2px 0 6px;font-size:1.35rem;font-weight:700}.onb-description{color:var(--muted);margin:0;font-size:.9375rem;line-height:1.55}.onb-footer{border-top:1px solid var(--line);align-items:center;gap:10px;padding-top:20px;display:flex}.onb-footer .btn.secondary{padding-left:10px;padding-right:12px}.onb-footer .btn:last-child{margin-left:auto}.onb-skip{text-align:center;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:auto;font-size:.82rem;font-weight:500}.onb-skip:hover{color:var(--ink);text-decoration:underline}@media (width<=600px){.onb-footer{flex-wrap:wrap}.onb-skip{order:3;width:100%;margin-top:4px}}.sidebar{color:oklch(22% .015 260);border-right:1px solid var(--line);background:oklch(99.5% .002 80);min-height:100vh;padding:16px 10px}.brand-block{border-bottom:1px solid var(--line);margin-bottom:10px;padding:6px 10px 18px}.brand-block strong{letter-spacing:-.01em;color:var(--ink);font-size:1.05rem;font-weight:700}.brand-block>div{color:var(--muted);margin-top:2px;font-size:.75rem}.role-badge{border:1px solid var(--line);background:var(--primary-soft);color:var(--primary-soft-ink);letter-spacing:.02em;border-radius:999px;margin-top:10px;padding:3px 9px;font-size:.7rem;font-weight:600;display:inline-block}.navlink{text-align:left;border-radius:var(--radius-md);color:oklch(30% .015 260);cursor:pointer;background:0 0;border:0;width:100%;margin-bottom:2px;padding:8px 10px;font-size:.875rem;font-weight:500;transition:background .12s,color .12s;display:block}.navlink:hover{background:var(--bg-sunken);color:var(--ink)}.navlink.active{background:var(--primary-soft);color:var(--primary-soft-ink);font-weight:600}.content{width:100%;min-width:0;margin:0;padding:24px 28px}.page-header{align-items:center;gap:12px;margin-bottom:20px;display:flex}.page-subtitle{color:var(--muted);margin:0;font-size:.82rem}.page-topbar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-breadcrumb{align-items:center;gap:8px;display:inline-flex}.page-dot{background:var(--primary);width:10px;height:10px;box-shadow:0 0 0 3px color-mix(in oklch, var(--primary) 18%, transparent);border-radius:999px}.page-dot-purple{background:var(--hue-purple);box-shadow:0 0 0 3px color-mix(in oklch, var(--hue-purple) 18%, transparent)}.page-dot-blue{background:var(--hue-blue);box-shadow:0 0 0 3px color-mix(in oklch, var(--hue-blue) 18%, transparent)}.page-dot-green{background:var(--hue-green);box-shadow:0 0 0 3px color-mix(in oklch, var(--hue-green) 18%, transparent)}.page-dot-amber{background:var(--hue-amber);box-shadow:0 0 0 3px color-mix(in oklch, var(--hue-amber) 18%, transparent)}.page-dot-pink{background:var(--hue-pink);box-shadow:0 0 0 3px color-mix(in oklch, var(--hue-pink) 18%, transparent)}.page-dot-teal{background:var(--hue-teal);box-shadow:0 0 0 3px color-mix(in oklch, var(--hue-teal) 18%, transparent)}.page-title{letter-spacing:-.01em;color:var(--ink);font-size:1.05rem;font-weight:700}.mobile-menu{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius-md);padding:7px 10px;font-weight:600;display:none}.sidebar-backdrop{display:none}h1{letter-spacing:-.015em;margin:0 0 6px;font-size:1.5rem;font-weight:700}h2{letter-spacing:-.01em;margin:18px 0 10px;font-size:1.05rem;font-weight:700}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-bottom:14px;padding:16px;overflow-x:auto}.grid{gap:20px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:20px}@media (width<=1100px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.grid-4{grid-template-columns:1fr}}.btn{background:var(--primary);color:var(--primary-foreground);cursor:pointer;border:1px solid #0000;border-radius:999px;padding:7px 16px;font-size:.875rem;font-weight:600;transition:background .12s,box-shadow .12s,transform 60ms}.btn:hover{background:var(--primary-hover)}.btn:active{transform:translateY(1px)}.btn.secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn.secondary:hover{background:var(--bg-sunken)}.btn.danger{background:var(--danger)}.btn.danger:hover{filter:brightness(.95)}.btn:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--radius-md);width:100%;padding:8px 11px;font-size:.875rem;transition:border-color .12s,box-shadow .12s}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.55}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0c575233}fieldset.line-item{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--bg-subtle);margin:0;padding:12px}fieldset.line-item legend{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:0 6px;font-size:.72rem;font-weight:700}.permission-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:420px;display:grid;overflow:auto}.permission-grid fieldset{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-subtle);padding:10px}.permission-grid legend{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700}.checkbox-row{word-break:break-word;align-items:center;gap:7px;margin:6px 0;font-size:.78rem;display:flex}.checkbox-row input{width:auto}.quarter-toolbar{align-items:end;gap:10px;display:flex}.quarter-toolbar label{width:140px}.definitions{color:var(--muted);font-size:.85rem}.trend-up{color:var(--success);font-weight:600}.trend-down{color:var(--danger);font-weight:600}.quarters-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.quarters-header-left{align-items:center;gap:14px;display:flex}.quarters-header-left input[type=number]{border:1px solid var(--border,#e2e8f0);border-radius:8px;padding:6px 10px}.quarters-header-actions{gap:8px;display:flex}.quarters-grid{gap:14px}.quarter-card-v2{flex-direction:column;gap:12px;padding:16px;transition:transform .15s,box-shadow .15s;display:flex}.quarter-card-v2:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px #0f172a40}.quarter-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.quarter-card-badge{border-radius:999px;padding:4px 10px;font-size:.9rem;font-weight:700;display:inline-block}.quarter-card-sub{margin-top:4px;font-size:.72rem}.quarter-metrics{border-top:1px solid var(--border,#e2e8f0);border-bottom:1px solid var(--border,#e2e8f0);grid-template-columns:1fr 1fr;gap:10px;padding:10px 0;display:grid}.quarter-metric-value{margin:2px 0;font-size:1.1rem;font-weight:700}.quarter-chips{flex-wrap:wrap;gap:6px;display:flex}.quarter-chips .chip-tag{align-items:center;gap:4px;padding:3px 8px;font-size:.72rem;display:inline-flex}.quarter-trend{flex-wrap:wrap;align-items:center;gap:6px;font-size:.78rem;font-weight:600;display:flex}.quarter-open-btn{justify-content:center;align-items:center;gap:6px;margin-top:auto;display:inline-flex}@media (width<=900px){.quarter-metrics{grid-template-columns:1fr}}.qtree{padding:10px}.qtree-root{background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;width:100%;color:var(--ink);text-align:left;align-items:center;gap:10px;padding:10px 14px;font-weight:700;display:flex}.qtree-root:hover{background:var(--bg-sunken)}.qtree-root-label{flex:1;font-size:1rem}.qtree-root-count{color:var(--muted);font-size:.78rem;font-weight:500}.qtree-list{gap:10px;margin:12px 0 0;padding:0 0 0 16px;list-style:none;display:grid}.qtree-item{border-left:1px dashed var(--line-strong);padding-left:14px}.qtree-row{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line);align-items:center;gap:20px;padding:12px 14px;transition:background .12s,border-color .12s,box-shadow .12s;display:flex}.qtree-row:hover{background:var(--bg-subtle);border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.qtree-row-main{cursor:pointer;text-align:left;min-width:0;color:var(--ink);background:0 0;border:0;flex:340px;align-items:center;gap:14px;padding:0;display:flex}.qtree-row-main>.qtree-range{margin-left:auto;padding-right:8px}.qtree-caret{color:var(--muted);display:inline-flex}.qtree-folder{border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.qtree-title{font-size:.95rem;font-weight:600}.qtree-range{font-size:.72rem;font-weight:500}.qtree-metrics{flex-wrap:wrap;align-items:center;gap:22px;padding:0 10px;display:flex}.qtree-metric{color:var(--ink);font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-size:.82rem;font-weight:600;display:inline-flex}.qtree-metric-success{color:var(--success)}.qtree-metric-warn{color:var(--warning)}.qtree-actions{border-left:1px solid var(--line);align-items:center;gap:6px;padding-left:10px;display:flex}.qtree-action{background:var(--surface);width:32px;height:32px;color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius-md);cursor:pointer;justify-content:center;align-items:center;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.qtree-action:hover{background:var(--primary-soft);color:var(--primary-soft-ink);border-color:color-mix(in oklch, var(--primary) 25%, transparent)}.qtree-expand{background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--radius-lg);gap:18px;margin:10px 0 6px 44px;padding:18px 20px;display:grid}.qtree-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px 24px;display:grid}.qtree-stat .qtree-stat-value{margin-top:2px;font-size:.9rem;font-weight:600}@media (width<=800px){.qtree-row{flex-wrap:wrap}.qtree-metrics{gap:10px;width:100%;padding-left:42px}.qtree-actions{position:absolute;right:10px}.qtree-expand{margin-left:10px}}table{border-collapse:collapse;width:100%;font-size:.875rem}th,td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:left;padding:10px}th:last-child,td:last-child{border-right:0}th{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;background:var(--bg-subtle);font-size:.72rem;font-weight:600}tbody tr:hover td{background:var(--bg-sunken)}.modal-backdrop{z-index:60;background:oklch(17.8% .028 260/.45);justify-content:center;align-items:center;animation:.14s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-xl);width:min(980px,94vw);max-height:90vh;box-shadow:var(--shadow-modal);padding:20px;overflow:auto}.modal-title-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.client-detail{width:min(1100px,96vw)}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:14px 16px}.label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:700}.value{letter-spacing:-.015em;margin-top:6px;font-size:1.45rem;font-weight:700}.error{color:var(--danger);margin-top:8px;font-size:.85rem}.table-wrap{overflow:auto}.iframe-preview{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-md);width:100%;min-height:700px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media print{.sidebar,.mobile-menu,.quarter-toolbar button,.quarter-card button{display:none!important}.shell{display:block}.content{max-width:none}.card{box-shadow:none;break-inside:avoid}.modal-backdrop{display:none!important}}@media (width<=900px){.shell{grid-template-columns:1fr}.sidebar{z-index:50;width:min(280px,84vw);height:100vh;transition:left .2s;position:fixed;top:0;left:-290px;box-shadow:16px 0 40px #0206172e}.sidebar.open{left:0}.sidebar-backdrop{z-index:40;background:oklch(17.8% .028 260/.45);border:0;width:100%;display:block;position:fixed;inset:0}.mobile-menu{display:inline-block}.content{padding:16px}}@media (width<=700px){.card.grid,.grid[style]{grid-template-columns:1fr!important}th,td{white-space:nowrap}h1{font-size:1.25rem}.permission-grid{grid-template-columns:1fr}}.login-shell{background:var(--bg);grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.login-hero{color:var(--primary-foreground);text-shadow:0 1px 3px #00000059;background:linear-gradient(135deg,#0a1612e6 0%,#122620c7 55%,#122620eb 100%),url(/eiden-login-hero.jpg) 50%/cover no-repeat;flex-direction:column;justify-content:center;padding:64px 64px 56px;display:flex;position:relative;overflow:hidden}.login-hero:after{content:"";pointer-events:none;background:radial-gradient(900px 500px at 10% 90%,#0a16128c 0%,#0000 70%),radial-gradient(500px 300px at 90% 10%,#0a161266 0%,#0000 70%);position:absolute;inset:0}.login-hero>*{z-index:1;position:relative}.login-hero-logo{filter:brightness(0)invert();opacity:.95;width:auto;max-width:260px;height:44px;margin-bottom:32px;display:block}.login-hero-tagline{color:#fefdfb;opacity:.95;max-width:460px;margin:0 0 32px;font-size:1.0625rem}.login-hero-points{gap:10px;margin:0;padding:0;font-size:.9375rem;list-style:none;display:grid}.login-hero-points li{color:#fefdfb;opacity:.95}.login-hero-points li:before{content:"→ ";color:#cfc292;opacity:1;font-weight:700}.login-hero-glow{pointer-events:none;background:radial-gradient(closest-side,oklch(100% 0 0/.12),#0000 70%);border-radius:999px;width:420px;height:420px;position:absolute;top:-140px;right:-140px}.login-form-wrap{justify-content:center;align-items:center;padding:32px;display:flex}.login-form{width:100%;max-width:400px}.login-title{letter-spacing:-.015em;margin:0 0 6px;font-size:1.5rem;font-weight:700}.login-subtitle{color:var(--muted);margin:0 0 24px;font-size:.875rem}.login-fields{gap:14px;display:grid}.login-field-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:.75rem;font-weight:600;display:block}.login-field-input{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-md);align-items:center;gap:8px;padding:0 12px;transition:border-color .12s,box-shadow .12s;display:flex}.login-field-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #0c575233}.login-field-input svg{color:var(--muted);flex:none}.login-field-input input{box-shadow:none;background:0 0;border:0;border-radius:0;padding:11px 0}.login-field-input input:focus{box-shadow:none;border:0}.login-submit{justify-content:center;align-items:center;gap:8px;width:100%;margin-top:6px;padding:11px 14px;font-size:.9375rem;display:inline-flex}.login-footnote{color:var(--muted);text-align:center;margin-top:28px;font-size:.75rem}@media (width<=900px){.login-shell{grid-template-columns:1fr}.login-hero{padding:40px 32px}.login-hero-title{font-size:2rem}}.status-pill{text-transform:capitalize;letter-spacing:.02em;color:#4a4a4a;border:1px solid var(--line);background:#ece7d8;border-radius:999px;align-items:center;padding:3px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.status-pill.status-paid,.status-pill.status-accepted,.status-pill.status-completed{color:oklch(35% .14 149);background:oklch(95% .05 149/.75);border-color:oklch(85% .09 149/.6)}.status-pill.status-issued,.status-pill.status-sent{color:oklch(35% .15 230);background:oklch(95% .05 230/.75);border-color:oklch(85% .09 230/.6)}.status-pill.status-overdue,.status-pill.status-rejected,.status-pill.status-cancelled{color:oklch(42% .18 27);background:oklch(95% .06 27/.65);border-color:oklch(88% .1 27/.6)}.status-pill.status-pending,.status-pill.status-draft,.status-pill.status-partial,.status-pill.status-expired{color:oklch(40% .16 70);background:oklch(95% .07 70/.75);border-color:oklch(86% .1 70/.6)}button.status-pill{cursor:default;font-family:inherit}button.status-pill.status-clickable{cursor:pointer;transition:box-shadow .12s,transform .12s}button.status-pill.status-clickable:hover{box-shadow:0 2px 8px #0f172a1a}button.status-pill.status-clickable:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.kpi-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.kpi-icon{background:var(--bg-sunken);width:24px;height:24px;color:var(--muted);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.kpi-hint{color:var(--muted);margin-top:6px;font-size:.72rem}.kpi-success .kpi-icon{color:oklch(40% .14 149);background:oklch(95% .06 149/.6)}.kpi-warning .kpi-icon{color:oklch(42% .15 70);background:oklch(95% .08 70/.6)}.kpi-danger .kpi-icon{color:oklch(45% .18 27);background:oklch(95% .06 27/.5)}.kpi-info .kpi-icon{color:oklch(42% .16 262);background:oklch(93% .06 262/.5)}.ent-backdrop{z-index:70;background:oklch(17.8% .028 260/.35);justify-content:flex-end;animation:.16s ease-out fadeIn;display:flex;position:fixed;inset:0}.ent-panel{background:var(--surface);width:min(560px,100vw);height:100vh;box-shadow:var(--shadow-modal);flex-direction:column;animation:.22s cubic-bezier(.22,.61,.36,1) slideInRight;display:flex;overflow-y:auto}@keyframes slideInRight{0%{opacity:.5;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.ent-head{border-bottom:1px solid var(--line);background:var(--surface);z-index:2;justify-content:space-between;align-items:center;padding:14px 20px;display:flex;position:sticky;top:0}.ent-crumb{color:var(--muted);align-items:center;gap:8px;font-size:.78rem;display:flex}.ent-type{color:var(--ink);font-weight:600}.ent-id{font-family:var(--font-mono);opacity:.7;font-size:.72rem}.ent-close{border:1px solid var(--line);background:var(--bg-subtle);width:32px;height:32px;color:var(--muted);border-radius:var(--radius-md);cursor:pointer;font-size:1.1rem;line-height:1}.ent-close:hover{background:var(--bg-sunken);color:var(--ink)}.ent-title-row{padding:20px 24px 8px}.ent-title{letter-spacing:-.015em;margin:0;font-size:1.5rem;font-weight:700;line-height:1.2}.ent-subtitle{color:var(--muted);margin-top:4px;font-size:.875rem}.ent-pills{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.ent-pill{border:1px solid var(--line);background:var(--bg-sunken);color:var(--muted);border-radius:999px;align-items:center;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.ent-pill-success{color:oklch(40% .14 149);background:oklch(95% .06 149/.6);border-color:#0000}.ent-pill-warning{color:oklch(42% .15 70);background:oklch(95% .08 70/.6);border-color:#0000}.ent-pill-danger{color:oklch(45% .18 27);background:oklch(95% .06 27/.5);border-color:#0000}.ent-pill-info{color:oklch(42% .16 262);background:oklch(93% .06 262/.5);border-color:#0000}.ent-actions{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:8px 24px 16px;display:flex}.ent-body{flex-direction:column;gap:20px;padding:20px 24px 48px;display:flex}.ent-section{background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--radius-xl);overflow:hidden}.ent-section-head{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.ent-section-body{background:var(--surface);padding:14px}.ent-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;display:grid}.ent-field{padding:4px 0}.ent-field-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:.68rem;font-weight:700}.ent-field-value{color:var(--ink);word-break:break-word;font-size:.9rem}.ent-field-value.mono{font-family:var(--font-mono);font-size:.82rem}.ent-empty{color:var(--faint)}.ent-note{white-space:pre-wrap;color:var(--ink);font-size:.9rem;line-height:1.5}.ent-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.ent-kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px 14px}.ent-kpi-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.66rem;font-weight:700}.ent-kpi-value{letter-spacing:-.015em;margin-top:4px;font-size:1.15rem;font-weight:700}.ent-kpi-success{border-color:oklch(90% .07 149/.5)}.ent-kpi-success .ent-kpi-value{color:oklch(40% .14 149)}.ent-kpi-warning{border-color:oklch(88% .09 70/.5)}.ent-kpi-warning .ent-kpi-value{color:oklch(42% .15 70)}.ent-kpi-danger{border-color:oklch(90% .08 27/.5)}.ent-kpi-danger .ent-kpi-value{color:oklch(45% .18 27)}@media (width<=700px){.ent-panel{width:100vw}.ent-fields{grid-template-columns:1fr}.ent-kpis{grid-template-columns:repeat(2,1fr)}}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:10px;display:flex}.toolbar-filters{flex:auto;grid-template-columns:minmax(220px,2fr) minmax(140px,1fr) minmax(140px,1fr) minmax(140px,1fr) auto;gap:10px;min-width:0;display:grid}.toolbar-filters label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;flex-direction:column;gap:4px;font-size:.72rem;font-weight:700;display:flex}.toolbar-filters label input,.toolbar-filters label select{text-transform:none;letter-spacing:normal;font-weight:400}.toolbar-filters>button{align-self:flex-end}.toolbar-primary{white-space:nowrap;flex:none;align-items:center;gap:8px;padding:9px 14px;display:inline-flex;box-shadow:0 2px 6px #12262040}.toolbar-primary:hover{box-shadow:0 4px 10px #1226204d}@media (width<=1000px){.toolbar-filters{grid-template-columns:repeat(2,1fr)}.toolbar-primary{justify-content:center;width:100%}}@media (width<=600px){.toolbar-filters{grid-template-columns:1fr}}.btn{align-items:center;gap:6px;display:inline-flex}.btn svg{flex:none}td .btn{padding:5px 10px;font-size:.8125rem}td .btn+.btn{margin-left:4px}.ent-edit-form{flex-direction:column;gap:20px;display:flex}.ent-edit-value input,.ent-edit-value select,.ent-edit-value textarea{width:100%;padding:7px 10px;font-size:.875rem}.ent-section-body>textarea{resize:vertical;width:100%;min-height:100px}.line-editor{flex-direction:column;gap:8px;display:flex}.line-editor-row{grid-template-columns:minmax(0,3fr) 80px 100px 90px 80px auto;align-items:center;gap:8px;display:grid}.line-editor-row input{padding:7px 10px;font-size:.8125rem}.line-editor-row .btn.danger,.line-editor-row .btn.secondary{padding:7px 9px}.line-editor-row-wide{grid-template-columns:minmax(0,3fr) 70px 90px 80px 70px auto}.line-editor-actions{gap:4px;display:inline-flex}.mono-small{font-family:var(--font-mono);font-size:.78rem}.upload-progress{background:var(--bg-sunken);border-radius:999px;height:6px;overflow:hidden}.upload-progress-bar{background:var(--secondary);border-radius:999px;height:100%;transition:width .18s}.docpv-backdrop{z-index:70;background:#1226208c;justify-content:center;align-items:center;padding:24px;animation:.16s ease-out fadeIn;display:flex;position:fixed;inset:0}.docpv-shell{background:var(--surface);border:1px solid var(--line);width:min(1100px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-modal);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.docpv-head{background:var(--bg-subtle);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.docpv-crumb{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.docpv-type{text-transform:uppercase;letter-spacing:.08em;background:var(--tertiary-soft);color:var(--tertiary-ink);border-radius:999px;padding:3px 10px;font-size:.68rem;font-weight:700}.docpv-id{font-family:var(--font-mono);color:var(--ink);font-size:.9rem;font-weight:700}.docpv-actions{gap:8px;display:inline-flex}.docpv-close{padding:7px 9px}.docpv-body{background:var(--bg-sunken);flex:auto;min-height:0;padding:20px;overflow:auto}.docpv-frame{background:var(--surface);border:1px solid var(--line);border-radius:8px;width:100%;min-height:calc(100vh - 220px);display:block;box-shadow:0 8px 24px #12262014}.docpv-versions{border-top:1px solid var(--line);background:var(--bg-subtle);max-height:180px;padding:14px 20px;overflow:auto}.docpv-versions-head{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);align-items:center;gap:6px;margin-bottom:10px;font-size:.72rem;font-weight:700;display:inline-flex}.docpv-version-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:6px 0;display:flex}.docpv-version-row:last-child{border-bottom:0}.docpv-version-row>div:first-child{align-items:center;gap:10px;display:inline-flex}.docpv-version-date{color:var(--muted);font-size:.82rem}@media (width<=700px){.docpv-shell{border-radius:0;width:100vw;max-height:100vh}.docpv-backdrop{padding:0}}.folders-strip{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;margin-bottom:14px;padding-bottom:12px;display:flex}.folders-strip .view-chip{background:var(--bg-subtle);border:1px solid var(--line);align-items:center;gap:6px;display:inline-flex}.folders-strip .view-chip:hover{background:var(--bg-sunken)}.folders-strip .view-chip.is-active{background:var(--primary-soft);color:var(--primary);border-color:var(--primary-soft)}.folders-strip .chip-count{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:999px;margin-left:4px;padding:1px 7px;font-size:.68rem;font-weight:700}.folders-strip .is-active .chip-count{background:var(--surface);color:var(--primary)}.folder-chip-wrap{align-items:center;display:inline-flex;position:relative}.folder-chip-wrap .view-chip{padding-right:24px}.folder-chip-delete{width:18px;height:18px;color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;transition:opacity .12s,background .12s,color .12s;display:inline-flex;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.folder-chip-wrap:hover .folder-chip-delete,.folder-chip-delete:focus-visible{opacity:1}.folder-chip-delete:hover{background:var(--danger);color:#fff}.list-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;padding:6px 0 10px;display:flex}.list-toolbar-left{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.list-toolbar-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:1.35rem;font-weight:500}.list-toolbar-views{align-items:center;gap:4px;display:inline-flex}.view-chip{border-radius:var(--radius-md);color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:6px 11px;font-size:.82rem;font-weight:600;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.view-chip:hover{background:var(--bg-sunken);color:var(--ink)}.view-chip.is-active{background:var(--surface);color:var(--ink);border-color:var(--line-strong);box-shadow:0 1px 3px #12262014}.list-toolbar-search{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg-sunken);color:var(--muted);align-items:center;gap:6px;min-width:220px;padding:6px 10px;display:inline-flex}.list-toolbar-search:focus-within{background:var(--bg);border-color:var(--primary);color:var(--ink)}.list-toolbar-search input{color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:.85rem}.list-toolbar-search input::placeholder{color:var(--muted)}.list-toolbar-filter{border:1px solid var(--line);border-radius:var(--radius-md);color:var(--muted);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:6px 11px;font-size:.82rem;font-weight:500;display:inline-flex}.list-toolbar-filter:hover{background:var(--bg-sunken);color:var(--ink)}.list-toolbar-filter.is-active{background:var(--primary-soft);color:var(--primary);border-color:var(--primary-soft)}.list-toolbar-actions{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.more-menu{display:inline-block;position:relative}.more-menu-trigger{border-radius:var(--radius-md);border:1px solid var(--line);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.more-menu-trigger:hover,.more-menu-trigger[aria-expanded=true]{background:var(--bg-sunken);color:var(--ink);border-color:var(--line-strong)}.more-menu-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);min-width:200px;box-shadow:var(--shadow);z-index:50;padding:4px;animation:.12s ease-out more-pop;position:absolute;top:calc(100% + 6px)}.more-menu-right{right:0}.more-menu-left{left:0}.more-menu-item{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-size:.86rem;display:flex}.more-menu-item:hover{background:var(--bg-subtle)}.more-menu-item.destructive{color:var(--danger)}.more-menu-item.destructive:hover{background:color-mix(in oklch, var(--danger) 8%, var(--surface))}@keyframes more-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.list-filters{grid-template-columns:minmax(260px,2fr) minmax(160px,1fr);gap:10px;margin-bottom:14px;padding:14px;animation:.16s ease-out fadeIn;display:grid}.list-filters label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;flex-direction:column;gap:4px;font-size:.68rem;font-weight:700;display:flex}.list-view{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:0;overflow:hidden}.list-view .table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.fibery-table{border-collapse:separate;border-spacing:0;width:100%;font-size:.875rem}.fibery-table thead th{z-index:1;background:var(--bg-subtle);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-right:1px solid var(--line);border-bottom:1px solid var(--line-strong);text-align:left;white-space:nowrap;padding:11px 16px;font-size:.68rem;font-weight:700;position:sticky;top:0}.fibery-table thead th:last-child{border-right:0}.fibery-table thead th.num{text-align:right}.fibery-table tbody td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink);padding:13px 16px}.fibery-table tbody td:last-child{border-right:0}.fibery-table tbody tr:last-child td{border-bottom:0}.fibery-table tbody tr:nth-child(2n) td{background:color-mix(in oklch, var(--bg-subtle) 45%, transparent)}.fibery-table tbody tr.row-clickable{cursor:pointer;transition:background .12s,box-shadow .12s;position:relative}.fibery-table tbody tr.row-clickable td:first-child{position:relative}.fibery-table tbody tr.row-clickable td:first-child:before{content:"";background:0 0;width:3px;transition:background .12s;position:absolute;top:0;bottom:0;left:0}.fibery-table tbody tr.row-clickable:hover td{background:color-mix(in oklch, var(--primary) 6%, var(--surface))}.fibery-table tbody tr.row-clickable:hover td:first-child:before{background:var(--primary)}.fibery-table tbody tr.row-clickable:focus-within td{background:color-mix(in oklch, var(--primary) 8%, var(--surface))}.fibery-table td.gutter,.fibery-table th.gutter{text-align:left;width:56px;color:var(--faint);font-family:var(--font-mono);background:var(--bg-subtle);font-size:.72rem}.fibery-table tbody tr:hover td.gutter{color:var(--muted)}.fibery-table td.num{font-variant-numeric:tabular-nums;text-align:right}.fibery-table td.row-actions .btn{padding:4px 9px;font-size:.78rem}.fibery-table td.row-actions{white-space:nowrap;text-align:right}.card>.table-wrap{margin:4px -4px}@media (width<=720px){.fibery-table thead th,.fibery-table tbody td{padding:11px 12px}.list-view .table-wrap{position:relative}.list-view .table-wrap:after{content:"";background:linear-gradient(to left, var(--surface), transparent);pointer-events:none;width:24px;position:absolute;top:0;bottom:0;right:0}}.icon-actions{gap:4px;display:inline-flex}.icon-btn{border-radius:var(--radius-md);border:1px solid var(--line);background:var(--surface);width:28px;height:28px;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.icon-btn:hover{background:var(--bg-sunken);color:var(--ink);border-color:var(--line-strong)}.icon-btn:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.icon-btn-danger{color:var(--danger);border-color:color-mix(in oklch, var(--danger) 25%, var(--line))}.icon-btn-danger:hover{background:color-mix(in oklch, var(--danger) 10%, var(--surface));color:var(--danger);border-color:var(--danger)}.icon-btn-success{color:var(--success);border-color:color-mix(in oklch, var(--success) 25%, var(--line))}.icon-btn-success:hover{background:color-mix(in oklch, var(--success) 10%, var(--surface));color:var(--success);border-color:var(--success)}.chip-tag{background:var(--tertiary-soft);color:var(--tertiary-ink);border:1px solid #0000;border-radius:6px;align-items:center;padding:2px 10px;font-size:.78rem;font-weight:500;display:inline-flex}.board-wrap{grid-auto-columns:minmax(260px,1fr);grid-auto-flow:column;gap:12px;padding-bottom:8px;display:grid;overflow-x:auto}.board-col{background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--radius-xl);flex-direction:column;gap:10px;min-height:220px;padding:12px;display:flex}.board-col-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.board-col-count{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.board-col-body{flex-direction:column;gap:8px;display:flex}.board-col-empty{text-align:center;color:var(--faint);padding:20px 10px;font-size:.82rem}.board-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);cursor:pointer;padding:10px 12px;transition:border-color .12s,transform 60ms,box-shadow .12s}.board-card:hover{border-color:var(--line-strong);box-shadow:0 2px 6px #1226200f}.board-card:active{transform:translateY(1px)}.board-card-num{font-family:var(--font-mono);color:var(--muted);font-size:.72rem;font-weight:600}.board-card-client{color:var(--ink);margin-top:2px;font-weight:600}.board-card-total{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:4px;font-size:.82rem}.board-card{-webkit-user-select:none;user-select:none}.board-card.is-dragging{opacity:.45;box-shadow:0 8px 16px #1226201a}.board-col.is-dropping{background:var(--primary-soft);border-color:var(--primary);box-shadow:inset 0 0 0 2px var(--primary)}.board-col.is-dropping .board-col-empty{color:var(--primary);font-style:normal;font-weight:600}.board-card[draggable=true]{cursor:grab}.board-card[draggable=true]:active{cursor:grabbing}.source-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex:none;align-items:center;padding:2px 8px;font-size:.68rem;font-weight:700;display:inline-flex}.source-badge.source-app{background:color-mix(in oklch, var(--primary) 10%, transparent);color:var(--primary);border:1px solid color-mix(in oklch, var(--primary) 25%, transparent)}.num2-head{max-width:760px;margin:4px 0 24px}.num2-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0 0 6px;font-size:1.75rem;font-weight:500}.num2-lede{color:var(--muted);margin:0 0 14px;font-size:.95rem}.num2-guide{border:1px dashed var(--line-strong);border-radius:var(--radius-md);background:0 0;padding:0;font-size:.86rem}.num2-guide summary{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 14px}.num2-guide summary:hover{color:var(--ink)}.num2-guide[open] summary{color:var(--ink);border-bottom:1px dashed var(--line-strong)}.num2-guide-body{flex-direction:column;gap:12px;padding:14px 16px;display:flex}.num2-tokens{flex-wrap:wrap;gap:6px;display:flex}.num2-tokens code,.num2-guide code,.num2-examples code{font-family:var(--font-mono);background:var(--bg-subtle);border:1px solid var(--line);color:var(--primary);border-radius:4px;padding:1px 6px;font-size:.78rem}.num2-guide ul{color:var(--ink);margin:0;padding-left:18px;line-height:1.6}.num2-examples{color:var(--muted);gap:4px;display:grid}.num2-examples strong{color:var(--ink);font-family:var(--font-mono)}.num2-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.num2-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;padding:18px;display:flex}.num2-card-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.num2-kind{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;font-size:1.1rem;font-weight:500}.num2-issued{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:600}.num2-preview{background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.num2-preview-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.66rem;font-weight:700}.num2-preview-value{font-family:var(--font-mono);color:var(--ink);letter-spacing:.02em;font-size:1.3rem;font-weight:700}.num2-row{grid-template-columns:1.4fr 1fr;gap:10px;display:grid}.num2-row label,.num2-advanced label{flex-direction:column;gap:4px;display:flex}.num2-row label>span,.num2-advanced label>span{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:600}.num2-row input,.num2-advanced input,.num2-advanced select{padding:7px 10px;font-size:.9rem}.num2-chips{flex-wrap:wrap;gap:6px;display:flex}.num2-chip{border:1px dashed var(--line-strong);color:var(--muted);font-family:var(--font-mono);cursor:pointer;background:0 0;border-radius:999px;padding:3px 10px;font-size:.74rem}.num2-chip:hover{color:var(--primary);border-color:var(--primary);background:color-mix(in oklch, var(--primary) 8%, transparent)}.num2-advanced-toggle{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:0;align-self:flex-start;padding:2px 0;font-size:.82rem}.num2-advanced-toggle:hover{color:var(--primary)}.num2-advanced{background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--radius-md);grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px;display:grid}.num2-card-foot{justify-content:flex-end;margin-top:2px;display:flex}.num2-card-foot .btn:disabled{opacity:.6;cursor:default}.num2-danger{background:color-mix(in oklch, var(--danger) 6%, var(--surface));border:1px solid color-mix(in oklch, var(--danger) 30%, var(--line));border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:32px;padding:18px 20px;display:flex}.num2-danger h3{letter-spacing:.08em;text-transform:uppercase;color:var(--danger);margin:0 0 4px;font-size:.72rem;font-weight:700}.num2-danger p{max-width:56ch;color:var(--muted);margin:0;font-size:.86rem;line-height:1.5}.num2-danger p strong{color:var(--ink)}.me-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:18px 20px 20px;display:flex}.me-identity{align-items:center;gap:14px;min-width:0;display:inline-flex}.me-avatar{background:var(--bg-sunken);width:56px;height:56px;color:var(--muted);font-size:1.4rem;font-weight:700;font-family:var(--font-display);box-shadow:inset 0 0 0 1px var(--line);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.me-avatar img{object-fit:cover;width:100%;height:100%;display:block}.me-identity-text{min-width:0}.me-name{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;font-size:1.5rem;font-weight:500;line-height:1.15}.me-role{color:var(--muted);margin-top:2px;font-size:.88rem}.me-dot{color:var(--faint);margin:0 2px}.me-tabs{background:var(--bg-subtle);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.me-tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 16px;font-size:.85rem;font-weight:500}.me-tab:hover{color:var(--ink)}.me-tab.is-active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0f172a0f, 0 0 0 1px var(--line)}.period-bar{margin:8px 0 22px}.period-bar-head{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.period-bar-sentence{color:var(--muted);align-items:baseline;gap:8px;font-size:.95rem;display:inline-flex}.period-bar-sentence svg{color:var(--muted);flex:none;transform:translateY(2px)}.period-bar-sentence em{font-family:var(--font-display);color:var(--ink);font-size:1.05rem;font-weight:500}.period-bar-clear{color:var(--muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0 0 0 4px;font-size:.82rem;text-decoration:underline}.period-bar-clear:hover{color:var(--primary)}.period-bar-custom-toggle{color:var(--muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;margin-left:auto;padding:4px 2px;font-size:.82rem;text-decoration:underline}.period-bar-custom-toggle:hover{color:var(--primary)}.period-bar-chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:inline-flex}.period-chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:500;transition:color .12s,border-color .12s,background .12s}.period-chip:hover{color:var(--ink);border-color:var(--line-strong)}.period-chip.is-active{background:var(--ink);color:var(--surface);border-color:var(--ink)}.period-bar-dates{background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--radius-md);align-items:center;gap:12px;margin-top:14px;padding:12px 14px;display:inline-flex}.period-bar-dates label{color:var(--muted);align-items:center;gap:8px;font-size:.82rem;display:inline-flex}.period-bar-dates input{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:6px 10px;font-size:.86rem}.period-bar-arrow{color:var(--faint)}.ws-backdrop{background:var(--bg);z-index:90;animation:.16s ease-out fadeIn;position:fixed;inset:0}.ws-shell{background:var(--bg);flex-direction:column;height:100vh;display:flex}.ws-crumb{border-bottom:1px solid var(--line);background:var(--surface);flex:none;align-items:center;gap:10px;padding:10px 20px;display:flex}.ws-crumb-back{color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;align-items:center;gap:6px;padding:4px 8px;font-size:.82rem;font-weight:500;display:inline-flex}.ws-crumb-back:hover{background:var(--bg-sunken);color:var(--ink)}.ws-crumb-sep{color:var(--faint);font-size:.82rem}.ws-crumb-type{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.72rem;font-weight:700}.ws-crumb-id{font-family:var(--font-mono);color:var(--ink);font-size:.78rem;font-weight:600}.ws-crumb-status{text-transform:uppercase;letter-spacing:.06em;background:var(--bg-sunken);color:var(--muted);border-radius:999px;align-items:center;padding:3px 10px;font-size:.7rem;font-weight:700;display:inline-flex}.ws-status-success{color:oklch(40% .14 149);background:oklch(95% .06 149/.6)}.ws-status-warning{color:oklch(42% .15 70);background:oklch(95% .08 70/.6)}.ws-status-danger{color:oklch(45% .18 27);background:oklch(95% .06 27/.5)}.ws-status-info{background:var(--secondary-soft);color:var(--secondary)}.ws-crumb-actions{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.ws-crumb-close{border-radius:var(--radius-md);border:1px solid var(--line);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.ws-crumb-close:hover{background:var(--bg-sunken);color:var(--ink)}.ws-body{flex:auto;grid-template-columns:minmax(0,1fr) 340px;min-height:0;display:grid;overflow:hidden}.ws-body-no-rail{grid-template-columns:1fr}.ws-main{background:var(--bg);padding:36px 56px 72px;overflow-y:auto}.a4-canvas{background:linear-gradient(180deg, var(--bg-subtle), var(--bg-sunken));border-radius:var(--radius-lg);border:1px solid var(--line);justify-content:center;padding:28px 20px;display:flex;overflow-x:auto;max-width:none!important}.a4-paper{background:#fff;border-radius:2px;flex:none;overflow:hidden;box-shadow:0 10px 30px #0f172a1f,0 0 0 1px #0f172a0d}.ws-rail{background:var(--bg-subtle);border-left:1px solid var(--line);flex-direction:column;gap:20px;padding:24px 20px 48px;display:flex;overflow-y:auto}.ws-title-area{max-width:none;margin:0 0 24px}.ws-title{letter-spacing:-.025em;color:var(--ink);margin:0;font-size:2rem;font-weight:700;line-height:1.15}.ws-title-input{width:100%;font:inherit;color:inherit;border-radius:var(--radius-sm);background:0 0;border:0;outline:0;padding:2px 4px}.ws-title-input:focus{background:var(--surface);box-shadow:0 0 0 3px #0c575224}.ws-title-input:hover:not(:focus){background:var(--bg-sunken)}.ws-subtitle{color:var(--muted);margin-top:6px;font-size:.95rem}.ws-content{flex-direction:column;gap:28px;max-width:none;margin:0;display:flex}.ws-section-head{border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;display:flex}.ws-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--ink);align-items:center;gap:8px;margin:0;font-size:.82rem;font-weight:700;display:inline-flex}.ws-section-title:before{content:"";background:var(--primary);border-radius:2px;width:3px;height:14px}.ws-section+.ws-section{margin-top:8px}.ws-section-body table{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden}.ws-section-body table th{background:var(--bg-subtle)}.link-reset{color:inherit;cursor:pointer;border-bottom:1px dashed #0000;text-decoration:none}.link-reset:hover{color:var(--primary);border-bottom-color:var(--primary)}.sidebar-user .label,.ws-created-by .label,.chart-axis .label,.label.no-upper{text-transform:none;letter-spacing:0}.ws-row{border-bottom:1px dashed #0000;grid-template-columns:180px 1fr;align-items:center;gap:16px;padding:7px 0;transition:border-color .12s;display:grid}.ws-row:hover{border-bottom-color:var(--line)}.ws-row-key{color:var(--muted);align-items:center;gap:8px;font-size:.82rem;display:flex}.ws-row-icon{opacity:.75;align-items:center;display:inline-flex}.ws-row-label{font-weight:500}.ws-row-value input,.ws-row-value select,.ws-row-value textarea{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;box-shadow:none;padding:7px 10px;font-size:.9rem}.ws-row-value input:hover,.ws-row-value select:hover,.ws-row-value textarea:hover{border-color:var(--muted)}.ws-row-value input:focus,.ws-row-value select:focus,.ws-row-value textarea:focus{border-color:var(--secondary);outline:none;box-shadow:0 0 0 3px #ff6d5a24}.ws-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:14px 16px;position:relative;overflow:hidden}.ws-card:before{content:"";background:var(--secondary);height:3px;position:absolute;top:0;left:0;right:0}.ws-card-primary:before{background:var(--primary)}.ws-card-tertiary:before{background:var(--tertiary)}.ws-card-danger:before{background:var(--danger)}.ws-card-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px;font-size:.68rem;font-weight:700}.ws-card-body{color:var(--ink);font-size:.95rem;font-weight:600}.ws-rail-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px;font-size:.68rem;font-weight:700}.ws-chip-row{flex-wrap:wrap;gap:6px;display:flex}.ws-chip{background:var(--bg-sunken);color:var(--muted);cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:.75rem;font-weight:600;transition:all .14s;display:inline-flex}.ws-chip:disabled{cursor:default}.ws-chip:not(:disabled):hover{background:var(--surface);border-color:var(--line);color:var(--ink)}.ws-chip-dot{background:var(--muted);border-radius:999px;width:7px;height:7px}.ws-chip.is-active{background:var(--primary-soft);color:var(--primary);border-color:var(--primary-soft)}.ws-chip-success .ws-chip-dot{background:oklch(50% .14 149)}.ws-chip-warning .ws-chip-dot{background:oklch(55% .15 70)}.ws-chip-danger .ws-chip-dot{background:oklch(55% .18 27)}.ws-chip-info .ws-chip-dot{background:var(--secondary)}.ws-chip-success.is-active{color:oklch(40% .14 149);background:oklch(95% .06 149/.5);border-color:oklch(85% .08 149/.5)}.ws-chip-warning.is-active{color:oklch(42% .15 70);background:oklch(95% .08 70/.5);border-color:oklch(85% .1 70/.5)}.ws-chip-danger.is-active{color:oklch(45% .18 27);background:oklch(95% .06 27/.5);border-color:oklch(85% .1 27/.5)}.ws-chip-info.is-active{background:var(--secondary-soft);color:var(--secondary);border-color:var(--secondary-soft)}.ws-kv-list{flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.ws-kv-row{justify-content:space-between;gap:10px;display:flex}.ws-kv-row dt{color:var(--muted);margin:0;font-size:.78rem}.ws-kv-row dd{color:var(--ink);text-align:right;margin:0;font-size:.86rem;font-weight:600}.ws-activity{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:12px}.ws-activity .ws-rail-section-title{margin:0 2px 10px}.ws-activity-list{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex-direction:column;gap:10px;max-height:240px;margin:0;padding:0 4px 0 0;list-style:none;display:flex;overflow-y:auto}.ws-activity-list::-webkit-scrollbar{width:6px}.ws-activity-list::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.ws-activity-list li{align-items:flex-start;gap:10px;display:flex;position:relative}.ws-activity-list li:not(:last-child):before{content:"";background:var(--line);width:1px;position:absolute;top:14px;bottom:-10px;left:3.5px}.ws-activity-dot{background:var(--primary);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in oklch, var(--primary) 15%, transparent);z-index:1;border-radius:999px;flex:none;margin-top:5px;position:relative}.ws-activity-text{flex:1;min-width:0;font-size:.82rem;line-height:1.4}.ws-activity-who{color:var(--ink);font-weight:700}.ws-activity-what{color:var(--muted)}.ws-activity-when{color:var(--faint);margin-top:2px;font-size:.72rem}.ws-created-by{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);align-items:center;gap:10px;padding:10px 12px;display:flex}.ws-created-by-avatar{background:var(--primary);width:32px;height:32px;color:var(--primary-foreground);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:.86rem;font-weight:700;display:inline-flex}.ws-created-by-name{color:var(--ink);font-size:.86rem;font-weight:700}.ws-created-by-date{color:var(--muted);margin-top:2px;font-size:.75rem}.embedded-preview-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);width:100%;overflow:hidden;box-shadow:0 4px 16px #1226200f}.embedded-preview{background:var(--surface);border:0;width:100%;display:block}.user-row{align-items:center;gap:10px;display:inline-flex}.user-avatar{background:var(--primary);width:28px;height:28px;color:var(--primary-foreground);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:inline-flex}.ws-line-editor{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.ws-line-editor-head,.ws-line-editor-row{grid-template-columns:minmax(220px,3fr) 72px 108px 80px 80px auto;align-items:center;gap:10px;padding:10px 14px;display:grid}.ws-line-editor-head{background:var(--bg-subtle);border-bottom:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;font-weight:700}.ws-line-editor-head>span:nth-child(n+2):nth-child(-n+5){text-align:right}.ws-line-editor-row{border-bottom:1px solid var(--line)}.ws-line-editor-row:last-of-type{border-bottom:0}.ws-line-editor-row>div:first-child{flex-direction:column;gap:6px;min-width:0;display:flex}.ws-line-editor-row input{border:1px solid var(--line);background:var(--surface);box-sizing:border-box;border-radius:6px;width:100%;padding:7px 10px;font-size:.86rem}.line-inclus-chip{letter-spacing:.02em;border:1px dashed var(--line);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:11px;font-weight:600}.line-inclus-chip:hover{border-color:var(--secondary);color:var(--secondary)}.line-inclus-chip.on{background:var(--secondary);border-color:var(--secondary);color:#fff;border-style:solid}.line-inclus-chip.on:hover{opacity:.9}.ws-line-editor-row input:hover{border-color:var(--muted)}.ws-line-editor-row input:focus{border-color:var(--secondary);outline:none;box-shadow:0 0 0 2px #ff6d5a26}.ws-line-editor-row>input:nth-child(n+2):nth-child(-n+5){text-align:right;font-variant-numeric:tabular-nums}.line-editor-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.line-editor-actions .btn{border-radius:6px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.line-editor-actions .btn.danger{color:var(--danger,#e03e3e);border:1px solid var(--line);background:0 0}.line-editor-actions .btn.danger:hover{border-color:var(--danger,#e03e3e);background:#e03e3e14}.ws-line-add{background:var(--bg-subtle);border-top:1px solid var(--line);padding:10px 14px}@media (width<=1000px){.ws-body{grid-template-columns:1fr}.ws-rail{border-left:0;border-top:1px solid var(--line)}.ws-main{padding:24px 20px 48px}.ws-row{grid-template-columns:1fr;gap:4px}}@media (width<=760px){.ws-line-editor-head{display:none}.ws-line-editor-row{grid-template-columns:1fr 1fr;gap:8px}.ws-line-editor-row>input:first-child{grid-column:1/-1}.ws-line-editor-row>.line-editor-actions{grid-column:1/-1;justify-content:flex-end}}@media (width<=800px){.line-editor-row{grid-template-columns:1fr 1fr}.line-editor-row input:first-child{grid-column:1/-1}.line-editor-row .btn.danger{grid-column:2/3;justify-self:end}}.value,.num,.kpi .value,.quarter-metric-value,td.num,.board-card .num,.ent-kpi .value{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.card{margin-bottom:16px;padding:18px}.card:hover{border-color:color-mix(in oklch, var(--line-strong) 70%, var(--primary) 10%)}.btn{justify-content:center;align-items:center;gap:6px;padding:8px 14px;line-height:1.1;display:inline-flex;box-shadow:0 1px #0f172a0a,inset 0 -1px #0000000f}.btn.secondary{box-shadow:0 1px #0f172a0a}.btn:hover{box-shadow:0 2px 6px -2px #0f172a2e,inset 0 -1px #0000000f}.btn.secondary:hover{border-color:var(--primary);color:var(--primary)}.btn.danger:hover{box-shadow:0 2px 8px -2px color-mix(in oklch, var(--danger) 55%, transparent)}.btn-row,.button-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px color-mix(in oklch, var(--primary) 22%, transparent);border-color:var(--primary)}.kpi{flex-direction:column;justify-content:space-between;min-height:108px;padding:20px 22px;transition:transform .18s,box-shadow .18s;display:flex}.kpi:hover{transform:translateY(-2px);box-shadow:0 10px 26px -14px #0f172a4d}.kpi .kpi-head{margin-bottom:10px}.kpi .value{letter-spacing:-.01em;font-size:1.75rem;font-weight:700}.kpi .kpi-hint{margin-top:8px}h2{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);border-top:1px solid var(--line);align-items:baseline;gap:10px;margin:36px 0 14px;padding-top:28px;font-size:1.35rem;font-weight:500;display:flex}h2:before{content:"";background:var(--primary);opacity:.8;width:20px;height:1px;display:inline-block;transform:translateY(-6px)}h2:first-child,main>:first-child+h2{border-top:0;margin-top:20px;padding-top:0}.dash-identity{align-items:center;gap:14px;padding:6px 0 14px;display:inline-flex}.dash-identity-avatar{background:var(--bg-sunken);width:48px;height:48px;color:var(--muted);font-size:1.1rem;font-weight:700;font-family:var(--font-display);box-shadow:inset 0 0 0 1px var(--line);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.dash-identity-avatar img{object-fit:cover;width:100%;height:100%;display:block}.dash-identity-name{color:var(--ink);font-size:1rem;font-weight:700;line-height:1.2}.dash-identity-meta{color:var(--muted);margin-top:2px;font-size:.84rem}.dash-identity-dot{color:var(--faint);margin:0 6px}.quarters-year-bar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:4px 0 20px;padding:10px 14px;display:flex}.quarters-year-nav{align-items:center;gap:8px;display:inline-flex}.quarters-year-input{text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:6px;width:90px;padding:6px 8px;font-size:1.2rem;font-weight:700}.quarters-year-actions{gap:8px;display:inline-flex}.qtree2{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.qtree2-list{margin:0;padding:0;list-style:none}.qtree2-item+.qtree2-item{border-top:1px solid var(--line)}.qtree2-row{cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:20px 10px 1fr auto auto auto;align-items:center;gap:14px;width:100%;padding:14px 18px;display:grid}.qtree2-row:hover{background:var(--bg-subtle)}.qtree2-caret{color:var(--muted);display:inline-flex}.qtree2-mark{border-radius:50%;width:10px;height:10px}.qtree2-title{color:var(--ink);font-size:.95rem;font-weight:600}.qtree2-range{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.qtree2-amount{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:700}.qtree2-actions{gap:4px;display:inline-flex}.qtree2-expand{background:var(--bg-subtle);border-top:1px dashed var(--line);padding:4px 18px 18px 48px}.qtree2-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:12px;display:grid}.qstat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:10px 12px}.qstat-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:700}.qstat-value{color:var(--ink);font-variant-numeric:tabular-nums;margin-top:2px;font-size:1.05rem;font-weight:700}.qstat-hint{color:var(--muted);margin-top:2px;font-size:.74rem}.qstat-success .qstat-value{color:var(--success)}.qstat-warning .qstat-value{color:oklch(46% .15 70)}.qtree2-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:.82rem;display:flex}.dash2-layout{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:24px;display:grid}@media (width<=1000px){.dash2-layout{grid-template-columns:1fr}}.dash2-nav{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:2px;padding:8px;display:flex;position:sticky;top:20px}.dash2-nav-item{text-align:left;cursor:pointer;border-radius:var(--radius-md);color:var(--muted);background:0 0;border:0;grid-template-columns:28px 1fr;align-items:center;gap:10px;padding:10px 12px;transition:background .12s,color .12s;display:grid}.dash2-nav-item:hover{background:var(--bg-subtle);color:var(--ink)}.dash2-nav-item.is-active{background:var(--primary-soft);color:var(--primary-soft-ink)}.dash2-nav-icon{background:var(--bg-sunken);width:28px;height:28px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.dash2-nav-item.is-active .dash2-nav-icon{background:color-mix(in oklch, var(--primary) 20%, var(--surface));color:var(--primary)}.dash2-nav-copy{flex-direction:column;min-width:0;display:flex}.dash2-nav-label{font-size:.9rem;font-weight:600}.dash2-nav-hint{color:var(--muted);font-size:.72rem;font-weight:500}.dash2-nav-item.is-active .dash2-nav-hint{color:var(--primary-soft-ink);opacity:.8}.dash2-panel{flex-direction:column;gap:20px;min-width:0;display:flex}.dash2-header h2{color:var(--ink);letter-spacing:-.02em;text-transform:none;border:0;margin:0 0 4px;padding:0;font-size:1.5rem;font-weight:800;display:block}.dash2-header h2:before{content:none}.dash2-header p{color:var(--muted);max-width:65ch;margin:0;font-size:.92rem}.dash2-kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}@media (width<=820px){.dash2-kpi-row{grid-template-columns:repeat(2,1fr)}}.dash2-split{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=820px){.dash2-split{grid-template-columns:1fr}}.dash2-aging{flex-direction:column;gap:14px;display:flex}.dash2-aging-row{flex-direction:column;gap:4px;display:flex}.dash2-aging-head{justify-content:space-between;align-items:baseline;font-size:.88rem;display:flex}.dash2-aging-amount{font-variant-numeric:tabular-nums;font-weight:700}.dash2-aging-bar{background:var(--bg-sunken);border-radius:999px;height:8px;overflow:hidden}.dash2-aging-bar>div{border-radius:999px;height:100%;transition:width .24s}.dash2-aging-hint{color:var(--muted);font-size:.76rem}.dash2-rec-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.dash-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}@media (width<=1100px){.dash-grid{grid-template-columns:1fr}}.dash-main{flex-direction:column;gap:20px;min-width:0;display:flex}.dash-kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}@media (width<=820px){.dash-kpi-row{grid-template-columns:repeat(2,1fr)}}.kpi-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:6px;padding:16px 18px;transition:transform .12s,box-shadow .12s;display:flex}.kpi-tile:hover{transform:translateY(-1px);box-shadow:0 8px 20px -12px #0f172a33}.kpi-tile-head{justify-content:space-between;align-items:center;display:flex}.kpi-tile-label{color:var(--muted);font-size:.78rem;font-weight:600}.kpi-tile-icon{background:var(--bg-sunken);width:22px;height:22px;color:var(--muted);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.kpi-tile-value{color:var(--ink);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700;line-height:1.1}.kpi-tile-sublabel{color:var(--muted);font-size:.76rem}.kpi-tile-success .kpi-tile-icon{background:color-mix(in oklch, var(--success) 15%, transparent);color:var(--success)}.kpi-tile-warning .kpi-tile-icon{background:color-mix(in oklch, var(--warning) 20%, transparent);color:oklch(42% .15 70)}.kpi-tile-danger .kpi-tile-icon{background:color-mix(in oklch, var(--danger) 15%, transparent);color:var(--danger)}.kpi-tile-info .kpi-tile-icon{background:color-mix(in oklch, var(--info) 15%, transparent);color:var(--info)}.dash-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}.dash-card h3{color:var(--ink);letter-spacing:-.01em;text-transform:none;border:0;margin:0 0 2px;padding:0;font-size:1rem;font-weight:700;display:block}.dash-card h3:before{content:none}.dash-card>p{color:var(--muted);margin:0 0 16px;font-size:.82rem}.dash-empty{color:var(--muted);text-align:center;padding:20px 0;font-size:.86rem}.dash-looking-back header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.dash-looking-back header>div p{color:var(--muted);margin:2px 0 0;font-size:.82rem}.dash-segmented{background:var(--bg-sunken);border-radius:999px;padding:3px;display:inline-flex}.dash-segmented button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 14px;font-size:.8rem;font-weight:600}.dash-segmented button.is-active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0f172a0f, 0 0 0 1px var(--line)}.dash-bars{border-bottom:1px dashed var(--line);grid-template-columns:repeat(12,1fr);align-items:end;gap:10px;height:180px;padding:10px 0 0;display:grid}.dash-bar-col{flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.dash-bar-stack{border-radius:4px 4px 0 0;flex-direction:column-reverse;width:100%;max-width:32px;transition:filter .12s;display:flex;overflow:hidden}.dash-bar-stack:hover{filter:brightness(.95)}.dash-bar-stack>div{width:100%}.dash-bar-label{color:var(--muted);text-transform:capitalize;font-size:.68rem}.dash-legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:14px;font-size:.78rem;display:flex}.dash-legend-item{align-items:center;gap:6px;display:inline-flex}.dash-legend-dot{border-radius:50%;width:10px;height:10px;display:inline-block}.dash-split{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=820px){.dash-split{grid-template-columns:1fr}}.dash-donut-wrap{grid-template-columns:160px 1fr;align-items:center;gap:20px;display:grid}.dash-donut-legend{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.dash-donut-legend li{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.dash-donut-label{color:var(--ink);font-size:.86rem}.dash-donut-value{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.82rem}.dash-top-list ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.dash-top-row{justify-content:space-between;align-items:baseline;display:flex}.dash-top-label{color:var(--ink);font-size:.9rem;font-weight:500}.dash-top-value{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:700}.dash-top-bar{background:var(--bg-sunken);border-radius:999px;height:6px;margin-top:4px;overflow:hidden}.dash-top-bar>div{background:var(--primary);border-radius:999px;height:100%}.dash-top-hint{color:var(--muted);margin-top:2px;font-size:.72rem}.dash-timeline{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);max-height:calc(100vh - 32px);box-shadow:var(--shadow-sm);padding:18px 16px;position:sticky;top:16px;overflow-y:auto}.dash-timeline-head{margin-bottom:10px}.dash-timeline-head h3{color:var(--ink);margin:0;font-size:1rem;font-weight:700}.dash-timeline-head .label{color:var(--muted);margin-top:2px;font-size:.76rem;display:block}.dash-timeline-list{flex-direction:column;gap:14px;display:flex}.dash-timeline-day{flex-direction:column;gap:8px;display:flex}.dash-timeline-day-head{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;font-size:.68rem;font-weight:700}.dash-timeline-day:first-child .dash-timeline-day-head{border-top:0;padding-top:0}.dash-timeline-item{grid-template-columns:28px 1fr auto;align-items:center;gap:10px;display:grid}.dash-timeline-icon{border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.dash-timeline-copy{min-width:0}.dash-timeline-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;font-weight:600;overflow:hidden}.dash-timeline-subtitle{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;overflow:hidden}.dash-timeline-amount{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.recurring-banner{background:var(--primary-soft);border:1px solid color-mix(in oklch, var(--primary) 25%, transparent);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:10px 0 18px;padding:14px 18px;display:flex}.recurring-banner-copy{flex-direction:column;gap:2px;display:flex}.recurring-banner-copy strong{color:var(--primary-soft-ink);font-size:.95rem}.recurring-banner-copy span{color:var(--muted);font-size:.84rem}.dash-tabs{background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--radius-lg);gap:2px;margin:18px 0 24px;padding:4px;display:flex;overflow-x:auto}.dash-tab{text-align:left;cursor:pointer;border-radius:var(--radius-md);min-width:160px;color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1 1 0;gap:2px;padding:10px 14px;transition:background .12s,color .12s;display:flex}.dash-tab:hover{color:var(--ink);background:color-mix(in oklch, var(--surface) 70%, transparent)}.dash-tab.is-active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px #0f172a0d, 0 0 0 1px var(--line)}.dash-tab-label{font-size:.9rem;font-weight:600}.dash-tab-hint{color:var(--muted);font-size:.72rem;font-weight:500}.dash-tab.is-active .dash-tab-hint{color:var(--primary)}@media (width<=720px){.dash-tab{min-width:140px}}.greeting-block{padding:10px 0 16px}.greeting-salutation{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;font-size:clamp(1.6rem,2.4vw + 1rem,2.3rem);font-weight:500;line-height:1.1}.greeting-salutation em{color:var(--primary);font-weight:500}.greeting-sub{color:var(--muted);max-width:56ch;margin-top:8px;font-size:.95rem}.kpi .value{font-size:1.55rem}.kpi-success{background:linear-gradient(180deg, color-mix(in oklch, var(--success) 7%, var(--surface)) 0%, var(--surface) 70%)}.kpi-warning{background:linear-gradient(180deg, color-mix(in oklch, var(--warning) 8%, var(--surface)) 0%, var(--surface) 70%)}.kpi-danger{background:linear-gradient(180deg, color-mix(in oklch, var(--danger) 7%, var(--surface)) 0%, var(--surface) 70%)}.kpi-info{background:linear-gradient(180deg, color-mix(in oklch, var(--info) 7%, var(--surface)) 0%, var(--surface) 70%)}td.num,th.num,.num{text-align:right;font-variant-numeric:tabular-nums}.status-pill{gap:6px}.status-pill:before{content:"";opacity:.7;background:currentColor;border-radius:999px;width:6px;height:6px}.chip-tag{background:var(--bg-subtle);color:var(--ink);border:1px solid var(--line);border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.78rem;font-weight:500;display:inline-flex}.view-chip,.ws-chip{min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:6px;padding:7px 12px;font-size:.82rem;font-weight:600;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.view-chip:hover,.ws-chip:hover{background:var(--bg-sunken);color:var(--ink)}.view-chip.is-active{background:var(--primary-soft);color:var(--primary-soft-ink);border-color:color-mix(in oklch, var(--primary) 25%, transparent)}.ws-chip-default.is-active{background:var(--bg-sunken);color:var(--ink);border-color:var(--line-strong)}.navlink{position:relative}.navlink.active{background:var(--primary-soft);color:var(--primary-soft-ink)}.navlink.active:before{content:"";background:var(--primary);border-radius:2px;width:3px;position:absolute;top:6px;bottom:6px;left:-8px}.shell.collapsed .navlink.active:before{display:none}.ent-panel{box-shadow:var(--shadow-modal);border-left:1px solid var(--line-strong)}.ent-section{border-top:1px solid var(--line);margin:0;padding:18px 24px}.ent-section:first-of-type{border-top:0}.ent-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0;font-size:.78rem;font-weight:700}.ent-section-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ent-kpis{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;padding:12px 24px 0;display:grid}.board-wrap{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start;gap:12px;display:grid}.board-col{background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--radius-xl);min-height:160px;padding:10px}.board-col-head{justify-content:space-between;align-items:center;padding:2px 6px 8px;display:flex}.board-col-count{color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.board-col-body{gap:8px;display:grid}.board-col-empty{text-align:center;opacity:.6;padding:20px 8px}.board-col.is-dropping{background:color-mix(in oklch, var(--primary) 8%, var(--bg-subtle));border-color:var(--primary)}.board-card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);cursor:grab;-webkit-user-select:none;user-select:none;width:100%;padding:10px 12px;transition:transform .12s,box-shadow .12s,border-color .12s;display:block}.board-card:active{cursor:grabbing}.board-card.is-dragging{opacity:.5}.board-card:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 6px 14px -8px #0f172a33}.board-card-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.board-card-sub{color:var(--ink);opacity:.85;font-size:.82rem}.board-card-foot{margin-top:6px;font-size:.7rem}h1{position:relative}h2{color:var(--ink)}.page-topbar{border-bottom:1px solid var(--line);padding-bottom:10px}.page-crumb{color:var(--muted);align-items:center;gap:6px;font-size:.78rem;display:inline-flex}.page-crumb-space{color:var(--ink);font-weight:600}.page-crumb-sep{opacity:.5}::-webkit-scrollbar-thumb:hover{background:color-mix(in oklch, var(--primary) 30%, var(--line-strong));background-clip:content-box}.docs-shell{grid-template-columns:240px 1fr;align-items:start;gap:20px;display:grid}.docs-sidebar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);max-height:calc(100vh - 40px);box-shadow:var(--shadow-sm);padding:10px 8px 14px;position:sticky;top:20px;overflow:auto}.docs-main{flex-direction:column;gap:18px;min-width:0;display:flex}.docs-head{flex-direction:column;gap:12px;display:flex}.docs-head-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.docs-title{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:800}.docs-lede{color:var(--muted);max-width:56ch;margin:4px 0 0;font-size:.92rem}.docs-search input{background:var(--surface);border:1px solid var(--line);border-radius:999px;width:100%;padding:10px 14px;font-size:.9rem}.docs-search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in oklch, var(--primary) 20%, transparent);outline:none}.docs-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (width<=820px){.docs-kpis{grid-template-columns:repeat(2,1fr)}}.docs-kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;gap:2px;padding:14px 16px;display:flex}.docs-kpi-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.docs-kpi-value{color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:1.3rem;font-weight:700}.docs-kpi-strong{color:var(--primary)}.docs-sidebar-head{justify-content:space-between;align-items:center;padding:6px 10px 8px;display:flex}.docs-sidebar-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.75rem;font-weight:700}.docs-sidebar-add{width:22px;height:22px;color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.docs-sidebar-add:hover{background:var(--primary-soft);color:var(--primary-soft-ink);border-color:color-mix(in oklch, var(--primary) 25%, transparent)}.docs-tree{margin:0;padding:0;list-style:none}.docs-tree-node .docs-tree{margin-left:0}.docs-tree-row{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:4px;width:100%;padding:5px 8px;transition:background .12s;display:flex;position:relative}.docs-tree-row:hover{background:var(--bg-subtle)}.docs-tree-row.is-active{background:var(--primary-soft);color:var(--primary-soft-ink)}.docs-tree-row.is-active:before{content:"";background:var(--primary);border-radius:2px;width:2px;position:absolute;top:4px;bottom:4px;left:0}.docs-tree-caret,.docs-tree-caret-btn{width:16px;height:16px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.docs-tree-caret-btn:hover{color:var(--ink)}.docs-tree-main{color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:7px;min-width:0;padding:0;font-size:.84rem;font-weight:500;display:inline-flex}.docs-tree-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.docs-tree-count{color:var(--muted);background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:999px;min-width:18px;padding:1px 7px;font-size:.68rem;font-weight:700}.docs-tree-row.is-active .docs-tree-count{color:var(--primary-soft-ink);border-color:color-mix(in oklch, var(--primary) 25%, transparent);background:var(--surface)}.docs-tree-rename,.docs-tree-delete{opacity:0;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;transition:opacity .12s,background .12s,color .12s;display:inline-flex}.docs-tree-rename{color:var(--muted)}.docs-tree-delete{color:var(--danger)}.docs-tree-row:hover .docs-tree-rename,.docs-tree-row:hover .docs-tree-delete{opacity:1}.docs-tree-rename:hover{color:var(--primary);background:color-mix(in oklch, var(--primary) 10%, transparent)}.docs-tree-delete:hover{background:color-mix(in oklch, var(--danger) 10%, transparent)}.docs-sidebar-toggle{display:none}@media (width<=900px){.docs-shell{grid-template-columns:1fr}.docs-sidebar{max-height:none;display:none;position:static}.docs-sidebar-toggle{background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius-md);align-items:center;gap:6px;margin-bottom:10px;padding:8px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.docs-sidebar-mobile-open .docs-sidebar{display:block}}.folders-finder{background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--radius-xl);grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px;margin-bottom:14px;padding:18px;display:grid}.finder-tile{border-radius:var(--radius-lg);cursor:pointer;text-align:center;color:var(--ink);background:0 0;border:1.5px solid #0000;flex-direction:column;justify-content:flex-start;align-items:center;gap:6px;min-width:0;padding:14px 10px 12px;transition:background .12s,border-color .12s,transform .12s;display:flex;position:relative}.finder-tile:hover{background:color-mix(in oklch, var(--primary) 6%, var(--surface));border-color:color-mix(in oklch, var(--primary) 15%, transparent)}.finder-tile:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.finder-tile.is-active{background:var(--primary-soft);border-color:color-mix(in oklch, var(--primary) 35%, transparent)}.finder-tile-icon{width:56px;height:56px;color:var(--primary);background:color-mix(in oklch, var(--primary) 12%, var(--surface));border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.finder-tile.is-active .finder-tile-icon{background:color-mix(in oklch, var(--primary) 22%, var(--surface))}.finder-tile-icon-all{color:var(--muted);background:var(--surface);border:1px dashed var(--line-strong)}.finder-tile-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 4px;font-size:.82rem;font-weight:600;line-height:1.2;overflow:hidden}.finder-tile-meta{color:var(--muted);font-size:.7rem;font-weight:500}.finder-tile-delete{background:var(--surface);width:22px;height:22px;color:var(--danger);border:1px solid var(--line);cursor:pointer;opacity:0;border-radius:7px;justify-content:center;align-items:center;transition:opacity .12s,background .12s;display:inline-flex;position:absolute;top:6px;right:6px}.finder-tile:hover .finder-tile-delete,.finder-tile:focus-within .finder-tile-delete{opacity:1}.finder-tile-delete:hover{background:color-mix(in oklch, var(--danger) 12%, var(--surface))}.attest-shell{grid-template-columns:320px 1fr;align-items:start;gap:14px;display:grid}.attest-side{max-height:calc(100vh - 90px);padding:14px 16px;position:sticky;top:68px;overflow:auto}.attest-side-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.attest-form{flex-direction:column;gap:10px;display:flex}.attest-form label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:4px;font-size:.76rem;font-weight:600;display:flex}.attest-form input,.attest-form select{text-transform:none;letter-spacing:0;color:var(--ink);font-size:.9rem;font-weight:500}.attest-field-sep{border-top:1px solid var(--line-strong);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:8px;padding-top:10px;font-size:.72rem;font-weight:700}.attest-action-row{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px;display:flex}.attest-view-frame{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:#fff;overflow:hidden}.attest-view-frame iframe{border:0;width:100%;height:100%;display:block}.attest-edit-body{flex-direction:column;height:100%;display:flex}.attest-view-frame-live{flex:auto;width:100%;max-width:820px;height:auto;min-height:70vh;margin:0 auto}.ws-shell:has(.attest-edit-body) .ws-body{grid-template-columns:minmax(0,1fr) 420px}.ws-shell:has(.attest-edit-body) .ws-rail{padding:24px 20px 48px}.attest-edit-form{flex-direction:column;gap:10px;display:flex}.attest-edit-form label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;flex-direction:column;gap:4px;font-size:.76rem;font-weight:600;display:flex}.attest-edit-form input,.attest-edit-form select{text-transform:none;letter-spacing:0;color:var(--ink);font-size:.9rem;font-weight:500}.attest-fields-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.attest-rail-preview{margin-top:8px}.attest-preview{flex-direction:column;gap:10px;min-width:0;padding:14px 16px;display:flex}.attest-preview-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.attest-preview-frame{border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:#fff;height:calc(100vh - 240px);min-height:540px;overflow:hidden}.attest-preview-frame iframe{border:0;width:100%;height:100%;display:block}@media (width<=1050px){.attest-shell{grid-template-columns:1fr}.attest-side{max-height:none;position:static}.attest-preview-frame{height:70vh}}@media print{.shell{grid-template-columns:1fr!important}.sidebar,.mobile-menu,.page-topbar,.btn,.list-toolbar-actions{display:none!important}.card{box-shadow:none;border-color:#ddd}}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px}button:focus-visible,a:focus-visible,[role=button]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in oklch, var(--primary) 20%, transparent);outline:none}.ui-dialog-backdrop{z-index:1000;background:#0f172a6b;justify-content:center;align-items:center;padding:16px;animation:.12s ease-out ui-fade;display:flex;position:fixed;inset:0}.ui-dialog{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:420px;padding:22px;animation:.16s cubic-bezier(.2,.9,.2,1) ui-pop;box-shadow:0 24px 60px #0f172a2e,0 0 0 1px #0f172a0a}.ui-dialog-title{color:var(--ink);margin-bottom:6px;font-size:1.02rem;font-weight:700}.ui-dialog-desc{color:var(--muted);margin-bottom:14px;font-size:.9rem;line-height:1.5}.ui-dialog-field{margin:10px 0 4px}.ui-dialog-label{color:var(--muted);margin-bottom:6px;font-size:.8rem;font-weight:500;display:block}.ui-dialog-field input{width:100%}.ui-dialog-error{color:var(--danger);margin-top:6px;font-size:.82rem}.ui-dialog-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}@keyframes ui-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-pop{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}.kpi-hero{background:linear-gradient(135deg, var(--surface) 0%, var(--bg-subtle) 100%);border-radius:var(--radius-xl);border:1px solid var(--line);grid-column:1/-1;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:28px 32px;display:grid}.kpi-hero-left{flex-direction:column;gap:6px;display:flex}.kpi-hero-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700}.kpi-hero-value{color:var(--ink);letter-spacing:-.02em;font-size:2.4rem;font-weight:800;line-height:1.1}.kpi-hero-hint{color:var(--muted);font-size:.82rem}.kpi-hero-trend{border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.78rem;font-weight:600;display:inline-flex}.kpi-hero-trend.up{color:oklch(38% .14 149);background:oklch(95% .06 149/.6)}.kpi-hero-trend.down{color:oklch(42% .18 27);background:oklch(95% .06 27/.5)}.kpi-hero-trend.flat{background:var(--bg-sunken);color:var(--muted)}.empty-state{text-align:center;color:var(--muted);padding:48px 20px}.empty-state-icon{background:var(--bg-sunken);width:48px;height:48px;color:var(--muted);border-radius:12px;justify-content:center;align-items:center;margin-bottom:14px;display:inline-flex}.empty-state-title{color:var(--ink);margin-bottom:6px;font-size:1rem;font-weight:600}.empty-state-desc{color:var(--muted);max-width:420px;margin-bottom:16px;margin-left:auto;margin-right:auto;font-size:.88rem;line-height:1.5}.empty-state .btn{display:inline-flex}@media (prefers-reduced-motion:reduce){.ui-dialog-backdrop,.ui-dialog{animation:none}}
