:root{--primary:#6750a4;--on-primary:#fff;--primary-c:#eaddff;--on-primary-c:#21005d;--surface:#fef7ff;--surface-1:#f7f2fa;--surface-2:#f3edf7;--surface-3:#ece6f0;--on-surface:#1d1b20;--muted:#49454f;--outline:#79747e;--outline-v:#cac4d0;--green:#2e7d32;--green-c:#c8e6c9;--yellow:#8d6e00;--yellow-c:#fff3b0;--red:#b3261e;--red-c:#f9dedc;--grey:#5f6368;--grey-c:#e3e3e3;--orange:#b45309;--orange-c:#ffe0b2;--blue:#1565c0;--blue-c:#d6e4ff;--card:#fff}*{box-sizing:border-box}html,body{background:var(--surface);color:var(--on-surface);margin:0;font-family:Roboto,system-ui,sans-serif;font-size:14px}button,input,select,textarea{font:inherit;color:inherit}.mono{font-family:Roboto Mono,monospace}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.appbar{z-index:20;background:var(--surface-2);border-bottom:1px solid var(--outline-v);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 16px;display:flex;position:sticky;top:0}.appbar .title{flex:1;min-width:160px;font-size:18px;font-weight:500}.tag-mock{background:var(--orange-c);color:var(--orange);border-radius:8px;padding:2px 8px;font-size:11px;font-weight:500}.burger{cursor:pointer;background:0 0;border:0;font-size:22px;display:none}.roles{border:1px solid var(--outline);border-radius:20px;display:flex;overflow:hidden}.roles button{cursor:pointer;color:var(--muted);background:#fff;border:0;padding:6px 14px;font-weight:500}.roles button.on{background:var(--primary);color:#fff}.shell{min-height:calc(100vh - 56px);display:flex}.rail{background:var(--surface-1);border-right:1px solid var(--outline-v);flex-direction:column;flex:0 0 104px;gap:2px;width:104px;padding:8px 4px;display:flex}.rail button{cursor:pointer;color:var(--muted);text-align:center;background:0 0;border:0;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;font-size:11.5px;display:flex;position:relative}.rail button .ic{border-radius:16px;justify-content:center;align-items:center;width:56px;height:32px;font-size:20px;display:flex}.rail button.on .ic{background:var(--primary-c);color:var(--on-primary-c)}.rail button.on{color:var(--on-surface);font-weight:500}.rail .count{color:var(--red);font-weight:700}.main{flex:1;min-width:0;max-width:1200px;padding:20px}h1{margin:0 0 4px;font-size:22px;font-weight:400}h1:focus{outline:none}h2{margin:0 0 10px;font-size:16px;font-weight:500}h3{margin:0 0 8px;font-size:14.5px;font-weight:500}.sub{color:var(--muted);margin:0 0 16px}.card{background:var(--card);border:1px solid var(--outline-v);border-radius:16px;margin-bottom:16px;padding:16px}.card.late{border-left:6px solid var(--red)}.card.today{border-left:6px solid var(--orange)}.btn{cursor:pointer;background:var(--primary);color:var(--on-primary);border:0;border-radius:20px;align-items:center;gap:6px;padding:8px 18px;font-weight:500;display:inline-flex}.btn.tonal{background:var(--primary-c);color:var(--on-primary-c)}.btn.out{border:1px solid var(--outline);color:var(--primary);background:0 0}.btn.text{color:var(--primary);background:0 0;padding:8px 10px}.btn.danger{background:var(--red);color:#fff}.btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:4px 6px;font-size:16px}.icon-btn:hover{background:var(--surface-3)}.chip{white-space:nowrap;border-radius:8px;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-flex}.chip.green{background:var(--green-c);color:var(--green)}.chip.yellow{background:var(--yellow-c);color:var(--yellow)}.chip.red{background:var(--red-c);color:var(--red)}.chip.grey{background:var(--grey-c);color:var(--grey)}.chip.orange{background:var(--orange-c);color:var(--orange)}.chip.purple{background:var(--primary-c);color:var(--on-primary-c)}.chip.blue{background:var(--blue-c);color:var(--blue)}label.f{color:var(--muted);flex-direction:column;gap:4px;font-size:12.5px;display:flex}.inp{border:1px solid var(--outline);background:#fff;border-radius:8px;min-width:0;padding:8px 10px}.inp:focus{outline:2px solid var(--primary);border-color:#0000}.inp.warn{background:var(--orange-c);border-color:var(--orange)}.inp.bad{background:var(--red-c);border-color:var(--red)}.row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.spacer{flex:1}.tw{border:1px solid var(--outline-v);background:#fff;border-radius:12px;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--outline-v);text-align:left;vertical-align:top;padding:8px 10px}th{background:var(--surface-2);color:var(--muted);white-space:nowrap;font-size:12.5px;font-weight:500}tr.click{cursor:pointer}tr.click:hover td{background:var(--surface-1)}tr.orange td{background:#fff4e5}tr.red td{background:#fdecea}td.in input{width:90px;padding:6px 8px}.cap{color:var(--muted);margin-top:2px;font-size:11.5px}.cap.warn{color:var(--orange);font-weight:500}.cap.bad{color:var(--red);font-weight:500}.warnbox{background:var(--orange-c);color:#6b3200;border-radius:12px;margin-bottom:12px;padding:10px 14px}.empty{color:var(--muted);text-align:center;padding:28px 12px}.meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 16px;margin:4px 0 10px;font-size:12.5px;display:flex}.step{border:1px solid var(--outline-v);background:var(--surface-1);border-radius:12px;margin:10px 0;padding:12px}.step .n{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;margin-right:8px;font-size:12.5px;font-weight:700;display:inline-flex}.step.sub .n{background:var(--orange)}.step tr.done td{color:#9a9a9a;text-decoration:line-through}.timeline{margin:0;padding:0 0 0 6px;list-style:none}.timeline li{border-left:3px solid var(--primary-c);padding:4px 0 8px 14px;position:relative}.timeline li:before{content:"";background:var(--primary);border-radius:50%;width:11px;height:11px;position:absolute;top:8px;left:-7px}.scrim{z-index:50;overscroll-behavior:contain;background:#00000059;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:24px;width:100%;max-width:760px;max-height:90vh;padding:24px;overflow:auto}.toast{color:#f5eff7;z-index:60;background:#322f35;border-radius:8px;max-width:90vw;padding:12px 20px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.poll{color:var(--muted);font-size:11.5px}.tabs{border-bottom:1px solid var(--outline-v);gap:4px;margin:20px 0 0;display:flex;overflow-x:auto}.tabs button{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:6px;padding:10px 14px;font-weight:500;display:inline-flex}.tabs button:hover{background:var(--surface-2)}.tabs button.on{color:var(--primary);border-bottom-color:var(--primary)}.tabs .tn{background:var(--surface-3);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:inline-flex}.tabs button.on .tn{background:var(--primary);color:#fff}.card.tabpanel{border-top:0;border-top-left-radius:0;border-top-right-radius:0}.seg{border:1px solid var(--outline);border-radius:16px;display:inline-flex;overflow:hidden}.seg button{cursor:pointer;color:var(--muted);white-space:nowrap;background:#fff;border:0;padding:5px 12px;font-weight:500}.seg button+button{border-left:1px solid var(--outline)}.seg button.ok{background:var(--green-c);color:var(--green)}.seg button.no{background:var(--red-c);color:var(--red)}.cap.ok{color:var(--green);font-weight:500}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.docwrap{overflow-x:auto}.doc{color:#000;border:1px solid var(--outline-v);background:#fff;border-radius:4px;width:148mm;margin:0 auto;padding:10mm;font-size:9pt;box-shadow:0 2px 10px #0000001f}.doc h2{text-align:center;letter-spacing:.3px;margin:0 0 1mm;font-size:12pt}.doc .cap{font-size:7.5pt}.doc .kv{grid-template-columns:max-content 1fr;gap:.6mm 4mm;margin:3mm 0 4mm;display:grid}.doc .kv span{color:#444}.doct{table-layout:fixed;border-collapse:collapse;width:100%;font-size:8.5pt}.doct th,.doct td{color:#000;border:1px solid #999;padding:1.2mm 1.1mm;font-size:8.5pt;line-height:1.25;overflow:hidden}.doct th{white-space:nowrap;background:#f1f1f1;font-weight:700}.doct th.c{text-align:center}.doct th.qs{font-size:7pt;font-weight:400}.doct td.menu{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.doct .ket{white-space:normal;color:#444;margin-top:.5mm;font-size:7.5pt}.sign{text-align:center;grid-template-columns:1fr 1fr;gap:8mm;margin-top:7mm;font-size:9pt;display:grid}.sign .line{border-bottom:1px solid #000;height:15mm;margin:1.5mm 3mm}.ship-check{cursor:pointer;width:18px;height:18px}@media print{@page{size:A5 portrait;margin:10mm}#app,.noprint,.toast{display:none!important}html,body{background:#fff}.scrim{background:0 0;padding:0;display:block;position:static}.modal{background:#fff;border-radius:0;max-width:none;max-height:none;padding:0;overflow:visible}.docwrap{overflow:visible}.doc{width:auto;box-shadow:none;border:0;border-radius:0;padding:0}}@media (width<=900px){.burger{display:block}.rail{z-index:30;transition:transform .2s;position:fixed;top:56px;bottom:0;left:0;transform:translate(-110%);box-shadow:2px 0 12px #0003}.rail.open{transform:none}.main{padding:16px}.appbar .title{min-width:120px}.seg button{padding:5px 9px}}a{color:var(--primary)}.grid{gap:12px;display:grid}.g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.inp:disabled{background:var(--surface-2);color:var(--muted)}.infobox{background:var(--primary-c);color:var(--on-primary-c);border-radius:12px;margin-bottom:12px;padding:10px 14px}html.modal-open{scrollbar-gutter:stable;overflow:hidden}.scrim.hide-behind{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1c1b1fb3}.login{background:linear-gradient(135deg,#eaddff,#fef7ff 60%);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.login .card{width:100%;max-width:400px;padding:28px}.logo{background:var(--primary);color:#fff;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:12px;font-size:28px;display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tw{position:relative}@media (width<=900px){.rail[data-v-ef1724d8]:not(.open){visibility:hidden}}.rail-item[data-v-ef1724d8]{cursor:pointer;color:var(--muted);text-align:center;background:0 0;border:0;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;font-size:11.5px;text-decoration:none;display:flex;position:relative}.rail-item .ic[data-v-ef1724d8]{border-radius:16px;justify-content:center;align-items:center;width:56px;height:32px;font-size:20px;display:flex}.rail-item.on .ic[data-v-ef1724d8]{background:var(--primary-c);color:var(--on-primary-c)}.rail-item.on[data-v-ef1724d8]{color:var(--on-surface);font-weight:500}.rail-item .count[data-v-ef1724d8]{color:var(--red);font-weight:700}.rail-item[data-v-ef1724d8]:focus-visible{outline:2px solid var(--primary)}.update-wrap[data-v-58b94da8]{z-index:70;width:max-content;max-width:calc(100vw - 32px);position:fixed;bottom:76px;left:50%;transform:translate(-50%)}.update-banner[data-v-58b94da8]{background:var(--primary);color:#fff;width:100%;font:inherit;text-align:center;cursor:pointer;border:0;border-radius:12px;padding:12px 18px;font-weight:500;display:block;box-shadow:0 4px 16px #00000040}.update-banner[data-v-58b94da8]:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
