:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#17212b;background:#f5f7f9}
*{box-sizing:border-box}body{margin:0}a{color:#0d5f4f;text-decoration:none}
header{background:#16352f;color:white;padding:14px 22px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}
header .brand{font-weight:800;font-size:1.15rem}nav{display:flex;gap:14px;flex-wrap:wrap}nav a{color:#dff4ee}
main{max-width:1180px;margin:24px auto;padding:0 18px}.card{background:white;border:1px solid #dfe5e8;border-radius:10px;padding:18px;margin-bottom:18px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.metric{font-size:1.8rem;font-weight:800}.label{color:#607080;font-size:.9rem}
table{width:100%;border-collapse:collapse;background:white}th,td{padding:10px;border-bottom:1px solid #e5eaed;text-align:left;vertical-align:top}th{background:#eef3f4}
.btn,button{display:inline-block;border:0;border-radius:7px;background:#176d59;color:white;padding:9px 13px;font-weight:700;cursor:pointer}.secondary{background:#50606b}
input,select,textarea{width:100%;padding:9px;border:1px solid #bdc8ce;border-radius:6px;background:white}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.field label{display:block;font-size:.85rem;color:#52616a;margin-bottom:4px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.badge{display:inline-block;padding:3px 8px;border-radius:999px;background:#e6ecef;font-size:.8rem}.bad{background:#ffe3df;color:#8c271e}.good{background:#ddf3e8;color:#17633f}
.note{background:#fff7d6;border:1px solid #ead989;padding:10px;border-radius:7px}.error{background:#ffe4e1;color:#8c1f17;padding:10px;border-radius:7px}.flash{background:#e4f5ec;padding:10px;border-radius:7px;margin-bottom:14px}
.login{max-width:430px;margin:10vh auto;padding:20px}.small{font-size:.85rem;color:#68757d}
header.platform{background:#222b45}.section{margin-top:28px}

.landing-head{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}.searchgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.searchzone form{display:flex;gap:8px}.searchzone input{flex:1}.searchzone button{white-space:nowrap}.bigbtn{font-size:1.05rem;padding:12px 18px}.summaryrow{margin-top:18px}.searchbar{display:flex;gap:8px;max-width:700px}.contracttext{white-space:pre-wrap;font-family:inherit;background:#f7f8f9;padding:14px;border-radius:7px;border:1px solid #e0e5e8;max-height:420px;overflow:auto}

.wizardbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:white;border:1px solid #dfe5e8;border-radius:10px;padding:10px 14px;margin-bottom:18px}.wizardbar span{padding:6px 9px;border-radius:999px;background:#edf1f3;color:#64717a;font-size:.85rem}.wizardbar span.active{background:#176d59;color:white;font-weight:700}.agreement-preview{white-space:pre-wrap;max-height:260px;overflow:auto;background:#f7f9fa;border:1px solid #e2e7ea;border-radius:6px;padding:12px}

/* V0.2.3 demo-ready yard UI */
body{background:#f3f6f7;color:#17242a}main{max-width:1280px}header{position:sticky;top:0;z-index:20;box-shadow:0 2px 10px rgba(0,0,0,.08)}
h1{letter-spacing:-.02em;margin-bottom:8px}h2{letter-spacing:-.01em}.card{box-shadow:0 2px 10px rgba(25,45,55,.045)}
.hero-search{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(320px,1.3fr);align-items:center;gap:20px;border-top:4px solid #176d59}
.universal-search{display:flex;gap:10px}.universal-search input{font-size:1rem;padding:13px}.universal-search button{padding:12px 18px;white-space:nowrap}
.KPIrow{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}.KPI{margin-bottom:0}.KPI .metric{font-size:1.65rem}.textmetric{font-size:1.25rem;word-break:break-word}
.quickzones{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:8px;margin:14px 0 4px}.quickzone{display:flex;gap:5px;background:#fff;border:1px solid #dfe5e8;border-radius:8px;padding:7px}.quickzone input{border:0;min-width:0;padding:7px}.quickzone button{padding:7px 10px}
.twocol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.rowlink{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 3px;border-bottom:1px solid #edf0f2}.rowlink:last-child{border-bottom:0}.rowlink small{color:#68757d}.search-summary{background:#e9f4f0;border:1px solid #bddfd3;padding:10px 14px;border-radius:8px}.customer-KPIs{grid-template-columns:repeat(4,minmax(150px,1fr))}
@media(max-width:900px){.hero-search,.twocol{grid-template-columns:1fr}.quickzones{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-KPIs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){main{padding:0 10px;margin-top:14px}.quickzones,.customer-KPIs{grid-template-columns:1fr}.universal-search{flex-direction:column}table{font-size:.9rem}.card{padding:14px}}

/* CompoundSuite v0.4.0 Mapping */
.map-titlebar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.map-titlebar h1{margin-top:0}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.map-workarea{min-width:0}.map-sidebar{position:sticky;top:86px;max-height:calc(100vh - 110px);overflow:auto}.map-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.map-toolbar .tool{background:#66747c}.map-toolbar .tool.active{background:#176d59}.map-scroll{width:100%;overflow:auto;background:#dce2e4;border:1px solid #c8d1d5;border-radius:8px;padding:10px}.map-stage{position:relative;width:100%;min-width:680px;background:white;box-shadow:0 2px 10px rgba(0,0,0,.12)}#mapCanvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.map-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:.85rem}.map-legend span{display:flex;align-items:center;gap:6px}.legend-swatch{display:inline-block;width:16px;height:16px;border:1px solid #76838a;border-radius:3px}.legend-swatch.vacant{background:#dff4e8}.legend-swatch.occupied{background:#f7c66d}.legend-swatch.reserved{background:#8ec5ff}.legend-swatch.out_of_service{background:#c9cdd2}.legend-swatch.attention{background:#ff8c80}.map-status-line{text-transform:capitalize;margin:10px 0;font-weight:700}.danger-btn{background:#9a312b}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.map-sidebar hr{border:0;border-top:1px solid #e0e5e8;margin:20px 0}
@media(max-width:980px){.map-layout{grid-template-columns:1fr}.map-sidebar{position:static;max-height:none}.map-stage{min-width:620px}}
@media print{header,.map-sidebar,.map-toolbar,.map-titlebar .actions,.map-legend{display:none!important}main{max-width:none;margin:0;padding:0}.card{border:0;box-shadow:none;padding:0}.map-layout{display:block}.map-scroll{border:0;padding:0;overflow:visible;background:white}.map-stage{min-width:0;width:100%;box-shadow:none}}

/* CompoundSuite v0.4.5 shared site status system */
.site-status{display:inline-block;padding:4px 9px;border-radius:999px;border:1px solid rgba(0,0,0,.16);font-size:.8rem;font-weight:750;white-space:nowrap}.status-available{background:#dff4e8;color:#155f41}.status-occupied{background:#b9d9f5;color:#174f78}.status-coming_vacant{background:#ffe9a8;color:#755400}.status-reserved{background:#d9c7f4;color:#54347b}.status-out_of_service{background:#d7dce0;color:#4d5960}.status-attention{background:#ffcbc5;color:#842b21}.financial-attention{display:inline-block;padding:3px 7px;border:2px solid #c43b2e;border-radius:999px;color:#9b271e;background:#fff;font-size:.76rem;font-weight:800;white-space:nowrap}.financial-attention-row td:first-child{border-left:4px solid #c43b2e}.status-legend{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0}.status-legend span{display:flex;gap:6px;align-items:center}.status-dot{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid rgba(0,0,0,.18)}
.legend-swatch.available{background:#dff4e8}.legend-swatch.occupied{background:#b9d9f5}.legend-swatch.coming_vacant{background:#ffe9a8}.legend-swatch.reserved{background:#d9c7f4}.legend-swatch.out_of_service{background:#d7dce0}.legend-border.attention{display:inline-block;width:16px;height:16px;background:#fff;border:3px solid #c43b2e;border-radius:3px}
