/* 沿用正式平台海军蓝/米白/金色，独立样式避免影响正式应用。 */
:root{--navy:#102b46;--ink:#162c41;--muted:#7c8790;--gold:#ab7b42;--line:#e5dfd4;--paper:#fffefa;--bg:#f4f1ea;--green:#47836e;--warm:#ba6d31;--red:#bd6261;font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-size:14px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit;color:inherit}button,select{cursor:pointer}button{border:0;background:none}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #bf965b;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #c5a572;outline-offset:1px}button{transition:background .15s,transform .15s}button:active:not(:disabled){transform:translateY(1px)}button svg{width:19px;height:19px;flex:none}h1,h2,h3,p{margin:0}h1{font-family:"Songti SC","Noto Serif SC",serif;font-size:34px;font-weight:600;letter-spacing:1px}h2{font-size:17px;font-weight:600}small{font-size:12px}.subtle{color:var(--muted);line-height:1.7}.overline{font-size:10px;color:var(--gold);letter-spacing:3px;font-weight:650}.serif{font-family:Georgia,"Songti SC",serif}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;background:linear-gradient(150deg,#1e3850,var(--navy) 45%,#0b2034);color:#d4dbe1;padding:34px 18px 22px;display:flex;flex-direction:column;z-index:25}.brand{display:flex;align-items:center;gap:13px;padding:0 10px 40px}.brand-mark{color:#dabb8d;border:1px solid #bb9563;outline:1px solid #bb956344;outline-offset:4px;display:grid;place-items:center;width:38px;height:42px;font:28px "Songti SC",serif}.brand strong{font-size:23px;letter-spacing:3px;color:#fff8ed}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#aaafb1;margin-top:7px}.sidebar nav{display:grid;gap:9px}.sidebar nav button{display:flex;align-items:center;gap:15px;color:#aebcc8;min-height:52px;text-align:left;padding:0 18px;border-radius:6px;font-size:15px}.sidebar nav button.active{color:white;border:1px solid #ffffff1a;background:#ffffff0c;position:relative}.sidebar nav button.active:before{content:"";height:20px;width:3px;background:#caab79;position:absolute;left:-2px}.nav-no{font:13px Georgia;color:#be9b68}.side-bottom{margin-top:auto;padding:22px 10px 0;border-top:1px solid #ffffff18}.side-bottom p{font-size:12px;line-height:1.9;color:#96a5b4}.demo-seal{color:#d8b788;display:inline-block;letter-spacing:2px;font-size:11px;margin-bottom:10px}.workspace{margin-left:220px}.topbar{height:84px;background:#fffdf9e8;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px);gap:20px}.project-select{position:relative;border:1px solid #e4d6bd;border-radius:8px;background:linear-gradient(120deg,white,#f9f5ec);padding:8px 15px 8px 22px;min-width:205px}.project-select:before{content:"";position:absolute;left:10px;top:12px;bottom:12px;width:3px;background:linear-gradient(#dbbd8b,#a57942)}.project-select label{display:block;color:#92938b;letter-spacing:2px;font-size:9px}.project-select select{width:100%;border:0;background:transparent;font-size:17px;font-weight:600;min-height:30px;padding:0 15px 0 0}.top-actions{display:flex;align-items:center;gap:16px}.role-wrap{display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#d8b98a;font-family:serif;font-size:18px}.role-wrap small{display:block;color:#999;font-size:10px;margin-bottom:3px}.role-wrap select{border:0;background:none;max-width:110px;font-weight:600}.icon-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;position:relative;background:white}.badge-count{background:var(--red);color:white;position:absolute;top:-6px;right:-6px;font-size:10px;border-radius:20px;min-width:17px;height:17px;display:grid;place-items:center;padding:0 4px}.top-label{color:var(--gold);font-size:11px;letter-spacing:1px;border-right:1px solid var(--line);padding-right:15px}.main{max-width:1540px;margin:auto;padding:32px 36px 60px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:23px}.page-title .overline{margin-bottom:8px}.page-title p{margin-top:8px;color:var(--muted);font-size:12px}.heading-actions{display:flex;gap:8px}.btn{border:1px solid #dcd5c8;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 17px;border-radius:6px;min-height:42px;background:var(--paper);white-space:nowrap;font-size:13px}.btn:hover:not(:disabled){background:#f0ece2}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff8ed}.btn.primary:hover{background:#244763}.btn.gold{background:#af8753;color:white;border-color:#af8753}.btn.danger{color:#aa5551}.btn.small{min-height:34px;font-size:12px;padding:6px 11px}.experience-note{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ebe6d9;border:1px solid #e2d8c7;padding:10px 14px;border-radius:6px;margin-bottom:22px;color:#7c705d;font-size:12px;line-height:1.7}.experience-note span{display:flex;gap:8px;align-items:center}.experience-note strong{color:#8c6f43;font-weight:550}.experience-note button{color:#896335;white-space:nowrap;font-size:12px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:22px}.metric{padding:20px 21px;background:var(--paper);border:1px solid var(--line);border-top:2px solid #d1b68c;border-radius:8px;min-width:0}.metric label{color:#82827c;font-size:12px;display:flex;align-items:center;justify-content:space-between}.metric strong{display:block;font:32px Georgia;margin:12px 0 8px;color:var(--ink);font-variant-numeric:tabular-nums}.metric strong small{font:12px sans-serif;margin-left:4px;color:var(--muted)}.metric footer{font-size:10px;color:#9a9d99}.metric.accent{background:linear-gradient(130deg,#b38c58,#d9c7a5);border-color:#b79666}.metric.accent label,.metric.accent footer{color:#fff9eb}.metric.accent strong{color:white}.dashboard-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:23px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:10px}.panel-head .overline{margin-bottom:7px}.text-link{color:var(--gold);font-size:12px;white-space:nowrap}.welcome{position:relative;background:linear-gradient(115deg,#203e55,#112b46 70%);color:white;padding:28px;overflow:hidden;min-height:230px}.welcome:after{content:"";position:absolute;width:240px;height:240px;border:1px solid #c9ad7a30;transform:rotate(45deg);right:-50px;top:40px;box-shadow:0 0 0 23px #c9ad7a08,0 0 0 50px #c9ad7a05;pointer-events:none}.welcome .overline{color:#c8ac80}.welcome h2{font:29px "Songti SC",serif;margin:15px 0;letter-spacing:1px}.welcome p{color:#aebdca;max-width:360px;line-height:1.9;font-size:12px}.welcome .btn{margin-top:20px;border-color:#ffffff40;background:#ffffff0d;color:#f7e6ca;position:relative;z-index:1}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}.quick{background:var(--paper);border:1px solid var(--line);padding:17px 12px;text-align:left;border-radius:7px}.quick svg{color:var(--gold);margin-bottom:8px}.quick strong{display:block;font-size:13px;margin-bottom:5px}.quick span{font-size:10px;color:var(--muted)}.todo-item{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:15px 0;border-bottom:1px solid #ede9e2}.todo-item:last-child{border:0}.todo-icon{width:35px;height:35px;background:#f3eadb;border-radius:7px;color:var(--gold);display:grid;place-items:center;font-family:serif}.todo-body{flex:1;min-width:0}.todo-body strong{font-size:13px;display:block;margin-bottom:5px}.todo-body small{color:var(--muted);font-size:11px}.todo-item .arrow{color:#bca477}.occupancy{margin-top:20px}.bars{display:grid;gap:15px}.bar-row{display:grid;grid-template-columns:45px 1fr 70px;align-items:center;gap:14px;font-size:12px}.bar-track{height:6px;background:#ece9e2;border-radius:5px;overflow:hidden}.bar-track i{display:block;height:100%;background:linear-gradient(90deg,#a4885b,#d2b98e);border-radius:5px}.bar-row small{text-align:right;color:var(--muted)}.legend{display:flex;align-items:center;gap:12px;color:#8d918d;font-size:10px}.dot{width:6px;height:6px;background:var(--green);display:inline-block;border-radius:50%;flex:none}.dot.warm{background:var(--warm)}.dot.gray{background:#8093a3}.type-tabs{display:flex;gap:5px;background:#eae6dc;border:1px solid #e1dacd;border-radius:7px;padding:5px;margin-bottom:14px}.type-tabs button{flex:1;min-height:39px;border-radius:4px;color:#858780;white-space:nowrap;font-size:13px}.type-tabs button.active{background:var(--paper);color:var(--navy);font-weight:650;box-shadow:0 2px 5px #2b353608}.control-tools{display:grid;grid-template-columns:150px 140px 1fr;gap:10px;margin-bottom:12px}.field-box{background:var(--paper);border:1px solid var(--line);border-radius:6px;min-width:0}.field-box select,.field-box input{width:100%;min-height:43px;background:transparent;border:0;padding:10px 12px;min-width:0}.field-box label{display:block;color:#99978c;font-size:10px;margin:8px 12px -7px}.field-box label+select{padding-top:10px;min-height:38px}.search{position:relative;display:flex;align-items:center;gap:8px;padding:0 12px}.search svg{width:17px;color:#9a9f9b}.search input{padding-left:0;outline-offset:-2px}.status-tabs{display:flex;gap:8px;margin:14px 0}.status-tabs button{background:var(--paper);border:1px solid var(--line);border-radius:5px;min-height:39px;padding:8px 14px;display:flex;gap:9px;align-items:center;white-space:nowrap;font-size:12px}.status-tabs button.active{border-color:#b99c71;color:#806239;background:#fbf6eb}.status-tabs b{font:16px Georgia}.control-surface{background:var(--paper);border:1px solid var(--line);border-radius:9px;overflow:hidden}.view-toolbar{padding:14px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.view-toolbar strong{font-size:13px}.segmented{display:flex;gap:3px;align-items:center;background:#f0ede5;border-radius:5px;padding:3px}.segmented button{min-height:33px;padding:6px 11px;font-size:12px;border-radius:3px;white-space:nowrap}.segmented button.active{background:#fffefa;box-shadow:0 1px 4px #00000008;color:var(--navy)}.view-sort{display:flex;gap:14px;align-items:center}.matrix-building{margin:17px;border:1px solid #e1d9cb;border-radius:7px;overflow:hidden}.building-head{padding:13px 16px;background:linear-gradient(110deg,#f7f4ed,#ede7db);display:flex;align-items:center;gap:12px}.building-head strong{font-size:14px}.building-head small{color:#91958d;font-size:11px}.floor-row{display:grid;grid-template-columns:48px 1fr 1fr;border-top:1px solid #e5dfd3;align-items:stretch}.floor-number{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#867a64;border-right:1px solid var(--line);background:#fbf9f3;font:19px Georgia}.floor-number small{font:9px sans-serif;color:#aaa28f}.unit-head{font-size:11px;font-weight:550;background:#f6f3eb;padding:10px 14px;border-right:1px solid var(--line)}.unit-cell{display:flex;padding:8px;border-right:1px solid var(--line)}.room{display:flex;flex-direction:column;gap:7px;text-align:left;border:1px solid #cfddd8;border-left:3px solid #679880;background:#f0f7f2;padding:13px;border-radius:5px;width:100%;min-width:0;min-height:116px}.room.available{background:#f8fafb;border-color:#d9e0e6;border-left-color:#859caa}.room.owing{background:#fff8ee;border-color:#ecdcc6;border-left-color:#c38a50}.room.locked{background:#f1f0ee;border-color:#deddd9;border-left-color:#969995}.room:hover{filter:brightness(.985);box-shadow:0 3px 12px #112b4610}.room-head{display:flex;align-items:center;justify-content:space-between;gap:5px}.room-head strong{font:700 23px Georgia;letter-spacing:.6px}.pill{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:10px;color:#548c78;border:1px solid #bed8cd;background:#e8f4ed;border-radius:20px;padding:3px 7px;line-height:1.15}.pill.warm{color:#ae6c37;border-color:#ead0ae;background:#fff2df}.pill.gray{color:#78878e;border-color:#dbe1e3;background:#edf2f4}.pill.red{color:#b66361;border-color:#eccfcf;background:#fbeeed}.room-meta{display:flex;align-items:center;justify-content:space-between;color:#8b9496;font-size:10px;min-height:18px}.room-finance{margin-top:auto;padding-top:7px;display:grid;gap:5px}.room-finance span{display:flex;align-items:baseline;justify-content:space-between;gap:7px;font-size:10px;color:#8a9190}.room-finance b{font-size:14px;color:var(--navy);font-variant-numeric:tabular-nums;white-space:nowrap}.room-finance .debt b{color:#b37736;font-size:12px}.room-finance .per b{font-size:11px;color:#8b969e}.group-head{font-size:11px;padding:10px 18px;background:#eee9df;color:#8a8071;border-top:1px solid var(--line)}.group-head strong{color:var(--navy);margin-right:10px}.room-list-row{width:100%;display:grid;grid-template-columns:1.2fr 1fr .8fr .8fr 1fr;align-items:center;text-align:left;gap:12px;padding:14px 20px;border-bottom:1px solid #ece7de;font-size:12px;min-height:68px;background:#fbfaf7}.room-list-row.owing{background:#fffaf1;border-left:3px solid #c49a65}.room-list-row.paid{background:#f3f8f3;border-left:3px solid #7da58b}.room-list-row strong{font-size:16px}.room-list-row .list-id small{color:#a2a49e;font-size:10px;margin-left:4px}.list-meta{font-size:11px;color:#969b97}.list-price{text-align:right;font-weight:600;white-space:nowrap}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;padding:14px;font-size:11px;color:var(--muted)}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.analysis-top{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.analysis-top .metric{padding:16px}.analysis-top .metric strong{font-size:25px;margin:9px 0 0}.filter-panel{margin-bottom:20px}.filter-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.filter-header small{font-size:11px;color:var(--muted)}.analysis-search{display:flex;gap:10px;margin-bottom:13px}.analysis-search .field-box{flex:1}.analysis-table-wrap{overflow:auto}.analysis-table{width:100%;border-collapse:collapse;font-size:12px;min-width:640px}.analysis-table th{font-size:10px;font-weight:500;color:#94968f;text-align:left;background:#f7f4ec;padding:13px}.analysis-table td{padding:14px 13px;border-bottom:1px solid #ece8df}.analysis-table tr{cursor:pointer}.analysis-table tbody tr:hover{background:#fbf7ef}.analysis-mobile{display:none}.approval-columns{display:grid;gap:16px}.request-list{display:grid;gap:9px}.request-card{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:7px;background:white;width:100%;padding:16px;text-align:left}.request-card:hover{border-color:#baa27c;background:#fffdf8}.request-card .todo-body strong{font-size:14px}.request-card .todo-body small{font-size:11px}.request-card .request-price{font:19px Georgia;white-space:nowrap}.empty{padding:38px 15px;text-align:center;color:#949b98}.empty svg{width:30px;height:30px;color:#bba985;margin-bottom:10px}.empty strong{display:block;color:#6b7983;margin:4px 0;font-size:14px;font-weight:500}.empty p{font-size:12px;line-height:1.8}.tabs-line{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:18px}.tabs-line button{padding:12px 0;color:#9b9f99;font-size:13px;border-bottom:2px solid transparent}.tabs-line button.active{color:var(--navy);border-color:var(--gold)}.mini-badge{font-size:10px;margin-left:5px;color:var(--gold);background:#f3eadc;border-radius:4px;padding:2px 5px}.mobile-nav{display:none}dialog{width:min(640px,calc(100% - 32px));max-height:86dvh;border:1px solid var(--line);padding:0;border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:0 24px 100px #0b203433;overflow:auto}dialog::backdrop{background:#13263770;backdrop-filter:blur(3px)}.dialog-head{padding:24px 25px 20px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:2}.dialog-head h2{font:27px "Songti SC",serif;margin:9px 0 7px}.dialog-head p{font-size:11px;color:var(--muted)}.close{border-radius:50%;width:32px;height:32px;background:#f1eee7;color:#969b99;font-size:21px;display:grid;place-items:center}.dialog-body{padding:23px 25px}.dialog-section{margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid var(--line)}.dialog-section:last-child{border:0;padding-bottom:0;margin-bottom:0}.dialog-section h3{font-size:14px;font-weight:550;margin-bottom:14px}.data-grid{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);border-radius:7px;overflow:hidden}.data-grid>div{padding:15px;background:#f9f7f1;border-bottom:1px solid var(--line);min-width:0}.data-grid>div:nth-child(odd){border-right:1px solid var(--line)}.data-grid>div:nth-last-child(-n+2){border-bottom:0}.data-grid small{display:block;color:#969a94;font-size:11px;margin-bottom:7px}.data-grid strong{font-size:16px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.data-grid .warm{color:var(--warm)}.action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.action-grid .btn:first-child{grid-column:1/-1}.form-field{display:block;margin-bottom:17px}.form-field>span{display:block;font-size:12px;color:#717f86;margin-bottom:8px}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #dbd8ce;background:#fffefb;min-height:45px;border-radius:5px;padding:11px 12px;resize:vertical}.form-field textarea{min-height:72px}.dialog-footer{position:sticky;bottom:0;padding:15px 25px;background:var(--paper);border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:8px;z-index:2}.dialog-footer .btn{min-width:95px}.form-error{color:#b0524f;font-size:12px;padding:10px 0;min-height:15px}.form-hint{background:#f1ede3;color:#8b7b61;line-height:1.8;border-radius:5px;padding:12px;font-size:11px;margin-bottom:18px}.price-preview{border:1px solid #decda9;background:#faf6ea;padding:15px;border-radius:6px;line-height:1.9;font-size:12px;margin:0 0 18px}.price-preview strong{color:#a77b40}.change-arrow{color:var(--gold);margin:0 10px}.audit-flow{display:flex;gap:6px;align-items:center;color:#949c96;font-size:10px;margin-top:15px;flex-wrap:wrap}.audit-flow span{padding:6px 8px;border:1px solid var(--line);border-radius:4px}.audit-flow .on{color:var(--gold);border-color:#c9b68e;background:#fbf5e9}.guide-steps{display:grid;gap:12px}.guide-card{display:flex;gap:15px;padding:16px;border:1px solid var(--line);border-radius:6px}.guide-card>b{font:24px Georgia;color:var(--gold)}.guide-card strong{display:block;margin-bottom:7px;font-size:13px}.guide-card p{font-size:12px;color:var(--muted);line-height:1.8}.guide-card button{margin-top:9px;color:var(--gold);font-size:12px}.history-line{padding:10px 0;font-size:12px;color:#86928b;border-bottom:1px dashed var(--line)}#toast{position:fixed;left:50%;bottom:35px;transform:translate(-50%,15px);max-width:90%;background:#183248;color:#fffaf0;padding:13px 22px;border-radius:6px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:100;box-shadow:0 5px 30px #0002}#toast.show{opacity:1;transform:translate(-50%,0)}.storage-note{padding:10px;color:#aa6b32;text-align:center;background:#fff1d6;font-size:12px}.result-caption{color:#94998f;font-size:11px}.footer-note{color:#aaa69a;text-align:center;font-size:10px;line-height:1.8;margin-top:24px;letter-spacing:.5px}.owner-label{font-size:11px;color:#92978f}.review-copy{font-size:12px;line-height:1.9;color:#6f7b80}.highlight-total{font:30px Georgia;color:var(--navy);margin:8px 0}.full{grid-column:1/-1}.type-mix{display:grid;gap:15px}.type-mix .bar-row{grid-template-columns:55px 1fr 55px}.mobile-only{display:none}
@media(min-width:1500px){.main{padding-top:40px}.metrics{gap:18px}.metric{padding:25px}.dashboard-grid{gap:24px}.welcome{min-height:250px}}
@media(max-width:1100px){.sidebar{width:185px}.workspace{margin-left:185px}.topbar{padding:0 23px}.main{padding:25px 23px}.metrics{gap:10px}.metric{padding:16px}.metric strong{font-size:27px}.dashboard-grid{grid-template-columns:1fr 1fr}.top-label{display:none}.welcome{padding:23px}.welcome h2{font-size:24px}.quick-grid{gap:8px}.quick{padding:15px 10px}.control-tools{grid-template-columns:110px 110px 1fr}.filter-grid{grid-template-columns:repeat(3,1fr)}.view-sort{gap:6px}}
@media(max-width:820px){.sidebar{display:none}.workspace{margin-left:0}.topbar{height:72px;padding:0 18px}.main{padding:24px 18px 100px}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;background:#fffefbef;border-top:1px solid var(--line);backdrop-filter:blur(12px);z-index:30;padding:8px 7px max(9px,env(safe-area-inset-bottom));gap:3px}.mobile-nav button{min-height:45px;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;color:#929993;font-size:11px}.mobile-nav button span{font:12px Georgia;color:#b7b5a8}.mobile-nav button.active{color:var(--navy);font-weight:600}.mobile-nav button.active span{color:var(--gold)}.project-select{min-width:170px;padding-top:6px;padding-bottom:6px}.project-select select{font-size:15px;min-height:29px}.avatar{width:31px;height:31px}.top-actions{gap:13px}.icon-btn{width:36px;height:36px}.role-wrap{gap:7px}.role-wrap select{font-size:12px;max-width:105px}.role-wrap small{font-size:9px}.page-heading{margin-bottom:18px}h1{font-size:29px}.page-title .overline{font-size:9px;letter-spacing:2px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:17px}.metric strong{font-size:28px}.dashboard-grid{gap:15px}.panel{padding:19px}.welcome{padding:23px}.welcome h2{font-size:25px}.analysis-top{grid-template-columns:repeat(2,1fr)}.analysis-table-wrap{display:none}.analysis-mobile{display:block}.analysis-mobile .room-list-row{grid-template-columns:1fr auto}.analysis-mobile .list-meta{display:block;margin-top:4px}.main>.experience-note{margin-bottom:17px}#toast{bottom:85px}}
@media(max-width:560px){.topbar{padding:0 13px;gap:6px;height:67px}.project-select{min-width:0;width:144px;padding-right:10px}.project-select label{font-size:8px;letter-spacing:1px}.project-select select{font-size:15px}.top-actions{gap:11px}.role-wrap{gap:6px}.avatar{display:none}.role-wrap select{max-width:90px;font-size:11px;padding:0}.role-wrap small{font-size:8px}.icon-btn{width:32px;height:34px}.icon-btn svg{width:16px}.badge-count{font-size:9px;min-width:15px;height:15px}.main{padding:20px 13px 95px}.heading-actions .btn{font-size:11px;padding:8px 11px;min-height:36px}.heading-actions .btn svg{width:15px}.page-title h1{font-size:27px}.page-title p{font-size:10px;margin-top:5px}.page-title .overline{font-size:8px;letter-spacing:2px;margin-bottom:6px}.page-heading{gap:8px;align-items:flex-end;margin-bottom:16px}.experience-note{padding:8px 10px;font-size:10px;line-height:1.7;gap:8px}.experience-note button{font-size:10px}.experience-note span{display:block}.metrics{margin-bottom:16px;gap:9px}.metric{padding:14px 15px}.metric label{font-size:10px}.metric strong{font-size:27px;margin:10px 0 7px}.metric footer{font-size:9px}.metric strong small{font-size:10px}.dashboard-grid{grid-template-columns:1fr;gap:15px}.welcome{min-height:204px;padding:22px}.welcome h2{font-size:25px;margin:14px 0 10px}.welcome p{font-size:11px;max-width:250px}.welcome .btn{margin-top:16px;font-size:11px;min-height:36px}.quick{padding:14px 10px}.quick strong{font-size:11px}.quick span{font-size:9px}.quick-grid{margin-top:10px;gap:8px}.quick svg{width:17px;height:17px;margin-bottom:6px}.panel{padding:17px}.panel-head{margin-bottom:13px}.panel h2{font-size:15px}.panel .overline{font-size:9px;letter-spacing:2px}.todo-item{padding:12px 0}.occupancy{margin-top:15px}.control-tools{grid-template-columns:1fr 1fr;gap:8px}.control-tools .search{grid-column:1/-1}.field-box select,.field-box input{font-size:13px;min-height:41px}.search input{font-size:16px}.type-tabs{gap:2px;padding:4px;margin-bottom:10px}.type-tabs button{min-height:36px;font-size:12px}.status-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:11px 0}.status-tabs button{justify-content:space-between;padding:8px;gap:3px;font-size:10px;min-height:39px}.status-tabs b{font-size:15px}.status-tabs .dot{width:4px;height:4px}.view-toolbar{padding:13px;gap:8px;flex-wrap:wrap}.view-toolbar>strong{font-size:12px;flex:1 0 100%}.view-sort{width:100%;justify-content:space-between}.segmented{padding:3px}.segmented button{font-size:10px;padding:6px 9px;min-height:31px}.matrix-building{margin:7px;margin-bottom:14px}.building-head{padding:11px 12px;gap:8px}.building-head strong{font-size:12px}.building-head small{font-size:9px}.floor-row{grid-template-columns:27px minmax(0,1fr) minmax(0,1fr)}.floor-number{font-size:14px}.floor-number small{font-size:8px}.unit-head{font-size:10px;padding:9px}.unit-cell{padding:5px}.room{padding:8px 7px;gap:3px;min-height:110px;border-left-width:2px;border-radius:4px}.room-head{gap:3px}.room-head strong{font-size:20px}.pill{font-size:8px;padding:3px 5px;gap:2px}.room-meta{font-size:9px;min-height:18px}.room-finance{gap:5px;padding-top:9px}.room-finance span{font-size:8px;gap:3px}.room-finance b{font-size:11px;letter-spacing:-.25px}.room-finance .per b{font-size:9px;letter-spacing:-.3px}.room-finance .debt b{font-size:10px}.room-list-row{grid-template-columns:1fr auto;gap:4px 7px;padding:10px 13px;min-height:56px}.room-list-row .list-status{grid-column:1;grid-row:1;margin-left:47px;align-self:center;display:flex;gap:3px}.room-list-row .list-meta{grid-column:1;grid-row:2;font-size:9px}.room-list-row .list-price{grid-column:2;grid-row:1/3;font-size:11px;display:grid;gap:5px}.room-list-row .list-extra{display:none}.room-list-row strong{font:700 18px Georgia}.room-list-row .list-price strong{font:600 12px -apple-system,sans-serif}.room-list-row .list-price small{font-size:9px;color:var(--muted);font-weight:400}.room-list-row .list-price .debt{color:#b37736;font-size:10px}.group-head{padding:8px 13px;font-size:9px}.pagination{gap:9px;padding:12px 8px}.pagination .btn{font-size:10px;min-height:32px;padding:6px 10px}.analysis-top{gap:8px;margin-bottom:14px}.analysis-top .metric{padding:13px}.analysis-top .metric strong{font-size:22px}.filter-panel{padding:13px}.filter-header{gap:6px;margin-bottom:12px}.filter-header h2{font-size:13px}.filter-header small{font-size:10px}.analysis-search{gap:7px;margin-bottom:10px}.analysis-search .btn{font-size:11px;min-width:55px;padding:8px}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.filter-grid .field-box label{font-size:9px;margin-top:6px}.filter-grid .field-box select{font-size:12px;min-height:36px}.filter-grid .deal-filter{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:5px 8px;gap:5px}.deal-filter label{margin:0;font-size:10px;white-space:nowrap}.deal-filter .segmented{background:none;padding:0;flex:1}.deal-filter .segmented button{flex:1;min-height:30px;padding:4px 5px;font-size:10px}.deal-filter .segmented .active{background:var(--navy);color:white}.analysis-mobile .room-list-row{padding:13px 0;display:grid;grid-template-columns:1fr auto}.analysis-mobile .list-price{grid-column:auto;grid-row:auto}.request-card{padding:13px 10px;gap:9px}.request-card .todo-icon{width:29px;height:32px;font-size:12px}.request-card .todo-body strong{font-size:12px}.request-card .todo-body small{font-size:9px;line-height:1.5;display:block}.request-card .request-price{font-size:15px}.request-card .arrow{display:none}.request-card>.pill{font-size:9px}.approval-columns .panel{padding:14px}.result-caption{font-size:10px}.tabs-line{gap:19px}.tabs-line button{font-size:12px}.footer-note{font-size:9px}.dialog-head{padding:19px 18px 16px}.dialog-head h2{font-size:23px}.dialog-body{padding:19px 18px}.dialog-footer{padding:13px 18px}.form-field input,.form-field textarea,.form-field select{font-size:16px}.data-grid>div{padding:13px}.data-grid strong{font-size:14px}.data-grid small{font-size:10px}.action-grid{gap:8px}.action-grid .btn{font-size:12px;padding:10px}.dialog-section{margin-bottom:18px;padding-bottom:18px}dialog{width:calc(100% - 20px);max-height:90dvh;border-radius:10px}.dialog-footer .btn{min-width:75px;font-size:12px}.guide-card{padding:13px;gap:12px}.guide-card p{font-size:11px}.highlight-total{font-size:26px}.price-preview{font-size:11px}.mobile-only{display:block}}
@media(max-width:360px){.project-select{width:127px}.top-actions{gap:7px}.role-wrap select{max-width:82px}.main{padding-left:10px;padding-right:10px}.heading-actions .btn{padding:7px 8px;font-size:10px}.heading-actions .btn svg{display:none}.room-head strong{font-size:18px}.room{padding:8px 5px}.room-finance b{font-size:10px}.room-finance .per b{font-size:8px}.room-finance span{font-size:8px}.room-meta{font-size:8px}.room-head .pill{font-size:7px;padding:3px}.status-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.page-title h1{font-size:25px}.room-list-row .list-status{gap:2px;margin-left:44px}.room-list-row .pill{font-size:7px}.room-list-row .list-price strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
