:root{--yellow: #E08700;--yellow-dim: #C57700;--accent: var(--yellow);--accent-hover: var(--yellow-dim);--accent-ink: #1A1F36;--accent-text: #8A5200;--accent-soft: rgba(224, 135, 0, .1);--accent-line: rgba(224, 135, 0, .26);--accent-glow: rgba(224, 135, 0, .2);--bg: #F5F7FA;--surface: #FFFFFF;--surface-2: #EFF3F8;--surface-3: #E4EAF2;--surface-hover: rgba(26, 31, 54, .032);--surface-active: rgba(26, 31, 54, .06);--border: #E7EBF0;--border-strong: #D3DAE4;--text: #1A1F36;--text-dim: #4F566B;--text-faint: #5F6980;--green: #0E7C66;--green-soft: rgba(14, 124, 102, .1);--red: #C5304A;--red-soft: rgba(197, 48, 74, .09);--amber: #9A6200;--amber-soft: rgba(154, 98, 0, .11);--blue: #1D5FD0;--blue-soft: rgba(29, 95, 208, .09);--violet: #6E56CF;--violet-soft: rgba(110, 86, 207, .1);--font-display: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-2xs: 10px;--fs-xs: 11px;--fs-sm: 11.5px;--fs-md: 12.5px;--fs-base: 13px;--fs-lg: 14.5px;--fs-xl: 17px;--fs-2xl: 21px;--fs-3xl: 26px;--fs-4xl: 32px;--s-1: 4px;--s-2: 6px;--s-3: 10px;--s-4: 14px;--s-5: 20px;--s-6: 26px;--s-7: 32px;--s-8: 44px;--s-9: 60px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 14px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(26, 31, 54, .05);--shadow-md: 0 4px 14px rgba(26, 31, 54, .07), 0 1px 3px rgba(26, 31, 54, .05);--shadow-lg: 0 18px 48px rgba(26, 31, 54, .14), 0 2px 8px rgba(26, 31, 54, .06);--ring: 0 0 0 3px var(--accent-glow);--ease: cubic-bezier(.22, .61, .36, 1);--dur-fast: .12s;--dur: .18s;--dur-slow: .3s;--sidebar-w: 236px;--sidebar-w-collapsed: 64px;--topbar-h: 48px;--content-max: 1320px;color-scheme:light}:root.theme-dark{--yellow: #FFB020;--yellow-dim: #E39400;--accent-ink: #14171C;--accent-text: var(--accent);--accent-soft: rgba(255, 176, 32, .13);--accent-line: rgba(255, 176, 32, .28);--accent-glow: rgba(255, 176, 32, .22);--bg: #0C0E13;--surface: #14171E;--surface-2: #191D26;--surface-3: #212630;--surface-hover: rgba(255, 255, 255, .035);--surface-active: rgba(255, 255, 255, .07);--border: #21262F;--border-strong: #2C333F;--text: #E9EDF3;--text-dim: #9BA5B4;--text-faint: #8791A2;--green: #2FC98F;--green-soft: rgba(47, 201, 143, .13);--red: #FF6B6B;--red-soft: rgba(255, 107, 107, .13);--amber: #F5A524;--amber-soft: rgba(245, 165, 36, .13);--blue: #5B9DFF;--blue-soft: rgba(91, 157, 255, .13);--violet: #A78BFA;--violet-soft: rgba(167, 139, 250, .13);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 1px 1px rgba(0, 0, 0, .18);--shadow-md: 0 8px 24px rgba(0, 0, 0, .34);--shadow-lg: 0 24px 64px rgba(0, 0, 0, .5);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);font-size:var(--fs-base);line-height:1.45;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-xs)}.hh-root{min-height:100vh;background:var(--bg);color:var(--text)}.display{font-family:var(--font-display);letter-spacing:-.015em;font-weight:600;margin:0}.mono{font-family:var(--font-body);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"cv05" 1;letter-spacing:-.005em}.code{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.95em;letter-spacing:.01em}.tnum{font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--text-faint);background-clip:content-box}.text-dim{color:var(--text-dim)}.text-faint{color:var(--text-faint)}.text-2xs{font-size:var(--fs-2xs)}.text-xs{font-size:var(--fs-xs)}.text-sm{font-size:var(--fs-sm)}.text-md{font-size:var(--fs-md)}.text-lg{font-size:var(--fs-lg)}.tone-green{color:var(--green)}.tone-red{color:var(--red)}.tone-yellow{color:var(--accent-text)}.tone-blue{color:var(--blue)}.tone-default{color:var(--text)}.fw-500{font-weight:500}.fw-600{font-weight:600}.fw-700{font-weight:700}.uppercase{text-transform:uppercase;letter-spacing:.05em}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.nowrap{white-space:nowrap}.text-right{text-align:right}.text-left{text-align:left}.text-center{text-align:center}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1;min-width:0}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-1{gap:var(--s-1)}.gap-2{gap:var(--s-2)}.gap-3{gap:var(--s-3)}.gap-4{gap:var(--s-4)}.gap-5{gap:var(--s-5)}.gap-6{gap:var(--s-6)}.mb-1{margin-bottom:var(--s-1)}.mb-2{margin-bottom:var(--s-2)}.mb-3{margin-bottom:var(--s-3)}.mb-4{margin-bottom:var(--s-4)}.mb-5{margin-bottom:var(--s-5)}.mb-6{margin-bottom:var(--s-6)}.mt-1{margin-top:var(--s-1)}.mt-2{margin-top:var(--s-2)}.mt-3{margin-top:var(--s-3)}.mt-4{margin-top:var(--s-4)}.mt-6{margin-top:var(--s-6)}.ml-2{margin-left:var(--s-2)}.w-fit{width:fit-content}.w-full{width:100%}.stack{display:flex;flex-direction:column}.stack-2{gap:var(--s-2)}.stack-3{gap:var(--s-3)}.stack-4{gap:var(--s-4)}.stack-5{gap:var(--s-5)}.stack-7,.stack-6{gap:var(--s-6)}.center-screen{display:flex;align-items:center;justify-content:center;padding:var(--s-4);min-height:100vh}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:6px 12px;border-radius:var(--radius-sm);font-size:var(--fs-base);font-weight:500;line-height:1.2;border:1px solid transparent;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--accent-ink);font-weight:550}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:var(--surface-2);color:var(--text);border-color:var(--border)}.btn-ghost:hover{background:var(--surface-3);border-color:var(--border-strong)}.btn-subtle{background:transparent;color:var(--text-dim)}.btn-subtle:hover{background:var(--surface-hover);color:var(--text)}.btn-danger{background:var(--red-soft);color:var(--red);border-color:color-mix(in srgb,var(--red) 30%,transparent)}.btn-danger:hover{background:color-mix(in srgb,var(--red) 22%,transparent)}.btn-sm{padding:4px 9px;font-size:var(--fs-md);border-radius:var(--radius-xs)}.btn-lg{padding:9px 18px;font-size:var(--fs-lg);border-radius:var(--radius-sm)}.btn-block{width:100%}.btn:disabled,.icon-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.icon-btn{background:none;border:none;cursor:pointer;color:var(--text-dim);display:inline-flex;align-items:center;justify-content:center;padding:6px;border-radius:var(--radius-xs);transition:color var(--dur) var(--ease),background var(--dur) var(--ease)}.icon-btn:hover{color:var(--text);background:var(--surface-hover)}.icon-btn.danger{color:var(--red)}.icon-btn.danger:hover{background:var(--red-soft)}.icon-btn.success{color:var(--green)}.icon-btn.success:hover{background:var(--green-soft)}.kbd{font-family:var(--font-mono);font-size:var(--fs-2xs);padding:2px 5px;border-radius:var(--radius-xs);background:var(--surface-3);border:1px solid var(--border);color:var(--text-dim);line-height:1.4}.field{display:flex;flex-direction:column;gap:6px;font-size:var(--fs-base)}.field-label{color:var(--text-dim);font-weight:500;font-size:var(--fs-md)}.field-hint{color:var(--text-faint);font-size:var(--fs-sm);line-height:1.45}.field-error{color:var(--red);font-size:var(--fs-sm)}.input{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:9px 12px;font-size:var(--fs-base);font-family:inherit;outline:none;width:100%;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease)}.input::placeholder{color:var(--text-faint)}.input:hover:not(:focus){border-color:var(--border-strong)}.input:focus{border-color:var(--accent);box-shadow:var(--ring);background:var(--surface)}.input:disabled{opacity:.55;cursor:not-allowed}textarea.input{resize:vertical;min-height:76px;line-height:1.5}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234F566B' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:32px}:root.theme-dark select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2398A3B6' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E")}.input-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:15px;height:15px;cursor:pointer}.input-group{position:relative;display:flex;align-items:center}.input-group .input{padding-left:34px}.input-group-icon{position:absolute;left:11px;color:var(--text-faint);display:flex;pointer-events:none}.search-box{display:flex;align-items:center;gap:var(--s-2);padding:8px 14px;border-radius:var(--radius-full);background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.search-box:focus-within{border-color:var(--accent);box-shadow:var(--ring)}.search-box input{background:transparent;border:none;outline:none;color:var(--text);font-size:var(--fs-md);font-family:inherit;width:180px;min-width:0}.search-box input::placeholder{color:var(--text-faint)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:none}.card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--border)}.card-body{padding:var(--s-5)}.card-footer{padding:var(--s-4) var(--s-5);border-top:1px solid var(--border);color:var(--text-dim);font-size:var(--fs-sm)}.card-interactive{cursor:pointer;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.card-interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:translateY(-2px)}.plate{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--s-5);box-shadow:var(--shadow-sm);overflow:hidden}.plate:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent 78%)}.plate-interactive{cursor:pointer;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.plate-interactive:hover{border-color:var(--accent-line);box-shadow:var(--shadow-md);transform:translateY(-2px)}.danger-zone{padding:var(--s-5);border:1px solid color-mix(in srgb,var(--red) 32%,transparent);border-radius:var(--radius-md);background:var(--red-soft)}.divider{height:1px;background:var(--border);border:none;margin:var(--s-4) 0}.page-title{font-size:var(--fs-2xl);font-weight:650;font-family:var(--font-display);letter-spacing:-.022em;margin:0}.page-subtitle{color:var(--text-dim);font-size:var(--fs-base);margin:6px 0 0;line-height:1.5;max-width:68ch}.section-title{font-size:var(--fs-base);font-weight:600;margin:0}.eyebrow{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.07em;font-weight:600;color:var(--text-faint)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-2)}.toolbar{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap}.back-link{display:inline-flex;align-items:center;gap:var(--s-1);background:none;border:none;cursor:pointer;color:var(--text-dim);font-size:var(--fs-md);font-family:inherit;width:fit-content;padding:4px 0;transition:color var(--dur) var(--ease)}.back-link:hover{color:var(--text)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s-4)}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--s-4)}.grid-main-side{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:var(--s-4);align-items:start}.badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-sm);font-weight:500;padding:2px 7px;border-radius:var(--radius-xs);white-space:nowrap;line-height:1.6;text-transform:capitalize}.badge-default{color:var(--text-dim);background:var(--surface-3)}.badge-green{color:var(--green);background:var(--green-soft)}.badge-red{color:var(--red);background:var(--red-soft)}.badge-yellow{color:var(--amber);background:var(--amber-soft)}.badge-blue{color:var(--blue);background:var(--blue-soft)}.badge-violet{color:var(--violet);background:var(--violet-soft)}.badge-accent{color:var(--accent-text);background:var(--accent-soft)}.badge-outline{background:transparent;border:1px solid var(--border-strong);color:var(--text-dim)}.chip{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-sm);padding:3px 10px;border-radius:var(--radius-full);background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);white-space:nowrap}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot-green{background:var(--green)}.status-dot-red{background:var(--red)}.status-dot-yellow{background:var(--amber)}.status-dot-blue{background:var(--blue)}.status-dot-dim{background:var(--text-faint)}.status-dot-live{position:relative;background:var(--green)}.status-dot-live:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:1px solid var(--green);animation:pulse-ring 2s var(--ease) infinite}@keyframes pulse-ring{0%{opacity:.8;transform:scale(.8)}70%,to{opacity:0;transform:scale(1.5)}}.avatar{width:22px;height:22px;border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-sm);font-weight:700;flex-shrink:0;text-transform:uppercase;border:1px solid var(--accent-line)}.avatar-lg{width:32px;height:32px;font-size:var(--fs-md)}.table-wrap{overflow-x:auto;min-width:0}.table{width:100%;font-size:var(--fs-md);border-collapse:separate;border-spacing:0}.table th,.table td{padding:15px var(--s-5);border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.table thead th{color:var(--text-faint);font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;background:var(--surface-2);white-space:nowrap;padding-top:11px;padding-bottom:11px}.table .cell-primary{font-weight:550}.table .cell-sub{font-size:var(--fs-sm);color:var(--text-faint);margin-top:2px}.table-sticky thead th{position:sticky;top:0;z-index:2;box-shadow:inset 0 -1px 0 var(--border)}.table tbody tr{transition:background var(--dur-fast) var(--ease)}.table tbody tr:hover{background:var(--surface-hover)}.table tbody tr:last-child td{border-bottom:none}.table td.num,.table th.num{text-align:right;font-variant-numeric:tabular-nums}.table-compact th,.table-compact td{padding:10px var(--s-4)}.th-sort{background:none;border:none;padding:0;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:color var(--dur) var(--ease)}.th-sort:hover{color:var(--text)}.th-sort .sort-icon{opacity:0;transition:opacity var(--dur) var(--ease);flex-shrink:0}.th-sort:hover .sort-icon{opacity:.5}.th-sort.active{color:var(--accent-text)}.th-sort.active .sort-icon{opacity:1}.row-link{cursor:pointer}.table tbody td .flex.justify-end{opacity:0;transition:opacity var(--dur) var(--ease)}.table tbody tr:hover td .flex.justify-end,.table tbody tr:focus-within td .flex.justify-end{opacity:1}@media (hover: none){.table tbody td .flex.justify-end{opacity:1}}.checkbox-cell{width:34px}.bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:10px var(--s-4);border-radius:var(--radius-md);background:var(--accent-soft);border:1px solid var(--accent-line);font-size:var(--fs-md);font-weight:500;flex-wrap:wrap}.stat-icon{width:30px;height:30px;border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon-default{background:var(--surface-3);color:var(--text-dim)}.stat-icon-green{background:var(--green-soft);color:var(--green)}.stat-icon-red{background:var(--red-soft);color:var(--red)}.stat-icon-yellow{background:var(--accent-soft);color:var(--accent-text)}.stat-icon-blue{background:var(--blue-soft);color:var(--blue)}.stat-icon-violet{background:var(--violet-soft);color:var(--violet)}.trend{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-sm);font-weight:600}.trend-up{color:var(--green)}.trend-down{color:var(--red)}.trend-flat{color:var(--text-faint)}.meter{height:6px;border-radius:var(--radius-full);background:var(--surface-3);overflow:hidden;width:100%}.meter-fill{height:100%;border-radius:var(--radius-full);background:var(--accent);transition:width var(--dur-slow) var(--ease)}.meter-fill-green{background:var(--green)}.meter-fill-red{background:var(--red)}.meter-fill-blue{background:var(--blue)}.meter-lg{height:9px}.meter-stack{display:flex;height:9px;border-radius:var(--radius-full);overflow:hidden;background:var(--surface-3)}.meter-seg{height:100%;transition:width var(--dur-slow) var(--ease)}.rank-list{display:flex;flex-direction:column}.rank-row{display:flex;align-items:center;gap:var(--s-3);padding:11px var(--s-5);border-bottom:1px solid var(--border)}.rank-row:last-child{border-bottom:none}.rank-index{width:22px;height:22px;border-radius:var(--radius-xs);background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:700;color:var(--text-dim);flex-shrink:0}.rank-bar-track{flex:1;height:6px;border-radius:var(--radius-full);background:var(--surface-3);overflow:hidden;min-width:40px}.rank-bar-fill{height:100%;border-radius:var(--radius-full);transition:width var(--dur-slow) var(--ease)}.filter-tabs{display:flex;gap:6px;flex-wrap:wrap}.filter-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:var(--radius-full);font-size:var(--fs-md);font-weight:500;background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;font-family:inherit;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.filter-tab:hover{color:var(--text);border-color:var(--border-strong)}.filter-tab.active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent);font-weight:600}.filter-count{font-size:var(--fs-xs);padding:0 6px;border-radius:var(--radius-full);background:var(--surface-active);font-variant-numeric:tabular-nums}.filter-tab.active .filter-count{background:#00000029}.tabs{display:flex;gap:var(--s-5);border-bottom:1px solid var(--border);overflow-x:auto;min-width:0}.tab{background:none;border:none;font-family:inherit;font-size:var(--fs-base);font-weight:500;color:var(--text-dim);padding:10px 0 11px;cursor:pointer;position:relative;white-space:nowrap;transition:color var(--dur) var(--ease)}.tab:hover{color:var(--text)}.tab.active{color:var(--text);font-weight:600}.tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);border-radius:2px 2px 0 0}.seg{display:inline-flex;padding:3px;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.seg-item{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:none;background:none;border-radius:var(--radius-xs);font-family:inherit;font-size:var(--fs-md);font-weight:500;color:var(--text-dim);cursor:pointer;white-space:nowrap;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.seg-item:hover{color:var(--text)}.seg-item.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--shadow-sm)}.theme-picker{display:flex;gap:var(--s-2);flex-wrap:wrap}.theme-picker-option{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-full);font-size:var(--fs-md);font-weight:500;background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;font-family:inherit;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.theme-picker-option:hover{color:var(--text);border-color:var(--border-strong)}.theme-picker-option.active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-dim);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.theme-toggle:hover{color:var(--text);background:var(--surface-hover);border-color:var(--border-strong)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#05070b9e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--s-4);animation:fade-in var(--dur) var(--ease)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:440px;max-height:88vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:modal-in var(--dur) var(--ease)}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-wide{max-width:760px}.modal-xl{max-width:1020px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h3{font-size:var(--fs-lg)}.modal-body{padding:var(--s-5);overflow-y:auto;flex:1;min-height:0}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-2);padding:var(--s-3) var(--s-5);border-top:1px solid var(--border);flex-shrink:0}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#05070b8c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;justify-content:flex-end;animation:fade-in var(--dur) var(--ease)}.drawer{background:var(--surface);border-left:1px solid var(--border);width:min(480px,100%);height:100%;display:flex;flex-direction:column;box-shadow:var(--shadow-lg);animation:drawer-in var(--dur-slow) var(--ease)}@keyframes drawer-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--border);flex-shrink:0}.drawer-body{padding:var(--s-5);overflow-y:auto;flex:1;min-height:0}.drawer-footer{padding:var(--s-4) var(--s-5);border-top:1px solid var(--border);flex-shrink:0;background:var(--surface-2)}.toast-stack{position:fixed;bottom:var(--s-6);right:var(--s-6);z-index:70;display:flex;flex-direction:column-reverse;gap:var(--s-2);max-width:min(400px,calc(100vw - 32px));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:10px;padding:12px 16px;border-radius:var(--radius-md);font-size:var(--fs-md);font-weight:500;line-height:1.45;box-shadow:var(--shadow-lg);background:var(--surface-3);color:var(--text);border:1px solid var(--border-strong);animation:toast-in var(--dur-slow) var(--ease);word-wrap:break-word;pointer-events:auto}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-icon{flex-shrink:0;margin-top:1px}.toast-info{border-color:var(--accent-line)}.toast-info .toast-icon{color:var(--accent-text)}.toast-error{border-color:color-mix(in srgb,var(--red) 42%,transparent)}.toast-error .toast-icon{color:var(--red)}.toast-success{border-color:color-mix(in srgb,var(--green) 42%,transparent)}.toast-success .toast-icon{color:var(--green)}.tooltip-wrap{position:relative;display:inline-flex}.tooltip{position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);background:var(--surface-3);color:var(--text);border:1px solid var(--border-strong);padding:5px 10px;border-radius:var(--radius-xs);font-size:var(--fs-sm);font-weight:500;white-space:nowrap;box-shadow:var(--shadow-md);z-index:40;pointer-events:none;animation:fade-in var(--dur-fast) var(--ease)}.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--radius-xs)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:11px;margin:5px 0}.skeleton-title{height:19px;width:42%}.skeleton-card{height:96px;border-radius:var(--radius-md)}.skeleton-row{height:42px;border-radius:var(--radius-xs);margin-bottom:6px}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-3);padding:var(--s-7) var(--s-5);color:var(--text-dim)}.empty-icon{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-faint)}.empty-title{font-size:var(--fs-lg);font-weight:600;color:var(--text)}.empty-desc{font-size:var(--fs-md);max-width:42ch;line-height:1.55}.spinner{width:15px;height:15px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.notice{display:flex;align-items:flex-start;gap:10px;padding:11px var(--s-4);border-radius:var(--radius-sm);font-size:var(--fs-md);line-height:1.5;border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim)}.notice-icon{flex-shrink:0;margin-top:1px}.notice-info{border-color:color-mix(in srgb,var(--blue) 30%,transparent);background:var(--blue-soft)}.notice-info .notice-icon{color:var(--blue)}.notice-warn{border-color:color-mix(in srgb,var(--amber) 32%,transparent);background:var(--amber-soft)}.notice-warn .notice-icon{color:var(--amber)}.notice-danger{border-color:color-mix(in srgb,var(--red) 32%,transparent);background:var(--red-soft)}.notice-danger .notice-icon{color:var(--red)}.notice strong{color:var(--text);font-weight:600}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;transition:width var(--dur-slow) var(--ease);z-index:20}.sidebar-collapsed{width:var(--sidebar-w-collapsed)}.sidebar-header{display:flex;align-items:center;gap:10px;padding:0 14px;height:var(--topbar-h);border-bottom:1px solid var(--border);flex-shrink:0;overflow:hidden}.sidebar-brand{display:flex;align-items:center;gap:10px;min-width:0;flex:1;background:none;border:none;padding:0;font-family:inherit;color:inherit;text-align:left;cursor:pointer}.sidebar-logo{width:28px;height:28px;object-fit:contain;border-radius:var(--radius-xs);flex-shrink:0;background:var(--surface-2)}.sidebar-mark{width:28px;height:28px;border-radius:var(--radius-xs);background:var(--accent-soft);border:1px solid var(--accent-line);display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.sidebar-title{font-size:14px;font-weight:600;font-family:var(--font-display);line-height:1.2;letter-spacing:-.015em}.sidebar-sub{font-size:var(--fs-xs);color:var(--text-faint);margin-top:2px}.sidebar-nav{flex:1;padding:12px 10px 16px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;overflow-x:hidden;min-height:0}.nav-section{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:var(--text-faint);padding:16px 10px 5px}.sidebar-collapsed .nav-section{text-align:center;padding-left:0;padding-right:0;font-size:8px}.nav-item{width:100%;display:flex;align-items:center;gap:11px;padding:8px 11px;font-size:13.5px;font-weight:500;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;font-family:inherit;text-align:left;position:relative;white-space:nowrap;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.nav-item svg{flex-shrink:0}.nav-item:hover{color:var(--text);background:var(--surface-hover)}.nav-item.active{color:var(--text);background:var(--accent-soft);font-weight:600}.nav-item.active:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:3px;height:19px;border-radius:0 3px 3px 0;background:var(--accent)}.nav-label{overflow:hidden;text-overflow:ellipsis}.nav-badge{margin-left:auto;font-size:var(--fs-2xs);font-weight:700;min-width:17px;height:17px;padding:0 5px;border-radius:var(--radius-full);background:var(--red);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.sidebar-collapsed .nav-item{justify-content:center;padding:9px 0}.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-badge{display:none}.sidebar-collapsed .nav-item:after{content:attr(data-label);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:var(--surface-3);color:var(--text);border:1px solid var(--border-strong);padding:5px 10px;border-radius:var(--radius-xs);font-size:var(--fs-sm);white-space:nowrap;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease);z-index:40}.sidebar-collapsed .nav-item:hover:after{opacity:1}.sidebar-footer{padding:10px;border-top:1px solid var(--border);display:flex;flex-shrink:0}.sidebar-collapse-btn{display:flex;align-items:center;justify-content:center;width:100%;padding:7px;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-faint);cursor:pointer;transition:color var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.sidebar-collapse-btn:hover{color:var(--text);background:var(--surface-hover);border-color:var(--border-strong)}.main-col{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:18;height:var(--topbar-h);flex-shrink:0;display:flex;align-items:center;gap:var(--s-3);padding:0 var(--s-6);background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:var(--s-2)}.topbar-brand-mobile{display:none;align-items:center;gap:var(--s-2);min-width:0}.cmd-trigger{display:inline-flex;align-items:center;gap:var(--s-2);height:28px;padding:0 8px 0 10px;min-width:180px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--text-faint);font-family:inherit;font-size:var(--fs-md);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),color var(--dur) var(--ease)}.cmd-trigger:hover{border-color:var(--border-strong);color:var(--text-dim);background:var(--surface-3)}.cmd-trigger .kbd{margin-left:auto}.user-menu-wrap{position:relative}.user-menu-btn{display:inline-flex;align-items:center;gap:var(--s-2);padding:2px 8px 2px 2px;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;color:var(--text);font-family:inherit;font-size:var(--fs-md);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.user-menu-btn:hover{border-color:var(--border-strong);background:var(--surface-3)}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.menu-panel{position:absolute;top:calc(100% + 8px);right:0;min-width:208px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:61;padding:5px;animation:modal-in var(--dur) var(--ease)}.menu-header{padding:9px 11px;border-bottom:1px solid var(--border);margin-bottom:5px}.menu-item{width:100%;display:flex;align-items:center;gap:10px;padding:8px 11px;background:none;border:none;border-radius:var(--radius-xs);color:var(--text);font-family:inherit;font-size:var(--fs-md);cursor:pointer;text-align:left;transition:background var(--dur) var(--ease)}.menu-item:hover{background:var(--surface-hover)}.menu-item.danger{color:var(--red)}.menu-item.danger:hover{background:var(--red-soft)}.main-panel{flex:1;padding:var(--s-6) var(--s-6) var(--s-8);min-width:0}.bottom-nav{display:none}.cmdk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#05070b99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:12vh var(--s-4) var(--s-4);animation:fade-in var(--dur) var(--ease)}.cmdk{width:100%;max-width:620px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;display:flex;flex-direction:column;max-height:62vh;animation:modal-in var(--dur) var(--ease)}.cmdk-input-row{display:flex;align-items:center;gap:10px;padding:0 var(--s-4);height:52px;border-bottom:1px solid var(--border);flex-shrink:0}.cmdk-input{flex:1;background:none;border:none;outline:none;color:var(--text);font-family:inherit;font-size:var(--fs-lg);min-width:0}.cmdk-input::placeholder{color:var(--text-faint)}.cmdk-list{overflow-y:auto;padding:var(--s-2);min-height:0}.cmdk-group-label{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:var(--text-faint);padding:10px 11px 5px}.cmdk-item{width:100%;display:flex;align-items:center;gap:11px;padding:9px 11px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:var(--fs-md);cursor:pointer;text-align:left}.cmdk-item.active{background:var(--accent-soft)}.cmdk-item.active .cmdk-item-title{color:var(--accent-text)}.cmdk-item-icon{width:26px;height:26px;border-radius:var(--radius-xs);background:var(--surface-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text-dim);flex-shrink:0}.cmdk-item-body{min-width:0;flex:1}.cmdk-item-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-item-sub{font-size:var(--fs-sm);color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-item-meta{font-size:var(--fs-sm);color:var(--text-faint);flex-shrink:0}.cmdk-footer{display:flex;align-items:center;gap:var(--s-4);padding:9px var(--s-4);border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--text-faint);flex-shrink:0;flex-wrap:wrap}.cmdk-empty{padding:var(--s-7) var(--s-4);text-align:center;color:var(--text-faint);font-size:var(--fs-md)}.notif-wrap{position:relative}.notif-badge{position:absolute;top:-3px;right:-3px;background:var(--red);color:#fff;font-size:var(--fs-2xs);font-weight:700;min-width:16px;height:16px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1;border:2px solid var(--bg);font-variant-numeric:tabular-nums}.notif-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;width:370px;max-width:calc(100vw - 32px);max-height:440px;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:61;overflow:hidden;animation:modal-in var(--dur) var(--ease)}.notif-panel-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s-2);padding:11px var(--s-4);font-weight:600;font-size:var(--fs-md);border-bottom:1px solid var(--border);flex-shrink:0}.notif-clear-all{background:none;border:none;color:var(--accent-text);font-size:var(--fs-sm);font-weight:500;cursor:pointer;font-family:inherit;padding:0}.notif-clear-all:hover{text-decoration:underline}.notif-list{display:flex;flex-direction:column;overflow-y:auto;min-height:0}.notif-item{display:flex;align-items:flex-start;gap:10px;padding:10px var(--s-4);background:none;border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;color:var(--text);font-family:inherit;font-size:var(--fs-md);transition:background var(--dur-fast) var(--ease)}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--surface-hover)}.notif-dismiss{background:none;border:none;color:var(--text-faint);cursor:pointer;padding:3px;flex-shrink:0;border-radius:var(--radius-xs);display:flex}.notif-dismiss:hover{color:var(--text);background:var(--surface-active)}.notif-dot{width:7px;height:7px;border-radius:50%;margin-top:6px;flex-shrink:0}.notif-dot-red{background:var(--red)}.notif-dot-yellow{background:var(--amber)}.notif-kind{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--text-faint)}.alert-list{display:flex;flex-direction:column}.alert-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:11px var(--s-5);border-bottom:1px solid var(--border);font-size:var(--fs-md)}.alert-row:last-child{border-bottom:none}.attachment-link{display:inline-flex;align-items:center;gap:4px;margin-left:var(--s-2);font-size:var(--fs-sm);color:var(--accent-text);text-decoration:none}.attachment-link:hover{text-decoration:underline}.machine-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:var(--s-4)}.machine-name{font-size:var(--fs-lg);font-weight:650;font-family:var(--font-display);letter-spacing:-.015em}.logo-row{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap}.logo-preview{width:64px;height:64px;border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.logo-preview img{width:100%;height:100%;object-fit:contain}.logo-badge{background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:var(--radius-full);padding:14px;margin-bottom:14px}.logo-badge-image{padding:6px;overflow:hidden}.logo-badge-image img{width:44px;height:44px;object-fit:contain;border-radius:var(--radius-full)}.item-row,.item-row-header{display:grid;grid-template-columns:38px 1fr 84px 104px 104px 32px;gap:var(--s-2);align-items:center}.item-row-header{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-weight:600;padding:0 2px}.item-sno{display:flex;align-items:center;justify-content:center;width:38px;color:var(--text-faint);font-size:var(--fs-sm)}.item-amount{padding-right:4px}.investor-row,.investor-row-header{display:grid;grid-template-columns:1fr 124px 92px 32px;gap:var(--s-2);align-items:center}.investor-row-header{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-weight:600;padding:0 2px}.investor-footnote{padding:11px var(--s-5);font-size:var(--fs-sm);color:var(--text-faint);border-top:1px solid var(--border);line-height:1.5}.totals-box{display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-size:var(--fs-base)}.totals-final{font-size:var(--fs-xl);font-weight:650;font-family:var(--font-display)}.timeline{overflow-x:auto;min-width:0}.timeline-inner{min-width:max-content}.timeline-row{display:grid;grid-template-columns:168px repeat(var(--tl-days),30px);align-items:stretch;border-bottom:1px solid var(--border)}.timeline-row:last-child{border-bottom:none}.timeline-head{position:sticky;top:0;z-index:3;background:var(--surface)}.timeline-label{position:sticky;left:0;z-index:2;background:var(--surface);border-right:1px solid var(--border);padding:9px var(--s-3);display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0}.timeline-head .timeline-label{z-index:4}.timeline-day{border-right:1px solid var(--border);font-size:var(--fs-2xs);color:var(--text-faint);text-align:center;padding:6px 0;font-variant-numeric:tabular-nums;line-height:1.3}.timeline-day-dow{display:block;font-size:9px;opacity:.65;text-transform:uppercase}.timeline-weekend{background:var(--surface-2)}.timeline-today{background:var(--accent-soft);color:var(--accent-text);font-weight:700}.timeline-track{grid-column:2 / -1;grid-row:1;position:relative;min-height:46px;background-image:repeating-linear-gradient(to right,var(--border) 0 1px,transparent 1px 30px)}.timeline-cells{grid-column:2 / -1;grid-row:1;display:grid;grid-template-columns:repeat(var(--tl-days),30px)}.timeline-cell{border-right:1px solid transparent}.timeline-cell.timeline-weekend{background:var(--surface-2)}.timeline-cell.timeline-today{background:var(--accent-soft)}.timeline-bar{position:absolute;top:7px;height:32px;border-radius:var(--radius-xs);padding:0 9px;display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);font-weight:500;cursor:pointer;overflow:hidden;white-space:nowrap;border:1px solid transparent;transition:filter var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.timeline-bar:hover{filter:brightness(1.12);box-shadow:var(--shadow-md);z-index:2}.timeline-bar-out{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 42%,transparent);color:var(--green)}.timeline-bar-upcoming{background:var(--blue-soft);border-color:color-mix(in srgb,var(--blue) 42%,transparent);color:var(--blue)}.timeline-bar-overdue{background:var(--red-soft);border-color:color-mix(in srgb,var(--red) 46%,transparent);color:var(--red)}.timeline-bar-completed{background:var(--surface-3);border-color:var(--border-strong);color:var(--text-dim)}.timeline-legend{display:flex;gap:var(--s-4);flex-wrap:wrap;font-size:var(--fs-sm);color:var(--text-dim)}.timeline-legend-swatch{width:11px;height:11px;border-radius:3px;flex-shrink:0}.util-pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;color:var(--text-faint)}.auth-wrap{width:100%;max-width:384px}.auth-brand{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--s-6)}.auth-title{font-size:var(--fs-3xl);text-transform:uppercase;letter-spacing:.14em;font-weight:700;text-align:center;line-height:1.15}.auth-sub{color:var(--text-faint);font-size:var(--fs-sm);margin-top:6px;letter-spacing:.03em}.auth-footer{margin:var(--s-5) 0 0;text-align:center;color:var(--text-faint);font-size:var(--fs-xs, 11px);letter-spacing:.03em}.auth-form{padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-4)}.auth-error{margin:0;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm, 6px);background:var(--red-soft);color:var(--red);font-size:var(--fs-md)}.input-code{letter-spacing:.18em;font-size:var(--fs-lg, 16px);text-align:center}.btn-primary .spinner{border-color:color-mix(in srgb,var(--accent-ink) 30%,transparent);border-top-color:var(--accent-ink)}.password-wrap{position:relative;display:block}.password-wrap .input{width:100%;padding-right:38px}.password-toggle{position:absolute;top:50%;right:6px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:var(--text-faint);cursor:pointer}.password-toggle:hover{color:var(--text);background:var(--surface-2)}.password-toggle:focus-visible{outline:none;box-shadow:var(--ring)}.aging-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(146px,1fr));gap:var(--s-2)}.aging-cell{padding:var(--s-3) var(--s-4);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);display:flex;flex-direction:column;gap:3px}.aging-cell-current{border-color:var(--border)}.aging-cell-1-30{border-color:color-mix(in srgb,var(--amber) 30%,transparent);background:var(--amber-soft)}.aging-cell-31-60{border-color:color-mix(in srgb,var(--amber) 46%,transparent);background:var(--amber-soft)}.aging-cell-61-90{border-color:color-mix(in srgb,var(--red) 34%,transparent);background:var(--red-soft)}.aging-cell-90{border-color:color-mix(in srgb,var(--red) 56%,transparent);background:var(--red-soft)}.aging-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-weight:600}.aging-amount{font-size:var(--fs-lg);font-weight:650;font-family:var(--font-display);font-variant-numeric:tabular-nums}.payment-row{display:flex;align-items:center;gap:var(--s-3);padding:10px var(--s-3);border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border)}.payment-method-icon{width:28px;height:28px;border-radius:var(--radius-xs);background:var(--green-soft);color:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0}.balance-box{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-4);border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border)}.balance-line{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-4);font-size:var(--fs-md)}.balance-line-total{font-size:var(--fs-lg);font-weight:650;padding-top:var(--s-2);border-top:1px solid var(--border)}@media print{body *{visibility:hidden}.invoice-print,.invoice-print *{visibility:visible}.invoice-print{position:absolute;top:0;left:0;width:100%}.sidebar,.topbar,.bottom-nav,.toast-stack{display:none!important}}@media (max-width: 1180px){.grid-main-side{grid-template-columns:minmax(0,1fr)}}@media (max-width: 900px){.sidebar{display:none}.app-shell{flex-direction:column}.topbar{padding:0 var(--s-4);gap:var(--s-2)}.topbar-brand-mobile{display:flex}.cmd-trigger{min-width:0}.cmd-trigger .cmd-trigger-label,.cmd-trigger .kbd{display:none}.cmd-trigger{width:34px;padding:0;justify-content:center}.main-panel{padding:var(--s-4) var(--s-4) 84px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0)}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 2px 7px;background:none;border:none;color:var(--text-faint);font-family:inherit;font-size:var(--fs-2xs);font-weight:500;cursor:pointer;position:relative;min-width:0;transition:color var(--dur) var(--ease)}.bottom-nav-item.active{color:var(--accent-text)}.bottom-nav-item.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:22px;height:2px;border-radius:0 0 2px 2px;background:var(--accent)}.bottom-nav-label{overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap}.bottom-nav-badge{position:absolute;top:4px;left:calc(50% + 7px);min-width:15px;height:15px;padding:0 4px;border-radius:var(--radius-full);background:var(--red);color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}.page-title{font-size:var(--fs-xl)}.page-header{margin-bottom:var(--s-4)}.machine-grid,.grid-2,.grid-3{grid-template-columns:minmax(0,1fr)}.notif-panel{right:0;width:min(370px,calc(100vw - 24px))}.card{overflow-x:auto}.drawer-overlay{align-items:flex-end;justify-content:center}.drawer{width:100%;height:auto;max-height:88vh;border-left:none;border-top:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:sheet-in var(--dur-slow) var(--ease)}@keyframes sheet-in{0%{transform:translateY(28px);opacity:0}to{transform:translateY(0);opacity:1}}.cmdk-overlay{padding-top:8vh}.timeline-row{grid-template-columns:128px repeat(var(--tl-days),30px)}}@media (max-width: 560px){.main-panel{padding:var(--s-3) var(--s-3) 82px}.modal{max-width:calc(100vw - 20px)}.item-row,.item-row-header{grid-template-columns:minmax(0,1fr);gap:var(--s-1)}.item-row-header{display:none}.investor-row,.investor-row-header{grid-template-columns:minmax(0,1fr);gap:var(--s-1)}.investor-row-header{display:none}.toast-stack{left:var(--s-3);right:var(--s-3);bottom:78px;max-width:none}.search-box input{width:100%}.aging-grid{grid-template-columns:repeat(2,1fr)}.auth-title{font-size:var(--fs-2xl)}}.invoice-print{background:#fff;color:#1b1e21;padding:32px;border-radius:8px;position:relative;display:flex;flex-direction:column;min-height:1040px}.invoice-sub{font-size:12px;color:#6b7280}.invoice-letterhead{display:flex;align-items:center;justify-content:space-between;gap:14px}.invoice-logo{width:48px;height:48px;object-fit:contain}.invoice-name-block{text-align:right}.invoice-name-ar{font-size:15px;font-weight:700;text-align:right;direction:rtl}.invoice-name-en{font-size:19px;font-weight:700;letter-spacing:.02em}.invoice-custom-letterhead{display:block;width:100%;max-height:160px;object-fit:contain;margin-bottom:12px}.invoice-rule{height:4px;border-top:2px solid #1B1E21;border-bottom:1px solid #1B1E21;margin:14px 0 18px}.invoice-from-line{font-size:11px;color:#374151;margin-bottom:10px}.invoice-title{text-align:center;font-size:17px;font-weight:700;letter-spacing:.08em;margin-bottom:18px}.invoice-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}.invoice-info-box{border:1px solid #9ca3af;border-radius:3px;padding:10px 12px;font-size:12.5px;display:flex;flex-direction:column;gap:5px}.invoice-table{width:100%;font-size:13px;border-collapse:collapse}.invoice-table th,.invoice-table td{padding:7px 6px;border-bottom:1px solid #e5e7eb}.invoice-table thead th{color:#4b5563;border-bottom:1.5px solid #9ca3af;font-weight:600}.invoice-table tbody tr:last-child td{border-bottom:1.5px solid #9ca3af}.invoice-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:18px 0;align-items:start}.invoice-bank-box{font-size:12px;display:flex;flex-direction:column;gap:4px;padding-top:2px}.bank-name{font-weight:700;text-decoration:underline;margin-bottom:2px}.invoice-totals-box{display:flex;flex-direction:column;gap:6px;font-size:13px}.invoice-totals-box>div{display:flex;justify-content:space-between;gap:24px}.invoice-total-final{font-weight:700;font-size:15px;border-top:1px solid #9ca3af;padding-top:6px;margin-top:2px}.invoice-words{font-size:12.5px;margin:6px 0 30px}.invoice-notes{font-size:12px;color:#444;margin:0 0 24px}.invoice-stamp-image{display:block;height:auto;margin:4px 0 8px}.invoice-sign-row{display:flex;justify-content:space-between;font-size:12px;margin-top:auto;padding-top:24px}.invoice-sign{display:flex;flex-direction:column;gap:4px;width:200px}.invoice-sign-right{align-items:flex-end;text-align:right}.sign-line{border-top:1px solid #6b7280;width:100%;height:1px;margin-bottom:6px}.invoice-footer-bar{margin:24px -32px -32px;background:#1b1e21;color:#fff;padding:12px 32px;display:flex;justify-content:center;gap:24px;flex-wrap:wrap;font-size:11px;border-radius:0 0 8px 8px}.invoice-stamp{position:absolute;top:130px;right:60px;border:3px solid #128A63;color:#128a63;font-weight:800;font-size:22px;letter-spacing:.1em;padding:6px 14px;border-radius:6px;transform:rotate(-14deg);opacity:.75;pointer-events:none}.page{max-width:var(--content-max);margin:0 auto;display:flex;flex-direction:column;gap:var(--s-6)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;padding-bottom:var(--s-4);border-bottom:1px solid var(--border)}.page-head-text{min-width:0}.page-head h1{font-size:var(--fs-2xl);font-weight:650;font-family:var(--font-display);letter-spacing:-.024em;margin:0;line-height:1.15}.page-head p{color:var(--text-dim);font-size:var(--fs-base);margin:6px 0 0;line-height:1.5;max-width:70ch}.toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.metric{padding:var(--s-5);display:flex;flex-direction:column;gap:6px;min-width:0;background:var(--surface)}.card .metrics{border:none;border-radius:0;box-shadow:0 -1px 0 var(--border),0 1px 0 var(--border)}.metric-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.07em;font-weight:600;color:var(--text-faint);display:flex;align-items:center;gap:6px}.metric-value{font-size:var(--fs-2xl);font-weight:620;font-family:var(--font-display);letter-spacing:-.028em;line-height:1.1;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis}.metric-meta{font-size:var(--fs-sm);color:var(--text-dim);display:flex;align-items:center;gap:6px;flex-wrap:wrap}.section{display:flex;flex-direction:column;gap:var(--s-4)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap}.section-head h2{font-size:var(--fs-lg);font-weight:650;font-family:var(--font-display);letter-spacing:-.018em;margin:0}.section-head p{font-size:var(--fs-md);color:var(--text-dim);margin:3px 0 0}.dt-wrap{overflow-x:auto;min-width:0;border-top:1px solid var(--border)}.dt{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-base)}.dt thead th{position:sticky;top:0;z-index:2;background:var(--bg);color:var(--text-faint);font-size:var(--fs-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;text-align:left;padding:10px var(--s-4);white-space:nowrap;box-shadow:inset 0 -1px 0 var(--border)}.dt tbody td{padding:14px var(--s-4);border-bottom:1px solid var(--border);vertical-align:middle}.dt tbody tr:last-child td{border-bottom:none}.dt tbody tr{transition:background var(--dur-fast) var(--ease)}.dt tbody tr:hover{background:var(--surface-hover)}.dt td.num,.dt th.num{text-align:right;font-variant-numeric:tabular-nums}.dt .cell-primary{font-weight:550;color:var(--text)}.dt .cell-sub{font-size:var(--fs-sm);color:var(--text-faint);margin-top:2px}.row-actions{display:flex;gap:2px;justify-content:flex-end;opacity:0;transition:opacity var(--dur) var(--ease)}tr:hover .row-actions,tr:focus-within .row-actions{opacity:1}@media (hover: none){.row-actions{opacity:1}}.split{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--s-6);align-items:start}.split-rail{position:sticky;top:calc(var(--topbar-h) + var(--s-5));display:flex;flex-direction:column;gap:var(--s-5)}.rail-group{display:flex;flex-direction:column;gap:var(--s-2)}.rail-label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.07em;font-weight:600;color:var(--text-faint)}.rail-value{font-size:var(--fs-base)}.rail-divider{height:1px;background:var(--border)}.kv{display:flex;flex-direction:column;gap:10px}.kv-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-4);font-size:var(--fs-md)}.kv-key{color:var(--text-dim)}.kv-val{font-variant-numeric:tabular-nums;text-align:right}@media (max-width: 1080px){.split{grid-template-columns:minmax(0,1fr)}.split-rail{position:static}}@media (max-width: 900px){.page{gap:var(--s-5)}.page-head h1{font-size:var(--fs-xl)}.metrics{grid-template-columns:repeat(2,1fr)}.metric{padding:var(--s-4)}.metric-value{font-size:var(--fs-xl)}}@media (max-width: 560px){.metrics{grid-template-columns:minmax(0,1fr)}}.page-loading{display:flex;align-items:center;justify-content:center;gap:var(--s-3);min-height:40vh;color:var(--text-dim);font-size:var(--fs-md)}.page-error{max-width:440px;margin:12vh auto 0;padding:var(--s-6);text-align:center;color:var(--text-dim);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg, 12px)}.page-error svg{color:var(--red)}.page-error h2{margin:var(--s-3) 0 var(--s-2);font-size:var(--fs-lg, 16px);color:var(--text)}.page-error p{margin:0 0 var(--s-5);font-size:var(--fs-md);line-height:1.5}.page-error-actions{display:flex;justify-content:center;gap:var(--s-2)}.switch-row{display:flex;align-items:flex-start;gap:var(--s-2);margin-bottom:var(--s-3);cursor:pointer;font-size:var(--fs-md)}.switch-row input{margin-top:3px;width:16px;height:16px;accent-color:var(--red);flex-shrink:0}.remember-row{margin-bottom:0}.remember-row input{accent-color:var(--accent)}.perm-picker{display:flex;flex-direction:column;gap:var(--s-3)}.perm-presets{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2)}.perm-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:var(--s-3)}.perm-group{margin:0;padding:var(--s-2) var(--s-3) var(--s-3);border:1px solid var(--border);border-radius:var(--r-sm, 8px);display:flex;flex-direction:column;gap:6px}.perm-group legend{padding:0 4px}.perm-check{display:flex;align-items:center;gap:8px;font-size:var(--fs-md);cursor:pointer}.perm-check input{width:15px;height:15px;accent-color:var(--accent);flex-shrink:0}.perm-group-toggle strong{font-weight:600}.restore-summary{display:flex;flex-direction:column;gap:6px;padding:var(--s-3);border:1px solid var(--border);border-radius:var(--r-sm, 8px);background:var(--surface-2)}
