:root{--ink:#14232f;--nav:#10232e;--accent:#ff4055;--paper:#f4f6f7;--line:#dfe5e8;--muted:#70808a}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.eyebrow{margin:0 0 5px;color:var(--accent);font-size:.7rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.primary{border:0;border-radius:10px;background:var(--accent);color:#fff;padding:12px 18px;font-weight:850}
.ads-admin{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:24px 18px;background:var(--nav);color:#fff}
.sidebar-brand{display:flex;align-items:center;gap:12px;margin-bottom:42px;color:#fff;text-decoration:none}
.sidebar-brand b,.brand-dot{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--accent);color:#fff}
.sidebar nav{display:grid;gap:6px}
.sidebar nav button,.sidebar>button{display:flex;justify-content:space-between;border:0;border-radius:9px;padding:12px;background:transparent;color:#cbd5db;text-align:left}
.sidebar nav button.active{background:#ffffff17;color:#fff;font-weight:800}
.sidebar nav i{min-width:21px;border-radius:20px;background:var(--accent);color:#fff;font-style:normal;text-align:center}
.sidebar>button{margin-top:auto}
.workspace{min-width:0;padding:28px 3vw 60px}
.workspace>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}
.workspace h1,.workspace h2{margin:0}
.panel-view{display:none}
.panel-view.active{display:block}
.ads-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:22px}
.ads-kpis article,.card{border:1px solid #e8edef;border-radius:16px;background:#fff;padding:22px;box-shadow:0 8px 28px #2030400b}
.ads-kpis strong{display:block;margin-top:8px;font-size:2rem}
.dashboard-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}
.section-line,.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px}
.package-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.package-grid button{display:grid;gap:7px;min-height:130px;border:1px solid var(--line);border-radius:13px;background:#fafbfb;padding:18px;text-align:left}
.package-grid button:hover{border-color:var(--accent);background:#fff7f8}
.package-grid span,.package-grid small{color:var(--muted)}
.notification-list p{display:flex;gap:10px;border-bottom:1px solid var(--line);padding:11px 0;margin:0;font-size:.9rem}
.notification-list i{width:8px;height:8px;margin-top:5px;border-radius:50%;background:var(--accent)}
select,input,textarea{width:100%;border:1px solid #cbd4d9;border-radius:9px;background:#fff;padding:11px}
.campaign-table,.request-list,.advertiser-list{display:grid;margin-top:18px}
.campaign-table article,.request-list article{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:24px;border-top:1px solid var(--line);padding:17px 0}
.campaign-table article>div,.request-list article>div{display:flex;flex-direction:column;gap:5px}
.campaign-table article>div:last-child{align-items:flex-end}
.campaign-table button,.request-list a{border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:7px;text-decoration:none}
.badge{width:max-content;border-radius:99px;background:#edf1f2;padding:5px 9px;font-size:.74rem}
.badge.paid,.badge.active{background:#d9f6e5;color:#087b40}
.badge.pending,.badge.reserved{background:#fff0ca;color:#855b00}
.request-list article{grid-template-columns:1fr 250px}
.request-list h3,.request-list p{margin:3px 0}
.request-list select{padding:7px}
.compact-form{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:10px;margin-top:18px}
.advertiser-list{grid-template-columns:repeat(3,1fr);gap:10px}
.advertiser-list article{display:grid;gap:4px;border:1px solid var(--line);border-radius:10px;padding:13px}
.advertiser-list span{color:var(--muted);font-size:.82rem}
.preview-toolbar{margin-bottom:15px}
.preview-toolbar>div:last-child{display:flex;gap:5px}
.preview-toolbar button{border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px 12px}
.preview-toolbar button.active{background:var(--nav);color:#fff}
.preview-stage{display:flex;justify-content:center;min-height:680px;border-radius:17px;background:#d8dde0;padding:28px;overflow:auto}
.magazine-preview{width:100%;max-width:1180px;min-height:620px;border-radius:10px;background:#fff;box-shadow:0 22px 60px #25343d30;overflow:hidden;transition:.25s}
.magazine-preview.tablet{max-width:760px}
.magazine-preview.mobile{max-width:390px}
.magazine-preview>header{display:flex;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}
.preview-layout{display:grid;grid-template-columns:1fr 1.8fr 1fr;gap:14px;padding:18px}
.ad-slot{display:flex;flex-direction:column;justify-content:flex-end;min-height:440px;border-radius:12px;background:#eef1f2 center/cover;padding:20px}
.ad-slot.bottom{min-height:130px}
.preview-feed{display:grid;gap:12px}
.fake-feature,.fake-row{min-height:190px;border-radius:12px;background:#f1f3f4;padding:20px}
.fake-feature{display:grid;align-content:center;gap:5px}
.fake-row{min-height:55px}
.magazine-preview.mobile .preview-layout{grid-template-columns:1fr}
.magazine-preview.mobile .ad-slot{min-height:145px}
.magazine-preview.tablet .preview-layout{grid-template-columns:1fr 1fr}
.magazine-preview.tablet .preview-feed{grid-column:1/-1;grid-row:1}
.employee-login main{display:grid;place-items:center;min-height:100vh;background:linear-gradient(135deg,#10232e,#25424f)}
.employee-login section{width:min(430px,92vw);border-radius:20px;background:#fff;padding:38px;box-shadow:0 25px 70px #07131c66}
.employee-login h1{font-size:2rem;margin:8px 0}
.employee-login form,.employee-login label{display:grid;gap:10px}
.employee-login form{margin:26px 0}
.employee-login form button{border:0;border-radius:10px;background:var(--accent);color:#fff;padding:13px;font-weight:800}
.employee-login a{color:var(--muted);text-decoration:none}
dialog{width:min(690px,94vw);max-height:92vh;border:0;border-radius:18px;padding:0;overflow:auto}
dialog::backdrop{background:#07131ccc}
.campaign-form{display:grid;gap:14px;padding:29px}
.campaign-form h2{margin:0}
.campaign-form label{display:grid;gap:5px;font-weight:700}
.campaign-form textarea{min-height:80px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dialog-close{position:absolute;right:16px;top:14px;border:0;background:none;font-size:1.7rem}
.duration-quick,.dialog-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.duration-quick button,.dialog-actions>button:first-child{border:1px solid var(--line);border-radius:7px;background:#fff;padding:7px 10px}
.dialog-actions{justify-content:flex-end}
@media(max-width:900px){.ads-admin{grid-template-columns:78px 1fr}
.sidebar{padding:20px 10px}
.sidebar span,.sidebar nav button:not(.active){font-size:0}
.sidebar-brand span{display:none}
.dashboard-grid{grid-template-columns:1fr}
.ads-kpis{grid-template-columns:1fr 1fr}
.preview-layout{grid-template-columns:1fr}
.ad-slot{min-height:150px}
.compact-form,.advertiser-list{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){.ads-admin{display:block}
.sidebar{position:static;width:100%;height:auto;flex-direction:row;align-items:center;overflow:auto}
.sidebar-brand{margin:0}
.sidebar nav{display:flex}
.sidebar>button{display:none}
.workspace{padding:20px}
.workspace>header{align-items:flex-start}
.ads-kpis,.package-grid,.compact-form,.advertiser-list{grid-template-columns:1fr}
.campaign-table article,.request-list article{grid-template-columns:1fr}
.form-row{grid-template-columns:1fr}
}
.public-ad-request{min-height:100vh;background:linear-gradient(145deg,#10232e 0,#25424f 30%,#f4f6f7 30%)}
.request-shell{width:min(1040px,94vw);margin:auto;padding:38px 0 70px}.request-shell>header{max-width:760px;color:#fff;margin-bottom:25px}.request-shell>header a{color:#fff;text-decoration:none}.request-shell>header h1{font-size:clamp(2rem,5vw,4rem);line-height:1;margin:16px 0}
.public-request-form,.status-card{display:grid;gap:22px;border-radius:22px;background:#fff;padding:clamp(22px,4vw,42px);box-shadow:0 25px 70px #07131c40}.public-request-form fieldset{border:0;padding:0;margin:0}.public-request-form legend,.public-request-form h2{font-size:1.2rem;font-weight:900;margin-bottom:14px}
.plan-picker,.slot-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.plan-picker label>input,.slot-picker label>input{position:absolute;opacity:0}.plan-picker span,.slot-picker span{display:grid;gap:5px;height:100%;border:2px solid var(--line);border-radius:14px;padding:18px;cursor:pointer}.plan-picker strong{font-size:2rem}.plan-picker input:checked+span,.slot-picker input:checked+span{border-color:var(--accent);background:#fff5f6}
.form-grid,.creative-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.public-request-form label{display:grid;gap:6px;font-weight:750}.public-request-form textarea{min-height:110px}.form-note,.public-request-form small{color:var(--muted)}
.success-card{display:grid;gap:12px;border-radius:18px;background:#e5f8ed;color:#086d3b;padding:24px}.success-card b{font-size:1.3rem}.drop-zone{display:grid;place-items:center;align-content:center;gap:7px;min-height:330px;border:2px dashed #b8c4ca;border-radius:16px;background:#f6f8f9;text-align:center;overflow:hidden}.drop-zone.dragging{border-color:var(--accent);background:#fff5f6}.drop-zone img{width:100%;height:250px;object-fit:contain}.draft-actions{display:flex;justify-content:flex-end;gap:10px}.draft-actions button{border:1px solid var(--line);border-radius:10px;padding:12px 18px}.status-card b{font-size:1.5rem}
@media(max-width:700px){.plan-picker,.slot-picker,.form-grid,.creative-layout{grid-template-columns:1fr}.public-ad-request{background:linear-gradient(145deg,#10232e 0,#25424f 18%,#f4f6f7 18%)}.request-shell{padding-top:22px}}
