:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Noto Sans KR,sans-serif;color:#1d1d1f;background:#f5f5f7;font-synthesis:none;--blue:#007aff;--red:#ff3b30;--green:#34c759;--line:#e5e5ea}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f5f5f7}button,input{font:inherit}.shell{width:min(100%,980px);min-height:100dvh;margin:auto;padding:env(safe-area-inset-top) 16px calc(92px + env(safe-area-inset-bottom));background:#f5f5f7}.topbar{display:flex;align-items:flex-end;justify-content:space-between;padding:24px 2px 16px}.eyebrow,.section-title p{margin:0 0 2px;color:#6e6e73;font-size:14px;font-weight:700}.topbar h1,.section-title h2{margin:0;font-size:30px;letter-spacing:-1px}.month-picker{display:grid;gap:4px;color:#6e6e73;font-size:11px;font-weight:700}.month-picker input{max-width:138px;padding:9px;border:0;border-radius:11px;background:#fff;box-shadow:0 1px 2px #0000000a}.hero{display:flex;align-items:center;gap:14px;padding:20px;border-radius:20px;background:linear-gradient(135deg,#007aff,#5ac8fa);color:#fff;box-shadow:0 12px 26px #007aff30}.hero p,.hero h2{margin:0}.hero p{font-size:13px;opacity:.86}.hero h2{font-size:22px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.status-card{padding:18px;border-radius:18px;background:#fff;box-shadow:0 3px 16px #0000000a}.status-card div{display:flex;align-items:center;justify-content:space-between}.status-card span{font-weight:800}.status-card strong{font-size:22px}.status-card p{margin:12px 0 0;color:#6e6e73;font-size:13px}.status-card.blue strong{color:var(--blue)}.status-card.good strong{color:var(--green)}.connection{color:#8e8e93;font-size:12px}.segmented,.floor-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;padding:3px;border-radius:12px;background:#e9e9eb}.segmented button,.floor-tabs button{min-height:38px;border:0;border-radius:10px;background:transparent;font-weight:750}.segmented button.active,.floor-tabs button.active{background:#fff;color:var(--blue);box-shadow:0 1px 5px #0002}.section-title{display:flex;align-items:center;justify-content:space-between;padding:22px 2px 12px}.floor-tabs{margin-bottom:10px}.reading-card,.form-card,.settings-list,.empty-state{overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 2px 12px #0000000a}.reading-head,.reading-row{display:grid;grid-template-columns:48px 68px minmax(84px,1fr) 64px;gap:6px;align-items:center}.reading-head{padding:9px 12px;color:#8e8e93;font-size:11px;font-weight:700}.reading-row{min-height:48px;padding:5px 12px;border-top:1px solid var(--line)}.reading-row span,.reading-row b{text-align:right}.reading-row input{width:100%;min-width:0;padding:8px 7px;border:1px solid #d1d1d6;border-radius:9px;background:#f9f9fb;text-align:right;font-size:18px;font-weight:800}.reading-row input:focus{outline:3px solid #007aff30;border-color:var(--blue)}.reading-row.warning{background:#fff1f0}.reading-row.warning b{color:var(--red)}.primary,.secondary{min-height:48px;border:0;border-radius:13px;font-weight:800}.primary{width:100%;background:var(--blue);color:#fff}.primary:disabled{background:#c7c7cc}.secondary{padding:0 16px;background:#eaf3ff;color:var(--blue)}.sticky-action{position:sticky;bottom:78px;margin-top:12px;box-shadow:0 8px 30px #007aff3d}.notice{padding:10px 12px;border-radius:10px;background:#fff3cd;color:#8a5a00;font-size:13px;font-weight:700}.form-card{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:12px;padding:18px}.form-card h3{grid-column:1/-1;margin:0}.form-card label{display:grid;gap:5px;color:#6e6e73;font-size:12px;font-weight:700}.form-card input{width:100%;min-height:44px;padding:9px;border:1px solid var(--line);border-radius:10px}.form-card button{grid-column:1/-1}.form-card.compact{grid-template-columns:1fr 1fr auto}.form-card.compact h3{grid-column:1/-1}.form-card.compact button{grid-column:auto;align-self:end}.empty-state{padding:44px 24px;text-align:center;color:#6e6e73}.empty-state h3{color:#1d1d1f}.settings-list{display:grid}.settings-list button{display:flex;justify-content:space-between;min-height:54px;padding:0 16px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left}.settings-list button:last-child{border:0}.settings-list span{color:#8e8e93}.bottom-nav{position:fixed;z-index:20;left:50%;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);width:min(100%,980px);padding:7px max(8px,env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom));transform:translate(-50%);border-top:1px solid #d1d1d6cc;background:#f9f9f9e8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav button{display:grid;place-items:center;gap:2px;min-height:52px;border:0;background:transparent;color:#8e8e93;font-size:10px}.bottom-nav svg{width:23px;height:23px}.bottom-nav button.active{color:var(--blue)}@media(max-width:700px){.shell{padding-left:10px;padding-right:10px}.topbar{padding-top:18px}.topbar h1{font-size:26px}.dashboard-grid{grid-template-columns:1fr}.status-card{padding:15px}.section-title h2{font-size:25px}.form-card,.form-card.compact{grid-template-columns:1fr;padding:14px}.form-card h3,.form-card.compact h3,.form-card button,.form-card.compact button{grid-column:1}.reading-head,.reading-row{grid-template-columns:38px 54px minmax(72px,1fr) 46px;gap:3px}.reading-row{padding:4px 7px}.reading-row input{padding:7px 4px;font-size:17px}.sticky-action{bottom:73px}}.auth-shell{display:grid;min-height:100dvh;place-items:center;padding:20px;background:radial-gradient(circle at top,#ddecff,#f5f5f7 52%)}.auth-card{width:min(100%,390px);padding:26px;border:1px solid #fff8;border-radius:24px;background:#fffffff0;box-shadow:0 18px 50px #00000016;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.auth-card h1{margin:4px 0 8px;font-size:30px;letter-spacing:-1px}.auth-help{margin:0 0 22px;color:#6e6e73;font-size:14px;line-height:1.5}.auth-card label{display:grid;gap:6px;margin:12px 0;color:#6e6e73;font-size:12px;font-weight:750}.auth-card input{width:100%;min-height:48px;padding:10px 12px;border:1px solid #d1d1d6;border-radius:12px;background:#fff;font-size:16px}.auth-card input:focus{outline:3px solid #007aff26;border-color:var(--blue)}.auth-card .primary{margin-top:8px}.auth-error{padding:10px;border-radius:10px;background:#fff0ef;color:var(--red);font-size:13px;font-weight:700}.auth-mode{width:100%;min-height:44px;margin-top:8px;border:0;background:transparent;color:var(--blue);font-weight:750}.reading-row.missing{background:#fffdf5}.reading-row.missing b{color:#9a6700;font-size:11px}.reading-row input::placeholder{color:#a07918;font-size:12px}.previous-value{display:grid;justify-items:end;line-height:1.05}.previous-value small{margin-top:3px;color:#9a6700;font-size:8px;white-space:nowrap}.meter-summary{margin:0 2px 9px;color:#248a3d;font-size:12px;font-weight:750}.meter-summary.has-missing{padding:8px 10px;border-radius:9px;background:#fff4ce;color:#805c00}.meter-progress{display:flex;justify-content:space-between;margin:0 2px 7px;color:#6e6e73;font-size:12px;font-weight:750}.meter-progress strong{color:var(--blue)}.reading-warning{grid-column:1/-1;margin:-2px 0 3px;color:var(--red);font-size:10px;font-weight:800;text-align:right}.next-step{width:100%;margin-top:9px}.verify-group article.pending>svg,.verify-group article.pending>b{color:#a06b00}.management-bill-card{grid-template-columns:repeat(2,minmax(0,1fr))}.management-bill-card button{grid-column:1/-1}.management-bill-card label{font-size:15px}.management-bill-card input{font-size:18px;font-weight:750}.management-bill-card .bill-amount-input{font-size:20px}.bill-reading-date{grid-column:1/-1}.bill-value-preview{min-height:18px;color:#6e6e73;font-size:14px;font-weight:700}.charge-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.charge-summary-grid article{display:grid;gap:5px;padding:13px;border-radius:15px;background:#fff;box-shadow:0 2px 12px #0000000a}.charge-summary-grid span{color:#6e6e73;font-size:11px;font-weight:700}.charge-summary-grid strong{font-size:16px}.calculation-state{margin:10px 0;padding:8px 10px;border-radius:10px;font-size:12px;font-weight:800}.calculation-state.stored{background:#e9f9ed;color:#248a3d}.calculation-state.preview{background:#fff4ce;color:#805c00}.charge-list{overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 2px 12px #0000000a}.charge-row{display:grid;grid-template-columns:1fr auto;width:100%;padding:12px 14px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left}.charge-row:last-child{border-bottom:0}.charge-row>span:first-child{display:grid;gap:2px}.charge-row small{color:#8e8e93}.charge-row>b{align-self:center;color:var(--blue)}.charge-detail{display:grid!important;grid-column:1/-1;grid-template-columns:1fr 1fr;gap:5px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);color:#6e6e73;font-size:11px}.charge-detail em{font-style:normal}.missing-requirements{margin:12px 0;text-align:left}.missing-requirements p{margin:5px 0;padding:7px 9px;border-radius:8px;background:#fff4ce;color:#805c00;font-size:12px;font-weight:750}.partial-missing-summary{margin:10px 0;padding:8px 10px;border-radius:10px;background:#fff4ce;color:#805c00;font-size:12px;font-weight:800}.inline-settings{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;background:#f7f7fa;border-bottom:1px solid var(--line)}.inline-settings h3,.inline-settings .setting-help,.inline-settings>.secondary,.inline-settings>.notice{grid-column:1/-1}.inline-settings label{display:grid;gap:4px;color:#6e6e73;font-size:11px;font-weight:750}.inline-settings input,.inline-settings select{width:100%;min-height:40px;padding:8px;border:1px solid #d1d1d6;border-radius:9px;background:#fff}.inline-settings .check-label{display:flex;align-items:center}.inline-settings .check-label input{width:auto}.setting-help{margin:0;color:#6e6e73;font-size:11px;line-height:1.45}.utility-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.dashboard-metric{display:grid;gap:5px;min-width:0;padding:15px;border-radius:18px;background:#fff;box-shadow:0 3px 16px #0000000a}.dashboard-metric>span{color:#6e6e73;font-size:12px;font-weight:800}.dashboard-metric>strong{overflow:hidden;font-size:21px;letter-spacing:-.5px;text-overflow:ellipsis;white-space:nowrap}.dashboard-metric>small{color:#6e6e73;font-size:12px;font-weight:700}.dashboard-metric.good>strong{color:var(--green)}.home-utility-section{display:grid;gap:12px}.home-bill-panel{overflow:hidden;border-radius:20px;background:#fff;box-shadow:0 4px 20px #0000000a}.home-bill-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:17px 18px 13px;border-bottom:1px solid #ededf0}.home-bill-panel h2,.home-bill-panel p{margin:0}.home-bill-panel h2{font-size:18px;letter-spacing:-.3px}.home-bill-panel header p{margin-top:5px;color:#8e8e93;font-size:12px;font-weight:700}.home-bill-panel header>strong{padding-top:2px;white-space:nowrap;font-size:12px}.home-bill-panel .saved{color:#248a3d}.home-bill-panel .pending{color:#9a6700}.water-bill-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 18px}.water-bill-fields label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;color:#6e6e73;font-size:13px;font-weight:800}.dashboard-input{display:grid;grid-template-columns:minmax(80px,1fr) auto;align-items:center;overflow:hidden;border:1px solid #dedee3;border-radius:12px;background:#f8f8fa}.dashboard-input input,.electric-bill-table input{width:100%;min-width:0;min-height:46px;padding:9px 10px;border:0;outline:0;background:transparent;text-align:right;font-size:18px;font-weight:800}.dashboard-input:focus-within,.electric-bill-table input:focus{border-color:var(--blue);box-shadow:inset 0 0 0 2px #007aff24}.dashboard-input b{min-width:44px;padding-right:10px;color:#6e6e73;text-align:right;font-size:12px}.electric-bill-table{padding:13px 18px 16px}.electric-table-head,.electric-bill-table label{display:grid;grid-template-columns:70px minmax(110px,1fr) minmax(120px,1fr);align-items:center;gap:10px}.electric-table-head{padding:0 4px 8px;color:#8e8e93;font-size:11px;font-weight:800;text-align:right}.electric-table-head span:first-child{text-align:left}.electric-bill-table label{padding:6px 4px;border-top:1px solid #f1f1f3}.electric-bill-table label>strong{font-size:14px}.electric-bill-table label input{min-height:44px;border:1px solid #dedee3;border-radius:11px;background:#f8f8fa}.electric-floor-shortcut{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 8px;border:0;border-radius:10px;background:#eef6ff;color:var(--blue);font-size:14px;font-weight:850;text-align:left}.electric-floor-shortcut span{font-size:18px}.bill-period-static{grid-column:1/-1;margin:0;padding:10px 12px;border-radius:10px;background:#f5f5f7;color:#6e6e73;font-size:13px;font-weight:750}.home-bill-panel>footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px 16px}.home-bill-panel>footer button{min-width:112px;min-height:44px;border:0;border-radius:12px;font-weight:850}.bill-reset{background:#f0f0f3;color:#53535a}.bill-save{background:var(--blue);color:#fff}.home-bill-panel>footer button:disabled{opacity:.42}.home-calculation-card{display:grid;gap:11px;margin-top:14px;padding:17px 18px;border-radius:20px;background:#fff;box-shadow:0 4px 20px #0000000a}.home-calculation-card header{display:flex;justify-content:space-between;gap:12px}.home-calculation-card h2,.home-calculation-card p{margin:0}.home-calculation-card h2{font-size:18px}.home-calculation-card header p{margin-top:5px;color:#6e6e73;font-size:12px}.home-calculation-card header>strong{white-space:nowrap;font-size:12px}.home-calculation-card .complete{color:#248a3d}.home-calculation-card .incomplete{color:#9a6700}.calculation-missing-status,.calculation-missing-action{display:grid;grid-template-columns:1fr auto;align-items:center;width:100%;padding:10px 0;border:0;border-top:1px solid #ededf0;color:#6e6e73;font-size:13px;text-align:left}.calculation-missing-status b{color:#1d1d1f}.calculation-missing-action{grid-template-columns:1fr auto 18px;border-radius:0;background:#f7fbff;cursor:pointer}.calculation-missing-action b,.calculation-missing-action svg{color:var(--blue)}.calculation-missing-action:active{background:#eaf3ff}.calculation-missing-list{padding:9px 11px;border-radius:10px;background:#fff8dc;color:#805c00;font-size:12px!important;line-height:1.45}.calculation-preview{display:flex;align-items:center;justify-content:center;gap:4px;min-height:46px;border:0;border-radius:13px;background:#eaf3ff;color:var(--blue);font-weight:850}.missing-focus{outline:3px solid #ffcc00!important;background:#fff8dc!important;scroll-margin-block:120px;transition:outline-color .25s ease,background-color .25s ease}@media(max-width:700px){.management-bill-card{grid-template-columns:1fr}.charge-summary-grid{grid-template-columns:1fr 1fr}.charge-detail,.inline-settings{grid-template-columns:1fr}.inline-settings h3,.inline-settings .setting-help,.inline-settings>.secondary,.inline-settings>.notice{grid-column:1}.utility-summary-grid{gap:6px}.dashboard-metric{gap:3px;padding:11px 9px;border-radius:15px}.dashboard-metric>span,.dashboard-metric>small{font-size:11px}.dashboard-metric>strong{font-size:15px}.home-bill-panel>header{padding:15px 14px 11px}.water-bill-fields{grid-template-columns:1fr;padding:13px 14px}.water-bill-fields label{grid-template-columns:78px minmax(0,1fr)}.electric-bill-table{padding:10px 10px 13px}.electric-table-head,.electric-bill-table label{grid-template-columns:45px minmax(92px,1fr) minmax(106px,1fr);gap:5px}.electric-table-head{font-size:10px}.electric-bill-table input{padding:7px 6px;font-size:16px}.home-bill-panel>footer{padding:10px 14px 14px}.home-bill-panel>footer button{flex:1;min-width:0}.home-calculation-card{padding:15px 14px}}.billing-settings-panel{display:grid;gap:10px;padding:14px;background:#f7f7fa;border-bottom:1px solid var(--line)}.billing-effective-month{display:grid;gap:4px;color:#6e6e73;font-size:11px;font-weight:750}.billing-effective-month input{width:100%;min-height:40px;padding:8px;border:1px solid #d1d1d6;border-radius:9px;background:#fff}.billing-setting-list{display:grid;gap:7px}.billing-setting-list article{display:grid;grid-template-columns:minmax(110px,1fr) auto 180px;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:13px;background:#fff}.billing-setting-list article.disabled{opacity:.65}.billing-room-title{display:grid}.billing-room-title small{color:#8e8e93}.billing-enabled{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:12px;font-weight:750}.tax-segment{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:2px;border-radius:10px;background:#e9e9eb}.tax-segment button{min-height:34px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:#6e6e73;font-size:12px;font-weight:800}.tax-segment button.active{background:#fff;color:var(--blue);box-shadow:0 1px 5px #0002}.tax-segment.disabled{opacity:.5}.billing-target-list{display:grid;gap:8px}.billing-target-row{display:grid;grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:#fff;box-shadow:0 2px 12px #0000000a}.billing-target-summary{display:grid;grid-template-columns:minmax(80px,1fr) auto auto;align-items:center;gap:8px;padding:0;border:0;background:transparent;text-align:left}.billing-target-summary:disabled{opacity:1}.billing-target-summary>span:first-child{display:grid}.billing-target-summary small{color:#8e8e93}.billing-target-summary>b{color:var(--blue);font-size:14px}.tax-badge{padding:4px 7px;border-radius:999px;background:#eaf3ff;color:var(--blue);font-size:10px;font-weight:800}.tax-badge.exempt{background:#eef8ef;color:#248a3d}.billing-charge-detail{grid-column:1/-1;width:100%}.billing-target-breakdown{display:grid!important;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding-top:7px;border-top:1px solid var(--line);color:#6e6e73;font-size:10px}.billing-target-breakdown em{font-style:normal;white-space:nowrap}.billing-target-status{grid-column:1/-1;font-size:12px;font-weight:850}.billing-target-status.complete{color:#248a3d}.billing-target-status.incomplete{color:#805c00}.billing-target-row.incomplete{border:1px solid #f0d77a}.billing-target-missing{display:grid;grid-column:1/-1;gap:4px;padding:8px 10px;border-radius:10px;background:#fff8dc;color:#805c00;font-size:12px}.billing-target-missing strong{font-size:12px}.billing-target-missing span:before{content:"• "}.billing-target-row .invoice-actions{grid-column:1/-1}.invoice-action-buttons{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:7px}.invoice-action-buttons button{min-height:42px;padding:8px 6px}.invoice-incomplete{display:grid;gap:4px;margin:10px 0;padding:10px;border-radius:10px;background:#fff4ce;color:#805c00;font-size:12px}.invoice-incomplete span{line-height:1.45}@media(max-width:700px){.billing-setting-list article{grid-template-columns:1fr auto}.billing-setting-list article .tax-segment{grid-column:1/-1}.billing-target-row{grid-template-columns:1fr}.billing-target-summary{grid-template-columns:1fr auto}.billing-target-summary>b{grid-column:1/-1}.billing-target-breakdown{grid-template-columns:1fr 1fr}.billing-charge-detail{grid-column:1}.tax-segment button{min-height:38px}.billing-settings-panel{padding:10px}}.test-mode-banner{position:sticky;z-index:30;top:0;margin:0 -16px;padding:8px 14px;background:#fff4ce;color:#805c00;text-align:center;font-size:12px;font-weight:850;box-shadow:0 1px 8px #0001}.verification-view{padding-bottom:12px}.verify-readonly{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#fff4ce;color:#805c00;font-size:12px;font-weight:800}.verify-group{margin:12px 0}.verify-group h3,.verify-tax h3{margin:0 0 7px;font-size:14px}.verify-group article{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:7px;padding:10px 12px;border-bottom:1px solid var(--line);background:#fff}.verify-group article:first-of-type{border-radius:14px 14px 0 0}.verify-group article:last-of-type{border:0;border-radius:0 0 14px 14px}.verify-group article:only-of-type{border-radius:14px}.verify-group article.pass>svg,.verify-group article.pass>b{color:var(--green)}.verify-group article.fail>svg,.verify-group article.fail>b{color:var(--red)}.verify-group span{display:grid}.verify-group small{margin-top:2px;color:#6e6e73}.verify-group b{font-size:11px}.verify-error{display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:start;padding:12px;border-radius:14px;background:#fff0ef;color:var(--red)}.verify-error p{grid-column:1/-1;margin:0;font-size:12px;white-space:pre-wrap}.verify-tax{padding:14px;border-radius:16px;background:#fff;box-shadow:0 2px 12px #0000000a}.verify-tax label{display:grid;gap:5px;color:#6e6e73;font-size:11px;font-weight:750}.verify-tax select{min-height:42px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#fff}.verify-tax>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.verify-tax article{display:grid;gap:4px;padding:11px;border-radius:12px;background:#f5f5f7}.verify-tax article span{color:#6e6e73;font-size:11px}.verify-tax article strong{font-size:12px}.verify-tax article b{font-size:15px}.verify-excluded{margin-top:12px;padding:11px 12px;border-radius:14px;background:#fff}.verify-excluded summary{font-weight:800}.verify-excluded p{color:#6e6e73;font-size:12px;line-height:1.5}.reading-row input:disabled{color:#1d1d1f;opacity:1;background:#f1f1f3}.workflow-card{overflow:hidden;margin-top:12px;border-radius:18px;background:#fff;box-shadow:0 2px 12px #0000000a}.workflow-card h3{margin:0;padding:14px 16px 8px;font-size:15px}.workflow-card div{display:flex;justify-content:space-between;gap:12px;padding:9px 16px;border-top:1px solid var(--line);font-size:12px}.workflow-card span{color:#6e6e73}.workflow-card b{color:#1d1d1f}.meter-date-guide{margin:0 0 9px;padding:8px 10px;border-radius:10px;background:#eaf3ff;color:#1261a0;font-size:12px;font-weight:700}@media(max-width:700px){.test-mode-banner{margin:0 -10px}.verify-tax>div{grid-template-columns:1fr}}.workflow-card .workflow-row{display:grid;grid-template-columns:1fr auto 18px;align-items:center;gap:10px;width:100%;padding:11px 16px;border:0;border-top:1px solid var(--line);background:#fff;text-align:left}.workflow-card .workflow-row:hover,.workflow-card .workflow-row:focus-visible{background:#f4f8ff}.workflow-card .workflow-row>span{display:grid;gap:2px;color:#1d1d1f}.workflow-row strong{font-size:13px}.workflow-row small{max-width:540px;color:#8e8e93;font-size:10px}.workflow-row svg{color:#8e8e93}.electric-entry-layout{display:grid;grid-template-columns:minmax(300px,58fr) minmax(420px,42fr);grid-template-rows:minmax(0,1fr);gap:14px;align-items:stretch;height:calc(100dvh - 238px);min-height:0;overflow:hidden}.electric-entry-fields{min-width:0;min-height:0;height:100%;padding-right:3px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.electric-photo-panel{position:sticky;top:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:9px;min-width:0;min-height:0;height:100%;padding:13px;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 2px 12px #0000000a}.electric-photo-title div{display:grid}.electric-photo-title small{margin-top:2px;color:#8e8e93;font-size:11px}.electric-photo-frame{display:grid;place-items:center;width:100%;height:100%;min-height:0;padding:0;overflow:auto;border:1px solid var(--line);border-radius:14px;background:#111;color:#aaa}.electric-photo-frame span{display:grid;justify-items:center;gap:8px}.electric-photo-frame img{display:block;width:100%;height:100%;object-fit:contain}.electric-photo-actions{display:flex;gap:8px}.electric-photo-actions button{flex:1}.electric-photo-notice{margin:0;color:#6e6e73;font-size:11px}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.photo-lightbox{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:auto minmax(0,1fr);background:#000e}.photo-lightbox-toolbar{display:flex;justify-content:flex-end;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 12px 10px}.photo-lightbox-toolbar button{display:grid;place-items:center;min-width:42px;min-height:42px;border:0;border-radius:11px;background:#fff2;color:#fff}.photo-lightbox-canvas{min-width:0;min-height:0;overflow:hidden;display:grid;place-items:center;padding:12px;touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none}.photo-lightbox-canvas img{display:block;max-width:100%;max-height:calc(100dvh - 86px);object-fit:contain;transform-origin:center center;will-change:transform;-webkit-user-drag:none}.reading-row.active{position:relative;z-index:1;background:#eaf3ff;box-shadow:inset 3px 0 var(--blue)}.management-bill-card.focused{outline:3px solid #007aff55;box-shadow:0 8px 30px #007aff22}@media(max-width:700px){.workflow-card .workflow-row{padding:11px 13px}.electric-entry-layout{grid-template-columns:minmax(0,58fr) minmax(132px,42fr);grid-template-rows:minmax(0,1fr);gap:6px;height:max(300px,calc(100dvh - 220px));min-height:0;max-height:calc(100dvh - 160px)}.electric-photo-panel{position:sticky;top:0;gap:6px;padding:7px;border-radius:13px}.electric-photo-title strong{font-size:12px}.electric-photo-title small{font-size:9px}.electric-photo-frame{border-radius:9px}.electric-photo-frame span{padding:6px;font-size:10px;text-align:center}.electric-photo-actions{display:grid;gap:4px}.electric-photo-actions .secondary{min-height:36px;padding:0 5px;font-size:10px}.electric-photo-notice{font-size:9px}.electric-entry-fields{height:100%;min-height:0;padding-right:1px;padding-bottom:calc(8px + env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}.electric-entry-fields .reading-date-edit,.electric-entry-fields .previous-edit-toggle,.electric-entry-fields .meter-progress,.electric-entry-fields .meter-summary{font-size:10px}.electric-entry-fields .reading-date-edit input{max-width:100%;min-width:0;padding:5px}.electric-entry-layout .reading-card{overflow:visible;border-radius:0;background:transparent;box-shadow:none}.electric-entry-layout .reading-head{display:none}.electric-entry-layout .reading-row{display:grid;grid-template-columns:auto 1fr;gap:4px;min-height:0;margin-bottom:6px;padding:7px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 1px 5px #0000000a}.electric-entry-layout .reading-row>strong{text-align:left;font-size:14px}.electric-entry-layout .previous-value{display:flex;align-items:center;justify-content:flex-end;gap:3px;min-width:0}.electric-entry-layout .previous-value:before{content:"지난";color:#8e8e93;font-size:9px}.electric-entry-layout .previous-value .previous-input{width:54px;padding:0;border:0;background:transparent;text-align:right;font-size:12px}.electric-entry-layout .previous-value small{display:none}.electric-entry-layout .reading-row>input:not(.previous-input){grid-column:1/-1;min-height:39px;padding:6px;font-size:17px}.electric-entry-layout .reading-row>b{grid-column:1/-1;text-align:right;font-size:11px}.electric-entry-layout .reading-row>b:before{content:"사용 ";color:#8e8e93;font-weight:600}.electric-entry-layout .reading-warning{grid-column:1/-1;font-size:9px}.electric-entry-layout .reading-row.active{background:#eaf3ff;border-color:var(--blue);box-shadow:0 0 0 2px #007aff22}.electric-entry-fields .sticky-action{bottom:0;min-height:42px;font-size:12px}}.electric-photo-frame{position:relative;overflow:hidden}.electric-photo-frame.inline-gesture{touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none}.electric-photo-frame.inline-gesture img{transform-origin:center center;will-change:transform;-webkit-user-drag:none}.inline-photo-reset{position:absolute;right:7px;bottom:7px;min-height:32px;padding:0 10px;border:0;border-radius:9px;background:#000a;color:#fff;font-size:10px;font-weight:800}.electric-photo-frame img{opacity:0}.electric-photo-frame img.is-ready{opacity:1}.electric-photo-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid!important;place-items:center!important;padding:10px;color:#ddd;font-size:11px;text-align:center;pointer-events:none}.electric-photo-quality-notice{margin:0;padding:5px 7px;border-radius:7px;background:#fff8d6;color:#7a5a00;font-size:10px;line-height:1.35}.photo-lightbox-toolbar{align-items:center}.photo-zoom-level{position:absolute;top:7px;left:7px;padding:3px 6px;border-radius:7px;background:#000a;color:#fff;font-size:10px;font-weight:800;pointer-events:none}.lightbox-zoom-level{min-width:52px;color:#fff;font-size:13px;font-weight:800;text-align:center}.billing-month-label{display:block;margin-top:5px;color:#6e6e73;font-size:12px;font-weight:750}.billing-source-status{display:grid;gap:4px;margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#fff;color:#3a3a3c;font-size:12px;font-weight:750;box-shadow:0 2px 12px #0000000a}.billing-source-status small{font-weight:750}.billing-source-status .confirmed{color:#248a3d}.billing-source-status .warning{color:#9a6700}.reading-room-button,.gas-room-button,.tenant-room-detail-button{padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:850;text-align:left;text-decoration:underline;text-decoration-color:#007aff55;text-underline-offset:3px}.reading-room-button{display:flex;align-items:center;gap:4px}.reading-row.state-missing .reading-room-button{color:var(--red)}.reading-row.state-caution .reading-room-button{color:#d66b00}.reading-row.state-error .reading-room-button{color:var(--red)}.room-usage-summary{display:grid;grid-template-columns:1.3fr repeat(5,auto);align-items:center;gap:8px;margin-bottom:10px;padding:10px 12px;border-radius:14px;background:#fff;box-shadow:0 2px 12px #0000000a;font-size:12px}.room-usage-summary span{color:#6e6e73;font-weight:750}.room-usage-summary button{padding:6px 8px;border:0;border-radius:8px;background:#f0f0f2;font-size:11px;font-weight:800}.room-usage-summary button.active{background:#fff0d9;color:#a85c00}.room-usage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.room-usage-card{display:grid;grid-template-columns:1fr;gap:2px;min-height:112px;padding:9px 10px;border:1px solid transparent;border-radius:13px;background:#fff;box-shadow:0 2px 10px #0000000a;text-align:left}.room-usage-card-head{display:flex!important;align-items:center;justify-content:space-between;margin-bottom:2px}.room-usage-card-head em{overflow:hidden;color:#6e6e73;font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.room-usage-card>span{display:flex;justify-content:space-between;color:#6e6e73;font-size:11px}.room-usage-card b{color:#1d1d1f}.room-usage-card small{justify-self:end;color:#248a3d;font-weight:850}.room-usage-card.state-missing .room-usage-card-head strong,.room-usage-card.state-error .room-usage-card-head strong{color:var(--red)}.room-usage-card.state-caution{border-color:#f5a623}.room-usage-card.state-caution small{color:#d66b00}.room-usage-card.state-error{border-color:#ff3b30}.room-usage-card.state-error small{color:var(--red)}.room-usage-card.state-vacant{background:#ededf0;color:#8e8e93}.room-usage-card.state-vacant small{color:#8e8e93}.room-detail-backdrop{position:fixed;z-index:90;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;padding-top:env(safe-area-inset-top);background:#0008;opacity:0;transition:opacity .25s ease-out}.room-detail-panel{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;width:min(100%,720px);max-height:94dvh;border-radius:24px 24px 0 0;background:#f5f5f7;box-shadow:0 -12px 40px #0004;overflow:hidden;opacity:0;transform:translateY(calc(100% + var(--room-detail-drag-y,0px)));transition:transform .25s cubic-bezier(0,.55,.45,1),opacity .18s ease-out;will-change:transform,opacity}.room-detail-backdrop.room-detail-open{opacity:1}.room-detail-open .room-detail-panel{opacity:1;transform:translateY(var(--room-detail-drag-y,0px))}.room-detail-panel.room-detail-dragging{transition:none}.room-detail-panel>header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 8px;background:#fff}.room-detail-panel>header>div{display:flex;align-items:center;gap:8px}.room-detail-panel>header strong{font-size:20px}.room-detail-panel>header button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:#eeeef0}.room-state{padding:4px 7px;border-radius:999px;background:#e8f6ea;color:#248a3d;font-size:11px;font-weight:850}.room-state.state-missing,.room-state.state-error{background:#ffe9e7;color:#c5261d}.room-state.state-caution{background:#fff0d9;color:#a85c00}.room-state.state-vacant{background:#e7e7ea;color:#6e6e73}.room-detail-month{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;padding:5px 12px 9px;background:#fff;text-align:center}.room-detail-month button{display:grid;place-items:center;height:36px;border:0;border-radius:10px;background:#f1f1f3}.room-detail-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;padding:4px 12px 10px;background:#fff}.room-detail-tabs button,.room-range-tabs button{min-height:36px;border:0;border-radius:10px;background:#ececef;font-weight:800}.room-detail-tabs button.active,.room-range-tabs button.active{background:var(--blue);color:#fff}.room-detail-body{overflow:auto;padding:12px 14px 18px}.room-current-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.room-current-summary span{display:grid;gap:3px;padding:10px;border-radius:12px;background:#fff;color:#6e6e73;font-size:11px}.room-current-summary b{color:#1d1d1f;font-size:14px}.room-detail-warning,.room-anomaly{display:grid;gap:3px;margin:9px 0 0;padding:9px 10px;border-radius:11px;background:#fff0d9;color:#8a5a00;font-size:12px}.room-reading-detail,.room-resident-detail{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:9px;overflow:hidden;border-radius:13px;background:#d9d9de}.room-reading-detail span,.room-resident-detail>span{display:flex;justify-content:space-between;gap:8px;padding:10px;background:#fff;color:#6e6e73;font-size:12px}.room-reading-detail b,.room-resident-detail b{color:#1d1d1f}.resident-history{display:grid;grid-column:1/-1;gap:3px;padding:10px;background:#fff}.resident-history small{color:#6e6e73}.room-range-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:10px}.room-history-list{display:grid;margin-top:8px;overflow:hidden;border-radius:12px;background:#fff}.room-history-list span{display:flex;justify-content:space-between;padding:8px 11px;border-bottom:1px solid var(--line);font-size:12px}.room-history-list span:last-child{border:0}.room-history-list em{font-style:normal}.room-trend-toggle{width:100%;margin-top:8px}.room-trend-chart{width:100%;height:100px;margin-top:8px;padding:10px;border-radius:12px;background:#fff;color:var(--blue)}.room-detail-panel>footer{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fff}.room-detail-panel>footer button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;border:0;border-radius:11px;background:#eaf3ff;color:var(--blue);font-weight:850}.room-detail-panel>footer button:disabled{color:#999;background:#eee}@media(max-width:700px){.room-usage-summary{grid-template-columns:1fr repeat(2,auto)}.room-usage-summary strong{grid-column:1/-1}.room-usage-summary span{font-size:11px}.room-usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-usage-card{min-height:104px}.room-detail-panel{max-height:96dvh}.room-reading-detail,.room-resident-detail{grid-template-columns:1fr}.resident-history{grid-column:1}}@media(max-width:700px){.water-entry-layout{height:max(300px,calc(100dvh - 218px));min-height:0;max-height:calc(100dvh - 148px);overflow:hidden}.water-entry-fields{height:100%;min-height:0;padding-right:1px;padding-bottom:calc(8px + env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.water-entry-fields .sticky-action{bottom:0;min-height:42px;font-size:12px}}@media(max-width:700px){.water-entry-layout .reading-head,.water-entry-layout .reading-row{grid-template-columns:42px 58px minmax(128px,1fr) 46px;gap:3px}.water-entry-layout .reading-head{padding:6px 7px}.water-entry-layout .reading-row{min-height:42px;padding:3px 7px}.water-entry-layout .reading-row>input:not(.previous-input){min-height:36px;padding:4px 6px;font-size:18px}.water-entry-layout .previous-value{display:grid;justify-items:end;min-width:0;line-height:1.05}.water-entry-layout .previous-value small{font-size:10px;line-height:1.05;white-space:nowrap}.electric-entry-layout .previous-value:before{font-size:11px;font-weight:750;white-space:nowrap}.electric-entry-layout .previous-value .previous-input{font-size:13px!important}.electric-entry-layout .reading-row>input:not(.previous-input){font-size:18px}.electric-entry-layout .reading-row>b{font-size:13px}.electric-entry-layout .reading-row{margin-bottom:5px;padding:6px 7px}.electric-photo-title strong{font-size:14px}.electric-photo-title small{font-size:11px;line-height:1.25}.electric-photo-panel{gap:5px;padding:6px}.form-card.compact.management-bill-card{gap:8px;margin-bottom:8px;padding:11px 12px}.management-bill-card input{min-height:40px;padding:6px 8px}.management-bill-card .secondary{min-height:44px}.billing-target-list{gap:6px}.billing-target-row{gap:7px;padding:8px 10px;border-radius:14px}.billing-target-summary{gap:6px}.tax-segment button{min-height:32px;padding:0 9px}.billing-charge-detail{padding-top:7px}}.message-send-action{display:grid;gap:6px;margin:10px 0;padding:12px;border-radius:14px;background:#fff;box-shadow:0 2px 12px #0000000a}.message-send-action .primary{width:100%;min-height:48px}.message-send-action small{color:var(--red);font-size:12px;font-weight:800}.message-send-action p{margin:0;color:#6e6e73;font-size:11px;line-height:1.4}.topbar>div:first-child{min-width:0;flex:1}.topbar h1{white-space:nowrap}.app-version-line{display:flex;align-items:center;gap:7px}.development-version{display:inline-flex;align-items:center;min-height:19px;padding:2px 7px;border-radius:999px;background:#e8f2ff;color:#0071e3;font-size:10px;font-weight:850;letter-spacing:0;line-height:1;white-space:nowrap}.month-picker{flex:0 0 auto;margin-left:8px}@media(max-width:420px){.topbar{gap:6px}.topbar h1{font-size:clamp(20px,6vw,24px);letter-spacing:-1.2px}.development-version{padding:2px 6px;font-size:9px}.month-picker input{max-width:124px}}.billkorea-sync-view{display:grid;gap:10px}.billkorea-sync-view>.section-title{margin-bottom:-4px}.sync-status-card,.sync-request-card,.sync-result-card,.sync-conflict{padding:14px;border-radius:16px;background:#fff;box-shadow:0 2px 12px #0000000a}.sync-status-card>div,.sync-request-card>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.sync-status-card p{display:flex;justify-content:space-between;gap:10px;margin:8px 0 0;color:#6e6e73;font-size:12px}.sync-status-card small,.sync-request-card small,.sync-help{color:#6e6e73;font-size:11px;line-height:1.45}.sync-request-card.pending{background:#fff8dc}.sync-request-card.running{background:#eaf3ff}.sync-request-card.success{background:#eaf9ed}.sync-request-card.failed{background:#fff0ef}.sync-refresh{width:100%}.sync-result-card h3{margin:0 0 8px;font-size:14px}.sync-result-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0}.sync-result-card dl div{display:grid;gap:2px;padding:8px;border-radius:10px;background:#f5f5f7}.sync-result-card dt{color:#8e8e93;font-size:10px}.sync-result-card dd{margin:0;font-size:12px;font-weight:800}.sync-help{margin:2px 2px 0}.sync-conflict h4{margin:0 0 8px}.sync-conflict>div{display:grid;grid-template-columns:70px repeat(3,1fr);gap:5px;margin-top:5px}.sync-conflict>div>span{display:grid}.sync-conflict small{color:#8e8e93;font-size:9px}.sync-confirm{width:100%}@media(max-width:700px){.sync-result-card dl{grid-template-columns:1fr 1fr}.sync-conflict>div{grid-template-columns:1fr 1fr}.sync-conflict>div>strong{grid-column:1/-1}}.stored-bill-entry{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.stored-bill-entry small{color:#6e6e73;font-size:11px;font-weight:750}.stored-bill-view{display:grid;gap:10px;margin-bottom:12px;padding:14px;border:1px solid #b9ddff;border-radius:18px;background:#f4f9ff}.stored-bill-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.stored-bill-heading h3{margin:5px 0 0;font-size:18px}.stored-bill-heading>div:last-child{display:grid;grid-template-columns:auto auto;gap:2px 8px;text-align:right}.stored-bill-heading small{color:#6e6e73;font-size:10px}.stored-bill-badge{display:inline-block;padding:4px 7px;border-radius:999px;background:#dff1ff;color:#0065c8;font-size:10px;font-weight:800}.stored-room-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:3px;border-radius:12px;background:#e5edf5}.stored-room-tabs button{min-height:36px;border:0;border-radius:9px;background:transparent;font-weight:800}.stored-room-tabs button.active{background:#fff;color:var(--blue);box-shadow:0 1px 5px #0002}.stored-bill-paper{padding:14px;border-radius:14px;background:#fff;box-shadow:0 2px 10px #0000000a}.stored-bill-room{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--line)}.stored-bill-room strong{font-size:20px}.stored-bill-room span{color:#6e6e73;font-size:11px;font-weight:750}.stored-bill-items{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;padding:12px 0}.stored-bill-items em{display:flex;justify-content:space-between;gap:8px;color:#6e6e73;font-size:11px;font-style:normal}.stored-bill-items b{color:#1d1d1f}.stored-bill-totals{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;border-radius:10px;background:#f5f5f7}.stored-bill-totals span{display:grid;gap:2px;color:#6e6e73;font-size:11px}.stored-bill-totals strong{color:#1d1d1f;font-size:16px}.stored-bill-meta{display:flex;flex-wrap:wrap;gap:7px 12px;padding-top:10px;color:#8e8e93;font-size:10px}@media(max-width:700px){.stored-bill-heading{display:grid}.stored-bill-heading>div:last-child{text-align:left}.stored-bill-items{grid-template-columns:1fr}.stored-bill-entry{align-items:flex-end}.stored-bill-entry .secondary{min-height:42px;padding:0 12px}}.operating-source{grid-column:1/-1;margin:-4px 0 2px;color:#6e6e73;font-size:13px;font-weight:750}.operating-source.registered{color:#248a3d}.operating-source.missing{color:#805c00}@media(max-width:700px){body{font-size:16px}.month-picker,.connection,.reading-head,.meter-date-guide,.reading-date-edit,.previous-edit-toggle,.meter-progress,.meter-summary,.form-card label,.auth-card label,.auth-help,.setting-help,.settings-list button>span:last-child,.workflow-card>div,.status-card p,.hero p,.charge-summary-grid span,.charge-detail,.inline-settings label,.billing-document-setting label,.billing-effective-month,.billing-enabled,.billing-target-breakdown,.billing-target-summary small,.billing-room-title small,.test-mode-banner,.verify-readonly,.verify-error p,.verify-excluded p,.operating-source{font-size:14px;line-height:1.4}.workflow-row strong,.workflow-row b,.status-card span,.reading-row strong,.reading-row b,.sync-status-card strong,.sync-request-card strong{font-size:16px}.workflow-row small,.reading-row .previous-value small,.reading-warning,.sync-status-card p,.sync-status-card small,.sync-request-card small,.sync-help,.sync-result-card dt,.sync-conflict small{font-size:13px;line-height:1.4;color:#6e6e73}.sync-result-card h3{font-size:16px}.sync-result-card dd{font-size:15px}.stored-bill-entry small,.stored-bill-heading small,.stored-bill-room span,.stored-bill-items em,.stored-bill-totals span,.stored-bill-meta{font-size:13px;line-height:1.4;color:#6e6e73}.stored-bill-badge{font-size:12px}.stored-bill-totals strong{font-size:18px}.bottom-nav button{font-size:12px}}.room-usage-dashboard .section-title{padding-bottom:9px}.room-usage-summary{grid-template-columns:1.35fr repeat(3,auto);margin-bottom:6px;padding:8px 10px}.room-state-filters{display:flex;gap:5px;margin:0 0 8px;padding:2px;overflow-x:auto;scrollbar-width:none}.room-state-filters::-webkit-scrollbar{display:none}.room-state-filters button{flex:1 0 auto;min-height:34px;padding:0 12px;border:0;border-radius:10px;background:#e9e9ec;color:#6e6e73;font-size:12px;font-weight:850}.room-state-filters button.active{background:#fff;color:var(--blue);box-shadow:0 1px 5px #0002}.room-usage-card{min-height:100px;padding:8px 9px}.room-usage-card-head{margin:0}.room-usage-card-head strong{font-size:16px}.room-usage-metrics{display:grid!important;grid-template-columns:1fr 1fr;gap:2px 9px}.room-usage-metrics>span,.room-usage-metrics>small{display:flex;justify-content:space-between;min-width:0;color:#6e6e73;font-size:11px;font-style:normal}.room-usage-metrics b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-usage-metrics>small{justify-content:flex-end}.room-usage-card.state-caution,.room-usage-card.state-error,.room-usage-card.state-missing{border-width:1px;border-left-width:4px}.room-usage-skeleton span{min-height:100px;border-radius:13px;background:linear-gradient(100deg,#e7e7ea 20%,#f5f5f7 38%,#e7e7ea 58%);background-size:200% 100%;animation:room-skeleton 1.2s linear infinite}@keyframes room-skeleton{to{background-position-x:-200%}}.room-load-error{display:grid;gap:7px;margin-top:9px;padding:11px 12px;border-radius:12px;background:#fff0ef;color:#b42318}.room-load-error p,.room-load-error small{margin:0}.room-load-error small{font-size:11px}.room-load-error .secondary{justify-self:start;min-height:40px}.room-detail-panel{display:flex;flex-direction:column;max-height:88dvh}.room-detail-handle{display:grid;place-items:center;height:20px;background:#fff;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.room-detail-handle:active{cursor:grabbing}.room-detail-handle span{width:42px;height:4px;border-radius:999px;background:#c7c7cc}.room-detail-panel>header{flex:0 0 auto;padding-top:5px}.room-detail-month{flex:0 0 auto;grid-template-columns:48px 1fr 48px;padding-bottom:6px}.room-detail-month button{height:44px}.room-detail-month b{display:grid;gap:1px}.room-detail-month small{color:var(--blue);font-size:10px}.room-detail-panel>.room-current-summary{flex:0 0 auto;padding:2px 12px 8px;background:#fff}.room-detail-tabs{flex:0 0 auto}.room-detail-body{flex:1 1 auto;min-height:0;padding-top:9px;overscroll-behavior:contain}.room-detail-loading{flex:1 1 auto;border-radius:0;box-shadow:none}.room-reading-state{grid-column:1/-1}.room-reading-state b{color:#805c00}.room-history-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:11px}.room-history-heading>strong{font-size:13px}.room-history-heading .room-range-tabs{flex:1;max-width:370px;margin:0}.room-history-list span.history-alert{align-items:flex-start;background:#fff8e8;color:#a85c00}.room-history-list span.history-alert>b{color:#d66b00}.room-history-list em{display:grid;justify-items:end;gap:2px}.room-history-list em small{color:#a85c00;font-size:10px;font-weight:750;text-align:right}.room-anomaly{line-height:1.45}.room-detail-panel>footer{flex:0 0 auto}@media(max-width:700px){.room-usage-dashboard .section-title{padding-top:14px}.room-usage-dashboard .section-title h2{font-size:24px}.room-usage-summary{grid-template-columns:1fr repeat(3,auto);gap:5px;font-size:11px}.room-usage-summary strong{grid-column:auto}.room-usage-summary span{font-size:10px}.room-state-filters button{min-height:32px;padding:0 10px;font-size:11px}.room-usage-grid{gap:6px}.room-usage-card{min-height:96px;padding:7px 8px}.room-usage-card-head strong{font-size:16px}.room-usage-card-head em,.room-usage-metrics>span,.room-usage-metrics>small{font-size:11px}.room-detail-panel{height:80dvh;max-height:80dvh}.room-detail-panel>header strong{font-size:18px}.room-current-summary span{padding:8px}.room-current-summary b{font-size:14px}.room-detail-tabs{padding-bottom:8px}.room-detail-tabs button,.room-range-tabs button{min-height:40px}.room-detail-body{padding:9px 11px 12px}.room-reading-detail,.room-resident-detail{grid-template-columns:1fr 1fr}.room-reading-detail span,.room-resident-detail>span{padding:9px;font-size:12px}.resident-history{grid-column:1/-1}.room-history-heading{display:grid}.room-history-heading .room-range-tabs{width:100%;max-width:none}.room-detail-panel>footer button{min-height:46px}}.reading-room-number{display:flex;align-items:center;gap:4px;color:#1d1d1f}.reading-row.state-missing{background:#fff}.reading-row.state-missing .reading-room-number{color:var(--red)}.reading-row.state-missing>b{color:#8e8e93;font-size:11px}.reading-row.state-caution{background:#fff8e8}.reading-row.state-caution .reading-room-number,.reading-row.state-caution>b,.reading-row.state-caution .reading-warning{color:#d66b00}.reading-row.state-error{background:#fff1f0}.reading-row.state-error .reading-room-number,.reading-row.state-error>b{color:var(--red)}.reading-state-alert{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#ff9500;color:#fff;font-size:10px;font-weight:900}.reading-row.state-error .reading-state-alert{background:var(--red)}.reading-row input::placeholder{color:#8e8e93}.electric-photo-quality-notice{overflow:hidden;padding:3px 5px;border-radius:6px;font-size:8px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}@media(max-width:700px){.electric-entry-layout{height:max(330px,calc(100dvh - 190px));max-height:calc(100dvh - 130px)}.electric-photo-panel{gap:4px;padding:6px}.electric-photo-actions{display:flex;gap:4px}.electric-photo-actions .secondary{min-height:44px;padding:0 4px;font-size:10px}.electric-photo-notice{overflow:hidden;margin:0;font-size:8px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.water-entry-layout .reading-row:has(.previous-value small){min-height:47px}.water-entry-layout .previous-value small{max-width:58px;font-size:8px;line-height:1.05;letter-spacing:-.5px;white-space:nowrap}}.electric-photo-actions .secondary{font-size:16px;font-weight:650}.electric-entry-fields .sticky-action{font-size:18px;font-weight:850}@media(max-width:700px){.electric-photo-actions .secondary{min-height:44px;padding:0 4px;font-size:16px;font-weight:650;letter-spacing:-.4px}.electric-entry-fields .sticky-action{min-height:44px;font-size:18px;font-weight:850}.electric-entry-layout .reading-row>input:not(.previous-input){font-size:18px;font-weight:800}}.room-detail-panel{height:88dvh;max-height:88dvh}.room-trend-chart{box-sizing:border-box;height:120px}.room-trend-chart text{fill:#8e8e93;font-size:11px}.attention-card{display:grid;gap:0;margin-bottom:10px;overflow:hidden;border-radius:16px;background:#fff8e8;box-shadow:0 2px 12px #0000000a}.attention-card h3{margin:0;padding:12px 14px 8px;color:#8a5a00;font-size:14px}.attention-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:48px;padding:8px 12px;border:0;border-top:1px solid #f2dfb8;background:transparent;color:#1d1d1f;text-align:left}.attention-row>span{display:grid;min-width:0;gap:2px}.attention-row strong{font-size:13px}.attention-row small{overflow:hidden;color:#a85c00;font-size:11px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.attention-row>svg{flex:0 0 auto;color:#a85c00}@media(max-width:700px){.room-detail-panel{height:80dvh;max-height:80dvh}.attention-row{min-height:48px}}.room-detail-header{display:flex;align-items:center;gap:6px;min-width:0;padding:2px 8px 4px!important}.room-detail-identity{display:flex!important;flex:1 1 auto;min-width:0;align-items:center;gap:6px!important;overflow:hidden}.room-detail-identity strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-detail-identity .room-state{flex:0 0 auto}.room-detail-actions{display:flex!important;flex:0 0 auto;align-items:center;gap:0!important;white-space:nowrap}.room-detail-panel>header .room-detail-actions button{display:inline-flex;width:auto;min-width:42px;height:40px;align-items:center;justify-content:center;padding:0 7px;border:1px solid #e3e3e7;border-radius:8px;background:#f5f5f7;color:#3a3a3c;font-size:14px;font-weight:800;line-height:1}.room-detail-panel>header .room-detail-actions button+button{margin-left:4px}.room-detail-panel>header .room-detail-actions button:hover,.room-detail-panel>header .room-detail-actions button:focus-visible{background:#eaeaee;border-color:#d4d4d9}.room-detail-panel>header .room-detail-actions .room-detail-edit{border-color:#cfe4ff;background:#edf6ff;color:var(--blue)}.room-detail-panel>header .room-detail-actions .room-detail-close{background:#efeff1;color:#555}@media(max-width:700px){.room-detail-header{gap:2px;padding-right:3px!important;padding-left:8px!important}.room-detail-panel>header .room-detail-actions button{min-width:39px;height:40px;padding:0 5px;font-size:13px}.room-detail-panel>header .room-detail-actions button+button{margin-left:3px}.room-detail-identity{gap:4px!important}.room-detail-identity strong{font-size:14px!important}.room-detail-identity .room-state{padding:3px 5px;font-size:9px}}.native-protected-content.is-hidden{display:none!important}.app-lock-screen{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#f5f5f7}.app-lock-card{display:grid;justify-items:center;gap:12px;width:min(100%,380px);padding:30px 24px;border-radius:24px;background:#fff;box-shadow:0 14px 42px #00000014;text-align:center}.app-lock-card>svg{margin:8px 0;color:var(--blue)}.app-lock-card h1,.app-lock-card p{margin:0}.app-lock-card h1{font-size:24px}.app-lock-card>p:not(.eyebrow):not(.app-lock-notice){color:#6e6e73;font-size:13px;line-height:1.5}.app-lock-card .primary,.app-lock-card .secondary{width:100%;margin-top:5px}.app-lock-notice{padding:9px 11px;border-radius:10px;background:#fff4ce;color:#805c00;font-size:12px;font-weight:750}.app-lock-setting{align-items:center}.app-lock-setting .settings-label>span{display:grid;gap:2px}.app-lock-setting .settings-label strong{color:#1d1d1f;font-size:13px}.app-lock-setting .settings-label small{color:#8e8e93;font-size:10px;font-weight:650}.settings-switch{min-width:46px;padding:6px 8px;border-radius:999px;background:#d1d1d6;color:#fff;font-size:11px;text-align:center}.settings-switch.on{background:var(--green)}.app-lock-setting-notice{margin:8px 12px}.autobid-refresh{min-height:40px}.autobid-bizmoney{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px 12px;margin:0 0 10px;padding:12px 13px;border:1px solid #cfe5d5;border-radius:14px;background:#f4fbf6}.autobid-bizmoney>div:first-child{display:flex;align-items:baseline;gap:7px}.autobid-bizmoney b{font-size:14px}.autobid-bizmoney small{color:#6e6e73;font-size:10px;font-weight:700}.autobid-bizmoney>small{grid-column:1/-1}.autobid-bizmoney-values{display:flex;justify-content:flex-end;gap:12px;font-size:11px;color:#6e6e73}.autobid-bizmoney-values strong{color:#1c1c1e;font-size:14px;white-space:nowrap}.autobid-bizmoney.is-warning{border-color:#ffd59a;background:#fff9ef}.autobid-guide{margin:0 0 12px;padding:11px 13px;border-radius:13px;background:#eaf3ff;color:#1261a0;font-size:12px;font-weight:700;line-height:1.45}.autobid-group{display:grid;gap:8px;margin:16px 0}.autobid-group>h3{margin:0 2px 2px;font-size:15px}.autobid-group>h3 small{color:#8e8e93}.autobid-row{display:grid;grid-template-rows:auto auto;gap:8px;min-width:0;padding:12px 13px;border-left:4px solid var(--green);border-radius:16px;background:#fff;box-shadow:0 2px 12px #0000000a}.autobid-row.state-stale{border-left-color:#ff9f0a}.autobid-row.state-failed{border-left-color:var(--red)}.autobid-row.state-unmeasured{border-left-color:#8e8e93}.autobid-line{display:grid;min-width:0;align-items:center;gap:8px}.autobid-line-primary{grid-template-columns:minmax(0,1fr) auto}.autobid-line-secondary{grid-template-columns:minmax(0,1fr) auto;padding-top:7px;border-top:1px solid #ededf0}.autobid-identity{display:flex;min-width:0;align-items:baseline;gap:7px}.autobid-identity strong{min-width:0;overflow-wrap:anywhere;font-size:14px}.autobid-identity span{flex:0 0 auto;color:#48484a;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}.autobid-target{display:flex;align-items:end;gap:5px}.autobid-target label{display:flex;align-items:center;gap:4px;color:#6e6e73;font-size:11px;font-weight:750}.autobid-target input{width:43px;min-height:34px;padding:5px;border:1px solid #d1d1d6;border-radius:8px;background:#fff;text-align:center;font-size:15px;font-weight:800}.autobid-target .secondary{min-width:48px;min-height:34px;padding:0 8px}.autobid-bid{display:grid;min-width:0;gap:3px}.autobid-rank-and-next{display:flex;min-width:0;align-items:center;gap:10px;flex-wrap:wrap}.autobid-current-rank{display:flex;align-items:baseline;gap:5px;color:#1261a0;font-size:24px;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.autobid-current-rank span{color:#6e6e73;font-size:10px;font-weight:800}.autobid-bid-amounts{display:flex;min-width:0;align-items:baseline;gap:5px;flex-wrap:wrap;font-variant-numeric:tabular-nums}.autobid-bid-amounts span,.autobid-bid-amounts strong{white-space:nowrap}.autobid-bid-amounts span{color:#6e6e73;font-size:10px;font-weight:750}.autobid-bid-amounts strong{color:#1c1c1e;font-size:14px}.autobid-bid small{color:#6e6e73;font-size:10px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.autobid-actions{display:flex;align-items:center;gap:4px}.autobid-action{min-width:50px;min-height:38px;padding:0 7px;white-space:nowrap}.autobid-success{background:#e9f9ed;color:#248a3d}.autobid-error{background:#fff0ef;color:var(--red)}@media(max-width:420px){.autobid-bizmoney{grid-template-columns:1fr;padding:10px}.autobid-bizmoney-values{justify-content:flex-start;gap:10px}.autobid-bizmoney>small{grid-column:auto}.autobid-row{gap:7px;padding:10px 9px}.autobid-line{gap:6px}.autobid-identity{display:grid;gap:1px}.autobid-identity strong{font-size:13px}.autobid-identity span{font-size:11px}.autobid-target{gap:3px}.autobid-target label{gap:2px}.autobid-target input{width:39px;min-height:32px;padding:4px}.autobid-target .secondary{min-width:43px;min-height:32px;padding:0 6px;font-size:12px}.autobid-action{min-width:46px;min-height:36px;padding:0 5px;font-size:12px}.autobid-rank-and-next{gap:7px}.autobid-current-rank{font-size:22px}.autobid-bid-amounts{gap:3px}.autobid-bid-amounts span{font-size:9px}.autobid-bid-amounts strong{font-size:13px}}.auth-card .auth-remember{display:flex;align-items:center;gap:10px;font-size:14px;color:#333}.auth-card .auth-remember input{width:20px;min-height:20px;height:20px;margin:0;flex:0 0 20px}.auth-session-help{font-size:12px;line-height:1.6;color:#6e6e73;margin:8px 0 16px}
