@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-ext-wght-normal.460bdf14.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-wght-normal.491cbc05.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-ext-wght-normal.23aae568.woff2) format("woff2-variations");unicode-range:u+1f??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-wght-normal.4449bf7a.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-vietnamese-wght-normal.113a630f.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-ext-wght-normal.3835a68e.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-wght-normal.6c596dfc.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--font:"Inter Variable",Inter,"Segoe UI",system-ui,-apple-system,Arial,sans-serif;--text:#0f172a;--text-2:#334155;--muted:#64748b;--border:#e2e8f0;--border-strong:#cbd5e1;--surface:#f1f3f9;--card:#ffffff;--card-head:#f8f8fe;--primary:#4f46e5;--primary-ink:#3730a3;--primary-soft:#eef2ff;--bar-from:#1e1b4b;--bar-to:#312e81;--ok:#15803d;--ok-soft:#dcfce7;--warn:#b45309;--warn-soft:#fef3c7;--warn-line:#f59e0b;--bad:#b91c1c;--bad-soft:#fee2e2;--idle-soft:#f1f5f9;--radius:12px;--radius-lg:14px;--tap:48px}*,:after,:before{box-sizing:border-box}body,html{margin:0}body{font-family:var(--font);font-size:15px;line-height:1.45;color:var(--text);background:var(--surface);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,p{margin:0}.top{height:64px;background:linear-gradient(90deg,var(--bar-from),var(--bar-to));color:#f8fafc;display:flex;align-items:center;gap:14px;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.logo{width:38px;height:38px;border-radius:10px;background:#f8fafc;color:var(--bar-to);font-weight:800;display:grid;place-items:center;font-size:15px}.brand b{display:block;font-size:16px}.brand span{font-size:12px;color:#c7d2fe}.spacer{flex:1 1}.site-pick{background:rgb(255 255 255/.1);border:0;color:#e0e7ff;border-radius:999px;padding:8px 14px;font-size:14px}.site-pick option{color:var(--text)}.avatar{width:36px;height:36px;border-radius:50%;background:#a5b4fc;color:#1e1b4b;font-weight:700;display:grid;place-items:center;font-size:13px;border:0;cursor:pointer}.page{padding:20px 24px 32px;flex-direction:column;max-width:1400px;margin:0 auto}.head,.page{display:flex;gap:16px}.head{align-items:center;padding:16px 20px;background:#f5f5ff;border:1px solid #dcddf5;border-radius:var(--radius-lg);flex-wrap:wrap}.head-icon{width:48px;height:48px;border-radius:12px;background:var(--primary);color:#fff;display:grid;place-items:center;box-shadow:0 6px 14px rgb(79 70 229/.35);flex:none}.head h1{font-size:24px;font-weight:700;letter-spacing:-.3px}.head p{font-size:14px;color:var(--muted);margin-top:3px}.steps{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}.step{font-size:13px;padding:7px 12px;border-radius:999px;background:#eef0f6;color:var(--muted);font-weight:500}.step.done{background:var(--ok-soft);color:#166534}.step.now{background:var(--primary);color:#fff}.columns{display:flex;gap:16px;align-items:flex-start}.columns>.main{flex:1 1;min-width:0}.columns>.side{width:340px;display:flex;flex-direction:column;gap:16px;position:-webkit-sticky;position:sticky;top:84px}@media (max-width:900px){.columns{flex-direction:column}.columns>.side{width:100%;position:static}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.card>h3{font-size:15px;color:var(--primary-ink);font-weight:600;padding:14px 20px;background:var(--card-head);border-bottom:1px solid #e0e3f4}.card-body{padding:16px 20px;display:flex;flex-direction:column;gap:12px}table{width:100%;border-collapse:collapse}th{font-size:12px;letter-spacing:.8px;text-transform:uppercase;color:#4f57a8;text-align:left;padding:12px 20px;background:#f3f4fb;font-weight:600}td{padding:11px 20px;border-top:1px solid #eef0f5;vertical-align:middle}td small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}tr.flag td{background:#fffbeb}tr.flag td:first-child{box-shadow:inset 4px 0 var(--warn-line)}tr.row-button{cursor:pointer}tr.row-button:hover td{background:#fafaff}tr.selected td{background:var(--primary-soft)}.qty{min-width:64px;height:40px;padding:0 10px;border:1.5px solid var(--border-strong);border-radius:9px;display:inline-grid;place-items:center;font-weight:600;font-size:16px;background:#fff}.qty.empty{color:var(--muted);font-weight:500}tr.flag .qty{border-color:var(--warn-line);color:var(--warn)}.pills{display:flex;gap:6px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:4px 10px;border-radius:999px;white-space:nowrap}.pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.idle{background:var(--idle-soft);color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--tap);padding:0 20px;border-radius:var(--radius);font-weight:600;font-size:16px;border:1px solid var(--border-strong);background:#fff;cursor:pointer;text-decoration:none;color:var(--text)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:var(--primary);color:#fff;border-color:transparent}.btn.block{width:100%}.btn.small{min-height:38px;font-size:14px;padding:0 14px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;font-weight:600;color:var(--text-2)}.field input,.field select,.field textarea{min-height:var(--tap);border:1.5px solid var(--border-strong);border-radius:10px;padding:8px 12px;background:#fff;font-size:16px}.field textarea{min-height:72px}.field .problem{font-size:13px;color:var(--bad)}.stepper{display:flex;align-items:center;gap:8px}.stepper input{width:96px;text-align:center;font-weight:700;font-size:22px}.stepper button{width:var(--tap);height:var(--tap);border-radius:10px;border:1.5px solid var(--border-strong);background:#fff;font-size:22px;cursor:pointer}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{padding:9px 14px;border-radius:999px;border:1.5px solid var(--border-strong);font-size:14px;font-weight:500;background:#fff;cursor:pointer}.chip.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-ink);font-weight:600}.row{display:flex;justify-content:space-between;gap:12px}.bar{height:8px;border-radius:99px;background:var(--border);overflow:hidden}.bar i{display:block;height:100%;background:var(--primary)}.notice{border-radius:var(--radius);padding:12px 14px;font-size:14px}.notice.bad{background:var(--bad-soft);color:var(--bad)}.notice.warn{background:var(--warn-soft);color:var(--warn)}.notice.ok{background:var(--ok-soft);color:var(--ok)}.notice ul{margin:6px 0 0;padding-left:18px}.empty-state,.muted{color:var(--muted)}.empty-state{padding:40px 20px;text-align:center}.sign-in{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,var(--bar-from),var(--bar-to) 60%,#4338ca)}.sign-in .card{width:min(420px,100%)}.sign-in .brand-head{display:flex;align-items:center;gap:12px;padding:22px 24px 4px}.sign-in .brand-head .logo{background:var(--primary);color:#fff}.nav{display:flex;gap:4px;margin-left:18px}.nav a{color:#c7d2fe;text-decoration:none;font-size:14px;font-weight:600;padding:8px 14px;border-radius:999px}.nav a.on{background:rgb(255 255 255/.14);color:#fff}.filters{display:flex;gap:8px;align-items:center;padding:12px 20px;border-bottom:1px solid var(--border);flex-wrap:wrap}tr.overdue td:first-child{box-shadow:inset 4px 0 0 var(--bad)}.due-late{color:var(--bad);font-weight:600}.summary-text{font-size:13px;color:var(--text-2);max-width:460px}.kv{display:grid;grid-template-columns:max-content 1fr;grid-gap:8px 16px;gap:8px 16px;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0;font-weight:600}.timeline{list-style:none;margin:0;padding:0}.timeline li{padding:10px 0;border-bottom:1px solid var(--border);font-size:14px}.timeline li:last-child{border-bottom:0}.timeline small{display:block;color:var(--muted);margin-top:2px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin-bottom:12px}.choice-grid .chip{text-align:center}td.over{color:var(--bad);font-weight:700}.totals{display:flex;justify-content:flex-end;gap:28px;padding:14px 20px;font-size:14px;border-top:1px solid var(--border)}.totals b{display:block;font-size:18px}.head p a,.timeline a{color:var(--primary-ink);font-weight:600;text-decoration:none}.row b,.totals b{white-space:nowrap}.side-row,.wide{margin-top:16px}.side-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px;gap:16px;align-items:start}