
/* AZURE GROVE — EDITION 03 · NATURAL MINIMALISM */
:root{--navy:#245B49;--navy2:#184637;--blue:#29654F;--accent:#408464;--sky:#ECF3ED;--bg:#F7F9F6;--white:#fff;--ink:#21362B;--muted:#5C6E62;--border:#E0E8DF;--good:#216649;--goodbg:#E2F2E7;--warn:#855D28;--warnbg:#FAF2E3;--danger:#A04747;--dangerbg:#F9EEEE;--shadow:0 9px 32px rgba(35,60,39,.045)}
body{background:#F8FAF7;color:var(--ink);font-family:Inter,"Avenir Next",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5;font-size:14px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #4E9C75;outline-offset:3px}
.sidebar {background:#FCFDFB;color:var(--ink);border-right:1px solid #DFE7DE;width:256px;flex-basis:256px;padding:26px 16px}
.brand {display:flex;align-items:center;gap:10px;margin:0 3px 15px;padding:10px 4px;text-decoration:none;color:var(--ink)}
.brand-symbol {width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:#275B46;display:grid;place-items:center;color:#fff;font-size:21px}
.brand-copy{display:flex;flex-direction:column;gap:3px}.brand-copy strong{font-size:17px;letter-spacing:-.06em;font-weight:860;line-height:1.1;white-space:nowrap}.brand-copy small{font-size:9px;letter-spacing:.1em;font-weight:800;color:#778979;white-space:nowrap}
.side-project{border:1px solid #DEE9DF;background:#EFF4EE;padding:20px 16px;border-radius:12px;margin:0 0 22px;gap:6px}
.side-project strong {font-size:20px;letter-spacing:-.04em;color:#224A37}
.side-project span:last-child {color:#5A7060;font-size:12px}
.eyebrow {color:#47765D;letter-spacing:.12em}
.nav-label {color:#7A887F;margin:0 12px 12px;font-size:10px}
.side-nav {gap:6px}
.nav-item{color:#485F51;border-radius:10px;padding:14px 12px;font-weight:680;font-size:13px;min-height:46px}
.nav-item:hover{background:#F0F5EE;color:#255B46}.nav-item.active{background:#E7F0E7;color:#215D45;font-weight:820;box-shadow:inset 3px 0 #3D7E5C}
.nav-icon{color:#53836B}
.side-footer{color:#64766B;border-top:1px solid #E0E8DF;margin-top:auto;padding:20px 7px 3px;font-size:11px}
.side-footer small{color:#718275;opacity:1;font-size:10px}
.sidebar-managed{display:flex;align-items:flex-start;flex-direction:column;gap:4px;width:100%;margin-bottom:12px}
.sidebar-managed small{font-size:9px;font-weight:800;letter-spacing:.13em;margin:0;color:#849187}
.sidebar-managed img{width:130px;height:auto;max-height:50px;object-fit:contain}
.pulse-dot{background:#4BA476}
.topbar{background:#FDFEFC;border-color:var(--border);height:86px}
.crumb{color:#5C7463;font-size:12px}.crumb span{color:#A0B4A5}
.topbar strong{color:#213D2D;font-size:18px}
.demo-label{background:#F8F2E7;border-color:#E5D7BA;color:#725D35;font-size:10px}
.avatar{background:#E4EFE5;color:#276347;border:1px solid #D5E3D5}
.header-resident-link{background:#E6F1E8;border:1px solid #D5E5D9;color:#235A43;font-size:12px;font-weight:760}
.header-resident-link:hover{background:#DDEADD}
.notice{background:#FBF6EB;color:#705F3F;border:1px solid #ECDFC7;border-left:4px solid #AF8A57;border-radius:9px;font-size:12px}
.content{max-width:1640px}
.app-footer{color:#728676}
.kicker{color:#3D7957;letter-spacing:.15em;font-size:11px}
.page-heading h1{color:#213B2D;font-size:clamp(26px,2.6vw,35px);font-weight:830}
.subtext{color:#5C6F60;font-size:13px}
.button{border-color:#D5E2D6;border-radius:10px;font-size:13px;min-height:43px;color:#2D4A37}
.button:hover{border-color:#A4C4A9;background:#F8FAF7}
.button.primary{background:#255A45;color:white;border-color:#255A45}
.button.primary:hover{background:#16442F;border-color:#16442F}
.button.blue{background:#E6F0E7;color:#275B43;border-color:#D5E6D6}
.kpi,.panel,.building-card{background:#fff;border:1px solid #DFE7DD;border-radius:15px;box-shadow:var(--shadow)}
.kpi{padding:22px}.kpi-label{font-size:12px;color:#5D7464}.kpi-label span{color:#659578}
.kpi-number{color:#243C2D;font-size:36px;font-weight:840}
.kpi-foot{color:#667A6B;font-size:11px}
.panel-head h2{color:#253D2F;font-size:17px}.panel-head p{color:#5A6F61;font-size:12px}
.building-card:before{background:#EBF3EA}
.building-card .value{color:#245B44}
.pill{border-radius:40px}
.floor-button {border-color:#DDE9DE;color:#456553;background:#FCFDFB}
.floor-button:hover{border-color:#79A58A;background:#F2F8F1}
.floor-button.active {background:#E9F3E9;border-color:#438261;color:#23553E}
.unit-tile{background:#FAFCF9;color:#506857;border-color:#DDE6DB;border-radius:9px;min-height:60px}
.unit-tile:hover,.unit-tile.active{outline:2px solid #3F8060}
.unit-tile.invited{background:#ECF2EF;border-color:#B9D1C5;color:#396858}
.unit-tile.registered{background:#F7F0E4;border-color:#E2CAAA;color:#805926}
.unit-tile.booked{background:#E3F1E8;border-color:#A7D1BA;color:#21664B}
.unit-tile.completed{background:#D3EADD;border-color:#83BDA0;color:#1B593E}
.unit-detail {background:#F6F9F5;border-color:#DDE7DC}
.management-map-scroll{background:#F7F9F6;border-color:#DDE7DD;border-radius:12px}
.management-map-pin{background:#265B48;border-color:#fff;color:white;min-width:28px;height:28px;box-shadow:0 2px 8px rgba(25,52,37,.25);font-size:9px}
.management-map-pin:hover,.management-map-pin.selected{background:#916037;color:#fff}
.management-map-pin.invited{background:#507D76}
.management-map-pin.registered{background:#916836}
.management-map-pin.booked{background:#287350}
.management-map-pin.completed{background:#1A5E3C}
.map-legend,.small-note,.muted-sm{color:#5D7463}
.calendar-grid,.weekday{color:#294B34}
.day {border-color:#DDE8DF;background:#fff;color:#2D4936}
.day:hover{border-color:#93B39B}
.day.selected{background:#EAF3E9;border-color:#478966;box-shadow:0 0 0 1px #478966}
.day .daycount{color:#536959}
.day .daycount.has{color:#206D4A}
.slots .slot,.slot{border-color:#DDE7DB;color:#294738}
.slot.selected{background:#E9F4E9;border-color:#43805C}
.slot.unavailable{background:#F7F8F6;color:#69776A}.slot.unavailable span{color:#934B45}
.upload-zone{border-color:#A9C7B1;background:#F8FBF8}.upload-symbol{color:#397458}
.validation{background:#F4F9F2;border-color:#D3E4D5}
.tabs .tab,.tab{border-color:#DDE7DC;color:#3C6149}
.tab.active{background:#255B45;border-color:#255B45;color:#fff}
.summary-card{background:#F5F9F4;border-color:#DCE8DB}
.info-table th,.table th{color:#536A59}
.form-item label{color:#385541;font-size:12px}
.form-item input,.form-item select,.form-item textarea,.input,.select{border-color:#CFDDD0;color:#243D2C;background:#FEFFFD;border-radius:10px;font-size:15px;min-height:43px}
.form-item input:focus,.form-item select:focus,.form-item textarea:focus,.input:focus,.select:focus{outline:2px solid #5A9B73;outline-offset:1px}
.toast{background:#224936;color:#fff}
.code-list{background:#213A2E;color:#D8EBDD}
@media(max-width:1180px){.sidebar{width:215px;flex-basis:215px}.brand-copy strong{font-size:14px}.brand-symbol{width:36px;height:36px;flex-basis:36px}}
@media(max-width:730px){
 .sidebar{background:#FDFEFC;border-right:0;border-bottom:1px solid #DEE8DD;padding:10px 13px}
 .brand{display:flex;padding:0;margin:0 0 9px}.brand-symbol{height:31px;width:31px;flex-basis:31px;font-size:17px;border-radius:9px}.brand-copy strong{font-size:16px}.brand-copy small{font-size:8px}
 .side-nav{padding-bottom:6px}.nav-item{font-size:11px;min-height:39px;padding:10px;border:1px solid #E6EBE4}.nav-item.active{box-shadow:inset 0 -3px #3D7E5C}
 .topbar{height:auto;padding:17px}.right-tools{gap:8px}.header-resident-link{font-size:11px}.content{padding:20px 15px 30px}
 .page-heading h1{font-size:27px}.kpi{padding:15px}.kpi-number{font-size:29px}
 .management-map-pin{width:28px;height:28px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

.pill.neutral{background:#F0F4EE;color:#526857}.pill.blue{background:#E7F0E6;color:#225941}
.list-row{border-color:#E9EEE8}.bullet-icon{background:#E8F0E8;color:#2D6C4C}
.progress-track{background:#E7EFE6}.progress-bar{background:#2A6B4D}
.floor-map .note{background:#F7FAF6;border-color:#DFE8DF;color:#526D5A;font-size:12px}
.legend .key{color:#5A7060;font-size:12px}.table th{background:#F6F9F5;color:#4A6551}
.table td{border-color:#E6EDE5}.table tbody tr:hover{background:#FAFCF8}
