:root{--red:#ec3535;--dark:#6d2929;--bg:#f6f7f9;--text:#20242a;--muted:#707782;--border:#e2e5e9}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}header{height:70px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 32px}header strong{font-size:18px}header span{margin-left:10px;color:var(--muted);font-size:12px}nav a{color:var(--text);text-decoration:none;margin-left:22px}nav a:hover{color:var(--red)}main{max-width:1240px;margin:38px auto;padding:0 24px}h1{font-size:32px;margin:0 0 5px}.lead{color:var(--muted);margin-top:0}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:28px 0}.card,.panel,.tablewrap{background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:0 4px 18px rgba(20,25,30,.035)}.card{padding:22px}.card b{font-size:27px;display:block}.card span{font-size:13px;color:var(--muted)}.panel{padding:25px}.panel h2{margin-top:0}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--border);font-size:14px}th{background:#fafafb;color:var(--muted);font-weight:600}.auth{display:grid;place-items:center;min-height:100vh}.login{width:min(430px,92vw);background:#fff;border:1px solid var(--border);border-radius:18px;padding:34px;box-shadow:0 15px 50px rgba(0,0,0,.08)}.brand{color:var(--red);font-weight:800}.login h1{margin:10px 0 25px}.login label{display:block;font-size:13px;font-weight:600;margin:15px 0}.login input{width:100%;padding:13px;border:1px solid var(--border);border-radius:9px;margin-top:7px}.login button{width:100%;border:0;background:var(--red);color:#fff;padding:14px;border-radius:9px;font-weight:700;cursor:pointer}.error{padding:12px;background:#fff1f1;color:#8a1e1e;border-radius:8px}@media(max-width:950px){.cards{grid-template-columns:repeat(2,1fr)}header{padding:0 18px}nav a{margin-left:12px}}@media(max-width:600px){.cards{grid-template-columns:1fr}header{height:auto;padding:15px;display:block}nav{margin-top:12px}nav a:first-child{margin-left:0}}
nav a.active{color:var(--red);font-weight:700}.pagehead,.sectionhead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.pagehead{margin-bottom:24px}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff!important;text-decoration:none;border:0;border-radius:9px;padding:12px 17px;font-weight:700;font-size:14px;cursor:pointer}.btn:hover{filter:brightness(.96)}.btn.secondary{background:#fff;color:var(--text)!important;border:1px solid var(--border)}.notice{border-radius:10px;padding:14px 16px;margin:16px 0}.notice.success{background:#edf9f0;border:1px solid #ccebd4;color:#245d32}.notice.errorbox{background:#fff2f2;border:1px solid #f1caca;color:#842626}.notice ul{margin:7px 0 0 20px}.campaign-form{margin-bottom:24px}.sectionhead h2{margin:0 0 5px}.sectionhead p{margin:0;color:var(--muted);font-size:14px}.textlink{color:var(--red);text-decoration:none;font-weight:700}.formgrid{display:grid;gap:16px;margin-top:20px}.formgrid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.formgrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.formgrid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.campaign-form label,.fullfield{font-size:13px;font-weight:700}.campaign-form input,.campaign-form select,.campaign-form textarea{width:100%;margin-top:7px;padding:12px 13px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text);font:inherit}.campaign-form textarea{resize:vertical}.campaign-form small{display:block;color:var(--muted);font-weight:400;margin-top:5px}.fieldgroup{margin-top:22px}.fieldtitle{display:block;font-size:13px;font-weight:800;margin-bottom:9px}.fieldhint{margin:-3px 0 11px;color:var(--muted);font-size:13px}.checks{display:flex;gap:10px;flex-wrap:wrap}.checks label{display:flex;align-items:center;gap:7px;background:#fafafb;border:1px solid var(--border);border-radius:9px;padding:10px 13px}.checks input,.placement-option input{width:auto;margin:0}.placement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.placement-option{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fafafb;cursor:pointer}.placement-option strong{display:block}.placement-option small{margin-top:3px}.fullfield{display:block;margin-top:22px}.formactions{display:flex;gap:10px;margin-top:20px}.nopad{padding:0;overflow:hidden}.tabletitle{padding:20px 22px;border-bottom:1px solid var(--border)}.tablewrap.noborder{border:0;border-radius:0;box-shadow:none}.subline{display:block;color:var(--muted);font-size:12px;margin-top:4px}.badge{display:inline-block;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.status-active{background:#eaf8ed;color:#216b31}.status-draft{background:#eef2f7;color:#526071}.status-paused{background:#fff5df;color:#805d10}.status-ended{background:#f3f3f3;color:#666}.devices{display:flex;gap:4px}.devices span{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:#f0f1f3;color:#aaa;font-size:11px;font-weight:800}.devices span.on{background:#fdecec;color:var(--red)}.actions{white-space:nowrap}.actions a,.linkbtn{color:var(--red);font-weight:700;text-decoration:none;background:none;border:0;padding:0;margin-right:10px;cursor:pointer;font:inherit;font-size:13px}.actions form{display:inline}.linkbtn.danger{color:#9a2929}.empty{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:30px}.empty span{color:var(--muted)}
@media(max-width:1000px){.formgrid.four{grid-template-columns:repeat(2,1fr)}.placement-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.pagehead,.sectionhead{display:block}.pagehead .btn{margin-top:12px}.formgrid.two,.formgrid.three,.formgrid.four,.placement-grid{grid-template-columns:1fr}.sectionhead .textlink{display:inline-block;margin-top:10px}.checks{display:grid;grid-template-columns:1fr}.formactions{flex-direction:column}.formactions .btn{width:100%}}
.cards{grid-template-columns:repeat(6,1fr)}.creative-preview{margin-top:18px;padding:14px;border:1px solid var(--border);background:#fafafb;border-radius:10px;display:inline-flex;flex-direction:column;gap:8px}.creative-preview span{font-size:12px;color:var(--muted);font-weight:700}.creative-preview img{display:block;max-width:420px;max-height:180px;object-fit:contain;border-radius:7px;background:#fff}.creative-cell{display:flex;align-items:center;gap:12px}.creative-cell img{width:72px;height:48px;object-fit:cover;border:1px solid var(--border);border-radius:7px;background:#fff}@media(max-width:1150px){.cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.cards{grid-template-columns:1fr}.creative-preview img{max-width:100%}.creative-cell img{width:54px;height:38px}}
.rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.rule-grid label{display:flex;align-items:flex-start;gap:8px;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fafafb;font-size:13px;font-weight:700}.rule-grid input{width:auto!important;margin:2px 0 0!important}.placement-explainer{margin:0 0 24px}.placement-explainer p{color:var(--muted);max-width:900px}.placement-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;align-items:center;margin-top:18px}.placement-flow>*{text-align:center;padding:12px 8px;border-radius:9px;background:#fafafb;border:1px solid var(--border);font-size:12px}.placement-flow b{background:#fff1f1;border-color:#f0caca;color:var(--dark)}@media(max-width:900px){.rule-grid{grid-template-columns:repeat(2,1fr)}.placement-flow{grid-template-columns:1fr}}@media(max-width:600px){.rule-grid{grid-template-columns:1fr}}
