:root{--bg:#eef0f2;--surface:#fff;--ink:#15171a;--muted:#4f545b;--line:#cfd3d8;--card:#f5f6f8;--brand:#2b5cb0;--brand-ink:#fff;--accent:#2f63b8;--geb-accent:#2b5cb0;--ok:#17703a;--ok-bg:#e3f4e8;--warn:#8a5100;--warn-bg:#fff1d6;--bad:#b3261e;--bad-bg:#fde6e4;--bad-ink:#fff;--c1:#2f7dd1;--c2:#8a5cc8;--c3:#c98a12;--c4:#c2410c;--c5:#0f8b7a;--hatch:#9aa3ad;--radius:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-mode=light]){--bg:#0e0f11;--surface:#17181b;--ink:#eceef1;--muted:#a6abb3;--line:#2f3237;--card:#1f2125;--brand:#7ea6ec;--brand-ink:#0c1424;--accent:#8ab0ee;--geb-accent:#7ea6ec;--ok:#66d993;--ok-bg:#12301e;--warn:#ffc766;--warn-bg:#33270e;--bad:#ff8f86;--bad-bg:#3a1513;--bad-ink:#1f0907;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-mode=dark]{--bg:#0e0f11;--surface:#17181b;--ink:#eceef1;--muted:#a6abb3;--line:#2f3237;--card:#1f2125;--brand:#7ea6ec;--brand-ink:#0c1424;--accent:#8ab0ee;--geb-accent:#7ea6ec;--ok:#66d993;--ok-bg:#12301e;--warn:#ffc766;--warn-bg:#33270e;--bad:#ff8f86;--bad-bg:#3a1513;--bad-ink:#1f0907;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-contrast:more){:root{--muted:var(--ink);--line:var(--ink)}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;margin:0;font:17px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body{min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}#root{background:var(--surface);flex-direction:column;max-width:640px;min-height:100dvh;margin:0 auto;display:flex}@media (width>=680px){#root{border-left:1px solid var(--line);border-right:1px solid var(--line)}}header.top{z-index:5;background:var(--surface);padding:calc(10px + env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--line);position:sticky;top:0}.row{align-items:center;gap:8px;display:flex}.wrap{flex-wrap:wrap}.sp{flex:1;min-width:0}.job{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.brand{white-space:nowrap;color:var(--ink);align-items:center;gap:7px;font-size:16px;font-weight:700;display:flex}.brand .geb-lockup{flex:none;width:auto;height:20px;display:block}.geb-cap{fill:var(--geb-accent)}.brand>span{color:var(--muted)}.sub{color:var(--muted);font-size:14px}.chips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.chip{background:var(--card);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:13px}.chip.ok{background:var(--ok-bg);color:var(--ok);border-color:#0000}.chip.warn{background:var(--warn-bg);color:var(--warn);border-color:#0000}.chip.bad{background:var(--bad-bg);color:var(--bad);border-color:#0000}.chip.pending{color:var(--muted);border-style:dashed}.splitnote{background:var(--card);border:1px solid var(--line);color:var(--muted);overflow-wrap:anywhere;border-radius:10px;margin-top:8px;padding:8px 10px}.splitnote b{color:var(--ink)}.pill{border:1px solid var(--line);background:var(--card);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;min-height:40px;padding:6px 12px;font-size:14px;font-weight:600;display:inline-flex}.pill .dot{background:var(--ok);border-radius:50%;width:10px;height:10px}.pill.waiting .dot{background:var(--accent)}.pill.offline{background:var(--warn-bg);color:var(--warn);border-color:#0000}.pill.offline .dot{background:var(--warn)}.pill.attention{background:var(--bad-bg);color:var(--bad);border-color:#0000}.pill.attention .dot{background:var(--bad)}main{padding:14px 16px calc(96px + env(safe-area-inset-bottom));flex:1}h2{margin:4px 0 12px;font-size:21px}h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:18px 0 8px;font-size:14px}p{margin:6px 0}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;padding:12px}.card.bad{border-color:var(--bad)}.card.warn{border-color:var(--warn)}.tap{cursor:pointer;text-align:left;width:100%}.big{font-size:24px;font-weight:700}.huge{letter-spacing:.02em;font-size:34px;font-weight:800}.muted{color:var(--muted)}.small{font-size:14px}.good{color:var(--ok)}.warnc{color:var(--warn)}.badc{color:var(--bad)}.notice{background:var(--warn-bg);color:var(--warn);border-radius:12px;margin-bottom:10px;padding:10px 12px;font-size:15px}.notice.bad{background:var(--bad-bg);color:var(--bad)}.notice.ok{background:var(--ok-bg);color:var(--ok)}.btn{appearance:none;cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:56px;padding:12px 16px;font-size:17px;font-weight:650;display:inline-flex}.btn.primary{background:var(--brand);color:var(--brand-ink)}.btn.block{width:100%}.btn.ghost{border:1.5px solid var(--line);color:var(--ink);background:0 0}.btn.danger{background:var(--bad);color:var(--bad-ink)}.btn.sm{min-height:44px;padding:8px 12px;font-size:15px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible,.pill:focus-visible,.nav button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.actions{gap:8px;margin-top:10px;display:flex}.actions>*{flex:1}.actions.quick{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.actions.quick>.btn{white-space:nowrap;min-width:0}.steps{grid-template-columns:repeat(7,1fr);gap:4px;margin:4px 0 14px;display:grid}.steps button{appearance:none;cursor:pointer;color:var(--muted);text-align:center;background:0 0;border:0;flex-direction:column;align-items:stretch;gap:4px;min-height:44px;padding:0;font-size:11px;display:flex}.steps button span.bar{background:var(--line);border-radius:4px;height:7px}.steps button.done span.bar{background:var(--brand)}.steps button.done{color:var(--ink)}.worker{align-items:center;gap:10px;display:flex}.av{background:var(--line);border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-size:15px;font-weight:700;display:grid}.av.ok{background:var(--ok-bg);color:var(--ok)}.av.bad{background:var(--bad-bg);color:var(--bad)}.av.warn{background:var(--warn-bg);color:var(--warn)}.bar3{border:1px solid var(--line);border-radius:7px;height:26px;margin-top:8px;display:flex;overflow:hidden}.bar3 div{color:#fff;white-space:nowrap;place-items:center;min-width:0;font-size:12px;font-weight:650;display:grid;overflow:hidden}.seg0{background:var(--c1)}.seg1{background:var(--c2)}.seg2{background:var(--c3)}.seg3{background:var(--c5)}.seg4{background:var(--accent)}.segtag{background:repeating-linear-gradient(45deg, var(--hatch) 0 6px, var(--c4) 6px 12px)}.stepper{align-items:center;gap:8px;display:flex}.stepper button{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;width:56px;height:48px;font-size:24px;font-weight:600}.stepper .v{text-align:center;min-width:64px;font-size:19px;font-weight:750}.cell-row{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 0;display:flex}.cell-row:first-of-type{border-top:0}.cell-label{flex:160px;min-width:0}label{color:var(--muted);margin:10px 0 4px;font-size:14px;display:block}input,select,textarea{background:var(--surface);border:1.5px solid var(--line);border-radius:12px;width:100%;min-height:52px;padding:12px}textarea{resize:vertical;min-height:96px}input.qty{text-align:right;font-size:24px;font-weight:700}.grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.kv{border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding:7px 0;font-size:15px;display:flex}.kv:last-child{border-bottom:0}.kv span:last-child{text-align:right;font-weight:600}.yn{grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;display:grid}.yn button{border:2px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;min-height:56px;font-size:17px;font-weight:700}.yn button.sel{border-color:var(--brand);background:var(--ok-bg)}.yn button.sel.no{border-color:var(--bad);background:var(--bad-bg)}.opts{grid-template-columns:1fr 1fr;gap:8px;display:grid}.opt{border:2px solid var(--line);background:var(--card);cursor:pointer;text-align:left;border-radius:12px;min-height:56px;padding:12px;font-size:15px;font-weight:650}.opt.sel{border-color:var(--brand)}canvas.sig{border:2px dashed var(--line);touch-action:none;background:#fff;border-radius:12px;width:100%;height:170px;display:block}.typedsig{border-bottom:2px solid var(--ink);overflow-wrap:anywhere;margin:10px 0 0;padding:14px 12px 10px;font-size:24px;font-style:italic}.typedsig .small{margin-top:6px;font-size:13px;font-style:normal;display:block}.thumbs{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.thumbs figure{margin:0}.thumbs img{aspect-ratio:1;object-fit:cover;background:var(--line);border-radius:10px;width:100%;display:block}.thumbs figcaption{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.thumbpick{border:2px solid var(--line);background:var(--card);cursor:pointer;text-align:left;min-width:0;color:inherit;border-radius:12px;flex-direction:column;gap:4px;padding:4px;display:flex}.thumbpick.sel{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand)}.thumbpick img{aspect-ratio:1;object-fit:cover;background:var(--line);border-radius:8px;width:100%;display:block}.thumbpick span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}label.check{min-height:56px;color:var(--ink,inherit);align-items:center;gap:10px;margin:12px 0 0;font-size:15px;display:flex}label.check input{flex:none;width:26px;height:26px;min-height:26px}.chip.ce-submitted,.chip.ce-priced{background:var(--warn-bg);color:var(--warn);border-color:#0000}.chip.ce-approved{background:var(--ok-bg);color:var(--ok);border-color:#0000}.chip.ce-rejected{background:var(--bad-bg);color:var(--bad);border-color:#0000}.chip.ce-void{color:var(--muted);text-decoration:line-through}.meter{background:var(--line);border-radius:5px;height:10px;margin-top:6px;overflow:hidden}.meter i{background:var(--brand);height:100%;display:block}nav.nav{z-index:6;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}nav.nav .in{width:100%;max-width:640px;display:flex}nav.nav button{min-height:64px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:13px;font-weight:650;display:flex}nav.nav button .ic{font-size:20px;line-height:1}nav.nav button.on{color:var(--brand)}.sheet{z-index:10;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet .panel{background:var(--surface);width:100%;max-width:640px;max-height:92dvh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;overflow:auto}.client{z-index:20;background:var(--surface);padding:calc(16px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));position:fixed;inset:0;overflow:auto}.client .inner{max-width:640px;margin:0 auto}.client .t{font-size:19px}table.t{border-collapse:collapse;width:100%;font-size:15px}table.t td,table.t th{border-bottom:1px solid var(--line);text-align:right;padding:8px 4px}table.t td:first-child,table.t th:first-child{text-align:left}.list-btn{border:1px solid var(--line);background:var(--card);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:10px;width:100%;min-height:56px;margin-bottom:8px;padding:10px 12px;font-size:16px;display:flex}.toast{left:50%;bottom:calc(80px + env(safe-area-inset-bottom));z-index:30;background:var(--ink);color:var(--surface);border-radius:12px;max-width:calc(100vw - 32px);padding:12px 16px;font-weight:600;position:fixed;transform:translate(-50%);box-shadow:0 6px 24px #00000040}.center{text-align:center}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.themetoggle{border:1px solid var(--line);background:var(--card);width:44px;height:44px;color:var(--ink);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.themetoggle:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn.primary{box-shadow:0 1px 3px #00000040}.btn.primary:disabled{box-shadow:none}select.classpick{width:100%;min-width:0;max-width:100%;font-size:14px}.classrow .classpick{flex:180px;width:auto}table.t td.classcell{width:55%;max-width:0}
