:root{color:#1a1d21;background:#dfe3e8;font-family:system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.45;font-synthesis:none;text-rendering:optimizeLegibility;--border: #c5ccd4;--border-subtle: #b8bfc8;--surface: #f4f5f7;--panel: #ffffff;--muted: #5c6570;--accent: #0f5f78;--accent-hover: #0d4f64;--header-bg: #eceef1;--sidebar-bg: #e4e7eb;--focus: #0f5f78;--radius: 4px;--input-h: 40px;--btn-h: 38px}*{box-sizing:border-box}body{margin:0}button,a,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.login-shell{display:grid;min-height:100vh;place-items:center;padding:16px}.login-panel{display:grid;gap:18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);width:min(440px,100%);padding:26px 28px}.login-brand{margin-bottom:0}.login-title{margin:2px 0 0;font-size:1.35rem;font-weight:600;line-height:1.3;color:#1a1d21}.login-kicker{margin:0;color:var(--muted);font-size:.8125rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.login-form{display:grid;gap:12px}.login-form label{display:grid;gap:6px;color:#2f343a;font-size:.9375rem}.login-form input{border:1px solid var(--border);border-radius:var(--radius);min-height:var(--input-h);padding:0 12px;background:#fff}.app-shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{display:flex;flex-direction:column;gap:16px;border-right:1px solid var(--border-subtle);background:var(--sidebar-bg);padding:12px 10px 14px}.brand{display:flex;align-items:center;gap:10px;padding:8px 10px;color:#14181c;font-size:1.05rem;font-weight:700}.nav{display:grid;gap:3px}.nav-button{display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:#2f343a;min-height:40px;padding:8px 10px;text-align:left;font-size:.9375rem}.nav-button:hover{background:#ffffff8c;border-color:var(--border)}.nav-button.active{background:#fff;border-color:var(--border);color:var(--accent);font-weight:600;box-shadow:0 1px #0000000a}.content{display:flex;flex-direction:column;min-width:0;padding:0;background:var(--surface)}.page-header{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--header-bg)}.page-header-main{min-width:0;flex:1 1 200px}.page-title{margin:0;font-size:1.25rem;font-weight:600;line-height:1.25;color:#14181c}.page-context{margin:4px 0 0;color:var(--muted);font-size:.875rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-context-org{font-weight:600;color:#3a4249}.page-context-sep{margin:0 .25em;color:#9aa3ab}.eyebrow{margin:0;color:var(--muted);font-size:.8125rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.primary-button,.secondary-button,.ghost-button,.status-button,.file-button,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius);min-height:var(--btn-h);padding:0 14px;font-size:.9375rem;font-weight:500}.primary-button{border:1px solid #0a4d61;background:var(--accent);color:#fff}.primary-button:hover:not(:disabled){background:var(--accent-hover)}.secondary-button{border:1px solid var(--border);background:#fff;color:var(--accent)}.secondary-button:hover:not(:disabled){background:#f8f9fa}.ghost-button{border:1px solid var(--border);background:#fff;color:#2f343a}.ghost-button:hover:not(:disabled){background:#f0f1f3}.icon-button{border:1px solid var(--border);background:#fff;color:var(--accent);width:38px;min-height:38px;min-width:38px;padding:0}.icon-text span{max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notice{display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid #b8d4c4;background:#e8f5ee;color:#1e3d2f;margin:0;padding:10px 16px;font-size:.9375rem}.notice.compact{border-radius:0}.notice svg{color:#1a7a4a;flex:0 0 auto;margin-top:1px}.form-warning{grid-column:1 / -1;border:1px solid #e4a94a;border-radius:var(--radius);background:#fff7e6;color:#6f4b00;padding:10px 12px;font-size:.9375rem;line-height:1.35}.content-body{flex:1;min-height:0;padding:14px 16px 18px;display:flex;flex-direction:column;gap:14px}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);padding:14px 16px}.two-column{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:14px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e2e5e9}.section-title-group{display:flex;align-items:baseline;gap:10px}.section-title h2{margin:0;font-size:1.0625rem;font-weight:600}.section-title-group span,.section-title small{color:var(--muted);font-size:.8125rem}.section-title .primary-button,.section-title .primary-button span{color:#fff;font-size:.9375rem;font-weight:500}.plan-title-actions{display:flex;align-items:center;gap:10px}.print-menu{position:relative}.print-menu-list{position:absolute;right:0;top:calc(100% + 4px);z-index:20;display:grid;min-width:220px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:0 8px 20px #14181c1f;padding:4px}.print-menu-list button{border:0;border-radius:var(--radius);background:transparent;color:#1a1d21;padding:9px 10px;text-align:left}.print-menu-list button:hover{background:#eef2f5}.actions,.header-actions,.upload-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.header-actions{justify-content:flex-end;flex:0 1 auto}.house-selector,.year-selector{display:grid;gap:4px;color:var(--muted);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.house-selector select,.year-selector input{border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:#1a1d21;min-width:180px;max-width:300px;min-height:var(--input-h);padding:0 10px;text-transform:none;font-size:.9375rem}.year-selector input{min-width:80px;max-width:100px}.user-badge{border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:#2f343a;max-width:220px;min-height:var(--input-h);padding:0 10px;font-size:.8125rem;line-height:var(--input-h);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-field{display:grid;gap:4px;color:var(--muted);font-size:.8125rem;font-weight:600}.inline-field select,.compact-form select,.compact-form input,.catalog-filters input,.catalog-filters select,.backlog-form input,.backlog-form select,.completion-form input,.completion-form select,.contractor-form input,.user-form input,.user-form select,.organization-settings-form input,.organization-settings-form textarea,.plan-form input,.plan-form select,.plan-status-form select,.tariff-calculation-form input,.tariff-calculation-form select,.work-backlog-item select{border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:#1a1d21;min-height:var(--input-h);padding:0 10px;font-size:.9375rem}.organization-settings-form{display:grid;gap:10px}.organization-settings-form label{display:grid;gap:5px;color:var(--muted);font-size:.8125rem;font-weight:600}.organization-settings-form textarea{min-height:88px;padding:10px;line-height:1.4;resize:vertical}.plan-status-select.approved{border-color:#6fb487;background:#e8f6ef;color:#1f6b45;font-weight:700}.section-tabs{display:inline-flex;align-items:center;gap:3px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:3px;width:fit-content}.tab-button{border:0;border-radius:2px;background:transparent;color:#2f343a;min-height:34px;padding:0 16px;font-size:.9375rem;font-weight:500}.tab-button.active{background:var(--accent);color:#fff}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.form-grid label{display:grid;gap:6px;color:#2f343a;font-size:.9375rem}.form-grid input{border:1px solid var(--border);border-radius:var(--radius);min-height:var(--input-h);padding:0 10px}.form-submit{align-self:end}.list{display:grid;gap:6px}.houses-layout{align-items:start}.houses-list-panel{display:flex;flex-direction:column;max-height:clamp(260px,calc(100vh - 180px),680px);min-height:0;overflow:hidden}.houses-list{min-height:0;overflow-y:auto;padding-right:4px}.list-row{display:grid;gap:3px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:#1a1d21;padding:10px 12px;text-align:left;font-size:.9375rem}.list-row:hover,.list-row.selected{border-color:var(--accent);background:#eef6f9}.list-row small,.table-row small,.work-item small,.empty{color:var(--muted);font-size:.8125rem}.detail-grid,.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.info,.metric{display:grid;gap:4px;border:1px solid var(--border);border-radius:var(--radius);background:#f8f9fa;min-height:0;padding:10px 12px}.info small,.metric small{color:var(--muted);font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.info strong,.metric strong{color:#14181c;font-size:.9375rem;font-weight:600}.file-button{position:relative;border:1px solid var(--border);background:#fff;color:var(--accent);overflow:hidden}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;opacity:0}.mini-table,.data-table,.work-list{display:grid;gap:0}.data-head,.data-row{display:grid;grid-template-columns:1fr 1.2fr 1.1fr 1fr 1fr;gap:10px;align-items:center;border-bottom:1px solid #e2e5e9;min-height:40px;padding:0 6px}.data-head{color:var(--muted);font-size:.875rem;font-weight:600}.table-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e2e5e9;min-height:38px;padding:4px 0;font-size:.9375rem}.table-row>div{display:grid;gap:1px}.file-actions{display:flex;gap:6px}.stack{display:grid;gap:14px}.data-exchange-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.finance-forms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.compact-form{display:grid;align-content:start;gap:10px;border:1px solid var(--border);border-radius:var(--radius);background:#f8f9fa;padding:14px}.house-add-form{margin-bottom:12px}.form-hint{margin:0;color:var(--muted);font-size:.8125rem;line-height:1.4}.compact-form h3,.finance-list h3{margin:0;font-size:.9375rem;font-weight:600}.finance-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.finance-list{display:grid;align-content:start;gap:6px}.two-finance-forms{grid-template-columns:repeat(2,minmax(0,1fr))}.annual-finance-table{display:grid;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.annual-finance-head,.annual-finance-row{display:grid;grid-template-columns:minmax(110px,.9fr) minmax(130px,1fr) repeat(5,minmax(130px,1fr));gap:0;min-width:980px}.annual-finance-head{background:#f5f7f9;color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase}.annual-finance-head span,.annual-finance-row span,.annual-finance-row strong{min-height:42px;padding:10px 12px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;align-items:center}.annual-finance-row span:not(:first-child),.annual-finance-row strong:not(:first-child){justify-content:flex-end;text-align:right}.annual-finance-row.total{background:#fbfcfd}.annual-finance-row.total span,.annual-finance-row.total strong{border-bottom:0}.summary-table{border:1px solid #e2e5e9;border-radius:var(--radius);overflow-x:auto}.summary-row{display:grid;grid-template-columns:minmax(260px,1.6fr) repeat(6,minmax(130px,1fr));gap:10px;align-items:center;min-width:1040px;min-height:40px;border-bottom:1px solid #e2e5e9;padding:0 10px}.summary-row>span,.summary-row>strong{min-width:0}.summary-row>span:not(:first-child),.summary-row>strong:not(:first-child){justify-self:end;text-align:right}.summary-row>strong:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-head{background:#f8f9fa;color:var(--muted);font-size:.8125rem;font-weight:700;text-transform:uppercase}.summary-total{border-bottom:0;background:#fbfcfd}.summary-table .empty{margin:0;padding:16px}.summary-plan-controls{display:grid;grid-template-columns:minmax(130px,.6fr) minmax(150px,.7fr) minmax(240px,1.2fr) minmax(240px,1.2fr) minmax(170px,.8fr) auto;gap:10px;align-items:end;margin-bottom:12px}.summary-plan-controls label{display:grid;gap:6px;color:#2f343a;font-size:.875rem}.summary-plan-controls input,.summary-plan-controls select{border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:#1a1d21;min-height:var(--input-h);min-width:0;padding:0 10px;width:100%}.summary-plan-controls select[multiple]{min-height:132px;padding:6px}.summary-checkbox-list{display:grid;gap:4px;max-height:132px;min-height:132px;overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:6px}.summary-checkbox-option{display:grid!important;grid-template-columns:18px minmax(0,1fr);gap:6px!important;align-items:center;color:#1a1d21!important;font-size:.875rem!important}.summary-checkbox-option input{min-height:auto;width:16px;height:16px;padding:0}.summary-checkbox-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-inline-option{display:flex!important;align-items:center;align-self:end;gap:8px!important;min-height:var(--input-h);border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:0 10px;color:#1a1d21!important;font-size:.875rem!important}.summary-inline-option input{min-height:auto;width:16px;height:16px;padding:0}.summary-plan-table .summary-plan-row{grid-template-columns:minmax(220px,1.2fr) minmax(280px,1.5fr) minmax(160px,.9fr) minmax(120px,.7fr) minmax(130px,.7fr) minmax(150px,.8fr) minmax(180px,1fr);min-width:1240px}.summary-plan-row.completed{background:#eaf7ef;color:#145c32}.summary-plan-row.completed strong,.summary-plan-row.completed span{color:#145c32}.summary-plan-row>span:nth-child(2),.summary-plan-row>span:nth-child(3),.summary-plan-row>span:nth-child(6),.summary-plan-row>span:nth-child(7){justify-self:start;text-align:left}.summary-plan-group,.summary-house-group{min-width:1240px}.summary-house-group-row{border-bottom:1px solid #cdd8e1;background:#e7eef3;color:#102a3a;font-weight:800;min-height:38px;padding:9px 10px}.summary-completion-table .summary-completion-row{grid-template-columns:minmax(220px,1.2fr) minmax(260px,1.4fr) minmax(150px,.8fr) minmax(110px,.6fr) minmax(130px,.7fr) minmax(130px,.7fr) minmax(180px,1fr) minmax(180px,1fr);min-width:1360px}.summary-completion-row.completed{background:#eaf7ef;color:#145c32}.summary-completion-row.completed strong,.summary-completion-row.completed span{color:#145c32}.summary-completion-row>span:nth-child(2),.summary-completion-row>span:nth-child(3),.summary-completion-row>span:nth-child(6),.summary-completion-row>span:nth-child(7),.summary-completion-row>span:nth-child(8){justify-self:start;text-align:left}.summary-completion-group,.summary-completion-table .summary-house-group{min-width:1360px}.summary-plan-group-row{border-bottom:1px solid #d8dde3;background:#f4f6f8;color:#1a1d21;font-weight:700;min-height:36px;padding:8px 10px}.tenant-accrual-form{display:grid;grid-template-columns:160px minmax(180px,1fr) 140px minmax(200px,1.2fr) auto;gap:10px;align-items:end;margin-bottom:12px}.tenant-accrual-form.expanded{grid-template-columns:repeat(12,minmax(0,1fr))}.tenant-accrual-form.expanded>label,.tenant-accrual-form.expanded>button,.tenant-accrual-form.expanded>.tenant-split-preview{min-width:0}.tenant-accrual-form.expanded>label:nth-of-type(1){grid-column:span 2}.tenant-accrual-form.expanded>label:nth-of-type(2){grid-column:span 3}.tenant-accrual-form.expanded>label:nth-of-type(3){grid-column:span 2}.tenant-accrual-form.expanded>label:nth-of-type(4),.tenant-accrual-form.expanded>label:nth-of-type(5){grid-column:span 1}.tenant-accrual-form.expanded>label:nth-of-type(6){grid-column:span 3}.tenant-accrual-form label{display:grid;gap:6px;color:#2f343a;font-size:.875rem}.tenant-accrual-form input,.tenant-accrual-form select{border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:#1a1d21;min-height:var(--input-h);min-width:0;padding:0 10px;width:100%}.tenant-accrual-form .copy-year-end{display:flex;grid-column:span 3;order:2;align-items:center;gap:8px;min-height:var(--input-h)}.tenant-accrual-form .copy-year-end input{flex:0 0 auto;min-height:auto;width:auto}.tenant-accrual-form .copy-year-end span{white-space:nowrap}.tenant-split-preview{grid-column:span 7;display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:8px;order:1}.tenant-split-preview span{display:grid;gap:3px;border:1px solid var(--border);border-radius:var(--radius);background:#f8f9fa;padding:9px 10px}.tenant-split-preview small{color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase}.tenant-split-preview strong{font-size:.95rem}.tenant-submit{align-self:stretch;grid-column:span 2;order:3}.tenant-accrual-table{border:1px solid #e2e5e9;border-radius:var(--radius);gap:8px;overflow:hidden}.tenant-month{display:grid;grid-template-columns:120px minmax(0,1fr);gap:0;align-items:start;padding:0;border-bottom:1px solid #eef0f2}.tenant-month:last-child{border-bottom:0}.tenant-month>strong{padding:9px 10px}.tenant-month>small{padding:9px 12px}.tenant-accrual-table .mini-table{border-left:1px solid #eef0f2}.tenant-accrual-table .table-row{display:grid;grid-template-columns:minmax(260px,1fr) 120px 104px;gap:10px;min-height:36px;padding:5px 8px 5px 12px}.tenant-accrual-table .table-row>div:first-child{min-width:0}.tenant-accrual-table .table-row span,.tenant-accrual-table .table-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-accrual-table .table-row small{display:block}.tenant-accrual-table .table-row>strong{justify-self:end}.tenant-accrual-table .row-tools{display:flex;justify-content:flex-end;gap:3px}.tenant-accrual-table .icon-button{min-height:30px;min-width:30px;width:30px}.tenant-accrual-entry{border-bottom:1px solid #e2e5e9}.tenant-accrual-entry:last-child{border-bottom:0}.tenant-accrual-entry .table-row{border-bottom:0}.tenant-accrual-edit-form{display:grid;grid-template-columns:120px minmax(190px,1.4fr) 130px 90px 110px minmax(160px,1fr);gap:8px;align-items:end;border-top:1px solid #eef0f2;background:#fbfcfd;padding:8px 8px 10px 12px}.tenant-accrual-edit-form label{display:grid;gap:5px;color:#2f343a;font-size:.8125rem}.tenant-accrual-edit-form input,.tenant-accrual-edit-form select{border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:#1a1d21;min-height:34px;min-width:0;padding:0 9px;width:100%}.tenant-edit-preview{grid-column:span 4}.tenant-edit-actions{display:flex;grid-column:span 2;justify-content:flex-end;gap:8px}.catalog-filters{display:grid;grid-template-columns:minmax(220px,1.5fr) auto auto;gap:10px;align-items:end}.catalog-row{grid-template-columns:1fr 1fr minmax(280px,2fr) 120px}.contractor-row{grid-template-columns:minmax(220px,1.4fr) 120px minmax(160px,1fr) minmax(220px,1.2fr) 88px}.contractor-form.renter-form{grid-template-columns:minmax(220px,1.2fr) 120px minmax(160px,1fr) 150px minmax(180px,1fr) minmax(180px,1fr) auto}.renter-row{grid-template-columns:minmax(220px,1.3fr) 120px minmax(160px,1fr) minmax(210px,1.1fr) minmax(180px,1fr) 88px}.house-card-panel{display:grid;gap:12px}.house-card-tabs{margin-bottom:4px}.house-card-section{display:grid;gap:12px}.compact-title h3{margin:0;font-size:.9375rem;font-weight:600}.compact-title small{color:var(--muted);font-size:.8125rem}.house-card-form,.house-details-form{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.house-details-form{margin-bottom:12px}.editable-tile{position:relative;padding-right:36px}.editable-tile.editing{padding-right:12px}.editable-tile input{border:1px solid var(--border);border-radius:var(--radius);min-height:var(--input-h);padding:0 10px;width:100%}.editable-tile .tile-edit{position:absolute;top:8px;right:8px}.tile-actions{display:flex;gap:8px;margin-top:8px}.house-card-form .primary-button{align-self:end;justify-self:start}.checkbox-field{display:inline-flex!important;align-items:center;gap:8px;min-height:var(--input-h)}.checkbox-field input{width:auto;min-height:auto}.form-actions{display:flex;gap:8px;align-items:center}.house-contact-row{grid-template-columns:140px 64px minmax(220px,1.4fr) minmax(180px,1fr) 120px 88px}.house-area-row{grid-template-columns:minmax(180px,1fr) 120px minmax(220px,1.2fr) 120px 88px}.house-tariff-row{grid-template-columns:minmax(150px,.9fr) 120px minmax(220px,1.2fr) minmax(220px,1.2fr) 120px 88px}.house-tariff-row.editing-row,.house-area-row.editing-row{align-items:center;padding:8px 6px}.date-range-fields{display:grid;gap:6px}.status-pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;background:#f1f3f5;color:var(--muted);font-size:.75rem;font-weight:600;min-height:26px;padding:0 10px;width:fit-content}.status-pill.active{border-color:#9fd3bf;background:#e8f6ef;color:#1f6b45}.audit-row{grid-template-columns:150px minmax(180px,1.2fr) minmax(180px,1fr) minmax(120px,.8fr) 120px}.catalog-hierarchy{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(300px,1.5fr);gap:14px;align-items:start}.hierarchy-column{display:grid;gap:8px;min-width:0}.hierarchy-column.wide{min-width:0}.hierarchy-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.hierarchy-title h3{margin:0;font-size:.9375rem;font-weight:600}.hierarchy-title small{color:var(--muted);font-size:.75rem}.hierarchy-list{display:grid;gap:6px;max-height:min(58vh,560px);overflow:auto;padding-right:4px}.hierarchy-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:8px 10px}.hierarchy-row.active{border-color:var(--accent);background:#eef6f9}.hierarchy-row.item-row{align-items:start}.hierarchy-name{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#1a1d21;min-width:0;padding:2px;text-align:left;font-size:.9375rem}.hierarchy-name span{min-width:0;overflow-wrap:anywhere}.hierarchy-name small{display:block;margin-top:3px;color:var(--muted);font-size:.75rem}.tariff-calculation-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.4fr) 170px auto;gap:10px;align-items:end;margin-bottom:14px}.tariff-calculation-form label{display:grid;gap:6px;color:#2f343a;font-size:.9375rem}.tariff-calculation-form .checkbox-field{align-self:center;margin-top:20px}.tariff-calculation-items{display:grid;grid-column:1 / -1;gap:6px}.tariff-calculation-item-row{display:grid;grid-template-columns:90px minmax(220px,1.4fr) minmax(240px,1fr) 120px 120px auto;gap:8px;align-items:center}.tariff-calculation-item-head{color:var(--muted);font-size:.8125rem;font-weight:600}.tariff-calculation-row{grid-template-columns:minmax(180px,1fr) minmax(140px,.8fr) 150px minmax(280px,1.4fr) 100px 88px}.tariff-calculation-row small{display:block;margin-top:2px;color:var(--muted);font-size:.75rem}.row-tools{display:flex;gap:4px}.backlog-form{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(180px,1fr) 110px 130px 140px minmax(160px,1fr) auto;gap:10px;align-items:end}.plan-form{display:grid;grid-template-columns:96px repeat(3,minmax(160px,1fr)) 150px auto;gap:10px;align-items:end;margin-bottom:12px}.plan-status-form{display:grid;grid-template-columns:minmax(180px,240px) auto;gap:10px;align-items:end;margin-bottom:12px}.contractor-form{display:grid;grid-template-columns:minmax(200px,1.2fr) 120px minmax(160px,1fr) 140px minmax(160px,1fr) auto;gap:10px;align-items:end}.user-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(200px,1fr) minmax(160px,.8fr) minmax(160px,.8fr) auto;gap:10px;align-items:end;margin-bottom:12px}.user-management-row{grid-template-columns:minmax(220px,1.2fr) 110px minmax(260px,1.5fr) minmax(160px,.8fr) 120px}.role-chip-list{display:flex;flex-wrap:wrap;gap:6px}.role-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:999px;background:#f5f7f9;color:#1f2933;min-height:26px;padding:0 7px 0 10px;font-size:.8125rem}.chip-remove{border:0;background:transparent;color:var(--muted);cursor:pointer;line-height:1;padding:0;font-size:1rem}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.report-card{display:grid;gap:12px;align-content:space-between;min-height:150px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}.report-card h3{margin:0 0 6px;font-size:.98rem}.report-card small{color:var(--muted)}.report-controls{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:8px;align-items:center}.report-controls select{min-height:var(--input-h);border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:#1a1d21;padding:0 10px}.plan-metrics{margin-top:0}.picker-trigger{justify-content:flex-start;overflow:hidden}.picker-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-work-note{margin:10px 0 0;color:#4a535c;font-size:.875rem}.work-backlog-list,.work-group{display:grid;gap:8px}.work-group-header{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:var(--radius);background:#e7eef3;color:#1f2b35;min-height:36px;padding:7px 12px;font-size:.875rem;font-weight:700}.work-group-header small{color:var(--muted);font-size:.75rem;font-weight:700}.work-plan-list-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;color:#1f2b35;font-size:.75rem;font-weight:700;letter-spacing:.02em;padding:0}.work-plan-list-head>span{align-self:center}.plan-table-row,.completion-table-row{display:grid;gap:0;align-items:start;min-width:0}.plan-table-row{grid-template-columns:minmax(180px,2fr) minmax(76px,.75fr) minmax(70px,.7fr) minmax(86px,.8fr) minmax(130px,1.25fr)}.completion-table-row{grid-template-columns:minmax(76px,.8fr) minmax(92px,1fr) minmax(76px,.75fr) minmax(86px,.85fr) minmax(116px,auto)}.plan-table-head,.completion-table-head{align-items:center}.plan-table-head>span,.completion-table-head>span{display:flex;align-items:center;justify-content:center;border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-left:1px solid var(--border);background:#eef1f4;min-height:42px;padding:7px 8px;text-align:center;line-height:1.2;text-transform:none}.plan-table-head>span:last-child,.completion-table-head>span:last-child{border-right:1px solid var(--border)}.plan-table-row:not(.plan-table-head)>*,.completion-table-row:not(.completion-table-head)>*{border-left:1px solid #d5dbe2;min-height:100%;padding:2px 8px}.plan-table-row:not(.plan-table-head)>*:last-child,.completion-table-row:not(.completion-table-head)>*:last-child{border-right:1px solid #d5dbe2}.plan-work-cell{display:grid;gap:2px;min-width:0}.plan-work-cell strong{line-height:1.2}.plan-note{font-style:italic}.plan-work-cell .status-pill{margin-top:2px}.work-backlog-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,auto);gap:12px;align-items:center;border:1px solid var(--border);border-radius:var(--radius);background:#f8f9fa;padding:12px 14px;font-size:.9375rem}.work-backlog-item p{margin:3px 0;color:#4a535c;font-size:.8125rem}.work-backlog-item small{color:var(--muted);font-size:.75rem}.work-plan-card{display:grid;gap:8px;border:1px solid var(--border);border-radius:var(--radius);background:#f8f9fa;padding:8px;font-size:.9375rem}.work-plan-card-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:stretch}.work-plan-column{display:grid;align-content:start;gap:6px;border:1px solid #d5dbe2;border-radius:var(--radius);background:#fff;padding:0;min-width:0}.completion-column{background:#fbfcfd}.plan-column-done,.completion-column-done{border-color:#8fc8a1;background:#e3f3e8}.plan-column-unplanned{border-color:#dda39e;background:#f8dfdd}.work-plan-column-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.column-kicker,.status-pill{color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.status-pill{border:1px solid var(--border);border-radius:999px;background:#f4f5f7;padding:2px 8px}.work-plan-column p{margin:2px 0;color:#4a535c;font-size:.8125rem;line-height:1.25}.work-plan-column small,.completion-summary small{display:block;color:var(--muted);font-size:.75rem;line-height:1.25}.completion-summary{display:grid;gap:6px}.completion-card-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}.completion-card-actions{align-self:start;gap:4px;justify-content:end}.row-actions.completion-card-actions{display:flex;flex-wrap:nowrap}.completion-empty{color:var(--muted);font-size:.8125rem;line-height:1.25}.completion-upload-button{justify-self:end;min-width:30px;min-height:30px;padding:0;width:30px}.compact-icon-button{min-width:30px;min-height:30px;width:30px;padding:0}.plan-summary{display:grid;gap:3px}.plan-info-row,.completion-info-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px;align-items:baseline;line-height:1.25}.plan-info-row>span,.completion-info-row>span{color:var(--muted);font-size:.8125rem;font-weight:600}.amount-highlight{color:#182026;font-size:1rem;font-weight:750;line-height:1.2}.work-plan-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,auto);gap:12px;align-items:center}.work-plan-main p{margin:3px 0;color:#4a535c;font-size:.8125rem}.work-plan-main small{color:var(--muted);font-size:.75rem}.completion-form{display:grid;grid-template-columns:140px minmax(180px,1fr) 140px minmax(160px,1fr) auto;gap:10px;align-items:end}.plan-edit-form,.completion-form.completion-edit-form,.completion-form.unplanned-completion-form{grid-template-columns:1fr;align-items:stretch}.plan-field-row,.completion-field-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;align-items:center}.plan-field-row>span,.completion-field-row>span{color:var(--muted);font-size:.8125rem;font-weight:600}.plan-field-row input,.plan-field-row select,.plan-field-row button,.completion-field-row input,.completion-field-row select,.completion-field-row button{min-width:0;width:100%}.plan-form-actions,.completion-form-actions{display:flex;justify-content:flex-end;gap:8px}.plan-files{display:flex;flex-wrap:wrap;gap:8px}.plan-documents{display:grid;gap:10px;border:1px solid var(--border);border-radius:var(--radius);background:#f8f9fa;padding:12px 14px}.plan-documents small{display:block;margin-top:2px;color:var(--muted);font-size:.75rem}.plan-add-header{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:wrap}.file-chip{display:inline-flex;min-width:0}.file-chip .secondary-button{border-radius:var(--radius) 0 0 var(--radius);max-width:280px}.file-chip .secondary-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-chip .icon-button{border-left:0;border-radius:0 var(--radius) var(--radius) 0}.completion-files{gap:4px;padding:0 8px 6px}.completion-files .file-chip .secondary-button{min-height:30px;max-width:220px;padding:0 8px;font-size:.8125rem}.completion-files .file-chip .secondary-button svg{width:14px;height:14px}.completion-files .file-chip .icon-button{min-width:30px;min-height:30px;width:30px}.file-empty{display:inline-flex;align-items:center;color:var(--muted);min-height:var(--btn-h);font-size:.875rem}.row-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;background:#14181c73;padding:16px}.picker-modal{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;border:1px solid var(--border);border-radius:var(--radius);background:#fff;box-shadow:0 8px 32px #0003;width:min(1020px,100%);height:min(680px,90vh);overflow:hidden}.picker-header,.picker-toolbar,.picker-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding:10px 14px;font-size:.9375rem}.picker-header h2{margin:0;font-size:1.0625rem;font-weight:600}.picker-toolbar{justify-content:flex-start}.checkbox-line,.picker-search{display:flex;align-items:center;gap:8px;color:#2f343a;font-size:.9375rem}.picker-search input{border:1px solid var(--border);border-radius:var(--radius);min-height:36px;padding:0 10px;font-size:.9375rem}.picker-body{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);min-height:0;overflow:hidden}.picker-tree{border-right:1px solid var(--border);min-height:0;max-height:100%;overflow-y:auto;overflow-x:hidden;padding:8px}.tree-group{display:grid;gap:2px}.tree-category,.tree-node{display:flex;align-items:center;gap:6px;border:0;border-radius:2px;background:transparent;color:#253447;min-height:32px;padding:4px 8px;text-align:left;width:100%;font-size:.9375rem}.tree-node{margin-left:20px;width:calc(100% - 20px)}.tree-category span,.tree-node span{overflow-wrap:anywhere}.tree-category.active,.tree-node.active,.picker-row.active{background:#d4e8f0}.picker-list{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;min-width:0;overflow:hidden}.picker-list-head,.picker-row{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:10px;align-items:center}.picker-list-head{border-bottom:1px solid var(--border);color:var(--muted);font-size:.8125rem;font-weight:600;min-height:34px;padding:0 10px}.picker-list-body{min-height:0;max-height:100%;overflow-y:auto;overflow-x:hidden}.picker-row{border:0;border-bottom:1px solid #eef0f2;background:#fff;color:#1a1d21;min-height:36px;padding:6px 10px;text-align:left;font-size:.9375rem}.picker-item-main{display:grid;gap:2px;min-width:0}.picker-item-main small{color:var(--muted);font-size:.75rem}.picker-row>small{justify-self:start}.picker-row:hover{background:#f0f7fa}.picker-row small{color:#2f343a}.picker-footer{border-top:1px solid var(--border);border-bottom:0;color:var(--muted);font-size:.8125rem}.picker-actions{display:flex;gap:8px}.work-item{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--border);border-radius:var(--radius);padding:12px}.work-item h3{margin:0 0 6px;font-size:1rem}.work-item p{margin:0 0 6px;color:#4a535c;font-size:.9375rem}.work-side{display:grid;justify-items:end;gap:8px;min-width:130px}.status-button{border:1px solid var(--border);background:#f4f5f7;color:var(--accent)}.report-preview{border:1px solid var(--border);border-radius:var(--radius);background:#f8f9fa;padding:14px}.report-preview h3{margin:0 0 10px}.report-preview p{margin:8px 0}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag-list span{border:1px solid var(--border);border-radius:var(--radius);background:#f8f9fa;padding:6px 10px;font-size:.8125rem}@media (max-width: 1100px){.app-shell{grid-template-columns:1fr}.sidebar{flex-direction:row;flex-wrap:wrap;align-items:center;border-right:0;border-bottom:1px solid var(--border-subtle);gap:8px}.nav{grid-template-columns:repeat(3,minmax(0,1fr));flex:1 1 auto}.two-column,.detail-grid,.metric-grid,.form-grid,.finance-forms,.tenant-accrual-form,.finance-columns,.catalog-filters,.backlog-form,.completion-form,.contractor-form,.report-grid,.plan-form,.catalog-hierarchy,.tariff-calculation-form{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-accrual-form.expanded{grid-template-columns:repeat(6,minmax(0,1fr))}.tenant-accrual-form.expanded>label:nth-of-type(1),.tenant-accrual-form.expanded>label:nth-of-type(3),.tenant-accrual-form.expanded>label:nth-of-type(4),.tenant-accrual-form.expanded>label:nth-of-type(5){grid-column:span 2}.tenant-accrual-form.expanded>label:nth-of-type(2),.tenant-accrual-form.expanded>label:nth-of-type(6),.tenant-accrual-form .copy-year-end{grid-column:span 3}.tenant-split-preview{grid-column:1 / -1}.tenant-submit{grid-column:span 3}.summary-plan-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-accrual-edit-form{grid-template-columns:repeat(6,minmax(0,1fr))}.tenant-accrual-edit-form label:nth-of-type(1),.tenant-accrual-edit-form label:nth-of-type(3),.tenant-accrual-edit-form label:nth-of-type(4),.tenant-accrual-edit-form label:nth-of-type(5){grid-column:span 2}.tenant-accrual-edit-form label:nth-of-type(2),.tenant-accrual-edit-form label:nth-of-type(6),.tenant-edit-actions{grid-column:span 3}.tenant-edit-preview{grid-column:1 / -1}}@media (max-width: 720px){.page-header,.section-title,.header-actions,.work-item{align-items:stretch;flex-direction:column}.house-selector select,.year-selector input{max-width:none;min-width:0;width:100%}.user-badge{max-width:none}.nav,.two-column,.detail-grid,.metric-grid,.form-grid,.finance-forms,.tenant-accrual-form,.finance-columns,.catalog-filters,.backlog-form,.completion-form,.contractor-form,.report-grid,.report-controls,.plan-form,.contractor-row,.audit-row,.catalog-row,.catalog-hierarchy,.tariff-calculation-form,.tariff-calculation-item-row,.data-exchange-grid,.work-backlog-item,.work-plan-list-head,.work-plan-card-grid,.work-plan-main,.tenant-month,.data-head,.data-row{grid-template-columns:1fr}.tenant-accrual-form.expanded>label:nth-of-type(n),.tenant-accrual-form .copy-year-end,.tenant-split-preview,.tenant-submit{grid-column:1 / -1}.tenant-split-preview{grid-template-columns:1fr}.tenant-accrual-table .mini-table{border-left:0}.tenant-accrual-table .table-row{grid-template-columns:1fr auto;padding:7px 8px}.tenant-accrual-table .table-row>strong{align-self:start}.tenant-accrual-table .row-tools{grid-column:1 / -1;justify-content:flex-start}.tenant-accrual-edit-form,.tenant-accrual-edit-form label:nth-of-type(n),.tenant-edit-preview,.tenant-edit-actions{grid-column:1 / -1}.tenant-accrual-edit-form{grid-template-columns:1fr}.tenant-edit-actions{justify-content:stretch}.summary-plan-controls{grid-template-columns:1fr}.work-side{justify-items:start}.row-actions{justify-content:stretch}.picker-modal{height:92vh}.picker-body{grid-template-columns:1fr}.picker-tree{border-right:0;border-bottom:1px solid var(--border);max-height:180px}.picker-toolbar,.picker-footer{align-items:stretch;flex-direction:column}}
