*{box-sizing:border-box}
:root{--purple:#710080;--orange:#ff8b00;--ink:#20272f;--muted:#6c756f;--line:#e4e9e5;--green:#287243}
body{margin:0;background:#f4f7f5;color:var(--ink);font-family:Inter,system-ui,-apple-system,sans-serif}
.asShell{max-width:1220px;margin:0 auto;padding:32px 22px 70px}
.asHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:22px}
.asHeader span{font-size:11px;font-weight:900;letter-spacing:.16em;color:var(--purple)}
.asHeader h1{margin:6px 0 7px;font-size:34px;letter-spacing:-.035em}
.asHeader p{margin:0;max-width:760px;color:var(--muted);line-height:1.55}
.asHeaderActions{display:flex;gap:9px;flex-wrap:wrap}
.asHeaderActions a{text-decoration:none;color:#303a34;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 13px;font-weight:800;font-size:12px}
.asCard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 10px 32px rgba(25,40,31,.05)}
.asStats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}
.asStats article{background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px;display:grid;gap:4px}
.asStats strong{font-size:29px}
.asStats span{font-size:12px;color:var(--muted);font-weight:800}
.asToolbar{display:grid;grid-template-columns:1.25fr 1.35fr 1fr 1fr auto;gap:10px;align-items:end;margin-bottom:15px}
.asToolbar label{display:grid;gap:6px}
.asToolbar label span{font-size:10px;font-weight:900;color:#68726c;text-transform:uppercase;letter-spacing:.08em}
.asToolbar select,.asToolbar button{height:42px;border:1px solid #dbe2dd;border-radius:11px;background:#fff;padding:0 11px;font:750 12px Inter,system-ui,sans-serif;color:#2c3630}
.asToolbar button{background:#710080;color:#fff;border-color:#710080;cursor:pointer;padding:0 18px}
.asCandidates{display:grid;gap:13px}
.asCandidate{background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 10px 30px rgba(28,43,34,.045)}
.asCandidateTop{display:grid;grid-template-columns:86px minmax(0,1fr) auto;gap:15px;align-items:start}
.asPhoto{width:86px;height:76px;border-radius:14px;overflow:hidden;background:#eef2ef;display:grid;place-items:center;color:var(--purple);font-weight:900}
.asPhoto img{width:100%;height:100%;object-fit:cover}
.asCandidateTitle{min-width:0}
.asCandidateTitle h2{margin:2px 0 5px;font-size:20px;line-height:1.15}
.asCandidateMeta{font-size:11px;color:var(--muted);font-weight:700}
.asCount{text-align:right}
.asCount strong{display:block;font-size:24px;color:var(--purple)}
.asCount span{font-size:10px;color:var(--muted);font-weight:800}
.asStatusPill{display:inline-flex;margin-top:8px;padding:6px 9px;border-radius:999px;background:#f3eef4;color:#660074;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.asStatusPill[data-status="visit_planned"]{background:#fff4e8;color:#9a5400}
.asStatusPill[data-status="visited"]{background:#eef6fb;color:#28627e}
.asStatusPill[data-status="selected"]{background:#edf8f0;color:#22693d}
.asStatusPill[data-status="rejected"]{background:#f8eeee;color:#953737}
.asReasons{display:grid;gap:8px;margin-top:14px;padding-top:13px;border-top:1px solid #edf0ee}
.asReason{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px}
.asAvatar{width:32px;height:32px;border-radius:50%;overflow:hidden;background:#f0f2f1;display:grid;place-items:center;font-size:10px;font-weight:900}
.asAvatar img{width:100%;height:100%;object-fit:cover}
.asReasonBody strong{font-size:11px}
.asReasonBody p{margin:3px 0 5px;font-size:12px;line-height:1.5;color:#46514a}
.asTags{display:flex;gap:5px;flex-wrap:wrap}
.asTags span{padding:4px 7px;border-radius:999px;background:#f5f6f5;font-size:9px;color:#657068;font-weight:800}
.asActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}
.asActions a,.asActions button{min-height:36px;padding:0 11px;border-radius:10px;border:1px solid #dfe5e1;background:#fff;color:#344039;font:800 11px Inter,system-ui,sans-serif;text-decoration:none;display:inline-flex;align-items:center;cursor:pointer}
.asActions .primary{background:#710080;color:#fff;border-color:#710080}
.asActions .visit{background:#fff4e7;color:#8c4c00;border-color:#f1d5b4}
.asActions .danger{color:#9b3838;background:#fff7f7;border-color:#eed5d5}
.asMessage{margin-bottom:12px;padding:11px 13px;border-radius:11px;background:#fff3d9;color:#755300;font-size:12px;font-weight:750}
.asEmpty{text-align:center;padding:45px;color:#747e78}
@media(max-width:760px){
 .asShell{padding:20px 12px 50px}.asHeader{display:grid}.asHeader h1{font-size:28px}
 .asStats{grid-template-columns:repeat(3,1fr)}.asStats article{padding:13px}.asStats strong{font-size:22px}
 .asToolbar{grid-template-columns:1fr 1fr}.asToolbar button{grid-column:1/-1}
 .asCandidateTop{grid-template-columns:70px minmax(0,1fr)}.asPhoto{width:70px;height:66px}.asCount{grid-column:1/-1;text-align:left;display:flex;align-items:baseline;gap:6px}.asCount strong{font-size:20px}
}

/* Voyatale V2 Places admin layer; data and moderation contracts remain unchanged. */
.v2AdminPlacesPage{--purple:#6d3df2;--orange:#f48a3d;background:radial-gradient(circle at 10% 0,rgba(109,61,242,.09),transparent 34%),radial-gradient(circle at 90% 8%,rgba(244,138,61,.08),transparent 28%),#f8f7fb;color:#2d2736}.v2AdminPlacesPage .asShell{max-width:1180px}.v2AdminPlacesPage .asHeader{padding:28px;border-radius:26px;background:linear-gradient(135deg,#fff,rgba(246,242,255,.94));border:1px solid rgba(91,65,151,.14);box-shadow:0 20px 60px rgba(48,31,84,.08)}.v2AdminPlacesPage .asHeader h1{font-size:clamp(30px,5vw,48px)}.v2AdminPlacesPage .asCard,.v2AdminPlacesPage .asStats article,.v2AdminPlacesPage .asCandidate{border-color:rgba(91,65,151,.14);box-shadow:0 14px 42px rgba(48,31,84,.06)}.v2AdminPlacesPage .asCandidate{border-radius:22px}.v2AdminPlacesPage .asPhoto{background:#eee9f7}.v2AdminPlacesPage .asToolbar select,.v2AdminPlacesPage .asToolbar button,.v2AdminPlacesPage .asActions a,.v2AdminPlacesPage .asActions button,.v2AdminPlacesPage .asHeaderActions a{min-height:44px}.v2AdminPlacesPage .asToolbar button,.v2AdminPlacesPage .asActions .primary{background:linear-gradient(135deg,#6d3df2,#855be9);border-color:#6d3df2}.v2AdminPlacesPage .asStatusPill{background:#f0eaff;color:#5d34c8}.v2AdminPlacesPage button:focus-visible,.v2AdminPlacesPage a:focus-visible,.v2AdminPlacesPage select:focus-visible{outline:3px solid rgba(244,138,61,.72);outline-offset:3px}@media(max-width:760px){html:has(body.v2AdminPlacesPage),body.v2AdminPlacesPage{max-width:100%;overflow-x:hidden}.v2AdminPlacesPage .asShell{padding:12px 10px max(54px,env(safe-area-inset-bottom))}.v2AdminPlacesPage .asHeader{padding:22px 18px}.v2AdminPlacesPage .asToolbar,.v2AdminPlacesPage .asCandidate,.v2AdminPlacesPage .asCandidateTop{min-width:0;max-width:100%}.v2AdminPlacesPage .asActions>*{flex:1 1 140px;justify-content:center}}
