:root{font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#172033;background:#f4f6fa;font-size:15px}*{box-sizing:border-box}body{margin:0;min-width:320px}main{max-width:1280px;margin:auto;padding:36px 32px 80px}.card{background:#fff;border:1px solid #e1e6ef;border-radius:16px;padding:24px;margin:20px 0;box-shadow:0 8px 28px rgba(23,32,51,.055)}.login{max-width:420px;margin:9vh auto;padding:34px}.brand{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#ef476f,#d72452);color:white;font-weight:800;margin-bottom:22px}h1,h2{margin:0;color:#101828;letter-spacing:-.025em}h1{font-size:30px}h2{font-size:20px}.muted{color:#667085;margin:7px 0 0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:#e3315b;margin-bottom:6px}label:not(.zone-item):not(.check-inline){display:grid;gap:8px;margin:14px 0;font-size:13px;font-weight:600;color:#344054}input,select{width:100%;padding:11px 12px;border:1px solid #ccd3df;border-radius:9px;background:white;color:#172033;outline:none;transition:.15s}input:focus,select:focus{border-color:#e3315b;box-shadow:0 0 0 3px rgba(227,49,91,.1)}button{border:0;border-radius:9px;padding:10px 16px;background:#171b2e;color:white;font-weight:650;cursor:pointer;white-space:nowrap;transition:.15s}button:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(23,27,46,.15)}button:active{transform:none}.wide{width:100%;margin-top:8px}.secondary{background:#667085}.danger{background:#c92920}header,.toolbar,nav,.card-head,.page-title,.filters{display:flex;align-items:center;justify-content:space-between;gap:12px}header{padding:6px 0 24px}header small{display:block;color:#667085;margin-top:7px}nav{justify-content:flex-start;border-bottom:1px solid #d7dde7;margin-bottom:28px}nav button{background:transparent;color:#667085;border-radius:0;padding:13px 18px;box-shadow:none!important}nav button.active{color:#101828;border-bottom:3px solid #e3315b}.page-title{margin:8px 0 18px}.page-title h2{font-size:24px}.toolbar{justify-content:flex-start;flex-wrap:wrap;margin:14px 0 20px}.card-head{align-items:flex-start;border-bottom:1px solid #edf0f5;padding-bottom:18px;margin-bottom:18px}.filters{justify-content:flex-end;flex-wrap:wrap}.filters>input{width:230px}.check-inline{display:flex;align-items:center;gap:7px;color:#475467;font-size:13px}.check-inline input,.zone-item input,td input{width:16px;height:16px;accent-color:#e3315b}.zone-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.zone-item{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:48px;padding:10px 13px;border:1px solid #e2e7ef;border-radius:10px;background:#fbfcfe;cursor:pointer}.zone-item:hover{border-color:#bac4d2;background:#fff}.zone-item.is-added{opacity:.65;cursor:default}.zone-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.badge{padding:4px 8px;border-radius:999px;background:#fff1dc;color:#9a5b00;font-size:11px;font-weight:700}.badge.success{background:#e9f8ef;color:#16794a}.empty{grid-column:1/-1;text-align:center;padding:36px;color:#98a2b3}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;align-items:end}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid #edf0f4;vertical-align:middle}th{position:sticky;top:0;background:#f8fafc;color:#667085;font-size:12px;text-transform:uppercase;letter-spacing:.04em}tbody tr:hover{background:#fafbfc}.error{color:#b42318}pre{white-space:pre-wrap;max-height:260px;overflow:auto;background:#101828;color:#d0d5dd;padding:14px;border-radius:10px}#toast{position:fixed;right:24px;bottom:24px;background:#101828;color:white;padding:13px 18px;border-radius:10px;display:none;box-shadow:0 12px 30px #10182844;z-index:10}@media(max-width:760px){main{padding:20px 14px 60px}header{align-items:flex-start}.card{padding:18px}.card-head{display:block}.filters{justify-content:flex-start;margin-top:14px}.filters>input{width:100%}.zone-grid{grid-template-columns:1fr}.toolbar button{flex:1}.page-title h2{font-size:22px}}
