.hdr{position:fixed;top:18px;left:max(24px,calc((100% - 1400px)/2));right:max(24px,calc((100% - 1400px)/2));z-index:100;display:flex;align-items:center;gap:16px;padding:10px 14px 10px 16px;border-radius:16px;background-color:transparent;transition:background-color .2s ease}.hdr.scrolled{background-color:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-soft)}@media(prefers-reduced-transparency:reduce){.hdr.scrolled{background-color:var(--header-solid);-webkit-backdrop-filter:none;backdrop-filter:none}}@media(prefers-reduced-motion:reduce){.hdr{transition:none}}.hdr-left{display:flex;align-items:center;gap:12px;min-width:0;flex:0 1 auto}.hdr-brand{display:inline-flex;flex:none;border-radius:10px}.hdr-brand img{width:32px;height:32px;border-radius:10px;display:block}.hdr-titles{display:flex;flex-direction:column;justify-content:center;min-width:0}.hdr-title{font-size:33px;line-height:1.15;font-weight:700;margin:0;color:var(--text);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hdr-nav{display:flex;gap:4px;flex:1;justify-content:center;min-width:0;flex-wrap:nowrap}.hdr-pill{padding:8px 12px;border-radius:5px;font-size:19px;font-weight:600;color:var(--text-2);white-space:nowrap;text-decoration:none!important;transition:background-color .15s}.hdr-pill:hover{background-color:var(--hover)}.hdr-pill.on{background-color:var(--primary);color:var(--on-primary)}.hdr-actions{display:flex;align-items:center;gap:4px;margin-left:auto;flex:none;background:var(--card);border-radius:999px;padding:4px;box-shadow:var(--shadow-pill)}.hdr-act{width:36px;height:36px;border-radius:50%;border:none;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:17px;color:var(--text-2)}.hdr-act:hover,.hdr-act.active{background-color:var(--hover)}.hdr-burger{display:none}.hdr-user{position:relative}.hdr-user-btn{display:inline-flex;align-items:center;gap:8px;border:none;background:transparent;cursor:pointer;padding:2px 10px 2px 2px;border-radius:999px;color:var(--text)}.hdr-user-btn:hover{background-color:var(--hover)}.hdr-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary);color:var(--on-primary);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.hdr-user-name{font-weight:600;font-size:19px}.hdr-menu{position:absolute;right:0;top:calc(100% + 10px);min-width:220px;z-index:110;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:12px;display:flex;flex-direction:column;gap:2px}.hdr-menu-name{font-weight:700;color:var(--text)}.hdr-menu-role{font-size:13px;color:var(--label);margin-bottom:8px}.hdr-menu-item{display:flex;align-items:center;gap:8px;border:none;background:transparent;cursor:pointer;padding:8px;border-radius:8px;font-weight:600;color:var(--text);text-align:left}.hdr-menu-item:hover{background-color:var(--hover)}.hdr-drawer{position:absolute;top:calc(100% + 8px);right:0;left:0;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:8px;display:flex;flex-direction:column;gap:2px;animation:hdr-fade .15s ease-out}.hdr-drawer-link{padding:12px 14px;border-radius:10px;font-weight:600;color:var(--text);text-decoration:none!important}.hdr-drawer-link:hover{background-color:var(--hover)}.hdr-drawer-link.on{background-color:var(--primary);color:var(--on-primary)}@keyframes hdr-fade{0%{opacity:0}to{opacity:1}}@media(max-width:1280px){.hdr-pill{padding:7px 9px;font-size:18px}.hdr-title{font-size:29px}}@media(max-width:1200px){.hdr-nav{display:none}.hdr-burger{display:inline-flex}}@media(max-width:768px){.hdr{top:8px;left:8px;right:8px;padding:8px 10px;gap:10px}.hdr-title{font-size:27px}}@media(max-width:480px){.hdr-user-name{display:none}.hdr-user-btn{padding:2px}.hdr-brand{display:none}}.signin-page{--si-base: #f6f8fc;--si-card: #ffffff;--si-card-border: rgba(15, 23, 42, .06);--si-card-shadow: 0 24px 60px rgba(30, 58, 138, .12), 0 2px 6px rgba(15, 23, 42, .04);--si-text: #0f172a;--si-text-2: #64748b;--si-text-3: #64748b;--si-line: #e2e8f0;--si-grid: rgba(37, 99, 235, .07);--si-qr-border: #e2e8f0;--si-qr-shadow: 0 6px 18px rgba(15, 23, 42, .08);--si-google-text: #1d4ed8;--si-google-border: #1d4ed8;--si-google-hover: #eff6ff;--si-toggle-bg: #ffffff;--si-toggle-border: #e2e8f0;--si-error-bg: #fdecea;--si-error-text: #a23224;--si-a1: rgba(37, 99, 235, .55);--si-a2: rgba(79, 70, 229, .55);--si-a3: rgba(45, 212, 191, .22);--si-a4: rgba(30, 27, 110, .55);position:relative;isolation:isolate;overflow:hidden;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px 16px;background:var(--si-base);color:var(--si-text);color-scheme:light;font-family:DM Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.signin-page[data-theme=dark]{--si-base: #0b1220;--si-card: #111a2e;--si-card-border: rgba(96, 165, 250, .2);--si-card-shadow: 0 0 0 1px rgba(37, 99, 235, .06), 0 0 70px rgba(37, 99, 235, .22), 0 24px 60px rgba(0, 0, 0, .45);--si-text: #f8fafc;--si-text-2: #94a3b8;--si-text-3: #8b98ad;--si-line: rgba(148, 163, 184, .22);--si-grid: rgba(148, 163, 184, .08);--si-qr-border: transparent;--si-qr-shadow: 0 6px 24px rgba(0, 0, 0, .35);--si-google-text: #60a5fa;--si-google-border: rgba(96, 165, 250, .55);--si-google-hover: rgba(37, 99, 235, .12);--si-toggle-bg: #111a2e;--si-toggle-border: rgba(96, 165, 250, .25);--si-error-bg: rgba(238, 93, 80, .14);--si-error-text: #fca5a5;--si-a1: rgba(37, 99, 235, .6);--si-a2: rgba(91, 63, 209, .45);--si-a3: rgba(20, 184, 166, .22);--si-a4: rgba(67, 56, 202, .3);color-scheme:dark}.signin-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle 22vmax at 70% 22%,var(--si-a1),transparent 70%),radial-gradient(circle 30vmax at 74% 26%,var(--si-a3),transparent 70%),radial-gradient(circle 20vmax at 30% 40%,var(--si-a2),transparent 72%),radial-gradient(circle 18vmax at 62% 72%,var(--si-a4),transparent 72%),radial-gradient(circle 26vmax at 64% 80%,var(--si-a3),transparent 70%),var(--si-base)}.signin-bg:before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--si-grid) 1px,transparent 1px),linear-gradient(90deg,var(--si-grid) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(ellipse at center,#000 35%,transparent 85%);mask-image:radial-gradient(ellipse at center,#000 35%,transparent 85%)}.signin-blob{position:absolute;left:50%;top:50%;width:60vmax;height:60vmax;margin:-30vmax 0 0 -30vmax;background:radial-gradient(closest-side,var(--si-a3),transparent);opacity:.9;will-change:transform;animation:signin-drift 40s ease-in-out infinite alternate}.signin-blob.paused{animation-play-state:paused}@keyframes signin-drift{0%{transform:translate3d(-16vmax,-6vmax,0) rotate(0)}to{transform:translate3d(12vmax,10vmax,0) rotate(30deg)}}@media(prefers-reduced-motion:reduce){.signin-blob{animation:none;will-change:auto}}.signin-theme-toggle{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--si-toggle-bg);border:1px solid var(--si-toggle-border);font-size:18px;line-height:1;cursor:pointer;color:var(--si-text);box-shadow:0 4px 14px #0f172a14}.signin-theme-toggle:hover{border-color:#2563eb}.signin-card{width:100%;max-width:400px;padding:26px;border-radius:14px;background:var(--si-card);border:1px solid var(--si-card-border);box-shadow:var(--si-card-shadow);display:flex;flex-direction:column}.signin-title{font-size:34px;line-height:1.1;font-weight:700;letter-spacing:-.5px;margin:0 0 10px;color:var(--si-text)}.signin-subtitle{font-size:18px;color:var(--si-text-2);margin:0 0 22px}.signin-qr-section{display:flex;flex-direction:column;align-items:center;gap:12px}.signin-qr-tile{padding:12px;border-radius:16px;background:#fff;line-height:0;border:1px solid var(--si-qr-border);box-shadow:var(--si-qr-shadow)}.signin-qr{width:176px;height:176px;display:block}.signin-caption{font-size:13.5px;line-height:1.4;text-align:center;color:var(--si-text);margin:0;max-width:220px}.signin-page[data-theme=dark] .signin-caption{color:var(--si-text-2)}.signin-hint{font-size:12.5px;color:var(--si-text-3);margin:0;opacity:0;transition:opacity .3s;text-align:center}.signin-hint.visible{opacity:1}.signin-status{display:flex;flex-direction:column;align-items:center;gap:12px;padding:36px 0;color:var(--si-text-2);text-align:center}.signin-status .error-icon{font-size:26px}.signin-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;padding:10px 16px;border-radius:999px;font:inherit;font-size:15.5px;font-weight:500;cursor:pointer;text-decoration:none!important;transition:background-color .15s,border-color .15s}.signin-btn:focus-visible,.signin-theme-toggle:focus-visible{outline:3px solid rgba(37,99,235,.45);outline-offset:2px}.signin-btn-telegram{background:#2481cc;border:1px solid #2481cc;color:#fff;margin-top:8px}.signin-btn-telegram:hover{background:#1f74b8}.signin-btn-telegram svg{font-size:18px}.signin-btn-google{background:transparent;border:1px solid var(--si-google-border);color:var(--si-google-text)}.signin-btn-google:hover:not(:disabled){background:var(--si-google-hover)}.signin-btn-google:disabled{opacity:.6;cursor:progress}.signin-btn-google svg{font-size:20px;flex:none}.signin-btn-retry{background:#2563eb;border:1px solid #2563eb;color:#fff;width:auto}.signin-divider{display:flex;align-items:center;gap:14px;margin:12px 0;color:var(--si-text-3);font-size:13px}.signin-divider:before,.signin-divider:after{content:"";flex:1;height:1px;background:var(--si-line)}.signin-error{margin-top:14px;padding:10px 12px;border-radius:10px;background:var(--si-error-bg);color:var(--si-error-text);font-size:13.5px;font-weight:600;text-align:center}.signin-footer{font-size:13px;color:var(--si-text-3);margin:0;text-align:center}@media(max-width:480px){.signin-page{padding:64px 16px 24px;justify-content:flex-start}.signin-card{padding:22px 18px}.signin-title{font-size:30px}.signin-subtitle{font-size:16px}.signin-qr{width:160px;height:160px}}.dash-tabs{display:flex;gap:10px;flex-wrap:wrap}.dash-tab{display:flex;align-items:center;gap:10px;padding:8px 16px 8px 10px;border-radius:12px;background:var(--primary-50);color:var(--text-2);text-decoration:none!important;border:1px solid transparent}.dash-tab b{display:block;font-size:14px;color:var(--text)}.dash-tab small{display:block;font-size:12px;color:var(--label)}.dash-tab:hover{border-color:var(--primary)}.dash-tab-n{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;background:var(--card);color:var(--primary);flex:none}.dash-tab.on{background:var(--primary)}.dash-tab.on b,.dash-tab.on small{color:var(--on-primary)}.dash-tab.on small{opacity:.85}.delta{font-size:13px;font-weight:700;white-space:nowrap}.delta-l{font-weight:500;color:var(--label);margin-left:2px}.delta-bad{color:var(--delta-bad)}.delta-good{color:var(--delta-good)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.sel-sm{min-height:30px;padding:3px 8px;font-size:13px}.chart-tip{background:var(--card);color:var(--text);border:1px solid var(--line-2);border-radius:8px;padding:6px 10px;font-size:12px;box-shadow:var(--shadow)}.icon-btn.inline{padding:2px;margin-right:2px;vertical-align:middle;font-size:14px}.chev-pad{display:inline-block;width:20px}.branch-row td,.branch-row th{background:var(--sub-bg);color:var(--text-2)}.heatmap td{font-variant-numeric:tabular-nums}.heat-low{background:var(--heat-low-bg);color:var(--heat-low-text)}.heat-mid{background:var(--heat-mid-bg);color:var(--heat-mid-text)}.heat-high{background:var(--heat-high-bg);color:var(--heat-high-text)}.heat-none{color:var(--label)}.heat-legend{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}.heat-legend span[class^=heat-]{padding:2px 10px;border-radius:999px;font-weight:600}.cps-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.cps-toolbar .heat-legend{margin-top:0}.cps-wrap{overflow:auto;max-height:calc(100vh - var(--header-h, 76px) - 180px);min-height:240px;border:1px solid var(--line);border-radius:12px}.cps-table{border-collapse:separate;border-spacing:0}.cps-table td,.cps-table th{font-size:14px}.cps-table thead th{position:sticky;top:0;z-index:2;background:var(--card);box-shadow:inset 0 -1px 0 var(--line);vertical-align:bottom}.cps-table tfoot td,.cps-table tfoot th{position:sticky;bottom:0;z-index:2;background:var(--sub-bg);font-weight:700;box-shadow:inset 0 1px 0 var(--line)}.cps-table .cps-first{position:sticky;left:0;z-index:1;background:var(--card);text-align:left;min-width:200px;max-width:280px;font-weight:600;box-shadow:inset -1px 0 0 var(--line)}.cps-table thead .cps-first,.cps-table tfoot .cps-first{z-index:3}.cps-table tfoot .cps-first,.cps-table .branch-row .cps-first{background:var(--sub-bg)}.cps-table tbody th.cps-first{text-transform:none;letter-spacing:0;color:var(--text);white-space:normal}.cps-table .branch-row .cps-first{font-weight:500;color:var(--text-2)}.th-sort{background:none;border:none;padding:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:3px}.th-sort:hover{color:var(--text)}.sp-table td{padding:7px 8px}.sp-cell{position:relative}.sp-pop{position:absolute;right:0;top:calc(100% + 4px);z-index:5;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;gap:2px;text-align:left;min-width:140px}.sp-pop a{padding:4px 6px;border-radius:6px}.sp-pop a:hover{background:var(--hover)}.sp-grand td,.sp-grand th{border-top:2px solid var(--line-2)}@media(max-width:1100px){.grid-3{grid-template-columns:minmax(0,1fr)}}:root{--primary: #1d4ed8;--primary-hover: #1e40af;--primary-50: #eff6ff;--on-primary: #ffffff;--success: #15803d;--warning: #b45309;--error: #b91c1c;--error-text: #b91c1c;--bg: #f3f5f9;--card: #ffffff;--tip-bg: #111827;--tip-text: #f9fafb;--tip-title: #93c5fd;--text: #0b1220;--text-2: #1f2937;--label: #374151;--line: #d7dce5;--line-2: #c3cad6;--hover: #eef2f8;--row-hover: #f3f6fc;--rs-mix-base: 8%;--rs-mix-hover: 12%;--rs-edge-mix: 100%;--sub-bg: #f7f9fc;--focus-ring: rgba(29, 78, 216, .18);--header-bg: rgba(243, 245, 249, .78);--header-solid: #f3f5f9;--shadow: 0 18px 40px rgba(15, 23, 42, .08);--shadow-soft: 0 8px 24px rgba(15, 23, 42, .08);--shadow-pill: 0 2px 10px rgba(15, 23, 42, .08);--radius: 16px;--chip-approved: #15803d;--chip-paid: #166534;--chip-rejected: #b91c1c;--chip-queried: #b45309;--chip-scheduled: #6d28d9;--chip-submitted: #1d4ed8;--chip-part-paid: #0e7490;--chip-open: #b45309;--chip-outline-text: #111827;--chip-outline-line: #6b7280;--warn-bg: #fff7e8;--warn-line: #f59e0b;--warn-text: #7a4a00;--info-bg: #eff6ff;--info-text: #1e40af;--err-bg: #fdecea;--err-text: #991b1b;--bad-bg: #fdecea;--bad-text: #991b1b;--good-bg: #dcfce7;--good-text: #166534;--delta-bad: #b91c1c;--delta-good: #15803d;--age-warn: #92400e;--heat-low-bg: #dcfce7;--heat-low-text: #14532d;--heat-mid-bg: #fef3c7;--heat-mid-text: #78350f;--heat-high-bg: #fde2e1;--heat-high-text: #7f1d1d;--chart-1: #1d4ed8;--chart-2: #059669;--chart-3: #d97706;--chart-4: #dc2626;--chart-5: #7c3aed;--chart-6: #0284c7;--chart-7: #db2777;--chart-8: #65a30d;--chart-9: #6b7280;--chart-prev: #64748b;font-family:DM Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=dark]{--primary: #60a5fa;--primary-hover: #93c5fd;--primary-50: rgba(96, 165, 250, .14);--on-primary: #0a0f1a;--error-text: #f87171;--bg: #0a0f1a;--card: #111827;--tip-bg: #f3f4f6;--tip-text: #0b1220;--tip-title: #1d4ed8;--text: #f9fafb;--text-2: #e5e7eb;--label: #cbd5e1;--line: #263042;--line-2: #3a465c;--hover: #1b2433;--row-hover: #172033;--rs-mix-base: 14%;--rs-mix-hover: 18%;--rs-edge-mix: 70%;--sub-bg: #0e1522;--focus-ring: rgba(96, 165, 250, .25);--header-bg: rgba(10, 15, 26, .72);--header-solid: #0a0f1a;--shadow: 0 18px 40px rgba(0, 0, 0, .35);--shadow-soft: 0 8px 24px rgba(0, 0, 0, .4);--shadow-pill: 0 2px 10px rgba(0, 0, 0, .45);--chip-outline-text: #e5e7eb;--chip-outline-line: #94a3b8;--warn-bg: #2a1f0b;--warn-line: #b45309;--warn-text: #fcd34d;--info-bg: #12213d;--info-text: #bfdbfe;--err-bg: #2d1416;--err-text: #fecaca;--bad-bg: #3a1618;--bad-text: #fca5a5;--good-bg: #0f2e1c;--good-text: #86efac;--delta-bad: #f87171;--delta-good: #4ade80;--age-warn: #fbbf24;--heat-low-bg: #12301f;--heat-low-text: #bbf7d0;--heat-mid-bg: #33270c;--heat-mid-text: #fde68a;--heat-high-bg: #3b1719;--heat-high-text: #fecaca;--chart-1: #60a5fa;--chart-2: #34d399;--chart-3: #fbbf24;--chart-4: #f87171;--chart-5: #a78bfa;--chart-6: #38bdf8;--chart-7: #f472b6;--chart-8: #a3e635;--chart-9: #9ca3af;--chart-prev: #7c8ba1;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font-size:15px;line-height:1.5;font-family:DM Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:24px;margin:0 0 4px;font-weight:700}h2{font-size:20px;margin:0 0 4px;font-weight:700;letter-spacing:-.01em}h3{font-size:15px;margin:0;font-weight:700}p{margin:0 0 8px}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--line-2);background:var(--card);border-radius:10px;padding:8px 10px;min-height:36px;max-width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}input:disabled{background:var(--bg);color:var(--label)}textarea{resize:vertical;width:100%}.muted{color:var(--label)}.small{font-size:13px}.center{text-align:center}.strong{font-weight:700}.nowrap{white-space:nowrap}.pre{white-space:pre-wrap}.r{text-align:right}.row{display:flex;align-items:center}.wrap{flex-wrap:wrap}.gap{gap:10px}.gap-sm{gap:6px}.grow{flex:1;min-width:0}.spacer{flex:1}.danger{color:var(--error-text)!important}.btn{display:inline-flex;align-items:center;gap:6px;justify-content:center;padding:8px 14px;border-radius:10px;border:1px solid var(--line-2);background:var(--card);color:var(--text);font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none!important;min-height:36px;transition:background .15s,border-color .15s,transform .1s}.btn:hover:not(:disabled){border-color:var(--primary)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{padding:4px 10px;min-height:30px;font-size:13px}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-success{background:var(--success);border-color:var(--success);color:#fff}.btn-danger{background:var(--error);border-color:var(--error);color:#fff}.btn-warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn-text)}.btn-ghost{background:transparent;border-color:transparent}.icon-btn{background:none;border:none;cursor:pointer;color:var(--label);padding:6px;border-radius:8px;display:inline-flex;font-size:16px}.icon-btn:hover{background:var(--hover);color:var(--text)}.shell{min-height:100vh;display:flex;flex-direction:column}.content{flex:1;padding:calc(var(--header-h, 76px) + 36px) 24px 32px}.page-head-card{display:flex;flex-direction:column;gap:14px}.page-head-card .page-head p{margin:0}.page-head-card .range-line{font-weight:700;color:var(--text, inherit)}.btn.on{border-color:var(--primary, #1d4ed8);color:var(--primary, #1d4ed8)}.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:2px;border-radius:9px;background:var(--primary, #1d4ed8);color:#fff;font-size:11px;font-weight:700}.table th.amt-col,.table td.amt-col{min-width:128px}.bill-head h1{margin:0 0 6px}.bill-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;font-size:15px}.bill-meta-supplier{font-weight:600}.bill-meta-amount{font-weight:700;font-variant-numeric:tabular-nums}.filters{display:flex;flex-direction:column;gap:10px}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filter-bar select,.filter-bar input{min-height:36px;padding:6px 10px;font-size:14px}.filter-bar select{max-width:240px}.f-range{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}.f-reset{margin-left:auto}.multi{position:relative}.multi-btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 10px;border:1px solid var(--line-2);border-radius:10px;background:var(--card);color:var(--text);cursor:pointer;font-size:14px}.multi-pop{position:absolute;z-index:50;top:calc(100% + 6px);left:0;min-width:240px;max-height:320px;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px}.multi-opt{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;cursor:pointer;font-size:14px}.multi-opt:hover{background:var(--hover)}.multi-opt input{min-height:auto}.schools-cell{max-width:260px;font-size:14px}.schools-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.schools-more{color:var(--label);font-weight:600;white-space:nowrap}.page{max-width:1400px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.page.narrow{max-width:760px}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.page-head h1{display:flex}.actions{display:flex;gap:8px;flex-wrap:wrap}.back{display:inline-flex;align-items:center;gap:6px;color:var(--label);font-weight:600;width:fit-content}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px;min-width:0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}.card-actions{display:flex;gap:8px;align-items:center}.grid-2{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:18px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.col{display:flex;flex-direction:column;gap:18px;min-width:0}.tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.tiles-sm{grid-template-columns:repeat(4,minmax(0,1fr))}.tile{text-align:left;background:var(--card);border:2px solid transparent;border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;cursor:pointer;display:flex;flex-direction:column;gap:4px;transition:border-color .15s,transform .15s}.tile:hover:not(.static){border-color:var(--primary);transform:translateY(-2px)}.tile.selected{border-color:var(--primary);background:var(--primary-50)}.tile.static{cursor:default}.tile.danger{border-color:var(--error)}.tile-label{color:var(--label);font-weight:600;font-size:14px}.tile-value{font-size:26px;font-weight:800;letter-spacing:-.5px}.tile-value.sm{font-size:18px}.tile-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--text-2)}.tile-hint{font-size:12px;color:var(--label)}.skeleton{background:linear-gradient(90deg,var(--line) 25%,var(--bg) 50%,var(--line) 75%);background-size:200% 100%;animation:sk 1.2s infinite;border-radius:8px;width:70%}@keyframes sk{to{background-position:-200% 0}}.progress{height:6px;background:var(--line);border-radius:4px;overflow:hidden;margin-top:4px}.progress>div{height:100%;background:var(--primary)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--bg);color:var(--text-2);white-space:nowrap}.badge-red{background:var(--bad-bg);color:var(--bad-text)}.badge-green{background:var(--good-bg);color:var(--good-text)}.badge-outline{background:transparent;border:1px solid var(--chip-outline-line);color:var(--chip-outline-text);font-weight:600;margin-left:6px}.vs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px}.chart{width:100%;min-height:300px}.chip,.chip-toggle{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;text-transform:capitalize;background:var(--hover);color:var(--text-2);white-space:nowrap;border:1px solid transparent}.chip-toggle{border:1px solid var(--line-2);cursor:pointer;background:var(--card);font-size:13px;padding:4px 11px;color:var(--text-2)}.chip-toggle.on{outline:2px solid var(--primary);outline-offset:1px}.chip.chip-submitted,.chip.chip-requested,.chip-toggle.on.chip-submitted{background:var(--chip-submitted);color:#fff}.chip.chip-queried,.chip.chip-query,.chip-toggle.on.chip-queried{background:var(--chip-queried);color:#fff}.chip.chip-approved,.chip.chip-approve,.chip-toggle.on.chip-approved{background:var(--chip-approved);color:#fff}.chip.chip-rejected,.chip.chip-reject,.chip-toggle.on.chip-rejected{background:var(--chip-rejected);color:#fff}.chip.chip-scheduled,.chip-toggle.on.chip-scheduled{background:var(--chip-scheduled);color:#fff}.chip.chip-part_paid,.chip-toggle.on.chip-part_paid{background:var(--chip-part-paid);color:#fff}.chip.chip-paid,.chip.chip-retired,.chip.chip-closed,.chip-toggle.on.chip-paid{background:var(--chip-paid);color:#fff}.chip.chip-open{background:var(--chip-open);color:#fff}.chip.chip-draft,.chip.chip-void,.chip-toggle.on.chip-draft,.chip-toggle.on.chip-void{background:transparent;border-color:var(--chip-outline-line);color:var(--chip-outline-text)}.chip.chip-void{text-decoration:line-through}.age{font-size:12px;font-weight:600;color:var(--text-2);white-space:nowrap}.age-warn{color:var(--age-warn)}.age-overdue{color:var(--error-text);font-weight:800}.queue{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.queue li{border-bottom:1px solid var(--line)}.queue li:last-child{border-bottom:none}.queue li a{display:flex;justify-content:space-between;gap:10px;padding:10px 6px;color:inherit;text-decoration:none;border-radius:8px}.queue li a:hover{background:var(--row-hover)}.queue li.overdue a{box-shadow:inset 3px 0 0 var(--error)}.queue-main{display:flex;flex-direction:column;min-width:0}.queue-sup{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.amt{font-weight:700;white-space:nowrap}.ref{font-weight:700;font-variant-numeric:tabular-nums;font-size:14px}.filters-card{display:flex;flex-direction:column;gap:10px}.status-filter{display:flex;gap:6px;flex-wrap:wrap}.status-filter .chip-toggle:not(.on){opacity:.7}.status-filter .chip-toggle.on{opacity:1}.filter-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.search-input{display:flex;align-items:center;gap:6px;border:1px solid var(--line-2);border-radius:10px;padding:0 10px;background:var(--card);flex:1;min-width:220px}.search-input input{border:none;box-shadow:none!important;flex:1;padding-left:0}.num-input{width:120px}.toggle{display:inline-flex;align-items:center;gap:6px;font-weight:600;cursor:pointer}.toggle input{min-height:auto}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--label);font-weight:700;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top;font-size:15px}.table td.r,.num{font-variant-numeric:tabular-nums}.table td.r{font-weight:600}.table td.small{font-size:14px}.table th.r,.table td.r{text-align:right}.table.compact td{padding:7px 10px}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td{background:var(--row-hover)}.table tr.overdue td:first-child{box-shadow:inset 3px 0 0 var(--error)}.table tr.voided td{color:var(--label);text-decoration:line-through}.rs{--rs-mix: var(--rs-mix-base);--rs-mix-h: var(--rs-mix-hover);--rs-edge: color-mix(in srgb, var(--rs) var(--rs-edge-mix), #fff)}.rs-submitted,.rs-requested{--rs: var(--chip-submitted)}.rs-queried{--rs: var(--chip-queried)}.rs-open{--rs: var(--chip-open)}.rs-approved{--rs: var(--chip-approved)}.rs-scheduled{--rs: var(--chip-scheduled)}.rs-part_paid{--rs: var(--chip-part-paid)}.rs-rejected{--rs: var(--chip-rejected)}.rs-paid,.rs-retired,.rs-closed{--rs: var(--chip-paid);--rs-mix: 0%;--rs-mix-h: 4%}.rs-draft,.rs-void{--rs: var(--chip-outline-line);--rs-mix: 0%;--rs-mix-h: 4%;--rs-edge: var(--chip-outline-line)}.rs.overdue{--rs-edge: var(--error)}.table tr.rs td{background-color:color-mix(in srgb,var(--rs) var(--rs-mix),var(--card))}.table tr.rs.clickable:hover td{background-color:color-mix(in srgb,var(--rs) var(--rs-mix-h),var(--card))}.table tr.rs td:first-child{box-shadow:inset 4px 0 0 var(--rs-edge)}.table tr.rs-draft td:first-child{box-shadow:none;background-image:repeating-linear-gradient(to bottom,var(--rs-edge) 0 5px,transparent 5px 9px);background-size:4px 100%;background-repeat:no-repeat}.table tr.rs-void td{color:var(--label)}.queue li.rs a{background-color:color-mix(in srgb,var(--rs) var(--rs-mix),var(--card));box-shadow:inset 4px 0 0 var(--rs-edge)}.queue li.rs a:hover{background-color:color-mix(in srgb,var(--rs) var(--rs-mix-h),var(--card))}.rs-legend{margin-top:12px}.rs-legend td:first-child{width:150px}.table td.desc{max-width:280px}.pagination{display:flex;gap:10px;align-items:center;justify-content:flex-end;margin-top:12px;flex-wrap:wrap}.pagination-top{margin:0 0 12px}.per-page{display:inline-flex;align-items:center;gap:6px;margin-right:auto;font-size:13px}.per-page select{min-height:30px;padding:3px 8px;font-size:13px}.dl{display:grid;grid-template-columns:130px 1fr;gap:8px 14px;margin:0}.dl dt{color:var(--label);font-weight:600}.dl dd{margin:0;min-width:0;overflow-wrap:anywhere}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.timeline li{padding-left:12px;border-left:2px solid var(--line-2)}.note{color:var(--text-2);font-style:italic;margin-top:2px;white-space:pre-wrap}.warn-box,.info-box,.error-box{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:12px}.warn-box{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn-text)}.info-box{background:var(--info-bg);color:var(--info-text)}.error-box{background:var(--err-bg);color:var(--err-text);justify-content:space-between}.empty{color:var(--label);padding:18px 4px;text-align:center}.loading{display:flex;align-items:center;gap:10px;color:var(--label);padding:24px;justify-content:center}.spinner{width:22px;height:22px;border:3px solid var(--line-2);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite;flex:none}.spinner.sm{width:16px;height:16px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.doc-viewer{display:flex;flex-direction:column;gap:8px}.doc-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.doc-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.doc-img{max-width:100%;border-radius:10px;border:1px solid var(--line);max-height:80vh;object-fit:contain;background:var(--bg)}.doc-pdf{width:100%;height:75vh;border:1px solid var(--line);border-radius:10px}.doc-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.extraction{margin-top:12px}.extraction summary{cursor:pointer;font-weight:600;color:var(--text-2)}.json{background:#0f172a;color:#e2e8f0;padding:12px;border-radius:10px;overflow:auto;max-height:400px;font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}.form-grid .row>.field{flex:1}.span-2{grid-column:span 2}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field-label{font-size:12px;font-weight:700;color:var(--text-2)}.field-hint{font-size:11px;color:var(--label)}.field input,.field select,.field textarea{width:100%}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px;flex-wrap:wrap}.schools-picker{display:flex;flex-direction:column;gap:8px}.schools-picker .picked{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.schools-picker .picked li{display:flex;align-items:center;gap:8px;background:var(--bg);border-radius:10px;padding:4px 4px 4px 10px}.picked-name{flex:1;font-weight:600}.schools-picker .picked select{min-height:30px;padding:3px 6px}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:2px dashed var(--line-2);border-radius:14px;padding:32px 16px;cursor:pointer;text-align:center;transition:border-color .15s}.dropzone:hover{border-color:var(--primary)}.dropzone.has-file{border-style:solid}.dz-icon{font-size:32px;color:var(--label)}.dz-preview{max-height:280px;max-width:100%;border-radius:10px}.modal-backdrop{position:fixed;inset:0;background:#0206178c;z-index:500;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;overflow-y:auto}.modal{background:var(--card);border-radius:18px;width:100%;max-width:680px;box-shadow:0 24px 80px #00000040}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}.modal-body{padding:18px;display:flex;flex-direction:column;gap:12px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--line)}.placeholder{text-align:center;padding:48px 16px;max-width:560px;margin:0 auto}.placeholder-icon{font-size:44px}.link-btn{background:none;border:none;padding:0;color:var(--primary);cursor:pointer;font:inherit}.link-btn:hover{text-decoration:underline}.doc-pdfjs{max-height:75vh;overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--sub-bg);padding:12px;display:flex;flex-direction:column;gap:12px}.doc-pdf-page{display:flex;flex-direction:column;align-items:center;gap:4px}.doc-pdf-sheet{position:relative;width:100%;background:#fff;box-shadow:0 2px 10px #0000001f}.doc-pdf-sheet canvas{display:block;width:100%;height:100%}.doc-pdf-pending{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.doc-pdf-label{font-size:11px;color:var(--label)}.doc-nopreview{display:flex;flex-direction:column;align-items:center;gap:10px}.doc-docx{max-height:75vh;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#eef0f4;color:#111827}.doc-docx .fms-docx-wrapper{padding:16px;background:transparent}.doc-docx .fms-docx-wrapper>section.fms-docx{margin-bottom:16px;box-shadow:0 2px 10px #0000001f;max-width:100%}.doc-sheet-wrap{max-height:75vh;overflow:auto;border:1px solid var(--line);border-radius:10px}.doc-sheet-table{border-collapse:collapse;font-size:12.5px;min-width:100%}.doc-sheet-table td,.doc-sheet-table th{border:1px solid var(--line);padding:4px 8px;white-space:nowrap;max-width:360px;overflow:hidden;text-overflow:ellipsis;text-align:left;vertical-align:top}.doc-sheet-table tr:first-child td{font-weight:700;background:var(--sub-bg)}.doc-sheet-rn{position:sticky;left:0;background:var(--bg);color:var(--label);font-weight:600;text-align:right!important;min-width:36px}@media(max-width:1200px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2,.detail-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:768px){.content{padding:calc(var(--header-h, 60px) + 20px) 12px 24px}.tiles,.tiles-sm{grid-template-columns:repeat(2,minmax(0,1fr))}.tile-value{font-size:20px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.dl{grid-template-columns:100px 1fr}.filter-bar select{max-width:100%;flex:1 1 45%}.f-reset{margin-left:0}}.audit-ch{margin-left:0;font-size:11px;padding:1px 6px}.term{cursor:help;border-radius:4px}.term:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.term-line{text-decoration:underline dotted;text-decoration-color:var(--label);text-underline-offset:3px}.term-icon{display:inline-flex;align-items:center;gap:3px}.term-i{font-size:12px;color:var(--label);line-height:1}.term-bare{display:inline-flex}.term-tip{position:fixed;z-index:1000;background:var(--tip-bg);color:var(--tip-text);font-size:13px;line-height:1.45;font-weight:400;text-transform:none;letter-spacing:0;padding:8px 10px;border-radius:8px;box-shadow:var(--shadow-soft);pointer-events:none;text-align:left;white-space:normal}.term-tip-title{font-weight:700;color:var(--tip-title)}.legend-help{margin-left:6px;align-self:center}.chart-caption{margin:8px 0 0;font-size:13px;color:var(--label)}.chart-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px;color:var(--text-2)}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend .dot{width:10px;height:10px;border-radius:50%;display:inline-block}.chart-legend .dash{width:18px;border-top:2px dashed;display:inline-block}.help-hint{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:8px 12px;border-radius:10px;background:var(--info-bg);color:var(--info-text);font-size:14px}.help-hint a{color:inherit;font-weight:600}.help-hint button{margin-left:auto;border:none;background:transparent;color:inherit;cursor:pointer;font-size:16px;line-height:1;padding:4px}.help-page section.card{margin-top:16px}.help-page h3{margin:0 0 12px;font-size:17px}.glossary{display:grid;grid-template-columns:minmax(130px,200px) 1fr;gap:10px 18px;margin:0}.glossary dt{font-weight:600}.glossary dd{margin:0;color:var(--text-2)}.flow-main{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.flow-arrow{display:inline-flex;flex-direction:column;align-items:center;color:var(--label);font-size:18px;line-height:1;padding:0 2px}.flow-arrow small{font-size:11px}.flow-branches{display:flex;flex-direction:column;gap:8px;margin-top:14px;padding-left:12px;border-left:2px solid var(--line)}.flow-branches>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.flow-from{font-size:13px;color:var(--label);min-width:110px}.flow-step{display:inline-flex}@media(max-width:600px){.glossary{grid-template-columns:1fr}.glossary dd{margin-bottom:6px}}.school-scope{margin:4px 0 0;font-size:14px;color:var(--text)}.theme-switching,.theme-switching *,.theme-switching *:before,.theme-switching *:after{transition:none!important}.theme-seg{display:flex;gap:2px;padding:3px;margin:2px 0 8px;border-radius:10px;background:var(--hover)}.theme-seg-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:none;background:transparent;cursor:pointer;padding:6px 4px;border-radius:7px;font-size:12px;font-weight:600;color:var(--text-2)}.theme-seg-btn.on{background:var(--card);color:var(--text);box-shadow:0 1px 3px #0000001f}.tag-suggestions{display:flex;flex-direction:column;gap:8px;margin-top:10px}.tag-suggestions .info-box{align-items:flex-start}.share-grid{display:flex;flex-direction:column;gap:6px;margin-top:8px}
