@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,700;0,9..144,900;1,9..144,400&family=Syne:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font-family-body:"Syne", sans-serif;--font-family-display:"Fraunces", serif;--font-family-mono:"JetBrains Mono", "Menlo", "Consolas", monospace;--surface-canvas:#f8fafc;--surface-card:#fff;--surface-card-level-1:#fff;--surface-card-level-2:#f1f5f9;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--color-border:#e2e8f0;--accent-color:#10b981;--accent-hover:#059669;--focus-ring-color:#34d399;--interactive-focus-ring:var(--focus-ring-color);--color-danger:#ef4444;--color-danger-hover:#dc2626;--color-quad-1-border:#f59e0b;--color-quad-1-bg:#f59e0b14;--color-quad-2-border:#10b981;--color-quad-2-bg:#10b98114;--color-quad-3-border:#6b7280;--color-quad-3-bg:#6b728014;--color-quad-4-border:#ef4444;--color-quad-4-bg:#ef444414;--sidebar-w:260px;--radius:12px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000014, 0 2px 4px -1px #0000000a;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -2px #0000000a;--shadow-focus:0 0 0 3px #34d39966;--transition-speed-fast:.15s;--transition-speed-normal:.25s;--easing-standard:cubic-bezier(.4, 0, .2, 1)}html.dark{--surface-canvas:#0b0f19;--surface-card:#ffffff0a;--surface-card-level-1:#ffffff0a;--surface-card-level-2:#ffffff12;--surface-glass:#0b0f19d1;--text-primary:#fffffff2;--text-secondary:#fff9;--text-muted:#ffffff61;--color-border:#ffffff14;--color-border-hi:#ffffff29;--accent-color:#2dd4bf;--accent-color-2:#818cf8;--accent-hover:#5eead4;--focus-ring-color:#2dd4bf73;--color-danger:#f87171;--color-danger-hover:#ef4444;--color-quad-1-border:#f59e0b;--color-quad-1-bg:#f59e0b1f;--color-quad-2-border:#2dd4bf;--color-quad-2-bg:#2dd4bf1f;--color-quad-3-border:#94a3b8;--color-quad-3-bg:#94a3b814;--color-quad-4-border:#f87171;--color-quad-4-bg:#f871711f;--shadow-sm:0 1px 4px #00000080;--shadow-md:0 4px 24px #00000080, 0 1px 4px #0000004d;--shadow-lg:0 20px 60px #000000b3, 0 4px 16px #00000080;--glow-teal:#2dd4bf2e;--glow-indigo:#818cf824;--radius:14px}body{font-family:var(--font-family-body);background:var(--surface-canvas);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-speed-normal) var(--easing-standard), color var(--transition-speed-normal) var(--easing-standard);font-size:15px;line-height:1.6;overflow-x:hidden}:focus-visible{outline:3px solid var(--focus-ring-color);outline-offset:3px;transition:outline-offset .1s ease-in-out}h1{font-family:var(--font-family-display);color:var(--text-primary);letter-spacing:-.025em;font-optical-sizing:auto;font-size:32px;font-weight:900;line-height:1.12}h2{font-family:var(--font-family-display);color:var(--text-primary);letter-spacing:-.02em;font-optical-sizing:auto;font-size:22px;font-weight:700;line-height:1.2}h3,h4{font-family:var(--font-family-body);color:var(--text-primary);font-weight:700}label{color:var(--text-secondary);flex-direction:column;gap:6px;margin-bottom:16px;font-size:14px;font-weight:600;display:flex}input,select,textarea{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--surface-card);color:var(--text-primary);transition:border-color var(--transition-speed-fast), box-shadow var(--transition-speed-fast);outline:none;padding:10px 12px;font-family:inherit;font-size:14px}input:focus,select:focus,textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #10b98126}textarea{resize:vertical;min-height:80px}button{cursor:pointer;border-radius:var(--radius);border:1px solid var(--color-border);background:var(--surface-card);color:var(--text-primary);transition:all var(--transition-speed-fast);justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;display:inline-flex}button:hover{background:var(--surface-card-level-2)}button[type=submit],.page-header>button,button.primary{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}button[type=submit]:hover,.page-header>button:hover,button.primary:hover{background:var(--accent-hover)}button.danger{color:var(--color-danger);border-color:var(--color-danger)}button.danger:hover{background:#ef444414}button:disabled{opacity:.5;cursor:not-allowed}.form-row{flex-wrap:wrap;gap:12px;display:flex}.form-row label{flex:1;min-width:120px}.form-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.line-item-header,.line-item-row{align-items:center;gap:8px;display:flex}.line-item-header{text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);padding:0 2px 4px;font-size:11px;font-weight:600}.line-item-row+.line-item-row{margin-top:6px}.line-item-header>span:first-child,.line-item-row>input:first-child{flex:3;min-width:0}.line-item-header>span:nth-child(2),.line-item-row>input:nth-child(2){flex:1;min-width:60px;max-width:90px}.line-item-header>span:nth-child(3),.line-item-row>input:nth-child(3){flex:2;min-width:80px}.data-table{border-collapse:collapse;background:var(--surface-card);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-sm);margin-top:16px;overflow:hidden}.data-table th{text-align:left;background:var(--surface-card-level-2);border-bottom:1px solid var(--color-border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:14px 16px;font-size:12px;font-weight:600}.data-table td{border-bottom:1px solid var(--color-border);color:var(--text-primary);padding:14px 16px}.data-table tr:last-child td{border-bottom:none}.data-table a{color:var(--accent-color);font-weight:600;text-decoration:none}.data-table a:hover{text-decoration:underline}.data-table td button{margin-right:6px;padding:6px 12px;font-size:13px}.invoice-group{margin-top:12px}.invoice-group-header{background:var(--surface-card-level-2);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;transition:background var(--transition-speed-fast,.15s);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.invoice-group-header:hover{background:color-mix(in srgb, var(--surface-card-level-2) 80%, var(--color-border) 20%)}.invoice-group-header[aria-expanded=true]{border-bottom-color:#0000;border-bottom-right-radius:0;border-bottom-left-radius:0}.invoice-group-left{align-items:center;gap:10px;display:flex}.invoice-group-chevron{color:var(--text-muted);flex-shrink:0;font-size:11px;transition:transform .2s;display:inline-block}.invoice-group-header[aria-expanded=true] .invoice-group-chevron{transform:rotate(90deg)}.invoice-group-title{color:var(--text-primary);font-size:14px;font-weight:600}.invoice-group-meta{flex-shrink:0;align-items:center;gap:12px;display:flex}.invoice-group-count{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:500}.invoice-group-total{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.invoice-group-body .data-table{border-top:none;border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.badge{color:#fff;border-radius:100px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0006;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface-card);border:1px solid var(--color-border);border-radius:var(--radius);width:min(480px,95vw);max-height:none;box-shadow:var(--shadow-lg);flex-direction:column;padding:32px;display:flex}.modal.wide{width:min(720px,95vw)}.modal h2{margin-bottom:24px;font-size:20px;font-weight:700}.auth-page{background:var(--surface-card);border:1px solid var(--color-border);border-radius:var(--radius);max-width:420px;box-shadow:var(--shadow-lg);transition:background-color var(--transition-speed-normal), border-color var(--transition-speed-normal);margin:100px auto;padding:40px}.auth-page h1{text-align:center;font-size:24px;font-weight:700;font-family:var(--font-family-display);margin-bottom:28px}.auth-page p{text-align:center;color:var(--text-muted);margin-top:20px;font-size:14px}.auth-page a{color:var(--accent-color);font-weight:600;text-decoration:none}.auth-page a:hover{text-decoration:underline}.auth-page button[type=submit]{width:100%;margin-top:8px;padding:12px;font-size:15px}.error{color:var(--color-danger);margin-top:6px;font-size:13px;font-weight:500}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--surface-card);border-right:1px solid var(--color-border);z-index:50;transition:background-color var(--transition-speed-normal) var(--easing-standard), border-color var(--transition-speed-normal);flex-direction:column;padding:24px 16px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-logo{font-family:var(--font-family-display);color:var(--text-primary);letter-spacing:-.03em;font-optical-sizing:auto;align-items:baseline;gap:1px;padding:0 12px 32px;font-size:24px;font-weight:700;display:flex}.logo-dot{color:var(--accent-color)}.sidebar nav{flex-direction:column;flex:1;gap:6px;display:flex}.nav-item{border-radius:var(--radius);color:var(--text-secondary);transition:all var(--transition-speed-fast) var(--easing-standard);align-items:center;padding:12px 14px;font-size:15px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:var(--surface-card-level-2);color:var(--text-primary)}.nav-item.active{background:var(--color-quad-2-bg);color:var(--accent-color);font-weight:600}.sidebar-footer{flex-direction:column;gap:12px;margin-top:auto;display:flex}.theme-toggle-btn{border-radius:var(--radius);background:var(--surface-card-level-2);border:1px solid var(--color-border);width:100%;color:var(--text-primary);cursor:pointer;transition:all var(--transition-speed-fast);justify-content:center;align-items:center;gap:8px;padding:10px;font-size:14px;font-weight:500;display:flex}.theme-toggle-btn:hover{background:var(--color-border)}.sign-out{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;color:var(--text-secondary);text-align:center;transition:all var(--transition-speed-fast);background:0 0;padding:10px 14px;font-size:14px;font-weight:500}.sign-out:hover{color:var(--color-danger);border-color:var(--color-danger);background:#ef444414}.main-content{margin-left:var(--sidebar-w);max-width:1400px;transition:margin-left var(--transition-speed-normal) var(--easing-standard);flex:1;padding:40px 48px}.global-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.global-search-container{flex:1;max-width:420px;position:relative}.global-search-input{border-radius:var(--radius);border:1px solid var(--color-border);background:var(--surface-card);width:100%;color:var(--text-primary);transition:border-color var(--transition-speed-fast);outline:none;padding:10px 16px 10px 38px;font-size:14px}.global-search-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #10b98126}.global-search-icon{color:var(--text-muted);pointer-events:none;font-size:14px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.global-search-shortcut{background:var(--surface-card-level-2);border:1px solid var(--color-border);color:var(--text-muted);pointer-events:none;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:11px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.header-right-panel{align-items:center;gap:16px;display:flex}.alert-bell-btn{border:1px solid var(--color-border);cursor:pointer;width:40px;height:40px;color:var(--text-secondary);transition:all var(--transition-speed-fast);background:0 0;border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.alert-bell-btn:hover{background:var(--surface-card-level-2);color:var(--text-primary)}.alert-bell-badge{background:var(--color-danger);border-radius:50%;width:8px;height:8px;position:absolute;top:8px;right:8px}.user-profile-badge{border:1px solid var(--color-border);background:var(--surface-card);border-radius:20px;align-items:center;gap:10px;padding:6px 12px 6px 6px;display:flex}.user-avatar{background:var(--accent-color);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:600;display:flex}.user-name{color:var(--text-primary);font-size:13px;font-weight:600}.financial-metric-value{font-family:var(--font-family-mono);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum";font-weight:600}.dashboard-grid{grid-template-columns:1fr;gap:28px;margin-bottom:28px;display:grid}@media (width>=1024px){.dashboard-grid{grid-template-columns:2fr 1fr}}.dashboard-left-col,.dashboard-right-col{flex-direction:column;gap:28px;display:flex}.dashboard-bento{grid-template-columns:repeat(4,1fr);grid-template-areas:"kpi kpi kpi kpi""matrix matrix actions overdue";gap:20px;margin-bottom:28px;display:grid}.bento-kpi{grid-area:kpi}.bento-matrix{grid-area:matrix}.bento-actions{grid-area:actions}.bento-overdue{grid-area:overdue}@media (width<=1399px){.dashboard-bento{grid-template-columns:1fr 1fr;grid-template-areas:"kpi kpi""matrix matrix""actions overdue"}}@media (width<=1023px){.dashboard-bento{grid-template-columns:1fr;grid-template-areas:"kpi""matrix""actions""overdue"}}@media (width<=767px){.dashboard-bento{gap:12px}.bento-panel-accordion>summary{background:var(--surface-card);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:14px 18px;font-size:14px;font-weight:600;list-style:none;display:flex}.bento-panel-accordion>summary::-webkit-details-marker{display:none}.bento-panel-accordion>summary:after{content:"›";color:var(--text-muted);font-size:18px;transition:transform .2s}.bento-panel-accordion[open]>summary:after{transform:rotate(90deg)}.bento-panel-accordion[open]>summary{border-bottom-color:#0000;border-bottom-right-radius:0;border-bottom-left-radius:0}.bento-panel-accordion>.bento-panel-body{border:1px solid var(--color-border);border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);border-top:none;overflow:hidden}}.kpi-cards-row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:8px;display:grid}.kpi-card{background:var(--surface-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform var(--transition-speed-fast), box-shadow var(--transition-speed-fast), background-color var(--transition-speed-normal);flex-direction:column;justify-content:space-between;padding:24px;display:flex;position:relative;overflow:hidden}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.kpi-card-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:13px;font-weight:600}.kpi-card-icon-wrapper{color:var(--text-muted)}.kpi-card-body{flex-direction:column;gap:8px;display:flex}.kpi-card-value{color:var(--text-primary);font-size:24px;font-weight:700;font-family:var(--font-family-mono);font-variant-numeric:tabular-nums lining-nums}.kpi-card-trend{align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.kpi-card-trend.up{color:var(--accent-color)}.kpi-card-trend.down{color:var(--color-danger)}.kpi-card-trend.neutral{color:var(--text-muted)}.pwi-card-content{align-items:center;gap:20px;display:flex}.pwi-circular-container{flex-shrink:0;width:70px;height:70px;position:relative}.pwi-circular-svg{width:100%;height:100%;transform:rotate(-90deg)}.pwi-circular-bg{fill:none;stroke:var(--surface-card-level-2);stroke-width:8px}.pwi-circular-fill{fill:none;stroke:var(--accent-color);stroke-width:8px;stroke-linecap:round;transition:stroke-dasharray var(--transition-speed-normal) ease-in-out}.pwi-circular-text{color:var(--text-primary);justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;position:absolute;inset:0}.pwi-details-panel{border-top:1px solid var(--color-border);flex-direction:column;gap:10px;margin-top:16px;padding-top:16px;font-size:13px;display:flex}.pwi-detail-item{color:var(--text-secondary);justify-content:space-between;display:flex}.pwi-detail-label{font-weight:500}.pwi-detail-value{color:var(--text-primary);font-weight:600}.pwi-expand-btn{color:var(--accent-color);cursor:pointer;text-align:left;background:0 0;border:none;align-self:flex-start;margin-top:4px;padding:0;font-size:12px;font-weight:600}.pwi-expand-btn:hover{background:0 0;text-decoration:underline}.kpi-sparkline-container{height:40px;margin-top:8px}.kpi-sparkline-svg{width:100%;height:100%}.kpi-sparkline-path{fill:none;stroke:var(--accent-color);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.kpi-sparkline-fill{fill:url(#sparkline-gradient);stroke:none}.dso-badge{border-radius:100px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.dso-badge.low{color:#10b981;background:#10b9811a}.dso-badge.medium{color:#f59e0b;background:#f59e0b1a}.dso-badge.high{color:#ef4444;background:#ef44441a}.tax-progress-container{background:var(--surface-card-level-2);border-radius:3px;width:100%;height:6px;margin-top:8px;overflow:hidden}.tax-progress-bar{background:var(--accent-color);height:100%;transition:width var(--transition-speed-normal) ease-in-out;border-radius:3px}.matrix-container{background:var(--surface-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:background-color var(--transition-speed-normal);flex-direction:column;gap:16px;padding:24px;display:flex}.matrix-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.matrix-title-group h2{margin-bottom:4px;font-size:18px;font-weight:700}.matrix-title-group p{color:var(--text-muted);font-size:13px}.matrix-legend{flex-wrap:wrap;gap:12px;display:flex}.legend-item{align-items:center;gap:6px;font-size:11px;font-weight:500;display:flex}.legend-color{border:1px solid #0000;border-radius:50%;width:10px;height:10px}.matrix-visualization-wrapper{width:100%;position:relative}.canvas-container{aspect-ratio:4/3;width:100%;min-height:300px;position:relative}.matrix-svg{width:100%;height:100%;display:block}.matrix-grid-line{stroke:var(--color-border);stroke-dasharray:4 4;stroke-width:1px;transition:stroke .2s,opacity .25s}.matrix-svg.has-hover .matrix-grid-line{opacity:.35}.matrix-grid-line.main{stroke:var(--text-muted);stroke-width:1.5px;stroke-dasharray:none}.matrix-axis-label{fill:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;-webkit-user-select:none;user-select:none;font-size:10px;font-weight:600}.matrix-quadrant-label{fill:var(--text-muted);opacity:.5;-webkit-user-select:none;user-select:none;pointer-events:none;font-size:11px;font-weight:600}.matrix-bubble{cursor:pointer;transition:opacity .25s,fill .2s,stroke .2s}.matrix-bubble.dimmed{opacity:.4;filter:grayscale(30%);transition:opacity .2s,filter .2s}.matrix-bubble.focused{stroke:var(--text-primary);stroke-width:3px;stroke-dasharray:none}.matrix-bubble:hover circle{stroke-width:4px;fill-opacity:.3}.matrix-tooltip{z-index:100;-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-lg);pointer-events:none;background:#1e1e20e6;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:10px;width:280px;padding:16px;font-size:13px;transition:opacity .15s ease-out,transform .15s ease-out;display:flex;position:absolute;transform:translate(-50%,-105%)}.tooltip-title{color:var(--text-primary);border-bottom:1px solid var(--color-border);padding-bottom:6px;font-size:14px;font-weight:700}.tooltip-row{flex-direction:column;gap:4px;display:flex}.tooltip-label{color:var(--text-muted);font-size:11px;font-weight:500}.tooltip-value-bar-container{align-items:center;gap:8px;display:flex}.tooltip-bar{background:var(--surface-card-level-2);border-radius:3px;flex:1;height:6px;overflow:hidden}.tooltip-bar-fill{border-radius:3px;height:100%}.tooltip-num{text-align:right;font-variant-numeric:tabular-nums;width:36px;font-size:12px;font-weight:600}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dashboard-tabs{background:var(--surface-card-level-2);border:1px solid var(--color-border);z-index:40;-webkit-backdrop-filter:blur(12px);width:fit-content;box-shadow:var(--shadow-sm);border-radius:999px;gap:4px;margin-bottom:24px;padding:4px;display:flex;position:sticky;top:12px}.dashboard-tab{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-speed-fast) var(--easing-standard);white-space:nowrap;background:0 0;border:none;border-radius:999px;align-items:center;gap:8px;padding:6px 16px;font-size:13.5px;font-weight:600;display:inline-flex}.dashboard-tab:hover{color:var(--text-primary);background:var(--surface-card)}.dashboard-tab.active{background:var(--surface-card);color:var(--text-primary);box-shadow:var(--shadow-sm);background:var(--surface-card);box-shadow:var(--shadow-sm), 0 2px 4px #0000000d}.nav-icon{flex-shrink:0;display:block}.score-input{color:var(--text-secondary);flex-direction:column;gap:6px;margin-bottom:16px;font-size:14px;font-weight:600;display:flex}.score-buttons{flex-wrap:wrap;gap:6px;display:flex}.score-buttons button{border:1px solid var(--color-border);background:var(--surface-card);width:38px;height:38px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-speed-fast);border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:14px;font-weight:600;display:flex}.score-buttons button:hover{background:var(--surface-card-level-2);border-color:var(--accent-color);color:var(--text-primary)}.score-buttons button.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.page{flex-direction:column;gap:24px;display:flex}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.metric-card{background:var(--surface-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:20px 24px;display:inline-flex}.metric-value{color:var(--accent-color);font-size:28px;font-weight:700;font-family:var(--font-family-mono);font-variant-numeric:tabular-nums lining-nums}.overdue-center{background:var(--surface-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:background-color var(--transition-speed-normal);flex-direction:column;gap:16px;padding:24px;display:flex}.overdue-header{justify-content:space-between;align-items:center;display:flex}.overdue-title-group h2{font-size:18px;font-weight:700}.overdue-list{flex-direction:column;gap:12px;display:flex}.overdue-item{border-radius:var(--radius);transition:all var(--transition-speed-fast);border-left:4px solid #0000;justify-content:space-between;align-items:center;padding:16px;display:flex}.overdue-item.tier-1{background:var(--color-quad-1-bg);border-color:var(--color-quad-1-border)}.overdue-item.tier-2{background:#d977061f;border-color:#d97706}.overdue-item.tier-3{background:var(--color-quad-4-bg);border-color:var(--color-quad-4-border)}.overdue-item-left{flex-direction:column;gap:4px;display:flex}.overdue-client-name{color:var(--text-primary);font-size:15px;font-weight:600}.overdue-meta{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.overdue-days-badge{border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700}.tier-1 .overdue-days-badge{color:#b45309;background:#f59e0b26}.tier-2 .overdue-days-badge{color:#b45309;background:#f59e0b33}.tier-3 .overdue-days-badge{color:#b91c1c;background:#ef444426}.overdue-amount{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.overdue-actions-btn{background:var(--surface-card);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-speed-fast);border-radius:6px;padding:8px 12px;font-size:12px;font-weight:600}.overdue-actions-btn:hover{background:var(--surface-card-level-2)}.drawer-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;pointer-events:none;transition:opacity var(--transition-speed-normal) var(--easing-standard);background:#0006;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer-overlay.open{opacity:1;pointer-events:auto}.drawer-content{background:var(--surface-card);width:100%;max-width:480px;height:100%;box-shadow:var(--shadow-lg);transition:transform var(--transition-speed-normal) var(--easing-standard);flex-direction:column;display:flex;transform:translate(100%)}.drawer-overlay.open .drawer-content{transform:translate(0)}.drawer-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:24px;display:flex}.drawer-title{font-size:20px;font-weight:700}.drawer-close-btn{cursor:pointer;color:var(--text-muted);width:36px;height:36px;transition:all var(--transition-speed-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:24px;display:flex}.drawer-close-btn:hover{background:var(--surface-card-level-2);color:var(--text-primary)}.drawer-body{flex-direction:column;flex:1;gap:20px;padding:24px;display:flex;overflow-y:auto}.drawer-footer{border-top:1px solid var(--color-border);background:var(--surface-card-level-2);justify-content:flex-end;gap:12px;padding:20px 24px;display:flex}.quick-actions-card{background:var(--surface-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:background-color var(--transition-speed-normal);flex-direction:column;gap:16px;padding:24px;display:flex}.quick-actions-card h2{font-size:18px;font-weight:700}.quick-actions-list{flex-direction:column;gap:10px;display:flex}.action-btn{border-radius:var(--radius);border:1px solid var(--color-border);background:var(--surface-card);width:100%;color:var(--text-primary);cursor:pointer;transition:all var(--transition-speed-fast) var(--easing-standard);text-align:left;justify-content:space-between;align-items:center;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.action-btn:hover{background:var(--surface-card-level-2);border-color:var(--accent-color);transform:translate(4px)}.action-btn-left{align-items:center;gap:12px;display:flex}.action-shortcut-badge{background:var(--surface-card-level-2);border:1px solid var(--color-border);color:var(--text-muted);border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700}.form-step-indicator{justify-content:space-between;margin-bottom:20px;display:flex;position:relative}.form-step-indicator:before{content:"";background:var(--color-border);z-index:1;height:2px;position:absolute;top:15px;left:0;right:0}.step-node{z-index:2;background:var(--surface-card);border:2px solid var(--color-border);width:32px;height:32px;color:var(--text-muted);transition:all var(--transition-speed-fast);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;position:relative}.step-node.active{border-color:var(--accent-color);background:var(--accent-color);color:#fff}.step-node.completed{border-color:var(--accent-color);background:var(--color-quad-2-bg);color:var(--accent-color)}.form-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-field label{color:var(--text-secondary);font-size:13px;font-weight:600}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--color-border);background:var(--surface-card);width:100%;color:var(--text-primary);border-radius:8px;outline:none;padding:10px 12px;font-size:14px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #10b98126}.form-field.error input{border-color:var(--color-danger)}.form-field-error-msg{color:var(--color-danger);font-size:12px;font-weight:500}.invoice-items-form-table{border-collapse:collapse;width:100%;margin-bottom:16px}.invoice-items-form-table th{text-align:left;color:var(--text-muted);padding:8px 4px;font-size:12px;font-weight:600}.invoice-items-form-table td{padding:6px 4px}.remove-item-btn{color:var(--color-danger);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:16px}.remove-item-btn:hover{background:#ef444414}.add-item-btn{border:1px dashed var(--color-border);color:var(--accent-color);cursor:pointer;width:100%;transition:all var(--transition-speed-fast);background:0 0;border-radius:8px;padding:8px;font-weight:600}.add-item-btn:hover{background:var(--color-quad-2-bg);border-color:var(--accent-color)}.invoice-summary-box{background:var(--surface-card-level-2);border-radius:8px;flex-direction:column;gap:8px;margin-top:16px;padding:16px;display:flex}.invoice-summary-row{color:var(--text-secondary);justify-content:space-between;font-size:13px;display:flex}.invoice-summary-row.total{color:var(--text-primary);border-top:1px solid var(--color-border);padding-top:8px;font-size:15px;font-weight:700}.mobile-matrix-list-fallback,.mobile-header-bar,.mobile-sticky-action-bar{display:none}@media (width<=768px){body{padding-bottom:72px}.sidebar{transition:transform var(--transition-speed-normal) var(--easing-standard);transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.main-content{margin-left:0;padding:20px 16px}.global-header{display:none}.mobile-header-bar{background:var(--surface-card);border-bottom:1px solid var(--color-border);z-index:100;justify-content:space-between;align-items:center;padding:16px;display:flex;position:sticky;top:0}.mobile-logo{font-family:var(--font-family-display);color:var(--text-primary);font-optical-sizing:auto;align-items:baseline;gap:1px;font-size:22px;font-weight:700;display:flex}.mobile-menu-toggle{cursor:pointer;color:var(--text-primary);background:0 0;border:none;font-size:20px}.mobile-sticky-action-bar{background:var(--surface-card);border-top:1px solid var(--color-border);z-index:90;justify-content:space-around;align-items:center;height:64px;padding:0 16px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 10px #0000000d}.mobile-sticky-btn{height:48px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.mobile-sticky-btn.primary{background:var(--accent-color);color:#fff}.canvas-container{display:none}.mobile-matrix-list-fallback{flex-direction:column;gap:12px;display:flex}.mobile-client-card{background:var(--surface-card-level-2);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:12px;padding:16px;display:flex}.mobile-client-card-header{justify-content:space-between;align-items:flex-start;display:flex}.mobile-client-name-wrap{flex-direction:column;display:flex}.mobile-client-name{color:var(--text-primary);font-weight:700}.mobile-client-quadrant{color:var(--text-muted);font-size:11px;font-weight:600}.mobile-client-pwi{color:var(--accent-color);background:var(--color-quad-2-bg);border-radius:6px;padding:4px 8px;font-size:14px;font-weight:700}.mobile-client-card-stats{grid-template-columns:1fr 1fr;gap:10px;font-size:13px;display:grid}.mobile-stat-item{flex-direction:column;gap:2px;display:flex}.mobile-stat-label{color:var(--text-muted);font-size:11px;font-weight:500}.mobile-stat-value{color:var(--text-primary);font-weight:600}}.page-transition{will-change:opacity;animation:.45s cubic-bezier(.16,1,.3,1) forwards fadeSlideUp;position:relative}@keyframes fadeSlideUp{0%{opacity:0;top:12px}to{opacity:1;top:0}}.sidebar nav,.nav-item{position:relative}.nav-item.active:before{content:"";background:var(--accent-color);border-radius:0 4px 4px 0;width:4px;position:absolute;top:8px;bottom:8px;left:0}.auth-container{background:var(--surface-canvas);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.auth-glow-1{filter:blur(80px);pointer-events:none;background:radial-gradient(circle,#10b98129 0%,#10b98100 70%);border-radius:50%;width:450px;height:450px;position:absolute;top:-120px;left:-120px}.auth-glow-2{filter:blur(90px);pointer-events:none;background:radial-gradient(circle,#6366f124 0%,#6366f100 70%);border-radius:50%;width:550px;height:550px;position:absolute;bottom:-150px;right:-120px}.auth-card-glass{-webkit-backdrop-filter:blur(20px)saturate(120%);backdrop-filter:blur(20px)saturate(120%);border-radius:var(--radius);z-index:10;width:100%;max-width:420px;transition:background-color var(--transition-speed-normal), border-color var(--transition-speed-normal), box-shadow var(--transition-speed-normal);background:#ffffffb3;border:1px solid #fff6;padding:40px;box-shadow:0 12px 36px #0f172a0a}html.dark .auth-card-glass{background:#1e1e20a6;border:1px solid #ffffff12;box-shadow:0 16px 48px #00000073}.auth-demo-banner{color:var(--accent-color);text-align:center;background:#10b98114;border:1px solid #10b98133;border-radius:8px;margin-top:24px;padding:12px 14px;font-size:12.5px;font-weight:500;line-height:1.45}.sparkline-hover-dot{fill:var(--accent-color);stroke:var(--surface-card);stroke-width:2.5px;filter:drop-shadow(0 2px 4px #00000026);pointer-events:none;transition:cx 80ms,cy 80ms}.sparkline-guide-line{stroke:var(--color-border);stroke-dasharray:4 4;stroke-width:1px;pointer-events:none;transition:x1 80ms,x2 80ms}.sparkline-tooltip{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;pointer-events:none;box-shadow:var(--shadow-md);white-space:nowrap;z-index:50;background:#0f172ae0;border:1px solid #ffffff1f;border-radius:8px;margin-top:-12px;padding:8px 12px;font-size:11px;font-weight:600;transition:left 80ms,top 80ms;position:absolute;transform:translate(-50%,-100%)}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;width:calc(100% - 48px);max-width:360px;display:flex;position:fixed;bottom:24px;right:24px}.toast-notification{pointer-events:auto;background:var(--surface-card);border-left:4px solid var(--accent-color);border-radius:var(--radius);box-shadow:var(--shadow-lg);color:var(--text-primary);border:1px solid var(--color-border);border-left-width:4px;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;font-size:14px;font-weight:500;animation:.35s cubic-bezier(.16,1,.3,1) forwards toastSlideIn;display:flex}.toast-notification.success{border-left-color:var(--accent-color)}.toast-notification.error{border-left-color:var(--color-danger)}.toast-notification.warning{border-left-color:var(--color-quad-1-border)}.toast-notification.info{border-left-color:var(--color-quad-3-border)}.toast-close-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:2px;font-size:18px;line-height:1;display:flex}.toast-close-btn:hover{color:var(--text-primary)}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.notifications-dropdown{background:var(--surface-card);border:1px solid var(--color-border);border-radius:var(--radius);width:320px;box-shadow:var(--shadow-lg);z-index:1000;pointer-events:auto;flex-direction:column;animation:.25s cubic-bezier(.16,1,.3,1) forwards fadeSlideUp;display:flex;position:absolute;top:50px;right:0;overflow:hidden}.notifications-header{border-bottom:1px solid var(--color-border);color:var(--text-primary);background:var(--surface-card);justify-content:space-between;align-items:center;padding:14px 16px;font-size:14px;font-weight:600;display:flex}.mark-all-read-btn{color:var(--accent-color);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px;font-weight:600}.mark-all-read-btn:hover{background:0 0;text-decoration:underline}.notifications-list{background:var(--surface-card);max-height:280px;overflow-y:auto}.notification-item{border-bottom:1px solid var(--color-border);color:var(--text-primary);transition:background-color var(--transition-speed-fast) var(--easing-standard);flex-direction:column;gap:4px;padding:12px 16px;font-size:12.5px;line-height:1.4;display:flex}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--surface-card-level-2)}.notification-item.read{opacity:.6}.notification-item.success{border-left:3.5px solid var(--accent-color)}.notification-item.error{border-left:3.5px solid var(--color-danger)}.notification-item.info{border-left:3.5px solid var(--color-quad-3-border)}.notification-text{font-weight:500}.notification-time{color:var(--text-muted);font-size:10px}.notifications-empty{text-align:center;color:var(--text-muted);padding:24px;font-size:13px;font-style:italic}.corporate-finance-card{background:var(--surface-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:background-color var(--transition-speed-normal);padding:28px}.finance-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.card-subtitle{color:var(--text-muted);margin-top:4px;font-size:13px}.payouts-total-badge{background:var(--color-quad-2-bg);color:var(--accent-color);border:1px solid var(--color-quad-2-border);border-radius:6px;padding:4px 12px;font-size:13px;font-weight:700}html.dark body{background:var(--surface-canvas)}html.dark .app-shell{position:relative}html.dark .app-shell:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(60% 50% at 70% 10%,#2dd4bf14 0%,#0000 65%),radial-gradient(40% 40% at 15% 80%,#818cf812 0%,#0000 60%),radial-gradient(30% 25% at 85% 85%,#2dd4bf0d 0%,#0000 55%);position:fixed;inset:0}html.dark .sidebar{-webkit-backdrop-filter:blur(20px);z-index:50;background:#0b0f19d1;border-right:1px solid #ffffff14}html.dark .sidebar-logo{color:var(--text-primary)}html.dark .nav-item{color:var(--text-secondary)}html.dark .nav-item:hover{color:var(--text-primary);background:#ffffff0f}html.dark .nav-item.active{color:var(--accent-color);background:#2dd4bf1f}html.dark .nav-item.active:before{background:var(--accent-color)}html.dark .theme-toggle-btn{color:var(--text-secondary);background:#ffffff0d;border:1px solid #ffffff14}html.dark .theme-toggle-btn:hover{color:var(--text-primary);background:#ffffff17}html.dark .sign-out{color:var(--text-muted);border-color:#ffffff14}html.dark .global-header{z-index:40;-webkit-backdrop-filter:blur(20px);background:#0b0f19b8;border-bottom:1px solid #ffffff0f;margin-bottom:0;margin-left:-48px;margin-right:-48px;padding:14px 48px;position:sticky;top:0}html.dark .global-search-input{color:var(--text-primary);background:#ffffff0d;border-color:#ffffff14}html.dark .global-search-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #2dd4bf2e}html.dark .global-search-shortcut{background:#ffffff0d;border-color:#ffffff14}html.dark .alert-bell-btn{background:#ffffff0a;border-color:#ffffff14}html.dark .alert-bell-btn:hover{background:#ffffff17}html.dark .user-profile-badge{background:#ffffff0d;border-color:#ffffff14}html.dark .main-content{z-index:1;position:relative}html.dark .kpi-card{-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-md), inset 0 1px 0 #ffffff0f;background:#ffffff0a;border:1px solid #ffffff14}html.dark .kpi-card:hover{box-shadow:var(--shadow-lg), 0 0 0 1px #ffffff0d, inset 0 1px 0 #ffffff14;background:#ffffff0f;border-color:#ffffff24;transform:translateY(-3px)}html.dark .matrix-container,html.dark .quick-actions-card{-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-md), inset 0 1px 0 #ffffff0f;background:#ffffff0a;border:1px solid #ffffff14}html.dark .action-btn{background:#ffffff08;border-color:#ffffff14}html.dark .action-btn:hover{background:#ffffff12;border-color:#2dd4bf66}html.dark .overdue-center{-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-md), inset 0 1px 0 #ffffff0f;background:#ffffff0a;border:1px solid #ffffff14}html.dark .overdue-actions-btn{background:#ffffff0a;border-color:#ffffff1a}html.dark .overdue-actions-btn:hover{background:#ffffff14}html.dark .corporate-finance-card{-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-md), inset 0 1px 0 #ffffff0f;background:#ffffff0a;border:1px solid #ffffff14}html.dark .metric-card{-webkit-backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #ffffff14}html.dark .modal{-webkit-backdrop-filter:blur(24px);box-shadow:var(--shadow-lg);background:#0b0f19e0;border:1px solid #ffffff1a}html.dark .drawer-content{-webkit-backdrop-filter:blur(24px);background:#0b0f19e6;border-left:1px solid #ffffff14}html.dark .drawer-footer{background:#ffffff0a;border-top-color:#ffffff14}html.dark .dashboard-tabs{background:#ffffff0d;border-color:#ffffff14}html.dark .dashboard-tab.active{color:var(--accent-color);background:#2dd4bf24}html.dark .dashboard-tab:hover{color:var(--text-primary);background:#ffffff14}html.dark .data-table{background:#ffffff0a;border:1px solid #ffffff14}html.dark .data-table th{background:#ffffff0a;border-bottom-color:#ffffff14}html.dark .data-table td{border-bottom-color:#ffffff0f}html.dark input,html.dark select,html.dark textarea{color:var(--text-primary);background:#ffffff0d;border-color:#ffffff1a}html.dark input:focus,html.dark select:focus,html.dark textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #2dd4bf2e}html.dark button{color:var(--text-primary);background:#ffffff0d;border-color:#ffffff1a}html.dark button:hover{background:#ffffff17}html.dark button[type=submit],html.dark .page-header>button,html.dark button.primary{background:var(--accent-color);color:#0b0f19;border-color:var(--accent-color);font-weight:700}html.dark button[type=submit]:hover,html.dark .page-header>button:hover,html.dark button.primary:hover{background:var(--accent-hover);box-shadow:0 0 0 4px #2dd4bf29,0 0 36px #2dd4bf33}html.dark .notifications-dropdown{-webkit-backdrop-filter:blur(20px);background:#0b0f19e6;border-color:#ffffff1a}html.dark .notifications-header{background:#ffffff0a;border-bottom-color:#ffffff14}html.dark .notifications-list{background:0 0}html.dark .notification-item{border-bottom-color:#ffffff0f}html.dark .notification-item:hover{background:#ffffff0d}html.dark .toast-notification{-webkit-backdrop-filter:blur(16px);background:#0b0f19e0;border-color:#ffffff1a}html.dark .mobile-header-bar{-webkit-backdrop-filter:blur(20px);background:#0b0f19e0;border-bottom-color:#ffffff14}html.dark .mobile-sticky-action-bar{-webkit-backdrop-filter:blur(20px);background:#0b0f19e0;border-top-color:#ffffff14}html.dark .auth-glow-1{background:radial-gradient(circle,#2dd4bf33 0%,#2dd4bf00 70%)}html.dark .auth-glow-2{background:radial-gradient(circle,#818cf82e 0%,#818cf800 70%)}html.dark .auth-card-glass{-webkit-backdrop-filter:blur(24px);background:#0b0f19b8;border:1px solid #ffffff1a;box-shadow:0 20px 60px #0009,inset 0 1px #ffffff0f}html.dark .auth-demo-banner{background:#2dd4bf14;border-color:#2dd4bf38}html.dark .bento-panel-accordion>summary{-webkit-backdrop-filter:blur(12px);background:#ffffff0a;border-color:#ffffff14}html.dark .bento-panel-accordion>.bento-panel-body{border-color:#ffffff14}html.dark .pwi-circular-bg{stroke:#ffffff14}html.dark .score-buttons button{background:#ffffff0a;border-color:#ffffff1a}html.dark .score-buttons button:hover{background:#ffffff14;border-color:#2dd4bf66}html.dark .score-buttons button.active{background:var(--accent-color);border-color:var(--accent-color);color:#0b0f19}.page-eyebrow{font-family:var(--font-family-body);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-color);margin-bottom:.5rem;font-size:.72rem;font-weight:700;display:inline-block}@keyframes shimmerSweep{0%{opacity:1;left:-80%}to{opacity:1;left:110%}}html.dark button[type=submit]:after,html.dark button.primary:after{content:"";pointer-events:none;opacity:0;background:linear-gradient(90deg,#0000,#ffffff38,#0000);width:55%;height:100%;position:absolute;top:0;left:-80%;transform:skew(-15deg)}html.dark button[type=submit],html.dark button.primary{position:relative;overflow:hidden}html.dark button[type=submit]:hover:after,html.dark button.primary:hover:after{opacity:1;animation:.55s cubic-bezier(.4,0,.2,1) forwards shimmerSweep}html.dark :focus-visible{outline-color:#2dd4bfb3}.logo-home-link{color:inherit;text-decoration:none;display:contents}.auth-top-bar{z-index:20;pointer-events:none;justify-content:space-between;align-items:center;padding:18px 28px;display:flex;position:fixed;top:0;left:0;right:0}.auth-logo-link{pointer-events:auto;font-family:var(--font-family-display,"Fraunces", serif);font-optical-sizing:auto;color:var(--text-primary,#f8fafc);letter-spacing:-.01em;align-items:baseline;gap:0;font-size:1.25rem;font-weight:900;text-decoration:none;transition:opacity .15s;display:flex}.auth-logo-link:hover{opacity:.75}.auth-lang-btn{pointer-events:auto;color:var(--text-primary,#f8fafc);letter-spacing:.1em;cursor:pointer;-webkit-backdrop-filter:blur(8px);font-size:.75rem;font-weight:700;font-family:var(--font-family-body,"Syne", sans-serif);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:20px;padding:6px 16px;transition:background .15s,border-color .15s}.auth-lang-btn:hover{color:#2dd4bf;background:#2dd4bf26;border-color:#2dd4bf66}.auth-step-container{width:100%;position:relative}.auth-step-enter{will-change:transform, opacity;animation:.32s cubic-bezier(.16,1,.3,1) forwards authStepIn}.auth-step-exit{will-change:transform, opacity;pointer-events:none;animation:.18s cubic-bezier(.4,0,1,1) forwards authStepOut}@keyframes authStepIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes authStepOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-24px)}}.otp-input-row{justify-content:center;gap:8px;margin:20px 0;display:flex}.otp-box{text-align:center;font-variant-numeric:tabular-nums;border:1.5px solid var(--color-border);background:var(--surface-card-level-2);width:44px;height:52px;color:var(--text-primary);caret-color:var(--accent-color);border-radius:10px;outline:none;padding:0;font-size:20px;font-weight:700;transition:border-color .15s,box-shadow .15s,background .15s}.otp-box:focus{border-color:var(--accent-color);background:var(--surface-card);box-shadow:0 0 0 3px #10b9812e}.otp-box.otp-filled{border-color:var(--accent-color);background:var(--surface-card)}.otp-box.otp-error{border-color:var(--color-danger);animation:.36s cubic-bezier(.36,.07,.19,.97) both otpShake;box-shadow:0 0 0 3px #ef444426}html.dark .otp-box{background:var(--surface-card-level-2)}html.dark .otp-box:focus,html.dark .otp-box.otp-filled{background:var(--surface-card)}@keyframes otpShake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(3px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.two-factor-header{text-align:center;margin-bottom:8px}.two-factor-header h2{font-family:var(--font-family-display);color:var(--text-primary);margin-bottom:6px;font-size:20px;font-weight:700}.two-factor-header p{color:var(--text-muted);font-size:13.5px;line-height:1.5}.two-factor-submit{background:var(--accent-color);color:#fff;border-color:var(--accent-color);border-radius:var(--radius);width:100%;margin-top:4px;padding:12px;font-size:15px}.two-factor-submit:hover:not(:disabled){background:var(--accent-hover)}.two-factor-submit:disabled{opacity:.45;cursor:not-allowed}.two-factor-error{color:var(--color-danger);text-align:center;min-height:18px;margin-top:8px;font-size:13px;font-weight:500}.two-factor-actions{flex-direction:column;align-items:center;gap:10px;margin-top:16px;display:flex}.two-factor-back-link{color:var(--text-muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:13px;font-weight:500;text-decoration:underline}.two-factor-back-link:hover{color:var(--text-secondary);background:0 0}.recovery-toggle{color:var(--accent-color);cursor:pointer;text-underline-offset:3px;letter-spacing:.01em;background:0 0;border:none;padding:0;font-size:12.5px;font-weight:600;text-decoration:underline}.recovery-toggle:hover{color:var(--accent-hover);background:0 0}.recovery-panel{background:var(--surface-card-level-2);border:1px solid var(--color-border);border-radius:10px;flex-direction:column;gap:8px;margin-top:16px;padding:14px;animation:.22s cubic-bezier(.16,1,.3,1) forwards authStepIn;display:flex}.recovery-panel label{color:var(--text-secondary);margin-bottom:0;font-size:12.5px;font-weight:600}.recovery-textarea{resize:none;letter-spacing:.05em;border:1.5px solid var(--color-border);background:var(--surface-card);width:100%;min-height:72px;color:var(--text-primary);border-radius:8px;outline:none;padding:10px 12px;font-family:Menlo,Consolas,monospace;font-size:13px;transition:border-color .15s,box-shadow .15s}.recovery-textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #10b98126}.pw-requirements{background:var(--surface-card-level-2);border:1px solid var(--color-border);border-radius:8px;margin:-2px 0 10px;padding:10px 12px;animation:.18s cubic-bezier(.16,1,.3,1) forwards authStepIn}.pw-req-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;font-size:12px;font-weight:600}.pw-requirements ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.pw-requirements li{align-items:center;gap:6px;font-size:13px;transition:color .15s;display:flex}.pw-requirements li:before{content:"✕";text-align:center;flex-shrink:0;width:14px;font-size:11px;font-weight:700;transition:color .15s}.pw-req-unmet,.pw-req-unmet:before{color:var(--text-muted)}.pw-req-met{color:var(--accent-color)}.pw-req-met:before{color:var(--accent-color);content:"✓"!important}.auth-link-small{color:var(--text-muted);font-size:.85rem}.auth-link-small:hover{color:var(--accent-color)}.auth-subtitle{color:var(--text-muted);text-align:center;margin-bottom:1rem;font-size:.9rem}
