:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#172426;background:#f3f6f6;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}.app{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr)}aside{background:#003d5c;color:#fff;padding:28px 18px;position:sticky;top:0;height:100vh;z-index:30}.brand{display:flex;align-items:center;gap:12px;padding:0 10px;margin-bottom:30px}.brand img{width:48px;height:48px}.brand div{display:flex;flex-direction:column}.brand span:first-of-type{font-size:25px;font-weight:850;letter-spacing:.055em;color:#fff}.brand span:last-of-type{display:block;font-size:13px;font-weight:500;letter-spacing:0;color:#8ac4db;margin-top:2px}nav{display:grid;gap:7px}nav button{border:0;background:transparent;color:#c5e3f5;padding:13px 14px;border-radius:10px;display:flex;align-items:center;gap:11px;font-weight:650;text-align:left}nav button:hover,nav button.active{background:#0052a3;color:#fff}main{min-width:0}main>header{height:80px;background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #d8e1e2;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20}header h1{font-size:22px;color:#123b3f}header p{font-size:13px;color:#68787a;margin-top:3px}.mobile-menu{display:none;background:none;border:0}.sync,.secondary,.primary,.ghost,.link{border-radius:10px;padding:10px 14px;display:inline-flex;align-items:center;gap:8px;font-weight:750}.sync{border:1px solid #d8e1e2;background:#fff;color:#425456}.sync.online{color:#06c}.sync.offline{color:#a33b2f}.sync.loading svg{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}section{padding:27px;max-width:1460px;margin:0 auto}.cards{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:16px;margin-bottom:18px}.metric,.panel,.form-panel{background:#fff;border:1px solid #d8e1e2;border-radius:14px;box-shadow:0 2px 8px #14323409}.metric{padding:18px;display:grid;gap:7px}.metric>span,.metric small{color:#68787a;font-size:13px}.metric strong{font-size:31px}.metric-alert{border-color:#edc5c0}.panel{padding:18px}.panel-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);gap:18px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-title h2,.panel h2{font-size:18px}.panel-title>span{font-size:12px;color:#68787a}.area-row{width:100%;border:0;border-bottom:1px solid #edf1f2;background:#fff;display:grid;grid-template-columns:150px 1fr 50px 90px;align-items:center;gap:13px;padding:11px 2px;text-align:left}.area-row:hover{background:#f8fbfa}.area-row small{color:#a33b2f}.bar{height:8px;background:#edf1f2;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:#06c;border-radius:inherit}.recent{width:100%;border:0;border-bottom:1px solid #edf1f2;background:#fff;display:grid;grid-template-columns:10px 1fr auto auto;gap:10px;align-items:center;padding:12px 2px;text-align:left}.recent div{display:grid}.recent small,.recent time{color:#68787a;font-size:12px}.dot{width:8px;height:8px;border-radius:50%}.toolbar{background:#fff;border:1px solid #d8e1e2;border-radius:14px;padding:15px 17px;display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.field{display:grid;gap:6px;margin-bottom:14px}.field.compact{margin:0}.field>span{font-size:12px;color:#5e6f71;font-weight:700}.field input,.field select,.field textarea,.search-wrap{width:100%;border:1px solid #ccd7d8;border-radius:9px;padding:11px 12px;background:#fff;color:#172426}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.search-wrap:focus-within{outline:3px solid rgba(0,102,204,.12);border-color:#06c}.legend{display:flex;gap:8px;flex-wrap:wrap}.status{display:inline-flex;align-items:center;width:max-content;border:1px solid;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.complete{background:#e7f5ec!important;border-color:#2c7a4b!important;color:#24623e!important}.progress{background:#fff3d9!important;border-color:#ba7417!important;color:#845312!important}.maintenance{background:#fbe9e7!important;border-color:#b94337!important;color:#9d342a!important}.pending{background:#edf1f2!important;border-color:#9eabad!important;color:#657577!important}.areas-section{padding:0!important;height:calc(100vh - 80px)}.areas-container{display:grid;grid-template-columns:1fr 380px;gap:0;height:100%}.floorplan-container{display:flex;flex-direction:column;background:#fff;border-right:1px solid #d8e1e2;overflow:hidden}.toolbar-inline{padding:16px;border-bottom:1px solid #d8e1e2;background:linear-gradient(135deg,#003d5c,#002438);color:#fff}.toolbar-inline .field{margin:0}.toolbar-inline .field span{color:#8ac4db}.toolbar-inline select{background:#0052a3;color:#fff;border:1px solid #0066cc}.floorplan{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;padding:16px;background:linear-gradient(135deg,#f0f4f8,#e8ecf1)}.floorplan img{max-width:100%;max-height:100%;cursor:pointer;box-shadow:0 4px 12px #003d5c1a;border-radius:8px}.room-inspector-panel{display:flex;flex-direction:column;background:#fff;border-left:1px solid #d8e1e2;overflow:hidden;position:relative}.room-inspector-panel.active{border-left:1px solid #0066cc}.empty-state{display:flex;align-items:center;justify-content:center;flex:1;color:#68787a;text-align:center;padding:40px 20px;font-size:14px}.inspector-content{display:flex;flex-direction:column;height:100%;overflow:hidden}.inspector-header{padding:16px;border-bottom:1px solid #d8e1e2;background:linear-gradient(135deg,#003d5c0d,#0066cc0d)}.inspector-header h3{font-size:16px;font-weight:700;color:#003d5c;margin-bottom:4px}.inspector-header p{font-size:12px;color:#68787a}.link-back{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:#06c;font-weight:600;font-size:13px;padding:0;margin-bottom:8px;cursor:pointer}.link-back:hover{text-decoration:underline}.status-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;margin-top:8px}.status-badge.complete{background:#0f79381a;color:#0f7938}.status-badge.progress{background:#ba74171a;color:#ba7417}.status-badge.maintenance{background:#c41e3a1a;color:#c41e3a}.status-badge.pending{background:#0066cc1a;color:#06c}.inspector-form{flex:1;overflow-y:auto;padding:16px}.inspector-actions{display:flex;gap:10px;padding:16px;border-top:1px solid #d8e1e2}.inspector-actions button{flex:1;padding:11px 14px;font-weight:600;border-radius:8px}.room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:11px}.rooms-selector{padding:12px 16px;border-top:1px solid #d8e1e2;background:#f5f7fa}.rooms-selector-title{font-size:12px;font-weight:700;color:#003d5c;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.rooms-buttons{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px;max-height:120px;overflow-y:auto}.room-selector-btn{border:1px solid #d8e1e2;background:#fff;border-radius:8px;padding:8px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:3px;font-weight:600;font-size:12px;text-align:center}.room-selector-btn:hover{border-color:#06c;background:#f0f7ff}.room-selector-btn.complete{background:#e7f5ec;border-color:#0f7938;color:#0f7938}.room-selector-btn.maintenance{background:#fbe9e7;border-color:#c41e3a;color:#c41e3a}.room-selector-btn.pending{background:#f5f7fa;border-color:#06c;color:#06c}.room-selector-btn.selected{background:#06c;color:#fff;border-color:#06c;box-shadow:0 4px 12px #0066cc4d}.room-selector-btn strong{font-size:13px}.room-selector-btn span{font-size:9px;opacity:.8}.room{min-height:96px;border:2px solid;border-radius:12px;display:grid;place-content:center;text-align:center;gap:5px;padding:9px}.room strong{font-size:18px}.room span,.room small{font-size:11px;font-weight:750}.link{border:0;background:transparent;color:#06c;padding-left:0;margin-bottom:12px}.form-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.form-head p{color:#68787a;margin-top:3px}.form-panel{padding:19px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.actions.left{justify-content:flex-start}.secondary{background:#fff;border:1px solid #ccd7d8;color:#172426}.primary{background:#06c;border:1px solid #0066cc;color:#fff}.ghost{background:transparent;border:0;color:#425456}.danger{color:#a33b2f}.photo-box{border:1px dashed #b9c7c8;background:#f8fbfb;border-radius:12px;padding:13px;display:flex;gap:14px;align-items:center;margin:3px 0 14px}.photo-box>div{width:100px;height:78px;background:#e9eeee;border-radius:9px;display:grid;place-items:center;overflow:hidden}.photo-box img{width:100%;height:100%;object-fit:cover}.photo-box section{padding:0;margin:0;display:flex;align-items:center;gap:10px;max-width:none;flex-wrap:wrap}.photo-box section b,.photo-box section small{width:100%}.photo-box small{color:#68787a}.search-wrap{display:flex;align-items:center;gap:8px;padding:0 12px;margin-bottom:10px}.search-wrap input{border:0;outline:0;width:100%;padding:12px 2px}.table{display:grid}.table-row{border:0;border-bottom:1px solid #edf1f2;background:#fff;padding:13px 8px;display:grid;grid-template-columns:90px 1fr 145px 1fr auto;align-items:center;text-align:left;gap:14px}.table-row:hover{background:#f8fbfa}.table-row small{color:#68787a}.maintenance-row{grid-template-columns:80px 130px 110px 1fr auto}.priority{font-size:12px}.priority.urgent,.priority.high{color:#a33b2f}.priority.medium{color:#8a5a12}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-cards{grid-template-columns:repeat(3,1fr)}.report h2{font-size:18px}.report p{color:#68787a;min-height:42px}.summary-table{display:grid;gap:0}.summary-table>div{display:grid;grid-template-columns:1fr 80px 150px 160px;border-bottom:1px solid #edf1f2;padding:12px 4px}.settings{max-width:800px}.settings p{color:#68787a;margin:8px 0 15px}.settings hr{border:0;border-top:1px solid #e3e9ea;margin:23px 0}.connection-card{display:flex;gap:9px;align-items:center;padding:13px;border-radius:10px;margin-bottom:12px}.connection-card.ok{background:#e7f5ec;color:#24623e}.connection-card.warn{background:#fff3d9;color:#845312}.empty{padding:30px;text-align:center;color:#68787a}.toast{position:fixed;right:22px;bottom:22px;background:#172426;color:#fff;padding:13px 17px;border-radius:10px;box-shadow:0 10px 25px #0000002e;z-index:100}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0d1c1e8c;display:grid;place-items:center;padding:20px;z-index:200}.modal{background:#fff;border-radius:14px;width:min(680px,100%);max-height:80vh;overflow:auto}.modal>header{display:flex;justify-content:space-between;align-items:center;padding:17px 19px;border-bottom:1px solid #e3e9ea}.modal>header button{border:0;background:none}.modal>div{padding:18px}.history-item{border-left:3px solid #0066cc;padding:3px 0 13px 14px;margin-bottom:13px}.history-item span{display:block;font-size:12px;color:#68787a;margin:3px 0 7px}@media(max-width:1050px){.map-layout{grid-template-columns:1fr}.floorplan{position:static}.floorplan img{max-height:520px}.cards,.form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.app{display:block}.mobile-menu{display:block;padding:0;margin-right:10px}aside{position:fixed;left:0;top:0;transform:translate(-105%);transition:.2s;width:238px}aside.open{transform:none}main>header{padding:0 17px;height:72px;justify-content:flex-start}main>header>div{flex:1}main>header p{display:none}.sync span{display:none}section{padding:18px}.panel-grid{grid-template-columns:1fr}.area-row{grid-template-columns:110px 1fr 45px}.area-row small{display:none}.form-grid,.report-cards{grid-template-columns:1fr}.table-row,.maintenance-row{grid-template-columns:1fr auto}.table-row>*:not(:first-child):not(:last-child){display:none}.summary-table>div{grid-template-columns:1fr auto}.summary-table>div span:nth-of-type(n+2){display:none}.toolbar{align-items:start;gap:12px;flex-direction:column}.photo-box{align-items:flex-start}.photo-box section{display:grid}.cards{grid-template-columns:1fr 1fr}}@media(max-width:460px){.cards{grid-template-columns:1fr}.room-grid{grid-template-columns:repeat(2,1fr)}}
