/* Just Your — admin panel. Same palette and type as the storefront. */
*,*::before,*::after{box-sizing:border-box}
:root{
  --red:#DC3B2E; --red-dk:#B32C21; --ink:#140F0E; --ink-2:#5A534F;
  --paper:#fff; --paper-2:#F5F2F0; --line:#E6E1DD; --ok:#1E8E5A; --warn:#B4820A;
  --f-dsp:'Archivo',system-ui,sans-serif; --f-ui:'Instrument Sans',system-ui,sans-serif;
  --f-mono:'Azeret Mono',ui-monospace,monospace; --r:14px;
}
html,body{margin:0;padding:0}
body{font-family:var(--f-ui);background:var(--paper-2);color:var(--ink);font-size:14.5px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{font-family:var(--f-dsp);font-variation-settings:"wght" 750;letter-spacing:-.01em;margin:0}

/* ---------------------------------------------------------------- shell */
.shell{display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh}
.side{background:var(--ink);color:#fff;padding:18px 14px;position:sticky;top:0;height:100vh;overflow-y:auto}
.brand{display:flex;align-items:center;gap:9px;padding:4px 8px 18px}
.brand .disc{width:32px;height:32px;border-radius:50%;background:var(--red);display:grid;place-items:center;
  font-family:var(--f-dsp);font-size:12px;font-weight:800;color:#fff;letter-spacing:.02em}
.brand b{font-family:var(--f-dsp);font-size:15px;letter-spacing:.06em;text-transform:uppercase}
.nav{display:flex;flex-direction:column;gap:2px}
.nav a{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:10px;font-size:14px;
  color:rgba(255,255,255,.72);transition:background .16s,color .16s}
.nav a:hover{background:rgba(255,255,255,.07);color:#fff}
.nav a.on{background:var(--red);color:#fff;font-weight:600}
.nav .sep{margin:12px 11px 5px;font-family:var(--f-mono);font-size:9.5px;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.34)}
.side__foot{margin-top:18px;padding:12px 11px 0;border-top:1px solid rgba(255,255,255,.12);
  font-size:12px;color:rgba(255,255,255,.5)}
.side__foot a{color:rgba(255,255,255,.8);text-decoration:underline}

.main{padding:22px clamp(16px,3vw,34px) 60px;min-width:0}
.top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.top h1{font-size:clamp(20px,2.4vw,27px)}
.top .sub{font-size:13px;color:var(--ink-2);margin-top:3px}

/* ---------------------------------------------------------------- bits */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.card + .card{margin-top:16px}
.card h2{font-size:16px;margin-bottom:12px}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}

.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border:1px solid var(--ink);
  background:var(--ink);color:#fff;border-radius:999px;cursor:pointer;font-size:13.5px;font-weight:600;transition:.16s}
.btn:hover{background:var(--red);border-color:var(--red)}
.btn--line{background:none;color:var(--ink)}
.btn--line:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn--red{background:var(--red);border-color:var(--red)}
.btn--red:hover{background:var(--red-dk);border-color:var(--red-dk)}
.btn--sm{padding:6px 12px;font-size:12.5px}
.btn--danger{background:none;border-color:#D9534F;color:#D9534F}
.btn--danger:hover{background:#D9534F;color:#fff}

label{display:block;font-size:12.5px;color:var(--ink-2);margin-bottom:5px}
.in{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.in:focus{outline:none;border-color:var(--red)}
textarea.in{min-height:96px;resize:vertical;font-family:var(--f-ui)}
.field{margin-bottom:14px}
.row{display:flex;gap:12px;flex-wrap:wrap}
.row > *{flex:1 1 160px;min-width:0}
.hint{font-size:12px;color:var(--ink-2);opacity:.8;margin-top:5px}

table{width:100%;border-collapse:collapse;font-size:13.5px}
th{text-align:left;font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-2);padding:0 10px 9px;font-weight:500;white-space:nowrap}
td{padding:11px 10px;border-top:1px solid var(--line);vertical-align:middle}
tr:hover td{background:var(--paper-2)}
.tw{overflow-x:auto;margin:0 -18px;padding:0 18px}

.pill{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11.5px;font-weight:600;white-space:nowrap}
.pill--new{background:#FDECEA;color:var(--red)}
.pill--confirmed{background:#FFF6DF;color:var(--warn)}
.pill--shipped{background:#E7F1FB;color:#1F63A8}
.pill--done{background:#E6F5EE;color:var(--ok)}
.pill--cancelled{background:#F0EDEB;color:var(--ink-2)}
.pill--off{background:#F0EDEB;color:var(--ink-2)}
.pill--on{background:#E6F5EE;color:var(--ok)}

.thumb{width:44px;height:44px;border-radius:9px;border:1px solid var(--line);background:#fff;object-fit:contain;padding:3px}
.sw{width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.2);display:inline-block;vertical-align:middle}

.stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:15px 16px}
.stat b{display:block;font-family:var(--f-dsp);font-size:26px;font-variation-settings:"wght" 780;line-height:1.1}
.stat span{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.stat em{font-style:normal;font-size:12px;color:var(--ok)}

.flash{padding:11px 15px;border-radius:11px;margin-bottom:16px;font-size:13.5px}
.flash--ok{background:#E6F5EE;color:var(--ok)}
.flash--err{background:#FDECEA;color:#B3251A}

.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow-x:auto}
.tabs a{padding:9px 14px;font-size:13.5px;color:var(--ink-2);border-bottom:2px solid transparent;white-space:nowrap}
.tabs a.on{color:var(--ink);font-weight:600;border-bottom-color:var(--red)}

.bars{display:flex;align-items:flex-end;gap:6px;height:150px;margin-top:8px}
.bars div{flex:1;background:var(--red);border-radius:5px 5px 0 0;min-height:2px;position:relative;opacity:.85}
.bars div:hover{opacity:1}
.bars div span{position:absolute;bottom:-19px;left:0;right:0;text-align:center;font-size:9.5px;color:var(--ink-2)}
.bars-wrap{padding-bottom:22px}

.empty{padding:38px 10px;text-align:center;color:var(--ink-2)}
.mono{font-family:var(--f-mono);font-size:12px}
.right{text-align:right}
.muted{color:var(--ink-2)}

/* colour pickers on the theme screen */
.ct{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--paper)}
.ct input[type=color]{width:40px;height:40px;border:0;padding:0;background:none;cursor:pointer;border-radius:8px}
.ct .n{font-size:13px;font-weight:600}
.ct .h{font-family:var(--f-mono);font-size:11px;color:var(--ink-2)}

/* ---------------------------------------------------------------- login */
.login{min-height:100vh;display:grid;place-items:center;padding:20px;
  background:radial-gradient(70% 60% at 78% 22%,rgba(220,59,46,.10),transparent 62%),var(--paper)}
.login .box{width:min(400px,100%);background:var(--paper);border:1px solid var(--line);
  border-radius:22px;padding:32px 28px;box-shadow:0 26px 60px -34px rgba(0,0,0,.3)}
.login h1{font-size:23px;margin-bottom:5px}
.login p.s{color:var(--ink-2);font-size:13.5px;margin:0 0 22px}

@media(max-width:860px){
  .shell{grid-template-columns:minmax(0,1fr)}
  .side{position:static;height:auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px}
  .brand{padding:0 8px 0 4px}
  .nav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:4px;flex:1 1 100%;scrollbar-width:none}
  .nav::-webkit-scrollbar{display:none}
  .nav a{white-space:nowrap;padding:7px 12px}
  .nav .sep,.side__foot{display:none}
  .tw{margin:0 -14px;padding:0 14px}
}
