@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Serif Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-serif-display-latin-ext-400-normal-p18AlW_x.woff2)format("woff2"),url(/assets/dm-serif-display-latin-ext-400-normal-B1toqZab.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Serif Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-serif-display-latin-400-normal-C5_t9oOD.woff2)format("woff2"),url(/assets/dm-serif-display-latin-400-normal-_kVFYEpx.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Serif Display;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/dm-serif-display-latin-ext-400-italic-DiLdooSn.woff2)format("woff2"),url(/assets/dm-serif-display-latin-ext-400-italic-D6UvgSoX.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Serif Display;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/dm-serif-display-latin-400-italic-DpcbibHm.woff2)format("woff2"),url(/assets/dm-serif-display-latin-400-italic-BgxzcTJK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--navy:#1b3557;--navy-2:#142844;--navy-3:#0e1d33;--navy-soft:#2a4a75;--gold:#e3a82b;--gold-2:#f2c25b;--gold-ink:#3a2a05;--gold-soft:#fbf1d9;--silver:#9ea3ab;--bg:#f3f6fa;--surface:#fff;--surface-2:#f7f9fc;--border:#e4e9f0;--border-strong:#cdd5e0;--text:#16243a;--text-2:#4a5a72;--text-3:#7b8799;--primary:var(--navy);--primary-2:var(--navy-2);--primary-soft:#e8eef7;--success:#1f8a5b;--success-soft:#e2f4eb;--warning:#a86a00;--warning-soft:#fdf3dc;--danger:#c23b37;--danger-soft:#fcebea;--accent:#2a4a75;--accent-soft:#e6edf7;--info:#1d6f8f;--info-soft:#e2f2f7;--sidebar:var(--navy);--sidebar-text:#b9c6d8;--sidebar-active:#fff;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #0e1d330a, 0 8px 24px -14px #1b35572e;--shadow-lg:0 24px 60px -24px #0e1d3359;--ring:0 0 0 4px #2a4a7524;--font:"Inter Variable", Inter, "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;--serif:"DM Serif Display", Georgia, serif;--mono:"Cascadia Mono", Consolas, "SFMono-Regular", Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11", "ss01";margin:0;font-size:13.5px;line-height:1.5}a{color:var(--navy-soft);font-weight:550;text-decoration:none}a:hover{color:var(--navy);text-decoration:underline;-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold);text-underline-offset:3px}h1,h2,h3,h4{letter-spacing:-.015em;color:var(--navy);margin:0;font-weight:700}h1{letter-spacing:-.025em;font-size:26px}h2{font-size:15.5px}h3{font-size:14px}code,.mono{font-family:var(--mono);font-size:12.5px}.num,.table th.num{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.muted{color:var(--text-3)}.small{font-size:12.5px}.nowrap{white-space:nowrap}.serif{font-family:var(--serif);letter-spacing:0;font-weight:400}::selection{background:var(--gold-soft);color:var(--navy)}*{scrollbar-width:thin;scrollbar-color:#c7d0dc transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#c7d0dc padding-box padding-box;border:2px solid #0000;border-radius:10px}.shell{grid-template-columns:252px 1fr;min-height:100vh;display:grid}.sidebar{background:radial-gradient(420px 260px at 0% 0%, #4f7cc247, transparent 70%), linear-gradient(180deg, var(--navy) 0%, var(--navy-2) 100%);color:var(--sidebar-text);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:hidden auto}.sidebar:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:36px 36px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 45%);mask-image:linear-gradient(#000 0%,#0000 45%)}.brand{color:#fff;letter-spacing:-.01em;align-items:center;gap:12px;padding:22px 20px 18px;font-size:15.5px;font-weight:750;display:flex;position:relative}.brand img{flex:none;width:auto;height:38px}.brand small{letter-spacing:.14em;text-transform:uppercase;color:var(--silver);margin-top:1px;font-size:10.5px;font-weight:600;display:block}.brand-mark{background:var(--gold);width:30px;height:30px;color:var(--gold-ink);border-radius:9px;place-items:center;font-size:12.5px;font-weight:800;display:grid}.nav{flex-direction:column;gap:2px;padding:8px 12px;display:flex;position:relative}.nav>div{flex-direction:column;gap:2px;display:flex}.nav-section{text-transform:uppercase;letter-spacing:.14em;color:#7d8ea8;padding:16px 12px 6px;font-size:10.5px;font-weight:700}.nav a{color:var(--sidebar-text);border-radius:10px;align-items:center;gap:12px;padding:9px 12px;font-weight:550;text-decoration:none;transition:background .18s,color .18s,transform .18s;display:flex;position:relative}.nav a:hover{color:#fff;background:#ffffff12;text-decoration:none;transform:translate(2px)}.nav a.active{color:var(--sidebar-active);background:linear-gradient(90deg,#e3a82b2e,#ffffff0f)}.nav a.active:before{content:"";background:var(--gold);border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-12px}.nav a.active svg{color:var(--gold-2);opacity:1}.nav svg{opacity:.85;flex:none;width:18px;height:18px}.sidebar-foot{margin-top:auto;padding:14px;position:relative}.user-card{color:#fff;background:#ffffff0f;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:10px;padding:10px;display:flex}.user-card .who{flex:1;min-width:0}.user-card .who b{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:650;display:block;overflow:hidden}.user-card .who span{color:var(--sidebar-text);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;display:block;overflow:hidden}.user-card button{color:var(--sidebar-text);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:6px;display:grid}.user-card button:hover{color:#fff;background:#ffffff1a}.user-card button svg{width:17px;height:17px}.avatar{background:linear-gradient(135deg, var(--gold-2), var(--gold));width:34px;height:34px;color:var(--gold-ink);border-radius:10px;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.sidebar-note{color:#7d8ea8;padding:10px 6px 0;font-size:11.5px;line-height:1.4}.main{flex-direction:column;min-width:0;display:flex}.topbar{-webkit-backdrop-filter:saturate(160%)blur(14px);backdrop-filter:saturate(160%)blur(14px);border-bottom:1px solid var(--border);z-index:5;background:#ffffffdb;align-items:center;gap:14px;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.topbar .spacer{flex:1}.tenant-picker{align-items:center;gap:10px;display:flex}.tenant-picker .ic{background:var(--primary-soft);width:34px;height:34px;color:var(--navy);border-radius:10px;flex:none;place-items:center;display:grid}.tenant-picker .ic svg{width:18px;height:18px}.tenant-picker label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);font-size:10.5px;font-weight:700;display:block}.tenant-picker select{font:inherit;color:var(--navy);cursor:pointer;background:0 0;border:0;max-width:460px;padding:0 18px 0 0;font-weight:700}.tenant-picker select:focus{outline:none}.search{position:relative}.search svg{width:17px;height:17px;color:var(--text-3);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search .input{background:var(--surface-2);border-color:#0000;width:380px;padding-left:38px}.search .input:focus{background:#fff}.search kbd{font:600 11px var(--font);color:var(--text-3);border:1px solid var(--border-strong);background:#fff;border-radius:6px;padding:1px 6px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.content{width:100%;max-width:1520px;padding:28px 32px 48px}.content>*{animation:.35s cubic-bezier(.2,.8,.2,1) both page-in}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-head h1{align-items:center;gap:12px;display:flex}.page-head h1:before{content:"";background:linear-gradient(180deg, var(--gold-2), var(--gold));border-radius:3px;width:6px;height:26px}.page-head p{color:var(--text-3);margin:6px 0 0 18px;font-size:13.5px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.card-body{padding:20px}.grid{gap:18px;display:grid}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.stack{flex-direction:column;gap:18px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.between{justify-content:space-between}.stat{padding:18px 20px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden}.stat:before{content:"";background:var(--stat-tone,var(--border));opacity:.9;height:3px;position:absolute;top:0;left:0;right:0}.stat-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.07em;font-size:11.5px;font-weight:700}.stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--navy);margin-top:6px;font-size:26px;font-weight:750;line-height:1.15}.stat-sub{color:var(--text-3);margin-top:4px;font-size:12.5px}.stat.clickable{cursor:pointer}.stat.clickable:after{content:"→";color:var(--gold);opacity:0;font-weight:800;transition:all .2s;position:absolute;top:16px;right:18px;transform:translate(-6px)}.stat.clickable:hover{box-shadow:var(--shadow-lg);border-color:#d6dfea;transform:translateY(-3px)}.stat.clickable:hover:after{opacity:1;transform:none}.kv{grid-template-columns:160px 1fr;gap:8px 14px;display:grid}.kv dt{color:var(--text-3)}.kv dd{word-break:break-word;margin:0}.badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:650;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge.plain:before{display:none}.tone-neutral{color:#4a5a72;background:#eef1f5}.tone-success{background:var(--success-soft);color:var(--success)}.tone-warning{background:var(--warning-soft);color:var(--warning)}.tone-danger{background:var(--danger-soft);color:var(--danger)}.tone-accent{background:var(--accent-soft);color:var(--accent)}.tone-info{background:var(--info-soft);color:var(--info)}.btn{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);height:36px;color:var(--navy);font:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:650;text-decoration:none;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s;display:inline-flex}.btn:hover{background:var(--surface-2);color:var(--navy);border-color:#b9c4d3;text-decoration:none}.btn:active{transform:translateY(1px)}.btn:focus-visible{box-shadow:var(--ring);outline:none}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 6px 16px -8px #1b3557b3}.btn.primary:hover{background:var(--navy-2);border-color:var(--navy-2);color:#fff;transform:translateY(-1px)}.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--gold-ink);box-shadow:0 8px 20px -10px #e3a82be6}.btn.gold:hover{background:var(--gold-2);border-color:var(--gold-2);color:var(--gold-ink);transform:translateY(-1px)}.btn.danger{color:var(--danger);border-color:#f0c7c5}.btn.danger:hover{background:var(--danger-soft);color:var(--danger)}.btn.ghost{box-shadow:none;background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{border-radius:9px;height:30px;padding:0 12px;font-size:12.5px}.btn svg{width:16px;height:16px}.input,select.input,textarea.input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);height:38px;font:inherit;color:var(--text);min-width:0;padding:0 12px;transition:border-color .18s,box-shadow .18s,background .18s}textarea.input{height:auto;padding:10px 12px}.input:hover{border-color:#b9c4d3}.input:focus{border-color:var(--navy-soft);box-shadow:var(--ring);outline:none}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-2);font-size:12.5px;font-weight:650}.field .hint{color:var(--text-3);font-size:12px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;display:grid}.form-grid .full{grid-column:1/-1}input[type=checkbox],input[type=radio]{accent-color:var(--navy);width:15px;height:15px}.filters{border-bottom:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius) var(--radius) 0 0;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:14px 20px;display:flex}.filters .field label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-size:11px}.table-wrap{overflow-x:auto}table.table{border-collapse:separate;border-spacing:0;width:100%}.table th{text-align:left;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);background:var(--surface-2);white-space:nowrap;z-index:1;padding:11px 14px;font-size:11px;font-weight:700;position:sticky;top:0}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--navy)}.table td{vertical-align:middle;border-bottom:1px solid #edf1f6;padding:11px 14px;font-size:13px}.table tbody tr{transition:background .15s}.table tbody tr:hover{background:#f6f9fd}.table tr.clickable{cursor:pointer}.table tbody tr:last-child td{border-bottom:0}.table tfoot td{background:var(--surface-2);color:var(--navy);border-top:2px solid var(--border);font-weight:750}.pager{color:var(--text-3);border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 20px;font-size:12.5px;display:flex}.alert{border-radius:var(--radius-sm);border:1px solid;border-left-width:4px;padding:12px 16px;font-size:13.5px}.alert.error{background:var(--danger-soft);border-color:#f1c9c7;border-left-color:var(--danger);color:#8f2521}.alert.info{background:var(--info-soft);border-color:#c4e3ee;border-left-color:var(--info);color:#0f4f66}.alert.warning{background:var(--warning-soft);border-color:#f1dca9;border-left-color:var(--gold);color:#6f4600}.alert.success{background:var(--success-soft);border-color:#bfe4d1;border-left-color:var(--success);color:#125c3d}.empty{text-align:center;color:var(--text-3);padding:48px 20px}.spinner{border:2.5px solid var(--border);border-top-color:var(--navy);border-right-color:var(--gold);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading{color:var(--text-3);justify-content:center;align-items:center;gap:12px;padding:48px;display:flex}.tabs{border-bottom:1px solid var(--border);gap:4px;padding:0 14px;display:flex;overflow-x:auto}.tab{font:inherit;color:var(--text-3);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2.5px solid #0000;padding:12px 14px;font-weight:650;transition:color .18s,border-color .18s}.tab:hover{color:var(--navy)}.tab.active{color:var(--navy);border-bottom-color:var(--gold)}.segmented{background:#e9eef5;border-radius:12px;gap:2px;padding:3px;display:inline-flex}.segmented button{font:inherit;cursor:pointer;color:var(--text-2);background:0 0;border:0;border-radius:9px;padding:7px 14px;font-weight:650;transition:background .18s,color .18s,box-shadow .18s}.segmented button:hover{color:var(--navy)}.segmented button.active{color:var(--navy);background:#fff;box-shadow:0 1px 2px #0e1d3314,0 4px 10px -4px #0e1d332e}.period-presets{flex-wrap:wrap;flex-basis:100%;align-self:flex-end;width:fit-content;max-width:100%}.period-presets button{padding:7px 12px;font-size:13px}.dropzone{border-radius:var(--radius);text-align:center;background:linear-gradient(#fbfcfe,#f4f7fb);border:2px dashed #b9c6d8;padding:40px;transition:all .2s}.dropzone:hover{border-color:var(--navy-soft)}.dropzone.over{border-color:var(--gold);background:var(--gold-soft);transform:scale(1.005)}.dropzone>svg{width:40px;height:40px;color:var(--navy-soft)}.dropzone.over>svg{color:var(--gold)}.progress{background:#e9eef5;border-radius:999px;height:7px;overflow:hidden}.progress>div{background:linear-gradient(90deg, var(--navy-soft), var(--gold));border-radius:999px;height:100%;transition:width .4s}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;background:#0e1d3380;place-items:center;padding:16px;animation:.2s both fade;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:18px;width:min(640px,100%);max-height:90vh;animation:.25s cubic-bezier(.2,.8,.2,1) both pop;overflow:auto;box-shadow:0 30px 80px -20px #00000073}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:translateY(12px)scale(.98)}}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.modal-body{padding:22px}.modal.viewer{flex-direction:column;width:min(1100px,100%);height:92vh;max-height:92vh;display:flex;overflow:hidden}.viewer-body{background:#525659;flex-direction:column;flex:1;min-height:0;display:flex}.viewer-frame{background:#525659;border:0;flex:1;width:100%}.modal-foot{border-top:1px solid var(--border);background:var(--surface-2);justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}.tree{margin:0;padding:0;list-style:none}.tree li{padding:6px 0 6px 22px;position:relative}.tree li:before{content:"";border-left:1.5px solid var(--border-strong);position:absolute;top:0;bottom:0;left:7px}.tree li:last-child:before{bottom:50%}.tree li:after{content:"";border-top:1.5px solid var(--border-strong);width:11px;position:absolute;top:50%;left:7px}.tree-root{color:var(--navy);padding-bottom:4px;font-weight:700}.tree-node{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.timeline{margin:0;padding:0;list-style:none}.timeline li{grid-template-columns:150px 14px 1fr;gap:12px;padding-bottom:16px;display:grid;position:relative}.timeline .dot{background:var(--gold);z-index:1;width:11px;height:11px;box-shadow:0 0 0 4px var(--gold-soft);border-radius:50%;margin-top:4px;position:relative}.timeline li:not(:last-child):after{content:"";border-left:1.5px solid var(--border-strong);position:absolute;top:16px;bottom:0;left:167px}.timeline .when{color:var(--text-3);text-align:right;font-size:12.5px}.bars{align-items:flex-end;gap:12px;height:190px;padding-top:8px;display:flex}.bar-col{flex-direction:column;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.bar-pair{justify-content:center;align-items:flex-end;gap:3px;width:100%;height:160px;display:flex}.bar{border-radius:4px 4px 0 0;width:42%;max-width:18px;min-height:2px}.bar.a{background:#9db6f7}.bar.b{background:var(--primary)}.bar-stack{flex-direction:column;justify-content:flex-end;width:62%;max-width:34px;height:100%;transition:transform .2s,filter .2s;display:flex}.bar-col:hover .bar-stack{filter:drop-shadow(0 8px 10px #0e1d332e);transform:translateY(-3px)}.bar-stack>div{transform-origin:bottom;width:100%;animation:.8s cubic-bezier(.2,.8,.2,1) both grow}.bar-stack>div:first-child{border-radius:5px 5px 0 0}@keyframes grow{0%{transform:scaleY(0)}}.bar-label{color:var(--text-3);font-size:11px;font-weight:600}.legend{color:var(--text-3);flex-wrap:wrap;gap:14px;font-size:12px;font-weight:600;display:flex}.legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:6px;display:inline-block}.auth-page{background:var(--bg);grid-template-columns:1.1fr 1fr;min-height:100vh;display:grid}.auth-side{color:#dfe6f3;background:radial-gradient(700px 420px at 90% -10%, #2a4a75 0%, transparent 60%), radial-gradient(600px 380px at -10% 110%, #223f66 0%, transparent 55%), var(--navy);flex-direction:column;justify-content:space-between;padding:48px 56px;display:flex;position:relative;overflow:hidden}.auth-side:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:52px 52px;animation:26s linear infinite grid-move;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 60% 40%,#000 20%,#0000 75%);mask-image:radial-gradient(at 60% 40%,#000 20%,#0000 75%)}@keyframes grid-move{to{background-position:52px 52px,52px 52px}}.auth-side:after{content:"";pointer-events:none;opacity:.06;background:url(/brand/logo-blanco.png) 50%/contain no-repeat;width:460px;height:540px;position:absolute;bottom:-80px;right:-120px;transform:rotate(-8deg)}.auth-side>*{z-index:1;position:relative}.auth-side .brand{padding:0}.auth-side .brand img{height:46px}.auth-side h2{color:#fff;letter-spacing:-.025em;max-width:600px;font-size:clamp(30px,3vw,44px);font-weight:800;line-height:1.1}.auth-side h2 .serif{color:var(--gold-2);font-style:italic;font-weight:400}.auth-side p{color:#ffffffb8;max-width:480px;margin:18px 0 26px;font-size:16px}.auth-points{gap:12px;margin:0;padding:0;list-style:none;display:grid}.auth-points li{color:#ffffffdb;align-items:flex-start;gap:12px;font-size:14.5px;display:flex}.auth-points li:before{content:"";background:var(--gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-5' fill='none' stroke='%233A2A05' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px no-repeat;border-radius:50%;flex:none;width:20px;height:20px;margin-top:1px}.auth-foot{color:#ffffff80;font-size:12.5px}.auth-form{place-items:center;padding:32px;display:grid;position:relative}.auth-card{width:min(420px,100%);animation:.5s cubic-bezier(.2,.8,.2,1) both page-in}.auth-card .logo{height:58px;margin-bottom:26px}.auth-card h1{font-size:30px}.auth-card .lead{color:var(--text-3);margin:6px 0 26px}.auth-card form{flex-direction:column;gap:16px;display:flex}.auth-card .input{height:46px;font-size:15px}.auth-card .btn{height:48px;margin-top:6px;font-size:15.5px}.auth-card .secure{color:var(--text-3);justify-content:center;align-items:center;gap:8px;margin-top:22px;font-size:12.5px;display:flex}.auth-card .secure svg{width:15px;height:15px;color:var(--success)}.steps{flex-wrap:wrap;gap:8px;margin-bottom:22px;display:flex}.step{color:var(--text-3);align-items:center;gap:8px;font-weight:650;display:flex}.step .n{background:#e9eef5;border-radius:50%;place-items:center;width:26px;height:26px;font-size:12px;display:grid}.step.active{color:var(--navy)}.step.active .n{background:var(--navy);color:#fff;box-shadow:0 0 0 4px var(--primary-soft)}.step.done .n{background:var(--gold);color:var(--gold-ink)}.step+.step:before{content:"";border-top:1.5px solid var(--border-strong);width:26px}.copy-box{white-space:pre-wrap;font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:360px;padding:14px;font-size:12.5px;overflow:auto}.hero-card{color:#fff;background:radial-gradient(520px 260px at 100% 0%, #4f7cc273, transparent 70%), radial-gradient(420px 220px at 0% 120%, #e3a82b2e, transparent 70%), linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 100%);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;margin-bottom:18px;padding:28px 32px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 50px -28px #0e1d33b3}.hero-card:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 60%);mask-image:linear-gradient(90deg,#0000,#000 60%)}.hero-card:after{content:"";pointer-events:none;opacity:.05;background:url(/brand/logo-blanco.png) 50%/contain no-repeat;width:220px;height:260px;position:absolute;top:-40px;right:22%;transform:rotate(-10deg)}.hero-card>*{z-index:1;position:relative}.hero-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);align-items:center;gap:8px;font-size:11.5px;font-weight:700;display:inline-flex}.hero-eyebrow:before{content:"";background:var(--gold);border-radius:2px;width:20px;height:2px}.hero-card h1{color:#fff;margin:8px 0 6px;font-size:30px}.hero-card p{color:#ffffffbf;margin:0 0 18px}.hero-card p strong{color:#fff}.segmented.on-dark{background:#ffffff1a}.segmented.on-dark button{color:#ffffffc7}.segmented.on-dark button:hover{color:#fff}.segmented.on-dark button.active{background:var(--gold);color:var(--gold-ink);box-shadow:0 6px 16px -8px #e3a82be6}.hero-ring{align-items:center;gap:22px;display:flex;position:relative}.hero-ring svg{flex:none;width:124px;height:124px;transform:rotate(-90deg)}.hero-ring circle{fill:none;stroke-width:11px}.hero-ring .track{stroke:#ffffff1f}.hero-ring .value{stroke:var(--gold);stroke-linecap:round;transition:stroke-dasharray 1s cubic-bezier(.2,.8,.2,1);animation:1.2s cubic-bezier(.2,.8,.2,1) both ring-in}@keyframes ring-in{0%{stroke-dasharray:0 314.16}}.ring-label{text-align:center;width:124px;position:absolute;left:0}.ring-label b{letter-spacing:-.03em;font-size:26px;font-weight:800;display:block}.ring-label span{color:#ffffffb3;text-transform:uppercase;letter-spacing:.06em;font-size:9.5px;font-weight:700}.ring-legend{color:#ffffffbf;gap:8px;font-size:13px;display:grid}.ring-legend i{border-radius:3px;width:9px;height:9px;margin-right:8px;display:inline-block}.ring-legend b{color:#fff;font-variant-numeric:tabular-nums;margin-left:6px}@media (width<=800px){.hero-card{padding:22px}.hero-ring{flex-wrap:wrap}}.fiscal-cards{grid-template-columns:1.1fr 1.1fr 1fr;gap:18px;display:grid}.fiscal-card{border-radius:var(--radius);cursor:pointer;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);padding:22px 24px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.fiscal-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.fiscal-card .label{letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:700}.fiscal-card .rows{gap:10px;margin-top:14px;display:grid}.fiscal-card .rows div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.fiscal-card small{font-size:13px}.fiscal-card b{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:750}.fiscal-card .rows div+div b{font-size:17px}.fiscal-card.income{background:linear-gradient(135deg, var(--navy), var(--navy-2));color:#fff;border-color:var(--navy);box-shadow:0 20px 40px -24px #0e1d33b3}.fiscal-card.income .label{color:var(--gold-2)}.fiscal-card.income small{color:#ffffffb3}.fiscal-card.expense{color:#fff;background:linear-gradient(135deg,#5d6878,#454f5e);border-color:#454f5e}.fiscal-card.expense .label{color:#dfe4ea}.fiscal-card.expense small{color:#ffffffb8}.fiscal-card.result{cursor:default}.fiscal-card.result:hover{box-shadow:var(--shadow);transform:none}.fiscal-card.result .label,.fiscal-card.result small{color:var(--text-3)}.fiscal-card.result b{color:var(--navy)}.val-link{color:var(--success);margin-top:14px;font-size:12.5px;font-weight:650;display:block}.val-link.bad{color:#9a6300}.gbars{align-items:flex-end;gap:14px;height:250px;padding-top:22px;display:flex}.gbar-col{cursor:pointer;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:8px;min-width:0;padding:0 2px;display:flex}.gbar-col.sel{background:linear-gradient(180deg, transparent, var(--gold-soft))}.gbar-col.sel .bar-label{color:var(--navy);font-weight:800}.gbar-pair{justify-content:center;align-items:flex-end;gap:4px;width:100%;height:210px;display:flex}.gbar{transform-origin:bottom;border-radius:5px 5px 0 0;width:44%;max-width:30px;min-height:2px;animation:.8s cubic-bezier(.2,.8,.2,1) both grow;position:relative}.gbar.in{background:linear-gradient(180deg, var(--navy-soft), var(--navy))}.gbar.out{background:linear-gradient(180deg, #b9bec6, var(--silver))}.gbar span{color:var(--text-3);white-space:nowrap;opacity:0;font-size:10px;font-weight:700;transition:opacity .15s;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}.gbar-col:hover .gbar span,.gbar-col.sel .gbar span{opacity:1}@media (width<=1100px){.fiscal-cards{grid-template-columns:1fr 1fr}}@media (width<=800px){.fiscal-cards{grid-template-columns:1fr}}.iva-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.iva-tab{text-align:left;font:inherit;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;padding:18px 22px;transition:all .2s;position:relative;overflow:hidden}.iva-tab span{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:11.5px;font-weight:700;display:block}.iva-tab b{letter-spacing:-.03em;color:var(--navy);font-variant-numeric:tabular-nums;margin:6px 0 2px;font-size:26px;font-weight:800;display:block}.iva-tab small{color:var(--text-3);font-size:12.5px}.iva-tab:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.iva-tab.on{background:linear-gradient(135deg, var(--navy), var(--navy-2));border-color:var(--navy);box-shadow:0 20px 40px -24px #0e1d33b3}.iva-tab.on span{color:var(--gold-2)}.iva-tab.on b{color:#fff}.iva-tab.on small{color:#ffffffb3}.iva-tab.on:after{content:"";background:var(--gold);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0;left:22px;right:22px}.iva-tab.r{cursor:default}.iva-tab.r:hover{box-shadow:var(--shadow);transform:none}.iva-tab.r.cargo{background:var(--gold-soft);border-color:#efd9a4}.iva-tab.r.cargo b{color:#8a5a00}.iva-tab.r.favor{background:var(--success-soft);border-color:#bfe4d1}.iva-tab.r.favor b{color:var(--success)}.switch{cursor:pointer;width:36px;height:20px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0;position:absolute}.switch span{background:#cdd5e0;border-radius:999px;transition:background .2s;position:absolute;inset:0}.switch span:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.switch input:checked+span{background:var(--navy)}.switch input:checked+span:before{transform:translate(16px)}.switch input:disabled+span{opacity:.5}.switch input:focus-visible+span{box-shadow:var(--ring)}@media (width<=1100px){.iva-tabs{grid-template-columns:1fr}}.notif-list{gap:4px;display:grid}.notif-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(220px,.9fr) 1.6fr;align-items:center;gap:20px;padding:14px 0;display:grid}.notif-row:last-child{border-bottom:0}.notif-row b{color:var(--navy);display:block}.notif-row span{color:var(--text-3);font-size:12.5px}.chips{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff;flex-wrap:wrap;align-items:center;gap:6px;min-height:40px;padding:5px 8px;transition:border-color .18s,box-shadow .18s;display:flex}.chips:focus-within{border-color:var(--navy-soft);box-shadow:var(--ring)}.chips input{font:inherit;background:0 0;border:0;outline:0;flex:1;min-width:160px;padding:4px}.chip{background:var(--primary-soft);color:var(--navy);border-radius:999px;align-items:center;gap:4px;padding:3px 4px 3px 11px;font-size:12.5px;font-weight:600;display:inline-flex}.chip button{color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:50%;width:20px;height:20px;font-size:15px;line-height:1}.chip button:hover{color:var(--navy);background:#d7e1ee}.radio-card{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;align-items:flex-start;gap:12px;padding:12px 14px;transition:border-color .18s,background .18s;display:flex}.radio-card:has(input:checked){border-color:var(--navy-soft);background:var(--primary-soft)}.radio-card input{margin-top:3px}.radio-card b{color:var(--navy);display:block}.radio-card span{color:var(--text-3);font-size:12.5px}@media (width<=800px){.notif-row{grid-template-columns:1fr;gap:8px}}.month-nav{align-items:center;gap:6px;display:flex}.month-nav .btn.sm{width:32px;padding:0;font-size:18px}.section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);align-items:center;gap:10px;margin:6px 0 12px;font-size:13px;display:flex}.section-title:after{content:"";background:var(--border);flex:1;height:1px}.val-summary{border-radius:var(--radius);border:1px solid;align-items:center;gap:14px;padding:16px 20px;display:flex}.val-summary b{color:var(--navy);font-size:16px;display:block}.val-summary span{color:var(--text-2);font-size:13px}.val-summary.bad{background:var(--gold-soft);border-color:#efd9a4}.val-summary.ok{background:var(--success-soft);border-color:#bfe4d1}.val-summary:before{content:"";background:var(--gold) center / 20px no-repeat;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A2A05' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 9v4m0 4h.01M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z'/%3E%3C/svg%3E");border-radius:11px;flex:none;width:38px;height:38px}.val-summary.ok:before{background-color:var(--success);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E")}.val-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.val-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.val-card:before{content:"";background:var(--success);opacity:.7;height:3px;position:absolute;top:0;left:0;right:0}.val-card.hit:before{background:var(--gold);opacity:1}.val-card.hit.high:before{background:var(--danger)}.val-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.val-card header{flex:1;padding:18px 20px 12px}.val-card h3{margin-bottom:6px;font-size:14.5px}.val-card p{color:var(--text-3);margin:0;font-size:12.5px;line-height:1.5}.val-nums{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;display:grid}.val-nums button{font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:12px 20px;transition:background .15s}.val-nums button+button{border-left:1px solid var(--border)}.val-nums button:hover:not(:disabled){background:var(--surface-2)}.val-nums button:disabled{cursor:default}.val-nums span{text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);font-size:11px;font-weight:700;display:block}.val-nums b{color:var(--navy);font-variant-numeric:tabular-nums;font-size:24px;font-weight:750}.val-card.hit .val-nums button:first-child b{color:var(--danger)}@media (width<=1100px){.val-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=800px){.val-grid{grid-template-columns:1fr}}.admin-banner{background:radial-gradient(420px 260px at 0% 0%, #e3a82b29, transparent 70%), linear-gradient(180deg, var(--navy-2) 0%, var(--navy-3) 100%)}.pill-gold{background:var(--gold);color:var(--gold-ink);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:10.5px;font-weight:800;display:inline-flex}@media (width<=1200px){.search .input{width:260px}}@media (width<=1100px){.grid-4,.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-page{grid-template-columns:1fr 1fr}}.menu-btn,.menu-backdrop{display:none}@media (width<=800px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:40;width:min(290px,84vw);height:100dvh;transition:transform .25s cubic-bezier(.2,.8,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-102%);box-shadow:0 0 40px #08142673}.menu-open .sidebar{transform:none}.menu-backdrop{z-index:39;opacity:0;pointer-events:none;background:#0a162880;width:100vw;height:100dvh;transition:opacity .25s;display:block;position:fixed;top:0;left:0}.menu-open .menu-backdrop{opacity:1;pointer-events:auto}.menu-btn{cursor:pointer;border:1px solid var(--border);width:40px;height:40px;color:var(--navy);background:#fff;border-radius:10px;flex:none;place-items:center;display:grid}.menu-btn svg{width:20px;height:20px}.topbar{flex-wrap:wrap;gap:10px;height:auto;min-height:60px;padding:10px 14px}.topbar .spacer{display:none}.tenant-picker{flex:1;min-width:0}.tenant-picker>div{min-width:0}.tenant-picker .ic{display:none}.tenant-picker select{text-overflow:ellipsis;width:100%;max-width:100%}.search .input{width:100%}.search{flex:100%}.search kbd{display:none}.page-head p{margin-left:18px}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.main,.content,.grid>*,.form-grid>*,.stack>*,.field{min-width:0}.input,select.input{min-width:0;max-width:100%}select.input{text-overflow:ellipsis;width:100%}.card-head,.card-head>.row{flex-wrap:wrap}.btn{white-space:normal;text-align:center}.bars{overflow-x:auto}.legend{flex-wrap:wrap}.grid-4,.grid-3,.grid-2,.form-grid,.auth-page{grid-template-columns:1fr}.auth-side{display:none}.content{padding:18px 16px 40px}.kv,.timeline li{grid-template-columns:1fr}.timeline li:after,.timeline .dot{display:none}.timeline .when{text-align:left}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.input-affix{align-items:stretch;display:flex}.input-affix span{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text-3);place-items:center;padding:0 12px;font-size:13px;font-weight:650;display:grid}.input-affix span:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm);border-right:0}.input-affix span:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0;border-left:0}.input-affix .input{border-radius:0;flex:1;min-width:0}.input:disabled{background:var(--surface-2);color:var(--text-2);cursor:not-allowed}.input:user-invalid{border-color:#e6a19e}.trampa{opacity:0;width:1px;height:1px;position:absolute;left:-10000px}.trial-bar{border-radius:var(--radius-sm);background:var(--primary-soft);color:var(--navy);border:1px solid #cddaeb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;padding:11px 16px;font-size:13.5px;display:flex}.trial-bar.soon{background:var(--gold-soft);color:#6f4600;border-color:#efd9a4}.trial-bar.over{background:var(--danger-soft);color:#8f2521;border-color:#f1c9c7}.tips{background:var(--gold-soft,#fcf5e3);border:1px solid #f0dfb1;border-left:4px solid var(--gold);border-radius:var(--radius-sm,10px);color:var(--text-2,#4a5a72);margin-bottom:18px;padding:10px 16px;font-size:13.5px}.tips summary{cursor:pointer;color:var(--navy);align-items:center;gap:8px;font-weight:700;list-style:none;display:flex}.tips summary::-webkit-details-marker{display:none}.tips summary:before{content:"💡"}.tips summary:after{content:"▾";color:var(--text-3);margin-left:auto;transition:transform .2s}.tips[open] summary:after{transform:rotate(180deg)}.tips ul{gap:6px;margin:10px 0 4px;padding-left:20px;line-height:1.5;display:grid}
