:root{--green:#123f31;--accent:#0f8f76;--wash:#f4f7f5;--line:#d8e1dc;--ink:#17231f;--muted:#66756f;--danger:#a63131;--ok:#217a52;--warn:#9a6418;--shadow:0 18px 45px #0b241a18}
*{box-sizing:border-box}body{margin:0;background:#edf3ef;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic",sans-serif}button,a{border:1px solid var(--line);background:white;color:var(--green);border-radius:9px;padding:9px 12px;text-decoration:none;font-weight:700;cursor:pointer}button.primary,.primary{background:var(--green);color:white;border-color:var(--green)}button.muted{color:var(--muted)}input,select{border:1px solid var(--line);border-radius:8px;padding:10px;background:white;min-width:0}.hidden{display:none!important}.eyebrow{display:block;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.08em}.error{color:var(--danger);min-height:20px}.hint{color:var(--muted);font-size:13px}
.page-header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 28px;background:var(--green);color:white}.page-header h1{margin:3px 0;font-size:27px}.page-header p{margin:0;color:#d7e8e1}.page-header nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.page-header nav a,.page-header nav button{background:#ffffff12;color:white;border-color:#ffffff36}.user-label{color:#d7e8e1;font-size:13px}
main{padding:24px;max-width:1380px;margin:auto}.card,.status-card{background:white;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:18px}.card{margin-bottom:14px}.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.card h2{margin:2px 0 0;font-size:20px}.login-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.form-grid label,.login-grid label{display:grid;gap:5px;color:var(--muted);font-size:12px}.wide{grid-column:1/-1}.wide select{margin-top:6px}.status-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.status-card h2{font-size:14px;margin:0 0 8px;color:var(--muted)}.status-card b{display:block;font-size:25px}.status-card small{display:block;color:var(--muted);margin-top:6px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.count-list{display:grid;gap:8px}.count-row{display:grid;grid-template-columns:1fr auto;gap:10px;border-bottom:1px solid var(--line);padding:8px 0}.count-row span{color:var(--muted)}.count-row b{font-size:18px}.warnings{display:grid;gap:8px}.warning{border-left:4px solid var(--warn);background:#fff8ec;border-radius:8px;padding:10px}.ok{border-left-color:var(--ok);background:#edf8f2}
@media(max-width:980px){.status-row,.grid-2,.form-grid{grid-template-columns:1fr 1fr}.login-grid{grid-template-columns:1fr}.page-header{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){main{padding:12px}.status-row,.grid-2,.form-grid{grid-template-columns:1fr}.page-header{padding:18px}}

/* SOIRA aqua theme override */
:root{--ink:#0b2536;--muted:#557083;--line:#b9e3f5;--paper:#fafdff;--wash:#eaf8ff;--green:#0284c7;--accent:#38bdf8;--danger:#be123c;--ok:#0891b2;--warn:#d97706;--shadow:0 18px 45px #0369a11c}
html,body{background:#eaf8ff;color:var(--ink)}
header,.admin-header,.page-header{background:linear-gradient(135deg,#0284c7,#38bdf8)!important;color:#fff!important;border-color:#7dd3fc!important}
header p,.admin-header p,.page-header p,.user-label{color:#e0f7ff!important}
.brandmark,.auth-mark{background:linear-gradient(145deg,#0284c7,#7dd3fc)!important;box-shadow:0 8px 20px #0284c733!important}
button.primary,.primary,.bottom-nav button.active{background:linear-gradient(135deg,#0284c7,#0ea5e9)!important;color:#fff!important;border-color:#0284c7!important}
button,a,.button-link,.hero-action,.quick-grid a,.work-links a,.sheet-actions a,.sheet-actions button{color:#0369a1;border-color:#b9e3f5}
input:focus,select:focus,textarea:focus,.location-search>input:focus,.filters input:focus,.form-grid input:focus,.form-grid textarea:focus{border-color:#38bdf8!important;box-shadow:0 0 0 3px #38bdf833!important}
.sidebar,.card,.mobile-card,.hero-card,.status-card,.tool-panel,.detail,.mobile-sheet,.suggestions,.mobile-suggestions,dialog{background:#fafdff!important;border-color:#b9e3f5!important}
.module-tabs,.mobile-filters,.stat,.service,.diagnostic-total,.command-grid code,.mobile-meta span,.tag,.pill,.check-panel,.insight-panel{background:#eaf8ff!important}
.module-tabs button.active,.form-tabs button.active,.detail-tabs button.active{color:#0284c7!important;border-color:#38bdf8!important;box-shadow:inset 0 -3px #38bdf8!important}
.property-card:hover,.property-card.active,.mobile-property:hover{background:#e0f7ff!important}
.property-card.active:before,.detail{border-color:#38bdf8!important}
#map,#mobileMap,.print-preview{background:#dff4ff!important}
.map-toolbar button{background:#0284c7f2!important;color:#fff!important;border-color:#7dd3fc!important}
.map-toolbar button:hover{background:#7dd3fc!important;color:#083344!important}
.legend,.map-status,.bottom-nav{background:#fafdffe8!important;border-color:#b9e3f5!important}
.eyebrow,.shape-legend,.tool-panel h3,dt,.role-badge,.empty-panel b,.leaflet-control-zoom a{color:#0284c7!important}
.warning,.diagnostic-total.warn,.insight-panel.warn,.check-row.needs_check{background:#fff7ed!important}
.ok,.diagnostic-total.ok,.check-row.ok,.insight-badge{background:#e0f7ff!important;color:#0369a1!important}
pre{background:#082f49!important;color:#e0f7ff!important}
