:root{color-scheme:light;--ink:#18283b;--muted:#64748b;--blue:#2563eb;--line:#dfe6ef;--bg:#f5f7fb}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}.header{background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:18px max(24px,calc((100vw - 1180px)/2));gap:24px}.brand{color:var(--ink);font-size:25px;font-weight:750;white-space:nowrap}.brand span{color:var(--blue)}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:1px;color:var(--muted)}nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}nav form{margin:0}.container{max-width:1180px;padding:36px 24px 72px;margin:auto}h1{font-size:36px;line-height:1.25;margin:0 0 14px;letter-spacing:-1px}h2{font-size:21px;margin:0 0 20px}h3{margin:0 0 10px;font-size:17px}p{margin:8px 0}.muted{color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--blue);font-weight:650}.hero{padding:24px 0 34px;max-width:740px}.hero p{font-size:17px;color:var(--muted)}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:24px}.filter{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.filter label{flex:1;min-width:160px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.ad{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;color:var(--ink)}.ad img{width:100%;aspect-ratio:1;object-fit:contain;display:block}.ad .info{padding:18px}.tag{font-size:12px;background:#eff4ff;border-radius:6px;padding:4px 8px;color:#3459a7}.empty{padding:60px 24px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px}.button,button{border:0;background:var(--blue);color:white;padding:10px 17px;border-radius:9px;cursor:pointer;display:inline-block;font-weight:600}.secondary{background:#eef2f7;color:var(--ink)}.link{background:none;color:var(--muted);padding:0;font-weight:400}label{display:block;font-size:13px;color:var(--muted);margin-bottom:12px}input,select,textarea{display:block;width:100%;background:white;border:1px solid #cbd5e1;padding:10px 12px;border-radius:8px;color:var(--ink);margin-top:5px}input[type=checkbox]{display:inline;width:auto;margin-right:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.auth{max-width:450px;margin:30px auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:20px}.stat strong{display:block;font-size:30px}.split{display:grid;grid-template-columns:1.6fr 1fr;gap:24px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:500}td img{width:100px;border-radius:6px}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.row-actions button{font-size:12px;padding:7px 10px}.row-actions form{margin:0}.notice,.error{padding:15px 20px;border-radius:10px;margin-bottom:22px}.notice{background:#e9f7ee;color:#21663c}.error{background:#fff0f0;color:#9b2929}details>summary{cursor:pointer;font-weight:650;padding:4px 0}details[open]>summary{margin-bottom:18px}.topline{display:flex;justify-content:space-between;gap:20px;align-items:center}.topline form{min-width:210px}footer{padding:22px max(24px,calc((100vw - 1132px)/2));border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between}.device{border-top:1px solid var(--line);padding:18px 0}.device code{overflow-wrap:anywhere}.subtitle{font-size:12px;display:block;color:var(--muted)}.pagination{margin-top:28px;display:flex;gap:20px}@media(max-width:850px){.grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.header{padding:16px 24px;align-items:start}nav{gap:12px;font-size:13px}.brand small{display:none}}@media(max-width:520px){.grid,.form-grid{grid-template-columns:1fr}.container{padding:24px 16px 48px}.header{padding:14px 16px;flex-wrap:wrap}h1{font-size:29px}.panel{padding:18px}.stats{gap:8px}.stat{padding:14px}.stat strong{font-size:24px}.topline{display:block}.topline form{margin-top:16px}.filter{display:block}.filter button{width:100%}.row-actions{min-width:120px}footer{padding:18px 16px;gap:12px;flex-wrap:wrap}}
.admin-nav{gap:10px;padding:14px 18px}.admin-nav a{padding:8px 12px;border-radius:8px;color:var(--muted)}.admin-nav a[aria-current=page]{background:#eff4ff;color:var(--blue);font-weight:700}.admin-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.review-item{padding:24px 0;border-bottom:1px solid var(--line)}.review-image{width:100%;max-width:420px;aspect-ratio:1;object-fit:contain;border-radius:10px}.audit-details{display:block;max-width:430px;overflow-wrap:anywhere;white-space:pre-wrap}footer{gap:14px;flex-wrap:wrap}
.location-fields>.muted,.location-fields>.error{grid-column:1/-1}.filter .location-fields{display:contents}.filter .location-fields>.error{width:100%}[hidden]{display:none!important}
.filter .keyword-search{flex-basis:calc(100% - 110px);margin-bottom:0}.filter .keyword-search input{width:100%}

button:disabled{background:#e2e8f0;color:#64748b;cursor:not-allowed;opacity:.8}
.workspace-header{border-bottom:3px solid transparent;color:#fff}.header-admin{background:#172b46;border-bottom-color:#739dff}.header-staff{background:#125653;border-bottom-color:#65d9c5}.workspace-header .brand{color:#fff}.header-admin .brand span{color:#a9c4ff}.header-staff .brand span{color:#91eadb}.workspace-header .brand small{display:block;color:#dce9f5;font-weight:600;letter-spacing:1px}.workspace-header nav a,.workspace-header .link{color:#f1f5f9}.workspace-header nav a:hover,.workspace-header .link:hover{text-decoration:underline}.header-user{font-size:12px;padding:4px 10px;border:1px solid #ffffff40;border-radius:20px;max-width:180px;overflow-wrap:anywhere}.ad-search label{margin-bottom:0}.ad-search+.muted{margin-top:16px}@media(max-width:520px){.ad-search button,.ad-search .button{margin-top:12px;width:100%;text-align:center}.workspace-header nav{width:100%}}
.workspace-header .brand small{font-size:14px;letter-spacing:.5px}.header-timezone{font-size:12px;color:#dce9f5}.portal-admin>.container,.portal-staff>.container{padding-top:24px}

.bandwidth-group{min-width:0;border:1px solid var(--line);border-radius:12px;margin:18px 0;padding:16px}.bandwidth-group legend{font-weight:650;padding:0 8px}.bandwidth-group>.muted{font-size:13px;margin:0 0 14px}.bandwidth-group .form-grid{gap:0 18px}

.promotion-options{border:1px solid #dbe1ea;border-radius:12px;padding:16px;margin:16px 0}.promotion-options label,.promotion-option{margin-bottom:0;display:flex;gap:10px;align-items:center;min-height:44px}.promotion-options input,.promotion-option input{width:20px;min-height:20px;flex-shrink:0}.promotion-dialog{max-width:620px;width:90%;max-height:90vh;overflow:auto}.promotion-section{margin-bottom:32px}

.promotion-choice-grid,.promotion-record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.promotion-purchase{max-width:860px;margin-inline:auto}.promotion-quote{padding:12px;background:#f5f7fb;border-radius:12px}.promotion-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-day{padding:12px;background:#edf6f1;border:1px solid #bcdac8;border-radius:10px;display:grid;gap:6px}.calendar-full{background:#fff0ee;border-color:#efbcb4}.calendar-weekday{text-align:center;padding:8px}.calendar-day span{font-size:13px}.promotion-options input[type=radio]{width:auto;min-width:auto}
@media(max-width:600px){.promotion-calendar{gap:3px}.calendar-day{padding:6px 2px;gap:3px;text-align:center}.calendar-day span{font-size:10px}.calendar-weekday{font-size:12px;padding:6px 0}.promotion-record-grid,.promotion-choice-grid{grid-template-columns:1fr}}

.promotion-product-editor{border-bottom:1px solid #e3e8ee;padding:16px 0}.promotion-product-editor:last-child{border-bottom:0}.promotion-product-editor summary{min-height:44px;cursor:pointer}.promotion-product-editor form{margin-top:16px}
.promotion-option-description{display:block;color:#677387;font-size:12px;line-height:1.6;margin-top:4px}.promotion-placement-guide{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.promotion-placement-guide dt{font-weight:700}.promotion-placement-guide dd{margin:4px 0 0;color:#677387;font-size:13px;line-height:1.6}
.ad-action-dialog{width:min(900px,94vw);max-height:90vh;max-height:90dvh;overflow:auto;margin:auto}.ad-action-dialog::backdrop{background:#172b4670}.ad-action-dialog [data-ad-dialog-body]>.panel{border:0;box-shadow:none;padding:0}.ad-action-dialog [data-ad-dialog-close]{flex-shrink:0;white-space:nowrap}[data-ad-form-feedback]{margin-bottom:12px}

.pool-switch,.network-category{display:flex;align-items:center;gap:.7rem}.pool-switch input,.network-category input{width:auto;margin:0}.network-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.7rem}.network-category{padding:.6rem;background:#f5f7fb;border-radius:8px}.network-category small{display:block;font-size:.8rem}.blocked-category{opacity:.55}.network-category-options{margin:1rem 0}

.header-nearby{display:inline-flex;align-items:center;gap:8px;position:relative;min-width:0}.header .nearby-button{font-size:inherit;color:var(--blue);white-space:nowrap;min-height:32px}.nearby-location{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.nearby-feedback{position:fixed;top:76px;right:20px;z-index:50;max-width:min(360px,calc(100vw - 32px));padding:12px 38px 12px 14px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 24px #18283b22;font-size:13px;color:var(--ink)}.nearby-feedback-close{position:absolute;right:10px;top:7px;font-size:22px;line-height:1.3}.nearby-feedback[hidden]{display:none}@media(max-width:520px){.header-nearby{flex-wrap:wrap;gap:6px}.nearby-location{max-width:130px}.nearby-feedback{top:110px;right:16px}}
