:root{--purple:#6b5ce7;--purple-dark:#5546cd;--ink:#24283d;--muted:#9195a8;--line:#eef0f5;--bg:#f7f8fc;--green:#2d9c83;--orange:#df9850;--shadow:0 3px 16px #25243f03;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-size:14px;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #afa4ff;outline-offset:3px}input,select,textarea{color:var(--ink)}input::placeholder,textarea::placeholder{color:#a0a4b4}button{transition:background .16s,box-shadow .16s,transform .16s}button:disabled:hover{transform:none}.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}button .icon{pointer-events:none}.sidebar{width:238px;background:white;border-right:1px solid #ebedf4;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;z-index:30;padding:32px 19px 18px}.brand{display:flex;gap:12px;align-items:center;padding:0 10px}.brand-symbol{width:43px;height:43px;border-radius:14px;background:var(--purple);color:white;display:grid;place-items:center;box-shadow:0 6px 14px #6b5ce722}.brand-symbol svg{width:27px;height:27px}.brand strong{font-size:25px;letter-spacing:2px;line-height:1.15}.brand strong span{font-size:11px;letter-spacing:2px;margin-left:9px;color:var(--purple);font-weight:650}.brand small{font-size:10px;display:block;color:#9699a8;margin-top:6px;letter-spacing:1px}.campus{border:1px solid #edf0f5;background:#fcfcfe;padding:14px 11px;border-radius:9px;margin-top:32px;display:flex;gap:10px;align-items:center}.campus-icon{color:#8a82b2}.campus b{font-size:12px;font-weight:550}.campus small{display:block;font-size:10px;margin-top:5px;color:#9599a9}.nav-label{color:#a6a9b6;font-size:10px;letter-spacing:2px;margin:29px 15px 15px}.nav-item{border:0;background:transparent;width:100%;border-radius:8px;display:flex;align-items:center;gap:13px;padding:14px 17px;margin:5px 0;color:#7b7f94;text-align:left;font-size:13px}.nav-item.active{color:var(--purple);background:#f0edff;font-weight:600}.nav-item:hover{background:#f4f2fc}.nav-item .icon{width:19px;height:19px}.nav-item em{font-style:normal;font-size:10px;display:grid;place-items:center;color:#8d80db;background:#f1edff;border-radius:6px;width:23px;height:21px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:30px}.sidebar-note{border:1px solid #eeebff;background:linear-gradient(125deg,#f8f6ff,#fff);border-radius:11px;padding:18px 14px;margin:0 4px 22px;overflow:hidden;position:relative}.sidebar-note:after{content:'';position:absolute;border-radius:50%;border:20px solid #f1edff;width:80px;height:80px;top:-35px;right:-53px}.note-orbit{color:#8c7de1;display:block;margin-bottom:12px}.sidebar-note b{font-size:11px;font-weight:600}.sidebar-note p{font-size:10px;color:#9691ae;line-height:1.9;margin:8px 0 0}.sidebar-foot{display:flex;align-items:center;font-size:9px;color:#a3a7b6;border-top:1px solid var(--line);padding:20px 8px 0;margin-top:10px;gap:6px}.sidebar-foot i,.demo-label i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#6ab697}.sidebar-foot span{margin-left:auto}.workspace{margin-left:238px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:82px;background:#ffffffdd;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid #eceef4;gap:20px}.breadcrumbs{display:flex;align-items:center;gap:16px;font-size:11px;color:#9b9fb0}.breadcrumbs b{font-weight:500;color:#656b80}.crumb-divider{color:#ccd0db}.topbar-right{display:flex;align-items:center;gap:20px}.demo-label{font-size:10px;display:flex;align-items:center;gap:6px;background:#f3f8f5;border:1px solid #e8f0ec;border-radius:5px;padding:6px 9px;color:#769484}.icon-button{display:grid;place-items:center;border:0;background:transparent;color:#9a9dae;width:32px;height:32px;border-radius:7px}.icon-button:hover{background:#f1effb}.notification{position:relative}.notification span{position:absolute;top:4px;right:7px;background:#efb16b;border:2px solid white;width:8px;height:8px;border-radius:50%}.topbar-divider{height:25px;width:1px;background:var(--line)}.avatar{width:36px;height:36px;border-radius:12px;background:#eeeafd;color:#8b7ccc;font-size:11px;display:grid;place-items:center;flex-shrink:0;font-weight:500}.avatar.admin{border-radius:50%;background:#efedfc;color:#8778cf;width:35px;height:35px}.admin-label{margin-left:-10px}.admin-label b{font-size:11px;font-weight:600;display:block}.admin-label small{color:#a4a7b4;font-size:9px;display:block;margin-top:5px}main{padding:32px 38px 24px;max-width:1620px;width:100%;margin:0 auto;outline:none}h1,h2,h3,p{margin:0}h1{font-size:25px;font-weight:650;letter-spacing:.2px;line-height:1.4}h2{font-size:14px;font-weight:650}h3{font-size:16px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#9b9eae;margin-bottom:9px;display:none}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 0 25px}.page-heading p{color:#9195a7;font-size:11px;margin-top:9px;line-height:1.7}.heading-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}.date-chip{border:1px solid #e8eaf1;background:white;display:flex;align-items:center;gap:9px;font-size:10px;color:#858a9c;border-radius:7px;padding:11px 13px}.date-chip .icon{width:15px;height:15px}.welcome-strip{display:flex;justify-content:space-between;align-items:center;border:1px solid #e5e0fb;background:linear-gradient(110deg,#f0ecff,#f5f2ff 63%,#eeeafd);padding:24px;border-radius:11px;position:relative;overflow:hidden;gap:12px;margin-bottom:23px}.welcome-strip>div:first-child{display:flex;align-items:center;gap:17px;z-index:1}.welcome-icon{background:white;border:1px solid #e8e2fd;display:grid;place-items:center;width:48px;height:48px;border-radius:13px;color:#8d7adc;box-shadow:0 2px 4px #7454d608}.welcome-icon svg{width:26px;height:26px}.welcome-strip b{font-size:14px;font-weight:600;color:#564782;letter-spacing:.3px}.welcome-strip p{color:#9b8eb7;font-size:10px;margin-top:8px}.welcome-actions{display:flex;gap:10px;z-index:1;flex-shrink:0}.strip-decoration{position:absolute;right:8px;top:-140px;width:350px;height:350px;border:1px solid #dad2f5;border-radius:50%;box-shadow:0 0 0 28px #e4def840,0 0 0 56px #e4def820}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;border:1px solid #e6e8f0;background:#fff;border-radius:7px;padding:10px 14px;font-size:11px;font-weight:500;line-height:18px;color:#6b7086;min-height:38px}.button .icon{width:15px;height:15px}.button:hover{border-color:#c9c0f2;background:#faf9ff}.button.primary{background:var(--purple);color:white;border-color:var(--purple);box-shadow:0 3px 7px #6b5ce717}.button.primary:hover{background:var(--purple-dark)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:23px}.stat-card{border:1px solid #eceef4;background:white;border-radius:10px;padding:19px 19px 0;text-align:left;box-shadow:var(--shadow);min-width:0}.stat-card:hover{transform:translateY(-2px);box-shadow:0 7px 20px #34314b08}.stat-top{display:flex;align-items:center;justify-content:space-between;color:#7c8195;font-size:11px}.stat-icon{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:10px}.stat-icon .icon{width:18px;height:18px}.purple{color:#8b79da;background:#f1edff}.green{color:#54a48c;background:#ebf7f1}.blue{color:#6e9fd7;background:#edf4ff}.orange{color:#dba05c;background:#fff4e7}.neutral{color:#9398aa;background:#f3f5f8}.stat-value{font-size:32px;letter-spacing:-1px;font-weight:650;margin-top:10px;line-height:1.3;font-variant-numeric:tabular-nums}.stat-value small{font-size:11px;color:#9296a9;margin-left:7px;letter-spacing:0;font-weight:400}.stat-foot{border-top:1px solid #f1f2f6;margin-top:17px;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#a1a5b6;font-size:9px}.stat-foot>span:last-child{display:flex;gap:3px;align-items:center;white-space:nowrap}.stat-foot .icon{width:12px;height:12px}.sub-pill{color:#8d81bd}.attention{color:#d6a15a}.mini-progress{height:4px;background:#f0f2f7;border-radius:5px;width:82px;overflow:hidden;display:block}.mini-progress i{height:100%;display:block;background:#9eb9e6;border-radius:5px}.dashboard-middle{display:grid;grid-template-columns:1.35fr 1fr;gap:21px;margin-bottom:23px}.panel{background:#fff;border:1px solid #e9ecf3;border-radius:11px;box-shadow:var(--shadow);overflow:hidden}.panel-heading{padding:22px 23px 17px;display:flex;align-items:center;justify-content:space-between;gap:15px}.panel-heading p{font-size:10px;color:#a0a4b4;margin-top:7px;line-height:1.5}.legend{display:flex;align-items:center;gap:6px;font-size:9px;color:#a1a5b4;white-space:nowrap}.legend i{height:6px;width:6px;border-radius:2px;background:#9c8fe5;margin-left:5px}.legend .light{background:#efedf8}.building-bars{padding:2px 24px 18px;display:flex;flex-direction:column;gap:17px}.building-row{display:flex;align-items:center;gap:13px;padding:0;border:none;background:none;text-align:left}.building-mini{width:34px;height:37px;border-radius:8px;background:color-mix(in srgb,var(--building-color) 12%,white);color:var(--building-color);display:grid;place-items:center}.building-mini .icon{width:18px;height:18px}.building-data{flex:1;min-width:0}.building-caption{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;gap:6px}.building-caption b{font-size:10px;font-weight:550;white-space:nowrap}.building-caption>span{display:flex;align-items:center;gap:4px}.building-caption strong{font-size:11px;font-weight:550;margin-left:7px}.building-caption small{font-size:9px;color:#a6aabb}.building-caption .badge{font-size:8px;padding:2px 5px;line-height:13px}.building-caption .badge i{display:none}.bar-track{height:7px;border-radius:8px;background:#f2f1f9;overflow:hidden}.bar-track>div,.bar-track>i{height:100%;border-radius:8px;display:block;background:#9b8ce4}.bar-percent{width:39px;text-align:right;color:#9297aa;font-size:11px;align-self:end;margin-bottom:-1px}.bar-percent small{font-size:9px;margin-left:2px}.panel-footer{padding:12px 23px;border-top:1px solid #f2f3f7;display:flex;align-items:center;font-size:9px;color:#acaebc;gap:6px}.panel-footer>.icon{width:13px;height:13px}.panel-footer .text-button{margin-left:auto;font-size:9px}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:10px;border:0;background:transparent;color:#8d80cb;padding:4px 0;white-space:nowrap}.text-button:hover{color:var(--purple-dark)}.text-button .icon{width:13px;height:13px}.count-bubble{font-size:9px;font-weight:500;color:#a08fd1;background:#f5f0ff;border-radius:4px;margin-left:5px;vertical-align:middle;padding:3px 5px}.todo-list{padding:0 22px}.todo-item{display:flex;width:100%;align-items:center;gap:11px;border:0;background:none;padding:14px 0;border-bottom:1px solid #f3f4f8;text-align:left}.todo-item:last-child{border:0}.todo-icon{width:31px;height:32px;border-radius:9px;display:grid;place-items:center;flex-shrink:0}.todo-icon .icon{width:15px;height:15px}.todo-item>div{flex:1;min-width:0}.todo-item b{font-size:10px;font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.todo-item small{font-size:9px;color:#a3a7b6;display:block;margin-top:5px}.todo-item>.icon{width:13px;height:13px;color:#b0b4c2}.badge{display:inline-flex;align-items:center;gap:5px;font-size:9px;line-height:15px;padding:3px 7px;border-radius:5px;white-space:nowrap;font-weight:400}.badge i{width:4px;height:4px;background:currentColor;border-radius:50%;flex-shrink:0}.todo-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:9px;color:#b2aec2;border-top:1px solid #f4f4f8;padding:12px;margin-top:3px;background:#fdfcfe}.todo-note .icon{width:11px;height:11px}.recent-panel .panel-heading{padding-top:22px;padding-bottom:21px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:10px}th{background:#fafbfe;padding:12px 23px;font-size:10px;color:#969bae;font-weight:400;border-top:1px solid #f1f2f7;border-bottom:1px solid #f1f2f7}td{padding:14px 23px;border-bottom:1px solid #f2f3f8;color:#71788f}tbody tr:last-child td{border-bottom:0}td b{font-weight:550;color:#545b72}tbody tr:hover{background:#fdfcff}.person{display:flex;align-items:center;gap:11px}.person .avatar{width:33px;height:33px;border-radius:11px;font-size:10px}.person b{font-size:11px;font-weight:500;color:#52596d;display:block}.person small{font-size:9px;color:#a3a7b7;display:block;margin-top:5px;letter-spacing:.3px}.tone-0{background:#e9f3ed;color:#7fa18a}.tone-1{background:#fff1e7;color:#c3a07d}.tone-2{background:#eef0fb;color:#9995bf}.tone-3{background:#fceff4;color:#c79aa9}.cell-sub{font-size:9px;color:#a7acbc;display:block;margin-top:6px}.room-label{display:flex;gap:5px;align-items:center;color:#858da5}.room-label .icon{width:13px;height:13px}.tabular{font-variant-numeric:tabular-nums;color:#8d95aa}.right{text-align:right}.row-actions{display:flex;gap:16px;justify-content:flex-end}.muted-action{color:#a1a5b5}.muted{color:#b4b7c3}.app-footer{display:flex;justify-content:space-between;gap:16px;font-size:9px;color:#b4b7c4;padding:0 38px 22px;margin-top:auto}.app-footer i{font-style:normal;margin:0 9px;color:#cacbd5}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:20px 23px;gap:16px;border-bottom:1px solid var(--line)}.search-box{display:flex;align-items:center;gap:10px;border:1px solid #e8eaf1;border-radius:7px;background:#fff;padding:9px 11px;min-width:250px;max-width:390px;width:100%}.search-box .icon{width:16px;height:16px;color:#a5aabb}.search-box input{border:0;outline:none;background:none;width:100%;padding:0;min-width:0;font-size:11px}.search-box input:focus-visible{outline:0}.search-box:focus-within{border-color:#a194e3;box-shadow:0 0 0 3px #f1edff}select{border:1px solid #e7e9f1;border-radius:7px;padding:10px 28px 10px 12px;background:#fff;font-size:11px;min-height:37px}.filter-group{display:flex;gap:10px}.tabs{display:flex;gap:29px;padding:0 23px;border-bottom:1px solid var(--line);overflow-x:auto}.tab{background:none;border:0;border-bottom:2px solid transparent;color:#9398ad;display:flex;gap:8px;align-items:center;font-size:11px;padding:19px 2px;white-space:nowrap}.tab.selected{color:var(--purple);border-bottom-color:var(--purple)}.tab span{font-size:9px;background:#f4f5f8;padding:2px 6px;border-radius:5px}.tab.selected span{background:#f0edff;color:var(--purple)}.pagination{padding:18px 23px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#a2a7ba;font-size:10px}.pagination b{font-weight:500;color:#71798e}.pagination>div{display:flex;align-items:center;gap:14px}.page-button{width:28px;height:28px;background:#fff;border:1px solid #e8ebf3;border-radius:5px;color:#8b8fa4;font-size:17px}.page-button:hover{background:#f2efff}.empty{display:flex;flex-direction:column;align-items:center;gap:13px;padding:54px 20px;color:#b3adca;text-align:center}.empty>.icon{width:35px;height:35px;stroke-width:1.1}.empty b{font-size:13px;font-weight:500;color:#9094a6}.empty>span{font-size:10px;color:#afb2c0}.building-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:0 0 23px}.building-summary{text-align:left;padding:18px 17px;border:1px solid #e8ebf3;background:white;border-radius:9px;min-width:0}.building-summary.selected{background:#f4f1ff;border-color:#cfc5f3}.building-summary>span{display:flex;align-items:center;gap:7px;font-size:10px;color:#888aa0;white-space:nowrap}.building-summary>span .icon{width:15px;height:15px}.building-summary>span i{width:6px;height:6px;border-radius:50%}.building-summary strong{display:block;font-size:26px;font-weight:600;margin-top:14px;font-variant-numeric:tabular-nums}.building-summary strong small{font-size:10px;font-weight:400;margin-left:6px;color:#9d9db1}.building-summary p{font-size:9px;color:#a4a3b8;margin-top:9px}.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;padding:22px}.room-card{border:1px solid #e8eaf3;border-radius:9px;background:white;text-align:left;padding:18px}.room-card:hover{border-color:#b9aeea;box-shadow:0 3px 12px #7462d00a;transform:translateY(-2px)}.room-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.room-number{font-size:24px;font-weight:600;color:#50576d;font-variant-numeric:tabular-nums}.room-number small{display:block;font-size:9px;font-weight:400;color:#a3a7bb;margin-top:5px}.bed-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:20px 0}.bed{border:1px dashed #d9d4ea;color:#c2b9dd;background:#fefcff;border-radius:7px;display:flex;align-items:center;flex-direction:column;padding:10px 1px;gap:6px}.bed small{font-size:8px}.bed.occupied{color:#a89bcf;background:#f3f0fb;border:1px solid #ede7fa}.bed .icon{width:22px;height:22px}.room-card-bottom{border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between;gap:4px;font-size:9px;color:#a0a6b8}.room-card-bottom b{font-weight:500;color:#8d80c0}.room-card-bottom small{color:#adb0bf;font-size:9px;font-weight:400}.repair-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:23px}.repair-stat{background:white;border:1px solid #e7eaf3;border-radius:10px;display:flex;align-items:center;text-align:left;padding:20px 24px;gap:17px}.repair-stat.selected{border-color:#cbbef0;background:#fcfbff}.repair-stat div{display:flex;align-items:center;flex:1;justify-content:space-between}.repair-stat small{font-size:12px;color:#9498aa}.repair-stat strong{font-size:28px;font-weight:550;margin:0 12px}.repair-stat>.icon{width:15px;height:15px;color:#bcc0cf}.distribution{display:flex;flex-direction:column;align-items:center}.distribution .panel-heading{align-self:stretch}.donut{width:164px;height:164px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#a295eb var(--rate),#f1edf9 0);margin:6px 0 18px;transform:rotate(-90deg)}.donut>div{width:140px;height:140px;background:white;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(90deg)}.donut strong{font-size:29px;font-weight:600}.donut strong small{font-size:12px;font-weight:400;margin-left:2px}.donut span{font-size:10px;color:#aba8ba;margin-top:6px}.donut-legend{display:flex;gap:28px;font-size:11px;color:#9993aa;margin:0 0 22px}.donut-legend span{display:flex;align-items:center;gap:7px}.donut-legend i{width:7px;height:7px;border-radius:2px;background:#a295eb}.donut-legend span:last-child i{background:#e8e2f6}.donut-legend b{color:#746a91;font-weight:550}.report-bottom{display:grid;grid-template-columns:1.35fr 1fr;gap:21px}.college-bars{display:flex;flex-direction:column;gap:24px;padding:14px 24px 30px}.college-bars>div{display:flex;align-items:center;gap:16px;font-size:10px}.college-bars span{width:85px;color:#9895a9}.college-bars .bar-track{flex:1}.college-bars b{font-size:13px;font-weight:500;width:40px;text-align:right;color:#9285c0}.college-bars small{font-size:9px;color:#aaa5b9}.summary-list{padding:4px 24px 18px}.summary-list>div{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:11px;color:#9896aa}.summary-list>div:last-child{border:0}.summary-list b{font-size:13px;font-weight:500;color:#716987}.settings-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:23px}.settings-panel{padding:24px;margin-bottom:23px}.settings-panel>p{font-size:11px;line-height:1.9;color:#9997aa;margin-top:12px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.setting-row:last-child{border:0;padding-bottom:0}.setting-row b{font-size:12px;font-weight:550}.setting-row p{font-size:10px;color:#a29daf;line-height:1.8;margin-top:6px}.danger-panel{border-color:#f0e2e4}.danger-panel>.button{margin-top:20px}.button.danger{color:#ca717d;border-color:#ebc9ce;background:#fff8f9}.button.danger:hover{background:#fdebf0}.activity-list{padding:0 24px 23px;max-height:540px;overflow:auto}.activity{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.activity-dot{width:7px;height:7px;border-radius:50%;margin-top:4px;background:#c4b8e6;flex-shrink:0}.activity-type{font-size:10px;color:#9a87be}.activity p{font-size:11px;color:#91899e;line-height:1.9;margin:7px 0}.activity small{font-size:9px;color:#b0aabb}dialog{border:1px solid #e4def0;border-radius:15px;padding:0;width:560px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 48px);box-shadow:0 22px 100px #25233c22;color:var(--ink);background:white;overflow:auto}dialog::backdrop{background:#28243b55;backdrop-filter:blur(3px)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:25px 27px 21px;border-bottom:1px solid var(--line)}.modal-header h2{font-size:19px}.modal-header p{font-size:11px;line-height:1.8;color:#a39bb2;margin-top:8px}.modal-header .icon-button{flex-shrink:0;margin-top:-3px}.modal-body{padding:25px 27px}.modal-body>p{font-size:12px;line-height:1.8;color:#8b819f}.modal-footer{border-top:1px solid var(--line);background:#fdfcff;padding:17px 27px;display:flex;justify-content:flex-end;gap:10px}.modal-footer .button{min-width:78px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 17px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field>span{font-size:11px;color:#8c829f}.field input,.field select,.field textarea{width:100%;border:1px solid #e6e1ed;border-radius:7px;padding:11px 12px;outline-offset:0;font-size:12px;min-height:39px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#b09ada}.field textarea{resize:vertical;min-height:90px;line-height:1.8}.full{grid-column:1/-1}.form-section{display:flex;align-items:center;gap:7px;font-size:12px;color:#8e7eb0;border-top:1px solid var(--line);padding-top:19px}.form-section .icon{width:17px;height:17px}.form-section small{font-size:10px;margin-left:auto;color:#afa4bd}.form-hint{margin-top:20px!important;font-size:10px!important;line-height:1.8!important;color:#a99cbb!important;display:flex;gap:6px;align-items:flex-start}.form-hint .icon{width:14px;height:14px;margin-top:2px}.form-error:not(:empty){margin-top:17px;background:#fff0f2;border-radius:5px;padding:10px;color:#c56479;font-size:12px;line-height:1.7}.detail-highlight{display:flex;align-items:center;gap:15px;padding:16px;background:#faf7ff;border:1px solid #f0e9fa;border-radius:8px;margin-bottom:24px}.detail-highlight p{font-size:11px;color:#a898ba;margin-top:6px}.detail-highlight>.badge{margin-left:auto}.avatar.large{width:48px;height:48px;font-size:15px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 20px;margin:22px 0 8px}.detail-grid dt{color:#b3a9c2;font-size:11px;margin-bottom:8px}.detail-grid dd{font-size:12px;color:#8a7a9e;margin:0}.room-detail-info{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#a397b3;margin-bottom:20px}.detail-beds{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail-bed{display:flex;align-items:flex-start;flex-direction:column;gap:10px;border:1px dashed #d9cbe9;background:#fffdfd;padding:16px;border-radius:8px;min-height:138px}.detail-bed.filled{border:1px solid #eee7f5;background:#fbf9ff}.detail-bed>span{display:flex;align-items:center;gap:7px;color:#b4a0cc;font-size:11px}.detail-bed b{font-size:13px;color:#947dae;font-weight:550}.detail-bed small{font-size:10px;color:#b2a4bf}.inline-note{display:flex;align-items:center;gap:7px;background:#f8f5fc;border-radius:6px;font-size:11px;line-height:1.8;color:#a28db7;padding:13px;margin-top:19px}.inline-note .icon{width:16px;height:16px}.repair-detail-title{display:flex;gap:8px}.repair-description{font-size:16px;line-height:1.8;margin-top:15px;overflow-wrap:anywhere}.workflow{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:21px 0;margin:27px 0}.workflow>div{display:flex;align-items:center;gap:7px;color:#c5bacd;font-size:11px}.workflow span{border-radius:50%;background:#f4f0f7;display:grid;place-items:center;width:24px;height:24px}.workflow .current{color:#9c7cbd}.workflow .current span{background:#f1e7fa;color:#9d78be}#toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%,12px);opacity:0;pointer-events:none;background:#302b45;color:white;box-shadow:0 6px 24px #39284a25;padding:13px 22px;border-radius:9px;font-size:12px;line-height:1.6;z-index:1000;transition:opacity .2s,transform .2s;max-width:calc(100vw - 30px)}#toast.show{opacity:1;transform:translate(-50%,0)}#toast.error{background:#a9576b}.storage-warning{padding:12px 17px;background:#fff1dd;color:#b2803a;font-size:12px;border-radius:8px;margin-bottom:20px}.skip-link{position:fixed;left:20px;top:-70px;z-index:1000;background:var(--purple);color:white;padding:14px}.skip-link:focus{top:10px}.mobile-only{display:none}.nav-scrim{display:none}
@media(min-width:1600px){:root{font-size:15px}.sidebar{width:252px}.workspace{margin-left:252px}main{padding:40px 45px}.topbar{padding:0 45px}.stats-grid{gap:23px}.stat-card{padding:23px 24px 0}.stat-value{font-size:36px}.panel-heading{padding:25px 28px 20px}.building-bars{gap:23px;padding:5px 28px 23px}.building-row{gap:15px}.building-caption b{font-size:12px}.building-caption small{font-size:10px}.bar-track{height:8px}.todo-item{padding:19px 0}.todo-item b{font-size:12px}.todo-item small{font-size:10px}.todo-list{padding:0 27px}.todo-note{padding:15px}.dashboard-middle{gap:24px}.stat-top{font-size:12px}.stat-foot{font-size:10px;min-height:46px}h2{font-size:16px}td,th{font-size:11px;padding:15px 28px}.person b{font-size:12px}.person small,.cell-sub{font-size:10px}.page-heading p{font-size:12px}.welcome-strip b{font-size:16px}.welcome-strip p{font-size:11px}.welcome-strip{padding:28px}.button{font-size:12px;padding:11px 16px}}
@media(max-width:1250px){.sidebar{width:207px;padding-left:14px;padding-right:14px}.workspace{margin-left:207px}.brand{padding:0 5px}.brand strong{font-size:23px}.brand strong span{font-size:9px;margin-left:6px}.brand small{font-size:9px}.brand-symbol{width:37px;height:39px}.brand{gap:9px}.topbar{padding:0 26px}main{padding:27px 26px 22px}.stats-grid{gap:12px}.stat-card{padding:17px 14px 0}.stat-foot{font-size:8px;gap:3px}.stat-foot span:last-child .icon{display:none}.dashboard-middle{grid-template-columns:1.15fr 1fr;gap:17px}.building-bars{padding-left:18px;padding-right:18px}.building-caption b{font-size:9px}.building-caption .badge{display:none}.panel-heading{padding-left:19px;padding-right:19px}.legend{font-size:8px}.panel-footer{padding:12px 18px;font-size:8px}.panel-footer>.icon{display:none}.panel-footer .text-button{font-size:8px}.todo-list{padding:0 18px}.welcome-strip{padding:21px 20px}.welcome-strip b{font-size:12px}.welcome-strip p{font-size:9px}.welcome-icon{width:41px;height:43px}.welcome-strip>div:first-child{gap:11px}.button{padding:9px 11px;font-size:10px}h1{font-size:23px}.page-heading p{font-size:10px}.date-chip{font-size:9px;padding:10px}.building-cards{gap:10px}.building-summary{padding:15px 12px}.building-summary>span{font-size:9px}.building-summary strong{font-size:24px}.room-grid{padding:18px;gap:13px}.room-card{padding:14px}.room-card-top .badge{font-size:8px}.room-number{font-size:22px}.app-footer{padding:0 26px 20px}.report-bottom{gap:17px}.settings-grid{grid-template-columns:1.3fr 1fr}}
@media(max-width:1000px){.sidebar{width:185px;padding:27px 11px 16px}.workspace{margin-left:185px}.brand strong span{display:none}.campus small{font-size:8px}.nav-item{padding:13px 14px;font-size:12px}.campus{padding:12px 8px;gap:7px}.sidebar-note{padding:16px 10px}.sidebar-note b{font-size:10px}.sidebar-note p{font-size:9px}.dashboard-middle{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.stat-card{padding:18px 20px 0}.stat-foot{font-size:10px}.stat-foot span:last-child .icon{display:block}.welcome-strip{align-items:flex-start;flex-direction:column;gap:17px}.welcome-actions{align-self:flex-end}.page-heading{align-items:flex-start}.heading-actions .date-chip{display:none}.building-bars{gap:19px}.building-caption b{font-size:11px}.building-caption .badge{display:inline-flex}.panel-footer{font-size:10px}.todo-item b{font-size:11px}.todo-note{font-size:10px}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.building-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.building-summary strong{font-size:23px}.building-summary>span{font-size:10px}.building-summary p{font-size:10px}.report-bottom,.settings-grid{grid-template-columns:1fr}.repair-stat{padding:17px 15px;gap:12px}.repair-stat strong{font-size:24px}.repair-stat>.icon{display:none}.repair-stat div{flex-direction:column;align-items:flex-start;gap:5px}.repair-stat strong{margin:0}.distribution{padding-bottom:8px}.donut{width:180px;height:180px}.donut>div{width:152px;height:152px}.app-footer{font-size:8px}.topbar-right{gap:14px}.admin-label{display:none}.topbar{height:72px}.activity-list{max-height:350px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);width:238px;padding:28px 19px;transition:transform .2s;z-index:100}.sidebar.expanded{transform:translateX(0)}.sidebar.expanded+.nav-scrim{display:block;position:fixed;inset:0;background:#211b404a;border:0;z-index:90}.workspace{margin-left:0}.mobile-only{display:grid}.brand strong span{display:inline}.brand strong{font-size:25px}.brand small{font-size:10px}.brand-symbol{width:43px;height:43px}.campus small{font-size:10px}.sidebar-note b{font-size:12px}.sidebar-note p{font-size:10px}.nav-item{font-size:13px}.topbar{height:65px;padding:0 20px}.breadcrumbs{gap:9px;font-size:10px}.breadcrumbs>span:first-of-type{display:none}.crumb-divider{display:none}.topbar-right{gap:14px}.topbar-divider{display:none}.demo-label{font-size:9px}.avatar.admin{width:29px;height:29px;font-size:10px}main{padding:23px 18px}.page-heading{gap:14px;flex-wrap:wrap;margin-bottom:20px}h1{font-size:23px}.page-heading p{font-size:10px;line-height:1.8}.heading-actions{gap:8px}.welcome-strip{padding:21px 19px;gap:19px;border-radius:10px;margin-bottom:18px}.welcome-strip b{font-size:12px}.welcome-strip p{font-size:9px;line-height:1.7}.welcome-strip>div:first-child{gap:12px}.welcome-actions{align-self:stretch;justify-content:flex-end}.welcome-icon{width:40px;height:43px;flex-shrink:0}.stats-grid{gap:12px;margin-bottom:18px}.stat-card{padding:15px 15px 0;border-radius:9px}.stat-top{font-size:10px}.stat-icon{width:29px;height:29px;border-radius:8px}.stat-icon .icon{width:16px;height:16px}.stat-value{font-size:30px;margin-top:10px}.stat-foot{font-size:8px;margin-top:13px;min-height:38px}.stat-foot span:last-child .icon{display:none}.mini-progress{width:50px}.stat-foot>span:last-child{font-size:8px}.dashboard-middle{gap:18px;margin-bottom:18px}.building-bars{padding:4px 20px 22px;gap:21px}.building-caption b{font-size:10px}.bar-percent{font-size:11px}.panel-heading{padding:20px 20px 17px}h2{font-size:14px}.panel-heading p{font-size:9px}.panel-heading .text-button{font-size:9px}.legend{font-size:8px;gap:4px}.building-row{gap:10px}.building-mini{width:31px;height:34px}.building-caption .badge{font-size:7px}.building-caption strong{font-size:10px;margin-left:4px}.panel-footer{font-size:8px;padding:13px 20px}.todo-list{padding:0 20px}.todo-item{padding:15px 0}.todo-item b{font-size:11px}.todo-item small{font-size:9px}.todo-note{font-size:9px}.app-footer{padding:0 18px 20px;font-size:8px;line-height:1.8}.app-footer>span:first-child{max-width:200px}.app-footer>span:last-child{text-align:right;max-width:105px}.tabs{padding:0 18px;gap:22px}.tab{font-size:10px;padding:17px 0;gap:6px}.toolbar{padding:16px 18px;flex-wrap:wrap;gap:12px}.search-box{max-width:none;min-width:0;flex-basis:100%;font-size:10px}.toolbar select{font-size:10px}.pagination{padding:16px 18px;font-size:9px}.building-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}.building-summary{padding:16px}.building-summary:first-child{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.building-summary:first-child strong{margin-top:0;font-size:23px}.building-summary:first-child p{margin:0}.building-summary strong{font-size:25px;margin-top:9px}.room-grid{padding:15px;gap:11px}.room-card{padding:13px 11px}.room-number{font-size:21px}.room-number small{font-size:8px}.room-card-top{gap:5px}.room-card-top .badge{font-size:7px;padding:2px 5px;gap:3px}.bed-grid{gap:4px;margin:16px 0}.bed{padding:8px 1px;border-radius:5px}.bed .icon{width:17px;height:17px}.bed small{font-size:7px}.room-card-bottom{font-size:8px;flex-direction:column;gap:6px}.room-card-bottom small{font-size:8px}.repair-stats{gap:10px;margin-bottom:18px}.repair-stat{flex-direction:column;align-items:flex-start;padding:15px;gap:11px}.repair-stat div{flex-direction:row;align-items:center;width:100%;gap:5px}.repair-stat small{font-size:9px}.repair-stat strong{font-size:23px}.report-bottom{gap:18px}.settings-panel{padding:20px}.setting-row{align-items:flex-start;flex-wrap:wrap;gap:12px}.setting-row b{font-size:11px}.setting-row p{font-size:10px}.settings-panel>p{font-size:10px}.settings-panel h2{font-size:14px}.modal-header{padding:22px 21px 18px}.modal-header h2{font-size:18px}.modal-header p{font-size:10px}.modal-body{padding:22px 21px}.modal-footer{padding:16px 21px}.form-grid{gap:17px 14px}.field>span{font-size:10px}.field input,.field select,.field textarea{font-size:12px;padding:10px}.form-section small{font-size:9px}.detail-grid{gap:20px 15px}.detail-beds{gap:11px}.detail-bed{padding:14px;min-height:132px}.workflow{gap:8px}.workflow>div{font-size:10px;gap:5px}.detail-highlight{padding:13px;gap:12px}.detail-highlight p{font-size:10px;line-height:1.7}.repair-description{font-size:15px}.text-button{min-height:25px}.button{font-size:11px;padding:10px 14px}.settings-grid{gap:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:760px){.sidebar{visibility:hidden}.sidebar.expanded{visibility:visible}table{font-size:12px}th{font-size:11px}.cell-sub,.person small{font-size:10px}.person b{font-size:12px}.table-scroll .badge{font-size:10px}}
