:root{--navy-900:#0b1d33;--navy-800:#12294a;--navy-700:#1a365d;--navy-600:#24477a;--navy-500:#3a5f92;--navy-100:#e5ecf5;--navy-050:#f2f5fa;--amber-700:#8a5a12;--amber-600:#b3731a;--amber-500:#d08a2c;--amber-400:#e5a858;--amber-100:#f6e6cb;--amber-050:#fcf6eb;--ink-950:#0f1115;--ink-900:#1a1d23;--ink-800:#2a2e37;--ink-700:#3e4350;--ink-600:#565c6b;--ink-500:#757c8b;--ink-400:#9ea4b1;--ink-300:#c4c8d1;--ink-200:#dcdfe5;--ink-150:#e6e8ed;--ink-100:#eef0f3;--ink-050:#f6f7f9;--paper:#fbfbf9;--paper-alt:#f5f4ef;--ok-700:#1f6b3a;--ok-500:#2f9655;--ok-100:#e0f2e6;--warn-700:#8a5a00;--warn-500:#c78400;--warn-100:#fbeccc;--err-700:#8a1f1f;--err-500:#c13333;--err-100:#f7dcdc;--info-500:#2c6ab0;--info-100:#dbeaf8;--font-sans:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Instrument Serif", "Times New Roman", serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", monospace;--r-xs:3px;--r-sm:5px;--r-md:7px;--r-lg:10px;--r-xl:14px;--shadow-xs:0 1px 0 #0f11150a;--shadow-sm:0 1px 2px #0f11150f, 0 1px 0 #0f111508;--shadow-md:0 4px 12px #0f111514, 0 1px 2px #0f11150a;--shadow-lg:0 16px 40px #0f11151f, 0 2px 6px #0f11150f;--sidebar-w:236px;--topbar-h:54px}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}#app{height:100%}body{font-family:var(--font-sans);color:var(--ink-900);background:var(--paper-alt);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";font-size:14px;line-height:1.5}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--navy-700);text-decoration:none}a:hover{text-decoration:underline}.tabular{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono)}.serif{font-family:var(--font-serif)}.app{grid-template-columns:var(--sidebar-w) 1fr;background:var(--paper-alt);min-height:100vh;display:grid}.sidebar{background:var(--navy-900);color:#dfe5ef;border-right:1px solid var(--navy-800);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.sidebar-brand{border-bottom:1px solid #ffffff12;align-items:center;gap:10px;padding:18px 18px 16px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--amber-500), var(--amber-700));color:#fff;width:30px;height:30px;font-weight:700;font-family:var(--font-serif);border-radius:6px;place-items:center;font-size:18px;display:grid;box-shadow:inset 0 1px #ffffff26}.brand-text{line-height:1.1}.brand-text .brand-name{font-family:var(--font-serif);color:#fff;letter-spacing:.01em;font-size:17px}.brand-text .brand-tag{color:#ffffff8c;text-transform:uppercase;letter-spacing:.1em;font-size:10.5px}.sidebar-search{padding:12px 12px 6px;position:relative}.sidebar-search input{color:#fff;border-radius:var(--r-sm);background:#ffffff0f;border:1px solid #ffffff14;outline:none;width:100%;padding:7px 10px 7px 30px;font-size:12.5px}.sidebar-search input::placeholder{color:#fff6}.sidebar-search .search-icon{color:#ffffff73;position:absolute;top:50%;left:22px;transform:translateY(-25%)}.sidebar-nav{flex:1;padding:6px 8px;overflow-y:auto}.nav-group-label{text-transform:uppercase;letter-spacing:.12em;color:#fff6;padding:12px 10px 4px;font-size:10.5px}.nav-item{border-radius:var(--r-sm);color:#ffffffc7;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:7px 10px;font-size:13px;display:flex;position:relative}.nav-item .nav-icon{color:#ffffff8c;flex-shrink:0}.nav-item:hover{color:#fff;background:#ffffff0d}.nav-item.active{color:#fff;box-shadow:inset 2px 0 0 var(--amber-500);background:#d08a2c1f}.nav-item.active .nav-icon{color:var(--amber-400)}.nav-item .nav-badge{color:#fffc;font-variant-numeric:tabular-nums;background:#ffffff1a;border-radius:10px;margin-left:auto;padding:1px 6px;font-size:10.5px}.nav-item.active .nav-badge{background:var(--amber-500);color:var(--navy-900)}.sidebar-footer{border-top:1px solid #ffffff12;align-items:center;gap:10px;padding:10px 12px;display:flex}.sidebar-footer .who{font-size:12px;line-height:1.15}.sidebar-footer .who b{color:#fff;font-weight:500;display:block}.sidebar-footer .who span{color:#ffffff80;font-size:11px}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;background:var(--paper);border-bottom:1px solid var(--ink-150);height:var(--topbar-h);align-items:center;gap:14px;padding:0 22px;display:flex;position:sticky;top:0}.breadcrumb{color:var(--ink-600);align-items:center;gap:8px;font-size:13px;display:flex}.breadcrumb .crumb{color:var(--ink-600);cursor:pointer}.breadcrumb .crumb:hover{color:var(--navy-700)}.breadcrumb .crumb.current{color:var(--ink-900);font-weight:500}.breadcrumb .sep{color:var(--ink-300)}.topbar-spacer{flex:1}.topbar-actions{align-items:center;gap:8px;display:flex}.view-toggle{border:1px solid var(--ink-200);border-radius:var(--r-sm);background:var(--ink-050);gap:0;padding:2px;display:flex}.view-toggle button{color:var(--ink-600);background:0 0;border:none;border-radius:4px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;display:flex}.view-toggle button.active{color:var(--ink-900);box-shadow:var(--shadow-xs);background:#fff}.page{padding:24px 28px 64px}.page-header{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-title{font-family:var(--font-serif);color:var(--ink-950);letter-spacing:-.01em;margin:0;font-size:38px;font-weight:400;line-height:1.05}.page-subtitle{color:var(--ink-600);margin-top:4px;font-size:14px}.page-header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.btn{border-radius:var(--r-sm);color:var(--ink-800);white-space:nowrap;background:#fff;border:1px solid #0000;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--ink-050)}.btn-secondary{border-color:var(--ink-200);box-shadow:var(--shadow-xs);background:#fff}.btn-secondary:hover{background:var(--ink-050);border-color:var(--ink-300)}.btn-primary{background:var(--navy-800);color:#fff;border-color:var(--navy-800);box-shadow:var(--shadow-xs)}.btn-primary:hover{background:var(--navy-900)}.btn-accent{background:var(--amber-500);color:var(--navy-900);border-color:var(--amber-600);font-weight:600}.btn-accent:hover{background:var(--amber-400)}.btn-ghost{color:var(--ink-700);background:0 0}.btn-ghost:hover{background:var(--ink-100)}.btn-danger-ghost{color:var(--err-700);background:0 0}.btn-danger-ghost:hover{background:var(--err-100)}.btn-sm{border-radius:4px;padding:4px 8px;font-size:12px}.btn-icon{justify-content:center;width:28px;height:28px;padding:6px}.card{border:1px solid var(--ink-150);border-radius:var(--r-md);box-shadow:var(--shadow-xs);background:#fff}.card-header{border-bottom:1px solid var(--ink-150);align-items:center;gap:10px;padding:12px 16px;display:flex}.card-title{color:var(--ink-900);letter-spacing:.01em;font-size:13px;font-weight:600}.card-subtitle{color:var(--ink-500);font-size:12px}.card-header .right{gap:6px;margin-left:auto;display:flex}.card-body{padding:16px}.card-body.p0{padding:0}.card-footer{border-top:1px solid var(--ink-150);background:var(--ink-050);color:var(--ink-600);border-radius:0 0 var(--r-md) var(--r-md);align-items:center;gap:10px;padding:10px 16px;font-size:12px;display:flex}.kpi-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.kpi{border:1px solid var(--ink-150);border-radius:var(--r-md);box-shadow:var(--shadow-xs);background:#fff;padding:14px 16px;position:relative;overflow:hidden}.kpi .kpi-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);font-size:11.5px;font-weight:500}.kpi .kpi-value{font-family:var(--font-serif);color:var(--ink-950);font-variant-numeric:tabular-nums;margin-top:4px;font-size:32px;line-height:1.1}.kpi .kpi-delta{font-variant-numeric:tabular-nums;border-radius:4px;align-items:center;gap:3px;margin-top:6px;padding:1px 6px;font-size:12px;display:inline-flex}.kpi .kpi-delta.up{background:var(--ok-100);color:var(--ok-700)}.kpi .kpi-delta.down{background:var(--err-100);color:var(--err-700)}.kpi .kpi-delta.neutral{background:var(--ink-100);color:var(--ink-700)}.kpi .kpi-sub{color:var(--ink-500);margin-top:6px;font-size:12px}.kpi .accent-bar{background:var(--amber-500);height:3px;position:absolute;top:0;left:0;right:0}.kpi.muted .accent-bar{background:var(--ink-300)}.kpi.info .accent-bar{background:var(--info-500)}.kpi.warn .accent-bar{background:var(--warn-500)}.table-wrap{overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:13px}table.data thead th{text-align:left;color:var(--ink-500);text-transform:uppercase;letter-spacing:.06em;background:var(--ink-050);border-bottom:1px solid var(--ink-150);white-space:nowrap;padding:10px 14px;font-size:11.5px;font-weight:500}table.data thead th.num{text-align:right}table.data tbody td{border-bottom:1px solid var(--ink-100);color:var(--ink-900);vertical-align:middle;padding:11px 14px}table.data tbody td.num{text-align:right;font-variant-numeric:tabular-nums}table.data tbody tr:hover{background:var(--navy-050)}table.data tbody tr:last-child td{border-bottom:none}table.data tbody tr.selectable{cursor:pointer}table.data tfoot td{color:var(--ink-900);vertical-align:middle;padding:10px 14px;font-weight:600}table.data tfoot td.num{text-align:right;font-variant-numeric:tabular-nums}.row-primary{color:var(--ink-950);font-weight:500}.row-secondary{color:var(--ink-500);font-size:12px}.badge{border-radius:20px;align-items:center;gap:4px;padding:2px 8px;font-size:11.5px;font-weight:500;line-height:1.5;display:inline-flex}.badge-neutral{background:var(--ink-100);color:var(--ink-700)}.badge-ok{background:var(--ok-100);color:var(--ok-700)}.badge-warn{background:var(--warn-100);color:var(--warn-700)}.badge-err{background:var(--err-100);color:var(--err-700)}.badge-info{background:var(--info-100);color:var(--info-500)}.badge-accent{background:var(--amber-100);color:var(--amber-700)}.badge-outline{border:1px solid var(--ink-200);color:var(--ink-700);background:0 0}.dot{border-radius:50%;width:6px;height:6px;display:inline-block}.dot-ok{background:var(--ok-500)}.dot-warn{background:var(--warn-500)}.dot-err{background:var(--err-500)}.dot-info{background:var(--info-500)}.dot-muted{background:var(--ink-300)}.avatar{background:var(--navy-600);color:#fff;letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:inline-grid}.avatar.sm{width:22px;height:22px;font-size:10px}.avatar.lg{width:44px;height:44px;font-size:14px}.avatar.xl{width:64px;height:64px;font-size:20px}.avatar.p{background:var(--navy-700)}.avatar.i{background:#6b5a3a}.avatar.t{background:var(--amber-700)}.avatar-stack{display:inline-flex}.avatar-stack .avatar{border:2px solid #fff;margin-left:-6px}.avatar-stack .avatar:first-child{margin-left:0}.field,.form-group{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.field:last-child,.form-group:last-child{margin-bottom:0}.field label,.label{color:var(--ink-600);text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;font-weight:500}.req{color:var(--err-500);margin-left:2px}.form-grid-2{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.form-grid-3{grid-template-columns:1fr 1fr 1fr;gap:0 12px;display:grid}.input,.select,.textarea{border:1px solid var(--ink-200);border-radius:var(--r-sm);color:var(--ink-900);background:#fff;outline:none;width:100%;padding:7px 10px;font-size:13px;transition:border-color .12s,box-shadow .12s}.input:focus,.select:focus,.textarea:focus{border-color:var(--navy-500);box-shadow:0 0 0 3px #3a5f9226}.input.readonly{background:var(--ink-050)}.input.input-err,.input-err{border-color:var(--err-500)!important}.field-error{color:var(--err-700);margin-top:2px;font-size:12px}.tabs{border-bottom:1px solid var(--ink-150);gap:0;margin-bottom:20px;display:flex;overflow-x:auto}.tabs button{color:var(--ink-600);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-bottom:-1px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.tabs button:hover{color:var(--ink-900)}.tabs button.active{color:var(--navy-800);border-bottom-color:var(--amber-500)}.tabs button .count{background:var(--ink-100);color:var(--ink-600);font-variant-numeric:tabular-nums;border-radius:10px;padding:1px 6px;font-size:10.5px}.tabs button.active .count{background:var(--amber-100);color:var(--amber-700)}.detail-hero{background:linear-gradient(180deg, #fff 0%, var(--paper) 100%);border:1px solid var(--ink-150);border-radius:var(--r-md);box-shadow:var(--shadow-xs);align-items:flex-start;gap:22px;margin-bottom:22px;padding:22px 24px;display:flex;position:relative;overflow:hidden}.detail-hero:before{content:"";background:radial-gradient(circle, var(--amber-100), transparent 70%);opacity:.6;pointer-events:none;border-radius:50%;width:180px;height:180px;position:absolute;top:-40px;right:-40px}.detail-hero .hero-thumb{border-radius:var(--r-md);background:linear-gradient(135deg, var(--navy-700), var(--navy-900));color:#fff;width:88px;height:88px;font-family:var(--font-serif);flex-shrink:0;place-items:center;font-size:36px;display:grid;box-shadow:inset 0 1px #ffffff1a}.detail-hero .hero-content{flex:1;min-width:0;position:relative}.detail-hero h1{font-family:var(--font-serif);color:var(--ink-950);margin:0 0 4px;font-size:32px;font-weight:400;line-height:1.1}.detail-hero .hero-address{color:var(--ink-600);margin-bottom:12px;font-size:14px}.detail-hero .hero-meta{color:var(--ink-600);flex-wrap:wrap;gap:20px;font-size:12.5px;display:flex}.detail-hero .hero-meta b{color:var(--ink-900);font-variant-numeric:tabular-nums;font-weight:600}.detail-hero .hero-actions{gap:8px;display:flex;position:absolute;top:0;right:0}.bar{background:var(--ink-100);border-radius:100px;width:100%;height:6px;overflow:hidden}.bar .fill{background:var(--navy-600);border-radius:inherit;height:100%;transition:width .24s}.bar .fill.ok{background:var(--ok-500)}.bar .fill.warn{background:var(--warn-500)}.bar .fill.err{background:var(--err-500)}.bar .fill.accent{background:var(--amber-500)}.millesimi-grid{grid-template-columns:minmax(260px,2fr) repeat(auto-fit,minmax(120px,1fr)) 60px;gap:0;display:grid}.mill-cell{border-bottom:1px solid var(--ink-100);font-variant-numeric:tabular-nums;align-items:center;padding:8px 10px;font-size:13px;display:flex}.mill-cell.head{background:var(--ink-050);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500);border-bottom:1px solid var(--ink-200);font-size:11px;font-weight:500}.mill-cell.num{justify-content:flex-end}.mill-input{text-align:right;width:100%;font-family:var(--font-mono);color:var(--ink-900);background:0 0;border:1px solid #0000;border-radius:3px;padding:4px 6px;font-size:13px}.mill-input:hover{background:var(--ink-050)}.mill-input:focus{border-color:var(--navy-500);background:#fff;outline:none;box-shadow:0 0 0 2px #3a5f9226}.totals-row{background:var(--navy-050);border-top:2px solid var(--navy-700);grid-template-columns:minmax(260px,2fr) repeat(auto-fit,minmax(120px,1fr)) 60px;font-weight:600;display:grid}.totals-row .mill-cell{color:var(--navy-900);border-bottom:none}.totals-row .mill-cell.valid{color:var(--ok-700)}.totals-row .mill-cell.invalid{color:var(--err-700)}.validation-strip{border-top:1px solid var(--ink-150);align-items:center;gap:8px;padding:10px 16px;font-size:12.5px;display:flex}.validation-strip.ok{background:var(--ok-100);color:var(--ok-700)}.validation-strip.err{background:var(--err-100);color:var(--err-700)}.timeline{flex-direction:column;gap:0;display:flex}.timeline-item{border-bottom:1px solid var(--ink-100);gap:12px;padding:12px 16px;display:flex;position:relative}.timeline-item:last-child{border-bottom:none}.timeline-item .t-dot{background:var(--ink-300);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:7px}.timeline-item .t-dot.accent{background:var(--amber-500)}.timeline-item .t-dot.ok{background:var(--ok-500)}.timeline-item .t-dot.warn{background:var(--warn-500)}.timeline-item .t-date{color:var(--ink-500);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;width:80px;margin-top:2px;font-size:11.5px}.timeline-item .t-body{flex:1;font-size:13px}.timeline-item .t-body b{color:var(--ink-950);margin-bottom:2px;font-weight:500;display:block}.timeline-item .t-body span{color:var(--ink-600);font-size:12.5px}.vote-bar{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.stacked-bar{background:var(--ink-100);border-radius:4px;height:22px;display:flex;overflow:hidden}.stacked-bar .seg{color:#fff;place-items:center;font-size:11px;font-weight:500;display:grid}.stacked-bar .seg.fav{background:var(--ok-500)}.stacked-bar .seg.con{background:var(--err-500)}.stacked-bar .seg.ast{background:var(--ink-400)}.quorum-ring{place-items:center;width:72px;height:72px;display:grid;position:relative}.quorum-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.quorum-ring .qr-bg{stroke:var(--ink-150)}.quorum-ring .qr-fg{stroke:var(--amber-500)}.quorum-ring .qr-label{font-family:var(--font-serif);color:var(--ink-950);font-variant-numeric:tabular-nums;font-size:18px}.condomino-view{background:linear-gradient(180deg, var(--navy-900), var(--navy-800) 280px, var(--paper-alt) 280px);min-height:100vh}.cv-header{color:#fff;align-items:center;gap:14px;padding:22px 28px 60px;display:flex}.cv-header h2{font-family:var(--font-serif);margin:0;font-size:20px;font-weight:400}.cv-body{max-width:1100px;margin:-36px auto 0;padding:0 28px 40px;position:relative}.cv-hello{color:#fff;padding:0 0 20px}.cv-hello .cv-greet{font-family:var(--font-serif);margin:0;font-size:30px}.cv-hello .cv-sub{color:#ffffffa6;margin-top:2px;font-size:14px}.login-shell{background:var(--paper-alt);min-height:100vh;display:flex}.login-brand{flex-shrink:0;width:46%;min-width:340px}.login-form-panel{background:var(--paper-alt);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:48px 40px;display:flex;overflow-y:auto}.login-inner{width:100%;max-width:400px}.login-mode-tabs{background:var(--ink-050);border:1px solid var(--ink-150);border-radius:var(--r-md);gap:3px;margin-bottom:28px;padding:4px;display:flex}.login-mode-tabs button{color:var(--ink-500);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 10px;font-size:12.5px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s;display:flex}.login-mode-tabs button.active{color:var(--ink-900);background:#fff;box-shadow:0 1px 3px #0f111514,0 0 0 1px #0f11150a}.input-with-icon{position:relative}.input-with-icon .input{padding-left:36px}.input-icon-left{color:var(--ink-400);pointer-events:none;display:flex;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.input-icon-right{cursor:pointer;color:var(--ink-400);border-radius:var(--r-xs);background:0 0;border:none;align-items:center;padding:4px 6px;transition:color .12s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.input-icon-right:hover{color:var(--ink-700);background:var(--ink-100)}.login-separator{color:var(--ink-400);align-items:center;gap:12px;font-size:12px;display:flex}.login-separator:before,.login-separator:after{content:"";background:var(--ink-200);flex:1;height:1px}.login-sso-btn{border:1px solid var(--ink-200);border-radius:var(--r-md);color:var(--ink-700);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-size:12.5px;font-weight:500;transition:border-color .12s,background .12s,box-shadow .12s;display:flex}.login-sso-btn:hover{border-color:var(--ink-300);background:var(--ink-050);box-shadow:var(--shadow-xs)}.login-security{color:var(--ink-400);justify-content:center;align-items:center;gap:5px;margin-top:20px;font-size:11.5px;display:flex}@keyframes login-spin{to{transform:rotate(360deg)}}.login-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:15px;height:15px;animation:.65s linear infinite login-spin}@media (width<=900px){.login-brand{display:none}.login-form-panel{min-height:100vh;padding:32px 20px}}.split-2{grid-template-columns:2fr 1fr;gap:16px;display:grid}.split-3{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.split-5050{grid-template-columns:1fr 1fr;gap:16px;display:grid}.empty-state{text-align:center;color:var(--ink-500);padding:40px 20px}.divider{background:var(--ink-150);height:1px;margin:16px 0}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.col{flex-direction:column;gap:10px;display:flex}.muted{color:var(--ink-500)}.tiny{font-size:11.5px}.small{font-size:12.5px}.link-navy{color:var(--navy-700);font-weight:500;text-decoration:none}.link-navy:hover{color:var(--navy-900);text-decoration:underline}.key-value{grid-template-columns:140px 1fr;gap:6px 14px;font-size:13px;display:grid}.key-value dt{color:var(--ink-500)}.key-value dd{color:var(--ink-900);font-variant-numeric:tabular-nums;margin:0;font-weight:500}.money{font-variant-numeric:tabular-nums;font-family:var(--font-mono);font-size:12.5px}.money.neg{color:var(--err-700)}.money.pos{color:var(--ok-700)}.chart-wrap{width:100%;height:160px}@media (width<=880px){.app{grid-template-columns:1fr}.sidebar{z-index:40;width:280px;transition:left .22s;position:fixed;top:0;left:-100%}.sidebar.open{left:0}.topbar{padding:0 14px}.page{padding:16px 14px 80px}.page-title{font-size:28px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.split-2,.split-3,.split-5050{grid-template-columns:1fr}.detail-hero{flex-direction:column}.detail-hero .hero-actions{margin-top:12px;position:static}}.menu-btn{border:1px solid var(--ink-200);border-radius:var(--r-sm);background:#fff;justify-content:center;align-items:center;width:32px;height:32px;padding:6px;display:none}@media (width<=880px){.menu-btn{display:inline-flex}.sidebar-close-btn{display:flex!important}}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.table-wrap::-webkit-scrollbar{height:8px}.table-wrap::-webkit-scrollbar-thumb{background:var(--ink-200);border-radius:4px}::selection{background:var(--amber-100);color:var(--amber-700)}.toast-container{z-index:1000;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{border-radius:var(--r-md);pointer-events:all;align-items:flex-start;gap:10px;min-width:280px;max-width:420px;padding:13px 14px;font-size:13px;line-height:1.45;animation:.24s cubic-bezier(.34,1.56,.64,1) both toast-in;display:flex;box-shadow:0 4px 24px #00000024,0 1px 4px #00000014}.toast.toast-exit{animation:.26s ease-in both toast-out}@keyframes toast-in{0%{opacity:0;transform:translateY(14px)scale(.95)}to{opacity:1;transform:none}}@keyframes toast-out{0%{opacity:1;max-height:120px;margin-bottom:0;transform:none}to{opacity:0;max-height:0;margin-bottom:-10px;transform:translateY(6px)}}.toast-success{border:1px solid var(--ok-200);background:#fff}.toast-success .toast-icon{color:var(--ok-600)}.toast-error{border:1px solid var(--err-200);background:#fff}.toast-error .toast-icon{color:var(--err-600)}.toast-warn{border:1px solid var(--warn-200);background:#fff}.toast-warn .toast-icon{color:var(--warn-600)}.toast-info{border:1px solid var(--info-200);background:#fff}.toast-info .toast-icon{color:var(--info-500)}.toast-icon{flex-shrink:0;margin-top:1px}.toast-body{color:var(--ink-900);flex:1}.toast-close{cursor:pointer;color:var(--ink-400);border-radius:var(--r-xs);background:0 0;border:none;flex-shrink:0;align-items:center;padding:2px;display:flex}.toast-close:hover{color:var(--ink-700);background:var(--ink-100)}@media (width<=600px){.toast-container{bottom:16px;left:12px;right:12px}.toast{min-width:0}}
