@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/7b19b489dc6743ba-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/28793f5c5e3d822d-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/c9c3823090ec8b55-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b3bf17a9041d9433-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/2801417b65625cf5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/26d4368bf94c0ec4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Sans Fallback;src:local("Arial");ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:101.17%}.__className_f58825{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.__variable_f58825{--font-plex:"IBM Plex Sans","IBM Plex Sans Fallback"}:root{--bg:#f4f5f7;--surface:#ffffff;--surface-alt:#f9fafb;--border:#e3e6eb;--border-strong:#d5d9e0;--text:#161b26;--text-muted:#5b6576;--brand:#1f3a8a;--brand-soft:#e4e9f6;--brand-paper:#1f3a8a;--danger:#b42318;--danger-soft:#fdeceb;--warning:#8a4b00;--warning-soft:#fff3dc;--success:#0a6b3d;--success-soft:#e2f3ea;--radius-xs:4px;--radius-sm:6px;--radius:8px;--radius-lg:12px;--space-4:4px;--space-6:6px;--space-8:8px;--space-10:10px;--space-12:12px;--space-20:20px;--sidebar-width:208px;--sidebar-bg:#14202b;--sidebar-text:#aab6c3;--sidebar-muted:#8797a8;--sidebar-line:#26384a;--sidebar-active:#243a66;--sidebar-label:#a3b3c4;--surface-hover:#f2f6f7;--line-soft:#e9ecf0;--text-faint:#5f6877;--warning-border:#c27d0e;--focus:#1f3a8a;--on-brand:#ffffff;--badge-bg:#e9ecf0;--logo-bg:#3a5bb5;--sidebar-text-strong:#ffffff;--sidebar-line-strong:#35516a;--sidebar-accent:#aebff0;--on-sidebar-accent:#0b1633;--sidebar-warning:#ffd68a;--sidebar-overlay:rgba(255,255,255,0.05);--sidebar-overlay-soft:rgba(255,255,255,0.06);--sidebar-overlay-strong:rgba(255,255,255,0.12);--backdrop:rgba(20,32,43,0.45);--backdrop-strong:rgba(10,16,24,0.5);--shadow-card:0 1px 4px rgba(20,32,43,0.12);--shadow-popover:0 6px 20px rgba(20,32,43,0.14);--shadow-popover-strong:0 6px 20px rgba(20,32,43,0.2);--shadow-bar:0 -4px 14px rgba(20,32,43,0.1);--shadow-drawer:8px 0 28px rgba(0,0,0,0.35);--shadow-dialog:0 20px 50px rgba(20,32,43,0.28);--chart-room:#1f3a8a;--chart-electric:#b87a14;--chart-water:#4c8fd4;--chart-garbage:#6f7c8f;--chart-adjust:#b4568f;--swatch-navy:#1f3a8a;--swatch-teal:#0e6b6b;--swatch-red:#a3162d;--fs:1;color-scheme:light;--topbar-height:48px;--gutter:20px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-plex),"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-size:calc(14px * var(--fs));line-height:1.45}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.app{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);flex:0 0 var(--sidebar-width);background:var(--sidebar-bg);color:var(--sidebar-text);padding:16px 12px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}.sidebar__brand{gap:10px;padding:0 6px 16px;margin-bottom:12px;border-bottom:1px solid var(--sidebar-line)}.sidebar__brand,.sidebar__logo{display:flex;align-items:center}.sidebar__logo{width:30px;height:30px;border-radius:var(--radius-sm);background:var(--logo-bg);color:var(--sidebar-text-strong);justify-content:center;flex:0 0 30px}.sidebar__title{font-weight:600;color:var(--sidebar-text-strong)}.sidebar__subtitle,.sidebar__title{font-size:calc(14px * var(--fs));line-height:1.25}.sidebar__subtitle{color:var(--sidebar-muted)}.sidebar__section{padding:0 10px 6px;font-size:calc(14px * var(--fs));font-weight:600;text-transform:uppercase;color:var(--sidebar-label)}.sidebar__nav{display:flex;flex-direction:column;gap:2px}.sidebar__link{display:flex;align-items:center;gap:10px;min-height:40px;padding:4px 10px;border-radius:var(--radius-sm);color:var(--sidebar-text);font-weight:500;transition:background .12s ease,color .12s ease}.sidebar__link:hover{background:var(--sidebar-overlay);color:var(--sidebar-text-strong)}.sidebar__link--active,.sidebar__link--active:hover{background:var(--sidebar-active);color:var(--sidebar-text-strong);font-weight:600}.sidebar__icon{flex:0 0 16px}.sidebar__footer{margin-top:auto;padding:12px 6px 0;border-top:1px solid var(--sidebar-line);font-size:calc(14px * var(--fs));line-height:1.5;color:var(--sidebar-muted)}.main{flex:1 1;min-width:0;padding:0 0 32px}.main>:not(.page-header){margin-inline:var(--gutter)}.page-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;min-height:var(--topbar-height);margin:0 0 14px;padding:0 var(--gutter);display:flex;align-items:center;gap:10px;background:var(--surface);border-bottom:1px solid var(--border)}.page-header__title{font-size:calc(15px * var(--fs));font-weight:600;margin:0;white-space:nowrap}.page-header__description{margin:0;font-size:calc(14px * var(--fs));color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.sidebar__landlords{display:flex;padding:2px;margin:0 0 14px;background:var(--sidebar-overlay-soft);border-radius:var(--radius)}.sidebar__landlord{flex:1 1;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:calc(14px * var(--fs));font-weight:500;color:var(--sidebar-text);white-space:nowrap}.sidebar__landlord:hover{color:var(--sidebar-text-strong)}.sidebar__landlord--active,.sidebar__landlord--active:hover{background:var(--sidebar-active);color:var(--sidebar-text-strong);font-weight:600;box-shadow:inset 0 0 0 1px var(--sidebar-line-strong)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.card__title{font-size:calc(14px * var(--fs));font-weight:600;color:var(--text);margin:0 0 8px}.card__header{padding:12px 14px 0}.card--flush{padding:0;overflow:hidden}.grid{display:grid;grid-gap:12px;gap:12px}.grid--2{grid-template-columns:minmax(0,3fr) minmax(0,2fr);margin-bottom:12px}@media (max-width:1100px){.grid--2{grid-template-columns:minmax(0,1fr)}}.card+.card{margin-top:12px}.stat__hint{font-size:calc(14px * var(--fs));color:var(--text-muted);margin-top:2px}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.placeholder,.text-muted{color:var(--text-muted)}.placeholder ul{margin:8px 0 0;padding-left:20px}.placeholder li{margin:4px 0}.table--plain td,.table--plain th{border-bottom:1px solid var(--border)}.table--plain tbody tr:hover{background:transparent}.row--sum td{border-top:2px solid var(--border);font-weight:600}.cell--wrap{white-space:normal}.badge{display:inline-block;padding:1px 8px;border-radius:var(--radius-xs);font-size:calc(14px * var(--fs));font-weight:600;white-space:nowrap}.badge--danger{background:var(--danger-soft);color:var(--danger)}.badge--warning{background:var(--warning-soft);color:var(--warning)}.badge--success{background:var(--success-soft);color:var(--success)}.badge--log-close,.badge--log-closing-date,.badge--log-create,.badge--log-save{background:var(--brand-soft);color:var(--brand)}.badge--log-rates,.badge--log-reopen{background:var(--warning-soft);color:var(--warning)}.badge--log-backup,.badge--log-default,.badge--log-status,.badge--log-tenant,.badge--log-thresholds{background:var(--badge-bg);color:var(--text-muted)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table td,.table th{padding:6px 10px;border-bottom:1px solid var(--line-soft);text-align:left}.table th{font-size:calc(14px * var(--fs));font-weight:600;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0}.table tbody tr:hover{background:var(--surface-hover)}.table .td--number,.td--number{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table__code{color:var(--text-muted);font-size:calc(14px * var(--fs))}.toolbar{gap:12px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;margin-bottom:10px}.toolbar,.toolbar__group{display:flex;align-items:center}.toolbar__group{gap:8px}.toolbar__spacer{flex:1 1}.toolbar__divider{width:1px;height:22px;background:var(--border)}.toolbar__label{color:var(--text-muted);font-size:calc(14px * var(--fs))}.room-picker{position:relative}.room-picker__summary{display:inline-flex;align-items:center;cursor:pointer;list-style:none;min-width:150px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.room-picker__summary::-webkit-details-marker{display:none}.room-picker__panel{position:absolute;z-index:20;top:calc(100% + 4px);left:0;width:280px;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow-popover);padding:8px}.room-picker__actions{display:flex;align-items:center;gap:6px;padding:4px 0}.room-picker__list{list-style:none;margin:4px 0;padding:0;max-height:260px;overflow-y:auto;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.room-picker__list li label{display:block;padding:4px 2px;font-size:calc(14px * var(--fs));cursor:pointer}.room-picker__list li label:hover{background:var(--surface-alt)}.btn{min-height:36px;padding:4px 14px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:calc(14px * var(--fs));font-weight:500;cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){background:var(--bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand);font-weight:600}.btn--primary:hover:not(:disabled){filter:brightness(1.1);background:var(--brand)}.btn--small{min-height:30px;padding:2px 10px;font-size:calc(14px * var(--fs))}.input{min-height:30px;padding:4px 8px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit}.input:focus{outline:2px solid var(--brand);outline-offset:-1px}.entry-card .input:disabled{background:color-mix(in srgb,var(--surface) 80%,var(--border-strong));color:var(--text-muted);cursor:not-allowed}.entry-card__locked{margin:8px 0 4px;color:var(--text-muted)}.input--cell{width:100%;min-width:0;min-height:24px;padding:2px 6px;border-color:transparent;background:transparent}.input--cell:hover:not(:disabled){border-color:var(--border-strong)}.input--cell:disabled{color:var(--text-muted);background:transparent}.input--number{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.input--note{min-width:0}.input--error{background:var(--danger-soft);border-color:var(--danger);color:var(--danger);font-weight:600}.input--warning{background:var(--warning-soft);border-color:var(--warning-border)}.form-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:8px}.field{display:flex;flex-direction:column;gap:4px;flex:1 1 160px}.field--narrow{flex:0 0 100px}.field__label{font-weight:500}.field__hint,.field__label{font-size:calc(14px * var(--fs));color:var(--text-muted)}.field__hint{margin:4px 0 0}.inline-form,.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.inline-form .input{min-height:24px;padding:2px 7px;font-size:calc(14px * var(--fs));max-width:150px}.house-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}@media (max-width:1100px){.house-grid{grid-template-columns:minmax(0,1fr)}}.house-card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;color:inherit;text-decoration:none}.house-card:hover{border-color:var(--brand);box-shadow:var(--shadow-card)}.house-card__head{display:flex;align-items:baseline;justify-content:space-between}.house-card__name{margin:0;font-size:calc(15px * var(--fs));font-weight:600}.house-card__go{font-size:calc(14px * var(--fs));color:var(--brand)}.house-card__period{margin-top:2px;font-size:calc(14px * var(--fs));color:var(--text-muted)}.house-card__total{margin-top:8px;font-size:calc(22px * var(--fs));font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.house-card__hint{font-size:calc(14px * var(--fs));color:var(--text-muted)}.house-card__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin:12px 0 0;padding-top:10px;border-top:1px solid var(--border)}.house-card__stats dt{font-size:calc(14px * var(--fs));color:var(--text-muted)}.house-card__stats dd{margin:2px 0 0;font-size:calc(14px * var(--fs));font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}.stat{flex:1 1 150px;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px}.stat__label{font-size:calc(14px * var(--fs));font-weight:500;color:var(--text-muted)}.stat__value{font-size:calc(20px * var(--fs));font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:3px;overflow-wrap:anywhere}.notice{padding:8px 12px;border-radius:var(--radius);margin-bottom:10px;font-weight:500}.notice--ok{background:var(--success-soft);color:var(--success)}.notice--error{background:var(--danger-soft);color:var(--danger)}.period-picker{display:flex;align-items:center;gap:6px;margin-bottom:10px}.toolbar .period-picker{margin-bottom:0}.period-picker__select{width:auto;min-width:96px;cursor:pointer}.period-picker__nav{min-height:44px;gap:6px;padding:4px 14px}.period-picker .input{min-height:44px}.btn--icon{width:30px;padding:0;font-size:calc(16px * var(--fs));line-height:1}.table-wrap--tall{max-height:calc(100vh - 280px);overflow:auto}.table--grid{table-layout:fixed;width:max-content;min-width:100%}.table--grid td{overflow:hidden;text-overflow:clip}.w-stt{width:calc(44px * var(--fs))}.w-room{width:calc(220px * var(--fs))}.w-prevDate{width:calc(118px * var(--fs))}.w-currDate{width:calc(170px * var(--fs))}.w-prevElectric,.w-prevWater{width:calc(70px * var(--fs))}.w-currElectric,.w-currWater{width:calc(94px * var(--fs))}.w-electricUsage,.w-waterUsage{width:calc(112px * var(--fs))}.w-adjustment{width:calc(120px * var(--fs))}.w-meterReset{width:calc(96px * var(--fs))}.w-adjustmentNote,.w-note{width:calc(210px * var(--fs))}.w-electricityAmount{width:calc(136px * var(--fs))}.w-waterAmount{width:calc(124px * var(--fs))}.w-garbageAmount{width:calc(112px * var(--fs))}.w-roomAmount{width:calc(140px * var(--fs))}.w-total{width:calc(136px * var(--fs))}.table--grid td,.table--grid th{padding:3px 8px;border-right:1px solid var(--line-soft);white-space:nowrap;vertical-align:middle}.table--grid .grp-start{border-left:2px solid var(--border-strong)}.table--grid th{z-index:2;padding:4px 8px;white-space:normal;line-height:1.25;background:var(--bg);position:-webkit-sticky;position:sticky}.table--grid .grid-groups th{top:0;height:calc(34px * var(--fs));padding-block:0;text-align:center;font-weight:700;background:var(--surface-alt);border-bottom:1px solid var(--border-strong)}.table--grid .grid-groups .col-stt-room{text-align:left;vertical-align:bottom;padding-bottom:6px;left:0;z-index:4}.table--grid .grid-cols th{top:calc(34px * var(--fs));vertical-align:bottom;border-bottom:2px solid var(--border-strong)}.table--grid .col-room,.table--grid .col-stt{position:-webkit-sticky;position:sticky;background:var(--surface);z-index:1}.table--grid .col-stt{left:0;text-align:center;padding-inline:4px}.table--grid .col-room{left:calc(44px * var(--fs));font-weight:500;white-space:normal;box-shadow:2px 0 0 var(--border)}.table--grid .col-total{position:-webkit-sticky;position:sticky;right:0;z-index:1;background:var(--surface);box-shadow:-2px 0 0 var(--border)}.table--grid thead .col-total{z-index:3;background:var(--bg)}.table--grid tbody tr:hover .col-room,.table--grid tbody tr:hover .col-stt,.table--grid tbody tr:hover .col-total{background:var(--surface-hover)}.table--grid .td--total{font-weight:700}.table--grid tfoot td{position:-webkit-sticky;position:sticky;bottom:0;z-index:2;background:var(--bg);font-weight:600;border-top:2px solid var(--border-strong)}.table--grid tfoot .col-stt-room{left:0;z-index:4}.table--grid tfoot .col-total{z-index:4;background:var(--bg)}.row-reasons{list-style:none;margin:2px 0 0;padding:0;font-size:calc(14px * var(--fs));line-height:1.3;font-weight:500}.row-reason--error{color:var(--danger);font-weight:600}.row-reason--warning{color:var(--warning)}.grid-empty{padding:18px;text-align:center;color:var(--text-muted)}.row--error>td{background:color-mix(in srgb,var(--danger-soft) 60%,transparent)}.row--warning>td{background:color-mix(in srgb,var(--warning-soft) 55%,transparent)}.row--vacant>td{color:var(--text-muted);font-style:italic;background:var(--surface-alt)}.row--dirty .col-room{box-shadow:inset 3px 0 0 var(--brand)}.cell--locked{color:var(--text-faint);padding-left:6px}.col-warning{white-space:nowrap}.warning-list{display:flex;gap:4px;flex-wrap:nowrap;overflow:hidden;align-items:center;padding:0}.bill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));grid-gap:12px;gap:12px}.bill{--surface:#ffffff;--bg:#ffffff;--text:#161b26;--text-muted:#5b6576;--border:#e3e6eb;--border-strong:#c9ced6;--line-soft:#e9ecf0;--brand:var(--brand-paper);background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:10px 12px;font-size:calc(14px * var(--fs))}.bill__header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;border-bottom:1.5px solid var(--text);padding-bottom:6px}.bill__room{font-size:calc(14.5px * var(--fs));font-weight:600}.bill__period{font-weight:600;white-space:nowrap}.bill__dates,.bill__period{font-size:calc(14px * var(--fs));color:var(--text-muted)}.bill__dates{text-align:center}.bill__dates,.bill__section{padding:5px 0;border-bottom:1px dashed var(--border-strong)}.bill__row{gap:8px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bill__detail,.bill__row{display:flex;justify-content:space-between}.bill__detail{flex-wrap:wrap;gap:0 8px;font-size:calc(14px * var(--fs));color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bill__detail>span{white-space:nowrap}.bill__detail>span:last-child{margin-left:auto}.bill__total{white-space:nowrap;justify-content:space-between;gap:8px;font-size:calc(14.5px * var(--fs));font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bill__qr,.bill__total{display:flex;padding-top:8px}.bill__qr{align-items:center;justify-content:center;margin-top:8px;border-top:1px dashed var(--border,#d5d9e0)}.qr{flex:none;width:96px;height:96px;background:#fff;color:#000}.print-only{display:none}@media print{.no-print,.page-header__description,.sidebar{display:none!important}.main{padding:0}.main>:not(.page-header){margin-inline:0}.page-header{position:static;height:auto;padding:0;border:0;background:transparent;margin-bottom:2mm}body,html{-webkit-print-color-adjust:exact;print-color-adjust:exact}body{background:#fff}@page{size:A4 portrait;margin:10mm 10mm 8mm 12mm}.print-only,body{color:#000;font-size:calc(14px * var(--fs))}.print-only{display:block;margin:0 0 3mm}.bill-grid{grid-template-columns:repeat(3,1fr);gap:0;margin-top:4mm;padding:0 2px 2px 0}.bill{position:relative;margin:0 -1.5px -1.5px 0;padding:3.5mm 4mm;border:1.5px dashed #000;border-radius:0;font-size:calc(14px * var(--fs));color:#000;break-inside:avoid;page-break-inside:avoid}.bill:nth-child(3n+1):before{left:-5mm;bottom:-.68em}.bill:nth-child(3n+1):after,.bill:nth-child(3n+1):before,.bill:nth-child(3n+2):after{content:"\2702";position:absolute;font-family:Segoe UI Symbol,Apple Symbols,Noto Sans Symbols,sans-serif;font-size:calc(16px * var(--fs));line-height:1;background:#fff}.bill:nth-child(3n+1):after,.bill:nth-child(3n+2):after{right:-.55em;top:-1.1em;transform:rotate(90deg)}.bill__header{border-bottom:2px solid #000}.bill__room{font-size:calc(17px * var(--fs))}.bill__dates,.bill__period{font-size:calc(14px * var(--fs));color:#000}.bill__dates,.bill__section{border-bottom:1px dashed #000}.bill__section{padding:5px 0}.bill__row{font-weight:700}.bill__detail,.bill__row{font-size:calc(14px * var(--fs))}.bill__detail{color:#000}.bill__total{font-size:calc(16px * var(--fs));font-weight:700;padding-top:6px}.bill__qr{border-top:1px dashed #000}.qr{width:34mm;height:34mm}}.entry-bar,.entry-bar-spacer,.mobile-bar,.sidebar-backdrop{display:none}@media screen and (max-width:860px){:root{--gutter:12px}html{-webkit-text-size-adjust:100%}.app{display:block}.mobile-bar{display:flex;align-items:center;gap:10px;position:-webkit-sticky;position:sticky;top:0;z-index:40;min-height:48px;padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));background:var(--sidebar-bg);color:var(--sidebar-text-strong)}.mobile-bar__menu{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:-8px;border:0;background:transparent;color:inherit;cursor:pointer}.mobile-bar__title{font-size:calc(15px * var(--fs));font-weight:600;flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-bar__house{font-size:calc(14px * var(--fs));color:var(--sidebar-accent);font-weight:600;white-space:nowrap}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:60;width:min(84vw,320px);flex:none;height:100dvh;padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-105%);transition:transform .2s ease;box-shadow:none}.sidebar--open{transform:none;box-shadow:var(--shadow-drawer)}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:50;border:0;padding:0;background:var(--backdrop-strong)}.sidebar__link{height:46px;font-size:calc(15px * var(--fs))}.sidebar__landlords a,.sidebar__landlords button{min-height:40px}.main{padding-bottom:calc(24px + env(safe-area-inset-bottom));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.page-header__user{display:none}.page-header{position:static;height:auto;min-height:44px;flex-wrap:wrap;padding:8px var(--gutter);row-gap:2px}.page-header__description{white-space:normal;flex-basis:100%}.input,.input--cell,input.input,select.input{font-size:max(16px,calc(16px * var(--fs)));min-height:44px}.btn{height:44px;padding:0 16px;font-size:calc(15px * var(--fs))}.btn--small{height:36px}.toolbar{gap:8px;padding:8px}.toolbar__divider,.toolbar__spacer{display:none}.toolbar__group{flex-wrap:wrap}.period-picker{flex-wrap:nowrap;gap:6px}.period-picker .toolbar__label{display:none}.period-picker__select{flex:1 1;min-width:0}.btn--icon,.period-picker__nav{flex:0 0 44px;width:44px;padding:0}.period-picker__nav-text{display:none}.toolbar__details{width:100%}.toolbar__details>summary{min-height:40px;display:flex;align-items:center;font-size:calc(14px * var(--fs));color:var(--brand);cursor:pointer}.toolbar__details[open]>summary{margin-bottom:6px}.card{padding:10px}.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px}.stat{flex:none;padding:6px 8px}.stat__label{font-size:calc(14px * var(--fs))}.stat--desktop,.stat__hint{display:none}.stat-row--stack{grid-template-columns:minmax(0,1fr);gap:8px}.stat-row--stack .stat{padding:10px 14px}.stat-row--stack .stat__hint{display:block}.stat-row--stack .stat__value{font-size:calc(20px * var(--fs));white-space:normal;overflow:visible}.stat__value{font-size:calc(15px * var(--fs));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-wrap{-webkit-overflow-scrolling:touch}.bill-grid,.grid--2{grid-template-columns:minmax(0,1fr)}.entry-controls{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.entry-segment{display:flex;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.entry-segment button{flex:1 1;min-height:44px;padding:0 8px;border:0;border-right:1px solid var(--border);background:transparent;color:var(--text);font:inherit;font-size:calc(14px * var(--fs));cursor:pointer}.entry-segment button:last-child{border-right:0}.entry-segment button.is-active{background:var(--brand);color:var(--on-brand);font-weight:600}.entry-segment button:disabled{opacity:.5}.entry-list{display:flex;flex-direction:column;gap:10px}.entry-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border-strong);border-radius:var(--radius);padding:10px 12px 12px}.entry-card--warning{border-left-color:var(--warning-border);background:var(--warning-soft)}.entry-card--error{border-left-color:var(--danger);background:var(--danger-soft)}.entry-card--vacant{opacity:.7}.entry-card--dirty:not(.entry-card--error):not(.entry-card--warning){border-left-color:var(--brand)}.entry-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.entry-card__name{font-size:calc(17px * var(--fs));font-weight:600}.entry-card__badges{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.entry-card__prev{margin:2px 0 8px;font-size:calc(14px * var(--fs));color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.entry-card__fields{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.entry-field{display:flex;flex-direction:column;gap:3px;min-width:0}.entry-field--wide{grid-column:1/-1}.entry-field>span{font-weight:500}.entry-field>small,.entry-field>span{font-size:calc(14px * var(--fs));color:var(--text-muted)}.entry-field>small{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.input--big{font-size:calc(20px * var(--fs));font-weight:600;min-height:52px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.entry-card__money{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:8px;font-size:calc(14px * var(--fs));color:var(--text-muted)}.entry-card__money strong{font-size:calc(18px * var(--fs));color:var(--text);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.entry-card__warnings{margin:8px 0 0;padding:0;list-style:none;font-size:calc(14px * var(--fs));line-height:1.4}.entry-card__warnings li+li{margin-top:4px}.entry-card__more{margin-top:8px;border-top:1px dashed var(--border-strong);padding-top:6px}.entry-card__more>summary{min-height:40px;display:flex;align-items:center;font-size:calc(14px * var(--fs));color:var(--brand);cursor:pointer}.entry-card__more[open]>*+*{margin-top:8px}.entry-check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:calc(15px * var(--fs))}.entry-check input{width:22px;height:22px}.entry-adjust{display:flex;flex-direction:column;gap:8px}.entry-adjust__row{display:grid;grid-template-columns:1.35fr 1fr;grid-gap:8px;gap:8px}.entry-bar-spacer{display:block;height:calc(76px + env(safe-area-inset-bottom))}.entry-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:var(--surface);border-top:1px solid var(--border-strong);box-shadow:var(--shadow-bar)}.entry-bar__info{font-size:calc(14px * var(--fs));white-space:nowrap}.entry-bar__actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.entry-bar__actions .badge{display:none}}.readonly-guard{border:0;margin:0;padding:0;min-width:0}.page-header__user{margin-left:auto}.logout-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:calc(14px * var(--fs));font-weight:500;cursor:pointer;white-space:nowrap}.logout-btn:hover{background:var(--bg)}.logout-btn--icon{width:44px;height:44px;padding:0;justify-content:center;border:0;background:transparent;color:var(--sidebar-text-strong);margin-right:-8px}.logout-btn--icon:hover{background:var(--sidebar-overlay-strong)}.confirm-dialog{width:min(92vw,460px);white-space:normal;overflow-wrap:anywhere;padding:22px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);box-shadow:var(--shadow-dialog)}.confirm-dialog::-webkit-backdrop{background:var(--backdrop)}.confirm-dialog::backdrop{background:var(--backdrop)}.confirm-dialog__title{margin:0 0 8px;font-size:calc(17px * var(--fs));font-weight:600}.confirm-dialog__text{margin:0 0 20px;font-size:calc(15px * var(--fs));line-height:1.5;color:var(--text)}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:10px}.confirm-dialog__actions .btn{height:40px;padding:0 18px;font-size:calc(14px * var(--fs))}.login{--login-bg:#f6f2e9;--login-accent:#2f6b47;--login-accent-dark:#25553a;--login-border:#d8d2c3;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:var(--login-bg)}.login__card{width:100%;max-width:440px;padding:36px 32px 32px;border-radius:16px;background:#ffffff;border:1px solid var(--login-border);box-shadow:0 10px 30px rgba(70,60,30,.1)}.login__logo{width:56px;height:56px;margin:0 auto 14px;display:grid;place-items:center;border-radius:var(--radius-lg);background:#e6efe4;color:var(--login-accent)}.login__title{margin:0;text-align:center;font-size:calc(26px * var(--fs));font-weight:600}.login__subtitle{margin:6px 0 26px;text-align:center;font-size:calc(16px * var(--fs));color:#5f5a4c}.login__form{gap:20px}.login__field,.login__form{display:flex;flex-direction:column}.login__field{gap:8px}.login__label{font-size:calc(17px * var(--fs));font-weight:600}.login__input{width:100%;height:56px;padding:0 16px;border:1.5px solid var(--login-border);border-radius:var(--radius-lg);background:#fffdf8;color:var(--text);font:inherit;font-size:calc(18px * var(--fs))}.login__input::placeholder{color:#6b6657}.login__input:focus{outline:3px solid rgba(47,107,71,.28);outline-offset:0;border-color:var(--login-accent)}.login__password{position:relative}.login__password .login__input{padding-right:76px}.login__toggle{position:absolute;top:6px;right:6px;height:44px;min-width:60px;padding:0 12px;border:0;border-radius:var(--radius);background:transparent;color:var(--login-accent);font:inherit;font-size:calc(16px * var(--fs));font-weight:600;cursor:pointer}.login__toggle:hover{background:#eef3ea}.login__submit{height:56px;margin-top:4px;border:0;border-radius:var(--radius-lg);background:var(--login-accent);color:#ffffff;font:inherit;font-size:calc(18px * var(--fs));font-weight:600;cursor:pointer}.login__submit:hover:not(:disabled){background:var(--login-accent-dark)}.login__submit:disabled{opacity:.7;cursor:progress}.login__error{padding:12px 14px;border-radius:var(--radius-lg);border:1px solid #e3b4ae;background:#fdeceb;color:#8f1f15;font-size:calc(16px * var(--fs));line-height:1.4}@media screen and (max-width:480px){.login{padding:16px 12px}.login__card{padding:28px 20px 24px;border-radius:var(--radius-lg)}.login__title{font-size:calc(24px * var(--fs))}}html[data-font=sm]{--fs:0.85;--sidebar-width:184px}html[data-font=lg]{--fs:1.15;--sidebar-width:232px}html[data-font=xl]{--fs:1.3;--sidebar-width:260px}html[data-font=xxl]{--fs:1.5;--sidebar-width:290px}.badge--danger:before{content:"✖\00a0"}.badge--warning:before{content:"▲\00a0"}.badge--success:before{content:"✔\00a0"}@media screen{html[data-theme=dark]{--bg:#0e151c;--surface:#17212b;--surface-alt:#1c2833;--surface-hover:#1f2e3b;--border:#2b3a48;--border-strong:#3d4f60;--line-soft:#243240;--text:#e8edf2;--text-muted:#b2bdc8;--text-faint:#a0adba;--brand:#8fb1ff;--brand-soft:#1a2a52;--danger:#ff9a8f;--danger-soft:#3a1d1b;--warning:#f3bd6a;--warning-soft:#3a2c12;--warning-border:#d99a2b;--success:#6fd9a0;--success-soft:#153427;--focus:#b5cdff;--on-brand:#0a1633;--badge-bg:#243240;--chart-room:#8fb1ff;--chart-electric:#e0a53a;--chart-garbage:#9aa5b5;--sidebar-bg:#0a1117;--sidebar-active:#1c2d52;color-scheme:dark}html[data-theme=contrast]{--bg:#ffffff;--surface:#ffffff;--surface-alt:#f2f2f2;--surface-hover:#e6e6e6;--border:#1a1a1a;--border-strong:#000000;--line-soft:#5a5a5a;--text:#000000;--text-muted:#1a1a1a;--text-faint:#1a1a1a;--brand:#0a2463;--brand-soft:#dde5f7;--danger:#8a0000;--danger-soft:#ffe0e0;--warning:#5c3000;--warning-soft:#ffe9b8;--warning-border:#7a4400;--success:#005a2c;--success-soft:#d4f2e0;--focus:#000000;--on-brand:#ffffff;--badge-bg:#f2f2f2;--sidebar-bg:#000000;--sidebar-text:#ffffff;--sidebar-muted:#ffffff;--sidebar-label:#ffffff;--sidebar-line:#ffffff;--sidebar-active:#0a2463}html[data-accent=teal]:not([data-theme]){--brand:#0e6b6b;--brand-soft:#e3f1f1;--brand-paper:#0e6b6b;--focus:#0e6b6b;--logo-bg:#1f8a8a;--sidebar-accent:#9fe0e0;--on-sidebar-accent:#06201f;--chart-room:#0e6b6b;--sidebar-active:#23394c}html[data-theme=dark][data-accent=teal]{--brand:#5cc7c7;--brand-soft:#173a3d;--brand-paper:#0e6b6b;--focus:#8fe0e0;--on-brand:#06201f;--logo-bg:#1f8a8a;--sidebar-accent:#9fe0e0;--on-sidebar-accent:#06201f;--chart-room:#5cc7c7;--sidebar-active:#1b2c3a}html[data-theme=contrast][data-accent=teal]{--brand:#004d4d;--brand-soft:#d6ecec;--brand-paper:#0e6b6b;--logo-bg:#1f8a8a;--sidebar-accent:#9fe0e0;--on-sidebar-accent:#06201f;--sidebar-active:#004d4d}html[data-accent=red]:not([data-theme]){--brand:#a3162d;--brand-soft:#fbe9ec;--brand-paper:#a3162d;--focus:#a3162d;--logo-bg:#c4304a;--sidebar-accent:#ffb8c3;--on-sidebar-accent:#3a0610;--chart-room:#a3162d;--sidebar-active:#4a2833}html[data-theme=dark][data-accent=red]{--brand:#ff8da0;--brand-soft:#3d1b24;--brand-paper:#a3162d;--focus:#ffb3c0;--on-brand:#3a0610;--logo-bg:#c4304a;--sidebar-accent:#ffb8c3;--on-sidebar-accent:#3a0610;--chart-room:#ff8da0;--sidebar-active:#3a1c26}html[data-theme=contrast][data-accent=red]{--brand:#7a0019;--brand-soft:#fbe0e5;--brand-paper:#a3162d;--logo-bg:#c4304a;--sidebar-accent:#ffb8c3;--on-sidebar-accent:#3a0610;--sidebar-active:#7a0019}html[data-theme=contrast] .btn,html[data-theme=contrast] .card,html[data-theme=contrast] .house-card,html[data-theme=contrast] .input,html[data-theme=contrast] .stat{border-width:2px;border-color:#000000}html[data-theme=contrast] .main a:not(.house-card):not(.btn):not(.stat--link){text-decoration:underline}}.help{position:relative;display:inline-block;margin-left:6px;vertical-align:middle}.help__btn{width:22px;height:22px;padding:0;border:1.5px solid var(--text-muted);border-radius:50%;color:var(--text-muted);font:inherit;font-size:14px;font-weight:600;line-height:1;cursor:help}.help__btn,.help__text{background:var(--surface)}.help__text{display:none;position:absolute;z-index:30;left:0;top:calc(100% + 6px);width:min(300px,80vw);padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--text);box-shadow:var(--shadow-popover-strong);font-size:calc(14px * var(--fs));font-weight:400;line-height:1.45;text-transform:none;letter-spacing:0;white-space:normal}.help:focus-within .help__text,.help:hover .help__text{display:block}.todo-card{border-left:4px solid var(--warning-border)}.todo-card--ok{border-left-color:var(--success)}.todo-list{list-style:none;margin:8px 0 0;padding:0}.todo-list__item{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:10px 0;border-top:1px solid var(--line-soft)}.todo-list__item:first-child{border-top:0}.todo-list__room{font-weight:600}.todo-list__item a{color:var(--brand);font-weight:600}.todo-list__msg{flex:1 1 260px;min-width:0}a.stat--link{display:block;color:inherit;text-decoration:none}a.stat--link:focus-visible,a.stat--link:hover{border-color:var(--brand)}.stat__more{margin-top:6px;color:var(--brand);font-weight:600;font-size:calc(14px * var(--fs))}.house-card__go{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1.5px solid var(--brand);border-radius:var(--radius-sm);font-weight:600}.house-card:hover .house-card__go{background:var(--brand);color:var(--surface)}.house-card__stats dd{font-size:calc(15px * var(--fs))}.sidebar__landlords{flex-direction:column;gap:2px}.sidebar__landlord{flex:none;height:auto;min-height:40px;justify-content:flex-start;gap:8px;padding:0 10px;font-size:calc(15px * var(--fs))}.sidebar__section{font-weight:700;letter-spacing:.06em}.sidebar__backup{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0;border-radius:var(--radius);background:var(--brand);color:var(--on-brand);font-weight:600;text-align:center}.sidebar__backup:hover{filter:brightness(1.12)}.display-settings{display:flex;flex-direction:column;gap:10px}.sidebar__footer .sidebar__section{padding:0 0 8px}.sidebar__utility{padding:8px;margin-bottom:8px;border-radius:var(--radius);background:var(--sidebar-overlay)}.sidebar__backup-status{margin:8px 0 0;color:var(--sidebar-muted)}.sidebar__backup-status--stale{color:var(--sidebar-warning);font-weight:600}.sidebar__landlord--active,.sidebar__landlord--active:hover{background:transparent;box-shadow:inset 0 0 0 2px var(--sidebar-accent)}.sidebar__landlord--active:after{content:"Đang xem";margin-left:auto;font-size:calc(14px * var(--fs));font-weight:600;color:var(--sidebar-accent)}.sidebar__link--active,.sidebar__link--active:hover{box-shadow:inset 4px 0 0 var(--sidebar-accent)}.display-settings__row{display:flex;flex-direction:column;align-items:stretch;gap:4px}.display-settings__label{color:var(--sidebar-text)}.display-settings__font{display:flex;gap:4px}.display-settings__font button{flex:1 1}.display-settings__accent button,.display-settings__font button,.display-settings__select{min-width:44px;min-height:44px;padding:0 8px;border:1px solid var(--sidebar-line);border-radius:var(--radius-sm);background:var(--sidebar-active);color:var(--sidebar-text-strong);font:inherit;font-weight:600;cursor:pointer}.display-settings__font button[aria-pressed=true]{border-color:var(--sidebar-accent);background:var(--sidebar-accent);color:var(--on-sidebar-accent)}.display-settings__accent{display:flex;gap:var(--space-8)}.display-settings__accent button{flex:1 1;min-width:0;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-4);font-size:calc(14px * var(--fs));line-height:1.2}.display-settings__accent button:before{content:"";width:12px;height:12px;flex:0 0 12px;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 2px var(--sidebar-text-strong)}.display-settings__accent button[aria-pressed=true]{border-color:var(--sidebar-accent);background:var(--sidebar-accent);color:var(--on-sidebar-accent)}.accent--navy{--swatch:var(--swatch-navy)}.accent--teal{--swatch:var(--swatch-teal)}.accent--red{--swatch:var(--swatch-red)}.display-settings__font button[aria-disabled=true]{opacity:.6;cursor:not-allowed;border-style:dashed}.display-settings__note{color:var(--sidebar-muted);font-size:calc(14px * var(--fs));font-weight:400}.backup-reminder{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:12px;padding:12px 14px;border:1px solid var(--warning-border);border-radius:var(--radius);background:var(--warning-soft);color:var(--warning)}.backup-reminder__text{flex:1 1 260px;min-width:0;font-weight:600}.backup-reminder .btn{min-height:36px}.row--error>td:first-child:before{content:"✖\00a0";color:var(--danger);font-weight:700}.row--warning>td:first-child:before{content:"▲\00a0";color:var(--warning);font-weight:700}.skip-link{position:absolute;left:8px;top:-60px;z-index:100;padding:10px 14px;border-radius:var(--radius-sm);background:var(--brand);color:var(--on-brand);font-weight:600}.skip-link:focus{top:8px}.main:focus{outline:none}.sidebar__help{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:40px;margin-bottom:12px;border:1px solid var(--sidebar-line);border-radius:var(--radius);background:transparent;color:var(--sidebar-text);font:inherit;font-weight:600;cursor:pointer}.sidebar__help:hover{background:var(--sidebar-active);color:var(--sidebar-text-strong)}.bill__share{margin-top:10px;text-align:center}.bill__share-msg{margin:8px 0 0;font-size:calc(14px * var(--fs));text-align:left;color:var(--text-muted)}input[type=number].input--cell{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}input[type=number].input--cell::-webkit-inner-spin-button,input[type=number].input--cell::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input--cell{min-height:calc(32px * var(--fs));padding-inline:8px}.table--grid input.input--cell:not(:disabled){border-color:var(--border);background:var(--surface)}.input--cell::placeholder{color:var(--text-muted);opacity:1}.check-big{width:24px;height:24px;margin:0;accent-color:var(--brand);cursor:pointer;vertical-align:middle}.check-big:disabled{cursor:not-allowed;opacity:.6}.table--grid td:has(>.check-big){text-align:center}.cell-text{display:block;padding:3px 8px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cell-text--left{text-align:left}.table--grid .cell--locked.cell-text{color:var(--text-faint)}.table--closed tbody .col-room,.table--closed tbody .col-stt,.table--closed tbody .col-total,.table--closed tbody td{background:var(--surface-alt)}.closed-note,.table--closed tbody .cell--locked{color:var(--text)}.closed-note{margin-bottom:10px;padding:10px 14px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-alt);font-size:calc(15px * var(--fs))}.table--grid .row--error>.col-room,.table--grid .row--error>.col-stt,.table--grid .row--error>.col-total{background:color-mix(in srgb,var(--danger-soft) 60%,var(--surface))}.table--grid .row--warning>.col-room,.table--grid .row--warning>.col-stt,.table--grid .row--warning>.col-total{background:color-mix(in srgb,var(--warning-soft) 55%,var(--surface))}.table--grid .row--vacant>.col-room,.table--grid .row--vacant>.col-stt,.table--grid .row--vacant>.col-total{background:var(--surface-alt)}.stat--button{font:inherit;color:inherit;text-align:left;cursor:pointer}.stat--button:hover{background:var(--surface-hover);border-color:var(--border-strong)}.stat--button[aria-pressed=true]{border-color:var(--brand);box-shadow:inset 0 0 0 2px var(--brand)}.stat--button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.stat__hint{font-size:calc(15px * var(--fs));color:color-mix(in srgb,var(--text) 78%,var(--surface));margin-top:4px}.btn--primary:disabled,.btn:disabled{opacity:1;background:var(--surface-alt);border:1px dashed var(--border-strong);color:var(--text-muted);filter:none}.btn--warn{border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning);font-weight:600}.badge--lg{padding:6px 14px;font-size:calc(16px * var(--fs));border-radius:var(--radius-sm)}.action-gap{margin-left:40px;padding-left:40px;border-left:2px solid var(--border)}.toolbar__hint{margin:0;color:var(--text);font-size:calc(14px * var(--fs))}.toolbar__group--wrap{flex-wrap:wrap}@media screen and (min-width:861px){.entry-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:10px}.entry-controls .input{width:260px;min-height:44px}.entry-segment{display:flex;border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.entry-segment button{min-height:44px;padding:0 16px;border:0;border-right:1px solid var(--border);background:transparent;color:var(--text);font:inherit;font-size:calc(15px * var(--fs));cursor:pointer}.entry-segment button:last-child{border-right:0}.entry-segment button.is-active{background:var(--brand);color:var(--on-brand);font-weight:600}.entry-check{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:calc(15px * var(--fs));cursor:pointer}}.sidebar__section{margin-top:18px}.sidebar__section:first-of-type{margin-top:0}.btn--solid{background:var(--text);border-color:var(--text);color:var(--surface);font-weight:600}.btn--solid:hover:not(:disabled){filter:brightness(1.25);background:var(--text)}.btn--primary:disabled,.btn--solid:disabled{border-style:solid;opacity:.55}.btn--primary:disabled{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.btn--solid:disabled{background:var(--text);border-color:var(--text);color:var(--surface)}.toolbar__actions{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.action-reason{margin:0;font-size:calc(14px * var(--fs));font-weight:600;color:var(--warning);text-align:right}.stat{display:flex;flex-direction:column;min-height:calc(92px * var(--fs))}.stat__hint{margin-top:auto;padding-top:4px}.money--negative{color:var(--danger);font-weight:700}.input--cell{min-height:calc(40px * var(--fs))}.check-big{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;width:28px;height:28px;border:2px solid var(--text);border-radius:var(--radius-sm);background:var(--surface)}.check-big:checked{background:var(--brand);border-color:var(--brand)}.check-big:checked:after{content:"✔";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--on-brand);font-size:18px;line-height:1}.check-big:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.table--grid .cell--locked.cell-text{color:var(--text);font-weight:500;display:flex;align-items:center;justify-content:flex-end;min-height:calc(40px * var(--fs))}.row-reasons li{white-space:normal;overflow-wrap:anywhere}.input--cell::placeholder,.input::placeholder{color:var(--text-muted);opacity:1}.period-picker__status{display:none;white-space:nowrap}@media screen and (max-width:860px){.period-picker{flex-wrap:wrap}.period-picker__status{display:inline-flex;flex-basis:100%;width:-moz-fit-content;width:fit-content}.stat{min-height:0}.stat--desktop{display:none}.entry-controls,.period-picker,.stat-row{margin-inline:0;max-width:100%}.entry-bar{flex-wrap:wrap}.entry-bar .action-reason{flex-basis:100%;text-align:left}}.room-controls{margin-bottom:10px}.room-common{margin:0 0 10px;color:var(--text)}.tenant__name{font-weight:500;overflow-wrap:anywhere}.row-note{flex-basis:100%;max-width:360px;margin:4px 0 0;font-size:calc(14px * var(--fs));line-height:1.35;color:var(--text);white-space:normal}