:root{--bg:#f4f6f8;--card:#fff;--ink:#14212b;--mut:#66727d;--line:#e2e7ec;--brand:#10283b;--good:#14804a;--goodbg:#e3f5ec;--bad:#c0392b;--badbg:#fdeceb;--warn:#9a6700;--warnbg:#fff4d6;--info:#1d5fa8;--infobg:#e6f0fb;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-size:1rem;line-height:1.4}button,input,select{font:inherit}.muted{color:var(--mut)}.grow{flex:1}.pad{padding:1.5rem}.hide-sm{display:inline}.center{min-height:100vh;display:grid;place-items:center;padding:1rem}.row{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.sub{font-size:.875rem;color:var(--mut)}.shell{min-height:100vh;display:flex;flex-direction:column}.top{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;background:var(--brand);color:#fff;position:sticky;top:0;z-index:5}.top select{background:#1b3a52;color:#fff;border:0;border-radius:.5rem;padding:.375rem .5rem}.brand{font-weight:700;letter-spacing:.2px}.brand.big{font-size:1.625rem;color:var(--brand)}.org{opacity:.8}.pill{display:inline-flex;gap:.375rem;align-items:center;font-size:.8125rem;padding:.25rem .625rem;border-radius:6.1875rem}.pill.ok{background:#1f5b45}.pill.bad{background:#7a2c25}.icon{background:none;border:0;color:inherit;padding:.5rem;border-radius:.5rem;cursor:pointer;display:grid;place-items:center}.icon:hover{background:#fff2}.strip{display:flex;gap:.625rem;align-items:center;padding:.625rem 1rem;font-size:.9375rem}.strip.warn{background:var(--warnbg);color:var(--warn)}.strip.bad{background:var(--badbg);color:var(--bad);font-weight:600}.strip>div{flex:1}.tabs{display:flex;gap:.25rem;padding:.5rem 1rem 0;background:var(--card);border-bottom:1px solid var(--line)}.tabs button{position:relative;display:flex;gap:.5rem;align-items:center;border:0;background:none;padding:.75rem 1rem;border-bottom:.1875rem solid transparent;cursor:pointer;color:var(--mut);font-weight:600}.tabs button.on{color:var(--brand);border-color:var(--brand)}.tabs i{font-style:normal;background:var(--bad);color:#fff;border-radius:6.1875rem;font-size:.75rem;padding:1px .4375rem}main{padding:1rem;max-width:var(--content-max,75rem);width:100%;margin:0 auto;flex:1}.pagehead{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.875rem;flex-wrap:wrap}.pagehead h1{margin:0;font-size:1.5rem}.pagehead p{margin:.125rem 0 0;color:var(--mut)}.btn{border:1px solid var(--line);background:var(--card);padding:.75rem 1rem;border-radius:.625rem;cursor:pointer;font-weight:600;display:inline-flex;gap:.5rem;align-items:center;min-height:2.75rem}.btn:hover{background:#f0f3f6}.btn:disabled{opacity:.5;cursor:default}.btn.good{background:var(--good);color:#fff;border-color:var(--good)}.btn.danger{background:var(--bad);color:#fff;border-color:var(--bad)}.btn.ghost{background:none}.btn.wide{width:100%;justify-content:center}.btn.sm{min-height:2rem;padding:.25rem .625rem}.badge{display:inline-block;font-size:.75rem;font-weight:700;padding:.1875rem .5625rem;border-radius:6.1875rem}.badge.good{background:var(--goodbg);color:var(--good)}.badge.bad{background:var(--badbg);color:var(--bad)}.badge.warn{background:var(--warnbg);color:var(--warn)}.badge.info{background:var(--infobg);color:var(--info)}.badge.muted{background:#edf0f3;color:var(--mut)}.alert{display:flex;gap:.625rem;padding:.75rem .875rem;border-radius:.625rem;margin:0 0 .75rem;position:relative}.alert.error{background:var(--badbg);color:var(--bad)}.alert.ok{background:var(--goodbg);color:var(--good)}.alert.warn{background:var(--warnbg);color:var(--warn)}.alert .x{margin-left:auto;border:0;background:none;cursor:pointer;color:inherit}.board{display:grid;gap:.875rem;align-items:start}.board.cols3{grid-template-columns:repeat(3,1fr)}.board.cols1{grid-template-columns:1fr}.col h3{margin:0 0 .5rem;font-size:.9375rem;color:var(--mut);text-transform:uppercase;letter-spacing:.5px}.count{background:#e4e9ee;border-radius:6.1875rem;padding:1px .5rem;font-size:.75rem}.order{display:block;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:.75rem;padding:.875rem;margin-bottom:.625rem;cursor:pointer}.order.isnew{border-color:var(--bad);box-shadow:0 0 0 .125rem #c0392b22}.order.overdue{background:var(--badbg)}.late{color:var(--bad);font-weight:700;font-size:.875rem;margin-top:.375rem}.sync{display:inline-flex;gap:.3125rem;align-items:center;font-size:.8125rem;margin-top:.375rem}.sync.ok{color:var(--good)}.sync.pend{color:var(--info)}.sync.bad,.err{color:var(--bad)}.err{font-size:.875rem}.empty{display:grid;place-items:center;gap:.25rem;text-align:center;padding:1.75rem .75rem;color:var(--mut);background:var(--card);border:1px dashed var(--line);border-radius:.75rem}.empty p{margin:0}.seg{display:flex;background:#e4e9ee;border-radius:.625rem;padding:.1875rem}.seg button{border:0;background:none;padding:.5rem 1rem;border-radius:.5rem;font-weight:600;cursor:pointer}.seg .on{background:var(--card)}.search{display:flex;align-items:center;gap:.5rem;background:var(--card);border:1px solid var(--line);border-radius:.625rem;padding:0 .75rem}.search input{border:0;outline:0;padding:.6875rem 0;background:none;min-width:10rem}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:.75rem}.stock{background:var(--card);border:1px solid var(--line);border-radius:.75rem;padding:.875rem;display:grid;gap:.625rem}.stock.off{background:#fafbfc}.stock p{margin:0}.link{border:0;background:none;padding:0;cursor:pointer;font-size:1.0625rem;color:var(--ink);text-align:left}.stepper{display:flex;align-items:center;gap:.625rem}.stepper button{width:2.75rem;height:2.75rem;border-radius:.625rem;border:1px solid var(--line);background:var(--card);cursor:pointer;display:grid;place-items:center}.stepper button:disabled{opacity:.35}.stepper b{min-width:1.75rem;text-align:center;font-size:1.125rem}.chips{display:flex;gap:.5rem;flex-wrap:wrap}.chip{display:inline-flex;gap:.375rem;align-items:center;font-size:.8125rem;background:#f1f4f7;border-radius:.5rem;padding:.25rem .5rem}.group{margin-bottom:1rem}.group h3{margin:0 0 .375rem}.menurow{display:flex;gap:.75rem;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:.625rem;padding:.875rem;margin-bottom:.375rem;cursor:pointer;align-items:center}.inline{display:flex;gap:.5rem;margin-bottom:.875rem}.inline input{flex:1}input,select{border:1px solid var(--line);border-radius:.625rem;padding:.6875rem .75rem;background:#fff;min-height:2.75rem;width:100%}.row input,.row select{width:auto}.form{display:grid;gap:.75rem}.form label{display:grid;gap:.25rem;font-weight:600;font-size:.875rem}.form label.check{display:flex;gap:.5rem;align-items:center}.form label.check input{width:auto;min-height:0}.chan{background:var(--card);border:1px solid var(--line);border-radius:.75rem;padding:1rem;margin-bottom:.75rem;display:grid;gap:.625rem}.chan h3,.sect{margin:0}.sect{margin:1.25rem 0 .625rem}.syncgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.syncgrid div{background:#f4f6f8;border-radius:.625rem;padding:.625rem;text-align:center}.syncgrid b{display:block;font-size:1.375rem}.syncgrid span{font-size:.75rem;color:var(--mut)}.syncgrid .warn{background:var(--warnbg)}.syncgrid .bad{background:var(--badbg)}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.prob{padding:.5rem 0;border-top:1px solid var(--line)}.maprow{padding:.5rem 0;border-bottom:1px solid var(--line)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0007;z-index:20;display:flex;justify-content:flex-end}.drawer{background:var(--card);width:min(30rem,100%);height:100%;overflow:auto}.drawer header{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--card)}.drawer h2{margin:0;font-size:1.1875rem}.body{padding:1rem;display:grid;gap:.75rem}.items{list-style:none;padding:0;margin:0}.items li{display:flex;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--line);align-items:center}.items .total{border:0;font-size:1.125rem}.note{background:var(--warnbg);padding:.625rem;border-radius:.625rem;margin:0}.cust{margin:0}.ask{display:grid;gap:.5rem;background:#f4f6f8;padding:.75rem;border-radius:.625rem}.timeline{padding-left:1.125rem;margin:0}.timeline li{margin-bottom:.5rem}.warn{color:var(--warn)}.login{background:var(--card);padding:1.75rem;border-radius:1rem;width:min(23.75rem,100%);display:grid;gap:.75rem;box-shadow:0 .5rem 1.875rem #0001}.login label{display:grid;gap:.25rem;font-weight:600;font-size:.875rem}.login p{margin:0}html[data-layout=phone] .board.cols3{grid-template-columns:1fr}html[data-layout=phone] .hide-sm,html[data-layout=phone] .org{display:none}html[data-layout=phone] .tabs{position:fixed;bottom:0;left:0;right:0;z-index:6;padding:0;justify-content:space-around;border-top:1px solid var(--line);border-bottom:0}html[data-layout=phone] .tabs button{flex-direction:column;gap:.125rem;font-size:.75rem;padding:.5rem .625rem;border-bottom:0;flex:1}html[data-layout=phone] .tabs i{position:absolute;top:.25rem;right:calc(50% - 1.375rem)}html[data-layout=phone] main{padding:.75rem .75rem 5.625rem}html[data-layout=phone] .syncgrid{grid-template-columns:repeat(2,1fr)}.itemmain{flex:1}.mod{font-size:.875rem;color:var(--mut);margin-left:1.375rem}.big{font-size:1.75rem;font-weight:700}.bar{height:.5rem;background:#e8edf1;border-radius:6.1875rem;overflow:hidden}.bar i{display:block;height:100%;background:var(--good)}.key{display:block;background:#f1f4f7;padding:.75rem;border-radius:.625rem;letter-spacing:.125rem;font-size:1rem;word-break:break-all}.optgroup{background:var(--card);border:1px solid var(--line);border-radius:.75rem;padding:.875rem;margin-bottom:.625rem;display:grid;gap:.5rem}.tabs button span{white-space:nowrap}.strip.pause{background:#1d1d1f;color:#fff}.strip.pause .err{color:#ff9a8f}.center-scrim{align-items:center;justify-content:center;padding:1rem}.dialog{background:var(--card);border-radius:1rem;padding:1.375rem;width:min(27.5rem,100%);box-shadow:0 1.25rem 3.75rem #0004;display:grid;gap:.625rem;animation:pop .12s ease-out}.dialog h2{margin:0;font-size:1.25rem}.dlg-body p{margin:0 0 .5rem}.dlg-list{margin:0;padding:.625rem .75rem .625rem 1.75rem;background:#f4f6f8;border-radius:.625rem;font-size:.9375rem}.actions.end{justify-content:flex-end;margin-top:.375rem}@keyframes pop{0%{transform:scale(.97);opacity:0}to{transform:none;opacity:1}}html[data-layout=phone] .center-scrim{align-items:flex-end}html[data-layout=phone] .dialog{border-radius:1rem 1rem 0 0}html[data-layout=phone] .actions.end .btn{flex:1;justify-content:center}.thumb{display:inline-grid;place-items:center;border-radius:.625rem;background:#eef1f4;color:#9aa5af;overflow:hidden;flex:none}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.photofield{display:flex;gap:.875rem;align-items:center}.photoctl{display:grid;gap:.375rem;font-size:.875rem}.stage{display:grid;place-items:center;background:#e9edf1;border-radius:.75rem;padding:.875rem}.stage canvas{border-radius:.375rem;box-shadow:0 .125rem .75rem #0003;touch-action:none;cursor:grab;background:#fff;outline-offset:.1875rem}.stage canvas:active{cursor:grabbing}.hint{text-align:center;margin:0;font-size:.875rem}.ed-controls{flex-wrap:nowrap}.ed-controls input[type=range]{flex:1;min-height:0;padding:0;border:0}.icon.dark{color:var(--ink)}.icon.dark:hover{background:#0001}.dialog.editor{width:min(26.25rem,100%);max-height:94vh;overflow:auto}.ed-title{text-align:center;font-weight:700}.ed-panel{min-height:6.875rem;display:grid;gap:.625rem;align-content:start}.filters{display:flex;gap:.625rem;overflow-x:auto;padding:.25rem .125rem .5rem;scroll-snap-type:x proximity}.filter{flex:none;border:0;background:none;display:grid;gap:.25rem;justify-items:center;font-size:.8125rem;cursor:pointer;scroll-snap-align:start;color:var(--mut)}.fthumb{width:4.5rem;height:4.5rem;border-radius:.625rem;background:#e9edf1;overflow:hidden;display:block;border:.1875rem solid transparent}.fthumb img{width:100%;height:100%;object-fit:cover;display:block}.filter.on{color:var(--ink);font-weight:700}.filter.on .fthumb{border-color:var(--brand)}.adjusts{display:grid;gap:.375rem}.adjusts label{display:grid;grid-template-columns:5.25rem 1fr 2.125rem;gap:.5rem;align-items:center;font-size:.875rem}.adjusts input{min-height:0;padding:0;border:0}.adjusts output{text-align:right;color:var(--mut);font-variant-numeric:tabular-nums}.ed-tabs{display:flex;border-top:1px solid var(--line);padding-top:.5rem;gap:.25rem}.ed-tabs button{flex:1;border:0;background:none;padding:.5rem .25rem;display:grid;gap:.125rem;justify-items:center;font-size:.8125rem;color:var(--mut);cursor:pointer;border-radius:.5rem}.ed-tabs .on{color:var(--brand);font-weight:700;background:#eef2f6}.barlist{display:grid;gap:.5rem;margin-top:.5rem}.barrow{display:grid;grid-template-columns:minmax(5rem,32%) 1fr auto;gap:.5rem;align-items:center;font-size:.875rem}.bt{background:#eef1f4;border-radius:6.1875rem;height:.75rem;overflow:hidden}.bt i{display:block;height:100%;background:#1b6fb5}.bv small{color:var(--mut)}.linechart{width:100%;height:auto;max-height:16.25rem}.legend{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.8125rem;margin-top:.25rem}.legend i{display:inline-block;width:.75rem;height:.75rem;border-radius:.1875rem;margin-right:.3125rem;vertical-align:-1px}.chipbtn{border:1px solid var(--line);background:#fff;border-radius:6.1875rem;padding:.375rem .75rem;cursor:pointer;font-size:.8125rem}.chipbtn.on{background:var(--brand);color:#fff;border-color:var(--brand)}.tablewrap{overflow:auto;max-height:20rem}.hourgrid{display:grid;gap:.1875rem;margin-top:.5rem}.hgrow{display:grid;grid-template-columns:2.125rem repeat(24,1fr);gap:.125rem;align-items:center}.hgrow i{height:1rem;border-radius:.1875rem;display:block}.hgl,.hgt{font-size:.6875rem;color:var(--mut)}.userrow{text-align:left;cursor:pointer;font:inherit;color:inherit}fieldset{border:0;padding:0;margin:0}html{font-size:calc(100% * var(--text-scale,1))}html[data-text=large]{--text-scale:1.15}html[data-text=xlarge]{--text-scale:1.3}html[data-width=wide]{--content-max:100rem}html[data-width=full]{--content-max:none}html[data-layout=tablet] .btn{min-height:3rem}html[data-layout=tablet] .tabs button{padding:.9rem 1.1rem}html[data-layout=tablet] .order{padding:1rem}html[data-layout=desktop] .tabs{position:static}.optrow{display:grid;gap:.4rem}.optrow .seg{flex-wrap:wrap}.setnote{color:var(--mut);font-size:.9rem;margin:0}.strip.demo{background:#e6f0fb;color:#1d5fa8}.itemstrip{display:flex;gap:.45rem;flex-wrap:wrap;margin:.55rem 0 .2rem;align-items:center}.stripitem{position:relative;display:inline-block}.qty{position:absolute;right:-.25rem;bottom:-.25rem;background:var(--brand);color:#fff;border-radius:99px;font-size:.75rem;padding:.05rem .4rem;border:2px solid #fff}.stripmore{color:var(--mut);font-weight:700;font-size:.9rem}.itemnames{font-size:.85rem;color:var(--mut);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.menurowwrap{display:flex;gap:.5rem;align-items:stretch;margin-bottom:.4rem}.menurowwrap .menurow{flex:1;margin-bottom:0}.camerabtn{flex:none;min-width:2.75rem;min-height:2.75rem;border-radius:.75rem;border:1px solid var(--line);background:#fff;color:var(--brand);cursor:pointer;display:grid;place-items:center}.camerabtn:hover{background:#eef2f6}.thumbwrap{position:relative;display:inline-block}.thumbwrap .camerabtn{position:absolute;right:-.4rem;bottom:-.4rem;min-width:1.9rem;min-height:1.9rem;border-radius:99px;padding:0}.photobanner{display:flex;gap:.9rem;align-items:center;background:var(--infobg);color:var(--info);border-radius:.9rem;padding:.9rem 1rem;margin-bottom:1rem;flex-wrap:wrap}.photobanner .muted{color:inherit;opacity:.8;font-size:.9rem}.wizard{text-align:center;justify-items:center}.wizbar{height:.5rem;background:#e4e9ee;border-radius:99px;width:100%;overflow:hidden}.wizbar i{display:block;height:100%;background:var(--good);transition:width .25s}.wizitem{display:grid;gap:.5rem;justify-items:center;margin:.5rem 0}.wizitem h3{margin:0;font-size:1.3rem}.btn.big{min-height:3.5rem;font-size:1.1rem;justify-content:center}.board.cols4{grid-template-columns:repeat(4,1fr)}html[data-layout=phone] .board.cols4{grid-template-columns:1fr}.order.cancelledcard{background:#fdeceb;border:2px solid var(--bad)}.cancelmsg{color:var(--bad);font-weight:700;margin:.4rem 0}.cardnote{background:var(--warnbg);color:#6b4500;border-radius:.5rem;padding:.35rem .55rem;margin:.4rem 0;font-weight:600;font-size:.9rem}
