#dashboard{width:min(1600px,calc(100vw - 48px));margin-left:50%;transform:translateX(-50%)}.dashboard-heading{align-items:center;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:26px}.dashboard-heading h1{font-size:38px;margin-top:0}.dashboard-heading>.eyebrow{margin-left:auto}.dashboard-heading .primary{padding:13px 20px}.kpis{display:block}.kpi-summary{display:grid;grid-template-columns:repeat(4,1fr);padding:17px 8px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.summary-item{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:14px;padding:2px 16px;border:0;border-right:1px solid var(--line);background:none;color:inherit;text-align:left;font:inherit;cursor:pointer}.summary-item:last-child{border-right:0}.summary-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#e3efea;color:#295e55;font-size:28px}.summary-item .label,.summary-item .value,.summary-item .hint{display:block}.summary-item .label{font-size:13px;font-weight:700;color:var(--ink)}.summary-item .value{font:700 18px Georgia,serif;margin-top:5px}.summary-item .hint{font-size:11px;color:var(--muted);margin-top:5px}.forecast{margin-top:20px}.forecast h2{font:700 21px Georgia,serif;margin:0 0 14px}.forecast-table{background:white;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);overflow:hidden}.forecast-table th{background:white;color:var(--ink);font-size:12px;text-transform:none;letter-spacing:0}.forecast-table th,.forecast-table td{padding:9px 20px}.forecast-table th:nth-child(1){width:40%}.forecast-table th:nth-child(2){width:30%}.forecast-table th:nth-child(3){width:30%}.forecast-table tbody tr{cursor:pointer}.forecast-table tbody tr:hover{background:#f8faf9}.forecast-table td:first-child{display:flex;align-items:center;gap:13px}.forecast-table tfoot th{border-top:1px solid var(--line);border-bottom:0;font-size:13px}.tenant-avatar{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:var(--green);color:white;font-weight:700}.tenant-total{font-size:13px}.forecast-status{display:inline-flex;align-items:center;gap:8px;padding:6px 11px;border:1px solid #d7e5db;border-radius:999px;background:#f0f7f2;font-size:11px;white-space:nowrap}.forecast-status i{width:8px;height:8px;border-radius:50%;background:#16825e}.forecast-status.repayment{border-color:#eed1cd;background:#faefed;color:#8f3e38}.forecast-status.repayment i{background:#b64b43}.forecast-hint{color:var(--muted);font-size:11px}.note{align-items:center;padding:17px 22px;margin-top:16px}.note>div{min-width:0}.note small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:7px}.note-chevron{margin-left:auto;font-size:22px;color:var(--ink)}

.row-buttons,.item-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.row-actions button,.list-item button{border:0;background:none;cursor:pointer}.row-actions .edit-button,.list-item .edit-button{color:var(--green)}.row-actions .delete-button,.list-item .delete-button{color:var(--red)}.currency-field{position:relative;display:inline-block;min-width:130px}.currency-field input{padding-right:30px;text-align:right}.currency-field::after{content:"€";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.list-item{gap:16px}
.no-spinner{-moz-appearance:textfield}.no-spinner::-webkit-inner-spin-button,.no-spinner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#tenant-dialog{max-height:calc(100vh - 32px);overflow:auto}.advance-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.advance-row{display:grid;grid-template-columns:1fr 1fr 38px;align-items:end;gap:12px;margin-top:10px}.advance-row:not(:first-child) .advance-field-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.advance-delete,.advance-delete-space{width:38px;height:38px}.advance-delete{display:grid;place-items:center;padding:0;border:1px solid #cbd4d1;border-radius:7px;background:white;color:#53615e;cursor:pointer}.advance-delete:hover,.advance-delete:focus-visible{border-color:#a33b32;color:#a33b32;outline:0}.advance-delete svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.advance-add{margin-top:12px}@media(max-width:900px){.kpi-summary{grid-template-columns:1fr 1fr}.summary-item:nth-child(2){border-right:0}.summary-item:nth-child(-n+2){border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}.forecast-table{overflow-x:auto}.forecast-table table{min-width:760px}}@media(max-width:520px){#dashboard{width:calc(100vw - 32px)}.advance-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px;gap:8px}.dashboard-heading>.eyebrow{margin:0}.kpi-summary{grid-template-columns:1fr}.summary-item{border-right:0;border-bottom:1px solid var(--line);padding:13px}.summary-item:nth-child(-n+2){margin:0}.summary-item:last-child{border-bottom:0}.note small{display:none}}
.tenant-checks{border:0;padding:0;margin:0}.tenant-checks legend{font-size:12px;font-weight:700;color:#53615e;margin-bottom:7px}#category-tenant-options{display:grid;gap:7px;border:1px solid #cbd4d1;border-radius:7px;padding:10px 12px;max-height:150px;overflow:auto}.check-label{display:flex;flex-direction:row;align-items:center;gap:8px}.check-label input{width:auto}.table-sort{border:0;background:none;padding:0;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.category-filters input,.category-filters select{min-width:110px;padding:7px 8px;font-size:12px}.category-actions{justify-content:space-between}
.kpi{width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer}.kpi .label,.kpi .value,.kpi .hint{display:block}.kpi:hover{border-color:#9bb9b0}
#entries-head th[draggable="true"]{cursor:grab;user-select:none}.drag-mark{font-size:12px;color:#91a09c}.row-buttons{margin-top:4px}.row-buttons button{border:0;background:none;cursor:pointer}.row-buttons .edit-button{color:var(--green)}.row-buttons .delete-button{color:var(--red)}
.derived-input[readonly]{background:#eef1f0;color:#687572;cursor:not-allowed}
#tenant-cost-dialog{width:min-content;max-width:calc(100vw - 32px)}
.tenant-share-calculation{cursor:help;text-decoration:underline dotted;text-underline-offset:3px}

.category-incomplete td:nth-child(-n+3){background:#fff5f3}.category-incomplete [data-field]{border-color:#e7b9b3;background:#faefed}.row-buttons .save-button{color:var(--green);font-weight:700}#excel-mapping-dialog{width:min(720px,calc(100vw - 32px))}.mapping-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:520px){.mapping-grid{grid-template-columns:1fr}}
.field-with-action{display:grid;grid-template-columns:1fr auto;gap:7px}.field-with-action .small{white-space:nowrap}
[data-field=allocation]:disabled,#category-form select[name=allocation]:disabled{background:#eef1f0;color:#87918f;cursor:not-allowed}
#export-entries{font-family:inherit;font-size:14px;font-weight:600}.entry-date,#entry-form input[type=date]{font-family:inherit}.master-overview{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,2fr);gap:18px;align-items:start}.building-form{grid-template-columns:1fr}@media(max-width:1000px){.master-overview{grid-template-columns:1fr}}
.consumption-heading{font-size:12px;font-weight:700;color:#53615e}.consumption-overview-row{display:grid;grid-template-columns:42ch repeat(3,14ch);gap:12px}.consumption-total-meter{grid-column:1}.consumption-total-usage{grid-column:4}.consumption-meter-table{display:grid;gap:7px}.consumption-meter-list{display:grid;gap:12px}.consumption-meter-head,.consumption-meter-row{display:grid;grid-template-columns:42ch repeat(3,14ch);gap:12px}.consumption-meter-head{align-items:end;color:#53615e}.consumption-meter-head strong{font-size:12px}.consumption-meter-row{align-items:center}.consumption-meter-identity{width:100%}.meter-reading-input{position:relative;display:block}.meter-reading-input input{padding-right:36px}.meter-reading-input span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-weight:400}#consumption .master-overview{display:block}#consumption .card{width:max-content;max-width:none}.meter-number-row{display:grid;grid-template-columns:max-content max-content;align-items:center;gap:14px}.meter-number-row input{width:14ch}.meter-number-row select{width:max-content;min-width:22ch}.consumption-submeter{display:grid;grid-template-columns:max-content max-content;gap:18px}.consumption-submeter[hidden]{display:none}#consumption-form>.form-actions{margin-top:18px}@media(max-width:620px){.consumption-submeter{grid-template-columns:max-content}}
.orphan-warning{color:var(--red);font-size:11px;font-weight:700}
.pill.forecast{background:#eaf2fb;color:#365f8a}
.forecast-table tbody tr:last-child td{border-bottom:0}
#entry-form input[name=amount]::-webkit-calendar-picker-indicator{display:none!important}
#message-dialog{width:min(520px,calc(100vw - 32px))}#message-text{margin:0;white-space:pre-line;color:var(--ink);font-size:14px;line-height:1.5}#message-input-label[hidden],#message-choice-label[hidden]{display:none}
#message-cancel[hidden]{display:none!important}.entry-category-field{grid-column:1/-1}
#category-tenant-options.is-disabled,.tenant-checks.is-disabled,.category-tenants-disabled{background:#eef1f0;color:#87918f}.tenant-checks.is-disabled label{color:#87918f;cursor:not-allowed}
.table-card,.forecast-table{overflow:visible}table{width:max-content;min-width:100%;table-layout:auto}th,td{white-space:nowrap}#entries>.table-card .row-buttons{flex-wrap:nowrap}.entry-category-path{color:var(--muted);font-size:11px}
.entry-missing-category{background:#fbeeed;color:#8a3d35;font-weight:700}.sortable-item{transition:background-color .15s,opacity .15s}.sortable-item.is-dragging{opacity:.45;background:var(--mint)}.sort-handle,.category-sort-handle{flex:0 0 auto;padding:7px 5px;color:#87918f;font-size:18px;line-height:1;letter-spacing:-4px;cursor:grab;user-select:none}.sort-handle:active,.category-sort-handle:active{cursor:grabbing}.sort-handle:focus-visible,.category-sort-handle:focus-visible{outline:2px solid #548779;border-radius:5px}.list-content{flex:1;min-width:0}.category-sort-row{transition:opacity .15s,background-color .15s}.category-sort-row.is-dragging{opacity:.45}.category-sort-row.category-drop-before{box-shadow:inset 0 3px 0 var(--green)}.category-sort-row.category-drop-after{box-shadow:inset 0 -3px 0 var(--green)}.category-sort-row.category-drop-inside td{background:var(--mint)!important}.category-sort-handle{display:inline-flex;margin-right:5px;vertical-align:middle}
.planning-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.planning-period{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid #bdd8d2;border-radius:10px;background:#f3faf7}.planning-period-head strong{color:var(--green);font-size:13px}.planning-previous{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.planning-previous strong{color:var(--ink)}#categories .category-filters select{width:100%;min-width:0}@media(max-width:620px){.planning-fields{grid-template-columns:1fr}.planning-previous{align-items:stretch;flex-direction:column}.planning-previous .small{width:100%}}
.excel-filter{position:relative;text-align:left;text-transform:none;letter-spacing:normal;font-weight:400}.excel-filter summary{list-style:none;border:1px solid #cbd4d1;border-radius:7px;padding:7px 24px 7px 8px;background:white;color:var(--ink);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.excel-filter summary::-webkit-details-marker{display:none}.excel-filter summary::after{content:"▾";position:absolute;right:8px;color:var(--muted)}.excel-filter-menu{position:absolute;z-index:20;top:calc(100% + 4px);left:0;width:max-content;min-width:240px;padding:10px;background:white;border:1px solid #cbd4d1;border-radius:8px;box-shadow:0 10px 28px #1725232b}.excel-filter-option{display:flex;flex-direction:row;align-items:center;gap:7px;width:max-content;min-width:100%;padding:5px 3px;color:var(--ink);font-size:12px;font-weight:400}.category-filters .excel-filter-option input{width:auto;min-width:0;padding:0}.excel-filter-values{max-height:190px;overflow-y:auto;border-top:1px solid var(--line);margin-top:4px;padding-top:4px}.excel-filter-group{display:block;padding:8px 3px 3px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.excel-filter-group+label{padding-top:3px}
.actions .import-action{background:var(--green);border-color:var(--green);color:white}.actions .export-action{background:#35645c;border-color:#35645c;color:white}
.actions .import-action,.actions .export-action,.actions>[data-open="entry-dialog"],.actions>[data-open="category-dialog"]{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:14px;font-weight:600;line-height:normal}
#category-child-options{display:grid;gap:7px;max-height:150px;overflow:auto}.category-child-name{color:var(--muted);font-size:11px}.derived-category-plan,#category-form [name=planned].derived-input{color:var(--muted);font-size:11px}
.category-toggle{width:18px;height:18px;margin-right:6px;padding:0;border:1px solid #b9c6c2;border-radius:4px;background:white;color:var(--green);font:700 12px/1 inherit;cursor:pointer;vertical-align:middle}#category-table tr[data-category-index][data-category-parent-index=""] td:first-child{padding-left:41px}#category-table tr[data-category-parent-index]:not([data-category-parent-index=""]) td:first-child{padding-left:65px}.category-root-name{padding-left:24px;font-weight:700}.category-child-name{display:inline-flex;padding-left:0;white-space:nowrap;overflow-wrap:normal}.category-group-row td{background:white;color:var(--green);font-size:13px}
.category-billing-field[hidden],#category-children-fields[hidden],#category-hierarchy-toggle[hidden]{display:none}
.category-group-content{display:flex;align-items:center;justify-content:space-between}.category-group-row .row-buttons button{border:0;background:none;cursor:pointer}.category-group-row .edit-button{color:var(--ink)}.category-group-row .delete-button{color:var(--red)}.unit-meter-options,.tenant-meter-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.unit-meter-options .dialog-form-section{margin-top:20px}#tenant-water-meter-field{grid-column:1}#tenant-gas-meter-field{grid-column:2}.tenant-meter-fields[hidden]{display:none}.dialog-form-section{display:flex;flex-direction:column;gap:20px}.dialog-form-section[hidden]{display:none}


/* Editable fields are white; fixed values remain visibly read-only. */
input:not(:disabled):not([readonly]),select:not(:disabled),textarea:not(:disabled):not([readonly]){background:#fff}
#allocation-keys .table-card{width:min(100%,850px);overflow:hidden}#allocation-keys table{width:100%;table-layout:fixed;min-width:0}#allocation-keys td{white-space:normal;vertical-align:top}#allocation-keys td:first-child,#allocation-keys th:first-child{width:28%}#allocation-keys thead th{padding:8px 12px;color:#59667a;font-size:12px;font-weight:600;letter-spacing:normal;text-transform:none;text-align:left;background:transparent}#allocation-keys tr:last-child td{border-bottom:0}.allocation-value{display:block;padding:11px 12px;border:1px solid #cbd4d1;border-radius:7px;background:#eef1f0;color:#687572;line-height:1.4;overflow-wrap:anywhere}#allocation-keys textarea{width:100%;padding:11px 12px;border:1px solid #cbd4d1;border-radius:7px;font:inherit;line-height:1.4;resize:vertical}
.form-help{font-size:12px;line-height:1.5}.form-error{margin:0;color:var(--red);font-size:12px}.form-error[hidden]{display:none}.tenancy-period{gap:14px}.tenancy-period[hidden]{display:none}.tenancy-end-field{display:flex;flex-direction:column;gap:7px}.tenancy-end-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}.tenancy-running{flex-direction:row;padding:0 11px;border:1px solid #cbd4d1;border-radius:7px;background:#fff;white-space:nowrap;color:var(--ink)}button:disabled{cursor:not-allowed;opacity:.6}
#toast{inset:auto 24px 24px auto;margin:0;border:0;max-width:min(520px,calc(100vw - 48px));white-space:pre-line;line-height:1.5}#toast::backdrop{background:transparent;pointer-events:none}
#tenant-period-fields select,#advance-rows input,#advance-rows select{font-family:inherit;font-size:14px;font-weight:400}
#tenants-list .list-item{flex-wrap:nowrap;gap:8px;align-items:center}#tenants-list .list-content{flex:1;min-width:0}#tenants-list .list-content small{white-space:nowrap}#tenants-list .item-actions{flex:0 0 auto;margin-left:auto;align-self:center}
#water-usage-difference{display:block;min-height:1.4em;font-size:11px;line-height:1.4;color:var(--red);font-weight:600;overflow-wrap:anywhere}#water-usage-difference[hidden]{display:block;visibility:hidden}
#allocation-keys .table-footer{padding:16px 17px}#allocation-keys .allocation-add:disabled{background:#eef1f0;border-color:#cbd4d1;color:#687572;opacity:1;pointer-events:none}.allocation-add-hint{display:inline-flex;cursor:help;border-radius:7px}.allocation-add-hint:focus-visible{outline:2px solid #548779;outline-offset:3px}
