:root{font-family:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",sans-serif;color:#132b25;background:#fafaf7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{min-height:100vh;position:relative}.topbar{height:71px;border-bottom:1px solid #deded7;background:#fffefa;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 2.6%;gap:22px}.identity{display:flex;align-items:center;white-space:nowrap;gap:14px;font-size:20px}.identity strong{font-size:25px;color:#003c2c;letter-spacing:.02em}.identity i,.account i{width:1px;height:29px;background:#b5c0b8;display:inline-block;margin:0 4px}.logo{width:46px;height:46px;display:block}.logo svg{width:100%;height:100%}.topnav{display:flex;gap:22px;align-items:center;height:100%}.topnav button{border:0;background:none;border-radius:7px;padding:11px 28px;color:#171d1b;font-weight:700;font-size:18px;white-space:nowrap}.topnav button.active{background:#003f32;color:white}.topnav button:hover:not(.active){background:#edf4ed}.account{display:flex;justify-content:flex-end;align-items:center;gap:16px;white-space:nowrap}.account button{border:0;background:none;color:#142d24;font-size:15px;font-weight:700}.account .location{border:1px solid #cfd6ce;border-radius:25px;padding:8px 15px;color:#1d583e}.location span,.user span:last-child{padding-left:6px}.user{display:flex;gap:8px;align-items:center}.avatar{width:35px;height:35px;display:grid;place-items:center;background:#e2ede2;border-radius:50%;color:#3d7757;font-size:13px}.subbar{height:83px;display:flex;align-items:center;justify-content:space-between;padding:0 1.7%;gap:18px;background:#fffefb;border-bottom:1px solid #ecece7}.subleft,.subright{display:flex;align-items:center;gap:23px;min-width:0}.subleft h1{font-size:31px;color:#003c2d;white-space:nowrap;margin:0}.divider{width:1px;height:27px;background:#bdc4bd}.crumb{color:#5e6661;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search{position:relative;width:320px;height:45px;border:1px solid #c5ccc7;border-radius:9px;display:flex;align-items:center;background:#fff;color:#668575}.search>span{font-size:27px;padding:0 10px}.search input{border:0;outline:0;background:transparent;flex:1;min-width:0;font-size:15px}.search-results{position:absolute;right:0;top:49px;z-index:20;min-width:100%;max-height:300px;overflow:auto;background:#fff;border:1px solid #d5ded7;border-radius:9px;box-shadow:0 10px 25px #213e2b30;padding:5px}.search-results button{display:block;width:100%;border:0;background:none;padding:10px 12px;text-align:left;border-radius:6px;color:#193d30}.search-results button:hover{background:#edf6ed}.search-results small{display:block;color:#8c9b91;font-size:12px}.back{height:43px;border:1px solid #b9c8be;border-radius:9px;background:white;color:#123d2d;padding:0 18px;font-weight:700;white-space:nowrap}.back:hover{background:#eff6ef}.workspace{height:calc(100vh - 154px);min-height:610px;display:grid;grid-template-columns:minmax(0,3fr) minmax(390px,1fr)}.workspace.building{grid-template-columns:minmax(0,2.33fr) minmax(390px,1fr)}.workspace.profile{grid-template-columns:minmax(0,2.05fr) minmax(430px,1fr)}.scene{position:relative;overflow:hidden;background:#a9c399}.scene-zoom{position:absolute;inset:0;transform:scale(var(--zoom,1));transform-origin:center center;transition:transform .25s ease}.scene-zoom img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.scene-zoom:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 30px #10230d16;pointer-events:none}.map-controls{position:absolute;z-index:8;right:15px;bottom:28px;display:grid;gap:5px}.map-controls button,.compass{width:46px;height:46px;background:#fffdf7;border:1px solid #8cae9e;border-radius:9px;color:#004b34;display:grid;place-items:center;font-size:30px;line-height:1;box-shadow:0 3px 8px #21452429}.map-controls button:hover{background:#eaf5e9}.map-controls .compass{height:55px;border-radius:50%;font-size:19px;display:flex;flex-direction:column;gap:0}.compass small{font-size:12px;margin-top:5px}.demo-mark{position:fixed;right:20px;bottom:17px;color:#8d908a;font-size:12px;z-index:9}.panel{background:#fff;overflow-y:auto;border-left:1px solid #e4e8e2;padding:27px 20px 45px}.section-title{display:flex;align-items:center;gap:11px;font-size:22px;line-height:1.2;color:#123c2d;margin:0 0 28px}.section-title:before{content:"";width:6px;height:26px;border-radius:5px;background:#004e39;flex:none}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.stat-card{min-height:110px;padding:19px 12px;display:flex;align-items:center;gap:12px;border:1px solid #d8e0d5;border-radius:11px;background:linear-gradient(135deg,#f8faf5,#edf4ea)}.stat-card.warm{border-color:#f5dec1;background:linear-gradient(135deg,#fffaf2,#fff2e0)}.stat-icon{width:48px;flex:none;text-align:center;color:#08713f;font-size:32px}.stat-card.warm .stat-icon,.stat-card.warm strong{color:#b47519}.stat-value strong{display:block;font-size:34px;line-height:1;color:#073e2d}.stat-value span{display:block;margin-top:5px;font-size:16px;color:#303a32;white-space:nowrap}.panel-group{margin-top:44px}.panel-group .section-title{margin-bottom:24px}.building-list{display:grid;gap:10px}.building-row,.room-row{border:1px solid #d1d7d1;border-radius:11px;background:#fff;min-height:66px;width:100%;display:flex;align-items:center;gap:17px;padding:0 19px;color:#172b23;text-align:left}.building-row:hover,.room-row:hover{border-color:#248353;background:#f3faf2}.building-row .glyph,.room-row .glyph{font-size:24px;color:#127145}.building-row strong{font-size:18px;flex:1}.arrow{margin-left:auto;font-size:24px;font-weight:300}.unit-switch{display:flex;gap:9px;margin:24px 0 30px}.unit-switch button{border:1px solid #ccd3cd;border-radius:10px;background:#fff;min-width:108px;padding:13px 20px;font-size:17px}.unit-switch button.active,.floor-switch button.active,.tabs button.active{background:#004c39;color:#fff;border-color:#004c39}.floor-switch{display:flex;gap:5px;flex-wrap:wrap;padding-bottom:26px;border-bottom:1px solid #d9ded7}.floor-switch button{border:1px solid #d0d8d1;border-radius:9px;background:#fff;min-width:47px;height:45px;font-size:16px}.room-list{display:grid;gap:9px}.room-row{min-height:72px}.room-row strong{font-size:21px;white-space:nowrap}.room-row .split{width:1px;height:24px;background:#b7bdb7;margin:0 8px}.room-row.attention{border-color:#f3a931;background:#fff8ec;color:#955a09}.room-row.attention .glyph{color:#ba710d}.room-row.selected{box-shadow:0 0 0 2px #f3b556 inset}.floor-band{position:absolute;z-index:3;left:22%;width:65%;height:7.5%;background:#ffad2166;border:2px solid #ffc356;box-shadow:0 0 18px #f3a72b9c,inset 0 0 12px #ffd47d9c;pointer-events:none}.floor-band span{position:absolute;left:46%;top:-13px;transform:translateY(-50%);background:#b96b0b;color:white;padding:5px 10px;border:2px solid white;border-radius:25px;font-size:18px;font-weight:800;white-space:nowrap}.room-pin{position:absolute;z-index:4;background:#00583e;color:white;border:2px solid white;padding:7px 10px;border-radius:9px;font-weight:800;box-shadow:0 4px 10px #173d1c40;pointer-events:none}.map-tag{position:absolute;z-index:4;transform:translate(-50%,-50%);padding:7px 11px;border:1.5px solid #0b4b31;border-radius:11px;background:#fffcf2f0;color:#113d2b;font-weight:800;font-size:18px;white-space:nowrap;box-shadow:0 3px 8px #23442225}.map-tag:after{content:"";position:absolute;left:50%;bottom:-8px;transform:translateX(-50%) rotate(45deg);width:12px;height:12px;background:#fffcf2;border-right:1.5px solid #0b4b31;border-bottom:1.5px solid #0b4b31}.map-tag:hover,.map-tag:focus-visible{background:#e7f5e7;outline:3px solid #ffffffaa}.map-tag.small{font-size:14px;padding:5px 8px}.hit-area{position:absolute;z-index:2;background:transparent;border:0;cursor:pointer}.hit-area:hover{outline:3px solid #fff7;outline-offset:-2px;border-radius:12px}.home-tag{left:50%;top:7%}.tabs{display:flex;margin:20px 0 24px;border:1px solid #cdd4cd;border-radius:10px;overflow:hidden}.tabs button{flex:1;border:0;background:#fff;padding:11px 8px;font-size:17px}.subheading{display:flex;align-items:center;gap:9px;color:#123c2d;font-size:19px;margin:26px 0 14px}.subheading:before{content:"";width:5px;height:23px;background:#006043;border-radius:4px}.resident-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.summary-card{border:1px solid #d6e1d5;border-radius:10px;background:#f2f7ee;display:flex;align-items:center;gap:12px;padding:14px}.summary-card.warm{background:#fff8ed;border-color:#f4deb9}.summary-card .glyph{font-size:28px;color:#087343}.summary-card strong{display:block;font-size:24px;color:#0b4733}.summary-card small{font-size:14px}.care-card{border:1px solid #d7ddd6;border-radius:11px;padding:16px 18px}.care-person{display:flex;align-items:center;gap:15px;padding-bottom:16px;border-bottom:1px solid #e2e7e1}.portrait{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:#f0e9de;font-size:39px;flex:none}.care-name{font-size:22px;font-weight:800}.badges{display:flex;gap:8px;margin-top:7px}.badge{padding:4px 8px;border-radius:6px;background:#eef9e7;border:1px solid #89c580;color:#236b38;font-size:12px}.badge.orange{background:#fff2df;color:#a3650d;border-color:#f2b65b}.info-row{display:grid;grid-template-columns:35% 65%;padding:9px 2px;border-bottom:1px solid #e7ebe5;font-size:15px}.info-row:last-child{border-bottom:0}.info-row span{color:#555f56}.info-row strong{font-weight:500}.profile-actions{display:flex;gap:12px;margin-top:32px}.outline-btn,.primary{min-height:48px;border-radius:9px;padding:0 14px;font-size:16px;font-weight:800}.outline-btn{background:white;border:1px solid #789d88;color:#174d35}.primary{background:#004b38;border:1px solid #004b38;color:white}.profile-actions button{flex:1}.primary:hover{background:#086746}.outline-btn:hover{background:#f0f8ef}.record{border-left:3px solid #4b9d67;padding:0 0 16px 15px;margin-left:7px}.record time{font-size:12px;color:#819286}.record strong{display:block;margin-top:3px;color:#214d35}.record p{font-size:13px;color:#68786d;margin:4px 0}.record:last-child{padding-bottom:0}.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%) translateY(15px);background:#163d2e;color:white;padding:10px 17px;border-radius:9px;opacity:0;pointer-events:none;transition:.2s;z-index:20}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.modal-backdrop{position:fixed;inset:0;background:#10251db3;z-index:30;display:grid;place-items:center;padding:20px}.modal-backdrop[hidden]{display:none}.modal{width:min(460px,100%);background:white;border-radius:15px;padding:24px;position:relative;box-shadow:0 18px 55px #102b1d44}.modal h2{margin:0 0 8px;color:#103e2c}.modal p{color:#65766a;font-size:14px}.modal label{display:block;font-size:14px;color:#2c5139;margin-top:13px;font-weight:700}.modal select,.modal input,.modal textarea{display:block;width:100%;border:1px solid #cfdcd0;border-radius:8px;margin-top:6px;padding:10px;font-weight:400}.modal-close{position:absolute;right:18px;top:15px;border:0;background:none;font-size:26px;color:#75867a}.wide{width:100%;margin-top:20px}.empty{text-align:center;color:#87978a;padding:25px 0}.panel-crumb{color:#57665d;font-size:13px;margin-top:-14px}.panel-title-row{display:flex;justify-content:space-between;align-items:center}.panel-close{font-size:28px;background:none;border:0;color:#263e30}.building-note{font-size:13px;color:#7b8f80;margin:-12px 0 10px}@media(max-width:1300px){.identity strong{font-size:21px}.identity{font-size:16px}.topnav{gap:3px}.topnav button{padding:10px 13px;font-size:15px}.workspace,.workspace.building,.workspace.profile{grid-template-columns:minmax(0,1fr) 370px}.subleft h1{font-size:25px}.search{width:240px}.panel{padding:22px 17px}.stat-card{min-height:92px}.stat-value strong{font-size:28px}.stat-value span{font-size:13px}}@media(max-width:950px){.topbar{grid-template-columns:1fr auto}.topnav{grid-column:1/-1;grid-row:2;height:42px;justify-content:center}.topbar{height:110px}.account{grid-column:2;grid-row:1}.subbar{height:70px}.workspace,.workspace.building,.workspace.profile{height:auto;min-height:0;grid-template-columns:1fr}.scene{height:60vw;min-height:480px}.panel{min-height:500px}.demo-mark{background:#fff9;padding:4px}.account .location{display:none}}@media(max-width:650px){.identity strong{font-size:18px}.identity>span:last-child,.identity i{display:none}.topbar{padding:0 12px}.account{gap:0}.user{font-size:0!important}.subbar{padding:8px 12px;height:auto;min-height:85px;align-items:flex-start;flex-wrap:wrap}.subleft{gap:10px}.subleft h1{font-size:21px}.crumb{font-size:12px}.search{width:min(280px,60vw)}.scene{min-height:360px;height:72vw}.map-tag{font-size:11px;padding:3px 5px}.map-tag.small{font-size:9px}.map-controls{bottom:10px;right:8px}.map-controls button,.compass{width:36px;height:36px;font-size:20px}.panel{padding:20px 15px}.stats-grid{gap:8px}.stat-icon{width:25px;font-size:24px}.stat-value strong{font-size:24px}.stat-value span{font-size:12px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
