*{box-sizing:border-box}html{min-height:100%}body{margin:0;font-family:system-ui,Microsoft YaHei,sans-serif;line-height:1.45;color:#1f2328;background:#f7f8fa;min-height:100%}a{color:#007bff;text-decoration:none}a:hover{text-decoration:underline}a,button,input,select,textarea{-webkit-tap-highlight-color:rgba(0,123,255,.16)}button,input,select,textarea{font:inherit;max-width:100%}input,select,textarea{min-height:36px;padding:4px 6px;border:1px solid #b8c0cc;border-radius:6px;background-color:#fff}input[type=checkbox],input[type=range]{min-height:0;padding:0}.navbar{background-color:#f8f9fa;border-bottom:1px solid #dee2e6;padding:0;position:sticky;top:0;z-index:900}.navbar-nav{display:flex;flex-direction:row;width:100%;margin:0;padding:0;list-style:none;font-size:clamp(18px,2.3vw,24px)}.nav-item{display:flex;flex-grow:1;justify-content:center}.nav-link{display:flex;align-items:center;justify-content:center;min-height:48px;padding:.5rem .75rem;color:#495057;text-decoration:none;text-align:center;white-space:nowrap}.nav-link:hover{color:#007bff}.nav-link.active{font-weight:700;color:#007bff}.nav-link.active:before{content:attr(data-icon);padding-right:3px}.styledTable{width:100%;border-collapse:collapse;table-layout:auto;margin-bottom:20px}.styledTable th,.styledTable td{border:1px solid #ddd;text-align:center;padding:8px}.styledTable th{background-color:#f2f2f2}.styledTable tr:nth-child(2n){background-color:#f9f9f9}.styledTable tr:hover{background-color:#eaeaea}#house-list-table,#house-list-table th,#house-list-table td{border:1px solid black;border-collapse:collapse;font-size:clamp(18px,2.4vw,24px)}#house-list-table{width:100%;table-layout:fixed}#house-list-table th,#house-list-table td{overflow-wrap:anywhere;padding:10px 6px}#house-list-table td,#house-list-table td a,#house-list-table td span{white-space:nowrap}#house-list-table th{word-break:keep-all;line-height:1.15}#house-list-table td{line-height:1.12}#house-list-table th:nth-child(1),#house-list-table td:nth-child(1){width:16%}#house-list-table th:nth-child(2),#house-list-table td:nth-child(2),#house-list-table th:nth-child(3),#house-list-table td:nth-child(3),#house-list-table th:nth-child(4),#house-list-table td:nth-child(4){width:28%}.green-text{color:green}.red-text{color:red}.blue-text{color:#00f}.orange-text{color:orange}.pink-text{color:#db7093}.muted-text{color:gray}.hidden{display:none}.underlineSpan{display:inline-block;border-top:2px solid #000;margin-top:1px}.header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.mode-switch{display:inline-grid;grid-auto-flow:column;gap:0;margin:0 0 10px;padding:3px;border:1px solid #c7ccd4;border-radius:8px;background:#f3f5f8}.mode-switch-button{min-width:96px;min-height:38px;padding:6px 12px;border:0;border-radius:6px;background:transparent;color:#334155;font-weight:700;cursor:pointer}.mode-switch-button.active{background:#fff;color:#007aff;box-shadow:0 1px 2px #1f23281f}.clearBtn{background:none;border:none;cursor:pointer;font-size:inherit;min-width:36px;min-height:36px}.message{position:fixed;bottom:0;left:0;width:100%;text-align:center;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom));z-index:1000}.success{background-color:#4caf50;color:#fff}.error{background-color:#f44336;color:#fff}.warning{background-color:#ff0;color:#000}.login-page{padding:0 16px}.login-page{width:min(100%,560px);min-height:100vh;min-height:100dvh;margin:0 auto;display:flex;flex-direction:column;justify-content:center}.login-page h1{font-size:clamp(28px,7vw,42px);margin:0 0 .25em}.login-page h2{margin:0 0 1.2em 60px;font-style:italic;font-size:clamp(18px,4.5vw,28px)}.login-size{font-size:24px}.login-size input,.login-size button{width:100%;font-size:24px;margin-bottom:10px}.login-size a{display:block;margin:8px 0;cursor:pointer}.form-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.form-row label{width:120px;text-align:right;margin-right:2px;flex:0 0 auto}.form-row input,.form-row select,.form-row textarea{flex:1}.form-row.button-row{justify-content:flex-end;gap:8px}.container{width:min(100%,1180px);margin:0 auto;padding:0 clamp(12px,2vw,20px) 20px;background:#fff;min-height:calc(100vh - 44px);min-height:calc(100dvh - 44px)}.mt-1{margin-top:.5rem}.padded{padding:16px}.message-visible{display:block}.add-btn{font-size:24px}.add-house-fieldset{margin-top:8px;display:inline-block}.column-form{display:flex;flex-direction:column}.scrollContainer{overflow-y:auto;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);position:relative;z-index:100}.stickyHeader{position:sticky;top:44px;z-index:110;background-color:#fff}.stickyRow th{position:sticky;top:0;background-color:#fff;z-index:101}.meter-page .stickyHeader,.billing-page .stickyHeader,.meter-page .stickyRow th,.billing-page .stickyRow th{position:static;top:auto;z-index:auto}.stickyElement{background-color:#fff}.house-tabs{display:flex;gap:8px;overflow-x:auto;padding:8px 0 10px;margin-bottom:8px;border-bottom:1px solid #d8dee8}.house-tab{flex:0 0 auto;min-height:40px;padding:6px 14px;border:1px solid #b8c0cc;border-radius:8px;background:#fff;color:#2f3a47;font-weight:700;cursor:pointer}.house-tab.active{border-color:#007aff;background:#eaf4ff;color:#0067d8}.house-workspace{margin-bottom:16px}.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.workspace-toolbar h3{margin:0}.date-toolbar{margin-bottom:10px}.rent_table{width:100%;border-collapse:collapse;table-layout:auto;margin-bottom:20px}.rent_table th,.rent_table td{border:1px solid #ddd;text-align:center;padding:8px}.rent_table th{background-color:#f2f2f2}.rent_table tr:nth-child(2n){background-color:#f9f9f9}.rent_table tr:hover{background-color:#eaeaea}.rent_table td input{width:100%;min-width:64px;box-sizing:border-box;padding:2px;text-align:center}.rent_table tbody{font-family:Arial,sans-serif;font-size:21px}.billing-page .rent_table tbody{font-size:19px}.billing-table .rentCheckbox{width:28px;min-width:0;height:28px;margin:0;vertical-align:middle;accent-color:#007aff}.billing-table td input.rentCheckbox{width:28px;min-width:0;padding:0;text-align:center}.checkbox-cell{text-align:center;vertical-align:middle}.expandLabel{color:#fff;display:inline-flex;align-items:center;justify-content:center;width:52px;min-height:42px;padding:0;cursor:pointer;border:1px solid #555;border-radius:8px;text-align:center;background-color:#6c757d;line-height:1}.rentForm{display:none}.table-scroll{width:100%;overflow-x:auto}.hideDiv{font-size:smaller;align-items:end;display:none}.visible-block{display:block}.visible-flex{display:flex}.date-input{width:160px;font-size:smaller}.date-selector{display:grid;grid-template-columns:minmax(150px,190px) minmax(170px,230px);align-items:end;gap:8px;width:100%}.date-selector.has-after-date{grid-template-columns:minmax(150px,190px) minmax(170px,230px) minmax(0,1fr)}.date-selector.without-date-input{grid-template-columns:minmax(170px,280px)}.date-selector.without-date-input.has-after-date{grid-template-columns:minmax(170px,280px) minmax(0,1fr)}.date-selector.without-record-select.has-after-date{grid-template-columns:minmax(150px,190px) minmax(0,1fr)}.date-selector-field{display:grid;gap:3px;min-width:0}.date-selector-label{color:#5f6b7a;font-size:12px;font-weight:700}.record-date-select{width:100%;min-height:36px;font-weight:700}.history-toggle{align-self:end;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:36px;padding:6px 10px;border:1px solid #c7ccd4;border-radius:6px;font-weight:700;white-space:nowrap;background:#fff}.history-toggle input{width:18px;height:18px;min-height:0;margin:0;accent-color:#007aff}.date-selector-after-date{justify-self:end}.date-selector-extra{grid-column:1 / -1;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.flex-div,.rowDiv{display:flex;justify-content:space-between;align-items:center;gap:10px}.rowDiv{justify-content:flex-start}.btn{background-color:#f9f9f9;color:#000;min-height:36px;padding:5px 10px;border:2px solid black;border-radius:6px;cursor:pointer;font-size:16px;font-weight:700;touch-action:manipulation}.underlineSpan_grey,.underlineSpan_green,.underlineSpan_blue{display:inline-block;border-top:2px solid #000;margin-top:1px}.underlineSpan_grey{color:gray}.underlineSpan_green{color:green}.underlineSpan_blue{color:#00f}.purple-font{color:purple}.orange-font{color:orange}.red-font{color:red}.bold-bigger-sized-font{font-weight:700;font-size:larger;color:red}.billing-total-cell{font-size:1.2em;line-height:1.1}.tf-label{border:1px solid red;border-radius:4px;padding:2px;margin-left:10px}.monthlyrentLabel{border:1px solid darkgrey;background-color:#90ee90;border-radius:4px;padding:2px;margin-left:10px}.label-frame{border:1px solid lightgray;padding:6px;margin:2px 0;display:flex;align-items:center;gap:3px;background-color:#f9f9f9;border-radius:5px}.checkout-input{border-color:red}.checkout-row{border:2px solid red}.small-muted{font-size:12px;color:#666;margin-top:2px}.settings-layout fieldset,#infoForm fieldset{display:flex;flex-direction:column;margin-bottom:12px}.number-frame,.info-frame{border:2px solid #000;padding:5px;display:flex;align-items:center;justify-content:center;margin:5px;background-color:#f0f0f0;border-radius:5px}.number-frame{width:50px}.info-frame{width:120px}.wide-info{width:auto;min-width:220px}.setting-toggle{display:inline-flex;align-items:center;gap:10px;min-height:34px;padding:0;border:0;background:transparent;color:#475569;cursor:pointer;flex:0 0 auto}.setting-toggle-track{position:relative;display:inline-flex;align-items:center;width:74px;height:34px;padding:4px;border-radius:999px;background:#cbd5e1;box-sizing:border-box;transition:background-color .2s ease}.setting-toggle-thumb{display:block;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #1f232847;transform:translate(0);transition:transform .2s ease}.setting-toggle-text{font-weight:700;min-width:2.5em}.setting-toggle.active{color:#0a84ff}.setting-toggle.active .setting-toggle-track{background:#2196f3}.setting-toggle.active .setting-toggle-thumb{transform:translate(40px)}.setting-toggle:focus-visible{outline:2px solid #0a84ff;outline-offset:2px;border-radius:999px}.redLabel{color:red}.greenLabel{color:green}.redemphezise{color:red;font-weight:700}.wide-btn{width:200px;margin-bottom:10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;justify-content:center;align-items:center;z-index:2000;padding:16px}.modal-panel{background:#fff;width:min(720px,100%);max-height:90vh;overflow-y:auto;border-radius:6px;padding:16px;box-shadow:0 10px 30px #0003}.modal-actions{display:flex;justify-content:flex-end}.priceTable{width:100%;border-collapse:collapse;font-size:18px;text-align:left}.priceTable thead tr{background-color:#f2f2f2;color:#333;font-weight:700}.priceTable th,.priceTable td{padding:8px 10px;border:1px solid #ddd;text-align:center}.priceTable tbody tr:nth-of-type(2n){background-color:#f9f9f9}.priceTable tbody tr:hover{background-color:#f1f1f1}.priceTable button{background-color:#4caf50;color:#fff;border:none;padding:10px 20px;font-size:16px;margin:2px;cursor:pointer;border-radius:4px}.priceTable button:hover{background-color:#45a049}.smallerRow{font-size:14px;color:red;white-space:nowrap}.account-tip{margin-left:110px;margin-bottom:8px}.account-actions{gap:8px;margin-left:110px}.legacy-panel{margin-bottom:12px}.legacy-panel fieldset,.tenant-register-page fieldset{display:flex;flex-direction:column}.bordered-table{border-collapse:collapse;width:100%;max-width:100%;table-layout:fixed}.bordered-table th{border:1px solid black;text-align:center;padding:8px;background-color:#f2f2f2}.bordered-table td{border:1px solid black;vertical-align:middle;text-align:center;padding:6px}.house-room-table th:first-child{width:58px}.house-room-table th:nth-child(2){width:76px}.toggleDisplayLabel{color:#fff;display:inline-block;padding:3px 8px;cursor:pointer;border:1px solid #555;border-radius:5px;text-align:center;background-color:#6c757d;margin-left:4px}.big-label{font-size:1.5em;font-weight:700}.room-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:10px}.room-detail-grid label{display:grid;gap:4px}.room-action-row{display:flex;justify-content:center;gap:10px;margin-bottom:10px}.flex-container{display:flex;width:100%;gap:10px}.flex-container input{flex:1}.redBoldLabel,.redBold,.redFont{color:red}.redBoldLabel,.redBold{font-weight:700}.page-title-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.equipment-row input{flex:0 0 auto;width:auto}.tenant_no_cell{text-align:center;vertical-align:middle;width:48px;font-weight:bolder}#rent_charge_table{width:100%;border-collapse:collapse;table-layout:fixed;margin-bottom:20px}#rent_charge_table th,#rent_charge_table td{border:1px solid #ddd;text-align:center;padding:8px}#rent_charge_table th{background-color:#f2f2f2}#rent_charge_table tr:nth-child(2n){background-color:#f9f9f9}#rent_charge_table tr:hover{background-color:#eaeaea}.preview-image{width:100%;max-width:720px;object-fit:contain;vertical-align:top}.id-card-thumb{max-width:100px;max-height:90px;object-fit:contain}.id-card-preview{max-width:800px;width:100%;object-fit:contain}.preview-table iframe{width:100%;height:min(70dvh,680px);border:none}.top-message{top:0;bottom:auto}.modal-close{position:absolute;opacity:0;pointer-events:none}.error-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;background-color:#f8f9fa}.main-title{font-size:2em;margin-bottom:1em;color:red}.error-message{font-size:1.5em;color:#333;font-weight:700;margin-left:1em}.message-card{margin:24px auto;max-width:560px;border:1px solid #ddd;border-radius:6px;padding:16px}.success-card{border-color:#4caf50}.warning-card{border-color:#d6b100}.data-monitoring-table{width:100%;border-collapse:collapse;margin-top:20px}.data-monitoring-table th,.data-monitoring-table td{padding:12px;text-align:left;border-bottom:1px solid #ddd}.data-monitoring-table th{background-color:#f2f2f2;font-weight:700}.data-monitoring-table tr:nth-child(2n){background-color:#f9f9f9}.data-monitoring-table tr:hover{background-color:#f1f1f1}@media (max-width: 760px){body{font-size:15px}button,input,select,textarea{font-size:16px}.container{min-height:calc(100vh - 42px);min-height:calc(100dvh - 42px);padding:0 max(10px,env(safe-area-inset-left)) calc(20px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right));overflow-x:hidden}.navbar{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);box-shadow:0 1px 4px #1f232814}.navbar-nav{font-size:clamp(18px,4.9vw,20px)}.nav-link{min-height:50px;padding:8px 2px}.clearBtn{min-width:42px;min-height:42px}.btn,button:not(.clearBtn){min-height:42px}h1,h2,h3,h4{line-height:1.25}h2,h3,h4{margin-top:.85em;margin-bottom:.55em}.login-page{min-height:100vh;min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));background:#fff}.login-page h1{text-align:center}.login-page h2{margin-left:0}.login-size,.login-size input,.login-size button{font-size:20px}input,select,textarea{min-height:42px;padding:8px 10px}.form-row{flex-direction:column;align-items:stretch;gap:4px}.form-row label{width:auto;text-align:left;margin-right:0}.form-row.button-row,.modal-actions,.account-actions{margin-left:0;justify-content:stretch;align-items:stretch}.form-row.button-row button,.modal-actions button,.account-actions button,.wide-btn{width:100%}.account-tip{display:block;margin-left:0;margin-bottom:10px}.number-frame,.info-frame{width:100%;min-height:38px}.wide-info{min-width:0}.scrollContainer{max-height:none;overflow-y:visible}.house-tabs{position:static;top:auto;z-index:auto;margin:0 -10px 8px;padding:8px 10px;background:#fff;box-shadow:none}.house-tab{min-height:40px;padding:6px 12px;font-size:16px}.workspace-toolbar{margin-bottom:6px}.mode-switch{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-bottom:8px}.mode-switch-button{min-width:0;min-height:42px;font-size:16px}.workspace-toolbar h3{font-size:20px}.date-toolbar{margin-bottom:8px}.stickyHeader{top:46px;margin:0 -10px 8px;padding:10px 10px 8px;border-bottom:1px solid #d8dee8;box-shadow:0 2px 8px #1f232814}.meter-page .stickyHeader,.billing-page .stickyHeader{position:static;top:auto;z-index:auto;margin:0 0 8px;padding:10px 0 8px;box-shadow:none}.stickyRow th,.meter-page .stickyRow th,.billing-page .stickyRow th{position:static;top:auto;z-index:auto}.meter-page section,.billing-page section{margin-bottom:14px}.meter-page .rentForm fieldset,.billing-page .rentForm fieldset{border:0;margin:0;padding:0;min-width:0}.meter-page .stickyHeader .flex-div,.billing-page .stickyHeader>div:first-child{min-height:42px}.meter-page .rowDiv,.billing-page .rowDiv{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:start;gap:8px}.meter-page .expandLabel,.billing-page .expandLabel{width:52px;min-height:44px;font-size:24px}.meter-page .hideDiv.visible-flex,.billing-page .hideDiv.visible-flex{display:block;width:100%}.flex-div,.rowDiv{align-items:stretch;flex-wrap:wrap}.rowDiv{gap:6px}.hideDiv.visible-flex{width:100%;align-items:center;flex-wrap:wrap}.date-input{width:100%;min-width:0;text-align:center;font-weight:700;color:#007aff}.label-frame{width:100%;flex-wrap:wrap;justify-content:flex-start;gap:8px;margin:0}.date-selector{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;align-items:end}.date-selector.has-after-date{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 86px}.date-selector.without-date-input{grid-template-columns:minmax(0,1fr)}.date-selector.without-date-input.has-after-date,.date-selector.without-record-select.has-after-date{grid-template-columns:minmax(0,1fr) 86px}.date-selector-label{display:none}.date-selector-field{gap:2px}.date-selector-field input,.date-selector-field select{padding-left:6px;padding-right:6px}.record-date-select,.history-toggle{min-height:42px}.history-toggle{padding-left:4px;padding-right:4px;font-size:14px}.date-selector-extra{align-items:center;border:1px solid #d7dce3;border-radius:8px;padding:6px 8px;background:#fafafa}.styledTable,.rent_table,.bordered-table,.priceTable,.data-monitoring-table,#rent_charge_table{display:block;width:100%;overflow-x:auto;border-radius:6px;box-shadow:inset -14px 0 12px -14px #1f232859}.styledTable th,.styledTable td,.rent_table th,.rent_table td,.bordered-table th,.bordered-table td,.priceTable th,.priceTable td,.data-monitoring-table th,.data-monitoring-table td,#rent_charge_table th,#rent_charge_table td{padding:6px 5px;word-break:break-word}#house-list-table{min-width:360px}#house-list-table{display:table;min-width:0;width:100%;overflow-x:visible;border-radius:0;box-shadow:none}#house-list-table th,#house-list-table td{font-size:clamp(18px,4.8vw,22px)}#house-list-table th{font-size:clamp(18px,4.4vw,21px);line-height:1.2}.rent_table{display:table;overflow-x:visible;min-width:0;table-layout:fixed}.meter-page .rent_table,.billing-page .rent_table{border-top:0}.meter-page .rent_table thead th,.billing-page .rent_table thead th{background:#eef2f6;box-shadow:none}.rent_table tbody{font-size:20px}.billing-page .rent_table tbody{font-size:18px}.billing-total-cell{font-size:1.1em}.meter-page .rent_table td input{min-height:48px;height:48px;font-size:inherit}.meter-table th:nth-child(1),.meter-table td:nth-child(1){width:15%}.meter-table th:nth-child(2),.meter-table td:nth-child(2),.meter-table th:nth-child(4),.meter-table td:nth-child(4){width:30%}.meter-table th:nth-child(3),.meter-table td:nth-child(3),.meter-table th:nth-child(5),.meter-table td:nth-child(5){width:12.5%}.billing-table{min-width:0;table-layout:fixed}.billing-table th:nth-child(1),.billing-table td:nth-child(1){width:20%}.billing-table th:nth-child(2),.billing-table td:nth-child(2){width:13%}.billing-table th:nth-child(3),.billing-table td:nth-child(3){width:22%}.billing-table th:nth-child(4),.billing-table td:nth-child(4),.billing-table th:nth-child(5),.billing-table td:nth-child(5){width:22.5%}.billing-table .btn{min-width:0;width:100%;padding-inline:4px}.billing-table .rentCheckbox{width:32px;min-width:0;height:32px}.billing-table td input.rentCheckbox{width:32px;min-width:0}.house-room-table{min-width:520px}.bordered-table{min-width:620px}#rent_charge_table{min-width:350px}.priceTable{min-width:620px}.data-monitoring-table{min-width:480px}.room-detail-grid{grid-template-columns:1fr 1fr}.room-action-row,.flex-container{flex-direction:column;align-items:stretch}.room-action-row button,.flex-container button{width:100%}.modal-backdrop{align-items:flex-start;padding:calc(10px + env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.modal-panel{max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);padding:12px}.preview-table iframe{height:72dvh}.id-card-thumb{max-width:80px}.main-title{font-size:1.7em}.error-message{font-size:1.1em;margin:0 16px;text-align:center}}@media (max-width: 420px){.container{padding-left:8px;padding-right:8px}.navbar-nav{font-size:18px}.nav-link{min-height:50px;padding-inline:1px}.rent_table tbody{font-size:21px}.billing-page .rent_table tbody{font-size:18px}.billing-total-cell{font-size:1.05em}.btn{font-size:14px;padding-inline:8px}.room-detail-grid{grid-template-columns:1fr}#house-list-table th,#house-list-table td{font-size:clamp(17px,5vw,20px)}#house-list-table th{font-size:clamp(17px,4.6vw,19px);line-height:1.15}}@media (min-width: 1024px){.login-page{justify-content:flex-start;padding-top:72px}.legacy-panel,.settings-layout,#infoForm{max-width:900px}}
