@import"https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Sora:wght@600;700&family=Space+Grotesk:wght@500;700&display=swap";:root{--bg-main: #f2f7ff;--bg-soft: #eaf3ff;--surface: #ffffff;--surface-soft: #f8fbff;--text: #0f2238;--muted: #516b86;--line: #d6e3f2;--line-strong: #c6d6ea;--brand: #2060a0;--brand-strong: #184b83;--brand-soft: #e7f1fb;--accent: #40c070;--accent-strong: #2aa65a;--accent-soft: #e7f8ef;--ok: #2aa65a;--warn: #8b5f00;--danger: #b42318;--shadow-xs: 0 2px 10px rgba(15, 34, 56, .06);--shadow-sm: 0 8px 24px rgba(15, 34, 56, .08);--shadow-md: 0 14px 34px rgba(15, 34, 56, .12);--shadow-lg: 0 20px 48px rgba(15, 34, 56, .18);font-family:Plus Jakarta Sans,Manrope,Inter,Segoe UI,sans-serif;color:var(--text);background:var(--bg-main)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--text);background:radial-gradient(circle at 10% 10%,rgba(32,96,160,.18) 0,transparent 34%),radial-gradient(circle at 92% 4%,rgba(64,192,112,.14) 0,transparent 32%),linear-gradient(138deg,#f2f7ff,#f8fbff 54%,#eef7f1);font:500 .95rem/1.5 Plus Jakarta Sans,Manrope,Inter,Segoe UI,sans-serif;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.auth-shell,.dashboard-wrap,.settings-wrap{min-height:100vh;padding:28px}.app-shell{min-height:100vh;position:relative}.app-main{max-width:1240px;margin:24px auto 0;padding:0 24px 40px;display:grid;gap:16px}.muted{color:var(--muted)}.section-title{margin:0;font-family:Sora,Plus Jakarta Sans,sans-serif;font-size:clamp(1.18rem,1.9vw,1.44rem);line-height:1.2;display:inline-flex;align-items:center;gap:10px;color:#112b4e}.tm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tm-head-copy{margin:8px 0 0;max-width:64ch}.tm-kpi-grid{margin-top:12px}.tm-kpi-grid-expanded{grid-template-columns:repeat(5,minmax(0,1fr))}.tm-tabs{margin-top:14px;display:inline-flex;align-items:center;gap:6px;padding:6px;border:1px solid var(--line);border-radius:999px;background:#f1f7ffe6}.tm-tab-link{border:1px solid transparent;border-radius:999px;padding:8px 12px;display:inline-flex;align-items:center;gap:8px;color:#466385;font-size:.86rem;font-weight:700;transition:border-color .17s ease,background .17s ease,color .17s ease}.tm-tab-link:hover{color:#1f4f92;border-color:#c8d9ef;background:#eff6ff}.tm-tab-link.active{color:#134a93;border-color:#bdd2ea;background:#fff;box-shadow:var(--shadow-xs)}.tm-page-stack{margin-top:14px;display:grid;gap:12px}.property-check-grid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.property-check{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#f8fbff;color:#2e4d72;font-size:.88rem}.property-check input{width:16px;height:16px;accent-color:var(--brand)}.property-helper{grid-column:1 / -1;margin:0;color:var(--muted);font-size:.82rem}.app-nav-wrap{position:sticky;top:0;z-index:30;background:#f6fafff0;border-bottom:1px solid #d8e2ef}.app-nav{max-width:1240px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:14px}.app-nav-left{display:flex;align-items:center;gap:10px;min-width:0}.brand-block{display:flex;align-items:center;gap:8px;flex-shrink:0;text-decoration:none}.brand-logo{height:26px;width:auto;object-fit:contain}.brand-text{display:flex;flex-direction:column;line-height:1}.brand{font-family:Sora,Plus Jakarta Sans,sans-serif;font-size:.95rem;font-weight:700;letter-spacing:.01em;color:#113560}.brand-subtitle{font-size:.6rem;color:#5f7392;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.app-context-chip{font-size:.65rem;padding:3px 8px;border-radius:999px;background:#eef2f7}.app-context-chip{border:1px solid #c8d8ed;border-radius:999px;background:#f2f7ff;color:#1f4f92;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:6px 10px;white-space:nowrap}.app-links{display:flex;align-items:center;justify-content:center;flex:1;gap:6px;padding:6px;border-radius:999px;border:1px solid var(--line);background:#ffffffe6;box-shadow:var(--shadow-xs)}.nav-link{border:1px solid transparent;border-radius:999px;padding:8px 14px;display:inline-flex;align-items:center;gap:8px;font-size:.87rem;font-weight:700;color:#4d6485;background:transparent;transition:border-color .18s ease,background .18s ease,color .18s ease}.nav-link:hover{border-color:#d1def0;color:#21466f;background:#eff6ffe6}.nav-link.active{color:#114785;background:#fff;border-color:#bdd2ea;box-shadow:var(--shadow-xs)}.menu-wrap{position:relative}.menu-button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font:inherit}.menu-dropdown,.user-dropdown{position:absolute;top:calc(100% + 10px);border:1px solid var(--line);border-radius:14px;background:#fffffff7;box-shadow:var(--shadow-md);z-index:40}.menu-dropdown{left:0;min-width:660px;max-height:min(78vh,620px);overflow:auto;padding:8px}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.menu-group{border:1px solid #dee7f3;border-radius:12px;background:#fbfdff;padding:4px}.menu-section-label{margin:6px 8px 4px;font-size:.69rem;text-transform:uppercase;letter-spacing:.08em;color:#5e7598;font-weight:800}.menu-caret{color:#6a809f;transition:transform .18s ease}.menu-caret.open{transform:rotate(180deg)}.app-nav-right{margin-left:auto;display:inline-flex;align-items:center}.user-menu{position:relative}.user-trigger{border:1px solid var(--line);background:#fffffff2;border-radius:999px;padding:6px 10px 6px 12px;display:flex;align-items:center;gap:8px;cursor:pointer;box-shadow:var(--shadow-xs)}.user-greeting{font-size:.88rem;font-weight:700;max-width:130px;color:#24456f;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.avatar-badge{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff;background:linear-gradient(130deg,var(--brand) 0%,var(--brand-strong) 100%);box-shadow:0 8px 18px #1a63e652}.user-caret{color:#6b7f9a;transition:transform .17s ease}.user-caret.open{transform:rotate(180deg)}.user-dropdown{right:0;width:278px;padding:8px}.user-dropdown-head{margin:2px 4px 8px;padding:8px 8px 10px;border-bottom:1px solid var(--line);display:grid;gap:3px}.user-dropdown-head strong{font-size:.9rem;color:#163861}.user-dropdown-head span{color:var(--muted);font-size:.78rem}.drop-item{width:100%;border:0;background:transparent;text-align:left;border-radius:10px;padding:9px 10px;display:flex;align-items:center;gap:8px;font-weight:600;color:#24456f;cursor:pointer}.drop-item:hover{background:#eff5ff}.drop-item.active{color:#0e4a95;background:#ebf3ff}.drop-item.danger{color:#a52217}.drop-item.danger:hover{background:#fff2f2}.drop-meta{margin-top:6px;border-top:1px solid var(--line);padding:8px 10px 4px;font-size:.8rem;color:#6a7f9e;display:flex;align-items:center;gap:6px}.mobile-nav-toggle{display:none;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#2b4f79;align-items:center;justify-content:center;cursor:pointer}.mobile-nav-backdrop{display:none}.settings-card,.auth-card,.dashboard-card{position:relative;z-index:1;width:100%;border:1px solid var(--line);border-radius:20px;background:#fffffff0;box-shadow:var(--shadow-sm)}.settings-card{padding:22px}.auth-card,.dashboard-card{width:min(600px,100%);padding:24px}.settings-section,.panel,.dsh-panel,.dsh-module-card,.dsh-stat-card,.kpi-card,.list-item{border:1px solid var(--line);border-radius:14px;background:#ffffffeb;box-shadow:0 8px 22px #10243e0f}.settings-section,.panel,.dsh-panel,.dsh-module-card,.kpi-card{padding:16px}.settings-section{margin-top:12px}.settings-section h2,.panel h3,.dsh-panel h3,.dsh-module-card h3,.settings-card h1,.dashboard-card h1{margin:0 0 10px;font-family:Sora,Plus Jakarta Sans,sans-serif;color:#123861}.settings-section h2,.panel h3,.dsh-panel h3,.dsh-module-card h3{font-size:1rem;display:inline-flex;align-items:center;gap:8px}.settings-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.settings-divider{margin-top:12px;padding-top:12px;border-top:1px dashed #ccd8ea}.settings-loading,.settings-user{margin:10px 0 0;color:var(--muted);font-size:.88rem}.primary-btn,.ghost-btn,.action-card-btn,.danger-btn,.mode-toggle button{border-radius:999px;border:1px solid transparent;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:.86rem;line-height:1;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.primary-btn:hover,.ghost-btn:hover,.action-card-btn:hover,.danger-btn:hover,.mode-toggle button:hover{transform:translateY(-1px)}.primary-btn{color:#fff;background:linear-gradient(130deg,var(--brand) 0%,var(--brand-strong) 100%);border-color:var(--brand);box-shadow:0 10px 24px #2060a047}.ghost-btn,.action-card-btn{color:#2b4c73;background:#fff;border-color:var(--line-strong)}.ghost-btn:hover,.action-card-btn:hover{background:#f2f7ff;border-color:#c2d4ec}.danger-btn{color:#fff;background:linear-gradient(130deg,#c03426,#a42115);border-color:#a42115;box-shadow:0 10px 24px #a4211547}.primary-btn:disabled,.ghost-btn:disabled,.action-card-btn:disabled,.danger-btn:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.form{display:grid;gap:12px;margin-top:12px}.form label{display:grid;gap:6px;color:#4c6485;font-size:.9rem;min-width:0}input,textarea,select{width:100%;min-width:0;border:1px solid var(--line-strong);border-radius:10px;padding:11px 12px;color:var(--text);background:#fff;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}textarea{min-height:72px;resize:vertical}input::placeholder,textarea::placeholder{color:#8a9cb4}input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1a63e624;background:#fdfefe}.checkbox-field{display:flex!important;align-items:center;gap:8px;color:#35587f!important}.checkbox-field input{width:16px;height:16px;accent-color:var(--brand)}.notice{margin:14px 0 0;padding:11px 12px;border-radius:10px;border:1px solid #c8dcf6;background:#eff6ff;color:#1b4f95;font-size:.9rem}.house-workspace-card{background:radial-gradient(circle at 4% 0%,rgba(27,90,200,.12),transparent 26%),radial-gradient(circle at 100% 4%,rgba(237,182,91,.12),transparent 28%),#fffffff0}.house-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.house-eyebrow{margin:0 0 8px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#4e70a0}.house-subtitle{margin:8px 0 0;max-width:76ch;color:#5e7392;font-size:.88rem}.house-kpi-grid{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.house-kpi-card{border:1px solid #d2e0f2;border-radius:14px;padding:14px;background:#fffffff0;box-shadow:0 8px 20px #10243e0f}.house-kpi-label{margin:0;color:#6782a4;font-size:.72rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.house-kpi-value{margin:8px 0 0;color:#194f8f;font-size:1.16rem;font-weight:800;line-height:1.2}.house-kpi-meta{margin:6px 0 0;color:#5f7697;font-size:.82rem}.house-form{margin-top:12px;gap:14px}.house-form-section{border:1px solid #d4e1f2;border-radius:16px;background:linear-gradient(180deg,#fff,#f9fcff);padding:16px;display:grid;gap:12px}.house-section-head{display:grid;gap:6px}.house-section-head h2{margin:0;display:inline-flex;align-items:center;gap:8px;font-family:Sora,Plus Jakarta Sans,sans-serif;font-size:1rem;color:#123b67}.house-section-head p{margin:0;font-size:.86rem}.house-grid{display:grid;gap:10px}.house-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.house-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.house-field{display:grid!important;gap:6px}.house-field span{color:#5f7ca0;font-size:.71rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.house-toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.house-toggle{display:inline-flex!important;align-items:center;gap:8px;border:1px solid #cedcf0;border-radius:12px;padding:10px 12px;background:#fff;color:#32577f!important;font-size:.87rem!important;font-weight:700}.house-toggle:hover{border-color:#b8cce8;background:#f5f9ff}.house-toggle.active{border-color:#9bbce5;background:#eaf3ff;color:#154b8a!important;box-shadow:var(--shadow-xs)}.house-toggle input{width:16px;height:16px;margin:0;accent-color:var(--brand)}.house-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.house-notice{margin:12px 0 0;padding:11px 12px;border-radius:10px;border:1px solid #c8dcf6;background:#eff6ff;color:#1b4f95;font-size:.9rem}.house-notice.success{border-color:#bfe7cd;background:#ecfaef;color:#116b45}.house-notice.danger{border-color:#f3c4bf;background:#fff1f0;color:#9d1f13}.water-reading-preview{margin-top:8px;padding:10px 12px;border-radius:10px;border:1px solid #c8dcf6;background:#eff6ff;color:#1b4f95;font-size:.85rem;display:grid;gap:2px}.water-reading-preview.invalid{border-color:#f3c4bf;background:#fff1f0;color:#9d1f13}.water-entry-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.95fr);gap:16px;align-items:start}.water-entry-stack{display:grid;gap:16px}.water-lookup-panel{border:1px solid #cfe0f3;border-radius:16px;padding:16px;background:linear-gradient(180deg,#fbfdff,#f4f8ff);display:grid;gap:14px}.water-lookup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.water-lookup-head h3{margin:0 0 6px;display:inline-flex;align-items:center;gap:8px}.water-lookup-head p{margin:0}.water-lookup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.water-lookup-grid .full-span{grid-column:1 / -1}.water-selection-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.water-billing-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.water-selection-card{border:1px solid #d5e1f0;border-radius:14px;padding:12px;background:#fff;display:grid;gap:4px}.water-selection-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#6a83a2;font-weight:700}.water-selection-card strong{color:#163b66}.water-selection-card p{margin:0;color:#5d7796;font-size:.82rem}.water-meter-list,.water-meter-preview{display:grid;gap:12px;padding-top:6px;border-top:1px solid #e7eef7}.water-meter-list-head{display:grid;gap:4px}.water-meter-list-head strong{color:#163b66}.water-meter-list-head p{margin:0;color:#587292;font-size:.88rem}.water-rate-card{border:1px solid #d6e3f2;border-radius:16px;padding:14px 16px;background:#f8fbff;display:grid;gap:12px}.water-rate-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.water-rate-card-head strong{color:#163b66}.water-rate-card-head p{margin:4px 0 0;color:#587292;font-size:.85rem}.water-rate-grid{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(220px,1fr);gap:12px;align-items:start}.water-rate-current{border:1px solid #d8e4f2;border-radius:14px;padding:12px;background:#fff;display:grid;gap:4px}.water-rate-current span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#6a83a2;font-weight:700}.water-rate-current strong{color:#163b66;font-size:1rem}.water-rate-current p{margin:0;color:#587292;font-size:.82rem}.water-meter-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.water-meter-preview-card{width:100%;border:1px solid #d4e0ef;border-radius:14px;padding:12px;background:#fff;text-align:left;display:grid;gap:5px;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.water-meter-preview-card:hover{border-color:#8ab0dd;box-shadow:0 12px 24px #15365c14;transform:translateY(-1px)}.water-meter-preview-card.active{border-color:#2f6fb3;background:#eef6ff;box-shadow:0 14px 28px #15365c1f}.water-meter-preview-card strong{color:#153a63}.water-meter-preview-card span{color:#35587f;font-size:.94rem}.water-meter-preview-card small{color:#5d7796;font-size:.82rem}.water-meter-list-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.water-meter-option{width:100%;border:1px solid #d4e0ef;border-radius:14px;padding:12px;background:#fff;text-align:left;display:grid;gap:5px;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.water-meter-option:hover{border-color:#8ab0dd;box-shadow:0 12px 24px #15365c14;transform:translateY(-1px)}.water-meter-option.active{border-color:#2f6fb3;background:#eef6ff;box-shadow:0 14px 28px #15365c1f}.water-meter-option-number{color:#153a63;font-weight:700}.water-meter-option-label{color:#35587f;font-size:.94rem}.water-meter-option-meta{color:#5d7796;font-size:.82rem}.water-meter-table-wrap{margin-top:0}.water-meter-row-selected{background:#eef6ff}.water-meter-row-selected:hover{background:#e8f2ff}.water-meter-cell-meta{margin-top:4px;color:#5d7796;font-size:.8rem}.water-meter-current-input{width:100%;min-width:140px}.water-meter-inline-input{width:100%;min-width:108px}.water-meter-consumption{color:#1b4f95;font-weight:600}.water-meter-consumption.invalid{color:#9d1f13}.water-meter-action-btn{min-width:112px}.water-meter-total{color:#163b66;font-weight:700}.water-meter-status-note{margin-top:4px;color:#5d7796;font-size:.8rem}.water-meter-status-note.invalid{color:#9d1f13}.water-batch-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.water-batch-actions p{margin:0;color:#587292;font-size:.88rem}.water-batch-actions strong{color:#163b66}.water-details-card{border:1px solid #cfe0f3;border-radius:16px;padding:16px;background:#fff;display:grid;gap:14px}.water-details-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.water-details-head h3{margin:0 0 6px;display:inline-flex;align-items:center;gap:8px}.water-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.water-form-grid .span-2,.water-form-grid .primary-btn{grid-column:1 / -1}.water-field-note{display:block;margin-top:6px;font-size:.82rem;color:#4a678a}.water-field-note.invalid{color:#9d1f13}.water-invoice-card{position:sticky;top:14px;border:1px solid #c8d9ef;border-radius:18px;padding:18px;background:linear-gradient(180deg,#fbfdff,#eef5ff);box-shadow:0 18px 34px #19396014;display:grid;gap:16px}.water-invoice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.water-invoice-head h3{margin:0}.water-invoice-eyebrow{margin:0 0 5px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#5f7899}.water-invoice-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.water-invoice-meta div{border:1px solid #d5e1f0;border-radius:12px;padding:10px 12px;background:#fff}.water-invoice-meta span{display:inline-flex;align-items:center;gap:6px;margin-bottom:4px;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:#6a83a2}.water-invoice-meta strong{color:#183f6f}.water-invoice-lines{border:1px solid #d5e1f0;border-radius:14px;background:#fff;overflow:hidden}.water-invoice-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px}.water-invoice-line+.water-invoice-line{border-top:1px solid #edf2f8}.water-invoice-line span{display:inline-flex;align-items:center;gap:6px}.water-invoice-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px dashed #cad8ea}.water-invoice-total strong{font-size:1.16rem;color:#123f73}.preview-link{color:var(--brand-strong);text-decoration:underline;font-size:.88rem}.disabled-link{pointer-events:none;opacity:.56}.mode-toggle{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:8px;border-radius:999px;padding:4px;border:1px solid var(--line);background:#f2f7ff}.mode-toggle button{background:transparent;color:#41648e}.mode-toggle button.active{color:#11467f;background:#fff;border-color:#c7d8ef;box-shadow:var(--shadow-xs)}.stepper{margin:16px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.step{border:1px solid var(--line);border-radius:10px;padding:8px;display:flex;align-items:center;justify-content:center;gap:6px;color:#597392;background:#fbfdff}.step.current{border-color:#9ebeed;background:#eaf3ff;color:#144b9f}.step.done{border-color:#9fdfc2;background:#eefbf3;color:#0f7f51}.auth-shell{display:grid;place-items:center;position:relative;overflow:hidden}.auth-backdrop{position:absolute;inset:-12%;pointer-events:none;background:radial-gradient(circle at 16% 20%,rgba(32,96,160,.18) 0,transparent 34%),radial-gradient(circle at 84% 12%,rgba(64,192,112,.16) 0,transparent 34%),radial-gradient(circle at 55% 86%,rgba(32,96,160,.12) 0,transparent 40%);filter:blur(10px)}.brand-link{display:inline-flex;align-items:center;gap:8px;color:var(--brand-strong);font-weight:800}.auth-brand-logo{height:34px;width:auto;object-fit:contain}.auth-brand-logo-sm{height:22px;width:auto;object-fit:contain}.auth-brand-text{display:grid;gap:2px;line-height:1}.auth-brand-name{font-family:Space Grotesk,Sora,sans-serif;font-weight:800;letter-spacing:.02em}.auth-brand-meta{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;opacity:.88}.dsh-hero{border:1px solid rgba(32,96,160,.75);border-radius:20px;padding:22px;color:#ecf3ff;background:linear-gradient(132deg,#184b83,#2060a0 58%,#2aa65a);box-shadow:0 20px 44px #2060a04d;display:grid;grid-template-columns:1.5fr 1fr;gap:14px}.dsh-eyebrow{margin:0 0 8px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;opacity:.9}.dsh-hero h1{margin:0 0 8px;font-family:Sora,Plus Jakarta Sans,sans-serif;font-size:clamp(1.3rem,2vw,1.72rem)}.dsh-hero p{margin:0;opacity:.95}.dsh-profile-card{border:1px solid rgba(255,255,255,.25);border-radius:14px;background:#ffffff1f;padding:14px;display:grid;align-content:center;gap:4px}.dsh-profile-card span{font-size:.8rem;opacity:.9}.dsh-profile-card strong{font-size:1.9rem;line-height:1}.dsh-profile-card p{margin:0;font-size:.82rem}.dsh-stats-grid{margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.dsh-stat-card{padding:12px}.dsh-stat-head{display:flex;align-items:center;justify-content:space-between;color:#607695;font-size:.82rem}.dsh-stat-card strong{display:block;margin-top:8px;font-size:1.36rem;color:#174d99}.dsh-module-grid{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dsh-module-card{min-height:156px}.dsh-module-card header{display:flex;align-items:center;justify-content:space-between;gap:8px}.dsh-module-card p{margin:8px 0 0;color:var(--muted)}.dsh-panel h3{margin-bottom:10px}.dashboard-grid,.kpi-grid,.management-grid,.agreements-grid,.management-page-grid,.dsh-lower-grid,.dsh-next-grid{gap:12px}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.kpi-card{display:grid;gap:4px}.kpi-card span{font-size:.82rem;color:var(--muted)}.kpi-card strong{color:#174f9d;font-size:1.32rem}.management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.management-panel{min-height:260px;display:grid;align-content:start}.agreements-grid{display:grid;grid-template-columns:1.2fr 1fr}.agreement-hero{margin-top:12px;border:1px solid #c9d8ee;border-radius:16px;padding:16px;background:radial-gradient(circle at 100% 0%,rgba(39,103,196,.14),transparent 52%),linear-gradient(140deg,#f6fbff,#fff 62%)}.agreement-hero-title{margin:0;font-family:Sora,Plus Jakarta Sans,sans-serif;font-size:1.01rem;font-weight:700;color:#123a65}.agreement-hero .muted{margin-top:6px}.agreement-kpi-grid{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.agreement-kpi-card{padding:12px 14px;border:1px solid #d6e3f4;border-radius:12px;background:#fff;box-shadow:0 6px 16px #0d1f370f}.agreement-kpi-label{margin:0;font-size:.71rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6984a7}.agreement-kpi-value{margin:8px 0 0;font-size:1.28rem;font-weight:800;color:#16497d;line-height:1}.agreement-shortcut-card{height:100%;border-top:3px solid #8ab4e5;background:linear-gradient(180deg,#fff,#f8fbff)}.agreement-record-card{border-color:#cfdef1;background:linear-gradient(180deg,#fff,#f8fbff)}.agreement-card-head p{margin:0}.agreement-meta-grid{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.agreement-meta-grid p{margin:0;padding:8px 10px;border:1px solid #dce7f5;border-radius:10px;background:#fff;display:grid;gap:2px}.agreement-meta-grid span{font-size:.69rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#6984a7}.agreement-meta-grid strong{color:#163d69;font-size:.91rem}.agreement-card-hint{margin-top:10px!important;color:#607b9a;font-size:.83rem}.agreement-subcard{border-style:dashed;border-color:#cad9ed;background:#fbfdff}.agreement-subsection{border-color:#cddcf0;background:linear-gradient(180deg,#fff,#f8fbff)}.agreement-action-row{margin-top:10px;justify-content:flex-start}.agreement-action-row .action-card-btn{border-color:#c0d2ea;background:#fff;color:#184a7d}.agreement-action-row .action-card-btn:hover:not(:disabled){border-color:#95b4da;background:#f4f9ff;box-shadow:0 10px 18px #10243e1a}.agreement-action-row .action-card-btn:disabled{opacity:.6}.management-page-grid{display:grid;grid-template-columns:1.1fr 1fr}.list-stack{display:grid;gap:10px}.list-item{padding:12px;content-visibility:auto;contain-intrinsic-size:120px}.list-item p{margin:4px 0;line-height:1.45;word-break:break-word}.bill-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.bill-meta-grid{margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.bill-meta-grid p{margin:0}.assign-meta-grid{margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.assign-meta-grid p{margin:0}.assign-inline-note{display:inline-flex;align-items:center;gap:6px}.assign-timeline-text{margin-top:8px!important}.assign-action-hint{display:inline-flex;align-items:center}.status-badge{display:inline-flex;align-items:center;border-radius:999px;border:1px solid transparent;padding:3px 10px;font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.status-badge.pending{color:var(--warn);background:#fff7e8;border-color:#f2d6a9}.status-badge.overdue{color:#9d1f13;background:#fff1f0;border-color:#f3c4bf}.status-badge.paid,.status-badge.active{color:var(--ok);background:#ecfaef;border-color:#bfe7cd}.status-badge.removed{color:#546c8d;background:#f2f6fc;border-color:#d3deeb}.status-badge.faulty{color:#9d1f13;background:#fff1f0;border-color:#f3c4bf}.status-badge.cancelled,.status-badge.unknown{color:#546c8d;background:#f2f6fc;border-color:#d3deeb}.payment-inline-form{margin-top:8px;display:grid;grid-template-columns:1fr 1fr 1.2fr auto;gap:10px;align-items:end}.payment-inline-form label{margin:0}.payment-inline-form .primary-btn{height:42px;white-space:nowrap}.bill-edit-inline-form{display:grid;gap:12px}.bill-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bill-edit-grid .full-span{grid-column:1 / -1}.bill-edit-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.bill-edit-cell{background:#fbfdff}.row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.data-table-wrap{margin-top:12px;border:1px solid var(--line);border-radius:16px;background:#fffffff0;overflow:auto;box-shadow:0 10px 22px #122d2a14}.data-table{width:100%;min-width:980px;border-collapse:collapse}.data-table thead{background:#f1f7f4}.data-table th,.data-table td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.data-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#4f6865;font-weight:800}.data-table td{color:#24423f;font-size:.88rem}.data-row{transition:background .16s ease}.data-row:hover{background:#f4faf7}.data-row.clickable-row{cursor:pointer}.data-row.clickable-row:focus-visible{outline:2px solid #9fbfb9;outline-offset:-2px}.table-title{font-weight:700;color:#173f3a}.table-empty{margin:0;padding:16px}.table-actions{justify-content:flex-start;gap:6px}.table-actions .ghost-btn,.table-actions .primary-btn,.table-actions .action-card-btn{padding:8px 12px;font-size:.78rem}.card-link{display:block}.review-subtitle{margin:8px 0 0}.review-toolbar{margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.review-search{width:min(440px,100%);display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;padding:8px 10px;color:#4f6686}.review-search input{border:0;padding:0;background:transparent;box-shadow:none}.review-search input:focus{border:0;box-shadow:none;background:transparent}.review-card{padding:0;overflow:hidden}.review-card-toggle{width:100%;border:0;background:transparent;text-align:left;padding:12px;cursor:pointer}.review-card-toggle:hover{background:#f6faff}.review-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.review-card-title{margin:0;display:inline-flex;align-items:center;gap:7px;color:#1e4f8e;font-size:.95rem}.review-card-head .muted{margin:4px 0 0}.review-summary-grid{margin-top:10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.review-summary-grid p{margin:0;font-size:.84rem;color:#405b7d}.review-card-body{border-top:1px solid var(--line);padding:12px;display:grid;gap:10px;background:#fbfdff}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.review-block{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}.review-block h3{margin:0 0 8px;display:inline-flex;align-items:center;gap:7px;color:#204c84;font-size:.93rem}.review-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px}.review-meta-grid p{margin:0;font-size:.83rem;color:#405b7d}.review-progress-wrap{margin-top:10px;padding-top:10px;border-top:1px dashed #d0dced}.review-checkbox-list{margin-top:8px;display:grid;gap:8px}.review-actions{margin-top:2px}.water-subnav{display:flex;flex-wrap:wrap;gap:8px}.water-subnav-spaced{margin-top:12px}.water-subnav-link{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:999px;border:1px solid var(--line-strong);background:#fff;color:#2f4f75;text-decoration:none;font-size:.85rem;font-weight:600;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.water-subnav-link:hover{border-color:#b6cae6;background:#f2f7ff;color:#1a4f8f}.water-subnav-link.active{border-color:#9fbbe1;color:#0f4a88;background:#eaf3ff;box-shadow:var(--shadow-xs)}.water-control-grid{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.water-control-card{height:100%;border-top:3px solid #9fc4ef}.water-control-card h3{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px}.water-control-card p{margin:0}.water-meter-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.water-meter-head p{margin:0}.water-meter-meta-grid{margin-top:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.water-meter-meta-grid p{margin:0}.water-meter-points{margin-top:8px}.water-filter-form{margin-top:0}.assign-filter-form{margin-top:0;display:grid;gap:10px;grid-template-columns:1.2fr minmax(160px,240px) auto;align-items:end}.assign-filter-actions{display:flex;justify-content:flex-end}.clickable-card{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.clickable-card:hover{transform:translateY(-2px);border-color:#bfd1e9;box-shadow:0 16px 30px #10243e1f}.action-card-btn{padding:9px 12px}.feature-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.feature-list li{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.dashboard-link-grid{display:grid;gap:8px;margin-top:10px}.list-load-more{display:flex;justify-content:center;margin-top:4px}.panel-btn{margin-top:12px}.completion-block{margin:14px 0 18px;border:1px solid var(--line);border-radius:12px;padding:12px;background:#f6f9ff}.completion-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.completion-track{height:10px;border-radius:999px;overflow:hidden;background:#dbe6f6}.completion-fill{height:100%;background:linear-gradient(120deg,var(--brand) 0%,var(--brand-strong) 100%)}.danger-section{border-color:#efc8c3;background:#fff8f7}.danger-text{color:#9c1f13;margin:0 0 10px}.settings-section .form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;column-gap:12px}.settings-section .form .checkbox-field,.settings-section .form .primary-btn,.settings-section .form .ghost-btn,.settings-section .form .notice,.settings-section .form .settings-loading,.settings-section .form .settings-divider{grid-column:1 / -1}.profile-card{display:grid;gap:14px}.profile-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.profile-identity{display:inline-flex;align-items:center;gap:12px}.profile-avatar{width:46px;height:46px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;font-weight:800;color:#fff;background:linear-gradient(130deg,var(--brand) 0%,var(--brand-strong) 100%);box-shadow:0 10px 20px #1a63e640}.profile-meta{margin:4px 0 0}.profile-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.profile-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-form-grid .field-full{grid-column:1 / -1}.dashboard-wrap,.settings-wrap{display:grid;place-items:center}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-card,.settings-card,.dashboard-card,.settings-section,.panel,.dsh-panel,.dsh-module-card,.kpi-card{animation:rise .38s ease both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:980px){.app-nav{position:relative;gap:10px;flex-wrap:wrap}.app-nav-left{flex:1;min-width:0}.app-nav-right{margin-left:0}.app-context-chip{display:none}.mobile-nav-toggle{display:inline-flex}.app-links{position:absolute;top:calc(100% + 10px);left:24px;right:24px;display:none;z-index:40;flex-direction:column;align-items:stretch;border-radius:16px;background:#fffffffa;box-shadow:var(--shadow-md)}.app-links.mobile-open{display:flex}.menu-wrap,.menu-button,.nav-link{width:100%;justify-content:flex-start}.menu-dropdown{position:static;margin-top:8px;box-shadow:none;min-width:0;max-height:none;width:100%}.menu-grid{grid-template-columns:1fr}.menu-group{border:0;border-radius:0;background:transparent;padding:0}.brand-subtitle{display:none}.user-greeting{max-width:84px}.mobile-nav-backdrop{display:block;position:fixed;inset:0;border:0;background:#0a162642;z-index:20}.dsh-hero,.dsh-stats-grid,.dsh-module-grid,.dashboard-grid,.kpi-grid,.management-grid,.water-control-grid,.agreements-grid,.agreement-kpi-grid,.agreement-meta-grid,.management-page-grid,.review-summary-grid,.review-grid,.review-meta-grid,.bill-meta-grid,.assign-meta-grid,.water-meter-meta-grid,.settings-section .form,.payment-inline-form,.bill-edit-grid,.dsh-lower-grid,.dsh-next-grid{grid-template-columns:1fr}.profile-hero{flex-direction:column;align-items:stretch}.profile-actions{justify-content:flex-start}.profile-form-grid{grid-template-columns:1fr}.settings-top,.tm-head{flex-direction:column;align-items:stretch}.tm-tabs{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-radius:16px}.tm-tab-link{justify-content:center}.assign-filter-form{grid-template-columns:1fr}.assign-filter-actions{justify-content:flex-start}.review-toolbar{flex-direction:column;align-items:stretch}.review-search{width:100%}.row-actions{justify-content:flex-start}.water-subnav{flex-direction:column}.water-subnav-link{justify-content:center}.property-check-grid{grid-template-columns:1fr}.house-hero{flex-direction:column;align-items:stretch}.house-kpi-grid,.house-grid-2,.house-grid-3,.house-toggle-grid{grid-template-columns:1fr}.house-form-actions{justify-content:flex-start}}@media(max-width:680px){.auth-shell,.dashboard-wrap,.settings-wrap{padding:16px}.app-main{padding:0 14px 26px;margin-top:14px}.app-nav{padding:10px 14px}.app-links{left:14px;right:14px}.settings-card,.auth-card,.dashboard-card{border-radius:16px;padding:16px}.section-title{font-size:1.08rem}.mode-toggle{grid-template-columns:1fr;border-radius:14px}.tm-tabs{grid-template-columns:1fr}.tm-tab-link,.water-subnav-link{justify-content:flex-start}.stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.assign-filter-form{grid-template-columns:1fr}.house-workspace-card{padding:16px}.house-kpi-card,.house-form-section{padding:12px}}:root{--bg-main: #f2f7ff;--bg-soft: #eaf3ff;--surface: #ffffff;--surface-soft: #f8fbff;--text: #0f2238;--muted: #516b86;--line: #d6e3f2;--line-strong: #c6d6ea;--brand: #2060a0;--brand-strong: #184b83;--brand-soft: #e7f1fb;--accent: #40c070;--accent-strong: #2aa65a;--accent-soft: #e7f8ef;--ok: #2aa65a;--warn: #8d620f;--danger: #b12f1f;--shadow-xs: 0 2px 10px rgba(15, 34, 56, .06);--shadow-sm: 0 8px 24px rgba(15, 34, 56, .08);--shadow-md: 0 14px 34px rgba(15, 34, 56, .12);--shadow-lg: 0 20px 48px rgba(15, 34, 56, .18);font-family:Plus Jakarta Sans,Manrope,Inter,Segoe UI,sans-serif}body{color:var(--text);background:radial-gradient(circle at 10% 10%,rgba(32,96,160,.18) 0,transparent 34%),radial-gradient(circle at 92% 4%,rgba(64,192,112,.14) 0,transparent 32%),linear-gradient(138deg,#f2f7ff,#f8fbff 54%,#eef7f1);font:500 .95rem/1.5 Plus Jakarta Sans,Manrope,Inter,Segoe UI,sans-serif}.app-main{max-width:1320px;margin:18px auto 0;padding:0 22px 40px;gap:14px}.section-title{font-family:Space Grotesk,Sora,sans-serif;color:#163735}.app-nav-wrap{background:#f2f7ffe6;border-bottom:1px solid rgba(214,227,242,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-nav{max-width:1320px;padding:12px 22px}.brand{font-family:Space Grotesk,Sora,sans-serif;color:var(--brand-strong)}.brand-subtitle{color:var(--muted)}.app-context-chip{border-color:var(--line-strong);background:#e7f1fbeb;color:var(--brand-strong)}.app-links{border-color:#c6d6eae6;background:#ffffffeb;box-shadow:0 8px 20px #0f22381a}.nav-link{color:var(--muted)}.nav-link:hover{border-color:#c6d6eae6;color:var(--brand-strong);background:#e7f1fbdb}.nav-link.active{color:var(--brand-strong);border-color:#c6d6eaf2;background:#fffffffa;box-shadow:var(--shadow-xs)}.menu-dropdown,.user-dropdown{border-color:#c6d6eaf2;background:#fffffffa;box-shadow:var(--shadow-md)}.menu-group{border-color:#d6e3f2e6;background:#f8fbfffa}.menu-section-label{color:var(--muted)}.drop-item{color:#1c3553}.drop-item:hover{background:#e7f1fbdb}.drop-item.active{color:var(--brand-strong);background:#e7f1fbf0}.user-trigger{border-color:#c6d6eaf2;background:#fffffff2}.avatar-badge,.profile-avatar{background:linear-gradient(130deg,var(--brand) 0%,var(--accent) 100%);box-shadow:0 10px 20px #2060a03d}.app-day-chip{margin-right:8px;border:1px solid rgba(198,214,234,.95);border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-strong);background:#e7f1fbeb}.settings-card,.auth-card,.dashboard-card{border-color:#c6d6eae6;border-radius:22px;background:radial-gradient(circle at 96% 0,rgba(64,192,112,.08),transparent 48%),radial-gradient(circle at 0 0,rgba(32,96,160,.06),transparent 38%),linear-gradient(152deg,#fffffff5,#f8fcffe6);box-shadow:var(--shadow-sm)}.settings-section,.panel,.dsh-panel,.dsh-module-card,.dsh-stat-card,.kpi-card,.list-item{border-color:#d6e3f2f2;background:#ffffffe6;box-shadow:0 10px 22px #0f223814}.section-card-head{margin-bottom:10px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.section-card-copy{display:grid;gap:6px}.section-card-subtitle{margin:0;font-size:.84rem;max-width:70ch}.page-header-wrap{margin-bottom:12px}.page-header-copy{display:grid;gap:6px}.page-header-subtitle{margin:0;max-width:74ch;font-size:.85rem}.primary-btn,.ghost-btn,.action-card-btn,.danger-btn,.mode-toggle button{font-size:.82rem;padding:10px 15px}.primary-btn{background:linear-gradient(130deg,var(--brand) 0%,var(--accent) 100%);border-color:#2060a0d9;box-shadow:0 10px 24px #2060a047}.ghost-btn,.action-card-btn{color:#1f3d5c;border-color:#c6d6eaf2;background:#fff}.ghost-btn:hover,.action-card-btn:hover{background:#e7f1fbdb;border-color:#c6d6eaf2}.danger-btn{background:linear-gradient(130deg,#c0392b,#a82c1e);border-color:#a82c1e}input,textarea,select{border-color:#c6d6eaf2;border-radius:11px;background:#fffffff2}input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #2060a02e}.notice{border-color:#c6d6eaf2;background:#e7f1fbe6;color:#1c3553}.mode-toggle{border-color:#c6d6eaf2;background:#e7f1fbbf}.mode-toggle button{color:var(--muted)}.mode-toggle button.active{color:var(--brand-strong);border-color:#c6d6eaf2}.step.current{border-color:#c6d6eaf2;background:#e7f1fbe6;color:var(--brand-strong)}.auth-shell-refresh{padding:24px}.auth-layout{width:min(1180px,100%);display:grid;grid-template-columns:1.15fr 1fr;gap:14px;align-items:stretch;position:relative;z-index:1}.auth-info-panel{border:1px solid rgba(198,214,234,.75);border-radius:22px;padding:clamp(18px,2.4vw,28px);background:radial-gradient(circle at 100% 0,rgba(64,192,112,.22),transparent 52%),radial-gradient(circle at 0 0,rgba(32,96,160,.22),transparent 48%),linear-gradient(148deg,#184b83f2,#2aa65af2);color:#edfffc;box-shadow:var(--shadow-md);display:grid;align-content:start;gap:10px}.auth-hero-brand{color:#f2fffd}.auth-info-eyebrow{margin:2px 0 0;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#f2fffddb}.auth-info-panel h1{margin:4px 0 0;font-family:Space Grotesk,Sora,sans-serif;font-size:clamp(1.4rem,2.4vw,2.14rem);line-height:1.15;max-width:16ch}.auth-info-copy{margin:2px 0 0;max-width:54ch;color:#ebfffce6}.auth-proof-caption{margin:8px 0 0;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#ebfffcbf}.auth-proof-row{display:flex;flex-wrap:wrap;gap:8px}.auth-proof-pill{border:1px solid rgba(240,255,252,.28);border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:600;background:#f2fffd1f;color:#f0fffce6}.auth-info-grid{margin-top:10px;display:grid;gap:8px}.auth-info-item{border:1px solid rgba(240,255,252,.28);border-radius:12px;padding:10px 12px;background:#f2fffd1a;display:flex;align-items:flex-start;gap:10px}.auth-info-item span{width:24px;height:24px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#f2fffd29;color:#f4fffd;flex-shrink:0}.auth-info-item h2{margin:0;font-size:.86rem;font-family:Space Grotesk,Sora,sans-serif;color:#edfffc}.auth-info-item p{margin:4px 0 0;font-size:.8rem;color:#effffcdb}.auth-card{width:100%}.auth-card-home-link{margin-bottom:10px}.auth-card-head{display:grid;gap:6px;margin-bottom:10px}.auth-card-head h2{margin:0;font-family:Space Grotesk,Sora,sans-serif;font-size:clamp(1.12rem,1.6vw,1.34rem);color:#163f3c}.auth-card-head p{margin:0}.auth-card .form{gap:14px}.auth-card .form label{font-size:.85rem;font-weight:600;color:#2b524f;letter-spacing:.01em}.auth-card .form input,.auth-card .form textarea,.auth-card .form select{border-radius:14px;border:1px solid rgba(21,77,72,.18);background:#f8fdfcf2;padding:12px 14px;color:#103734;box-shadow:inset 0 1px #ffffffb3,0 10px 20px #0b5c560f;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.auth-card .form input::placeholder,.auth-card .form textarea::placeholder{color:#2b524f80}.auth-card .form input:hover,.auth-card .form textarea:hover,.auth-card .form select:hover{border-color:#2060a073}.auth-card .form input:focus,.auth-card .form textarea:focus,.auth-card .form select:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 4px #2060a024}.auth-card .form input:disabled,.auth-card .form textarea:disabled,.auth-card .form select:disabled{opacity:.7;background:#f1f6f5;box-shadow:none}.auth-card .auth-input-field{position:relative;display:grid}.auth-card .auth-input-field input{padding-right:70px}.auth-card .input-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);border-radius:999px;border:1px solid rgba(32,96,160,.22);background:#e7f1fbcc;color:var(--brand-strong);font-weight:700;font-size:.72rem;letter-spacing:.02em;padding:4px 10px;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.auth-card .input-toggle:hover{border-color:#2060a066;background:#e7f1fbeb;transform:translateY(-50%) scale(1.02)}.auth-card .input-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #2060a033}.dashboard-main{display:grid;gap:12px}.dsh-hero-refined{border-color:#2060a0b3;background:linear-gradient(140deg,#184b83,#2060a0 56%,#2aa65a);box-shadow:0 20px 42px #2060a052;grid-template-columns:1.45fr 1fr}.dsh-role-strip{margin-top:14px;display:inline-flex;flex-wrap:wrap;gap:8px}.dsh-role-strip .status-badge{border-color:#f3fffd52;color:#e9fffb;background:#f3fffd24}.dsh-hero-secondary{display:grid;gap:10px}.dsh-profile-card{border-color:#e8fffa57;background:#f2fffd24}.dsh-hero-actions{display:flex;gap:8px;flex-wrap:wrap}.dsh-hero-actions .ghost-btn{border-color:#f0fffc73;color:#ecfffc;background:#f2fffd1f}.dsh-hero-actions .ghost-btn:hover{background:#f5fffd38;border-color:#f0fffc99}.dsh-alert-stack{gap:8px}.dsh-alert-item{display:flex;align-items:flex-start;gap:10px}.dsh-alert-item span{width:32px;height:26px;border-radius:999px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;color:var(--brand-strong);background:#e7f1fbeb;border:1px solid rgba(198,214,234,.95)}.dsh-alert-item p{margin:0;color:var(--muted)}@media(max-width:1100px){.auth-layout,.dsh-hero-refined{grid-template-columns:1fr}}@media(max-width:980px){.app-day-chip{display:none}}@media(max-width:680px){.app-nav{padding:10px 14px}.auth-shell-refresh{padding:16px}.auth-info-panel,.settings-card,.auth-card{border-radius:18px}}.feedback-fab{position:fixed;right:18px;bottom:18px;z-index:50;border-radius:999px;border:1px solid rgba(198,214,234,.95);background:#ffffffeb;color:var(--brand-strong);padding:10px 14px;font-weight:800;font-size:.82rem;display:inline-flex;align-items:center;gap:8px;cursor:pointer;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.feedback-fab:hover{transform:translateY(-2px);background:#e7f1fbe6;border-color:#c6d6ea;box-shadow:var(--shadow-md)}.feedback-fab:focus-visible{outline:none;box-shadow:0 0 0 3px #2060a02e,var(--shadow-md)}.feedback-overlay{position:fixed;inset:0;z-index:60;background:#0f223873;display:grid;place-items:center;padding:18px}.feedback-modal{width:min(560px,100%);border-radius:22px;border:1px solid rgba(198,214,234,.95);background:#fffffffa;box-shadow:var(--shadow-lg);overflow:hidden}.feedback-modal-head{padding:16px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(214,227,242,.95);background:#f8fbffeb}.feedback-modal-copy h2{margin:0;font-family:Space Grotesk,Sora,sans-serif;font-size:1.06rem}.feedback-modal-copy p{margin:6px 0 0}.feedback-close{border-radius:12px;border:1px solid rgba(198,214,234,.95);background:#ffffffe6;color:var(--muted);padding:8px;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.feedback-close:hover{background:#e7f1fbe6;color:var(--brand-strong);transform:translateY(-1px)}.feedback-close:focus-visible{outline:none;box-shadow:0 0 0 3px #2060a02e}.feedback-form{padding:16px 18px 18px}.feedback-form textarea{resize:vertical;min-height:110px}.feedback-check{display:flex;align-items:center;gap:10px;font-size:.85rem;color:var(--muted)}.feedback-check input{width:16px;height:16px;accent-color:var(--brand)}.feedback-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:4px}@media(max-width:980px){.water-entry-layout{grid-template-columns:1fr}.water-selection-summary,.water-billing-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.water-invoice-card{position:static}}@media(max-width:680px){.water-entry-layout,.water-lookup-grid,.water-rate-grid,.water-form-grid,.water-invoice-meta,.bill-edit-grid,.water-selection-summary,.water-billing-kpis{grid-template-columns:1fr}.water-invoice-card{position:static}.feedback-fab{right:12px;bottom:12px}.feedback-modal{border-radius:18px}.feedback-modal-head,.feedback-form{padding:14px}}:root{--bg-main: #f4f7fb;--bg-soft: #eef3f8;--surface: #ffffff;--surface-soft: #fafbfd;--text: #12263d;--muted: #627487;--line: #dde5ee;--line-strong: #ccd7e2;--brand: #0f4c81;--brand-strong: #0a365b;--brand-soft: #ebf2f8;--accent: #138067;--accent-strong: #0f6f59;--accent-soft: #e9f6f3;--ok: #0f6f59;--warn: #956515;--danger: #b42318;--shadow-xs: 0 6px 16px rgba(15, 30, 48, .06);--shadow-sm: 0 16px 36px rgba(15, 30, 48, .08);--shadow-md: 0 22px 48px rgba(15, 30, 48, .12);--shadow-lg: 0 30px 64px rgba(15, 30, 48, .16)}body{color:var(--text);background:var(--bg-main);font:500 .95rem/1.6 Plus Jakarta Sans,Manrope,Segoe UI,sans-serif}.app-main{max-width:1320px;margin:20px auto 0;padding:0 22px 42px;gap:18px}.app-nav-wrap{background:#f8fafcf0;border-bottom:1px solid rgba(221,229,238,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-nav{max-width:1320px;min-height:74px;padding:14px 22px;gap:16px}.brand-block{gap:10px}.brand-logo{height:32px}.brand{font-family:Space Grotesk,Sora,sans-serif;font-size:1rem;letter-spacing:.03em;color:var(--brand-strong)}.brand-subtitle{color:#748396;font-size:.62rem;letter-spacing:.12em}.app-context-chip,.app-day-chip{border-color:var(--line);background:#f3f6f9;color:var(--brand-strong)}.app-links{border-color:#dde5eef2;border-radius:18px;background:#ffffffe0;box-shadow:var(--shadow-xs)}.nav-link{border-radius:12px;padding:10px 14px;color:#536578;font-weight:700}.nav-link:hover{border-color:#d7e0e8;background:#f6f9fc;color:var(--brand-strong)}.nav-link.active{color:var(--brand-strong);border-color:var(--line);background:#fff;box-shadow:var(--shadow-xs)}.menu-dropdown,.user-dropdown{border-color:var(--line);background:#fffffffa}.menu-group{border-color:#e5ebf2;background:#fbfcfd}.user-trigger{border-color:var(--line);background:#fffffff0}.avatar-badge,.profile-avatar{background:var(--brand);box-shadow:0 10px 20px #0f4c812e}.settings-card,.auth-card,.dashboard-card,.settings-section,.panel,.dsh-panel,.dsh-module-card,.dsh-stat-card,.kpi-card,.list-item,.house-kpi-card,.house-form-section,.water-lookup-panel,.water-details-card,.water-invoice-card,.feedback-modal,.feedback-modal-head{border-color:var(--line);background:#fff;box-shadow:var(--shadow-sm)}.settings-card,.auth-card,.dashboard-card{border-radius:24px}.settings-section,.panel,.dsh-panel,.dsh-module-card,.dsh-stat-card,.kpi-card,.list-item,.house-kpi-card,.house-form-section,.water-lookup-panel,.water-details-card,.water-invoice-card{border-radius:18px}.house-workspace-card,.water-lookup-panel,.water-details-card,.water-invoice-card,.house-form-section{background:#fff}.section-title{font-family:Space Grotesk,Sora,sans-serif;letter-spacing:-.02em;color:#152f4d}.settings-top,.row-actions{gap:10px}.page-header-wrap{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #eef2f6}.page-header-copy{gap:8px}.page-header-subtitle,.section-card-subtitle{color:var(--muted);max-width:70ch;line-height:1.7}.page-header-actions,.section-card-actions{align-self:flex-start}.section-card-head{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #eef2f6}.primary-btn,.ghost-btn,.action-card-btn,.danger-btn,.mode-toggle button{border-radius:999px;padding:10px 16px;font-size:.84rem;font-weight:800}.primary-btn{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 12px 24px #0f4c812e}.primary-btn:hover{background:var(--brand-strong);border-color:var(--brand-strong)}.ghost-btn,.action-card-btn{color:#1c3957;background:#fff;border-color:var(--line)}.ghost-btn:hover,.action-card-btn:hover{background:#f6f9fc;border-color:#d1dbe5}.danger-btn{background:var(--danger);border-color:var(--danger);color:#fff;box-shadow:0 12px 24px #b4231829}input,textarea,select{border-color:#d7e0e8;border-radius:14px;background:#fff}input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 4px #0f4c811f;background:#fff}.notice,.house-notice,.water-reading-preview{border-radius:14px}.auth-info-panel,.dsh-hero-refined{border-color:#0f3f6d;background:#103d68;box-shadow:var(--shadow-md)}.auth-info-item,.dsh-profile-card{border-color:#ffffff1f;background:#ffffff14}.auth-proof-pill,.dsh-role-strip .status-badge,.dsh-hero-actions .ghost-btn{border-color:#ffffff2e;background:#ffffff14;color:#eef6ff}.data-table-wrap{margin-top:12px;border:1px solid var(--line);border-radius:20px;background:#fff;overflow:auto;box-shadow:0 16px 34px #0f1e3014;scrollbar-width:thin;scrollbar-color:#c2cfdd #f5f7fb}.data-table{width:100%;min-width:780px;border-collapse:separate;border-spacing:0}.data-table thead{background:#f8fafc}.data-table th,.data-table td{padding:14px 16px;border-bottom:1px solid #edf2f6}.data-table th{position:sticky;top:0;z-index:1;background:#f8fafc;color:#697b8e;font-size:.7rem;font-weight:800;letter-spacing:.1em}.data-table td{color:#22384e;font-size:.88rem}.data-row:hover{background:#f8fbfd}.table-title{color:#15314e}.status-badge{border-radius:999px;font-weight:800;letter-spacing:.01em}.status-badge.pending,.status-badge.unpaid,.status-badge.unknown{border-color:#dce4ed;background:#f3f7fa;color:#4b6177}.status-badge.active,.status-badge.paid{border-color:#c8e7dd;background:#eef8f4;color:#0f6f59}.status-badge.overdue,.status-badge.faulty{border-color:#f2dfb6;background:#fff8e8;color:#956515}.status-badge.cancelled,.status-badge.removed,.status-badge.danger{border-color:#f1d0cc;background:#fff2f1;color:#b42318}@media(max-width:980px){.app-main{padding:0 18px 34px}.app-nav{padding:12px 18px}.page-header-wrap,.section-card-head{padding-bottom:12px;margin-bottom:12px}.data-table{min-width:700px}}@media(max-width:680px){body{font-size:.92rem}.app-main{padding:0 14px 28px}.app-nav{padding:10px 14px}.settings-card,.auth-card,.dashboard-card{border-radius:18px;padding:16px}.data-table-wrap{border-radius:16px}.data-table{min-width:640px}.data-table th,.data-table td{padding:12px 14px}}@media(max-width:760px){.data-table-wrap{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.data-table-wrap .table-empty{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-xs)}.data-table{min-width:0;display:block;border-spacing:0}.data-table thead{display:none}.data-table tbody{display:grid;gap:12px}.data-table tr{display:block;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-xs);overflow:hidden}.data-table td{display:grid;width:100%;gap:6px;padding:12px 14px;border-bottom:1px solid #edf2f6}.data-table td:last-child{border-bottom:0}.data-table td:before{content:attr(data-label);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#6a7c8f}.data-table .payment-inline-form,.data-table .bill-edit-actions,.data-table .table-actions,.data-table .row-actions{justify-content:flex-start}.data-row.clickable-row:focus-visible{outline:2px solid #bdd0e3;outline-offset:2px}}
