body{background:var(--bg)}
.top{background:var(--navy);color:#fff;padding:0 20px;padding-top:env(safe-area-inset-top,0px)}
.top-in{max-width:1240px;margin:0 auto;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.logo{font-weight:800;font-size:19px;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}
.logo .dot{width:10px;height:10px;border-radius:3px;background:#6EA0FF}
.who{display:flex;align-items:center;gap:10px;font-size:13px;color:#B8C4DC;flex-wrap:wrap}
.who b{color:#fff;font-weight:600}
.who .mini{background:transparent;border-color:#2F3E63;color:#DCE4F5}
.tabs{background:var(--surface);border-bottom:1px solid var(--line);padding:0 12px;position:sticky;top:0;z-index:5}
.tabs-in{max-width:1240px;margin:0 auto;display:flex;gap:2px;overflow-x:auto}
.tabs button{height:48px;padding:0 14px;border:0;background:none;color:var(--muted);font-weight:600;border-bottom:2px solid transparent;white-space:nowrap}
.tabs button[aria-selected="true"]{color:var(--fg);border-bottom-color:var(--brand)}
.cnt{display:inline-block;min-width:20px;padding:0 6px;margin-left:4px;border-radius:10px;background:var(--brand);color:#fff;font-size:11px;line-height:18px;text-align:center}
.main{max-width:1240px;margin:0 auto;padding:20px 16px 60px;display:flex;flex-direction:column;gap:16px}
.banner{padding:12px 16px;border-radius:12px;font-size:14px;font-weight:500}
.banner.warn{background:var(--warn-soft);color:var(--warn)}.banner.bad{background:var(--bad-soft);color:var(--bad)}.banner.info{background:var(--brand-soft);color:var(--brand-text)}
.box{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:14px;min-width:0}
.box h2{font-size:17px}.box h3{font-size:15px}
.sec-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.stat span{font-size:12px;color:var(--muted)}.stat b{font-size:24px;font-variant-numeric:tabular-nums}
.filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.filters select.in{height:40px;width:auto;max-width:220px}
.sep{width:1px;height:24px;background:var(--line);margin:0 4px}
.grow{flex:1}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;align-items:start}
.list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}
.row{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 14px;border:0;border-bottom:1px solid var(--line);background:var(--surface);text-align:left;width:100%}
.row:last-child{border-bottom:0}
.row[aria-current="true"]{background:var(--brand-soft)}
.row .t{display:block;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .m{display:block;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .r{font-size:13px;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.detail{position:sticky;top:64px}
.kv{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px 12px;font-size:14px;margin:0}
.kv dt{color:var(--muted)}.kv dd{margin:0;min-width:0;word-break:break-all}
.secret{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.thumbs{display:flex;gap:8px;flex-wrap:wrap}
.thumbs button{padding:0;border:0;background:none;border-radius:10px;overflow:hidden}
.thumbs img{width:92px;height:92px;object-fit:cover;display:block}
.sbtns{display:flex;gap:6px;flex-wrap:wrap}
.sbtns button{min-height:40px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-weight:600;font-size:13px}
.sbtns button[aria-pressed="true"]{background:var(--navy);color:#fff;border-color:var(--navy)}
.log{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted)}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.grid2 .full{grid-column:1/-1}
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
table.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th,.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.tbl th{font-size:12px;color:var(--muted);font-weight:600;background:var(--sunk)}
.tbl tr:last-child td{border-bottom:0}
.tbl tr.click{cursor:pointer}.tbl tr.click:hover td{background:var(--sunk)}
.num{text-align:right!important;font-variant-numeric:tabular-nums}
.checks{display:flex;flex-wrap:wrap;gap:6px 16px}
.checks label{display:flex;gap:6px;align-items:center;font-size:14px;min-height:32px}
.checks input{width:18px;height:18px;accent-color:var(--brand)}
.qrbox{display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:var(--sunk);border-radius:12px;padding:14px}
.qr{width:140px;height:140px;background:#fff;padding:8px;border-radius:8px;flex:0 0 140px}
.qr svg{width:100%;height:100%;display:block}
.code{font-family:ui-monospace,Menlo,Consolas,monospace;background:var(--sunk);padding:2px 6px;border-radius:6px;font-size:13px;word-break:break-all}
.temp{background:var(--warn-soft);color:var(--warn);border-radius:10px;padding:12px 14px;font-size:14px}
.temp b{font-size:18px;letter-spacing:.04em;font-family:ui-monospace,Menlo,Consolas,monospace}
.login{max-width:400px;margin:10vh auto 0;padding:0 16px}
.login .box{padding:28px}
.lightbox{position:fixed;inset:0;background:rgba(14,26,51,.85);display:flex;align-items:center;justify-content:center;z-index:60;padding:20px}
.lightbox img{max-width:100%;max-height:100%;border-radius:8px}
.back{display:none}
@media (max-width:860px){
  .split{grid-template-columns:minmax(0,1fr)}
  .split.has-sel .list{display:none}
  .split:not(.has-sel) .detail{display:none}
  .detail{position:static}
  .back{display:inline-flex}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid2{grid-template-columns:minmax(0,1fr)}
}
#print{display:none}
@media print{
  @page{size:A4;margin:0}
  html,body{background:#fff!important}
  body>*:not(#print){display:none!important}
  #print{display:block}
  #print *{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-sizing:border-box}
  /* 팝업(A4) */
  .poster{width:210mm;height:297mm;display:flex;flex-direction:column;font-family:var(--f);color:#0B0B0B;background:#fff;page-break-after:always;overflow:hidden}
  .pz-top{background:#0B0B0B;color:#fff;padding:16mm 16mm 13mm;display:flex;flex-direction:column;gap:3mm}
  .pz-store{font-size:14pt;font-weight:700;color:#B8FF1F;letter-spacing:.02em}
  .pz-title{font-size:40pt;font-weight:900;line-height:1.15;letter-spacing:-.03em}
  .pz-title em{font-style:normal;color:#B8FF1F}
  .pz-mid{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7mm;padding:8mm 16mm}
  .pz-qr{width:112mm;height:112mm;padding:6mm;background:#fff;border:2.2mm solid #0B0B0B;border-radius:7mm;position:relative}
  .pz-qr svg{width:100%;height:100%;display:block}
  .pz-scan{font-size:22pt;font-weight:900;background:#B8FF1F;color:#0B0B0B;padding:2.5mm 8mm;border-radius:99mm;letter-spacing:-.02em}
  .pz-list{display:flex;flex-wrap:wrap;justify-content:center;gap:2.5mm 3mm;max-width:170mm}
  .pz-list span{font-size:13pt;font-weight:700;border:0.6mm solid #0B0B0B;border-radius:99mm;padding:1.6mm 5mm}
  .pz-bot{background:#0B0B0B;color:#fff;padding:7mm 16mm;display:flex;justify-content:space-between;align-items:center;gap:6mm;font-size:12pt}
  .pz-bot b{color:#B8FF1F;font-size:15pt}
  /* 기계 스티커 (60×80mm, A4 한 장에 9개) */
  .sheet{width:210mm;height:297mm;padding:20mm 10mm;display:grid;grid-template-columns:repeat(3,60mm);grid-auto-rows:80mm;gap:6mm 5mm;justify-content:center;align-content:start;page-break-after:always;font-family:var(--f)}
  .stk{width:60mm;height:80mm;background:#0B0B0B;color:#fff;border-radius:4mm;padding:4mm 4mm 3.5mm;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;outline:0.3mm dashed #9AA0AA;outline-offset:1.5mm}
  .stk-h{font-size:11.5pt;font-weight:900;line-height:1.2;letter-spacing:-.02em}
  .stk-h em{font-style:normal;color:#B8FF1F;display:block;font-size:14pt}
  .stk-qr{width:38mm;height:38mm;background:#fff;padding:2.2mm;border-radius:2.5mm}
  .stk-qr svg{width:100%;height:100%;display:block}
  .stk-f{display:flex;align-items:center;justify-content:space-between;width:100%;gap:2mm}
  .stk-no{background:#B8FF1F;color:#0B0B0B;font-weight:900;font-size:13pt;padding:0.8mm 3mm;border-radius:99mm;white-space:nowrap}
  .stk-s{font-size:6.5pt;color:#C9CDD4;text-align:right;line-height:1.25;overflow:hidden}
}
