@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+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(/assets/inter-cyrillic-wght-normal-DqGufNeO.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(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+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(/assets/inter-vietnamese-wght-normal-CBcvBZtf.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(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,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{--bg: #f4f7fc;--surface: #ffffff;--ink: #0b1b3a;--ink-2: #3b4a68;--muted: #58678a;--line: #e4eaf4;--line-strong: #cfd9ea;--primary: #2f5bff;--primary-ink: #1f43d6;--primary-soft: #eaf0ff;--pos: #00a86b;--pos-soft: #e1f8ee;--warn: #f59e0b;--warn-ink: #9a5b00;--warn-soft: #fff3d6;--neg: #e5484d;--neg-soft: #fde8e9;--violet: #7c4dff;--violet-soft: #efe9ff;--c1: #9db6ff;--c2: #2f5bff;--radius: 14px;--shadow: 0 1px 2px rgba(16, 36, 94, .05), 0 4px 14px rgba(16, 36, 94, .05);color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Inter Variable,Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-feature-settings:"cv11","ss01"}h1,h2,h3{margin:0;letter-spacing:-.01em}a{color:var(--primary-ink)}button{font:inherit;cursor:pointer}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.muted{color:var(--muted)}.mono,.val,.num,td.r,.tv{font-variant-numeric:tabular-nums}.neg{color:var(--neg)}.ok-text{color:var(--pos)}.bad-text{color:var(--neg)}.nowrap{white-space:nowrap}.shell{display:grid;grid-template-columns:248px 1fr;min-height:100vh}.side{position:sticky;top:0;height:100vh;overflow-y:auto;padding:20px 14px;background:var(--surface);border-right:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 22px}.logo{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:800;letter-spacing:.02em;background:linear-gradient(135deg,#2f5bff,#00b4d8);box-shadow:0 6px 16px #2f5bff59}.brand-name{font-weight:700;line-height:1.2;display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.brand-name small{font-weight:500;color:var(--muted);font-size:12px}.side nav{display:flex;flex-direction:column;gap:2px}.side nav button{display:flex;align-items:center;gap:12px;padding:10px 12px;border:0;border-radius:10px;background:none;color:var(--ink-2);font-weight:500;text-align:left}.side nav button:hover{background:var(--bg)}.side nav button.on{background:var(--primary-soft);color:var(--primary-ink);font-weight:650}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 28px;background:#f4f7fce0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.month-pick select{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-weight:650;font-size:15px;padding:9px 38px 9px 14px;border-radius:10px;color:var(--ink);border:1px solid var(--line-strong);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%236b7a96' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center}.save{font-size:13px;font-weight:600;color:var(--muted);padding:5px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}.save:empty{display:none}.save.ok{color:var(--pos);background:var(--pos-soft);border-color:transparent}.save.busy{color:var(--primary-ink);background:var(--primary-soft);border-color:transparent}.save.bad{color:var(--neg);background:var(--neg-soft);border-color:transparent}.btn-link{cursor:pointer;font:inherit;font-size:13px;font-weight:600}.content{padding:28px;max-width:1480px;width:100%}.page-head{margin-bottom:20px}.page-head h1{font-size:26px;font-weight:750}.sub{margin:4px 0 0;color:var(--muted);max-width:70ch}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:20px;min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card h3{font-size:16px;font-weight:700}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid2>.card{margin-bottom:20px}.banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px;padding:12px 16px;border-radius:var(--radius);background:var(--warn-soft);color:var(--warn-ink);border:1px solid #fde4a6}.banner.bad{background:var(--neg-soft);color:var(--neg);border-color:#f8c9cb}.empty{text-align:center;padding:80px 0}.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.tile{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 18px 16px}.tile:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--accent)}.tile.accent-blue{--accent: var(--primary);--accent-soft: var(--primary-soft)}.tile.accent-green{--accent: var(--pos);--accent-soft: var(--pos-soft)}.tile.accent-violet{--accent: var(--violet);--accent-soft: var(--violet-soft)}.tile.accent-amber{--accent: var(--warn);--accent-soft: var(--warn-soft)}.tl{font-size:12.5px;font-weight:650;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.tv{font-size:30px;font-weight:800;letter-spacing:-.02em;margin:6px 0 2px;color:var(--ink);min-height:40px;display:flex;align-items:center}.tv .val{font-weight:800}.ts{font-size:13px;color:var(--muted);min-height:20px}.ts .val{font-weight:650;color:var(--ink-2)}.tile .bar{margin-top:12px}.bar{height:8px;border-radius:999px;background:var(--line);overflow:hidden}.bar>div{height:100%;border-radius:999px;background:linear-gradient(90deg,#2f5bff,#00b4d8);transition:width .3s ease}.bar>div.violet{background:linear-gradient(90deg,#7c4dff,#c084fc)}.bar>div.amber{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.bar>div.red{background:linear-gradient(90deg,#e5484d,#f97316)}.weeks{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:20px}.wk{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;display:flex;flex-direction:column;gap:8px}.wk-h{display:flex;justify-content:space-between;align-items:center}.wk .row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}.wk .row .in{width:118px}.wk .row b{font-size:16px}.facts{display:grid;grid-template-columns:1fr auto;gap:10px 16px;margin:0;align-items:center}.facts dt{color:var(--muted)}.facts dd{margin:0;text-align:right;font-weight:650}.facts.wide{max-width:560px}.form{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px 24px}.fld{display:flex;flex-direction:column;gap:5px}.fld>span{font-weight:600;font-size:13.5px;color:var(--ink-2)}.fld small{color:var(--muted);font-size:12.5px}.in{width:100%;min-width:0;padding:8px 10px;font:inherit;color:var(--ink);background:#f8faff;border:1px solid var(--line-strong);border-radius:9px;transition:border-color .15s,box-shadow .15s,background .15s}.in:hover{background:#fff}.in:focus{outline:none;background:#fff;border-color:var(--primary);box-shadow:0 0 0 3px #2f5bff2e}.in:disabled{background:var(--bg);color:var(--muted)}.in.num{text-align:right;font-weight:600}textarea.in{resize:vertical}td .in{min-width:150px}td .in.num{min-width:104px;width:112px}td .in[type=date]{min-width:140px}.wk .row span{white-space:nowrap}.wk .row .in{width:110px;min-width:0}.scroll{overflow-x:auto;margin:0 -4px;padding:0 4px}table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}th{position:sticky;top:0;text-align:left;font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface);padding:10px 8px;border-bottom:1px solid var(--line-strong);white-space:nowrap}td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr:hover td{background:#fafcff}.c{text-align:center}.r{text-align:right}tr.tot td{font-weight:750;background:var(--primary-soft);border-bottom:0;color:var(--ink)}tr.tot td:first-child{border-radius:10px 0 0 10px}tr.tot td:last-child{border-radius:0 10px 10px 0}tr.dim td{opacity:.55}.val{font-weight:600}.chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:650;white-space:nowrap}.chip.ok{background:var(--pos-soft);color:#007a4d}.chip.warn{background:var(--warn-soft);color:var(--warn-ink)}.chip.bad{background:var(--neg-soft);color:#c0282d}.chip.muted{background:var(--bg);color:var(--muted)}.chip.big{font-size:15px;padding:5px 14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:10px;font-weight:600;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);transition:background .15s,box-shadow .15s}.btn:hover:not(:disabled){background:var(--bg)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 12px #2f5bff4d}.btn.primary:hover:not(:disabled){background:var(--primary-ink)}.btn.ghost{background:var(--primary-soft);border-color:transparent;color:var(--primary-ink)}.btn.danger{background:var(--neg);border-color:var(--neg);color:#fff}.btn.danger-outline{color:var(--neg);border-color:#f1b6b8}.btn.danger-outline:hover:not(:disabled){background:var(--neg-soft)}.btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.file-btn{cursor:pointer}.icon-btn{border:0;background:none;color:var(--muted);width:30px;height:30px;border-radius:8px}.icon-btn:hover{background:var(--neg-soft);color:var(--neg)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.seg{display:inline-flex;gap:4px;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:14px;flex-wrap:wrap}.seg button{border:0;background:none;padding:7px 16px;border-radius:9px;font-weight:600;color:var(--ink-2)}.seg button.on{background:var(--primary);color:#fff;box-shadow:0 3px 8px #2f5bff4d}ul.plain{margin:8px 0 0;padding-left:20px}ul.plain li{margin:4px 0}.note{font-size:13px;margin:12px 0 0}svg text{font-size:11px;fill:var(--muted);font-family:inherit}svg .grid{stroke:var(--line);stroke-width:1}svg .l1{fill:none;stroke:var(--c1);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:5 4}svg .l2{fill:none;stroke:var(--c2);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}svg .d1{fill:var(--c1)}svg .d2{fill:var(--c2);stroke:#fff;stroke-width:2}.legend{display:flex;gap:18px;font-size:13px;color:var(--ink-2);margin-top:6px}.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:-1px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0b1b3a73;display:grid;place-items:center;padding:16px}.center-screen{min-height:100vh;display:grid;place-items:center;padding:16px}.modal{background:var(--surface);border-radius:18px;padding:24px;width:min(520px,100%);max-height:90vh;overflow:auto;box-shadow:0 24px 60px #0b1b3a4d}.modal h2{font-size:20px;margin-bottom:12px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;flex-wrap:wrap}.login{display:flex;flex-direction:column;gap:12px;width:min(380px,100%);text-align:center}.login .fld{text-align:left}.login h2{margin:4px 0 0}.login p{margin:0}.logo.big{width:52px;height:52px;border-radius:15px;font-size:18px;margin:0 auto}.btn.small{padding:6px 12px;font-size:13px}.topbar .save{margin-left:auto}.btn.wide{width:100%;padding:11px 16px}.side-foot{margin-top:auto;padding-top:16px}.side{display:flex;flex-direction:column}.choices{display:flex;flex-direction:column;gap:8px;margin-top:16px}.choice{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line-strong);border-radius:12px;cursor:pointer}.choice.on{border-color:var(--primary);background:var(--primary-soft)}.choice.off{opacity:.45;cursor:default}.choice small{display:block;color:var(--muted)}.choice input{margin-top:4px}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:60;background:var(--ink);color:#fff;padding:10px 18px;border-radius:999px;font-weight:600;box-shadow:0 8px 24px #0b1b3a4d}.nav-group{display:flex;flex-direction:column;gap:2px;margin-bottom:14px}.nav-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 12px 4px}.side nav button.on{box-shadow:inset 3px 0 0 var(--primary)}.pos{color:var(--pos)}.val{white-space:nowrap}.muted.val{color:var(--muted)}.in.wide{min-width:240px}.tile{background:radial-gradient(130% 110% at 100% 0,var(--accent-soft) 0,rgba(255,255,255,0) 58%),var(--surface)}.scroll{position:relative;background:linear-gradient(to right,var(--surface) 30%,rgba(255,255,255,0)) left center / 36px 100% no-repeat local,linear-gradient(to left,var(--surface) 30%,rgba(255,255,255,0)) right center / 36px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,#10245e2e,#10245e00) left center / 12px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,#10245e2e,#10245e00) right center / 12px 100% no-repeat scroll}.scroll th:first-child,.scroll td:first-child{position:sticky;left:0;z-index:2;background:var(--surface)}.scroll tr.tot td:first-child{background:#eaf0ff}.scroll tbody tr:hover td:first-child{background:#fafcff}.rn-short{display:inline}.rn-long,.bottom-nav{display:none}.sheet-overlay{align-items:end;padding:0}.sheet{background:var(--surface);width:100%;max-width:560px;margin:0 auto;border-radius:20px 20px 0 0;padding:10px 12px calc(16px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:4px;animation:slide-up .22s ease-out;box-shadow:0 -12px 40px #0b1b3a40}.sheet-grip{width:40px;height:4px;border-radius:2px;background:var(--line-strong);margin:4px auto 10px}.sheet button{display:flex;align-items:center;gap:14px;min-height:52px;padding:0 14px;border:0;border-radius:12px;background:none;font-size:16px;font-weight:600;color:var(--ink);text-align:left}.sheet button.on{background:var(--primary-soft);color:var(--primary-ink)}.sheet .sheet-signout{margin-top:8px;border:1px solid var(--line-strong);justify-content:center;color:var(--neg)}@keyframes slide-up{0%{transform:translateY(28px);opacity:0}to{transform:none;opacity:1}}@media (prefers-reduced-motion: reduce){.sheet{animation:none}.bar>div{transition:none}}:root{--glass-edge: rgba(255, 255, 255, .88);--glass-line: rgba(110, 135, 205, .2);--glass-shadow: 0 12px 36px rgba(31, 67, 214, .1), 0 2px 8px rgba(16, 36, 94, .06);--glass-blur: blur(18px) saturate(170%);--glass-fill: linear-gradient(135deg, rgba(255, 255, 255, .8), rgba(255, 255, 255, .52));--glass-strong: rgba(255, 255, 255, .86)}body{background:#eef3ff}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(900px 620px at 6% -8%,rgba(47,91,255,.26),transparent 62%),radial-gradient(760px 520px at 100% 2%,rgba(0,180,216,.22),transparent 58%),radial-gradient(900px 700px at 78% 108%,rgba(124,77,255,.18),transparent 62%),radial-gradient(640px 480px at -4% 92%,rgba(0,168,107,.14),transparent 60%),radial-gradient(540px 440px at 62% 46%,rgba(124,77,255,.15),transparent 66%),radial-gradient(540px 440px at 30% 68%,rgba(0,180,216,.15),transparent 66%),linear-gradient(180deg,#f3f7ff,#e9f0ff)}.card,.wk,.tile,.seg{background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);box-shadow:var(--glass-shadow),inset 0 1px #fffffff2,inset 0 -1px #6e87cd1f}.card,.wk{position:relative}.card:before,.wk:before,.tile:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;pointer-events:none;background:linear-gradient(125deg,#ffffff9e,#fff0 42%)}.tile{background:radial-gradient(130% 110% at 100% 0,var(--accent-soft) 0,rgba(255,255,255,0) 60%),var(--glass-fill)}.tile:before{height:3px;background:linear-gradient(90deg,var(--accent),rgba(255,255,255,0));opacity:.9}.side{background:linear-gradient(180deg,#ffffffb8,#ffffff80);-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);border-right:1px solid var(--glass-edge)}.side nav button.on{background:#2f5bff1f;box-shadow:inset 0 1px #ffffffd9,0 3px 10px #2f5bff24}.topbar{background:#ffffff8c;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-edge)}.month-pick select{background-color:#fffc;border-color:var(--glass-line)}.save{background:#ffffffb3;border-color:var(--glass-edge)}.overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal,.sheet{background:var(--glass-strong);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%)}.bottom-nav{background:#ffffffb8;border-top:1px solid var(--glass-edge);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.in{background:#ffffffd1;border-color:var(--glass-line);box-shadow:inset 0 1px 2px #10245e0d}.in:hover{background:#fffffff5}.in:focus{background:#fff}.btn{background:#ffffffb8;border-color:var(--glass-edge);box-shadow:0 2px 8px #10245e12,inset 0 1px #fffffff2}.btn:hover:not(:disabled){background:#fffffff2}.btn.primary{background:linear-gradient(180deg,#5b82ff,#2f5bff);border-color:#ffffff59;box-shadow:0 8px 20px #2f5bff57,inset 0 1px #ffffff80}.btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#6b8fff,#2a52f0)}.btn.ghost{background:#2f5bff1a}.btn.danger{background:linear-gradient(180deg,#f06a6e,#e5484d);box-shadow:0 8px 20px #e5484d4d,inset 0 1px #fff6}.seg button.on{background:linear-gradient(180deg,#5b82ff,#2f5bff);box-shadow:0 4px 12px #2f5bff59,inset 0 1px #ffffff73}.chip{box-shadow:inset 0 1px #ffffffb3}.bar{background:#6e87cd2e;box-shadow:inset 0 1px 2px #10245e24}.bar>div{box-shadow:inset 0 1px #ffffff8c,0 0 12px #2f5bff59}.banner{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}th{background:#f4f8ffd1;border-bottom-color:var(--glass-line)}td{border-bottom-color:var(--glass-line)}tbody tr:hover td{background:#ffffff8c}.scroll th:first-child,.scroll td:first-child{background:#f4f8ffeb}.scroll tr.tot td:first-child{background:#e6edff}tr.tot td{background:#2f5bff1a;box-shadow:inset 0 1px #ffffffb3}svg .grid{stroke:var(--glass-line);stroke-dasharray:2 5}svg .b1{stroke:#ffffffe6;stroke-width:1}svg .b2{stroke:#ffffffbf;stroke-width:1;filter:drop-shadow(0 6px 9px rgba(47,91,255,.32))}svg .l2{filter:drop-shadow(0 5px 7px rgba(47,91,255,.38))}svg .area{stroke:none}svg .d2{filter:drop-shadow(0 2px 4px rgba(47,91,255,.45))}.legend span{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:#ffffff9e;border:1px solid var(--glass-edge)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.card,.wk,.tile,.seg,.side,.topbar,.modal,.sheet,.bottom-nav{background:#fff}.tile{background:radial-gradient(130% 110% at 100% 0,var(--accent-soft) 0,rgba(255,255,255,0) 60%),#fff}}@media (prefers-reduced-transparency: reduce){.card,.wk,.tile,.seg,.side,.topbar,.modal,.sheet,.bottom-nav,.overlay,.banner{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.tile{background:radial-gradient(130% 110% at 100% 0,var(--accent-soft) 0,rgba(255,255,255,0) 60%),#fff}.overlay{background:#0b1b3a99}body:before{opacity:.4}}@media (max-width: 1100px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.grid2{grid-template-columns:1fr}}@media (max-width: 860px){:root{--glass-blur: blur(12px) saturate(160%)}.shell{display:block}.side{display:none}.topbar{padding:calc(10px + env(safe-area-inset-top)) 14px 10px;gap:8px}.save{font-size:12px;padding:4px 10px;max-width:58vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content{padding:16px 14px calc(96px + env(safe-area-inset-bottom))}.toast{bottom:calc(86px + env(safe-area-inset-bottom));max-width:92vw;text-align:center}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fffffff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;border:0;border-radius:12px;background:none;font-size:11px;font-weight:650;color:var(--muted)}.bottom-nav button.on{color:var(--primary-ink);background:var(--primary-soft)}.page-head{margin-bottom:14px}.page-head h1{font-size:22px}.sub{font-size:14px}.card{padding:14px;border-radius:14px;margin-bottom:14px}.card h3{font-size:15px}.grid2{gap:0}.form{grid-template-columns:1fr;gap:14px}.banner{padding:10px 12px;font-size:14px}.in{min-height:44px;font-size:16px}.btn{min-height:44px}.btn.small{min-height:36px}.icon-btn{width:44px;height:44px}.seg{display:flex;overflow-x:auto;scrollbar-width:none;max-width:100%}.seg button{flex:none;min-height:40px}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.tile{padding:12px}.tl{font-size:11px}.tv{font-size:22px;min-height:30px;margin:4px 0 0}.tv .chip.big{font-size:13px;padding:4px 10px}.ts{font-size:12px;min-height:0}.tile .bar{margin-top:8px;height:6px}.weeks{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -14px 16px;padding:2px 14px 8px;scrollbar-width:none}.weeks::-webkit-scrollbar{display:none}.wk{flex:0 0 84%;scroll-snap-align:center}.wk .row .in{width:130px}.scroll{background:none;overflow:visible;margin:0;padding:0}.resp,.resp tbody{display:block;width:100%;min-width:0!important}.resp thead{display:none}.resp tr{display:grid;grid-template-columns:1fr 1fr;column-gap:12px;background:#ffffffbd;border:1px solid var(--glass-edge);border-radius:12px;padding:8px 12px 10px;margin-bottom:10px;box-shadow:0 1px 2px #10245e0a}.resp td,.scroll td:first-child{position:static;background:none}.resp td{display:flex;flex-direction:column;align-items:stretch;gap:3px;min-width:0;padding:6px 0;border:0;text-align:left!important}.resp td:before{content:attr(data-label);font-size:11px;font-weight:650;line-height:1.25;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.resp td[data-label=""]:before{display:none}.resp td:empty{display:none}.resp td:first-child,.resp td.span2,.resp td[colspan],.resp td:has(.in.wide),.resp td:has(textarea),.resp td:has(>.icon-btn){grid-column:1 / -1}.resp td:first-child{padding:2px 0 8px;margin-bottom:4px;border-bottom:1px solid var(--line);font-size:15px;font-weight:700}.resp td:first-child:before{font-weight:650}.resp td .val,.resp td .chip{align-self:flex-start;text-align:left}.resp td .val{font-size:16px;font-weight:650}.resp td .in,.resp td .in.num,.resp td .in.wide,.resp td .in[type=date]{min-width:0;width:100%}.resp td:has(>.icon-btn){align-items:flex-end;margin-top:4px;padding-top:8px;border-top:1px solid var(--line)}.resp td .icon-btn{width:auto;padding:0 14px;border:1px solid var(--line-strong);font-size:14px}.resp td .icon-btn:after{content:" Remove"}.rn-short{display:none}.rn-long{display:inline}.resp tr.tot{background:var(--primary-soft);border-color:transparent}.resp tr.tot td{border-color:#2f5bff26}.resp tbody tr:hover td{background:none}.overlay{align-items:end;padding:0}.overlay .modal{width:100%;max-width:none;border-radius:20px 20px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom));max-height:92vh}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}}@media (max-width: 380px){.tv{font-size:20px}.wk{flex-basis:90%}}@media print{.side,.topbar,.bottom-nav,.btn,.icon-btn{display:none!important}.shell{display:block}body{background:#fff}.card,.tile,.wk{box-shadow:none;break-inside:avoid;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}.card:before,.wk:before,.tile:after,body:before{display:none}.scroll{background:none;overflow:visible}}.sales-cell{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.sales-cell .pos-line{display:inline-flex;align-items:center;gap:8px;font-weight:650}.chip.pos-chip{background:var(--accent-soft, #e8f0ff);color:var(--accent, #2563eb);padding:1px 8px;font-size:11.5px}.pos-note{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;font-size:12px}.btn-link{background:none;border:0;padding:0;color:var(--accent, #2563eb);text-decoration:underline}.gst-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gst-row>div{display:flex;flex-direction:column;gap:2px}.gst-row b{font-size:22px}.gst-row .gst-hl b{color:var(--warn-ink, #92400e)}.pos-status{margin:12px 0 0;font-size:13px}@media (max-width: 640px){.gst-row{grid-template-columns:1fr}.gst-row b{font-size:20px}}.how{margin-top:14px;font-size:14px}.how summary{cursor:pointer;font-weight:650}.how li{margin:8px 0}.how code{background:#2563eb14;padding:1px 5px;border-radius:5px;font-size:12.5px}
