:root{color-scheme:light;--bg:#f7f8f6;--surface:#ffffff;--surface-2:#eef5f3;--line:#d7ded9;--text:#1d2521;--muted:#66736d;--teal:#0f766e;--teal-dark:#0b5f58;--amber:#b7791f;--rose:#b42342;--indigo:#4f46e5;--blue:#2563eb;--nav:#17231f;--success:#16856d;--warning:#c47b13;--danger:#c33c54;--shadow:0 18px 50px rgb(31 41 35/0.12)}*{box-sizing:border-box}body,html{min-height:100%;margin:0;overflow-x:hidden;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,rgb(15 118 110/.08),transparent 42%),var(--bg)}.login-panel{width:min(100%,420px);background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);padding:28px}.brand-row{display:flex;align-items:center;gap:12px;margin-bottom:24px}.brand-mark{width:44px;height:44px;border-radius:8px;display:grid;place-items:center;background:var(--teal);color:white}.brand-title{margin:0;font-size:22px;line-height:1.2}.brand-subtitle{margin:4px 0 0;color:var(--muted);font-size:13px}.field{display:grid;grid-gap:8px;gap:8px;margin-bottom:14px}.field label,.field span{color:var(--muted);font-size:13px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:12px 13px;background:white;color:var(--text)}.field textarea{min-height:92px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgb(15 118 110/.18);border-color:var(--teal)}.ghost-button,.icon-button,.primary-button{min-height:40px;border-radius:6px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.primary-button{width:100%;background:var(--teal);color:white;padding:0 16px}.primary-button.inline{width:auto;justify-self:start}.primary-button:hover{background:var(--teal-dark)}.ghost-button{padding:0 12px}.ghost-button,.icon-button{background:white;border-color:var(--line);color:var(--text)}.icon-button{width:40px}.compact{min-height:34px;padding:0 10px;font-size:13px}.error{margin:0 0 14px;color:var(--rose);font-size:13px}.app-shell{min-height:100vh;display:grid;grid-template-columns:76px 1fr}.sidebar{height:100vh;position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--nav);border-right:1px solid #25352f;padding:12px 8px;display:flex;flex-direction:column;gap:14px}.sidebar .brand-row{justify-content:center;margin-bottom:6px}.sidebar .brand-row>div:last-child{display:none}.sidebar .brand-mark{width:42px;height:42px;background:#f4faf7;color:var(--nav)}.nav-list{display:grid;grid-gap:6px;gap:6px}.nav-item{width:100%;border:0;border-radius:6px;background:transparent;color:#b9c8c1;min-height:58px;padding:7px 3px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;text-align:center;font-size:10px;line-height:1.15}.nav-item.active,.nav-item:hover{color:white;background:var(--teal)}.workspace{min-width:0;overflow-x:hidden;display:grid;grid-template-rows:auto 1fr}.topbar{min-width:0;min-height:68px;border-bottom:1px solid var(--line);background:rgb(255 255 255/.86);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 18px;position:-webkit-sticky;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar h1{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:19px;margin:0}.topbar-title{width:150px;flex:0 0 150px;min-width:0;display:grid;grid-gap:2px;gap:2px}.topbar-title span{color:var(--muted);font-size:12px}.user-chip{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}.user-chip>span{max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{display:flex;align-items:center;gap:10px}.topbar-search-wrap{position:relative;flex:1 1 480px;max-width:620px}.topbar-search{min-height:38px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:6px;padding:0 11px;background:#f7f9f8;color:var(--muted)}.topbar-search:focus-within{border-color:var(--teal);box-shadow:0 0 0 3px rgb(15 118 110/.12);background:white}.topbar-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:13px}.global-search-results,.quick-create-menu{position:absolute;top:calc(100% + 8px);z-index:40;border:1px solid var(--line);border-radius:7px;background:white;box-shadow:0 16px 40px rgb(25 41 34/.16)}.global-search-results{left:0;right:0;padding:7px}.global-search-heading{min-height:34px;padding:0 4px 5px 8px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}.global-search-results>button:not(.icon-button){width:100%;min-height:48px;border:0;border-radius:5px;padding:7px 9px;display:grid;grid-template-columns:44px minmax(0,1fr) minmax(0,1.2fr) 18px;align-items:center;grid-gap:8px;gap:8px;background:white;color:var(--text);text-align:left}.global-search-results>button:not(.icon-button):hover{background:var(--surface-2)}.global-search-results small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.search-result-type{color:var(--teal);font-size:11px}.global-search-empty{padding:22px 12px;color:var(--muted);text-align:center;font-size:13px}.topbar-project-select{min-height:34px;display:flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:6px;padding:0 7px;background:white;color:var(--muted)}.topbar-project-select select{max-width:126px;border:0;outline:0;background:transparent;color:var(--text);font-size:12px}.topbar-actions .icon-button{position:relative;width:36px;min-height:36px}.topbar-count{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;border:2px solid white;border-radius:9px;padding:0 4px;display:grid;place-items:center;background:var(--danger);color:white;font-size:9px}.quick-menu-wrap{position:relative}.quick-create-menu{right:0;width:190px;padding:7px}.quick-create-menu button{width:100%;min-height:38px;border:0;border-radius:5px;padding:0 10px;display:flex;align-items:center;gap:9px;background:white;color:var(--text);text-align:left}.quick-create-menu button:hover{background:var(--surface-2)}.content{padding:16px 18px 84px}.workspace-tabs{display:flex;gap:22px;overflow-x:auto;padding:0 14px;margin:-2px 0 12px;border-bottom:1px solid var(--line);background:white;overscroll-behavior-x:contain}.workspace-tabs button{min-height:42px;border:0;border-bottom:2px solid transparent;border-radius:0;padding:0 2px;background:transparent;color:var(--muted);display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.workspace-tabs button.active,.workspace-tabs button:hover{color:var(--text);border-bottom-color:var(--teal);background:transparent}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.metric-card,.panel,.table-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px}.metric-card{min-height:112px;padding:16px;display:grid;align-content:space-between}.metric-card span{color:var(--muted);font-size:13px}.metric-card strong{font-size:26px;line-height:1}.dashboard-hero{min-height:96px;margin-bottom:14px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:16px}.dashboard-hero h2{margin:0;font-size:22px}.dashboard-hero p{margin:6px 0 0;color:var(--muted)}.dashboard-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.dashboard-metrics{grid-template-columns:repeat(6,minmax(140px,1fr))}.compact-metric{min-height:92px}.compact-metric strong{font-size:22px}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:12px;gap:12px;align-items:start}.dashboard-side{min-width:0}.portfolio-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.portfolio-card,.portfolio-grid{display:grid;grid-gap:12px;gap:12px}.portfolio-card{min-width:0;border:1px solid var(--line);border-radius:8px;background:#fcfdfb;color:var(--text);padding:14px;text-align:left}.portfolio-card:hover{border-color:rgb(15 118 110/.38);background:var(--surface-2)}.portfolio-card.warning{border-color:rgb(183 121 31/.42);background:rgb(183 121 31/.06)}.portfolio-card.danger{border-color:rgb(180 35 66/.38);background:rgb(180 35 66/.06)}.portfolio-card-header{display:flex;justify-content:space-between;gap:10px}.alert-chip,.portfolio-card p,.portfolio-card-header span,.portfolio-card-header strong,.portfolio-foot span,.portfolio-money-row span{overflow-wrap:anywhere}.portfolio-card-header strong{display:block;font-size:16px}.portfolio-card p,.portfolio-card-header span,.portfolio-foot,.portfolio-money-row{color:var(--muted);font-size:12px}.portfolio-card p{margin:0;line-height:1.45}.alert-chip,.corner-badge{border-radius:999px;padding:4px 8px;background:var(--surface-2);color:var(--teal-dark);font-size:12px;white-space:nowrap}.alert-chip.danger,.corner-badge.danger{color:var(--rose);background:rgb(180 35 66/.1)}.alert-chip.warning{color:var(--amber);background:rgb(183 121 31/.11)}.alert-chip.info{color:var(--teal-dark);background:rgb(15 118 110/.09)}.portfolio-rates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.info-tile,.portfolio-rates div{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:10px;display:grid;grid-gap:6px;gap:6px}.info-tile span,.portfolio-rates span{color:var(--muted);font-size:12px}.info-tile strong,.portfolio-rates strong{font-size:18px}.portfolio-foot,.portfolio-money-row,.project-alerts{display:flex;flex-wrap:wrap;gap:8px}.todo-list,.warning-stack{display:grid;grid-gap:10px;gap:10px}.todo-item,.warning-line{border:1px solid var(--line);border-radius:8px;background:#fcfdfb;padding:12px;display:grid;grid-gap:4px;gap:4px;text-align:left}.todo-item span,.warning-line small,.warning-line span{color:var(--muted);font-size:12px}.todo-item strong,.warning-line strong{color:var(--text);font-size:15px}.quick-link-button:hover,.todo-item:hover{border-color:rgb(15 118 110/.38);background:var(--surface-2)}.quick-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:10px;gap:10px;margin:14px 0}.quick-link-button{min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.portfolio-detail-modal{max-width:780px}.panel-grid{display:grid;grid-template-columns:1.35fr .65fr;grid-gap:12px;gap:12px}.panel{min-width:0;padding:18px}.workspace-module{display:grid;grid-gap:12px;gap:12px}.module-actionbar{min-width:0;border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:#fbfcfa;display:flex;align-items:center;justify-content:space-between;gap:12px}.module-actionbar h2,.module-actionbar p{margin:0}.module-actionbar h2{font-size:18px}.module-actionbar p{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.5}.module-actionbar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.button-badge{min-width:18px;min-height:18px;border-radius:999px;padding:1px 6px;background:rgb(255 255 255/.22);border:1px solid rgb(255 255 255/.28);font-size:11px;line-height:16px}.ghost-button .button-badge{background:var(--surface-2);border-color:var(--line);color:var(--muted)}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-title h2{font-size:16px;margin:0}.selection-actionbar{margin:0 0 10px;border:1px solid rgb(15 118 110/.26);border-radius:8px;background:#edf7f4;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.selection-actionbar span,.selection-actionbar strong{display:block}.selection-actionbar strong{font-size:14px}.selection-actionbar span{margin-top:2px;color:var(--muted);font-size:12px}.selection-actions{justify-content:flex-end;flex-wrap:wrap}.selection-actions,.status-line{display:flex;align-items:center;gap:8px}.status-line{color:var(--muted);font-size:13px}.dot{width:8px;height:8px;border-radius:50%;background:var(--amber)}.dot.ok{background:var(--teal)}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.module-tile{min-height:86px;border:1px solid var(--line);border-radius:8px;padding:14px;display:grid;align-content:space-between;justify-items:start;background:#fcfdfb;color:var(--text);text-align:left}.module-tile:disabled{cursor:default;opacity:.84}.module-tile:not(:disabled):hover{border-color:rgb(15 118 110/.38);background:var(--surface-2)}.module-tile strong{font-size:14px}.module-tile span{color:var(--muted);font-size:12px}.table-panel{overflow:hidden}.table-row{min-height:48px;display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:0 14px;border-top:1px solid var(--line)}.table-row:first-child{border-top:0}.badge{border-radius:999px;padding:4px 8px;background:rgb(79 70 229/.1);color:var(--indigo);font-size:12px}.badge.success{background:rgb(15 118 110/.1);color:var(--teal)}.badge.danger{background:rgb(180 35 66/.1);color:var(--rose)}.soft-badge{border-radius:999px;padding:4px 8px;background:var(--surface-2);color:var(--muted);font-size:12px}.soft-badge.danger{background:rgb(180 35 66/.1);color:var(--rose)}.notice{border:1px solid rgb(15 118 110/.25);background:rgb(15 118 110/.08);color:var(--teal-dark);border-radius:8px;padding:10px 12px;margin-bottom:12px;font-size:13px}.notice.danger{border-color:rgb(180 35 66/.28);background:rgb(180 35 66/.08);color:var(--rose)}.section-gap{margin-top:12px}.split-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(320px,1fr);grid-gap:12px;gap:12px}.wide-panel{grid-column:1/-1}.summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:12px}.summary-grid>div{border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--surface-2)}.summary-grid span,.summary-grid strong{display:block}.summary-grid span{margin-top:4px;color:var(--muted);font-size:12px}.toolbar-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;align-items:start}.dense-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.check-list,.code-box,.full-field,.import-result,.muted-text,.permission-groups{grid-column:1/-1}.field-label{display:block;color:var(--muted);font-size:13px;margin-bottom:8px}.check-list{display:grid;grid-gap:8px;gap:8px;max-height:260px;overflow:auto;padding:2px}.check-row{min-height:36px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:#fcfdfb;color:var(--text);font-size:13px}.check-row.single{grid-column:1/-1}.check-row input{width:16px;height:16px}.permission-groups{display:grid;grid-gap:12px;gap:12px}.data-list,.permission-group{display:grid;grid-gap:8px;gap:8px}.data-card{overflow:hidden}.data-card,.data-row{border:1px solid var(--line);border-radius:8px;background:#fcfdfb}.data-row{min-height:68px;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center}.clickable-row{width:100%;color:var(--text);cursor:pointer;font:inherit;text-align:left}.clickable-row:focus-visible,.clickable-row:hover{border-color:rgb(15 118 110/.38);background:var(--surface-2);outline:none}.data-card>.data-row{border:0;border-radius:0;background:transparent}.data-row span,.data-row strong{display:block}.data-row span{color:var(--muted);font-size:13px;margin-top:4px}.project-maintenance-row{padding:0;overflow:hidden}.project-maintenance-main{min-width:0;min-height:66px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;border:0;background:transparent;color:var(--text);cursor:pointer;font:inherit;padding:12px;text-align:left}.project-maintenance-main:focus-visible,.project-maintenance-main:hover{background:var(--surface-2);outline:none}.project-maintenance-row>.ghost-button{margin-right:12px}.asset-row{align-items:start}.row-detail{border-top:1px solid var(--line);padding:12px;background:white}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.detail-grid>div{min-width:0;border:1px solid var(--line);border-radius:8px;padding:10px;background:#f8faf9}.detail-grid span,.detail-grid strong{display:block;overflow-wrap:anywhere}.detail-grid span{color:var(--muted);font-size:12px}.detail-grid strong{margin-top:4px;color:var(--text);font-size:13px}.danger-action{color:var(--rose);border-color:rgb(180 35 66/.25)}.file-chip{align-self:center;justify-self:start;max-width:100%;overflow-wrap:anywhere}.import-result{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.notice-preview{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(120px,.4fr));grid-gap:10px;gap:10px;align-items:stretch}.notice-preview>div{border:1px solid var(--line);border-radius:8px;background:#fcfdfb;padding:12px}.notice-preview span,.notice-preview strong{display:block}.notice-preview span{margin-top:4px;color:var(--muted);font-size:13px}.notice-amount strong{margin-top:8px;font-size:20px}.tenant-notice-card{display:grid;grid-gap:14px;gap:14px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:16px}.tenant-notice-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:2px solid #22312b;padding-bottom:12px}.tenant-notice-header h3,.tenant-notice-header p{margin:0}.tenant-notice-header h3{font-size:22px}.tenant-notice-header p{margin-top:6px;color:var(--muted)}.tenant-notice-code{min-width:220px;text-align:right}.notice-summary-grid span,.tenant-notice-code span{display:block;color:var(--muted);font-size:12px}.tenant-notice-code strong{display:block;margin-top:6px;font-size:22px}.notice-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:10px;gap:10px}.notice-summary-grid>div{border:1px solid var(--line);border-radius:8px;background:#fbfcfa;padding:10px}.notice-summary-grid strong{display:block;margin-top:4px}.notice-summary-total strong{color:#147d70;font-size:20px}.timeline-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px}.timeline-item{position:relative;border:1px solid var(--line);border-radius:8px;background:#fbfcfa;padding:10px 12px 10px 30px}.timeline-item:before{content:"";position:absolute;left:12px;top:16px;width:8px;height:8px;border-radius:999px;background:#147d70}.timeline-item span,.timeline-item strong{display:block}.timeline-item span{color:var(--muted);font-size:12px}.timeline-item strong{margin-top:4px;font-size:14px}.table-head-row{background:#f3f7f4;font-weight:700}.statement-preview{display:grid;grid-gap:12px;gap:12px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px}.statement-header{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:flex-end;border-bottom:1px solid var(--line);padding-bottom:12px}.statement-header span,.statement-header strong{display:block}.statement-header span{color:var(--muted);font-size:12px}.statement-header strong{margin-top:4px;font-size:18px}.statement-money-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);grid-gap:10px;gap:10px}.compact-table .table-row{min-height:40px}.audit-summary{grid-column:1/-1;display:grid;grid-gap:4px;gap:4px;margin:0 0 10px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#f8faf9}.audit-summary small{color:var(--muted);line-height:1.45}.row-tags{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.operational-filter-band{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#f7faf8}.operational-filter-band label{min-width:150px;display:grid;grid-gap:4px;gap:4px}.operational-filter-band label>span{color:var(--muted);font-size:11px;font-weight:700}.operational-filter-band input,.operational-filter-band select{width:100%;height:34px;border:1px solid var(--line-strong,#cbd6d1);border-radius:6px;background:white;padding:0 10px;color:var(--text);font:inherit}.form-grid select:disabled,.operational-filter-band select:disabled{cursor:not-allowed;border-color:#d8dfdb;background:#eef2f0;color:#8a9690}.operational-filter-band .operational-keyword{min-width:220px;flex:1 1 240px}.filter-result-count{min-height:34px;display:inline-flex;align-items:center;color:var(--muted);font-size:12px;font-weight:700}.section-hidden{display:none}.classified-data-list{display:grid;grid-gap:14px;gap:14px}.classified-data-group{border-bottom:1px solid var(--line);padding-bottom:8px}.classified-data-heading{width:100%;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;background:#f5f8f6;padding:8px 10px;color:var(--text);cursor:pointer;text-align:left}.classified-data-heading>span{display:flex;align-items:center;gap:7px}.classified-data-heading svg{transition:transform .16s ease}.classified-data-heading svg.collapsed{transform:rotate(-90deg)}.classified-data-heading small{color:var(--muted)}.report-empty-state{min-height:180px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:28px}.report-empty-state>div:first-child{max-width:560px}.report-empty-state h2{margin:10px 0 6px;font-size:18px}@media (max-width:640px){.report-empty-state{align-items:stretch;flex-direction:column;padding:18px}}.property-hierarchy-list{display:grid;grid-gap:20px;gap:20px}.property-project-band{min-width:0}.property-project-band>header{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:2px solid #dce8e3;padding:0 4px 8px}.building-expand-button>span,.property-floor-grid button>span,.property-project-band>header div{min-width:0;display:flex;align-items:baseline;gap:8px}.property-project-band>header strong{font-size:16px}.building-expand-button small,.property-floor-grid small,.property-project-band>header small{color:var(--muted);font-size:11px;font-weight:500}.property-project-band>header>span{color:var(--muted);font-size:12px}.property-building-group{border-bottom:1px solid var(--line)}.property-building-row{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 4px}.building-expand-button{min-width:0;display:flex;align-items:center;gap:8px;border:0;background:transparent;padding:5px 4px;color:var(--text);cursor:pointer;text-align:left}.building-expand-button svg{flex:0 0 auto;transition:transform .16s ease}.building-expand-button svg.collapsed{transform:rotate(-90deg)}.property-floor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:7px;gap:7px;padding:0 4px 10px 29px}.property-floor-grid button{min-width:0;min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:6px;background:white;padding:7px 9px;color:var(--text);cursor:pointer;text-align:left}.property-floor-grid button:hover{border-color:#8bb7aa;background:#f2f8f5}.property-floor-grid button>span:last-child{flex:0 0 auto;color:var(--muted);font-size:11px}.hierarchy-empty{padding:14px 6px;color:var(--muted);font-size:12px}.muted-text{margin:0;color:var(--muted);font-size:13px;line-height:1.6}.code-box{max-width:100%;background:#f8faf9;padding:12px;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.5;word-break:break-all}.code-box,.erp-table{overflow:auto;border:1px solid var(--line);border-radius:8px}.erp-table{width:100%;background:white}.erp-table-row{min-width:980px;display:grid;align-items:center;border-top:1px solid var(--line)}.erp-table-row:first-child{border-top:0}.erp-table-head{min-height:42px;background:#f3f7f5;color:var(--muted);font-size:12px;font-weight:700}.erp-table-row>span{min-width:0;min-height:46px;padding:10px 12px;border-left:1px solid var(--line);display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.erp-table-row>span:first-child{border-left:0}.erp-table-row.selected-row{background:#edf7f4;box-shadow:inset 3px 0 0 var(--teal)}.erp-table-row>.select-cell{justify-content:center;padding:0 8px}.select-cell input{width:17px;height:17px;accent-color:var(--teal)}.erp-table-row small,.erp-table-row strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.erp-table-row small{margin-top:3px;color:var(--muted);font-size:12px}.erp-row-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;white-space:normal}.number-cell{justify-content:flex-end;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.role-table .erp-table-row{min-width:940px;grid-template-columns:1.35fr .65fr .55fr .55fr .8fr 1.45fr}.contract-table .erp-table-row{grid-template-columns:1.35fr 1.4fr 1.2fr .9fr .8fr 1.7fr}.bill-table .erp-table-row{min-width:1180px;grid-template-columns:44px 1.45fr 1.35fr 1.15fr .78fr .72fr .72fr 2.35fr}.payment-table .erp-table-row{grid-template-columns:1.3fr 1.4fr .9fr .8fr .7fr .7fr 1.2fr}.unit-table .erp-table-row{grid-template-columns:1.25fr 1.4fr .7fr .9fr .85fr 1.7fr}.badge.warning{background:rgb(184 121 25/.14);color:#936312}.vacancy-overview{display:grid;grid-gap:14px;gap:14px;margin:4px 0 18px}.vacancy-overview-header,.vacancy-project-heading,.vacancy-unit-group-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.vacancy-overview-header h2{margin:2px 0 4px;font-size:18px}.vacancy-overview-header p{margin:0;color:var(--muted);font-size:12px}.vacancy-metric-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px}.vacancy-metric{min-height:96px;border:1px solid var(--line);border-top:3px solid #7d8a84;border-radius:6px;padding:11px 12px;display:grid;align-content:space-between;grid-gap:5px;gap:5px;background:white}.vacancy-metric.tone-warning{border-top-color:var(--warning)}.vacancy-metric small,.vacancy-metric>span{color:var(--muted);font-size:11px}.vacancy-metric strong{font-size:20px;line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vacancy-empty-state,.vacancy-loading-row{min-height:84px;border:1px dashed var(--line);border-radius:6px;display:flex;align-items:center;justify-content:center;gap:8px;background:#fbfcfb;color:var(--muted);font-size:13px}.vacancy-empty-state{flex-direction:column;padding:18px}.vacancy-empty-state strong{color:var(--text)}.vacancy-project-group{border-top:1px solid var(--line);padding-top:14px}.vacancy-project-heading{min-height:48px;padding:0 2px 10px}.vacancy-project-heading>div:first-child,.vacancy-project-heading>div:first-child>span:last-child{min-width:0;display:flex;align-items:center;gap:9px}.vacancy-project-heading small,.vacancy-project-heading strong{display:block}.vacancy-project-heading small{margin-top:3px;color:var(--muted);font-size:11px}.vacancy-project-icon{width:32px;height:32px;border-radius:6px;display:grid;place-items:center;background:#edf7f4;color:var(--teal)}.vacancy-project-summary{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px 12px;color:var(--muted);font-size:12px;text-align:right}.vacancy-building-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:8px;gap:8px}.vacancy-building-button{min-height:150px;border:1px solid var(--line);border-radius:6px;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:space-between;grid-gap:10px;gap:10px;background:white;color:var(--text);text-align:left;cursor:pointer}.vacancy-building-button:focus-visible,.vacancy-building-button:hover{border-color:rgb(15 118 110/.55);box-shadow:0 5px 16px rgb(24 42 34/.08);outline:none}.vacancy-building-button.has-alert{border-left:3px solid var(--warning)}.vacancy-building-name small,.vacancy-building-name strong{display:block}.vacancy-building-name small{margin-top:3px;color:var(--muted);font-size:11px}.vacancy-building-count{color:var(--muted);font-size:12px;white-space:nowrap}.vacancy-building-count strong{color:var(--text);font-size:20px}.vacancy-building-details,.vacancy-building-footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px}.vacancy-building-details>span{display:inline-flex;align-items:center;gap:4px}.vacancy-building-footer{border-top:1px solid var(--line);padding-top:8px}.vacancy-building-footer>span:last-child{display:inline-flex;align-items:center;gap:2px;color:var(--teal);font-weight:700}.vacancy-unit-group+.vacancy-unit-group{border-top:12px solid var(--surface-2)}.vacancy-unit-group-heading{min-width:980px;min-height:46px;padding:8px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f8faf9}.vacancy-unit-group-heading small,.vacancy-unit-group-heading strong{display:block}.vacancy-unit-group-heading small{margin-top:3px;color:var(--muted);font-size:11px}.unit-photo-workbench{display:grid;grid-gap:10px;gap:10px}.unit-photo-tabs{display:flex;gap:4px;overflow-x:auto;padding-bottom:2px}.unit-photo-tabs button{min-width:108px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:white;color:var(--muted);font-size:12px;cursor:pointer}.unit-photo-tabs button.active{border-color:var(--teal);background:#edf7f4;color:var(--teal);font-weight:700}.unit-photo-tabs small{min-width:18px;border-radius:99px;padding:1px 5px;background:rgb(15 118 110/.1);color:inherit;text-align:center}.unit-photo-category-note{min-height:32px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.unit-photo-category-note>span{display:inline-flex;align-items:center;gap:4px;color:var(--text);font-weight:700}.unit-photo-category-note .icon-button{margin-left:auto}.unit-photo-upload{min-height:46px;display:flex;align-items:center;gap:8px}.unit-photo-upload label{min-width:0;flex:1 1 auto;min-height:42px;border:1px dashed var(--line);border-radius:6px;padding:0 10px;display:flex;align-items:center;gap:7px;color:var(--muted);cursor:pointer}.unit-photo-upload label:hover{border-color:var(--teal);color:var(--teal)}.unit-photo-upload label>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-photo-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.unit-photo-empty{min-height:72px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:12px}.unit-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px;gap:7px}.unit-photo-item{min-width:0;border:1px solid var(--line);border-radius:6px;padding:8px;display:grid;grid-template-columns:30px minmax(0,1fr) 16px;align-items:center;grid-gap:7px;gap:7px;background:white;color:var(--text);text-align:left;cursor:pointer}.unit-photo-item:focus-visible,.unit-photo-item:hover{border-color:var(--teal);outline:none}.unit-photo-placeholder{width:30px;height:30px;border-radius:5px;display:grid;place-items:center;background:#edf7f4;color:var(--teal)}.unit-photo-item small,.unit-photo-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unit-photo-item small{margin-top:3px;color:var(--muted);font-size:10px}.unit-photo-preview{border-top:1px solid var(--line);padding-top:10px}.unit-photo-preview>div{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.unit-photo-preview img{width:100%;max-height:340px;border:1px solid var(--line);border-radius:6px;display:block;object-fit:contain}.tenant-table .erp-table-row{grid-template-columns:1.45fr 1.1fr 1.25fr .95fr .55fr .85fr}.utility-reading-table .erp-table-row{grid-template-columns:1.25fr 1.2fr 1.35fr .9fr .8fr 1.15fr}.deposit-account-table .erp-table-row,.deposit-refund-table .erp-table-row{grid-template-columns:1.35fr 1.25fr .9fr .8fr .8fr 1.1fr}.deposit-transaction-table .erp-table-row{grid-template-columns:1.35fr 1.1fr .9fr .8fr .8fr .8fr}.expense-table .erp-table-row{grid-template-columns:1.45fr 1.2fr 1.25fr .8fr .8fr 1.55fr}.work-order-table .erp-table-row{grid-template-columns:1.35fr 1.25fr .8fr 1.1fr .85fr 2.2fr}.move-out-table .erp-table-row{grid-template-columns:1.25fr 1.3fr 1.05fr 1.25fr .75fr 2fr}.accounting-period-table .erp-table-row{grid-template-columns:1.25fr 1.2fr 1.2fr .8fr 1.1fr .85fr}.monthly-closing-table .erp-table-row{grid-template-columns:1.25fr 1.25fr .8fr .8fr 1fr 1.25fr}.report-snapshot-table .erp-table-row{grid-template-columns:1.25fr 1.2fr 1.1fr .9fr 1.05fr 1fr .75fr}.report-snapshot-project-table .erp-table-row{grid-template-columns:1.3fr .9fr .8fr .8fr .8fr 1fr}.notification-table .erp-table-row{min-width:1120px;grid-template-columns:1.65fr .9fr 1fr .9fr 1fr 1.55fr}.automation-job-table .erp-table-row{min-width:980px;grid-template-columns:1.8fr .9fr .7fr .95fr .75fr}.automation-run-table .erp-table-row{min-width:1040px;grid-template-columns:1.25fr 1.2fr .7fr 1.55fr 1fr}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:rgb(29 37 33/.38)}.drawer-backdrop{place-items:center;padding:clamp(12px,3vh,24px)}.detail-modal{width:min(1120px,100%);max-height:calc(100dvh - 48px);background:var(--surface);box-shadow:var(--shadow);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.action-drawer,.detail-modal{border:1px solid var(--line);border-radius:8px}.action-drawer{width:min(720px,100%);height:auto;max-height:calc(100dvh - clamp(24px, 6vh, 48px));box-shadow:0 18px 48px rgb(20 31 26/.2)}.wide-action-drawer{width:min(1000px,100%)}.document-workbench{display:grid;grid-gap:14px;gap:14px}.workbench-hero{display:grid;grid-template-columns:minmax(0,1.3fr) auto minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:12px;background:#f8fbf9}.workbench-hero div{display:grid;grid-gap:4px;gap:4px}.workbench-hero strong{overflow-wrap:anywhere}.workbench-tabs{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid var(--line)}.workbench-tabs button{min-height:38px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);display:inline-flex;align-items:center;gap:6px;padding:0 10px;white-space:nowrap;font-weight:700}.workbench-tabs button.active{border-color:var(--teal);color:var(--text)}.workbench-tabs button span{min-width:18px;border-radius:999px;background:var(--surface-2);color:var(--teal);font-size:12px;line-height:18px;text-align:center}.workbench-action-grid,.workbench-footer-actions{display:flex;flex-wrap:wrap;gap:8px}.workbench-action-grid .ghost-button,.workbench-action-grid .primary-button,.workbench-footer-actions .ghost-button,.workbench-footer-actions .primary-button{min-width:104px;justify-content:center}.detail-modal-header{min-height:64px;padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fbfcfa}.detail-modal-header h2,.detail-modal-header p{margin:0}.detail-modal-header h2{font-size:18px}.detail-modal-header p{margin-top:4px;color:var(--muted);font-size:13px}.detail-modal-footer,.detail-modal-header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.detail-modal-body{min-height:0;overflow:auto;padding:18px;display:grid;grid-gap:14px;gap:14px}.action-drawer .detail-modal-body{padding:20px;background:#fcfdfc}.action-drawer .form-grid>button[type=submit]:last-child{grid-column:1/-1;justify-self:end;min-width:132px;margin-top:4px}.action-drawer .form-grid>.row-tags:last-child{grid-column:1/-1;justify-content:flex-end;padding-top:4px}.action-drawer .danger-button,.action-drawer .ghost-button,.action-drawer .primary-button,.detail-modal-footer .danger-button,.detail-modal-footer .ghost-button,.detail-modal-footer .primary-button{min-height:36px;justify-content:center}.detail-modal-footer{justify-content:flex-end;padding:12px 18px;border-top:1px solid var(--line);background:#fbfcfa}.detail-modal-footer>.primary-button:last-child{min-width:116px}.modal-section{display:grid;grid-gap:10px;gap:10px}.modal-section h3{margin:0;font-size:14px}.action-hint{margin:0;border-left:3px solid var(--teal);border-radius:6px;background:var(--surface-2);padding:10px 12px;color:var(--text);font-size:13px;line-height:1.6}.flow-guide{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px}.flow-step{min-height:72px;border:1px solid var(--line);border-radius:8px;padding:10px;display:flex;gap:8px;background:#fcfdfb}.flow-step.done{border-color:rgb(15 118 110/.22);background:rgb(15 118 110/.08)}.flow-step.current{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}.flow-step.blocked{border-color:rgb(180 35 66/.3);background:rgb(180 35 66/.07)}.flow-index{width:22px;height:22px;border-radius:999px;flex:0 0 auto;display:grid;place-items:center;background:white;border:1px solid var(--line);color:var(--muted);font-size:12px}.flow-step span,.flow-step strong{display:block}.flow-step strong{font-size:13px}.flow-step span:not(.flow-index){margin-top:3px;color:var(--muted);font-size:12px;line-height:1.4}.mobile-nav,.mobile-project-context{display:none}.workspace-dashboard{display:grid;grid-gap:12px;gap:12px}.workspace-command-header{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:2px 2px 6px}.workspace-command-header h2,.workspace-command-header p{margin:0}.workspace-command-header h2{margin-top:3px;font-size:22px}.workspace-command-header p{margin-top:5px;color:var(--muted);font-size:12px}.workspace-eyebrow{color:var(--teal);font-size:11px;font-weight:700}.workspace-command-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px}.compact-select-control{min-height:38px;display:grid;grid-template-columns:auto minmax(92px,1fr);align-items:center;grid-gap:8px;gap:8px;border:1px solid var(--line);border-radius:6px;padding:0 9px;background:white}.compact-select-control span{color:var(--muted);font-size:11px}.compact-select-control select{border:0;outline:0;background:white;color:var(--text);font-size:12px}.api-health{min-height:36px;display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.api-health>span{width:8px;height:8px;border-radius:50%;background:var(--danger)}.api-health.ok>span{background:var(--success)}.workspace-inline-error{min-height:44px;border:1px solid rgb(195 60 84/.3);border-radius:6px;padding:7px 10px;display:flex;align-items:center;gap:9px;background:#fff4f5;color:var(--danger);font-size:13px}.workspace-inline-error .ghost-button{margin-left:auto}.workspace-metric-strip{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));grid-gap:8px;gap:8px}.workspace-metric{min-width:0;min-height:102px;border:1px solid var(--line);border-top:3px solid #87938d;border-radius:6px;padding:12px 13px;display:grid;align-content:space-between;grid-gap:6px;gap:6px;background:white;color:var(--text);text-align:left}.workspace-metric:hover{border-color:rgb(15 118 110/.45);box-shadow:0 6px 18px rgb(24 42 34/.07)}.workspace-metric.tone-success{border-top-color:var(--success)}.workspace-metric.tone-warning{border-top-color:var(--warning)}.workspace-metric.tone-danger{border-top-color:var(--danger)}.workspace-metric>span{color:var(--muted);font-size:12px}.workspace-metric strong{overflow:hidden;font-size:22px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.workspace-metric small{display:inline-flex;align-items:center;gap:2px;color:var(--teal);font-size:10px}.loading-block{background:linear-gradient(90deg,#f4f6f5,#fff,#f4f6f5);background-size:220% 100%;animation:loading-shimmer 1.4s linear infinite}@keyframes loading-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.workspace-alert-row{display:flex;gap:7px;overflow-x:auto}.workspace-alert{min-height:34px;border:1px solid rgb(196 123 19/.28);border-radius:5px;padding:0 10px;display:inline-flex;align-items:center;gap:7px;background:#fff9ec;color:#8c590d;white-space:nowrap;font-size:12px}.workspace-alert.tone-danger{border-color:rgb(195 60 84/.28);background:#fff4f5;color:var(--danger)}.workspace-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;grid-gap:10px;gap:10px;align-items:stretch}.erp-section,.workspace-queue-panel{min-width:0;border:1px solid var(--line);border-radius:6px;background:white}.erp-section-heading{min-height:58px;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line)}.erp-section-heading h3,.erp-section-heading p{margin:0}.erp-section-heading h3{font-size:15px}.erp-section-heading p{margin-top:3px;color:var(--muted);font-size:11px}.erp-table-scroll{min-width:0;overflow-x:auto}.erp-data-table{width:100%;border-collapse:collapse;font-size:12px}.erp-data-table td,.erp-data-table th{height:48px;border-bottom:1px solid #e8ece9;padding:7px 9px;text-align:left;white-space:nowrap}.erp-data-table th{height:38px;background:#f7f9f8;color:var(--muted);font-size:11px;font-weight:600}.erp-data-table tbody tr{cursor:pointer}.erp-data-table tbody tr:hover{background:#f2f8f6}.erp-data-table td small,.erp-data-table td strong{display:block}.erp-data-table td small{margin-top:3px;color:var(--muted);font-size:10px}.cell-danger{color:var(--danger);font-weight:700}.table-rate{position:relative;width:86px;height:24px;overflow:hidden;border-radius:4px;background:#edf1ef}.table-rate>span{position:absolute;inset:0 auto 0 0;background:rgb(22 133 109/.18)}.table-rate.tone-warning>span{background:rgb(196 123 19/.2)}.table-rate.tone-danger>span{background:rgb(195 60 84/.2)}.table-rate strong{position:relative;z-index:1;padding:5px 7px;font-size:11px}.table-empty{padding:26px 14px;color:var(--muted);text-align:center;font-size:12px}.workspace-queue-panel{padding-bottom:8px}.workspace-queue-list{display:grid;grid-gap:5px;gap:5px;padding:8px}.workspace-queue-item{min-height:47px;border:1px solid #e4e9e6;border-left:3px solid #87938d;border-radius:5px;padding:0 9px;display:grid;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;grid-gap:8px;gap:8px;background:white;color:var(--text);text-align:left}.workspace-queue-item.tone-warning{border-left-color:var(--warning)}.workspace-queue-item.tone-danger{border-left-color:var(--danger)}.workspace-queue-item:hover{background:var(--surface-2)}.workspace-queue-item span{font-size:12px}.workspace-queue-item strong{font-size:17px}.queue-clear-state{min-height:110px;display:grid;place-items:center;align-content:center;grid-gap:7px;gap:7px;color:var(--muted);font-size:12px;text-align:center}.recent-document-grid{display:grid}.recent-document-row{min-height:52px;border:0;border-bottom:1px solid #e8ece9;padding:7px 12px;display:grid;grid-template-columns:34px minmax(0,1fr) 88px 108px 18px;align-items:center;grid-gap:9px;gap:9px;background:white;color:var(--text);text-align:left}.recent-document-row:hover{background:#f2f8f6}.recent-document-icon{width:30px;height:30px;border-radius:5px;display:grid;place-items:center;background:var(--surface-2);color:var(--teal)}.recent-document-main{min-width:0}.recent-document-main small,.recent-document-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-document-main strong{font-size:12px}.recent-document-main small{margin-top:3px}.recent-document-main small,.recent-document-row time{color:var(--muted);font-size:10px}.status-chip{justify-self:start;border-radius:4px;padding:4px 7px;background:#edf3f0;color:#4d5e56;font-size:10px}.erp-drawer-backdrop{position:fixed;inset:0;z-index:80;display:flex;justify-content:flex-end;background:rgb(20 31 26/.35)}.erp-detail-drawer{width:min(720px,94vw);height:100%;display:grid;grid-template-rows:auto auto 1fr;background:white;box-shadow:-18px 0 45px rgb(20 31 26/.17)}.erp-detail-drawer>header{min-height:72px;padding:12px 16px;display:grid;grid-template-columns:38px minmax(0,1fr) 40px;align-items:center;grid-gap:10px;gap:10px;border-bottom:1px solid var(--line)}.erp-detail-drawer h2,.erp-detail-drawer p{margin:0}.erp-detail-drawer h2{font-size:17px}.erp-detail-drawer p{margin-top:4px;color:var(--muted);font-size:11px}.drawer-title-mark{width:36px;height:36px;border-radius:6px;display:grid;place-items:center;background:var(--surface-2);color:var(--teal)}.erp-drawer-tabs{min-height:42px;display:flex;gap:20px;padding:0 16px;border-bottom:1px solid var(--line);overflow-x:auto}.erp-drawer-tabs button{border:0;border-bottom:2px solid transparent;background:white;color:var(--muted);white-space:nowrap;font-size:12px}.erp-drawer-tabs button.active{border-bottom-color:var(--teal);color:var(--text);font-weight:700}.erp-detail-drawer-body{min-height:0;overflow-y:auto;padding:16px}.drawer-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.drawer-metric-grid>div{min-height:82px;border:1px solid var(--line);border-radius:5px;padding:10px;display:grid;align-content:space-between}.drawer-metric-grid span{color:var(--muted);font-size:10px}.drawer-metric-grid strong{font-size:16px}.drawer-fact-list{margin:14px 0 0;border:1px solid var(--line);border-radius:5px}.drawer-fact-list>div{min-height:44px;padding:8px 11px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e8ece9}.drawer-fact-list>div:last-child{border-bottom:0}.drawer-fact-list dt{color:var(--muted);font-size:11px}.drawer-fact-list dd{margin:0;font-size:12px;font-weight:700}.drawer-alert-list{margin-top:14px;display:grid;grid-gap:6px;gap:6px}.drawer-alert{min-height:38px;border-radius:5px;padding:7px 9px;display:flex;align-items:center;gap:8px;background:#fff9ec;color:#8c590d;font-size:11px}.drawer-alert.tone-danger{background:#fff4f5;color:var(--danger)}.billing-process-header{min-height:54px;border:1px solid var(--line);border-radius:6px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:white}.billing-process-title span,.billing-process-title strong{display:block}.billing-process-title span{color:var(--teal);font-size:10px;font-weight:700}.billing-process-title strong{margin-top:3px;font-size:13px}.billing-process-steps{display:flex;align-items:center;gap:6px;overflow-x:auto}.billing-process-steps>span{display:inline-flex;align-items:center;gap:5px;color:var(--muted);white-space:nowrap;font-size:11px}.billing-process-steps b{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--teal);font-size:10px}.billing-summary-strip{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));grid-gap:7px;gap:7px}.billing-summary-strip>div{min-height:68px;border:1px solid var(--line);border-radius:5px;padding:9px 11px;display:grid;align-content:space-between;background:white}.billing-summary-strip span{color:var(--muted);font-size:10px}.billing-summary-strip strong{overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.billing-summary-strip .danger strong{color:var(--danger)}.erp-inner-tabs{min-height:42px;display:flex;align-items:flex-end;gap:22px;border:1px solid var(--line);border-radius:6px 6px 0 0;padding:0 13px;background:white;overflow-x:auto}.erp-inner-tabs button{min-height:41px;border:0;border-bottom:2px solid transparent;padding:0 1px;display:inline-flex;align-items:center;gap:6px;background:white;color:var(--muted);white-space:nowrap;font-size:12px}.erp-inner-tabs button.active{border-bottom-color:var(--teal);color:var(--text);font-weight:700}.erp-inner-tabs button span{min-width:19px;height:18px;border-radius:9px;padding:0 5px;display:grid;place-items:center;background:#edf1ef;color:var(--muted);font-size:9px}.billing-data-panel{border-radius:6px}.utility-process-header{min-height:56px;border:1px solid var(--line);border-radius:6px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:white}.utility-process-header>div:first-child span,.utility-process-header>div:first-child strong{display:block}.utility-process-header>div:first-child span{color:var(--teal);font-size:10px;font-weight:700}.utility-process-header>div:first-child strong{margin-top:4px;font-size:13px}.utility-status-summary{display:flex;gap:6px}.utility-status-summary>span{min-height:30px;border:1px solid var(--line);border-radius:5px;padding:0 8px;display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:10px}.utility-status-summary b{color:var(--text);font-size:14px}.utility-status-summary .danger{border-color:rgb(195 60 84/.28);background:#fff4f5;color:var(--danger)}.utility-status-summary .danger b{color:var(--danger)}.utility-task-filters{min-height:48px;border:1px solid var(--line);border-radius:6px;padding:7px 10px;display:flex;align-items:center;gap:8px;background:#f8faf9}.utility-task-filters label{min-height:34px;display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:5px;padding:0 8px;background:white}.utility-filter-result,.utility-task-filters label span{color:var(--muted);font-size:10px}.utility-task-filters input,.utility-task-filters select{border:0;outline:0;background:white;color:var(--text);font-size:12px}.utility-filter-result{margin-left:auto}.utility-pending-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:8px;gap:8px}.utility-task-card{min-width:0;min-height:164px;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:6px;padding:11px;display:grid;grid-template-columns:1fr auto;align-content:start;grid-gap:6px 9px;gap:6px 9px;background:white;color:var(--text);text-align:left}.utility-task-card:hover{border-color:rgb(37 99 235/.42);box-shadow:0 7px 18px rgb(31 56 91/.08)}.utility-task-type{justify-self:start;border-radius:4px;padding:3px 6px;background:#eaf1ff;color:var(--blue);font-size:9px}.utility-task-card>small,.utility-task-card>strong{grid-column:1/-1}.utility-task-card>strong{font-size:17px}.utility-task-card>small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px}.utility-task-card>div{min-width:0;border-top:1px solid #edf0ee;padding-top:7px}.utility-task-card>div b,.utility-task-card>div span{display:block}.utility-task-card>div span{color:var(--muted);font-size:9px}.utility-task-card>div b{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.utility-task-card em{grid-column:1/-1;margin-top:4px;display:inline-flex;align-items:center;justify-content:flex-end;gap:2px;color:var(--blue);font-size:10px;font-style:normal;font-weight:700}.action-hint.danger{border-color:rgb(195 60 84/.28);background:#fff4f5;color:var(--danger)}@media (max-width:920px){.app-shell{display:block}.content,.workspace,.workspace-module{width:100%;max-width:100%;min-width:0}.sidebar{display:none}.topbar{padding:0 16px}.topbar-project-select,.topbar-title{display:none}.topbar-search-wrap{flex:1 1 auto;max-width:none}.content{padding:16px 16px 92px}.mobile-project-context{min-height:42px;border-bottom:1px solid var(--line);padding:6px 16px;display:grid;grid-template-columns:18px auto minmax(0,1fr);align-items:center;grid-gap:7px;gap:7px;background:white;color:var(--muted);font-size:11px}.mobile-project-context select{min-width:0;height:30px;border:0;background:transparent;color:var(--text);font:inherit;text-align:right}.workspace-tabs{margin-right:-16px;padding-right:16px}.dashboard-hero{align-items:flex-start;flex-direction:column}.dashboard-hero-actions{justify-content:flex-start}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-layout{grid-template-columns:1fr}.billing-process-header,.workspace-command-header{align-items:flex-start;flex-direction:column}.billing-process-steps{width:100%;padding-bottom:2px}.billing-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.utility-process-header{align-items:flex-start;flex-direction:column}.utility-status-summary{width:100%;overflow-x:auto}.utility-task-filters{align-items:stretch;flex-wrap:wrap}.utility-filter-result{width:100%;margin-left:0}.workspace-command-controls{width:100%;justify-content:flex-start;overflow-x:auto}.workspace-metric-strip{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(160px,42vw);overflow-x:auto;padding-bottom:3px}.vacancy-overview-header,.vacancy-project-heading{align-items:flex-start;flex-direction:column}.vacancy-metric-strip{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(154px,43vw);overflow-x:auto;padding-bottom:3px}.vacancy-project-summary{justify-content:flex-start;text-align:left}.vacancy-building-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vacancy-unit-group-heading{min-width:980px}.workspace-dashboard-grid{grid-template-columns:1fr}.recent-document-row{grid-template-columns:34px minmax(0,1fr) 74px 18px}.recent-document-row time{display:block}.drawer-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-rates{grid-template-columns:1fr}.module-actionbar{align-items:stretch;flex-direction:column}.module-actionbar-actions{justify-content:flex-start}.module-actionbar-actions .ghost-button,.module-actionbar-actions .primary-button{flex:1 1 148px}.data-row,.dense-grid,.detail-grid,.form-grid,.metric-grid,.module-grid,.notice-preview,.notice-summary-grid,.panel-grid,.portfolio-grid,.quick-link-grid,.split-layout,.summary-grid{grid-template-columns:1fr}.tenant-notice-header{flex-direction:column}.project-maintenance-main{grid-template-columns:1fr}.tenant-notice-code{min-width:0;text-align:left}.metric-grid.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-actions{gap:6px}.quick-menu-wrap,.topbar-actions .ghost-button{display:none}.user-chip span{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-tags{justify-content:flex-start}.operational-filter-band{align-items:stretch}.operational-filter-band .operational-keyword,.operational-filter-band label{min-width:180px;flex:1 1 210px}.property-building-row{align-items:flex-start;flex-direction:column}.property-floor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-backdrop{padding:10px;place-items:stretch}.detail-modal{width:100%}.action-drawer,.detail-modal{max-height:calc(100dvh - 20px)}.action-drawer{border-radius:8px}.erp-detail-drawer{width:100%}.detail-modal-footer,.detail-modal-header{align-items:flex-start}.detail-modal-footer{justify-content:stretch}.detail-modal-footer .danger-button,.detail-modal-footer .ghost-button,.detail-modal-footer .primary-button{flex:1 1 140px}.action-drawer .detail-modal-body{padding:14px}.action-drawer .form-grid>button[type=submit]:last-child{width:100%}.flow-guide,.statement-header,.statement-money-grid,.workbench-hero{grid-template-columns:1fr}.erp-table-row{min-width:900px}.role-table .erp-table-row{min-width:940px}.mobile-nav{height:64px;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(72px,1fr);overflow-x:auto;overscroll-behavior-x:contain;position:fixed;left:0;right:0;bottom:0;z-index:20;background:white;border-top:1px solid var(--line)}.mobile-nav button{border:0;background:transparent;color:var(--muted);display:grid;place-items:center;grid-gap:3px;gap:3px;font-size:11px}.mobile-nav button.active{color:var(--teal)}}@media (max-width:640px){.topbar{gap:8px;padding:0 10px}.topbar-actions,.user-chip{gap:4px}.user-chip>span{display:none}.content{padding:12px 10px 88px}.operational-filter-band{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:9px}.operational-filter-band .operational-keyword,.operational-filter-band label{min-width:0;width:100%}.operational-filter-band .operational-keyword,.operational-filter-band .primary-button{grid-column:1/-1}.property-project-band>header{align-items:flex-start;flex-direction:column}.property-floor-grid{grid-template-columns:1fr;padding-left:28px}.workspace-command-header h2{font-size:19px}.compact-select-control{grid-template-columns:auto minmax(84px,1fr)}.api-health{display:none}.workspace-metric-strip{margin-right:-10px;padding-right:10px}.billing-summary-strip{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(145px,44vw);overflow-x:auto}.billing-process-title{display:none}.billing-process-header{min-height:43px;padding:8px}.utility-process-header>div:first-child{display:none}.utility-process-header{min-height:42px;padding:6px 8px}.utility-status-summary>span{flex:1 0 auto;justify-content:center}.utility-task-filters label{flex:1 1 145px}.utility-task-filters input,.utility-task-filters select{min-width:0;width:100%}.utility-pending-grid{grid-template-columns:1fr}.utility-task-card{min-height:154px}.utility-task-card>em{min-height:36px;border-radius:5px;justify-content:center;background:var(--blue);color:white;font-size:12px}.workspace-portfolio-section .erp-table-scroll{overflow:visible}.portfolio-operation-table,.portfolio-operation-table tbody,.portfolio-operation-table td,.portfolio-operation-table tr{display:block;width:100%}.portfolio-operation-table thead{display:none}.portfolio-operation-table tbody{padding:8px}.portfolio-operation-table tbody tr{margin-bottom:8px;border:1px solid var(--line);border-radius:6px;padding:7px 10px;background:white}.portfolio-operation-table tbody tr:last-child{margin-bottom:0}.portfolio-operation-table td{min-height:32px;height:auto;border-bottom:1px solid #edf0ee;padding:7px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;white-space:normal}.portfolio-operation-table td:first-child{display:block;padding-bottom:10px}.portfolio-operation-table td:last-child{display:none}.portfolio-operation-table td:before{content:attr(data-label);color:var(--muted);font-size:10px}.table-rate{width:92px}.recent-document-row{grid-template-columns:32px minmax(0,1fr) auto 18px;grid-template-rows:auto auto}.recent-document-row .recent-document-icon,.recent-document-row>svg:last-child{grid-row:1/3}.recent-document-row .status-chip{grid-column:3;grid-row:1}.recent-document-row time{grid-column:3;grid-row:2}.erp-detail-drawer>header{grid-template-columns:34px minmax(0,1fr) 38px;padding:10px}.erp-drawer-tabs{padding:0 10px}.erp-detail-drawer-body{padding:10px}}.monthly-workspace{display:grid;grid-gap:14px;gap:14px;min-width:0}.monthly-workspace-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--line)}.monthly-workspace-header h2{margin:3px 0 4px;font-size:24px;letter-spacing:0}.monthly-workspace-header p{margin:0;color:var(--muted);font-size:13px}.monthly-header-actions,.monthly-toolbar-actions,.project-summary-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.project-multi-select{position:relative}.compact-select-button{min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;color:var(--text);white-space:nowrap}.compact-select-button,.project-picker-popover{border:1px solid var(--line);border-radius:6px;background:var(--surface)}.project-picker-popover{position:absolute;z-index:40;top:calc(100% + 6px);right:0;width:min(330px,calc(100vw - 24px));max-height:380px;overflow:auto;padding:8px;box-shadow:var(--shadow)}.popover-heading{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 8px;border-bottom:1px solid var(--line)}.project-check-row{display:flex;align-items:center;gap:9px;padding:8px 6px;border-bottom:1px solid #edf0ee;cursor:pointer}.project-check-row span{min-width:0;display:grid;grid-gap:2px;gap:2px}.project-check-row small{color:var(--muted)}.year-month-bar{display:grid;grid-template-columns:118px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:stretch;padding:9px 0;border-bottom:1px solid var(--line)}.year-month-bar>label{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:7px;gap:7px;color:var(--muted);font-size:12px}.year-month-bar select{min-height:38px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);padding:0 7px}.month-switcher{display:grid;grid-template-columns:repeat(12,minmax(46px,1fr));overflow-x:auto;scrollbar-width:thin}.month-switcher button{min-width:46px;min-height:38px;display:inline-flex;align-items:baseline;justify-content:center;gap:2px;border:0;border-right:1px solid var(--line);background:#f1f4f2;color:var(--muted)}.month-switcher button:first-child{border-radius:6px 0 0 6px}.month-switcher button:last-child{border-right:0;border-radius:0 6px 6px 0}.month-switcher button.active{background:var(--teal);color:white}.month-switcher button strong{font-size:14px}.month-switcher button span{font-size:10px}.monthly-primary-tabs,.monthly-subviews{display:flex;align-items:center;gap:2px;overflow-x:auto;scrollbar-width:thin}.monthly-primary-tabs{border-bottom:1px solid var(--line)}.monthly-primary-tabs button{min-width:96px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);white-space:nowrap}.monthly-primary-tabs button.active{border-bottom-color:var(--teal);color:var(--teal-dark);font-weight:700}.monthly-toolbar{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px}.monthly-subviews button{min-height:32px;padding:0 12px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--muted);white-space:nowrap}.monthly-subviews button.active{border-color:#b8d8d2;background:var(--surface-2);color:var(--teal-dark);font-weight:700}.active-filter-chips{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.active-filter-chips button{min-height:28px;display:inline-flex;align-items:center;gap:5px;padding:0 8px;border:1px solid #c7d9d5;border-radius:5px;background:#f2f8f6;color:var(--teal-dark)}.active-filter-chips .clear-all{border-color:transparent;background:transparent;color:var(--muted)}.monthly-project-groups{display:grid;grid-gap:22px;gap:22px}.monthly-project-section{min-width:0;border-top:2px solid #bccbc7;background:var(--surface)}.monthly-project-heading{min-height:54px;display:grid;grid-template-columns:minmax(210px,auto) minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;padding:8px 12px;border-bottom:1px solid var(--line);background:#f3f6f4}.project-collapse-button{min-width:0;display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--text);text-align:left}.project-collapse-button>svg{transition:transform .16s ease}.project-collapse-button>svg.expanded{transform:rotate(90deg)}.project-collapse-button span{min-width:0;display:grid;grid-gap:2px;gap:2px}.project-collapse-button small,.project-collapse-button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-collapse-button small,.project-summary-line{color:var(--muted);font-size:12px}.project-summary-line span{padding-right:9px;border-right:1px solid var(--line)}.project-summary-line span:last-child{border-right:0}.summary-warning{color:var(--warning)}.danger-text,.summary-danger{color:var(--danger)}.monthly-project-body{min-width:0;overflow-x:auto}.monthly-record-table{min-width:860px}.monthly-record-row{display:grid;grid-template-columns:minmax(190px,1.35fr) minmax(180px,1.2fr) 110px 120px 105px 80px;align-items:center;min-height:50px;border-bottom:1px solid #e5eae7}.monthly-record-row>span{min-width:0;padding:8px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monthly-record-row>span:first-child{display:grid;grid-gap:2px;gap:2px}.monthly-record-row small{color:var(--muted)}.monthly-record-head{min-height:36px;background:#fafbfa;color:var(--muted);font-size:12px;font-weight:700}.load-project-more,.monthly-empty-row{width:100%;min-height:48px;display:grid;place-items:center;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--muted)}.load-project-more{color:var(--teal)}.monthly-empty-state{min-height:180px;display:grid;place-items:center;align-content:center;grid-gap:7px;gap:7px;border-top:1px solid var(--line);color:var(--muted)}.monthly-overview{display:grid;grid-gap:18px;gap:18px}.monthly-overview-projects{border-top:2px solid #bccbc7;background:var(--surface)}.overview-project-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line);background:#f3f6f4}.overview-project-head h3{margin:0;font-size:15px}.overview-project-row{width:100%;display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(4,minmax(105px,1fr)) 20px;align-items:center;grid-gap:12px;gap:12px;padding:11px 12px;border:0;border-bottom:1px solid #e4e9e6;background:var(--surface);color:var(--text);text-align:left}.monthly-record-row:not(.monthly-record-head):hover,.overview-project-row:hover{background:#f7faf8}.overview-project-row>span{min-width:0;display:grid;grid-gap:3px;gap:3px}.overview-project-row small{color:var(--muted)}.monthly-skeleton{display:grid;grid-gap:22px;gap:22px}.monthly-skeleton div{height:116px;border-top:2px solid #d4ddd9;background:linear-gradient(90deg,#edf1ef 25%,#f7f9f8 50%,#edf1ef 75%);background-size:200% 100%;animation:workspace-skeleton 1.3s linear infinite}.filter-drawer-body{display:grid;align-content:start;grid-gap:8px;gap:8px}.drawer-fixed-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px;border-top:1px solid var(--line)}.project-drilldown-path{gap:7px;padding-bottom:12px}.project-drilldown-path,.workspace-location-bar{display:flex;align-items:center;border-bottom:1px solid var(--line)}.workspace-location-bar{justify-content:space-between;gap:14px;min-height:40px;margin:0 0 12px;padding:0 2px 10px}.workspace-location-path,.workspace-location-tags{display:flex;align-items:center;gap:7px;min-width:0}.workspace-location-path{color:var(--muted);font-size:13px}.workspace-location-path strong{overflow:hidden;color:var(--text);font-weight:650;text-overflow:ellipsis;white-space:nowrap}.workspace-location-tags{justify-content:flex-end;flex-wrap:wrap}.workspace-location-tags span{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:0 8px;border:1px solid #dce5e1;border-radius:4px;background:#f7faf8;color:#527067;font-size:12px;white-space:nowrap}.project-scope-table .erp-table-row{grid-template-columns:minmax(160px,1.1fr) minmax(150px,1fr) minmax(180px,1.3fr) minmax(110px,.75fr) 92px}.project-drilldown-profile{padding:14px 0;border-bottom:1px solid var(--line)}.project-drilldown-profile h3{margin:0 0 10px;color:var(--text);font-size:14px}.project-drilldown-profile dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px 18px;gap:10px 18px;margin:0}.project-drilldown-profile dl div{min-width:0}.project-drilldown-profile dt{margin-bottom:3px;color:var(--muted);font-size:12px}.project-drilldown-profile dd{overflow:hidden;margin:0;color:var(--text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.project-drilldown-links{display:grid}.project-tree-browser{display:grid;grid-gap:4px;gap:4px;margin:14px 0 18px;border-top:1px solid var(--line)}.project-tree-browser section>button,.tree-floor>button,.tree-units button{width:100%;min-height:38px;display:flex;align-items:center;gap:8px;border:0;border-bottom:1px solid #e5eae7;background:transparent;color:var(--text);text-align:left}.project-tree-browser button.active{background:var(--surface-2);color:var(--teal-dark)}.project-tree-browser button small{margin-left:auto;color:var(--muted)}.tree-floor>button{padding-left:28px}.tree-units{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:6px 0 6px 44px;grid-gap:4px;gap:4px}.tree-units button{min-height:34px;padding:0 7px;border:1px solid var(--line);border-radius:4px;background:#fafbfa}.tree-loading{padding:16px;color:var(--muted);text-align:center}.project-mobile-drilldown{display:none}.project-drilldown-links button{min-height:46px;display:flex;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text)}.drawer-help{color:var(--muted);font-size:12px;line-height:1.6}@media (max-width:920px){.workspace-location-bar{align-items:flex-start;flex-direction:column;gap:8px}.workspace-location-tags{justify-content:flex-start}.monthly-workspace-header{display:grid}.monthly-header-actions{width:100%}.project-multi-select{flex:1 1}.compact-select-button{width:100%;justify-content:space-between}.year-month-bar{grid-template-columns:1fr}.month-switcher{grid-template-columns:repeat(12,54px)}.monthly-project-heading{grid-template-columns:minmax(0,1fr) auto}.project-summary-line{grid-column:1/-1;grid-row:2}.overview-project-row{grid-template-columns:minmax(160px,1.5fr) repeat(4,minmax(100px,1fr)) 18px;min-width:720px}.monthly-overview-projects{overflow-x:auto}}@media (max-width:640px){.monthly-workspace-header h2{font-size:20px}.monthly-header-actions>.ghost-button{flex:0 0 auto}.monthly-primary-tabs button{min-width:78px}.monthly-toolbar{align-items:flex-start;flex-direction:column}.monthly-toolbar-actions{width:100%}.monthly-project-heading{padding:9px 8px}.monthly-project-heading>.ghost-button{width:36px;overflow:hidden;padding:0 9px;white-space:nowrap}.monthly-record-table{min-width:0}.monthly-record-head{display:none}.monthly-record-row{grid-template-columns:1fr auto;gap:5px 12px;padding:10px 8px}.monthly-record-row>span{display:grid;grid-template-columns:78px minmax(0,1fr);grid-gap:7px;gap:7px;padding:2px 0;white-space:normal}.monthly-record-row>span:first-child{grid-column:1;grid-row:1;display:grid;grid-template-columns:1fr}.monthly-record-row>span:last-child{grid-column:2;grid-row:1}.monthly-record-row>span:not(:first-child):not(:last-child){grid-column:1/-1}.monthly-record-row>span:not(:first-child):not(:last-child):before{content:attr(data-label);color:var(--muted);font-size:11px}.workspace-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.project-tree-browser{display:none}.project-mobile-drilldown{display:grid;grid-gap:4px;gap:4px;margin:14px 0}}.approval-comment{max-width:760px}.approval-center-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(210px,.7fr) auto;align-items:center;grid-gap:16px;gap:16px;min-height:68px;padding:10px 14px;border-bottom:1px solid var(--border)}.approval-center-row:last-child{border-bottom:0}.approval-center-row>div{display:grid;grid-gap:4px;gap:4px;min-width:0}.approval-center-row small{color:var(--muted)}.approval-row-actions{display:flex!important;grid-auto-flow:column;justify-content:flex-end}.approval-workspace,.work-queue-board{display:grid;grid-gap:12px;gap:12px}.approval-workspace-header,.work-queue-header{margin-bottom:0}.approval-segments,.approval-view-switch,.work-queue-segments{display:flex;gap:4px;overflow-x:auto;padding:3px;background:var(--surface-muted);border:1px solid var(--line);border-radius:8px}.approval-segments button,.approval-view-switch button,.work-queue-segments button{border:0;background:transparent;color:var(--muted);border-radius:6px;padding:8px 12px;white-space:nowrap;cursor:pointer;font:inherit}.approval-segments button.active,.approval-view-switch button.active,.work-queue-segments button.active{background:white;color:var(--ink);box-shadow:0 1px 3px rgb(20 38 44/.08);font-weight:700}.approval-segments button span{margin-left:5px;color:var(--teal);font-size:11px;font-weight:700}.approval-metric-strip,.work-queue-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:8px;gap:8px}.approval-metric,.work-queue-metric{display:grid;grid-gap:4px;gap:4px;min-height:72px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:8px}.approval-metric span,.work-queue-metric span{color:var(--muted);font-size:11px}.approval-metric strong,.work-queue-metric strong{font-size:22px;line-height:1}.approval-metric small{color:var(--muted);font-size:10px}.approval-metric.tone-warning strong,.work-queue-metric.tone-warning strong{color:var(--warning)}.approval-metric.tone-danger strong,.work-queue-metric.tone-danger strong{color:var(--danger)}.work-queue-metric.tone-success strong{color:var(--success)}.approval-toolbar,.work-queue-filters{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.approval-filter-row,.compact-input-control,.work-queue-filters,.work-queue-filters label>div{display:flex;align-items:center;gap:7px}.compact-input-control{min-height:34px;padding:0 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.compact-input-control input,.compact-input-control select{min-width:120px;border:0;outline:0;background:transparent;color:var(--ink);font:inherit}.approval-project-groups,.work-queue-groups{display:grid;grid-gap:18px;gap:18px}.approval-project-group,.work-queue-group{overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:8px}.approval-project-group>header,.work-queue-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:var(--surface-muted);border-bottom:1px solid var(--line)}.approval-project-group>header div,.work-queue-group>header div{display:grid;grid-gap:3px;gap:3px}.approval-project-group>header span,.work-queue-group>header span{color:var(--muted);font-size:11px}.risk-badge{display:inline-flex;align-items:center;gap:4px;color:var(--danger)!important;font-size:11px;font-weight:700}.approval-list{display:grid}.approval-work-row{display:grid;grid-template-columns:minmax(230px,1.3fr) minmax(180px,1fr) minmax(160px,.8fr) 58px;grid-gap:14px;gap:14px;align-items:center;width:100%;padding:13px 14px;text-align:left;background:var(--surface);border:0;border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer}.approval-work-row:last-child{border-bottom:0}.approval-work-row:hover{background:#f5faf9}.approval-row-main,.approval-row-owner,.approval-row-step{display:grid;grid-gap:4px;gap:4px;min-width:0}.approval-row-main strong{font-size:14px}.approval-row-main small,.approval-row-main span,.approval-row-owner small,.approval-row-step small{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approval-row-owner small,.approval-row-owner span{display:inline-flex;align-items:center;gap:4px}.approval-row-owner strong{color:var(--ink);font-size:13px}.approval-row-arrow{color:var(--teal);font-size:11px;text-align:right}.approval-row-arrow span{font-size:18px;vertical-align:-1px}.approval-empty-state,.work-queue-empty{display:grid;place-items:center;grid-gap:6px;gap:6px;min-height:160px;color:var(--muted);text-align:center}.approval-empty-state strong,.work-queue-empty strong{color:var(--ink)}.approval-detail-drawer{width:min(720px,100%)}.approval-detail-summary{align-items:center;gap:10px;padding:12px 18px}.approval-detail-summary,.approval-detail-tabs{display:flex;border-bottom:1px solid var(--line)}.approval-detail-tabs{gap:2px;overflow-x:auto;padding:0 14px;background:var(--surface)}.approval-detail-tabs button{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;min-height:40px;padding:0 9px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:12px;cursor:pointer}.approval-detail-tabs button:hover{color:var(--ink);background:var(--surface-muted)}.approval-detail-tabs button.active{border-bottom-color:var(--teal);color:var(--teal);font-weight:700}.approval-detail-body{display:grid;grid-gap:18px;gap:18px;padding:18px;overflow:auto}.approval-detail-section{display:grid;grid-gap:9px;gap:9px}.approval-detail-section h3{margin:0;font-size:13px}.approval-timeline{display:grid;grid-gap:0;gap:0;padding-left:3px}.approval-timeline-step{position:relative;display:grid;grid-template-columns:18px 1fr;grid-gap:9px;gap:9px;min-height:58px}.approval-timeline-step:not(:last-child):before{content:"";position:absolute;left:6px;top:15px;bottom:-2px;width:1px;background:var(--line)}.timeline-dot{position:relative;z-index:1;width:13px;height:13px;margin-top:2px;border:2px solid var(--line-strong,#cbd6d1);border-radius:50%;background:white}.approval-timeline-step.current .timeline-dot{border-color:var(--teal);background:var(--teal)}.approval-timeline-step div{display:grid;grid-gap:3px;gap:3px}.approval-timeline-step small,.approval-timeline-step span{color:var(--muted);font-size:11px}.approval-comment-entry{display:grid;grid-gap:3px;gap:3px;padding:9px 10px;background:var(--surface-muted);border-radius:6px}.approval-comment-entry small,.approval-comment-entry span{color:var(--muted);font-size:11px}.approval-audit-list,.approval-file-list{display:grid;border-top:1px solid var(--line)}.approval-audit-list>div,.approval-file-list>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--line)}.approval-file-list svg{color:var(--teal)}.approval-audit-list span,.approval-file-list span{display:grid;grid-gap:2px;gap:2px;min-width:0;color:var(--muted);font-size:11px}.approval-audit-list strong,.approval-file-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:12px}.approval-audit-list small,.approval-file-list em,.approval-file-list small{color:var(--muted);font-size:10px}.approval-file-list em{justify-self:end;font-style:normal}.approval-audit-list>div{grid-template-columns:minmax(0,1fr) auto}.approval-audit-list>div>span{grid-column:1}.approval-audit-list>div>small{grid-column:2;grid-row:1/span 2;align-self:center;text-align:right}.approval-related-documents{display:flex;flex-wrap:wrap;gap:6px}.approval-related-documents span{padding:5px 7px;border-radius:5px;background:var(--surface-muted);color:var(--muted);font-size:11px}.approval-detail-actions{display:grid;grid-gap:9px;gap:9px}.approval-detail-actions>div{display:flex;justify-content:flex-end;gap:8px}.drawer-loading{position:fixed;right:18px;bottom:18px;z-index:30;padding:10px 13px;border:1px solid var(--line);border-radius:6px;background:white;box-shadow:var(--shadow)}.work-queue-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.work-queue-header h2{margin:4px 0 0;font-size:20px}.work-queue-header p{margin:5px 0 0;color:var(--muted);font-size:12px}.work-queue-dialog-backdrop{display:grid;place-items:center;padding:clamp(12px,3vh,24px)}.work-queue-detail-drawer{width:min(720px,100%);height:min(740px,calc(100dvh - clamp(24px, 6vh, 48px)));max-height:calc(100dvh - clamp(24px, 6vh, 48px));grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 48px rgb(20 31 26/.2)}.work-queue-detail-drawer .drawer-fixed-actions{justify-content:space-between;padding:12px 16px;background:#fbfcfa}.work-queue-detail-drawer .erp-detail-drawer-body{padding:18px}.work-queue-detail-status{display:flex;flex-wrap:wrap;gap:7px;padding:16px 18px 0}.work-queue-state-dialog{width:min(860px,100%);height:min(680px,calc(100dvh - 48px))}.work-queue-state-body{padding:0;gap:0}.work-queue-state-row{width:100%;display:grid;grid-template-columns:minmax(140px,.7fr) minmax(0,1.3fr) auto 20px;align-items:center;grid-gap:12px;gap:12px;padding:13px 18px;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer}.work-queue-state-row:hover{background:#f5faf9}.work-queue-state-row>span:not(.status-pill){display:grid;grid-gap:3px;gap:3px;min-width:0}.work-queue-state-row strong{font-size:13px}.work-queue-state-row small,.work-queue-state-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-queue-state-row small{color:var(--muted);font-size:11px}.work-queue-state-row>svg{color:var(--muted)}.work-queue-state-empty{display:grid;place-items:center;min-height:180px;color:var(--muted);font-size:13px}.work-journal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(21,33,31,.22);display:flex;justify-content:flex-end}.work-journal-drawer{width:min(500px,100vw);height:100%;background:var(--surface,#fff);border-left:1px solid var(--line,#d8e1dd);box-shadow:-18px 0 42px rgba(27,49,42,.16);overflow-y:auto;padding:24px}.work-journal-drawer>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.work-journal-drawer h2{margin:4px 0;font-size:21px}.work-journal-drawer header p{margin:0;color:var(--muted);font-size:13px}.work-journal-date{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}.work-journal-date input{width:158px}.work-journal-summary{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin:16px 0 24px}.work-journal-summary span{min-height:58px;padding:10px;border:1px solid var(--line,#d8e1dd);border-radius:6px;display:flex;flex-direction:column;justify-content:center;gap:4px;font-size:12px;color:var(--muted)}.work-journal-summary svg{color:var(--brand,#168075)}.work-journal-section{border-top:1px solid var(--line,#d8e1dd);padding-top:18px;margin-top:18px}.work-journal-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.work-journal-section-header h3{margin:0;font-size:15px}.work-journal-section-header>span{color:var(--muted);font-size:12px}.text-action{border:0;background:transparent;color:var(--info,#1769aa);display:inline-flex;align-items:center;padding:2px;font-size:12px}.work-journal-item,.work-journal-task{width:100%;border:0;border-bottom:1px solid var(--line,#e7eeeb);background:transparent;padding:12px 0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:10px;gap:10px;text-align:left}.work-journal-item:hover,.work-journal-task:hover{background:var(--surface-muted,#f5f8f7)}.work-journal-item strong,.work-journal-task strong{display:block;font-size:13px;color:var(--text,#1d2925)}.work-journal-item small,.work-journal-task small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.work-journal-result{width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center}.work-journal-result.success{background:#e5f4ee;color:#187759}.work-journal-result.error{background:#fff0ee;color:#c84236}.correction-policy-list{display:grid;grid-gap:8px;gap:8px}.correction-policy-list>div{border-left:3px solid var(--brand,#168075);padding:8px 10px;background:var(--surface-muted,#f5f8f7)}.correction-policy-list span,.correction-policy-list strong{display:block}.correction-policy-list strong{font-size:13px}.correction-policy-list span{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.5}@media (max-width:520px){.work-journal-drawer{width:100%;padding:18px}.work-journal-summary{gap:6px}.work-journal-summary span{min-height:52px;padding:8px;font-size:11px}}.work-queue-filters{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted)}.work-queue-filters label{display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:10px}.work-queue-filters input,.work-queue-filters select{min-height:32px;min-width:150px;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink)}.work-queue-filters .work-queue-keyword{min-width:230px}.work-queue-filters .work-queue-keyword input{min-width:0;flex:1 1}.checkbox-control{display:flex!important;align-items:center;align-self:end;min-height:32px;color:var(--ink)!important}.checkbox-control input{min-width:auto}.work-queue-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.work-queue-group.state-exception{border-color:rgb(180 35 66/.25)}.work-queue-group.state-todo{border-color:rgb(185 125 20/.25)}.work-queue-items{display:grid}.work-queue-item{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;grid-gap:10px;gap:10px;align-items:center;padding:11px 13px;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink);text-align:left;cursor:pointer}.work-queue-item:last-child{border-bottom:0}.work-queue-item:hover{background:#f5faf9}.work-queue-item>div{display:grid;grid-gap:3px;gap:3px;min-width:0}.work-queue-item strong{font-size:13px}.work-queue-item small,.work-queue-item span{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-queue-item small{display:inline-flex;align-items:center;gap:3px}@media (max-width:820px){.approval-metric-strip,.work-queue-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.approval-toolbar{align-items:stretch}.approval-filter-row,.approval-segments{width:100%}.approval-filter-row>*{flex:1 1}.approval-work-row{grid-template-columns:minmax(0,1fr) auto}.approval-row-owner{grid-column:1/2}.approval-row-arrow{grid-column:2;grid-row:1/span 2}.work-queue-groups{grid-template-columns:1fr}.work-queue-filters label{flex:1 1 160px}.work-queue-filters .work-queue-keyword{min-width:0}}@media (max-width:520px){.approval-metric-strip,.work-queue-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.approval-filter-row{flex-wrap:wrap}.approval-filter-row>*{min-width:0;flex:1 1 140px}.approval-work-row{padding:12px 10px}.approval-detail-drawer{width:100%}.approval-detail-tabs{padding-inline:8px}.approval-detail-actions>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.approval-detail-actions>div button{justify-content:center;padding-inline:5px}.work-queue-filters{align-items:stretch}.work-queue-filters label{flex-basis:100%}.work-queue-dialog-backdrop{padding:0}.work-queue-detail-drawer{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.work-queue-detail-drawer .drawer-fixed-actions{padding:10px}.work-queue-state-dialog{width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.work-queue-state-row{grid-template-columns:minmax(0,1fr) auto 18px;gap:8px;padding:12px}.work-queue-state-row>span:nth-child(2){display:none}.work-queue-item{grid-template-columns:minmax(0,1fr) 18px}.work-queue-item>div:nth-child(2){display:none}.vacancy-building-grid{grid-template-columns:1fr}.vacancy-building-button{min-height:132px}.unit-photo-grid{grid-template-columns:1fr}.unit-photo-upload{align-items:stretch;flex-direction:column}.unit-photo-upload .primary-button{width:100%;justify-content:center}}@media (max-width:720px){.approval-center-row{grid-template-columns:1fr;align-items:start}.approval-row-actions{justify-content:stretch;grid-template-columns:repeat(3,minmax(0,1fr))}}@media print{body{background:white}.detail-modal-footer,.mobile-nav,.sidebar,.topbar{display:none!important}.modal-backdrop{position:static;inset:auto;display:block;padding:0;background:white}.detail-modal{width:100%;max-height:none;border:0;box-shadow:none}.detail-modal-body{overflow:visible;padding:0}.statement-preview{border:0;padding:0}}