/* Mothlight admin — demo backend by WillowTree Web Dev */
:root{
  --bg:#f6f3ee;
  --panel:#ffffff;
  --side:#17120e;
  --side-2:#231c16;
  --ink:#231b15;
  --ink-2:#5b4d42;
  --ink-3:#8f8174;
  --line:#e9e2d8;
  --line-2:#f1ece5;
  --flame:#d97a2b;
  --flame-soft:#fbeadb;
  --good:#2f7d4f;--good-bg:#e3f2e8;
  --warn:#9a5b00;--warn-bg:#fdf0d6;
  --info:#2c5d8f;--info-bg:#e2edf8;
  --violet:#5d4596;--violet-bg:#ece7f8;
  --bad:#a63a2b;--bad-bg:#f8e3df;
  --serif:"Gloock",Georgia,serif;
  --sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --r:14px;
  --side-w:250px;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 .95rem/1.5 var(--sans);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--flame);outline-offset:2px;border-radius:6px}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.concept{background:#000;color:#a99b8c;font-size:.76rem;text-align:center;padding:.45rem 1rem;position:relative;z-index:60}
.concept a{color:#e9b765}

/* ---------- login ---------- */
.login{min-height:calc(100vh - 32px);display:grid;grid-template-columns:1.05fr .95fr}
@media (max-width:860px){.login{grid-template-columns:1fr}.login .art{min-height:280px}}
.login .art{position:relative;overflow:hidden;background:var(--side);color:#f5eee4;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1.5rem,4vw,3rem)}
.login .art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.75;transform:scale(1.06);animation:kb 14s var(--ease) forwards}
@keyframes kb{to{transform:scale(1)}}
.login .art::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(23,18,14,.92),rgba(23,18,14,.1) 60%)}
.login .art>*{position:relative;z-index:1}
.login .art .mark svg{width:34px;height:34px}
.login .art h2{font:400 clamp(2rem,4vw,3.2rem)/1.05 var(--serif);max-width:14ch}
.login .art p{color:rgba(245,238,228,.75);max-width:44ch}
.login .form{display:grid;place-items:center;padding:clamp(1.5rem,5vw,4rem)}
.login form{width:min(400px,100%)}
.login h1{font:400 2.1rem/1.1 var(--serif);margin:1.6rem 0 .4rem}
.login .sub{color:var(--ink-2);margin:0 0 1.8rem}
.demo-creds{background:var(--flame-soft);border:1px dashed #e6b48a;border-radius:12px;padding:.85rem 1rem;font-size:.86rem;margin-bottom:1.4rem}
.demo-creds b{font-weight:700}
.demo-creds code{background:#fff;border-radius:6px;padding:.1rem .4rem;font-size:.85rem}
.err{color:var(--bad);font-size:.86rem;min-height:1.3rem;margin:.4rem 0 0}

/* ---------- form controls ---------- */
.fld{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}
.fld>span{font-size:.8rem;font-weight:600;color:var(--ink-2);display:flex;justify-content:space-between}
.fld>span small{font-weight:500;color:var(--ink-3)}
.in,.fld input,.fld select,.fld textarea{width:100%;border:1px solid #ddd3c7;background:#fff;border-radius:10px;padding:.65rem .8rem;font-size:16px;transition:border-color .2s,box-shadow .2s}
.fld textarea{min-height:96px;resize:vertical}
.in:focus,.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--flame);box-shadow:0 0 0 4px rgba(217,122,43,.14)}
@media (min-width:861px){.in,.fld input,.fld select,.fld textarea{font-size:.92rem}}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 .8rem}
.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 .8rem}
@media (max-width:560px){.row3{grid-template-columns:1fr 1fr}}
.pre-in{position:relative}
.pre-in i{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);font-style:normal;color:var(--ink-3);font-size:.9rem;pointer-events:none}
.pre-in input{padding-left:1.6rem}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid var(--ink);background:var(--ink);color:#fff;border-radius:10px;padding:.62rem 1rem;font-weight:600;font-size:.88rem;text-decoration:none;white-space:nowrap;transition:background-color .2s,transform .2s var(--ease),border-color .2s,color .2s}
.btn:hover{background:#000;transform:translateY(-1px)}
.btn svg{width:16px;height:16px}
.btn.sec{background:#fff;color:var(--ink);border-color:#ddd3c7}
.btn.sec:hover{border-color:var(--ink);background:#fff}
.btn.flame{background:var(--flame);border-color:var(--flame)}
.btn.flame:hover{background:#c26a1f}
.btn.danger{background:#fff;color:var(--bad);border-color:#efc9c2}
.btn.danger:hover{background:var(--bad-bg)}
.btn.danger.arm{background:var(--bad);color:#fff;border-color:var(--bad)}
.btn.block{width:100%;padding:.85rem}
.btn.sm{padding:.4rem .7rem;font-size:.8rem;border-radius:8px}
.btn[disabled]{opacity:.45;pointer-events:none}
.icon-btn{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);background:#fff;border-radius:10px}
.icon-btn svg{width:18px;height:18px}

/* switch */
.sw{position:relative;display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;font-size:.88rem}
.sw input{position:absolute;opacity:0;width:1px;height:1px}
.sw i{width:38px;height:22px;border-radius:999px;background:#d9cfc3;position:relative;transition:background-color .25s;flex:none}
.sw i::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .3s var(--ease)}
.sw input:checked+i{background:var(--good)}
.sw input:checked+i::after{transform:translateX(16px)}
.sw input:focus-visible+i{outline:2px solid var(--flame);outline-offset:2px}

/* ---------- app shell ---------- */
.app{display:grid;grid-template-columns:var(--side-w) 1fr;min-height:calc(100vh - 32px)}
.side{position:sticky;top:0;height:100vh;background:var(--side);color:#d9cfc3;display:flex;flex-direction:column;padding:1.1rem .8rem}
.side .brand{display:flex;align-items:center;gap:.6rem;padding:.3rem .6rem 1.2rem;text-decoration:none;color:#f5eee4}
.side .brand svg{width:32px;height:32px}
.side .brand b{font:400 1.3rem/1 var(--serif)}
.side .brand small{display:block;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#8f8174;margin-top:.25rem}
.side nav{display:grid;gap:.15rem}
.side nav a{display:flex;align-items:center;gap:.75rem;padding:.6rem .7rem;border-radius:10px;text-decoration:none;font-weight:500;color:#cfc4b6;transition:background-color .2s,color .2s}
.side nav a svg{width:18px;height:18px;opacity:.85}
.side nav a:hover{background:var(--side-2);color:#fff}
.side nav a[aria-current]{background:#2d241c;color:#fff;box-shadow:inset 3px 0 0 var(--flame)}
.side nav a .pill{margin-left:auto;background:var(--flame);color:#fff;font-size:.7rem;font-weight:700;border-radius:999px;padding:.1rem .45rem;min-width:1.4rem;text-align:center}
.side .lbl{font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:#7b6e62;padding:1.2rem .7rem .4rem}
.side .foot{margin-top:auto;display:grid;gap:.15rem;border-top:1px solid #2d241c;padding-top:.8rem}
.side .foot a,.side .foot button{display:flex;align-items:center;gap:.75rem;padding:.55rem .7rem;border-radius:10px;text-decoration:none;font-weight:500;color:#cfc4b6;background:none;border:0;text-align:left;font-size:.9rem}
.side .foot a:hover,.side .foot button:hover{background:var(--side-2);color:#fff}
.side .foot svg{width:17px;height:17px}
.scrim-nav{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.35);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.main{min-width:0;display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:1rem;padding:.9rem clamp(1rem,3vw,2rem);background:rgba(246,243,238,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top h1{font:400 1.55rem/1.1 var(--serif)}
.top .sp{flex:1}
.demo-pill{display:inline-flex;align-items:center;gap:.4rem;background:var(--flame-soft);color:#9a4f12;border-radius:999px;padding:.3rem .7rem;font-size:.75rem;font-weight:700}
.demo-pill i{width:7px;height:7px;border-radius:50%;background:var(--flame);animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.35}}
.me{display:flex;align-items:center;gap:.55rem;font-size:.85rem;font-weight:600}
.me span{width:34px;height:34px;border-radius:50%;background:#e9dccb;display:grid;place-items:center;font-weight:700;color:var(--ink-2)}
.burger{display:none}
.content{padding:clamp(1rem,3vw,2rem);max-width:1320px;width:100%}
.view{animation:vin .45s var(--ease)}
@keyframes vin{from{opacity:0;transform:translateY(8px)}}
@media (max-width:960px){
  .app{grid-template-columns:1fr}
  .side{position:fixed;left:0;top:0;bottom:0;z-index:80;width:min(280px,85vw);transform:translateX(-102%);transition:transform .45s var(--ease)}
  .nav-open .side{transform:none;box-shadow:20px 0 60px rgba(0,0,0,.3)}
  .nav-open .scrim-nav{opacity:1;visibility:visible}
  .burger{display:grid}
  .me b,.demo-pill .t{display:none}
}

/* ---------- cards / layout ---------- */
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:1.2rem}
.card h2{font-size:1rem;margin-bottom:.9rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.card h2 a{font-size:.8rem;font-weight:600;color:var(--ink-2);text-decoration:none}
.card h2 a:hover{color:var(--flame)}
.muted{color:var(--ink-3)}
.grid-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem}
@media (max-width:1100px){.grid-kpi{grid-template-columns:repeat(2,1fr)}}
.kpi .l{font-size:.8rem;font-weight:600;color:var(--ink-2)}
.kpi .v{font:400 2rem/1.1 var(--serif);margin:.35rem 0 .3rem}
.kpi .d{font-size:.78rem;font-weight:600;display:inline-flex;align-items:center;gap:.25rem}
.kpi .d.up{color:var(--good)}
.kpi .d.down{color:var(--bad)}
.kpi .d small{color:var(--ink-3);font-weight:500}
.grid-dash{display:grid;grid-template-columns:1.7fr 1fr;gap:1rem;margin-bottom:1rem;align-items:start}
.grid-codes{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1rem;align-items:start}
@media (max-width:1180px){.grid-codes{grid-template-columns:1fr}}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
@media (max-width:1100px){.grid-dash,.grid-2{grid-template-columns:1fr}}
.toolbar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}
.toolbar .sp{flex:1}
.seg{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:10px;padding:3px}
.seg button{border:0;background:none;border-radius:7px;padding:.4rem .75rem;font-size:.82rem;font-weight:600;color:var(--ink-2)}
.seg button[aria-pressed="true"]{background:var(--ink);color:#fff}
.search{position:relative;min-width:min(280px,100%)}
.search svg{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--ink-3)}
.search input{padding-left:2.1rem}

/* tour */
.tour{display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;align-items:center;background:linear-gradient(110deg,#231b15,#3a2a1c);color:#f5eee4;border-radius:var(--r);padding:1.1rem 1.3rem;margin-bottom:1rem;position:relative;overflow:hidden}
.tour::after{content:"";position:absolute;right:-60px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(217,122,43,.4),transparent 65%);pointer-events:none}
.tour .flame{width:42px;height:42px;border-radius:12px;background:rgba(217,122,43,.18);display:grid;place-items:center}
.tour .flame svg{width:22px;height:22px}
.tour h2{font:400 1.25rem/1.2 var(--serif);margin-bottom:.5rem}
.tour ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.86rem}
.tour li{display:flex;align-items:center;gap:.45rem;color:rgba(245,238,228,.8)}
.tour li i{width:16px;height:16px;border-radius:50%;border:1.5px solid rgba(245,238,228,.4);display:grid;place-items:center;flex:none}
.tour li.done{color:#fff}
.tour li.done i{background:var(--flame);border-color:var(--flame)}
.tour li.done i::after{content:"";width:6px;height:3px;border:solid #fff;border-width:0 0 2px 2px;transform:rotate(-45deg) translate(1px,-1px)}
.tour li a{color:inherit}
.tour .x{background:none;border:0;color:rgba(245,238,228,.6);font-size:1.4rem;line-height:1;align-self:start;position:relative;z-index:1}
@media (max-width:700px){.tour{grid-template-columns:1fr auto}.tour .flame{display:none}}

/* chart */
.chart{position:relative}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart .gl{stroke:var(--line-2);stroke-width:1}
.chart .ax{fill:var(--ink-3);font-size:11px;font-family:var(--sans)}
.chart .area{fill:url(#sg)}
.chart .ln{fill:none;stroke:var(--flame);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.chart .cross{stroke:var(--ink-3);stroke-width:1;stroke-dasharray:3 3;opacity:0}
.chart .dot{fill:var(--flame);stroke:#fff;stroke-width:2;opacity:0}
.chart.hover .cross,.chart.hover .dot{opacity:1}
.tip{position:absolute;pointer-events:none;background:var(--ink);color:#fff;border-radius:10px;padding:.55rem .75rem;font-size:.8rem;line-height:1.35;white-space:nowrap;opacity:0;transform:translate(-50%,-110%);transition:opacity .15s;z-index:5;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.tip b{display:block;font-size:.95rem}
.tip span{color:#cfc4b6}
.chart.hover .tip{opacity:1}
.chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.8rem;flex-wrap:wrap}
.chart-head .big{font:400 1.8rem/1 var(--serif)}
.bars{display:grid;gap:.7rem}
.bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem .8rem;align-items:center;font-size:.86rem;position:relative}
.bar .t{display:flex;align-items:center;gap:.55rem;min-width:0}
.bar .t img{width:30px;height:36px;border-radius:6px;object-fit:cover;flex:none}
.bar .t span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar .n{font-weight:600;font-variant-numeric:tabular-nums}
.bar .track{grid-column:1/-1;height:8px;border-radius:4px;background:var(--line-2);overflow:hidden}
.bar .track i{display:block;height:100%;border-radius:0 4px 4px 0;background:var(--flame);transform-origin:left;animation:grow .9s var(--ease) both}
.bar:hover .track i{background:#b85f17}
@keyframes grow{from{transform:scaleX(0)}}

/* attention list */
.att{display:grid;gap:.55rem}
.att a,.att div.item{display:flex;align-items:center;gap:.8rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:12px;text-decoration:none;font-size:.88rem;transition:border-color .2s,background-color .2s}
.att a:hover{border-color:var(--ink-3);background:#fcfaf7}
.att .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:none}
.att .ic svg{width:17px;height:17px}
.att b{display:block;font-weight:600}
.att small{color:var(--ink-3)}
.att .go{margin-left:auto;color:var(--ink-3)}
.att div.basket{display:grid;grid-template-columns:34px 1fr;gap:.2rem .8rem;align-items:start}
.att .basket .txt{min-width:0}
.att .basket .btn{grid-column:2;justify-self:start;margin-top:.35rem}
.chart .ax{font-size:11.5px}

/* tables */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff}
table{width:100%;border-collapse:collapse;font-size:.88rem}
th{text-align:left;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);padding:.75rem .8rem;border-bottom:1px solid var(--line);white-space:nowrap;background:#fcfaf7}
td{padding:.7rem .8rem;border-bottom:1px solid var(--line-2);vertical-align:middle;white-space:nowrap}
td .p-cell b{white-space:normal}
tr:last-child td{border-bottom:0}
tbody tr.click{cursor:pointer;transition:background-color .15s}
tbody tr.click:hover{background:#fcf8f3}
tr.fresh{animation:fresh 2.4s ease}
@keyframes fresh{0%,40%{background:var(--flame-soft)}}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.p-cell{display:flex;align-items:center;gap:.75rem;min-width:200px;white-space:normal}
.p-cell img{width:42px;height:52px;border-radius:8px;object-fit:cover}
.p-cell b{display:block;font-weight:600}
.p-cell small{color:var(--ink-3)}
.ref{font-weight:700}
.tag{display:inline-block;font-size:.68rem;font-weight:700;border-radius:999px;padding:.12rem .5rem;background:var(--flame-soft);color:#9a4f12;margin-left:.35rem;vertical-align:middle}
.empty-row{text-align:center;color:var(--ink-3);padding:2.4rem 1rem}
.more{display:flex;justify-content:center;padding:1rem}

/* status chips (always text + dot, never colour alone) */
.st{display:inline-flex;align-items:center;gap:.4rem;font-size:.76rem;font-weight:700;border-radius:999px;padding:.22rem .6rem;white-space:nowrap}
.st::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.st.Paid{background:var(--warn-bg);color:var(--warn)}
.st.Packed{background:var(--info-bg);color:var(--info)}
.st.Dispatched{background:var(--violet-bg);color:var(--violet)}
.st.Delivered{background:var(--good-bg);color:var(--good)}
.st.Refunded{background:#eee9e3;color:#6d6156}
.st.Active{background:var(--good-bg);color:var(--good)}
.st.Hidden{background:#eee9e3;color:#6d6156}
.st.Low{background:var(--warn-bg);color:var(--warn)}
.st.Out{background:var(--bad-bg);color:var(--bad)}

/* stock stepper */
.step{display:inline-flex;align-items:center;border:1px solid #ddd3c7;border-radius:9px;background:#fff;overflow:hidden}
.step button{width:28px;height:30px;border:0;background:none;font-size:1rem;color:var(--ink-2)}
.step button:hover{background:#f5f0ea}
.step input{width:46px;border:0;text-align:center;font-weight:600;font-size:.88rem;padding:0;-moz-appearance:textfield}
.step input::-webkit-inner-spin-button{-webkit-appearance:none}
.step.low{border-color:#e9c27a}
.step.out{border-color:#e7a99d}

/* slide-over panel */
.scrim{position:fixed;inset:0;z-index:90;background:rgba(23,18,14,.35);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.panel{position:fixed;top:0;right:0;bottom:0;z-index:100;width:min(560px,100%);background:var(--bg);display:flex;flex-direction:column;transform:translateX(102%);transition:transform .55s var(--ease);box-shadow:-24px 0 60px rgba(0,0,0,.16)}
.panel-open .scrim{opacity:1;visibility:visible}
.panel-open .panel{transform:none}
.panel header{display:flex;align-items:center;gap:.8rem;padding:1rem 1.3rem;border-bottom:1px solid var(--line);background:#fff}
.panel header h2{font:400 1.4rem/1.1 var(--serif);flex:1;min-width:0}
.panel .body{flex:1;overflow-y:auto;padding:1.3rem;overscroll-behavior:contain}
.panel footer{display:flex;gap:.6rem;flex-wrap:wrap;padding:1rem 1.3rem calc(1rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}
.panel footer .sp{flex:1}
.sec-t{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:1.4rem 0 .7rem}
.sec-t:first-child{margin-top:0}
.items{display:grid;gap:.6rem}
.items .it{display:grid;grid-template-columns:44px 1fr auto;gap:.8rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.6rem}
.items img{width:44px;height:54px;border-radius:8px;object-fit:cover}
.items b{display:block;font-weight:600;font-size:.9rem}
.items small{color:var(--ink-3)}
dl.tot{display:grid;grid-template-columns:1fr auto;gap:.35rem;margin:.9rem 0 0;font-size:.9rem;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem}
dl.tot dt{color:var(--ink-2)}
dl.tot dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
dl.tot .g{font-weight:700;border-top:1px solid var(--line);padding-top:.45rem;margin-top:.2rem}
.who{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem;font-size:.9rem;line-height:1.55}
.who b{font-weight:600}
.timeline{list-style:none;margin:0;padding:0 0 0 .3rem}
.timeline li{position:relative;padding:0 0 1rem 1.4rem;font-size:.88rem}
.timeline li::before{content:"";position:absolute;left:0;top:.35rem;width:9px;height:9px;border-radius:50%;background:var(--flame)}
.timeline li::after{content:"";position:absolute;left:4px;top:1rem;bottom:0;width:1px;background:var(--line)}
.timeline li:last-child::after{display:none}
.timeline small{display:block;color:var(--ink-3)}
.track-in{display:flex;gap:.5rem;margin-top:.6rem}
.track-in input{flex:1}

/* photo picker */
.pics{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:.45rem}
.pics button{padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:none;aspect-ratio:4/5}
.pics button img{width:100%;height:100%;object-fit:cover}
.pics button[aria-pressed="true"]{border-color:var(--flame);box-shadow:0 0 0 2px #fff inset}

/* google preview */
.serp{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem;font-family:Arial,sans-serif}
.serp .u{font-size:12px;color:#4d5156}
.serp .t{font-size:19px;color:#1a0dab;line-height:1.3;margin:.2rem 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.serp .d{font-size:13.5px;color:#4d5156;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.count-ok{color:var(--good)}
.count-bad{color:var(--bad)}

/* settings */
.set-grid{display:grid;grid-template-columns:240px 1fr;gap:1.4rem 2rem;padding:1.4rem 0;border-bottom:1px solid var(--line)}
.set-grid:first-child{padding-top:0}
.set-grid h3{font-size:1rem}
.set-grid p{color:var(--ink-3);font-size:.85rem;margin:.3rem 0 0}
@media (max-width:860px){.set-grid{grid-template-columns:1fr;gap:.8rem}}
.pay-row{display:flex;align-items:center;gap:.8rem;padding:.75rem 0;border-bottom:1px solid var(--line-2)}
.pay-row:last-child{border:0}
.pay-row .logo{width:56px;height:34px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;font-size:.7rem;font-weight:800;color:var(--ink-2);background:#fcfaf7;flex:none}
.pay-row b{display:block;font-weight:600;font-size:.9rem}
.pay-row small{color:var(--ink-3)}
.pay-row .sw{margin-left:auto}
.savebar{position:sticky;bottom:0;display:flex;gap:.6rem;align-items:center;justify-content:flex-end;padding:1rem 0;background:linear-gradient(0deg,var(--bg) 70%,transparent)}
.savebar .muted{margin-right:auto;font-size:.85rem}

/* toast */
.toast{position:fixed;left:50%;bottom:1.2rem;z-index:200;transform:translate(-50%,calc(100% + 2rem));visibility:hidden;background:var(--ink);color:#fff;border-radius:12px;padding:.75rem 1rem;font-size:.88rem;display:flex;gap:.7rem;align-items:center;box-shadow:0 18px 40px rgba(0,0,0,.25);transition:transform .5s var(--ease),visibility .5s;max-width:calc(100% - 2rem)}
.toast.on{transform:translate(-50%,0);visibility:visible}
.toast i{width:8px;height:8px;border-radius:50%;background:var(--flame);flex:none}
.toast a{color:#f2a65a;font-weight:600;white-space:nowrap}

/* packing slip (print only) */
.slip{display:none}
@media print{
  body *{visibility:hidden}
  .slip,.slip *{visibility:visible}
  .slip{display:block;position:absolute;left:0;top:0;width:100%;padding:2rem;font-family:var(--sans);color:#000}
  .slip h1{font:400 2rem var(--serif)}
  .slip table{margin-top:1.5rem}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* brand logo */
.side .brand{flex-direction:column;align-items:flex-start;gap:.5rem}
.brand-card{display:block;background:#f5eee4;border-radius:12px;padding:.35rem .7rem}
.brand-card img{height:50px;width:auto;display:block}
.side .brand small{padding-left:.2rem}
.login-logo{width:220px;height:auto;margin:1.4rem 0 -.4rem}
