/* ═══════════════════════════════════════════════════════════════════
   L'Cinco Pizza — Admin Panel Stylesheet
   ═══════════════════════════════════════════════════════════════════ */

:root {
  --bg: #0d0d0d; --bg2: #141414; --bg3: #1a1a1a; --bg4: #222;
  --red: #e31515; --redh: #ff2020; --yellow: #f5c842; --green: #4caf50;
  --blue: #2196f3; --orange: #ff6d00; --purple: #9c27b0;
  --txt: #fff; --txt2: #aaa; --muted: #555;
  --border: #2a2a2a; --border2: #363636;
  --r: 10px; --tr: 0.18s ease;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Poppins', sans-serif; background: var(--bg); color: var(--txt); min-height: 100vh; -webkit-font-smoothing: antialiased; }
a { text-decoration: none; color: inherit; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
input, textarea, select { font-family: inherit; }
img { display: block; max-width: 100%; }
::-webkit-scrollbar { width: 6px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: var(--border2); border-radius: 3px; }

/* ── Buttons ─────────────────────────────────────────────────────── */
.btn-primary { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:10px 22px; background:var(--red); color:#fff; font-size:13px; font-weight:600; border-radius:8px; border:none; cursor:pointer; transition:background var(--tr); }
.btn-primary:hover { background:var(--redh); }
.btn-secondary { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:9px 20px; background:transparent; color:var(--txt2); font-size:13px; font-weight:500; border-radius:8px; border:1px solid var(--border); cursor:pointer; transition:all var(--tr); }
.btn-secondary:hover { border-color:var(--border2); color:var(--txt); }
.btn-danger { display:inline-flex; align-items:center; gap:5px; padding:5px 12px; background:rgba(227,21,21,.1); color:var(--red); font-size:12px; font-weight:600; border-radius:6px; border:1px solid rgba(227,21,21,.25); cursor:pointer; transition:all var(--tr); }
.btn-danger:hover { background:rgba(227,21,21,.2); }
.btn-edit { display:inline-flex; align-items:center; gap:5px; padding:5px 12px; background:rgba(255,255,255,.06); color:var(--txt2); font-size:12px; font-weight:600; border-radius:6px; border:1px solid var(--border); cursor:pointer; transition:all var(--tr); }
.btn-edit:hover { background:rgba(255,255,255,.1); color:var(--txt); }
.btn-sm { padding:7px 14px; font-size:12px; }
.btn-icon { width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center; border-radius:6px; background:rgba(255,255,255,.06); border:1px solid var(--border); color:var(--txt2); transition:all var(--tr); }
.btn-icon:hover { background:rgba(255,255,255,.12); color:var(--txt); }

/* ── Login ───────────────────────────────────────────────────────── */
.login-screen { min-height:100vh; display:flex; align-items:center; justify-content:center; background:radial-gradient(ellipse at top,#1a0000 0%,#0d0d0d 60%); padding:24px; }
.login-card { width:100%; max-width:380px; background:var(--bg3); border:1px solid var(--border); border-radius:16px; padding:40px 36px; box-shadow:0 24px 80px rgba(0,0,0,.6); }
.login-logo { display:flex; flex-direction:column; line-height:1; margin-bottom:24px; }
.logo-l { font-family:'Montserrat',sans-serif; font-size:28px; font-weight:900; color:var(--red); }
.logo-cinco { font-family:'Montserrat',sans-serif; font-size:13px; font-weight:800; color:var(--yellow); letter-spacing:3px; }
.logo-pizza { font-family:'Montserrat',sans-serif; font-size:9px; font-weight:600; color:var(--muted); letter-spacing:4px; }
.login-card h2 { font-family:'Montserrat',sans-serif; font-size:22px; font-weight:800; margin-bottom:6px; }
.login-subtitle { font-size:13px; color:var(--txt2); margin-bottom:28px; }
.login-form { display:flex; flex-direction:column; gap:16px; }
.login-error { font-size:12.5px; color:var(--red); min-height:18px; }
.login-btn { width:100%; padding:12px; border-radius:10px; }
.back-link { display:block; text-align:center; margin-top:20px; font-size:12.5px; color:var(--muted); transition:color var(--tr); }
.back-link:hover { color:var(--txt2); }

/* ── Layout ──────────────────────────────────────────────────────── */
.admin-app { display:grid; grid-template-columns:220px 1fr; min-height:100vh; }
.admin-sidebar { background:var(--bg2); border-right:1px solid var(--border); display:flex; flex-direction:column; position:sticky; top:0; height:100vh; overflow-y:auto; }
.sidebar-logo { display:flex; flex-direction:column; line-height:1; padding:22px 18px 18px; border-bottom:1px solid var(--border); }
.sidebar-logo .logo-l { font-size:22px; } .sidebar-logo .logo-cinco { font-size:11px; letter-spacing:2.5px; } .sidebar-logo .logo-pizza { font-size:8px; letter-spacing:3.5px; }
.sidebar-nav { flex:1; padding:10px 8px; display:flex; flex-direction:column; gap:2px; }
.sidebar-divider { height:1px; background:var(--border); margin:8px 10px; }
.sidebar-item { display:flex; align-items:center; gap:9px; padding:9px 12px; border-radius:8px; width:100%; font-size:13px; font-weight:500; color:var(--txt2); transition:all var(--tr); text-align:left; position:relative; }
.sidebar-item:hover { background:rgba(255,255,255,.06); color:var(--txt); }
.sidebar-item.active { background:rgba(227,21,21,.12); color:var(--red); }
.sidebar-item svg { flex-shrink:0; }
.sidebar-badge { background:var(--red); color:#fff; font-size:10px; font-weight:700; padding:2px 6px; border-radius:10px; margin-left:auto; display:none; }
.sidebar-badge.visible { display:inline-block; }
.sidebar-footer { padding:8px; border-top:1px solid var(--border); display:flex; flex-direction:column; gap:2px; }
.logout-btn { color:var(--muted); } .logout-btn:hover { color:var(--red); background:rgba(227,21,21,.08); }
.admin-main { display:flex; flex-direction:column; overflow:hidden; min-width:0; }
.admin-header { background:var(--bg2); border-bottom:1px solid var(--border); padding:0 28px; height:58px; display:flex; align-items:center; justify-content:space-between; flex-shrink:0; position:sticky; top:0; z-index:100; }
.page-title { font-family:'Montserrat',sans-serif; font-size:16px; font-weight:800; }
.admin-header-actions { display:flex; gap:10px; }
.admin-tab { display:none; padding:24px 28px; overflow-y:auto; flex:1; }
.admin-tab.active { display:block; }

/* ── Dashboard: Stat Cards ───────────────────────────────────────── */
.dash-stats { display:grid; grid-template-columns:repeat(8,1fr); gap:12px; margin-bottom:20px; }
.stat-card { background:var(--bg3); border:1px solid var(--border); border-radius:var(--r); padding:16px 14px; display:flex; align-items:center; gap:12px; position:relative; transition:all var(--tr); }
.stat-card.clickable { cursor:pointer; }
.stat-card.clickable:hover { border-color:var(--border2); background:var(--bg4); transform:translateY(-1px); }
.stat-card.active-detail { border-color:var(--red); background:rgba(227,21,21,.05); }
.stat-icon { width:40px; height:40px; border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.stat-icon.red { background:rgba(227,21,21,.12); color:var(--red); }
.stat-icon.green { background:rgba(76,175,80,.12); color:var(--green); }
.stat-icon.yellow { background:rgba(245,200,66,.12); color:var(--yellow); }
.stat-icon.blue { background:rgba(33,150,243,.12); color:var(--blue); }
.stat-icon.orange { background:rgba(255,109,0,.12); color:var(--orange); }
.stat-icon.purple { background:rgba(156,39,176,.12); color:var(--purple); }
.stat-info { display:flex; flex-direction:column; min-width:0; }
.stat-label { font-size:10.5px; color:var(--txt2); white-space:nowrap; margin-bottom:3px; }
.stat-value { font-family:'Montserrat',sans-serif; font-size:20px; font-weight:800; line-height:1.1; }
.stat-pulse { position:absolute; top:10px; right:10px; width:8px; height:8px; border-radius:50%; background:var(--green); animation:pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.6;transform:scale(1.3)} }

/* ── Detail Panel ────────────────────────────────────────────────── */
.detail-panel { background:var(--bg3); border:1px solid var(--red); border-radius:var(--r); padding:20px; margin-bottom:20px; animation:slideDown .2s ease; }
@keyframes slideDown { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:translateY(0)} }
.detail-panel-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.detail-panel-header span { font-family:'Montserrat',sans-serif; font-size:13px; font-weight:700; color:var(--txt2); text-transform:uppercase; letter-spacing:.5px; }
.detail-close { width:24px; height:24px; background:rgba(255,255,255,.06); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; color:var(--txt2); }
.detail-close:hover { background:rgba(255,255,255,.12); }
.detail-panel-body { font-size:13px; color:var(--txt2); }
.detail-table { width:100%; border-collapse:collapse; }
.detail-table td { padding:7px 10px; border-bottom:1px solid var(--border); font-size:12.5px; }
.detail-table tr:last-child td { border-bottom:none; }
.detail-table td:first-child { color:var(--txt); font-weight:500; }
.detail-table td:last-child { color:var(--red); font-family:'Montserrat',sans-serif; font-weight:700; text-align:right; }

/* ── Charts ──────────────────────────────────────────────────────── */
.dash-charts { display:grid; grid-template-columns:1fr 280px; gap:16px; margin-bottom:16px; }
.chart-card { background:var(--bg3); border:1px solid var(--border); border-radius:var(--r); padding:20px; }
.chart-card-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.chart-card-header h3 { font-family:'Montserrat',sans-serif; font-size:13px; font-weight:700; color:var(--txt); }
.chart-toggles { display:flex; gap:4px; }
.chart-toggle { padding:4px 10px; font-size:11px; font-weight:600; color:var(--txt2); border:1px solid var(--border); border-radius:6px; cursor:pointer; transition:all var(--tr); }
.chart-toggle:hover { color:var(--txt); border-color:var(--border2); }
.chart-toggle.active { background:var(--red); color:#fff; border-color:var(--red); }
.chart-wrap { position:relative; height:200px; }
.chart-wrap-sm { height:160px; }
.status-legend { margin-top:12px; display:flex; flex-direction:column; gap:6px; }
.legend-item { display:flex; align-items:center; gap:8px; font-size:11.5px; color:var(--txt2); }
.legend-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.legend-count { margin-left:auto; font-weight:600; color:var(--txt); font-family:'Montserrat',sans-serif; }

/* ── Income Grid ─────────────────────────────────────────────────── */
.income-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:16px; }
.income-card { background:var(--bg3); border:1px solid var(--border); border-radius:var(--r); padding:18px 16px; }
.income-card.lifetime { border-color:rgba(245,200,66,.2); background:rgba(245,200,66,.03); }
.income-period { font-size:11px; font-weight:600; color:var(--txt2); text-transform:uppercase; letter-spacing:.8px; margin-bottom:8px; }
.income-value { font-family:'Montserrat',sans-serif; font-size:26px; font-weight:800; color:var(--txt); margin-bottom:4px; }
.income-card.lifetime .income-value { color:var(--yellow); }
.income-sub { font-size:11px; color:var(--muted); }

/* ── Coupon Metrics ──────────────────────────────────────────────── */
.coupon-metrics { background:var(--bg3); border:1px solid var(--border); border-radius:var(--r); padding:20px; }
.metrics-title { font-family:'Montserrat',sans-serif; font-size:13px; font-weight:700; margin-bottom:14px; }
.coupon-metrics-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
.coupon-metric-card { background:var(--bg4); border:1px solid var(--border); border-radius:8px; padding:14px 12px; text-align:center; }
.coupon-metric-card.highlight { border-color:rgba(227,21,21,.3); background:rgba(227,21,21,.06); }
.cm-label { display:block; font-size:10.5px; color:var(--txt2); margin-bottom:6px; }
.cm-value { display:block; font-family:'Montserrat',sans-serif; font-size:22px; font-weight:800; }
.coupon-metric-card.highlight .cm-value { color:var(--red); }

/* ── Orders Tab ──────────────────────────────────────────────────── */
.orders-filter-bar { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.filter-pill { padding:6px 16px; font-size:12px; font-weight:600; color:var(--txt2); border:1.5px solid var(--border); border-radius:50px; transition:all var(--tr); }
.filter-pill:hover { border-color:var(--border2); color:var(--txt); }
.filter-pill.active { background:var(--txt); color:var(--bg); border-color:var(--txt); }
.orders-table td { vertical-align:middle; }

/* Order status badges */
.status-badge { display:inline-flex; align-items:center; gap:5px; padding:4px 10px; border-radius:20px; font-size:11px; font-weight:700; white-space:nowrap; }
.status-badge::before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; flex-shrink:0; }
.status-received { background:rgba(33,150,243,.12); color:var(--blue); }
.status-processing { background:rgba(245,200,66,.12); color:var(--yellow); }
.status-out_for_delivery { background:rgba(255,109,0,.12); color:var(--orange); }
.status-completed { background:rgba(76,175,80,.12); color:var(--green); }
.status-cancelled { background:rgba(255,255,255,.06); color:var(--muted); }

/* Inline status select */
.status-select { background:transparent; border:none; outline:none; font-family:inherit; font-size:11px; font-weight:700; cursor:pointer; padding:0; color:inherit; }

/* Order timer */
.order-timer { font-family:'Montserrat',sans-serif; font-size:13px; font-weight:700; display:inline-flex; align-items:center; gap:5px; }
.timer-ok { color:var(--green); }
.timer-warn { color:var(--yellow); }
.timer-danger { color:var(--red); animation:timerPulse 1s ease-in-out infinite; }
@keyframes timerPulse { 0%,100%{opacity:1} 50%{opacity:.5} }
.timer-done { color:var(--muted); font-size:12px; font-weight:400; }

/* Order income in table */
.order-income { font-family:'Montserrat',sans-serif; font-weight:700; color:var(--green); }
.items-preview { font-size:11.5px; color:var(--txt2); max-width:160px; }

/* ── Form Fields ─────────────────────────────────────────────────── */
.form-field { display:flex; flex-direction:column; gap:6px; }
.form-field label { font-size:11.5px; font-weight:600; color:var(--txt2); letter-spacing:.3px; text-transform:uppercase; }
.form-field input, .form-field textarea, .form-field select { background:var(--bg4); border:1.5px solid var(--border); border-radius:8px; padding:10px 14px; color:var(--txt); font-size:13.5px; outline:none; transition:border-color var(--tr); width:100%; }
.form-field input:focus, .form-field textarea:focus, .form-field select:focus { border-color:var(--red); }
.form-field select { appearance:none; cursor:pointer; }
.form-field textarea { resize:vertical; min-height:80px; }
.form-field input[type="file"] { padding:8px; color:var(--txt2); cursor:pointer; }
.form-field input[type="checkbox"] { width:auto; accent-color:var(--red); transform:scale(1.3); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; }
.form-row { display:flex; flex-direction:column; gap:14px; }
.form-check-row { display:flex; align-items:center; gap:10px; padding:8px 0; }
.form-check-row label { font-size:13px; color:var(--txt2); font-weight:400; text-transform:none; letter-spacing:0; cursor:pointer; margin:0; }
.img-preview { margin-top:6px; } .img-preview img { width:80px; height:80px; border-radius:8px; object-fit:cover; border:1px solid var(--border); }

/* ── Table ───────────────────────────────────────────────────────── */
.admin-table-wrap { background:var(--bg3); border:1px solid var(--border); border-radius:var(--r); overflow:hidden; }
.admin-table { width:100%; border-collapse:collapse; }
.admin-table th { background:var(--bg4); padding:11px 14px; font-family:'Montserrat',sans-serif; font-size:10.5px; font-weight:700; letter-spacing:.8px; color:var(--txt2); text-align:left; border-bottom:1px solid var(--border); white-space:nowrap; }
.admin-table td { padding:11px 14px; font-size:12.5px; color:var(--txt2); border-bottom:1px solid var(--border); vertical-align:middle; }
.admin-table tr:last-child td { border-bottom:none; }
.admin-table tr:hover td { background:rgba(255,255,255,.015); }
.td-img img { width:52px; height:52px; border-radius:8px; object-fit:cover; background:#111; }
.td-name { font-weight:600; color:var(--txt); font-size:13px; }
.td-price { font-family:'Montserrat',sans-serif; font-weight:700; color:var(--red); }
.td-actions { display:flex; gap:6px; align-items:center; white-space:nowrap; }

/* Badges */
.badge-pill { display:inline-block; padding:3px 9px; font-size:10px; font-weight:700; border-radius:50px; text-transform:uppercase; letter-spacing:.5px; }
.badge-pill.bestseller { background:rgba(227,21,21,.12); color:var(--red); border:1px solid rgba(227,21,21,.25); }
.badge-pill.veggie { background:rgba(76,175,80,.12); color:var(--green); border:1px solid rgba(76,175,80,.25); }
.badge-pill.spicy { background:rgba(255,109,0,.12); color:var(--orange); border:1px solid rgba(255,109,0,.25); }
.badge-pill.none { background:var(--bg4); color:var(--muted); border:1px solid var(--border); }
.status-pill { display:inline-flex; align-items:center; gap:5px; padding:3px 10px; border-radius:50px; font-size:11px; font-weight:600; }
.status-pill.active { background:rgba(76,175,80,.1); color:var(--green); }
.status-pill.inactive { background:rgba(255,255,255,.05); color:var(--muted); }
.status-dot { width:6px; height:6px; border-radius:50%; background:currentColor; }

/* ── Reviews Section (in modal) ──────────────────────────────────── */
.reviews-section { border-top:1px solid var(--border); margin-top:16px; padding-top:16px; }
.reviews-section-title { font-family:'Montserrat',sans-serif; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--txt2); margin-bottom:12px; display:flex; align-items:center; justify-content:space-between; }
.review-item { background:var(--bg4); border:1px solid var(--border); border-radius:8px; padding:12px 14px; margin-bottom:8px; }
.review-item-header { display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.review-stars { color:var(--yellow); font-size:13px; }
.review-name { font-size:12.5px; font-weight:600; color:var(--txt); }
.review-date { font-size:11px; color:var(--muted); margin-left:auto; }
.review-comment { font-size:12.5px; color:var(--txt2); line-height:1.5; }
.review-actions { display:flex; gap:6px; margin-top:8px; }
.edit-review-form { background:var(--bg); border:1px solid var(--border); border-radius:8px; padding:12px; margin-top:8px; display:none; }
.edit-review-form.open { display:block; }

/* ── Modal ───────────────────────────────────────────────────────── */
.modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.7); z-index:2000; display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .2s; padding:20px; }
.modal-overlay.open { opacity:1; pointer-events:all; }
.modal { background:var(--bg3); border:1px solid var(--border2); border-radius:14px; width:100%; max-width:620px; max-height:90vh; display:flex; flex-direction:column; box-shadow:0 24px 80px rgba(0,0,0,.7); transform:scale(.96); transition:transform .2s; }
.modal-overlay.open .modal { transform:scale(1); }
.modal-header { display:flex; align-items:center; justify-content:space-between; padding:18px 22px; border-bottom:1px solid var(--border); flex-shrink:0; }
.modal-header h3 { font-family:'Montserrat',sans-serif; font-size:15px; font-weight:800; }
.modal-close { width:28px; height:28px; background:rgba(255,255,255,.06); border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13px; color:var(--txt2); transition:all var(--tr); }
.modal-close:hover { background:rgba(255,255,255,.12); }
.modal-body { padding:22px; overflow-y:auto; flex:1; display:flex; flex-direction:column; gap:14px; }
.modal-footer { padding:14px 22px; border-top:1px solid var(--border); display:flex; justify-content:flex-end; gap:10px; flex-shrink:0; }

/* ── Store Settings ──────────────────────────────────────────────── */
.store-settings-grid { display:grid; grid-template-columns:380px 1fr; gap:20px; }
.store-card { background:var(--bg3); border:1px solid var(--border); border-radius:var(--r); padding:24px; }
.store-card h3 { font-family:'Montserrat',sans-serif; font-size:14px; font-weight:800; margin-bottom:18px; }
.store-toggle-section { display:flex; flex-direction:column; align-items:center; gap:14px; padding:20px 0; }
.store-status-indicator { display:flex; align-items:center; gap:10px; }
.store-indicator-dot { width:12px; height:12px; border-radius:50%; background:var(--muted); }
.store-indicator-dot.open { background:var(--green); box-shadow:0 0 12px rgba(76,175,80,.5); animation:pulse 2s infinite; }
.store-indicator-dot.closed { background:var(--red); }
#storeIndicatorLabel { font-size:13px; font-weight:600; color:var(--txt2); }

/* Big toggle switch */
.big-toggle { display:inline-flex; cursor:pointer; }
.big-toggle input { display:none; }
.big-toggle-track { width:80px; height:40px; background:rgba(255,255,255,.1); border:1.5px solid var(--border); border-radius:24px; position:relative; transition:all .3s; }
.big-toggle input:checked ~ .big-toggle-track { background:var(--green); border-color:var(--green); }
.big-toggle-thumb { width:32px; height:32px; background:#fff; border-radius:50%; position:absolute; top:3px; left:3px; transition:transform .3s cubic-bezier(.4,0,.2,1); box-shadow:0 2px 8px rgba(0,0,0,.3); }
.big-toggle input:checked ~ .big-toggle-track .big-toggle-thumb { transform:translateX(40px); }
.store-toggle-label { font-size:15px; font-weight:700; color:var(--txt); }

/* Schedule grid */
.schedule-hint { font-size:12px; color:var(--muted); margin-bottom:16px; }
.schedule-grid { display:flex; flex-direction:column; gap:8px; }
.schedule-row { display:grid; grid-template-columns:100px 48px 1fr 1fr; align-items:center; gap:12px; padding:10px 14px; background:var(--bg4); border:1px solid var(--border); border-radius:8px; }
.schedule-row.disabled { opacity:.5; }
.schedule-day { font-size:13px; font-weight:600; color:var(--txt); text-transform:capitalize; }
.schedule-toggle input { accent-color:var(--green); transform:scale(1.3); }
.schedule-time { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--txt2); }
.schedule-time input[type="time"] { background:var(--bg); border:1px solid var(--border); border-radius:6px; padding:5px 8px; color:var(--txt); font-size:12px; width:90px; outline:none; }
.schedule-time input[type="time"]:focus { border-color:var(--red); }
.schedule-time label { font-size:10.5px; color:var(--muted); }

/* ── Settings ────────────────────────────────────────────────────── */
.settings-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; max-width:800px; }
.setting-card { background:var(--bg3); border:1px solid var(--border); border-radius:var(--r); padding:16px; }
.setting-card h4 { font-family:'Montserrat',sans-serif; font-size:10.5px; font-weight:700; letter-spacing:.8px; color:var(--txt2); text-transform:uppercase; margin-bottom:8px; }
.setting-input-wrap { display:flex; gap:8px; }
.setting-input-wrap input { flex:1; background:var(--bg4); border:1.5px solid var(--border); border-radius:8px; padding:8px 12px; color:var(--txt); font-size:13px; outline:none; }
.setting-input-wrap input:focus { border-color:var(--red); }
.setting-save-btn { padding:8px 14px; background:var(--red); color:#fff; border-radius:8px; font-size:12px; font-weight:600; flex-shrink:0; cursor:pointer; transition:background var(--tr); }
.setting-save-btn:hover { background:var(--redh); }

/* ── Toast ───────────────────────────────────────────────────────── */
.toast-container { position:fixed; bottom:20px; right:20px; z-index:9000; display:flex; flex-direction:column; gap:8px; }
.toast { display:flex; align-items:center; gap:10px; padding:11px 16px; background:var(--bg3); border:1px solid var(--border); border-radius:8px; min-width:230px; box-shadow:0 4px 20px rgba(0,0,0,.5); animation:tIn .25s ease; }
.toast.removing { animation:tOut .25s ease forwards; }
.toast.success { border-left:3px solid var(--green); }
.toast.error { border-left:3px solid var(--red); }
.toast.info { border-left:3px solid var(--blue); }
.toast-msg { font-size:12.5px; flex:1; }
@keyframes tIn { from{transform:translateX(20px);opacity:0} to{transform:translateX(0);opacity:1} }
@keyframes tOut { to{transform:translateX(20px);opacity:0} }

/* ── Responsive ──────────────────────────────────────────────────── */
@media(max-width:1400px){ .dash-stats{grid-template-columns:repeat(4,1fr)} .coupon-metrics-grid{grid-template-columns:repeat(3,1fr)} }
@media(max-width:1100px){ .dash-stats{grid-template-columns:repeat(4,1fr)} .dash-charts{grid-template-columns:1fr} .store-settings-grid{grid-template-columns:1fr} .income-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:900px){ .admin-app{grid-template-columns:1fr} .admin-sidebar{display:none} .dash-stats{grid-template-columns:repeat(2,1fr)} .settings-grid{grid-template-columns:1fr} .coupon-metrics-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:600px){ .form-grid,.form-grid-3{grid-template-columns:1fr} .income-grid{grid-template-columns:1fr} }

/* ── Notification Settings ───────────────────────────────────────── */
.notif-settings-wrap { display:flex; flex-direction:column; gap:0; }
.notif-header-card { background:var(--bg3); border:1px solid var(--border); border-radius:var(--r); padding:24px; display:flex; align-items:flex-start; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.notif-header-text h3 { font-family:'Montserrat',sans-serif; font-size:15px; font-weight:800; margin-bottom:6px; }
.notif-header-text p { font-size:12.5px; color:var(--txt2); max-width:480px; }
.notif-add-form { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.notif-add-form input { background:var(--bg4); border:1px solid var(--border); border-radius:8px; padding:9px 14px; color:var(--txt); font-size:13px; outline:none; min-width:220px; }
.notif-add-form input:focus { border-color:var(--red); }
