:root{--bg:#f5f7fb;--surface:#fff;--surface2:#f8fafc;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--primary:#0f766e;--primary2:#14b8a6;--accent:#f59e0b;--danger:#dc2626;--sidebar:#0f172a;--sideText:#cbd5e1;--shadow:0 14px 36px #0f172a14}:root[data-theme=dark]{--bg:#0b1120;--surface:#111827;--surface2:#1f2937;--text:#e5e7eb;--muted:#94a3b8;--border:#334155;--sidebar:#020617;--sideText:#cbd5e1;--shadow:0 16px 36px #00000059}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}input,textarea,select{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:12px;margin:7px 0;padding:11px 12px}textarea{min-height:96px}.admin-shell{min-height:100vh;display:flex}.sidebar{background:var(--sidebar);width:260px;color:var(--sideText);height:100vh;padding:22px 16px;position:sticky;top:0}.brand{align-items:center;gap:12px;margin-bottom:26px;display:flex}.brand span,.logo-mark{background:linear-gradient(135deg,var(--primary2),var(--accent));color:#07111f;border-radius:14px;place-items:center;width:44px;height:44px;font-weight:900;display:grid}.brand b{color:#fff;display:block}.brand small{color:#94a3b8}.nav-item{text-align:left;width:100%;color:var(--sideText);background:0 0;border:0;border-radius:12px;margin:4px 0;padding:12px 14px;display:block}.nav-group{color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;margin:20px 12px 8px;font-size:12px}.content{flex:1;min-width:0;padding:28px}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.topbar h1{margin:0;font-size:30px}.topbar p{color:var(--muted);margin:6px 0 0}.top-actions,.actions,.row-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.primary,.ghost,.danger,.small{border:0;border-radius:12px;padding:10px 14px;font-weight:700}.primary{background:var(--primary);color:#fff}.ghost{background:var(--surface);color:var(--text);border:1px solid var(--border)}.danger{background:var(--danger);color:#fff}.small{background:var(--primary);color:#fff;padding:7px 10px;font-size:13px}.small.danger{background:var(--danger)}.full{width:100%;margin-top:12px}.invert{color:#fff;background:#ffffff24;border-color:#ffffff38}.stats-grid{grid-template-columns:repeat(5,minmax(140px,1fr));gap:14px;margin-bottom:18px;display:grid}.stat-card,.panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:20px}.stat-card{padding:20px}.stat-card span{color:var(--muted);font-size:13px;display:block}.stat-card b{font-size:34px}.panel{margin-bottom:18px;padding:20px}.panel h2{margin:0 0 14px}.two-col{grid-template-columns:1.4fr .8fr;gap:18px;display:grid}.form-grid{grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;display:grid}.check{color:var(--muted);align-items:center;gap:8px;margin:8px 16px 12px 0;display:inline-flex}.check input{width:auto;margin:0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:12px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px}td{font-size:14px}.muted{color:var(--muted)}.empty{padding:12px}.status{background:var(--surface2);border:1px solid var(--border);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.status.active{color:#10b981}.status.pendingapproval{color:#f59e0b}.status.expired,.status.deleted,.status.rejected{color:#ef4444}.notice,.toast{border-radius:14px;margin-bottom:14px;padding:12px 14px}.notice.success{background:#10b9811f;border:1px solid #10b98140}.notice.error{color:#ef4444;background:#dc26261f;border:1px solid #dc262640}.toast{background:#14b8a61f;border:1px solid #14b8a640}.preview-ad{background:linear-gradient(135deg,var(--primary),#111827);color:#fff;border-radius:20px;align-self:stretch;padding:22px}.preview-ad span{background:#ffffff26;border-radius:999px;padding:4px 9px;font-size:12px}.preview-ad h3{font-size:24px}.preview-ad p{color:#dbeafe}.preview-ad b{color:var(--accent)}.login-page{background:radial-gradient(circle at top left,#14b8a640,transparent 35%),var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{background:var(--surface);border:1px solid var(--border);width:min(920px,100%);box-shadow:var(--shadow);border-radius:28px;grid-template-columns:1fr 1fr;display:grid;overflow:hidden}.login-hero{color:#fff;background:linear-gradient(135deg,#0f766e,#0f172a);padding:42px}.login-hero h1{margin:22px 0 12px;font-size:42px}.login-hero p{color:#dbeafe;line-height:1.7}.login-form{padding:42px}.login-form h2{font-size:28px}.login-form label{color:var(--muted);font-size:13px;font-weight:800}.logo-mark{border-radius:18px;width:58px;height:58px}@media (width<=1000px){.stats-grid{grid-template-columns:repeat(2,1fr)}.form-grid,.two-col{grid-template-columns:1fr}.sidebar{width:220px}}@media (width<=760px){.admin-shell{display:block}.sidebar{width:auto;height:auto;position:relative}.content{padding:18px}.topbar{display:block}.top-actions{margin-top:14px}.login-card,.stats-grid{grid-template-columns:1fr}}.nav-item{align-items:center;gap:10px;display:flex!important}.icon-toggle{min-width:110px}.list-toolbar{gap:10px;margin-bottom:14px;display:flex}.list-toolbar input{max-width:420px}.pager{justify-content:flex-end;align-items:center;gap:14px;margin-top:14px;display:flex}.thumb{object-fit:cover;border:1px solid var(--border);border-radius:10px;width:72px;height:52px}.modal-backdrop{z-index:20;background:#0000008c;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);width:min(980px,100%);max-height:88vh;box-shadow:var(--shadow);border-radius:22px;padding:22px;overflow:auto}.modal-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.preview-ad{position:relative;overflow:hidden}.preview-ad img{object-fit:cover;filter:brightness(.62);z-index:0;width:100%;height:100%;position:absolute;inset:0}.preview-ad>:not(img){z-index:1;position:relative}.upload-box{border:1px dashed var(--border);cursor:pointer;border-radius:16px;margin:8px 0;padding:14px;display:block}.upload-box input{margin-top:8px}.image-preview-row{flex-wrap:wrap;gap:10px;display:flex}.image-preview-row img{object-fit:cover;border:1px solid var(--border);border-radius:14px;width:140px;height:96px}.brand-icon,.nav-icon,.stat-label,.top-actions button,.upload-box{align-items:center;gap:8px;display:inline-flex}.brand-icon{color:#fff;background:linear-gradient(135deg,#14b8a6,#f59e0b);border-radius:14px;justify-content:center;width:38px;height:38px}.nav-icon{justify-content:center;width:20px}.nav-item svg,.top-actions svg,.login-hero svg,.upload-box svg{width:16px;height:16px}.logo-mark{justify-content:center;align-items:center;display:flex}.stat-label svg{color:#14b8a6}.icon-toggle{justify-content:center;min-width:104px}.ghost.invert{align-items:center;gap:8px;display:inline-flex}.primary.full{justify-content:center;align-items:center;gap:8px;display:flex}.upload-box{flex-direction:column;align-items:flex-start}.sidebar{flex-direction:column;gap:4px;display:flex;overflow:hidden auto}.nav-item{appearance:none;width:100%;color:var(--sideText);text-align:left;white-space:nowrap;box-shadow:none;background:0 0;border:0;border-radius:14px;align-items:center;gap:12px;margin:2px 0;padding:12px 14px;font-weight:700;line-height:1.2;display:flex!important}.nav-item:hover,.nav-item.active{color:#fff;background:#ffffff1c}.nav-icon{justify-content:center;align-items:center;width:22px;min-width:22px;height:22px;display:inline-flex}.nav-icon svg{width:17px;height:17px;display:block}.nav-label{text-overflow:ellipsis;display:block;overflow:hidden}.nav-group{width:100%;padding:0 12px}.brand-icon{min-width:44px}.top-actions .ghost,.top-actions .danger{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.login-page{background:radial-gradient(circle at 12% 10%,#14b8a642,transparent 32%),radial-gradient(circle at 85% 20%,#f59e0b29,transparent 28%),var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:28px;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);width:min(980px,100%);min-height:560px;box-shadow:var(--shadow);border-radius:32px;grid-template-columns:minmax(320px,.95fr) minmax(340px,1.05fr);display:grid;overflow:hidden}.login-hero{color:#fff;background:linear-gradient(145deg,#0f766e,#0f172a 68%);flex-direction:column;justify-content:flex-end;gap:12px;padding:44px;display:flex;position:relative;overflow:hidden}.login-hero:before{content:"";background:#f59e0b38;border-radius:50%;width:320px;height:320px;position:absolute;inset:-40% -20% auto auto}.login-hero>*{z-index:1;position:relative}.login-hero h1{margin:18px 0 8px;font-size:42px;line-height:1.05}.login-hero p{color:#dbeafe;margin:0;line-height:1.7}.login-points{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.login-points span{background:#ffffff21;border:1px solid #ffffff2b;border-radius:999px;align-items:center;gap:8px;padding:9px 12px;font-size:13px;font-weight:800;display:inline-flex}.login-form{flex-direction:column;justify-content:center;padding:48px;display:flex}.login-form-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.eyebrow{color:var(--primary2);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900;display:block}.login-form h2{margin:6px 0 0;font-size:34px}.login-form label{color:var(--muted);margin-top:10px;font-size:13px;font-weight:900}.login-form input{margin:7px 0 12px}.icon-only{justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;padding:0;display:inline-flex}.login-help{text-align:center;color:var(--muted);margin:16px 0 0;font-size:13px}.logo-mark{background:linear-gradient(135deg,var(--primary2),var(--accent));color:#07111f;border-radius:20px;justify-content:center;align-items:center;width:62px!important;height:62px!important;display:inline-flex!important}.logo-mark svg{width:32px;height:32px}@media (width<=820px){.login-page{padding:16px}.login-card{grid-template-columns:1fr;min-height:auto}.login-hero{padding:30px}.login-hero h1{font-size:34px}.login-form{padding:30px}.login-form h2{font-size:28px}}
