:root{
  --brand-cyan:#00e5ff;
  --brand-blue:#0877ff;
  --brand-purple:#6c43ff;
  --brand-magenta:#ff35d4;
  --radius-lg:10px;
  --radius-md:10px;
  --radius-sm:8px;
  --font:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

html[data-theme="dark"]{
  color-scheme:dark;
  --bg:#050711;
  --bg-soft:#080b16;
  --sidebar:#060913;
  --sidebar-2:#080d1b;
  --card:rgba(12,16,31,.86);
  --card-solid:#0c1020;
  --card-2:rgba(17,22,42,.72);
  --text:#edf4ff;
  --muted:#8d9ab7;
  --line:rgba(150,170,230,.14);
  --line-strong:rgba(0,229,255,.26);
  --input:#0b1020;
  --input-text:#f7fbff;
  --primary:#00e5ff;
  --primary-2:#0877ff;
  --accent:#ff35d4;
  --danger:#ff4b76;
  --warning:#ffd166;
  --success:#28f0a2;
  --shadow:0 18px 50px rgba(0,0,0,.30);
  --soft-shadow:0 10px 28px rgba(0,0,0,.18);
  --neon-cyan:0 0 0 1px rgba(0,229,255,.22),0 0 18px rgba(0,229,255,.16);
  --neon-pink:0 0 0 1px rgba(255,53,212,.20),0 0 18px rgba(255,53,212,.14);
  --focus:0 0 0 3px rgba(0,229,255,.10),0 0 18px rgba(0,229,255,.12);
}

html[data-theme="light"]{
  color-scheme:light;
  --bg:#f6f8fc;
  --bg-soft:#ffffff;
  --sidebar:#ffffff;
  --sidebar-2:#f8faff;
  --card:#ffffff;
  --card-solid:#ffffff;
  --card-2:#f8faff;
  --text:#121826;
  --muted:#647084;
  --line:#e4e9f3;
  --line-strong:rgba(8,119,255,.25);
  --input:#ffffff;
  --input-text:#121826;
  --primary:#0877ff;
  --primary-2:#6c43ff;
  --accent:#d61fbd;
  --danger:#dc2626;
  --warning:#9a6700;
  --success:#047857;
  --shadow:0 16px 42px rgba(35,49,90,.10);
  --soft-shadow:0 8px 24px rgba(35,49,90,.08);
  --neon-cyan:0 0 0 1px rgba(8,119,255,.18),0 10px 26px rgba(8,119,255,.10);
  --neon-pink:0 0 0 1px rgba(214,31,189,.16),0 10px 26px rgba(214,31,189,.08);
  --focus:0 0 0 3px rgba(8,119,255,.12);
}

*{box-sizing:border-box}
html{min-height:100%}
body{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 16% -10%, rgba(0,229,255,.12), transparent 30%),
    radial-gradient(circle at 96% 0%, rgba(255,53,212,.10), transparent 28%),
    var(--bg);
  font-family:var(--font);
  color:var(--text);
  font-size:15px;
  line-height:1.45;
  transition:background .18s ease,color .18s ease;
}
html[data-theme="light"] body{
  background:
    radial-gradient(circle at 12% -12%, rgba(8,119,255,.08), transparent 28%),
    radial-gradient(circle at 96% 0%, rgba(214,31,189,.06), transparent 28%),
    var(--bg);
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{border-radius:10px}

.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}
.sidebar{
  background:linear-gradient(180deg,var(--sidebar),var(--sidebar-2));
  color:var(--text);
  padding:18px 16px;
  display:flex;
  flex-direction:column;
  gap:16px;
  position:sticky;
  top:0;
  height:100vh;
  border-right:1px solid var(--line);
  box-shadow:var(--soft-shadow);
}
.brand{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(255,255,255,.02);
  border:1px solid var(--line);
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.brand:hover{border-color:var(--line-strong);box-shadow:var(--neon-cyan);background:rgba(0,229,255,.03)}
.brand img{width:152px;max-width:100%;height:auto;display:block;filter:drop-shadow(0 0 10px rgba(0,229,255,.18))}
.auth-logo{width:182px;max-width:76%;height:auto;display:block;margin:0 auto;filter:drop-shadow(0 0 12px rgba(0,229,255,.18))}
.powered{font-size:10px;color:var(--muted);margin-top:8px;text-transform:uppercase;letter-spacing:.14em;font-weight:600}

.nav{display:flex;flex-direction:column;gap:6px}
.nav-item{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--muted);
  padding:10px 11px;
  border-radius:10px;
  font-weight:600;
  position:relative;
  border:1px solid transparent;
  transition:transform .14s ease,border-color .14s ease,background .14s ease,color .14s ease,box-shadow .14s ease;
}
.nav-item span{width:22px;text-align:center;color:var(--primary);font-size:15px;opacity:.90}
.nav-item strong{font-weight:600}
.nav-item:hover,.nav-item.active{
  color:var(--text);
  background:linear-gradient(90deg,rgba(0,229,255,.08),rgba(108,67,255,.055),rgba(255,53,212,.055));
  border-color:var(--line-strong);
  transform:translateX(1px);
  box-shadow:var(--neon-cyan);
}

.theme-toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid var(--line);
  border-radius:10px;
  padding:10px 11px;
  background:rgba(255,255,255,.025);
  color:var(--text);
  font-weight:600;
  cursor:pointer;
  transition:transform .14s ease,background .14s ease,border-color .14s ease,box-shadow .14s ease;
}
.theme-toggle:hover{transform:translateY(-1px);border-color:var(--line-strong);box-shadow:var(--neon-pink);background:rgba(255,53,212,.04)}
.theme-toggle .theme-icon{font-size:15px;color:var(--accent)}
.sidebar-footer{margin-top:auto;border-top:1px solid var(--line);padding-top:14px}
.user-mini strong,.user-mini small{display:block}
.user-mini strong{font-weight:650;font-size:14px}
.user-mini small{color:var(--muted);margin-top:3px;word-break:break-all;font-size:12px}
.client-mark{margin-top:10px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--card-2)}
.client-mark small{display:block;color:var(--muted);font-size:10px;margin-bottom:6px;text-transform:uppercase;letter-spacing:.08em}
.client-mark img{max-width:118px;max-height:34px;object-fit:contain}
.logout{display:inline-flex;margin-top:12px;color:var(--danger);font-weight:650;font-size:14px}
.logout:hover{text-decoration:underline}

.main{padding:28px;min-width:0;max-width:1440px;width:100%;margin:0 auto}
.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.topbar h1{margin:0;font-size:28px;font-weight:650;letter-spacing:-.035em;line-height:1.1}
.topbar p{margin:6px 0 0;color:var(--muted);max-width:760px;font-size:14px}

.card{
  background:var(--card);
  backdrop-filter:blur(14px);
  border:1px solid var(--line);
  border-radius:10px;
  box-shadow:var(--shadow);
  margin-bottom:18px;
  overflow:hidden;
}
.card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.018)}
.card-header h2{margin:0;font-size:17px;font-weight:650;letter-spacing:-.01em}
.card-header p{margin:4px 0 0;color:var(--muted);font-size:13px}
.card-body{padding:20px}
.section-title{font-weight:650;font-size:13px;margin:22px 0 12px;letter-spacing:.08em;text-transform:uppercase;color:var(--primary)}

.grid{display:grid;gap:14px}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.kpi-row{margin-bottom:18px}
.stat{border:1px solid var(--line);border-radius:10px;padding:16px;background:linear-gradient(180deg,var(--card-2),var(--card-solid));position:relative;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.stat::after{content:"";position:absolute;right:-42px;top:-42px;width:108px;height:108px;border-radius:999px;background:radial-gradient(circle,rgba(0,229,255,.12),transparent 68%)}
.stat:hover{border-color:var(--line-strong);box-shadow:var(--neon-cyan);transform:translateY(-1px)}
.stat.active{border-color:var(--line-strong);box-shadow:var(--neon-cyan)}
.stat .icon{font-size:18px;margin-bottom:6px;color:var(--accent)}
.stat label{display:block;color:var(--muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.stat strong{display:block;font-size:30px;font-weight:650;line-height:1.1;margin:7px 0;letter-spacing:-.04em}
.stat small{color:var(--muted);font-size:12px}

.field{margin-bottom:14px}
.field label{display:block;font-weight:600;margin-bottom:7px;font-size:13px;color:var(--text)}
input,select,textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:10px;
  padding:11px 12px;
  background:var(--input);
  color:var(--input-text);
  outline:none;
  min-height:42px;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
input:hover,select:hover,textarea:hover{border-color:rgba(0,229,255,.20)}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:var(--focus)}
textarea{min-height:140px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.help{display:block;color:var(--muted);font-size:12px;margin-top:6px}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:10px;
  padding:9px 13px;
  background:var(--card-2);
  color:var(--text);
  font-weight:600;
  cursor:pointer;
  min-height:38px;
  transition:transform .14s ease,filter .14s ease,box-shadow .14s ease,border-color .14s ease,background .14s ease;
}
.btn:hover{transform:translateY(-1px);border-color:var(--line-strong);box-shadow:var(--neon-cyan);background:rgba(0,229,255,.045)}
.btn-primary{border-color:transparent;background:linear-gradient(135deg,var(--brand-cyan),var(--brand-blue) 48%,var(--brand-purple) 76%,var(--brand-magenta));color:#fff;box-shadow:0 10px 28px rgba(8,119,255,.18)}
.btn-primary:hover{box-shadow:0 0 0 1px rgba(0,229,255,.26),0 0 20px rgba(0,229,255,.18),0 12px 30px rgba(255,53,212,.12)}
.btn-danger{background:linear-gradient(135deg,#ff4b76,#d916bd);color:#fff;border-color:transparent}
.btn-small{padding:6px 9px;min-height:30px;border-radius:8px;font-size:12px}
.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.filters{display:flex;gap:10px;align-items:center}
.filters input{max-width:520px}
.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.tab{padding:8px 11px;border-radius:10px;border:1px solid var(--line);font-weight:600;color:var(--muted);background:var(--card-2);font-size:13px;transition:border-color .14s ease,box-shadow .14s ease,color .14s ease}
.tab:hover{border-color:var(--line-strong);box-shadow:var(--neon-cyan);color:var(--text)}
.tab.active{background:linear-gradient(135deg,var(--brand-blue),var(--brand-purple));color:#fff;border-color:transparent;box-shadow:0 8px 22px rgba(8,119,255,.18)}

.table-wrap{overflow:auto;border-radius:10px}
.table{width:100%;border-collapse:separate;border-spacing:0}
.table th,.table td{padding:12px 11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.table th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:650}
.table td strong{font-weight:650}
.table small{color:var(--muted)}
.table tr:hover td{background:rgba(0,229,255,.032)}
.badge{display:inline-flex;border-radius:10px;padding:5px 9px;font-size:12px;font-weight:650;border:1px solid transparent}
.badge-green{background:rgba(39,240,162,.12);color:var(--success);border-color:rgba(39,240,162,.24)}
.badge-red{background:rgba(255,75,118,.12);color:var(--danger);border-color:rgba(255,75,118,.24)}
.badge-blue{background:rgba(0,229,255,.12);color:var(--primary);border-color:rgba(0,229,255,.24)}
.badge-yellow{background:rgba(255,209,102,.12);color:var(--warning);border-color:rgba(255,209,102,.24)}
.badge-purple{background:rgba(108,67,255,.13);color:#b8adff;border-color:rgba(108,67,255,.25)}
.badge-gray{background:rgba(148,163,184,.12);color:var(--muted);border-color:rgba(148,163,184,.22)}

.alert{padding:12px 13px;border-radius:10px;margin-bottom:14px;border:1px solid;font-weight:600;font-size:14px}
.alert-success{background:rgba(39,240,162,.10);border-color:rgba(39,240,162,.24);color:var(--success)}
.alert-error{background:rgba(255,75,118,.10);border-color:rgba(255,75,118,.24);color:var(--danger)}
.alert-info{background:rgba(0,229,255,.10);border-color:rgba(0,229,255,.22);color:var(--primary)}
.empty{text-align:center;color:var(--muted);padding:30px}
.empty-icon{font-size:28px;margin-bottom:8px}
.note{background:linear-gradient(135deg,rgba(0,229,255,.075),rgba(255,53,212,.055));border:1px solid var(--line-strong);color:var(--text);border-radius:10px;padding:13px 14px;margin-bottom:18px;font-weight:550}
.message-preview{white-space:pre-wrap;background:var(--card-2);border:1px solid var(--line);border-radius:10px;padding:16px;line-height:1.55}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.media-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card-solid);transition:border-color .14s ease,box-shadow .14s ease}
.media-card:hover{border-color:var(--line-strong);box-shadow:var(--neon-cyan)}
.media-preview{height:164px;background:var(--input);display:flex;align-items:center;justify-content:center}
.media-preview img,.media-preview video{width:100%;height:100%;object-fit:cover}
.media-meta{padding:12px}
.media-meta strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}
.upload-inline{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.danger-zone{border-color:rgba(255,75,118,.24)}
.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:8px 11px;font-weight:600;background:var(--card-2)}
.pill input{width:auto;min-height:auto}
.logo-thumb{max-width:72px;max-height:36px;object-fit:contain}
.logo-empty{font-size:12px;color:var(--muted)}
.stack-actions{display:flex;flex-direction:column;gap:7px}
.mini-upload{display:flex;gap:7px;align-items:center}
.mini-upload input{max-width:210px}
.brand-preview-box{height:132px;border:1px dashed var(--line-strong);border-radius:10px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(0,229,255,.045),rgba(255,53,212,.035));margin-bottom:12px}
.brand-preview-box img{max-width:220px;max-height:82px;object-fit:contain}
.file-placeholder{color:var(--muted);font-weight:650}

.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative}
.login-card{width:100%;max-width:430px;background:var(--card);backdrop-filter:blur(16px);border:1px solid var(--line-strong);border-radius:10px;padding:30px;box-shadow:var(--shadow),var(--neon-cyan)}
.login-brand{text-align:center;margin-bottom:18px}
.login-card h1{margin:0;text-align:center;font-size:26px;font-weight:650;letter-spacing:-.035em}
.login-card p{text-align:center;color:var(--muted);margin-bottom:22px;line-height:1.45;font-size:14px}
.auth-alt{text-align:center;margin-top:16px;color:var(--muted);font-size:14px}
.auth-alt a{font-weight:650;color:var(--primary)}
.auth-alt a:hover{text-decoration:underline}
.auth-theme-toggle{position:fixed;right:22px;top:22px;z-index:4;width:auto;border:1px solid var(--line-strong);background:var(--card);box-shadow:var(--neon-cyan)}

@media(max-width:980px){
  .app-shell{grid-template-columns:1fr}
  .sidebar{position:relative;height:auto}
  .main{padding:20px}
  .grid-3,.grid-4,.form-row,.upload-inline{grid-template-columns:1fr}
  .topbar{flex-direction:column}
  .filters{flex-direction:column;align-items:stretch}
  .mini-upload{flex-direction:column;align-items:stretch}
  .card-header{flex-direction:column;align-items:flex-start}
  .brand{justify-content:flex-start}
  .brand img{width:146px}
}
