:root{
  --ink:#101828;
  --muted:#667085;
  --paper:#f8fafc;
  --card:#fff;
  --line:#e4e7ec;
  --brand:#635bff;
  --brand2:#11c5a3;
  --danger:#b42318;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:var(--brand)}
.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:18px 32px;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.brand{font-weight:800;color:var(--ink);text-decoration:none}
.topbar nav{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.topbar a{color:var(--muted);text-decoration:none;font-weight:650}
.topbar a:hover{color:var(--brand)}

.language-switcher{display:inline-flex;gap:6px;align-items:center;margin-left:6px;padding-left:12px;border-left:1px solid var(--line)}
.language-link{font-size:.78rem;padding:5px 8px;border-radius:999px;background:#f2f4f7;color:var(--muted)!important;font-weight:800!important}
.language-link.active{background:var(--ink);color:#fff!important}
.container{max-width:1180px;margin:0 auto;padding:34px 24px}
.hero,.auth-card{background:linear-gradient(135deg,#fff 0%,#eef2ff 52%,#e9fff9 100%);border:1px solid var(--line);border-radius:30px;padding:42px;box-shadow:0 18px 50px rgba(16,24,40,.08);margin-bottom:24px}
.hero h1{font-size:clamp(2rem,5vw,4.7rem);line-height:.95;letter-spacing:-.06em;margin:0 0 18px}
.hero p{max-width:720px;font-size:1.15rem;color:var(--muted)}
.compact-hero h1{font-size:clamp(2rem,4vw,3.8rem)}
h1{letter-spacing:-.04em}
h2{letter-spacing:-.03em}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.78rem;color:var(--brand)}
.muted{color:var(--muted)}
.grid{display:grid;gap:18px}
.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card,.metric{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 12px 30px rgba(16,24,40,.05);margin-bottom:20px}
.metric span{display:block;font-size:3rem;font-weight:900;letter-spacing:-.07em}
.metric p{color:var(--muted);font-weight:700}
.stack{display:grid;gap:16px}
.form-grid{align-items:end}
label{display:grid;gap:8px;font-weight:700;color:#344054}
input,select,textarea{width:100%;border:1px solid #d0d5dd;border-radius:14px;padding:12px 14px;font:inherit;background:#fff}
.checkbox{display:flex;align-items:center;gap:8px}
.checkbox input{width:auto}
.button,button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:12px 18px;font-weight:800;cursor:pointer;text-decoration:none}
.primary{background:var(--ink);color:#fff}
.primary:hover{background:var(--brand);color:#fff}
.secondary{background:#eef2ff;color:var(--brand)}
.secondary:hover{background:#e0e7ff;color:var(--brand)}
.flash{padding:14px 18px;border-radius:16px;margin-bottom:18px;background:#eef2ff}
.flash.error{background:#fee4e2;color:var(--danger)}
.flash.success{background:#d1fadf;color:#027a48}
.table-card{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}
th{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.media-card img,.media-card video{width:100%;max-height:220px;object-fit:cover;border-radius:16px;background:#111}
.ppt-placeholder{padding:42px;border-radius:18px;background:#f2f4f7;color:var(--muted);font-weight:700}
.link-danger{background:transparent;color:var(--danger);padding:0}
.auth-card{max-width:460px;margin:8vh auto}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.public-hero{padding:58px 42px}
.public-section{font-size:1.04rem;line-height:1.7}
.public-section p{color:var(--muted)}
.public-feature-grid{margin-bottom:22px}
.feature-card h2{margin-top:10px}
.feature-card p{color:var(--muted);line-height:1.65}
.feature-icon{display:inline-flex;width:46px;height:46px;border-radius:14px;align-items:center;justify-content:center;background:#eef2ff;color:var(--brand);font-weight:900}
.split-section{display:grid;grid-template-columns:1.3fr .7fr;gap:28px;align-items:center}
.check-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.check-list li{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#f9fafb;font-weight:700;color:#344054}
.check-list li::before{content:"✓";color:var(--brand2);font-weight:900;margin-right:10px}
.legal-page{max-width:900px;line-height:1.75}
.legal-page h2{margin-top:28px}
.site-footer{max-width:1180px;margin:20px auto 0;padding:28px 24px 42px;display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);color:var(--muted)}
.site-footer p{margin:.35rem 0 0}
.site-footer nav{display:flex;gap:14px;flex-wrap:wrap}
.site-footer a{color:var(--muted);font-weight:700;text-decoration:none}
.site-footer a:hover{color:var(--brand)}
@media(max-width:850px){.four,.five,.three,.two,.split-section{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:12px;flex-direction:column}.hero{padding:28px}.public-hero{padding:34px 28px}.site-footer{flex-direction:column}}
.full-width{grid-column:1/-1}
.inline-form{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.inline-form select{max-width:260px}
.badge{display:inline-flex;padding:5px 10px;border-radius:999px;background:#eef2ff;color:var(--brand);font-weight:800;font-size:.82rem;text-transform:capitalize}

.logo-preview {
  margin-top: 1rem;
}

.logo-preview img {
  max-width: 180px;
  max-height: 100px;
  object-fit: contain;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 0.75rem;
  background: #fff;
}

/* Polished admin shell */
.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr);background:var(--paper)}
.sidebar{position:sticky;top:0;height:100vh;overflow:auto;background:#0f172a;color:#e5e7eb;padding:24px 18px;border-right:1px solid rgba(255,255,255,.08)}
.sidebar-brand{display:block;color:#fff!important;font-size:1.1rem;margin:0 0 18px;text-decoration:none}
.sidebar-context{padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.06);display:grid;gap:4px;margin-bottom:20px}
.sidebar-context span,.sidebar-context small{color:#94a3b8;font-size:.82rem}.sidebar-context strong{color:#fff}
.side-nav{display:grid;gap:5px}.side-nav p{margin:18px 10px 6px;color:#94a3b8;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:900}.side-nav a{color:#cbd5e1;text-decoration:none;padding:10px 12px;border-radius:12px;font-weight:750}.side-nav a:hover,.side-nav a.active{background:#1e293b;color:#fff}
.app-main{min-width:0}.app-topbar{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 28px;background:rgba(248,250,252,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.app-topbar span{display:block;color:var(--muted);font-size:.92rem;margin-top:3px}.topbar-actions{display:flex;align-items:center;gap:12px}.app-container{max-width:1280px;margin:0;padding:32px}.site-footer{display:none}
.six{grid-template-columns:repeat(6,minmax(0,1fr))}
.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.page-header h1{margin:0}.page-header p{margin:.35rem 0 0;color:var(--muted)}
.section-title{margin:0 0 12px}.form-section{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.form-section:first-child{border-top:0;padding-top:0;margin-top:0}.form-section h2{font-size:1rem;margin:0 0 12px}.form-help{color:var(--muted);font-size:.92rem;margin-top:-4px}
.status-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.status-tabs a{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--muted);font-weight:800}.status-tabs a.active{background:var(--ink);border-color:var(--ink);color:#fff}.status-tabs a:hover{border-color:var(--brand);color:var(--brand)}
.table-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.table-actions form{margin:0}.button.small,button.small{padding:7px 11px;font-size:.82rem}.ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}.warning{background:#fff7ed;color:#c2410c;border:1px solid #fed7aa}.danger{background:#fee4e2;color:#b42318;border:1px solid #fecdca}.success-soft{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}
.badge.active,.badge.approved{background:#d1fadf;color:#027a48}.badge.inactive,.badge.paused{background:#fef0c7;color:#b54708}.badge.archived,.badge.ended{background:#f2f4f7;color:#667085}.badge.draft,.badge.pending{background:#eef2ff;color:#3538cd}.badge.rejected{background:#fee4e2;color:#b42318}
.empty-state{padding:28px;text-align:center;border:1px dashed var(--line);border-radius:18px;color:var(--muted);background:#fcfcfd}
td.actions-cell{min-width:210px}.nowrap{white-space:nowrap}
@media(max-width:1050px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.app-topbar{position:relative}.six{grid-template-columns:1fr}.app-container{padding:22px}.page-header{flex-direction:column}.topbar-actions{align-items:flex-start;flex-direction:column}}
.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:10px}
.checkbox-grid .checkbox{padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#f9fafb;font-weight:700}
hr{border:0;border-top:1px solid var(--line);margin:24px 0}
button:disabled,.button:disabled{opacity:.55;cursor:not-allowed}
.location-option {
  display: flex;
  gap: 0.45rem;
  align-items: flex-start;
  flex-direction: column;
  cursor: pointer;
}
.location-option input { margin-right: 0.4rem; }
code { background: #f1f5f9; border-radius: 6px; padding: 0.12rem 0.35rem; }

/* Media library polish */
.media-page-header h1{font-size:clamp(2.2rem,4.2vw,4.4rem);line-height:.95;margin:.15rem 0 .35rem}.media-page-header p{font-size:1.05rem;max-width:860px}
.media-upload-card{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:28px;align-items:start;padding:28px}
.media-upload-copy h2{font-size:clamp(1.6rem,2.4vw,2.35rem);margin:.2rem 0 .5rem}.creative-specs{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.creative-specs span{display:inline-flex;padding:7px 10px;border-radius:999px;background:#f1f5f9;color:#475467;font-size:.82rem;font-weight:800;border:1px solid var(--line)}
.media-upload-form{display:grid;gap:16px}.media-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.media-form-fields label{min-width:0}.media-form-fields input,.media-form-fields select{min-height:48px}
.upload-dropzone{border:1.5px dashed #cbd5e1;background:linear-gradient(135deg,#f8fafc,#fff);border-radius:22px;min-height:170px;display:grid!important;place-items:center;text-align:center;padding:24px;cursor:pointer;transition:.18s ease;color:#344054}.upload-dropzone:hover{border-color:var(--brand);background:#f5f8ff}.upload-dropzone input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.upload-icon{width:46px;height:46px;border-radius:16px;display:inline-grid;place-items:center;background:var(--ink);color:#fff;font-size:1.5rem;font-weight:900}.upload-dropzone strong{font-size:1.1rem}.upload-dropzone small{color:var(--muted);font-weight:700}.media-submit{justify-self:start;min-width:210px}
.media-file-info{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;padding:12px 14px;background:#f9fafb}.media-file-info span{color:var(--muted);font-weight:700}.media-preview{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px;align-items:center;border:1px solid var(--line);border-radius:18px;padding:12px;background:#fff}.media-preview img,.media-preview video{width:150px;height:92px;object-fit:contain;border-radius:12px;background:#020617}.media-preview div{display:grid;gap:3px}.media-preview span{color:var(--muted);font-weight:700}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}.improved-media-card{padding:0;overflow:hidden;display:flex;flex-direction:column;margin-bottom:0}.media-card-preview{height:190px;background:#0b1220;display:grid;place-items:center;overflow:hidden}.media-card-preview img,.media-card-preview video{width:100%;height:100%;object-fit:contain;background:radial-gradient(circle at center,#1e293b,#020617 70%);border-radius:0;max-height:none}.media-card-body{padding:18px;display:grid;gap:12px;flex:1}.media-card-body h2{font-size:1.05rem;line-height:1.25;margin:0}.media-card-body p{margin:0}.media-card-body .table-actions{margin-top:auto}
@media(max-width:900px){.media-upload-card{grid-template-columns:1fr}.media-form-fields{grid-template-columns:1fr}.media-preview{grid-template-columns:1fr}.media-preview img,.media-preview video{width:100%;height:180px}.media-grid{grid-template-columns:1fr}}
