/* See Your Ad Here back office. Utilitarian, phone-first. */
@font-face{font-family:'Oswald';src:url('/static/fonts/oswald-latin-700-normal.woff2') format('woff2');font-weight:700}
@font-face{font-family:'Oswald';src:url('/static/fonts/oswald-latin-400-normal.woff2') format('woff2');font-weight:400}
@font-face{font-family:'Inter';src:url('/static/fonts/inter-latin-400-normal.woff2') format('woff2');font-weight:400}
@font-face{font-family:'Inter';src:url('/static/fonts/inter-latin-600-normal.woff2') format('woff2');font-weight:600}
@font-face{font-family:'Inter';src:url('/static/fonts/inter-latin-700-normal.woff2') format('woff2');font-weight:700}
:root{--red:#d0202e;--red-d:#a3121d;--ink:#17181b;--ink2:#555b66;--line:#dfe1e5;--bg:#f4f4f2;--card:#fff;--good:#1f7a4d;--good-t:#e3f3ea;--warn:#a15c00;--warn-t:#fdf0dc;--bad:#b3261e;--bad-t:#fbe4e2;--blue:#2a4fb0;--blue-t:#e6ecfb}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.45;background:var(--bg);color:var(--ink)}
a{color:var(--blue)}
.top{background:var(--ink);color:#fff;display:flex;align-items:center;gap:12px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top,0px));position:sticky;top:0;z-index:20}
.top img{height:30px}
.top .t{font-family:Oswald;font-weight:700;font-size:18px;letter-spacing:.02em}
.top nav{margin-left:auto;display:flex;gap:14px;flex-wrap:wrap}
.top nav a{color:#fff;text-decoration:none;font-size:14px;opacity:.9}
main{max-width:1180px;margin:0 auto;padding:18px 16px 60px}
h1{font-family:Oswald;font-weight:700;font-size:28px;margin:4px 0 4px;line-height:1.1}
h2{font-family:Oswald;font-weight:700;font-size:20px;margin:22px 0 8px}
.sub{color:var(--ink2);margin:0 0 14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media(max-width:820px){.grid2,.grid3{grid-template-columns:minmax(0,1fr)}}
label{display:block;font-size:13px;font-weight:600;margin:10px 0 4px}
label small{font-weight:400;color:var(--ink2)}
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],input[type=password],select,textarea{width:100%;font:inherit;font-size:16px;padding:9px 10px;border:1px solid #c9ccd2;border-radius:6px;background:#fff;color:var(--ink)}
textarea{min-height:70px}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:1px}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 12px}
.check{display:flex;gap:8px;align-items:center;font-weight:500;margin-top:12px}
.btn{display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:600;font-size:15px;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:9px 14px;border-radius:6px;cursor:pointer;text-decoration:none}
.btn.red{background:var(--red);border-color:var(--red)}
.btn.ghost{background:#fff;color:var(--ink)}
.btn.sm{font-size:13px;padding:6px 10px}
.btn.danger{background:#fff;color:var(--bad);border-color:var(--bad)}
.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:8px 8px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink2)}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
.tbl{overflow-x:auto}
.pill{display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;white-space:nowrap}
.p-open{background:#eee;color:#555}.p-sold{background:var(--blue-t);color:var(--blue)}.p-proof{background:var(--warn-t);color:var(--warn)}.p-changes{background:var(--bad-t);color:var(--bad)}.p-approved{background:var(--good-t);color:var(--good)}
.chk{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:7px 10px;border-radius:6px;margin-bottom:6px;font-size:14px}
.chk.error{background:var(--bad-t)}.chk.warn{background:var(--warn-t)}.chk.ok{background:var(--good-t)}
.chk b{font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.chk.error b{color:var(--bad)}.chk.warn b{color:var(--warn)}.chk.ok b{color:var(--good)}
.stat{font-family:Oswald;font-weight:700;font-size:26px;font-variant-numeric:tabular-nums}
.stat-l{font-size:12px;color:var(--ink2)}
.flash{background:var(--good-t);color:var(--good);padding:10px 12px;border-radius:6px;margin-bottom:12px;font-weight:600}
.flash.warn{background:var(--warn-t);color:var(--warn)}
/* flyer preview: scale the 11.25in sheets to the column */
.flyer{background:#2a2a2a;border-radius:8px;padding:10px;overflow:hidden}
.flyer .scaler{transform-origin:0 0}
.flyer .sheet{margin-bottom:10px}
.flyer .slotwrap{cursor:pointer}
.side-tabs{display:flex;gap:6px;margin-bottom:8px}
.copybox{display:flex;gap:6px}.copybox input{flex:1}
.adprev{border:1px solid var(--line);border-radius:6px;background:#2a2a2a;padding:8px;overflow:hidden}
.adprev iframe{border:0;display:block;background:transparent}
.looks{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.looks form{background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px}
.looks iframe{border:0;width:100%;display:block}
.muted{color:var(--ink2);font-size:13px}
.log{font-size:13px;color:var(--ink2)}.log div{padding:3px 0;border-bottom:1px dashed var(--line)}

.uploads{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.up{border:1px solid #e3e3e3;border-radius:8px;padding:12px;background:#fafafa}
.up .thumb{display:block;max-width:100%;max-height:110px;border-radius:4px;margin-bottom:6px;background:repeating-conic-gradient(#eee 0 25%,#fff 0 50%) 0 0/16px 16px}
.fontsample{font-size:28px;line-height:1.2;padding:10px 12px;margin:10px 0;border-radius:6px;background:#f4f4f4;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.colors input[type=color]{width:100%;height:42px;padding:2px;border-radius:6px;border:1px solid #ccc;background:#fff}

/* hosts */
.stages{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:4px 0 12px}
@media(max-width:820px){.stages{grid-template-columns:repeat(4,minmax(0,1fr))}}
.stage{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column}
.stage b{font-family:Oswald;font-size:22px;line-height:1}.stage span{font-size:12px;color:var(--ink2)}
.stage.on{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.filters select{width:auto;min-width:150px;font-size:14px;padding:7px 8px}
.hosts td{font-size:14px}.clamp{max-width:420px}
.routebar{position:sticky;bottom:0;background:var(--ink);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;margin-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
.routebar .btn[disabled]{opacity:.45;cursor:default}
.duerow{padding:5px 0;border-bottom:1px dashed var(--line)}
ul.tight{margin:4px 0;padding-left:20px;display:grid;gap:4px}
@media(max-width:700px){.hosts th:nth-child(3),.hosts td:nth-child(3),.hosts th:nth-child(6),.hosts td:nth-child(6){display:none}}
.hostcard{display:block;text-decoration:none;color:var(--ink);margin-bottom:14px}
.lastv{font-size:12.5px;color:var(--ink2);margin-top:2px}.lastv.recent{color:var(--warn);font-weight:600}
.dist{display:inline-block;background:var(--ink);color:#fff;font-weight:700;font-size:12px;border-radius:999px;padding:1px 8px;margin-right:6px}
.gps{display:inline-block;font-size:11px;font-weight:700;border-radius:999px;padding:0 7px;margin-left:6px}.gps.ok{background:var(--good-t);color:var(--good)}.gps.far{background:var(--warn-t);color:var(--warn)}
.dist[hidden]{display:none}
@media(max-width:600px){.top .t{display:none}.top nav{gap:10px}}
.whobar{background:#2a2c31;color:#e9e9e9;font-size:13px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:5px 16px;flex-wrap:wrap}
.viewas{display:flex;align-items:center;gap:8px}.viewas label{margin:0;font-weight:600;color:#ffd23f}
.viewas select{width:auto;font-size:13px;padding:4px 8px}

/* phone menu */
.menubtn{display:none;margin-left:auto;background:transparent;color:#fff;border:1.5px solid #fff;border-radius:6px;font:600 14px Inter,sans-serif;padding:6px 12px}
@media(max-width:760px){
 .top{flex-wrap:wrap}.menubtn{display:inline-block}
 .top nav{display:none;width:100%;margin:6px 0 2px;grid-template-columns:1fr 1fr;gap:2px}
 .top.open nav{display:grid}
 .top nav a{padding:10px 8px;border-radius:6px;background:rgba(255,255,255,.07);font-size:15px}
 .top .t{display:inline}
}
/* phone tables become cards */
@media(max-width:700px){
 .tbl{overflow:visible}
 table.stack,table.stack tbody{display:block}
 table.stack tr.hrow-head{display:none}
 table.stack tr{display:block;border-bottom:1px solid var(--line);padding:10px 12px}
 table.stack td{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;border:0;padding:3px 0;text-align:left!important}
 table.stack td::before{content:attr(data-label);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink2);padding-top:2px}
 table.stack td:not([data-label])::before,table.stack td[data-label=""]::before{content:none}
 table.stack td:not([data-label]),table.stack td[data-label=""]{grid-template-columns:1fr}
 .hosts th:nth-child(3),.hosts td:nth-child(3),.hosts th:nth-child(6),.hosts td:nth-child(6){display:grid!important}
}

.phone-only{display:none}
@media(max-width:700px){.phone-only{display:block}.desk-only{display:none}}
.spacelist{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.sp-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.sp-row:last-child{border-bottom:0}.sp-code{font-family:Oswald;font-size:18px}
.sp-mid{display:flex;flex-direction:column;gap:3px;font-size:14px}.sp-mid .pill{align-self:flex-start}
.sp-go{font-weight:700;color:var(--red-d);font-size:14px}
@media(max-width:700px){table.stack td:empty{display:none}}
/* back button on every admin page */
.backbtn{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14px;color:var(--ink);text-decoration:none;border:2px solid var(--ink);border-radius:999px;padding:5px 12px;margin:0 0 14px;background:#fff}
.backbtn:hover{background:#f1f1f1}
/* drag-and-drop file pickers */
.dropzone{display:flex;flex-direction:column;align-items:flex-start;gap:6px;border:2px dashed #b9bcc4;border-radius:10px;padding:10px 12px;background:#fafafa;cursor:pointer;margin:0}
.dropzone.over{border-color:#c8102e;background:#fff3f3}
.dropzone.has{border-style:solid;border-color:#2fae66;background:#f2fbf5}
.dropzone .dz-t{font-size:13px;color:#555;font-weight:600}
.dropzone input[type=file]{max-width:100%}
