*,*::before,*::after{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--floor);color:var(--print);font-family:var(--body);font-size:var(--t-b);line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
a{color:var(--sack);text-decoration:none}
input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2.5px solid var(--sack);outline-offset:2px;border-radius:6px}
h1,h2,h3,p{margin:0}
.num{font-variant-numeric:tabular-nums}
.mono{font-family:var(--mono);font-weight:500;letter-spacing:.02em}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--print-3)}
.soft{color:var(--print-2)}
.disp{font-family:var(--display);font-weight:600;letter-spacing:-.01em}
.t-xxl{font-family:var(--display);font-weight:700;font-size:var(--t-xxl);line-height:1.02;letter-spacing:-.02em}
.t-xl{font-family:var(--display);font-weight:700;font-size:var(--t-xl);line-height:1.1;letter-spacing:-.015em}
.t-l{font-family:var(--display);font-weight:600;font-size:var(--t-l);line-height:1.2;letter-spacing:-.01em}
.t-m{font-size:var(--t-m);font-weight:600;line-height:1.35}
.t-s{font-size:var(--t-s)}
.t-xs{font-size:var(--t-xs)}
.balance{text-wrap:balance}
.row{display:flex;align-items:center;gap:10px}
.row.wrap{flex-wrap:wrap}
.col{display:flex;flex-direction:column;gap:8px}
.grow{flex:1;min-width:0}
.right{margin-left:auto}
.gap-s{gap:6px}.gap-l{gap:16px}
.ell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stack>*+*{margin-top:12px}
.stack-l>*+*{margin-top:20px}
svg.i{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
svg.i.s{width:16px;height:16px}
svg.i.l{width:24px;height:24px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--r-s);font-weight:600;font-size:15px;line-height:1;transition:background .14s,box-shadow .14s,transform .08s;white-space:nowrap;user-select:none}
.btn:active{transform:translateY(1px)}
.btn.pri{background:var(--sack);color:var(--on-sack);box-shadow:0 1px 0 rgba(0,0,0,.12) inset,0 1px 2px rgba(18,63,122,.3)}
.btn.pri:hover{background:var(--sack-ink)}
.btn.quiet{background:var(--label);border:1px solid var(--seam-2);color:var(--print)}
.btn.quiet:hover{border-color:var(--print-3)}
.btn.ghost{color:var(--sack);padding:0 10px}
.btn.ghost:hover{background:var(--sack-wash)}
.btn.ok{background:var(--counted);color:#fff}
.btn.warn{background:var(--vest);color:#2a1a00}
.btn.danger{background:var(--short);color:#fff}
.btn.big{min-height:56px;font-size:17px;border-radius:var(--r-m);padding:0 20px}
.btn.wide{width:100%}
.btn.sm{min-height:36px;padding:0 12px;font-size:14px}
.btn[disabled],.btn[aria-disabled="true"]{background:var(--floor-2);color:var(--print-3);box-shadow:none;cursor:not-allowed;border-color:transparent}
.why{font-size:var(--t-s);color:var(--print-3);margin-top:6px;display:flex;gap:6px;align-items:center}
.why svg{width:15px;height:15px}

.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field>label,.flabel{font-size:var(--t-s);font-weight:600;color:var(--print-2)}
.field .hint{font-size:var(--t-xs);color:var(--print-3)}
.field .err{font-size:var(--t-s);color:var(--short);font-weight:500}
.inp{width:100%;min-height:46px;border:1px solid var(--seam-2);background:var(--label);border-radius:var(--r-s);padding:10px 12px;font-size:16px;transition:border-color .14s,box-shadow .14s}
.inp:hover{border-color:var(--print-3)}
.inp:focus{outline:none;border-color:var(--sack);box-shadow:0 0 0 3px var(--sack-wash)}
.inp.bad{border-color:var(--short);box-shadow:0 0 0 3px var(--short-wash)}
textarea.inp{min-height:84px;resize:vertical;line-height:1.45}
select.inp{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235E6670' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}
.money-inp{position:relative}
.money-inp span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--print-3);font-weight:600}
.money-inp .inp{padding-left:28px;font-variant-numeric:tabular-nums;font-weight:600}
.check{display:flex;gap:10px;align-items:center;min-height:44px;cursor:pointer}
.check input{width:20px;height:20px;accent-color:var(--sack)}
.seg{display:inline-flex;background:var(--floor-2);border-radius:var(--r-s);padding:3px;gap:2px;max-width:100%;overflow-x:auto;scrollbar-width:none}
.seg::-webkit-scrollbar{display:none}
.seg button{min-height:38px;padding:0 14px;border-radius:8px;font-weight:600;font-size:14px;color:var(--print-2);white-space:nowrap;flex:none}
.seg button[aria-pressed="true"]{background:var(--label);color:var(--print);box-shadow:var(--sh-1)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--seam-2);background:var(--label);font-weight:500;font-size:14.5px;display:inline-flex;align-items:center;gap:6px}
.chip[aria-pressed="true"]{background:var(--sack);border-color:var(--sack);color:var(--on-sack)}

.card{background:var(--label);border-radius:var(--r-m);box-shadow:var(--sh-1);border:1px solid var(--seam)}
.card.pad{padding:18px}
.card-h{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--seam)}
.card-h h2,.card-h h3{font-size:16px;font-weight:700;font-family:var(--display);letter-spacing:-.005em}
.sec-h{display:flex;align-items:baseline;gap:10px;margin:4px 2px 10px}
.sec-h h2{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.01em}
.sec-h .count{font-size:var(--t-s);color:var(--print-3)}

.figs{display:flex;background:var(--label);border:1px solid var(--seam);border-radius:var(--r-m);box-shadow:var(--sh-1);overflow:hidden}
.fig{flex:1;min-width:0;padding:14px 18px 12px;border-left:1px solid var(--seam);display:flex;flex-direction:column;gap:2px;text-align:left}
.fig:first-child{border-left:0}
button.fig:hover{background:var(--label-2)}
.fig b{font-family:var(--display);font-weight:700;font-size:26px;line-height:1.1;letter-spacing:-.015em;font-variant-numeric:tabular-nums}
.fig span{font-size:var(--t-s);color:var(--print-3);font-weight:500}
.fig.vest b{color:var(--vest-ink)}
.fig.short b{color:var(--short)}
.fig.ok b{color:var(--counted)}
.fig .sub{font-size:var(--t-xs);color:var(--print-3)}
@media (max-width:720px){.figs{flex-wrap:wrap}.fig{flex:1 1 45%;border-left:0;border-top:1px solid var(--seam)}.fig:nth-child(-n+2){border-top:0}.fig:nth-child(even){border-left:1px solid var(--seam)}}

.tag{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:var(--r-xs);font-size:12.5px;font-weight:600;white-space:nowrap;line-height:1}
.tag::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.tag.sack{background:var(--sack-wash);color:var(--sack)}
.tag.vest{background:var(--vest-wash);color:var(--vest-ink)}
.tag.ok{background:var(--counted-wash);color:var(--counted-ink)}
.tag.short{background:var(--short-wash);color:var(--short)}
.tag.plain{background:var(--floor-2);color:var(--print-2)}
.tag.claim{background:transparent;color:var(--vest-ink);border:1.5px dashed var(--vest);height:24px}
.tag.claim::before{background:transparent;border:1.5px solid var(--vest)}
.tag.counted{background:var(--counted);color:#fff}
.tag.counted::before{background:#fff}
.tag.ring::before{background:transparent;border:1.5px solid currentColor}

.holder{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-s);color:var(--print-2);min-width:0}
.holder svg{width:16px;height:16px;color:var(--sack)}
.holder b{font-weight:600;color:var(--print)}
.holder.late,.holder.late b,.holder.late svg{color:var(--short)}

.chain{display:flex;align-items:flex-start;gap:0;overflow-x:auto;padding:4px 0 2px;scrollbar-width:none}
.chain::-webkit-scrollbar{display:none}
.hop{display:flex;flex-direction:column;align-items:flex-start;min-width:94px;flex:1;position:relative;padding-right:10px}
.hop .dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--floor-2);color:var(--print-3);position:relative;z-index:1}
.hop .dot svg{width:16px;height:16px}
.hop::after{content:"";position:absolute;top:15px;left:30px;right:0;height:2px;background:var(--seam-2)}
.hop:last-child::after{display:none}
.hop.done .dot{background:var(--sack-wash);color:var(--sack)}
.hop.done::after{background:var(--sack-line)}
.hop.now .dot{background:var(--sack);color:var(--on-sack);box-shadow:0 0 0 4px var(--sack-wash)}
.hop.now.late .dot{background:var(--short);box-shadow:0 0 0 4px var(--short-wash)}
.hop .who{font-size:13px;font-weight:600;margin-top:6px;line-height:1.25}
.hop .when{font-size:12px;color:var(--print-3)}

.tl{list-style:none;margin:0;padding:0;position:relative}
.tl li{display:grid;grid-template-columns:18px 1fr auto;gap:10px;padding:8px 0;position:relative}
.tl li::before{content:"";position:absolute;left:8px;top:22px;bottom:-8px;width:2px;background:var(--seam)}
.tl li:last-child::before{display:none}
.tl .pip{width:12px;height:12px;border-radius:50%;margin:5px 0 0 3px;background:var(--seam-2)}
.tl li.money .pip{background:var(--counted)}
.tl li.warn .pip{background:var(--vest)}
.tl li.bad .pip{background:var(--short)}
.tl li.hand .pip{background:var(--sack)}
.tl .what{font-weight:600;font-size:14.5px}
.tl .by{font-size:var(--t-s);color:var(--print-3)}
.tl time{font-size:var(--t-xs);color:var(--print-3);white-space:nowrap;padding-top:2px}

table.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:14.5px}
.tbl th{text-align:left;font-size:12.5px;font-weight:600;color:var(--print-3);padding:10px 14px;border-bottom:1px solid var(--seam);background:var(--label-2);position:sticky;top:0;z-index:1;white-space:nowrap}
.tbl td{padding:11px 14px;border-bottom:1px solid var(--seam);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tr.click{cursor:pointer}
.tbl tr.click:hover td{background:var(--label-2)}
.tbl .r{text-align:right}
.tbl tfoot td{font-weight:700;background:var(--label-2);border-top:1px solid var(--seam-2)}
.tbl-wrap{overflow:auto;border-radius:var(--r-m)}

.list{display:flex;flex-direction:column}
.item{display:flex;gap:12px;align-items:center;padding:13px 16px;border-top:1px solid var(--seam);text-align:left;width:100%;min-height:56px}
.item:first-child{border-top:0}
button.item:hover,a.item:hover{background:var(--label-2)}
.item .main{flex:1;min-width:0}
.item .t1{font-weight:600;line-height:1.3}
.item .t2{font-size:var(--t-s);color:var(--print-3);line-height:1.35}
.item .amt{font-family:var(--display);font-weight:700;font-size:17px;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}

.empty{padding:36px 20px;text-align:center;color:var(--print-2)}
.empty svg{width:40px;height:40px;color:var(--seam-2);stroke-width:1.4}
.empty h3{font-family:var(--display);font-weight:600;font-size:17px;color:var(--print);margin:10px 0 4px}
.empty p{font-size:14px;max-width:34ch;margin:0 auto 14px}

.note{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-s);font-size:14.5px;line-height:1.45}
.note svg{margin-top:1px}
.note.vest{background:var(--vest-wash);color:var(--vest-ink)}
.note.short{background:var(--short-wash);color:var(--short)}
.note.sack{background:var(--sack-wash);color:var(--sack-ink)}
.note.ok{background:var(--counted-wash);color:var(--counted-ink)}
.note b{font-weight:700}

.code{font-family:var(--mono);font-weight:500;font-size:13.5px;letter-spacing:.04em;color:var(--print-2);white-space:nowrap}
.code.big{font-size:17px;color:var(--print)}
.area{font-family:var(--display);font-weight:600;letter-spacing:-.005em}
.zone{font-size:11.5px;font-weight:600;padding:2px 6px;border-radius:4px;background:var(--floor-2);color:var(--print-2);white-space:nowrap}
.zone.outside{background:var(--sack-wash);color:var(--sack)}

.scrim{position:fixed;inset:0;background:rgba(10,14,18,.42);z-index:40;opacity:0;transition:opacity .22s var(--ease)}
.scrim.on{opacity:1}
.sheet{position:fixed;z-index:41;background:var(--label);box-shadow:var(--sh-3);display:flex;flex-direction:column;transition:transform .24s var(--ease)}
.sheet.side{top:0;right:0;bottom:0;width:min(560px,100vw);transform:translateX(102%)}
.sheet.side.on{transform:none}
.sheet.bottom{left:0;right:0;bottom:0;max-height:92vh;border-radius:var(--r-l) var(--r-l) 0 0;transform:translateY(102%)}
.sheet.bottom.on{transform:none}
.sheet-h{display:flex;align-items:center;gap:10px;padding:14px 16px 12px 20px;border-bottom:1px solid var(--seam)}
.sheet-h h2{font-family:var(--display);font-weight:700;font-size:19px;flex:1;min-width:0}
.sheet-b{padding:18px 20px calc(24px + var(--safe-b));overflow:auto;flex:1}
.sheet-f{padding:12px 20px calc(12px + var(--safe-b));border-top:1px solid var(--seam);display:flex;gap:10px;background:var(--label)}
.x{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--print-2)}
.x:hover{background:var(--floor)}
.grab{width:40px;height:4px;border-radius:2px;background:var(--seam-2);margin:8px auto 0}

.toast{pointer-events:none;position:fixed;left:50%;bottom:calc(24px + var(--safe-b));transform:translate(-50%,20px);background:var(--print);color:var(--label);padding:12px 16px;border-radius:var(--r-s);box-shadow:var(--sh-3);z-index:60;display:flex;gap:14px;align-items:center;font-weight:500;opacity:0;transition:all .22s var(--ease);max-width:calc(100vw - 32px)}
.toast.on{opacity:1;transform:translate(-50%,0)}
.toast.bad{background:var(--short);color:#fff}
.toast button{font-weight:700;color:var(--sack-line);pointer-events:auto}

.shell{display:grid;grid-template-columns:236px 1fr;min-height:100vh}
.rail{background:var(--print);color:#D9DEE4;display:flex;flex-direction:column;padding:18px 12px;position:sticky;top:0;height:100vh;gap:2px}
:root[data-theme="dark"] .rail{background:#090B0D}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .rail{background:#090B0D}}
.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px}
.brand .mark{width:34px;height:34px;flex:none}
.brand b{font-family:var(--display);font-weight:700;font-size:18px;color:#fff;letter-spacing:-.01em;line-height:1.1;display:block}
.brand small{font-size:12px;color:#9AA3AD;display:block}
.nav{display:flex;align-items:center;gap:11px;min-height:42px;padding:0 10px;border-radius:9px;color:#C7CED6;font-weight:500;font-size:15px;position:relative}
.nav:hover{background:rgba(255,255,255,.06);color:#fff}
.nav[aria-current="page"]{background:rgba(127,166,224,.16);color:#fff}
.nav[aria-current="page"]::before{content:"";position:absolute;left:-12px;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:#7FA6E0}
.nav .badge{margin-left:auto;min-width:22px;height:20px;border-radius:10px;background:var(--vest);color:#2a1a00;font-size:12px;font-weight:700;display:grid;place-items:center;padding:0 6px}
.nav .badge.red{background:#E25B52;color:#fff}
.rail-sec{font-size:11.5px;color:#7E8893;font-weight:600;padding:16px 10px 6px;letter-spacing:.02em}
.rail-foot{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding:12px 8px 0;font-size:13px;color:#9AA3AD}
main.main{min-width:0;padding:22px 28px 60px;max-width:1240px;width:100%}
.top{display:flex;align-items:center;gap:12px;margin-bottom:18px;min-height:44px;flex-wrap:wrap}
.top>.grow{min-width:min(100%,260px)}
.top h1{font-family:var(--display);font-weight:700;font-size:26px;letter-spacing:-.015em;flex:1;min-width:0}
.top .sub{font-size:14px;color:var(--print-3);font-weight:500}
.mbar{display:none}
.mtop{display:none;align-items:center;gap:10px;margin:-2px 0 12px}
@media (max-width:900px){
  .shell{grid-template-columns:1fr}
  .rail{display:none}
  main.main{padding:14px 14px calc(92px + var(--safe-b))}
  .top h1{font-size:22px}
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--label);border-top:1px solid var(--seam);padding:6px 6px calc(6px + var(--safe-b));box-shadow:0 -10px 24px -20px rgba(0,0,0,.4)}
  .mbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;font-weight:600;color:var(--print-3);padding:6px 0;min-height:52px;border-radius:10px;position:relative}
  .mbar a[aria-current="page"]{color:var(--sack)}
  .mbar a .badge{position:absolute;top:2px;left:calc(50% + 6px);min-width:18px;height:18px;border-radius:9px;background:var(--vest);color:#2a1a00;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 5px}
  .mtop{display:flex}
}
.mtop .mark{width:30px;height:30px}
.mtop b{font-family:var(--display);font-weight:700;font-size:17px}

.grid2{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;align-items:start}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:1060px){.grid2{grid-template-columns:1fr}}
@media (max-width:760px){.grid3{grid-template-columns:1fr}}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.form-grid .full{grid-column:1/-1}
@media (max-width:560px){.form-grid{grid-template-columns:1fr}}

.quote{position:sticky;top:20px}
.quote .line{display:flex;justify-content:space-between;padding:7px 0;font-size:14.5px;color:var(--print-2)}
.quote .line b{color:var(--print);font-weight:600;font-variant-numeric:tabular-nums}
.quote .tot{border-top:1px dashed var(--seam-2);margin-top:6px;padding-top:12px;display:flex;justify-content:space-between;align-items:baseline}
.quote .tot b{font-family:var(--display);font-size:28px;font-weight:700;letter-spacing:-.015em}
.quote .gets{background:var(--counted-wash);color:var(--counted-ink);border-radius:var(--r-s);padding:10px 12px;margin-top:12px;display:flex;justify-content:space-between;font-weight:600}

.hist{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13.5px;padding:8px 10px;border-radius:var(--r-s);background:var(--label-2);border:1px solid var(--seam)}
.hist.risk{background:var(--vest-wash);border-color:transparent;color:var(--vest-ink)}
.hist.new{color:var(--print-3)}

.scanbox{background:var(--label);border:1px solid var(--seam);border-radius:var(--r-l);box-shadow:var(--sh-2);overflow:hidden}
.scan-in{display:flex;gap:10px;padding:14px;border-bottom:1px solid var(--seam);align-items:center}
.scan-in .inp{font-family:var(--mono);font-size:20px;letter-spacing:.08em;min-height:54px;text-transform:uppercase}
.band{padding:26px 24px;min-height:168px;display:flex;flex-direction:column;justify-content:center;gap:6px;transition:background .14s}
.band.idle{color:var(--print-3)}
.band.ok{background:var(--sack);color:var(--on-sack)}
.band.check{background:var(--vest);color:#241600}
.band.stop{background:var(--short);color:#fff}
.band.flash{animation:flash .6s var(--ease)}
@keyframes flash{0%{filter:brightness(1.25)}100%{filter:none}}
.band .dest{font-family:var(--display);font-weight:700;font-size:52px;line-height:1;letter-spacing:-.02em}
.band .what{font-size:16px;font-weight:600;opacity:.92}
.band .meta{font-size:14px;opacity:.85}
@media (max-width:600px){.band .dest{font-size:38px}}
.scanlog{max-height:340px;overflow:auto}

.denoms{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.denom{background:var(--label-2);border:1px solid var(--seam);border-radius:var(--r-s);padding:8px;display:flex;flex-direction:column;gap:4px;align-items:stretch}
.denom span{font-size:12.5px;font-weight:700;color:var(--print-2);text-align:center}
.denom input{text-align:center;min-height:40px;padding:6px;font-size:17px;font-weight:600}
@media (max-width:560px){.denoms{grid-template-columns:repeat(3,1fr)}}
.tally{display:grid;grid-template-columns:1fr auto;gap:6px 18px;font-size:15px;align-items:baseline}
.tally b{font-family:var(--display);font-weight:700;font-size:22px;text-align:right;font-variant-numeric:tabular-nums}
.tally .big b{font-size:32px}
.tally .diff.short b{color:var(--short)}
.tally .diff.ok b{color:var(--counted)}

.stamp{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--counted);color:var(--counted);border-radius:6px;padding:2px 8px;font-weight:700;font-size:13px;transform:rotate(-2deg)}

.thread{display:flex;flex-direction:column;gap:10px}
.msg{max-width:86%;padding:10px 12px;border-radius:14px;background:var(--label-2);border:1px solid var(--seam);font-size:14.5px}
.msg.mine{align-self:flex-end;background:var(--sack-wash);border-color:transparent}
.msg .by{font-size:12px;color:var(--print-3);margin-bottom:2px;font-weight:600}

.proto-bar{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);z-index:80;background:#111418;color:#fff;border:1px solid #2b3138;border-radius:999px;padding:4px;display:flex;gap:2px;box-shadow:var(--sh-3);font-size:13.5px}
.proto-bar a{color:#C7CED6;padding:7px 13px;border-radius:999px;font-weight:600;white-space:nowrap}
.proto-bar a[aria-current="page"]{background:#fff;color:#111418}
.proto-bar button{color:#9AA3AD;padding:7px 11px;border-radius:999px}
.proto-bar button:hover{color:#fff}
@media (max-width:900px){.proto-bar{bottom:auto;top:6px;overflow-x:auto;max-width:calc(100vw - 12px);font-size:12.5px}.proto-bar a{padding:6px 10px}body.has-proto main.main{padding-top:58px}}
body.has-proto main.main{padding-bottom:90px}
body.has-proto .toast{bottom:84px}

.phone-stage{min-height:100vh;display:grid;place-items:center;padding:70px 16px 24px;background:var(--floor-2)}
.phone{width:390px;height:min(820px,calc(100vh - 100px));border-radius:42px;background:var(--floor);border:10px solid #15181C;box-shadow:var(--sh-3);overflow:hidden;position:relative;display:flex;flex-direction:column}
@media (max-width:520px){.phone-stage{padding:0;display:block}.phone{width:100%;height:100vh;border:0;border-radius:0}}

.label-sheet{background:#fff;color:#000}
@media print{
  body{background:#fff}
  .noprint,.rail,.mbar,.proto-bar,.top,.toast{display:none!important}
  .shell{display:block}
  main.main{padding:0;max-width:none}
}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.rise>*{animation:rise .32s var(--ease) both}
.rise>*:nth-child(2){animation-delay:.03s}.rise>*:nth-child(3){animation-delay:.06s}.rise>*:nth-child(4){animation-delay:.09s}.rise>*:nth-child(5){animation-delay:.12s}.rise>*:nth-child(n+6){animation-delay:.15s}

@media (max-width:720px){
  .tbl.cards thead{display:none}
  .tbl.cards,.tbl.cards tbody{display:block}
  .tbl.cards tr{display:grid;grid-template-columns:1fr auto;grid-template-areas:"who cod" "code status" "hold hold";gap:4px 12px;padding:12px 14px;border-bottom:1px solid var(--seam)}
  .tbl.cards tr:last-child{border-bottom:0}
  .tbl.cards td{padding:0;border:0;display:block}
  .tbl.cards .c-who{grid-area:who}
  .tbl.cards .c-cod{grid-area:cod;font-family:var(--display);font-size:18px}
  .tbl.cards .c-code{grid-area:code;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
  .tbl.cards .c-area{display:none}
  .tbl.cards .c-status{grid-area:status;text-align:right}
  .tbl.cards .c-hold{grid-area:hold;max-width:none!important}
  .tbl.cards .c-code .m-area{display:inline}
}
.m-area{display:none}

.bookbar{display:none}
@media (max-width:900px){
  .bookbar{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:calc(64px + var(--safe-b));z-index:29;background:var(--label);border-top:1px solid var(--seam);padding:10px 14px;box-shadow:0 -10px 24px -20px rgba(0,0,0,.45)}
  .bookbar #bb-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:52vw}
  .desk-go{display:none}
  #bookform{margin-bottom:76px}
}
.scan-in .inp::placeholder{font-family:var(--body);letter-spacing:0;text-transform:none;font-size:16px}
@media (pointer:coarse){.seg button,.btn.sm{min-height:44px}}

.tour{position:fixed;right:20px;bottom:20px;z-index:39;width:380px;max-width:calc(100vw - 24px)}
.tour.mini{width:auto}
.tour.flip{right:auto;left:20px}
@media (min-width:901px){body:has(.rail) .tour.flip{left:256px}}
.tour-card{background:#111418;color:#E7EAEE;border-radius:18px;padding:16px 18px 12px;box-shadow:0 24px 60px -20px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.06);animation:rise .3s var(--ease) both}
.tour-h{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.tour-k{font-size:12.5px;font-weight:700;color:#F2AE3D;white-space:nowrap}
.tour-dots{display:flex;gap:3px;flex:1;min-width:0}
.tour-dots i{height:4px;flex:1;border-radius:2px;background:#2B3138}
.tour-dots i.d{background:#4CC38A}
.tour-dots i.c{background:#F2AE3D}
.tour-x{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#8C949E}
.tour-x:hover{background:#1F252B;color:#fff}
.tour-card h3{font-family:var(--display);font-weight:700;font-size:19px;color:#fff;margin:0 0 6px;line-height:1.25}
.tour-card p{font-size:14.5px;line-height:1.55;color:#C7CED6;margin:0}
.tour-b{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;align-items:center}
.tour-b .btn.pri{background:#E8950B;color:#1d1300;box-shadow:none}
.tour-b .btn.pri:hover{background:#F2AE3D}
.tour-b .btn.ghost{color:#C7CED6}
.tour-b .btn.ghost:hover{background:#1F252B}
.tour-wait{display:flex;gap:6px;align-items:center;font-size:13.5px;color:#F2AE3D;font-weight:600}
.tour-off{display:block;margin:10px 0 0 auto;font-size:12px;color:#7E8893}
.tour-off:hover{color:#C7CED6}
.tour-pill{display:flex;align-items:center;gap:8px;background:#111418;color:#F2AE3D;font-weight:700;font-size:14px;padding:10px 16px;border-radius:999px;box-shadow:0 12px 30px -12px rgba(0,0,0,.6)}
.tour-hl{outline:3px solid #E8950B!important;outline-offset:4px;border-radius:10px;animation:tourpulse 1.4s ease-in-out infinite;position:relative;z-index:2}
@keyframes tourpulse{0%,100%{outline-color:#E8950B;box-shadow:0 0 0 0 rgba(232,149,11,.45)}50%{outline-color:#F6C877;box-shadow:0 0 0 10px rgba(232,149,11,0)}}
@media (max-width:900px){.tour{left:10px;right:10px;width:auto;bottom:calc(74px + var(--safe-b))}.tour.mini{left:auto}.tour.flip{left:10px;top:10px;bottom:auto}.tour-card{padding:12px 14px 8px}.tour-card p{font-size:14px}}
@media (prefers-reduced-motion:reduce){.tour-hl{animation:none}}
