/* ================= Admin dashboard styles ================= */

/* The dashboard keeps a neutral dark workspace theme regardless of the
   public site's branding — these override the light-theme variables
   that style.css defines (style.css is loaded first, this comes after). */
:root{
  --ink:#f4ede1;
  --ink-dim:#c9bfae;
  --char:#161210;
  --char-2:#211a16;
  --char-3:#2c2019;
  --rust:#e8641c;
  --rust-deep:#b8441a;
  --gold:#e8b23c;
  --line:#4a3a2c;
  --shadow: 0 10px 30px rgba(0,0,0,.45);
}

html,body{overflow-x:hidden;}
.admin-shell{display:flex;min-height:100vh;}
.admin-main{flex:1;padding:26px 30px 60px;max-width:980px;min-width:0;}
.sidebar{min-width:0;}

.login-screen{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:20px;
}
.login-card{
  width:100%;max-width:360px;
  background:var(--char-3);border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;box-shadow:var(--shadow);text-align:center;
}
.login-card .brand-badge{margin:0 auto 14px;}
.login-card h1{font-family:var(--font-en-display);font-size:20px;letter-spacing:.5px;margin:0 0 4px;}
.login-card p{color:var(--ink-dim);font-size:13px;margin:0 0 18px;}
.login-card input{
  width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line);
  background:var(--char-2);color:var(--ink);font-size:14px;margin-bottom:12px;
}
.login-card input:focus{outline:none;border-color:var(--rust);}
.login-error{color:#ff8a65;font-size:12.5px;line-height:1.6;min-height:16px;margin-bottom:8px;}

.sidebar{
  width:220px;flex:none;background:var(--char-2);border-inline-end:1px solid var(--line);
  padding:18px 14px;position:sticky;top:0;height:100vh;overflow-y:auto;
}
.sidebar-nav{display:flex;flex-direction:column;gap:4px;margin-top:20px;}
.sidebar-nav button{
  text-align:start;background:transparent;border:none;color:var(--ink-dim);
  padding:10px 12px;border-radius:8px;font-size:13.5px;font-weight:600;
  display:flex;align-items:center;gap:8px;
}
.sidebar-nav button.active,.sidebar-nav button:hover{background:rgba(232,100,28,.1);color:var(--rust);}
.sidebar-foot{margin-top:24px;padding-top:14px;border-top:1px solid var(--line);}
.sidebar-foot a, .sidebar-foot button{font-size:12.5px;color:var(--ink-dim);}

.admin-main{flex:1;padding:26px 30px 60px;max-width:980px;}
.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:10px;}
.admin-header h2{font-family:var(--font-en-display);letter-spacing:.5px;margin:0;font-size:22px;}
.admin-panel{display:none;}
.admin-panel.active{display:block;}

.toast{
  position:fixed;bottom:20px;inset-inline-end:20px;z-index:200;
  background:var(--rust);color:#fff;padding:12px 18px;border-radius:10px;
  font-size:13.5px;font-weight:700;box-shadow:var(--shadow);
  opacity:0;transform:translateY(10px);transition:.25s;pointer-events:none;
}
.toast.show{opacity:1;transform:translateY(0);}

.card{
  background:var(--char-3);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px;margin-bottom:16px;
}
.card-row{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap;}
.field{display:flex;flex-direction:column;gap:5px;flex:1;min-width:140px;}
.field label{font-size:11.5px;color:var(--ink-dim);font-weight:700;text-transform:uppercase;letter-spacing:.4px;}
.field input,.field select,.field textarea{
  width:100%;min-width:0;box-sizing:border-box;
  padding:9px 11px;border-radius:8px;border:1px solid var(--line);
  background:var(--char-2);color:var(--ink);font-size:13.5px;font-family:inherit;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--rust);}
.field textarea{resize:vertical;min-height:60px;}

.btn-sm{padding:8px 14px;border-radius:8px;font-size:12.5px;font-weight:700;border:1px solid var(--line);background:transparent;color:var(--ink);}
.btn-sm:hover{border-color:var(--rust);color:var(--rust);}
.btn-sm.danger:hover{border-color:#e05252;color:#e05252;}
.btn-add{
  background:linear-gradient(135deg,var(--rust),var(--rust-deep));color:#fff;border:none;
  padding:9px 16px;border-radius:8px;font-weight:700;font-size:13px;
}

.item-editor{border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px;background:var(--char-2);}
.item-editor-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.item-editor-head strong{font-size:14px;}

.variant-editor-row{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;gap:8px;margin-bottom:8px;align-items:center;}
.variant-editor-row input{width:100%;min-width:0;box-sizing:border-box;padding:8px 9px;border-radius:7px;border:1px solid var(--line);background:var(--char-3);color:var(--ink);font-size:12.5px;}

.thumb-upload{
  width:90px;height:90px;border-radius:10px;border:1px dashed var(--line);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  cursor:pointer;flex:none;background:var(--char-3);position:relative;
}
.thumb-upload img{width:100%;height:100%;object-fit:cover;}
.thumb-upload span{font-size:10px;color:var(--ink-dim);text-align:center;padding:4px;}
.thumb-upload input[type=file]{display:none;}

.mini-note{font-size:11.5px;color:var(--ink-dim);margin-top:6px;}
.cat-chip-list{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.cat-chip{padding:7px 14px;border-radius:999px;border:1px solid var(--line);font-size:12.5px;font-weight:700;color:var(--ink-dim);}
.cat-chip.active{border-color:var(--rust);color:var(--rust);background:rgba(232,100,28,.08);}

.offer-editor{display:flex;gap:12px;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:10px;background:var(--char-2);align-items:flex-start;}
.switch{position:relative;width:40px;height:22px;flex:none;}
.switch input{opacity:0;width:0;height:0;}
.switch .slider{position:absolute;inset:0;background:var(--char-3);border:1px solid var(--line);border-radius:999px;transition:.2s;}
.switch .slider::before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;background:var(--ink-dim);border-radius:50%;transition:.2s;}
.switch input:checked + .slider{background:rgba(232,100,28,.25);border-color:var(--rust);}
.switch input:checked + .slider::before{transform:translateX(18px);background:var(--rust);}
html[dir="rtl"] .switch input:checked + .slider::before{transform:translateX(-18px);}

.data-actions{display:flex;gap:10px;flex-wrap:wrap;}

@media(max-width:820px){
  .admin-shell{flex-direction:column;}
  .sidebar{width:100%;height:auto;position:relative;}
  .sidebar-nav{flex-direction:row;flex-wrap:wrap;}
  .admin-main{padding:18px;min-width:0;}
  .variant-editor-row{grid-template-columns:1fr 1fr;}
  .variant-editor-row input:nth-child(1),.variant-editor-row input:nth-child(2){grid-column:1 / -1;}
}
@media(max-width:480px){
  .login-card{padding:22px;}
  .variant-editor-row{grid-template-columns:1fr;}
  .variant-editor-row button{justify-self:end;}
  .item-editor-head{flex-wrap:wrap;gap:8px;}
  .offer-editor{flex-direction:column;}
  .thumb-upload{width:100%;height:120px;}
}
