:root{--green:#123f31;--accent:#0f8f76;--wash:#f4f7f5;--line:#d8e1dc;--ink:#17231f;--muted:#66756f;--danger:#a63131;--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:1500px;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}.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}.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}.login-grid label{display:grid;gap:5px;color:var(--muted);font-size:12px}.filter-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:8px;align-items:end}.filter-grid label{display:grid;gap:4px;color:var(--muted);font-size:12px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pager{display:flex;gap:8px}.table-card{padding-bottom:8px}.table-wrap{overflow:auto;max-height:62vh;border:1px solid var(--line);border-radius:12px}
table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;background:white}th,td{text-align:left;border-bottom:1px solid var(--line);padding:9px;vertical-align:top;white-space:nowrap}th{position:sticky;top:0;background:#f8fbf9;color:var(--muted);font-size:12px;z-index:1}th button{border:0;background:transparent;padding:0;color:inherit;font-weight:800}.name-cell{white-space:normal;min-width:220px}.name-cell b{display:block}.name-cell small{display:block;color:var(--muted);margin-top:2px}.insight-cell,.check-cell{white-space:normal;min-width:190px}.insight-cell small,.check-cell small{display:block;color:var(--muted);margin-top:4px;line-height:1.35}.score-badge,.check-badge{display:inline-block;border-radius:20px;padding:4px 8px;font-size:11px;font-weight:900;background:#e0f2e9;color:#217a52}.score-badge.info{background:#e8eee9;color:#66756f}.score-badge.warn,.check-cell.warn .check-badge{background:#fff1db;color:#9a6418}.score-badge.error{background:#f8e3e3;color:#a63131}.check-cell.ok .check-badge{background:#e0f2e9;color:#217a52}.address-cell{white-space:normal;min-width:260px}.number{text-align:right}.pill{display:inline-block;border-radius:20px;padding:4px 8px;font-size:11px;font-weight:800;background:#e4eee9;color:var(--green);white-space:nowrap}.check-filter{display:flex!important;gap:8px!important;align-items:center;color:var(--green)!important;font-weight:800}.check-filter input{width:auto}.empty{padding:18px;color:var(--muted);background:var(--wash)}
.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}
@media(max-width:1100px){.status-row,.grid-2{grid-template-columns:1fr 1fr}.filter-grid{grid-template-columns:1fr 1fr}.login-grid{grid-template-columns:1fr}.page-header{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){main{padding:12px}.status-row,.grid-2,.filter-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}
