/* ==================================================================
   AntiqueShopPostSystem — app styles (complements Bootstrap 5)
   ================================================================== */
:root{
  --brand:#487fff; --brand-dark:#2f63e0;
  --ink:#273240; --ink-2:#4b5563; --muted:#8a95a5;
  --bg:#f4f6fb; --card:#ffffff; --line:#e9edf4;
  --sidebar-w:260px;
  --gold:#d9a441;
}
[data-theme="dark"]{
  --ink:#e6ebf2; --ink-2:#b6c0cf; --muted:#7f8a9b;
  --bg:#0f141c; --card:#161d28; --line:#242d3a;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}
a{text-decoration:none}
.text-muted{color:var(--muted)!important}
.fw-semibold{font-weight:600}

/* Brand button */
.btn-brand{background:var(--brand);border:1px solid var(--brand);color:#fff}
.btn-brand:hover{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}
.text-primary{color:var(--brand)!important}

/* Logo badge */
.logo-badge{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:none;
  background:linear-gradient(150deg,#f0d9a0,var(--gold) 55%,#a9761f);color:#3a2708;font-weight:800;font-family:Georgia,serif;font-size:19px}
.logo-badge.lg{width:52px;height:52px;border-radius:13px;font-size:28px}

/* ---------- App shell ---------- */
.app{display:flex;min-height:100vh}
.side-overlay{position:fixed;inset:0;background:rgba(15,20,30,.45);z-index:40;opacity:0;pointer-events:none;transition:.25s}
.side-overlay.show{opacity:1;pointer-events:auto}

.app-sidebar{width:var(--sidebar-w);flex:none;position:fixed;inset:0 auto 0 0;z-index:50;background:var(--card);
  border-right:1px solid var(--line);padding:18px 14px;overflow-y:auto;transition:transform .28s cubic-bezier(.32,.72,0,1)}
.side-logo{display:flex;align-items:center;gap:10px;padding:4px 6px 16px}
.logo-txt{font-size:18px;font-weight:600;color:var(--ink)}
.logo-txt b{color:var(--brand);font-weight:800}
.side-profile{text-align:center;padding:12px 0 14px;border-bottom:1px solid var(--line)}
.avatar{width:72px;height:72px;border-radius:50%;margin:0 auto 9px;display:grid;place-items:center;color:#fff;font-size:28px;font-weight:700;
  background:linear-gradient(135deg,var(--brand),#38b6c9)}
.avatar.sm{width:38px;height:38px;font-size:15px;margin:0}
.side-profile .pname{font-weight:700;font-size:15.5px;color:var(--ink)}
.side-profile .prole{font-size:12.5px;color:var(--muted)}
.side-menu{display:flex;flex-direction:column;gap:3px;margin-top:14px}
.m-item{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:10px;color:var(--ink-2);font-weight:600;font-size:14px;transition:.14s}
.m-item i{font-size:19px;color:var(--muted)}
.m-item:hover{background:var(--bg);color:var(--ink)}
.m-item.active{background:var(--brand);color:#fff;box-shadow:0 6px 16px rgba(72,127,255,.32)}
.m-item.active i{color:#fff}
.m-item.logout{margin-top:8px;color:#d9534f}.m-item.logout i{color:#d9534f}

.app-main{flex:1;min-width:0;margin-left:var(--sidebar-w);display:flex;flex-direction:column;min-height:100vh}
.app-topbar{position:sticky;top:0;z-index:30;background:var(--card);border-bottom:1px solid var(--line);
  display:flex;align-items:center;gap:14px;padding:11px 20px}
.burger{display:none;border:none;background:none;color:var(--ink-2);font-size:22px;cursor:pointer}
.top-search{position:relative;flex:1;max-width:420px}
.top-search i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted)}
.top-search input{width:100%;padding:10px 14px 10px 40px;border:1px solid var(--line);border-radius:22px;background:var(--bg);color:var(--ink);outline:none}
.top-search input:focus{border-color:var(--brand);background:var(--card)}
.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.tbtn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--bg);color:var(--ink-2);cursor:pointer;font-size:18px}
.tbtn:hover{color:var(--brand);border-color:var(--brand)}

.content{flex:1;padding:22px 24px}
.crumb{color:var(--muted);font-size:13.5px;margin-bottom:16px;text-align:right}
.crumb b{color:var(--ink)}

/* Cards */
.card{background:var(--card);border:1px solid var(--line);border-radius:14px}
.card-header{background:transparent;border-bottom:1px solid var(--line);padding:14px 18px}
.card-header h6{color:var(--ink)}

/* Stat cards */
.stat-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;align-items:center;gap:14px;height:100%}
.st-ic{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;color:#fff;font-size:24px;flex:none}
.st-num{font-size:25px;font-weight:800;line-height:1;color:var(--ink)}
.st-lbl{font-size:13px;color:var(--muted);margin-top:5px;font-weight:600}
.bg-purple{background:#8b5cf6}.bg-brand{background:var(--brand)}.bg-green{background:#22b46c}.bg-red{background:#ef5350}
.grad-purple{background:linear-gradient(135deg,rgba(139,92,246,.12),transparent 60%)}
.grad-blue{background:linear-gradient(135deg,rgba(72,127,255,.12),transparent 60%)}
.grad-green{background:linear-gradient(135deg,rgba(34,180,108,.12),transparent 60%)}
.grad-red{background:linear-gradient(135deg,rgba(239,83,80,.12),transparent 60%)}

/* Table bits */
.table{color:var(--ink)}
.table>:not(caption)>*>*{background:transparent}
.t-thumb{width:46px;height:46px;border-radius:10px;object-fit:cover;background:var(--bg);border:1px solid var(--line);display:grid;place-items:center;color:var(--muted)}
.t-thumb.cat{background:rgba(72,127,255,.12);color:var(--brand);font-weight:800;font-family:ui-monospace,monospace}
.t-desc{font-size:12.5px;color:var(--muted);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.badge-cat{display:inline-block;font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:7px;background:rgba(72,127,255,.12);color:var(--brand)}
.bc-cell svg{height:32px;width:120px;display:block}
.bc-cell .u{font-family:ui-monospace,monospace;font-size:11px;font-weight:700;color:var(--ink-2);letter-spacing:.5px;margin-top:2px}
.btn-group .btn-light{background:var(--bg);border:1px solid var(--line);color:var(--ink-2)}
.btn-group .btn-light:hover{background:var(--card);color:var(--brand)}

/* Modal extras */
.uidbox{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px}
.uidbox .l{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.7px;font-weight:700}
.uidbox .v{font-family:ui-monospace,monospace;font-size:15px;font-weight:800;color:var(--brand);letter-spacing:1px}
.uidbox svg{width:110px;height:38px;background:#fff;border-radius:6px;padding:2px 5px}
.imgpick{border:1px dashed var(--line);border-radius:11px;padding:16px;text-align:center;background:var(--bg);cursor:pointer;color:var(--muted);position:relative;overflow:hidden}
.imgpick i{font-size:26px;display:block;margin-bottom:4px}
.imgpick b{color:var(--ink);display:block;font-size:13.5px}
.imgpick span{font-size:12px}
.imgpick.has{padding:0;border-style:solid}
.imgpick img{width:100%;max-height:200px;object-fit:cover}
.imgpick .change{position:absolute;right:9px;bottom:9px;background:rgba(15,20,30,.82);color:#fff;font-size:11.5px;font-weight:600;padding:5px 11px;border-radius:7px}

/* Footer */
.d-footer{padding:14px 24px;border-top:1px solid var(--line);background:var(--card);color:var(--muted);font-size:13px}

/* ---------- Auth (login) ---------- */
.auth-body{background:var(--bg)}
.auth-wrap{display:flex;min-height:100vh}
.auth-left{flex:1;display:none;align-items:center;justify-content:center;
  background:radial-gradient(circle at 40% 30%,#241a0d,#0d0b08 70%);color:#f2ece0;position:relative;overflow:hidden}
.auth-brand{text-align:center;z-index:1}
.auth-emblem{width:96px;height:96px;border-radius:22px;margin:0 auto 22px;display:grid;place-items:center;
  background:linear-gradient(150deg,#f0d9a0,var(--gold) 55%,#a9761f);color:#3a2708;font-family:Georgia,serif;font-weight:700;font-size:52px;
  box-shadow:0 16px 44px rgba(120,80,10,.5)}
.auth-brand h3{font-weight:700;font-size:28px}.auth-brand h3 span{color:var(--gold)}
.auth-brand p{color:#a99f8c;letter-spacing:1px;text-transform:uppercase;font-size:12px;margin-top:6px}
.auth-bars{display:flex;gap:3px;justify-content:center;align-items:flex-end;height:30px;margin-top:26px;opacity:.85}
.auth-bars i{display:block;width:3px;background:var(--gold);border-radius:1px}
.auth-right{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 24px}
.auth-card{width:100%;max-width:420px}
.auth-logo{margin-bottom:18px}
.auth-card h4{font-weight:700;color:var(--ink)}
.input-icon{position:relative}
.input-icon>i:first-child{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:18px}
.input-icon .form-control{padding-left:42px}
.pw-toggle{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);cursor:pointer;font-size:18px}
.btn-lg.btn-brand{padding:12px}

/* ---------- Print label ---------- */
#print-area{display:none}
@media print{
  body>*{display:none!important}
  #print-area{display:block!important;position:fixed;inset:0}
  .plabel{width:58mm;margin:8mm auto;padding:4mm;border:1px dashed #999;text-align:center;color:#000;font-family:Arial,sans-serif}
  .plabel .pname{font-weight:700;font-size:11pt;margin-bottom:1mm}
  .plabel .pcat{font-size:8pt;color:#555;margin-bottom:2mm}
  .plabel svg{width:100%;height:auto}
  .plabel .puid{font-family:monospace;font-size:9pt;letter-spacing:1px;margin-top:1mm}
  .plabel .pprice{font-size:12pt;font-weight:700;margin-top:1mm}
}

/* ---------- Responsive ---------- */
@media(max-width:992px){
  .app-sidebar{transform:translateX(-100%)}
  .app-sidebar.open{transform:none}
  .app-main{margin-left:0}
  .burger{display:block}
}
@media(min-width:993px){ .auth-left{display:flex} }
@media(max-width:576px){ .content{padding:16px 14px} .crumb{text-align:left} }
