@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--navy:#09243d;--navy2:#061a2e;--brand:#0788aa;--cyan:#12b4c8;--ink:#14263d;--muted:#6d7f93;--line:#e1e8ef;--bg:#f3f6f9;--green:#10a475;--red:#dc4f5f;--orange:#e9970b;--purple:#7468d4;--white:#fff;--shadow:0 12px 34px rgba(19,44,70,.08)}
*{box-sizing:border-box}html{font-size:15px}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}h1,h2,h3,b,strong{font-family:'Manrope',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a{transition:.18s ease}small{color:var(--muted)}
.sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:linear-gradient(180deg,var(--navy2),var(--navy));color:#fff;padding:24px 17px 18px;z-index:30;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 22px;border-bottom:1px solid #ffffff1c}.brand>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#14bfd3,#0784a7);font-size:21px}.brand b{display:block;font-size:18px}.brand small{display:block;color:#9bb1c4;font-size:11px}.sidebar nav{display:grid;gap:4px;padding-top:21px}.sidebar nav a{padding:11px 13px;border-radius:9px;color:#b1c3d4;font-weight:600;display:flex;align-items:center;gap:12px}.sidebar nav a i{font-style:normal;width:17px;text-align:center;color:#8fd4e0}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#ffffff13}.sidebar nav a.active{box-shadow:inset 3px 0 var(--cyan);background:#ffffff17}.sidebar-user{margin-top:auto;border-top:1px solid #ffffff1c;padding:15px 7px 0;display:flex;align-items:center;gap:9px}.avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#dff7fa;color:#087b97;font-weight:800;flex:none}.avatar.large{width:48px;height:48px;font-size:17px}.sidebar-user>div{flex:1;min-width:0}.sidebar-user b,.sidebar-user small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user b{font-size:11px}.sidebar-user small{font-size:9px;color:#91a8bc}.sidebar-user>a{font-size:20px;color:#99afc2}
.topbar{height:86px;position:fixed;top:0;left:230px;right:0;z-index:20;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:14px 30px}.topbar p{margin:0;color:var(--muted);font-size:11px}.topbar h1{margin:4px 0 0;font-size:21px}.top-meta{display:flex;align-items:center;gap:25px;text-align:right}.top-meta b,.top-meta small{display:block}.top-meta b{font-size:11px}.top-meta small{font-size:9px}.period-chip{font-size:11px;background:#e8f7f4;color:#16896d;border-radius:20px;padding:8px 13px;font-weight:700}.menu-button{display:none;border:0;background:none;font-size:22px}.main{margin-left:230px;padding:112px 30px 48px;min-height:100vh}
.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:800}.brand-text{color:var(--brand)}.danger-text{color:var(--red)}.muted{color:var(--muted)}.positive{color:var(--green)!important}.debt{color:var(--red)}.hidden{display:none!important}.notice{padding:13px 16px;border-radius:10px;margin-bottom:17px;background:#e6f7f1;color:#087553;font-weight:600;display:flex;justify-content:space-between;align-items:center}.notice.error{background:#fff0f2;color:#b93447}.notice.warning{background:#fff6e2;color:#986508}.notice button{border:0;background:none;font-size:20px}.button{border:0;border-radius:9px;padding:10px 15px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.button:hover{transform:translateY(-1px)}.button.primary{background:linear-gradient(135deg,#0a94b6,#087393);color:#fff;box-shadow:0 7px 18px #0788aa2d}.button.secondary{background:#fff;border:1px solid #d8e2ea;color:#36516a}.button.light{background:#fff;color:#087896}.button.ghost-light{background:#ffffff13;border:1px solid #ffffff42;color:#fff}.button.block{width:100%;padding:13px}.button:disabled{opacity:.5;cursor:not-allowed;transform:none}.danger-button{background:#fff0f2;color:#bb3546;border:1px solid #f3cdd2}.warning-button{background:#fff4da;color:#986508;border:1px solid #efd59b}.cash-open{background:#e6f7f0;color:#0f8060;border:1px solid #c8ecdf}.text-button{border:0;background:none;color:var(--brand);font-size:11px;font-weight:700;cursor:pointer}.link-danger{border:0;background:none;color:var(--red);font-size:10px;font-weight:700;cursor:pointer}.disabled-link{opacity:.5}
.hero{padding:25px 29px;border-radius:16px;background:linear-gradient(115deg,#0a8cac,#075d7e);color:#fff;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:after{content:'💧';position:absolute;right:110px;font-size:160px;opacity:.045}.hero h2{font-size:23px;margin:6px 0 3px}.hero p{margin:0;color:#d3edf2}.hero-actions{display:flex;gap:9px;position:relative;z-index:1}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.metric-grid>article{background:#fff;border:1px solid var(--line);border-radius:13px;padding:17px;min-height:100px;display:flex;align-items:center;gap:12px;position:relative}.metric-icon{width:41px;height:41px;border-radius:11px;display:grid;place-items:center;font-weight:800;flex:none}.metric-icon.blue{background:#e4f6fa;color:var(--brand)}.metric-icon.purple{background:#f0edff;color:var(--purple)}.metric-icon.green{background:#e7f7f0;color:var(--green)}.metric-icon.orange{background:#fff3db;color:#d48600}.metric-grid small,.metric-grid b,.metric-grid em{display:block}.metric-grid small{font-size:10px}.metric-grid b{font-size:19px;margin:3px 0}.metric-grid b i{font:500 11px 'DM Sans';color:var(--muted)}.metric-grid em{font-size:9px;color:#7a8fa2;font-style:normal}.metric-grid progress{position:absolute;bottom:0;left:0;width:100%;height:3px;appearance:none}.metric-grid progress::-webkit-progress-bar{background:#ebeff3}.metric-grid progress::-webkit-progress-value{background:var(--purple)}.two-panels{display:grid;grid-template-columns:1.12fr .88fr;gap:17px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 15px rgba(20,45,70,.035);padding:21px}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:17px}.card-head h3{font-size:16px;margin:5px 0}.water-content{display:flex;align-items:center;gap:29px;padding:4px 17px 16px}.water-ring{--value:0;width:145px;height:145px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--cyan) calc(var(--value)*1%),#edf2f6 0);position:relative;flex:none}.water-ring:before{content:'';position:absolute;width:112px;height:112px;background:#fff;border-radius:50%}.water-ring span{position:relative;text-align:center;font-size:9px;color:var(--muted)}.water-ring b{display:block;font-size:23px;color:var(--ink)}.balance-list{flex:1}.balance-list>div{padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.balance-list span{font-size:10px;color:var(--muted)}.balance-list b{font-size:12px}.warning-text b{color:var(--orange)}.info-strip{background:#f2f8fa;padding:10px;border-radius:8px;margin:0;font-size:9px;color:#60758a}.success-strip{background:#ecf8f3;color:#188363}.movement-list>div{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf1f4}.movement-list>div:last-child{border:0}.check-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;background:#e4f7ef;color:var(--green);font-weight:800}.movement-list>div>div{flex:1}.movement-list b,.movement-list small{display:block}.movement-list b{font-size:10px}.movement-list small{font-size:8px}.movement-list strong{font-size:10px}.movement-list time{font-size:8px;color:var(--muted)}.empty-mini{color:var(--muted);font-size:11px;text-align:center;padding:30px}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:13px;margin-bottom:16px}.filter-bar,.toolbar-actions{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.filter-bar>label:not(.search-field){font-size:9px;font-weight:700;color:#64768a}.filter-bar input,.filter-bar select,.toolbar select{border:1px solid #d7e1e9;background:#fff;border-radius:8px;padding:10px 11px;outline:none;min-height:39px}.search-field{position:relative;min-width:360px}.search-field span{position:absolute;left:12px;top:8px;font-size:18px;color:#8494a5}.search-field input{width:100%;padding-left:38px}.search-field input:focus,input:focus,select:focus,textarea:focus{border-color:#14a7c1!important;box-shadow:0 0 0 3px #14a7c115}.metric-strip{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line);border-radius:13px;margin-bottom:16px}.metric-strip.four{grid-template-columns:repeat(4,1fr)}.metric-strip article{padding:17px 20px;display:flex;gap:12px;align-items:center;border-right:1px solid var(--line)}.metric-strip article:last-child{border:0}.metric-strip article>span{width:38px;height:38px;border-radius:10px;background:#e7f7fa;color:var(--brand);display:grid;place-items:center;font-weight:800}.metric-strip b,.metric-strip small{display:block}.metric-strip b{font-size:17px}.metric-strip small{font-size:9px}.table-card{padding:0;overflow:hidden}.table-title{padding:19px 20px 0;margin-bottom:14px}.result-count{font-size:9px;color:var(--muted);background:#f3f6f8;border-radius:15px;padding:6px 9px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}thead th{position:sticky;top:0;z-index:1;background:#f6f8fa;color:#728397;text-transform:uppercase;letter-spacing:.65px;font-size:8px;text-align:left;padding:10px 12px;white-space:nowrap}tbody td{padding:12px;border-bottom:1px solid #eaf0f4;font-size:10px;vertical-align:middle}tbody tr:hover{background:#fafcfd}td>b,td>small{display:block}td>small{font-size:8px;margin-top:2px}.number{text-align:right;white-space:nowrap}.actions{text-align:right;white-space:nowrap}.actions a,.actions button{display:inline-flex;margin-left:6px;padding:6px 8px;border:1px solid #d9e3ea;border-radius:6px;color:#385b74;font-size:9px;font-weight:700}.actions .action-primary{background:#e7f6f9;border-color:#cbeaf0;color:#087996}.person{display:flex;align-items:center;gap:9px;min-width:180px}.person>span{width:33px;height:33px;border-radius:9px;background:#e5f5f8;color:#087b98;display:grid;place-items:center;font-weight:800}.person b,.person small{display:block}.person b{font-size:10px}.person small{font-size:8px}.status{display:inline-flex;padding:5px 8px;border-radius:18px;font-size:8px;font-style:normal;font-weight:700;background:#eef2f5;color:#617286;white-space:nowrap}.status.activo,.status.completed,.status.pagado,.status.abierta,.status.admin{background:#e5f7ef;color:#12805f}.status.suspendido,.status.averiado,.status.danger,.status.cerrada{background:#ffedf0;color:#b73547}.status.pending,.status.pendiente,.status.parcial,.status.warning{background:#fff3dc;color:#a66d08}.status.lector{background:#eeebff;color:#6657c0}.empty-row{text-align:center!important;padding:40px!important;color:var(--muted)}.pagination{padding:13px 18px;display:flex;justify-content:center;gap:20px;align-items:center;font-size:9px;color:var(--muted);background:#fafcfd}.pagination a{color:var(--brand);font-weight:700}
dialog{padding:0;border:0;border-radius:15px;box-shadow:0 28px 85px #09243d66;max-width:94vw;max-height:92vh}dialog::backdrop{background:#06182799;backdrop-filter:blur(3px)}.dialog-form{width:440px;max-width:92vw;padding:28px;position:relative}.dialog-wide{width:760px}.dialog-form h2{font-size:21px;margin:6px 0}.dialog-form>p{color:var(--muted);margin:3px 0 20px}.dialog-close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:23px;color:#75879a;cursor:pointer}.dialog-form label,.settings-card label{display:block;font-size:10px;font-weight:700;color:#566a80;margin:12px 0}.dialog-form input,.dialog-form select,.dialog-form textarea,.settings-card input,.settings-card select{display:block;width:100%;border:1px solid #d7e1e9;background:#fbfcfd;border-radius:8px;padding:10px 11px;margin-top:6px;outline:none}.dialog-form textarea{width:100%;min-height:65px;border:1px solid #d7e1e9;border-radius:8px;margin-top:6px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.timeline>div{display:flex;gap:11px;padding:10px 0}.timeline>div>span{width:10px;height:10px;border-radius:50%;background:var(--cyan);margin-top:4px}.timeline b,.timeline small{display:block}.timeline p{margin:4px 0;color:var(--muted);font-size:9px}
.reading-banner{background:linear-gradient(110deg,#086b89,#083d58);color:#fff;border-radius:14px;padding:21px 25px;display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.reading-banner h2{font-size:21px;margin:5px 0}.reading-banner p{margin:0;color:#c9e1e9;font-size:11px}.reading-progress{min-width:220px}.reading-progress b{font-size:22px}.reading-progress b i{font:500 11px 'DM Sans';color:#a9c8d3}.reading-progress span{font-size:9px;margin-left:6px}.reading-progress progress{display:block;width:100%;height:6px;appearance:none;margin-top:7px}.reading-progress progress::-webkit-progress-bar{background:#ffffff25;border-radius:8px}.reading-progress progress::-webkit-progress-value{background:#25d0c9;border-radius:8px}.reading-tools{align-items:flex-end}.tabs{display:flex;background:#e9eef2;border-radius:9px;padding:3px}.tabs a{padding:8px 10px;border-radius:7px;font-size:9px;color:#63768a}.tabs a.active{background:#fff;color:var(--brand);box-shadow:0 3px 9px #193b5b15}.tabs b{margin-left:3px}.route-number{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;background:#edf3f6;color:#60768a;font-weight:800}.reader-person{display:flex;align-items:center;gap:13px;margin-bottom:18px}.reader-person h2{font-size:18px;margin:4px 0}.reader-person p{font-size:9px;color:var(--muted);margin:0}.meter-symbol{width:50px;height:50px;border-radius:14px;background:#e5f6f9;color:var(--brand);display:grid;place-items:center;font-size:22px}.previous-reading{background:#f3f6f8;border-radius:9px;padding:13px;display:flex;justify-content:space-between;align-items:center}.previous-reading span{font-size:10px;color:var(--muted)}.previous-reading b{font-size:18px}.previous-reading i{font:400 11px 'DM Sans';color:var(--muted)}.current-reading{text-align:center;margin:20px 0!important;text-transform:uppercase;letter-spacing:1px}.current-reading>div{display:flex;align-items:center;justify-content:center}.current-reading input{width:260px;border:0;border-bottom:3px solid var(--cyan);border-radius:0;background:transparent;font:800 43px 'Manrope';text-align:center;padding:4px}.current-reading span{font-size:16px;color:var(--muted)}.consumption-result{background:#e7f7f8;border-radius:9px;padding:13px;display:flex;justify-content:space-between}.consumption-result span{font-size:10px;color:#397580}.consumption-result b{font-size:18px;color:#087d94}
.payment-person{display:flex;gap:12px;align-items:center;margin:13px 0}.payment-person h2,.payment-person p{margin:0}.payment-person p{font-size:9px;color:var(--muted)}.payment-dialog{width:590px}.debt-summary{display:grid;grid-template-columns:repeat(3,1fr);background:#f2f6f8;border-radius:10px;margin:15px 0}.debt-summary>div{padding:12px;border-right:1px solid #dfe7ed}.debt-summary>div:last-child{border:0}.debt-summary span,.debt-summary b{display:block}.debt-summary span{font-size:8px;color:var(--muted)}.debt-summary b{font-size:12px;margin-top:3px}.invoice-detail{border:1px solid var(--line);border-radius:8px;margin:10px 0}.invoice-detail summary{padding:9px 11px;font-size:9px;font-weight:700;cursor:pointer}.invoice-detail>div{display:flex;justify-content:space-between;padding:7px 11px;border-top:1px solid var(--line);font-size:9px}.change-box{display:flex;justify-content:space-between;align-items:center;background:#e5f7f0;border-radius:9px;padding:12px;color:#137957}.change-box b{font-size:19px}
.empty-cash{background:#fff;border:1px solid var(--line);border-radius:15px;text-align:center;padding:55px 20px;margin-bottom:18px}.cash-illustration{width:70px;height:70px;border-radius:20px;background:#e4f6f9;color:var(--brand);display:grid;place-items:center;margin:0 auto 16px;font-size:28px}.empty-cash h2{font-size:20px;margin:7px}.empty-cash p{color:var(--muted);margin-bottom:22px}.cash-header{background:linear-gradient(110deg,#0a6c65,#0e8a75);color:#fff;border-radius:14px;padding:20px 24px;display:flex;justify-content:space-between;align-items:center}.cash-header h2{margin:5px 0;font-size:21px}.cash-header p{margin:0;color:#cce7df}.cash-header>div:last-child{display:flex;gap:8px}.live-dot{font-size:9px;letter-spacing:1px;color:#8ff2cd}.cash-metrics{margin-bottom:12px}.method-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:16px}.method-grid article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;justify-content:space-between}.method-grid span{font-size:9px;color:var(--muted)}.method-grid b{font-size:11px}.session-history,.report-table,.users-card{margin-top:17px}.closing-preview{background:#f2f6f8;border-radius:10px;padding:15px;display:flex;justify-content:space-between}.closing-preview b{font-size:19px}
.settings-grid{display:block}.settings-card{max-width:none;padding:29px}.settings-card h2{margin:6px 0}.settings-card>p{color:var(--muted)}.settings-card hr{border:0;border-top:1px solid var(--line);margin:25px 0}.report-metrics{margin-top:0}
.login-page{background:var(--navy2)}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-visual{padding:8vh 9vw;background:radial-gradient(circle at 25% 25%,#0a6c80,#082a43 42%,#06182c 80%);color:#fff;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-visual:after{content:'💧';position:absolute;right:-70px;bottom:-90px;font-size:420px;opacity:.035;filter:grayscale(1)}.drop-logo{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#10bfd4,#0785a6);display:grid;place-items:center;font-size:27px;margin-bottom:38px}.login-visual h1{font-size:50px;line-height:1.08;margin:14px 0}.login-visual>p{color:#a8c4d1;font-size:15px;line-height:1.7;max-width:460px}.login-promise{display:flex;align-items:center;gap:12px;margin-top:45px}.login-promise>span{width:35px;height:35px;border-radius:50%;background:#18aab544;color:#30d0ca;display:grid;place-items:center}.login-promise b,.login-promise small{display:block}.login-promise b{font-size:11px}.login-promise small{font-size:9px;color:#8eabba}.login-panel{background:#fff;padding:8vh 9vw;display:flex;flex-direction:column;justify-content:center}.login-panel h2{font-size:29px;margin:6px 0}.login-panel>p{color:var(--muted);margin:0 0 20px}.login-panel label{font-size:10px;font-weight:700;color:#54677c;display:block;margin:14px 0}.login-panel input{display:block;width:100%;padding:12px;border:1px solid #d7e0e8;border-radius:8px;margin-top:6px}.password-field{position:relative}.password-field button{position:absolute;right:9px;top:14px;border:0;background:none;color:var(--brand);font-size:9px;font-weight:700}.demo-box{margin-top:20px;padding:12px;background:#f2f7f9;border-radius:9px;display:grid;gap:3px;font-size:9px;color:#60758a}.demo-box b{color:#23657a}.mobile-brand{display:none}
/* Print layouts */
.print-page{background:#dfe5ea}.print-toolbar{position:sticky;top:0;z-index:10;background:#102b43;color:#fff;padding:10px max(20px,calc((100% - 1120px)/2));display:flex;justify-content:space-between;align-items:center}.print-toolbar>div{display:flex;align-items:center;gap:15px}.print-toolbar span{font-size:10px;color:#bcd0df}.print-toolbar button{border:0;background:#0a9bb8;color:#fff;padding:9px 14px;border-radius:7px;font-weight:700}.print-container{margin:18px auto}.single-print .print-container{width:148mm}.invoice-card{width:148mm;height:210mm;background:#fff;padding:9mm;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow);font-size:9px}.invoice-head{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--brand);padding-bottom:7px}.invoice-brand{display:flex;align-items:center;gap:8px}.invoice-brand>span{font-size:25px}.invoice-brand h2,.invoice-brand p{margin:0}.invoice-brand h2{font-size:14px}.invoice-brand p{font-size:7px;color:var(--muted)}.invoice-number{text-align:right}.invoice-number span,.invoice-number b,.invoice-number small{display:block}.invoice-number span{font-size:6px;color:var(--muted)}.invoice-number b{font-size:9px}.invoice-number small{font-size:7px;margin-top:2px}.customer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:7px;padding:8px 0}.customer-grid .wide{grid-column:span 1}.customer-grid span,.customer-grid b{display:block}.customer-grid span{font-size:6px;color:var(--muted);text-transform:uppercase}.customer-grid b{font-size:8px;margin-top:2px}.reading-band{display:grid;grid-template-columns:1fr 1fr 1.2fr;background:#f0f5f7;border-radius:6px}.reading-band>div{padding:8px;border-right:1px solid #dae5ea}.reading-band span,.reading-band b,.reading-band small{display:block}.reading-band span{font-size:6px;color:var(--muted)}.reading-band b{font-size:13px;margin-top:2px}.reading-band small{font-size:6px}.reading-band .consumption{background:#dff4f6;color:#08778d}.invoice-middle{display:grid;grid-template-columns:1.45fr .75fr;gap:7px;margin-top:8px}.charge-table{width:100%;border-collapse:collapse}.charge-table td,.charge-table th{padding:5px;border-bottom:1px solid #e5ebef;font-size:7px;text-align:left}.charge-table td:last-child,.charge-table th:last-child{text-align:right}.charge-table .invoice-total td{background:var(--brand);color:#fff;font-size:9px;font-weight:800}.charge-table .account-balance td{background:#fff2dc;color:#975f00;font-weight:700}.status-card{border-radius:7px;padding:7px;display:flex;align-items:center;gap:6px;background:#eef5f6}.status-card .face{font-size:24px}.status-card small,.status-card b{display:block}.status-card small{font-size:5px}.status-card b{font-size:9px}.status-card p{font-size:5.5px;margin:2px 0;line-height:1.3}.status-card.happy{background:#e5f7ef;color:#127957}.status-card.pending{background:#edf5f7;color:#496c78}.status-card.overdue,.status-card.danger{background:#ffedf0;color:#a93646}.history-chart{margin-top:8px;border:1px solid #e3eaef;border-radius:7px;padding:6px;display:grid;grid-template-columns:90px 1fr;height:60px}.chart-title b,.chart-title span{display:block}.chart-title b{font-size:7px}.chart-title span{font-size:5px;color:var(--muted)}.history-chart .bars{display:flex;align-items:flex-end;justify-content:space-around;height:44px}.history-chart .bars>div{height:100%;width:25px;display:flex;flex-direction:column;justify-content:flex-end;text-align:center}.history-chart .bars i{height:var(--bar);min-height:4px;background:linear-gradient(#29bfd0,#0b91ac);border-radius:3px 3px 0 0;font-style:normal;position:relative}.history-chart .bars i span{font-size:5px;color:#fff}.history-chart .bars small{font-size:5px;margin-top:2px}.invoice-foot{margin-top:auto;border-top:1px solid #dfe7eb;padding-top:6px;display:flex;justify-content:space-between;gap:10px}.invoice-foot>div:last-child{text-align:right}.invoice-foot b,.invoice-foot span{display:block}.invoice-foot b{font-size:7px}.invoice-foot span{font-size:5.5px;color:var(--muted)}.mass-print .print-container{width:297mm;margin:10px auto}.a4-landscape{width:297mm;height:210mm;background:#fff;display:grid;grid-template-columns:148.5mm 148.5mm;page-break-after:always}.a4-landscape .invoice-card{width:148.5mm;height:210mm;box-shadow:none;border-right:1px dashed #9ba9b4}.a4-landscape .invoice-card:last-child{border:0}.payment-receipt{width:148mm;height:210mm;background:#fff;padding:11mm;display:flex;flex-direction:column;box-shadow:var(--shadow)}.payment-receipt>header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--brand);padding-bottom:9px}.payment-receipt>header>div:last-child{text-align:right}.payment-receipt>header>div:last-child span,.payment-receipt>header>div:last-child b{display:block;font-size:7px}.payment-success{background:#e5f7ef;color:#107b5a;border-radius:9px;padding:12px;margin:12px 0;display:flex;gap:10px;align-items:center;font-size:23px}.payment-success b,.payment-success span{display:block;font-size:9px}.receipt-data{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.receipt-data span,.receipt-data b{display:block}.receipt-data span{font-size:6px;color:var(--muted)}.receipt-data b{font-size:8px}.payment-method{display:grid;grid-template-columns:repeat(3,1fr);background:#f2f6f8;border-radius:7px;margin-top:10px}.payment-method div{padding:9px;border-right:1px solid #dfe7ec}.payment-method span,.payment-method b{display:block}.payment-method span{font-size:6px;color:var(--muted)}.payment-method b{font-size:9px}.payment-receipt footer{margin-top:auto;border-top:1px solid var(--line);padding-top:9px;display:flex;justify-content:space-between;font-size:7px}.cash-report{width:210mm;min-height:297mm;background:#fff;margin:15px auto;padding:15mm}.cash-report header{display:flex;justify-content:space-between;border-bottom:2px solid var(--brand);padding-bottom:10px}.cash-report-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.cash-report-summary div{background:#f1f5f7;border-radius:7px;padding:10px}.cash-report-summary span,.cash-report-summary b{display:block}.cash-report-summary span{font-size:8px;color:var(--muted)}.cash-report-summary b{font-size:13px}.cash-report table{width:100%}.cash-report footer{display:flex;justify-content:space-between;margin-top:35px;font-size:9px}.signature{border-top:1px solid #444;padding:8px 35px 0}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.two-panels{grid-template-columns:1fr}.search-field{min-width:260px}.form-grid.three{grid-template-columns:1fr 1fr}.top-meta>div{display:none}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.menu-open .sidebar{transform:none}.menu-open:after{content:'';position:fixed;inset:0;background:#04152488;z-index:25}.topbar{left:0;height:72px;padding:10px 14px}.menu-button{display:block}.topbar>div:first-of-type{margin-right:auto;margin-left:9px}.topbar p{display:none}.topbar h1{font-size:17px}.top-meta{gap:8px}.period-chip{font-size:8px;padding:6px 8px}.main{margin-left:0;padding:88px 11px 30px}.hero{padding:20px}.hero h2{font-size:19px}.hero p{font-size:10px}.hero-actions{display:none}.metric-grid{grid-template-columns:1fr 1fr;gap:8px}.metric-grid>article{padding:12px;min-height:88px;gap:8px}.metric-icon{width:34px;height:34px}.metric-grid b{font-size:15px}.water-content{padding:0;gap:15px}.water-ring{width:110px;height:110px}.water-ring:before{width:84px;height:84px}.balance-list>div{display:block}.balance-list b{display:block}.toolbar{align-items:stretch;flex-direction:column}.filter-bar{align-items:stretch}.search-field{min-width:100%;width:100%}.filter-bar select,.filter-bar .button{flex:1}.toolbar-actions{width:100%}.toolbar-actions>*{flex:1}.metric-strip,.metric-strip.four{grid-template-columns:1fr 1fr}.metric-strip article{border-bottom:1px solid var(--line);padding:12px}.metric-strip article:nth-child(even){border-right:0}.table-card{border-radius:11px}.table-wrap{max-width:100%;overflow-x:auto}.table-wrap table{min-width:880px}.readings-table table{min-width:950px}.card-head{padding-right:14px}.reading-banner{padding:16px}.reading-banner h2{font-size:18px}.reading-banner p{font-size:8px}.reading-progress{min-width:115px}.reading-progress b{font-size:17px}.reading-tools .tabs{width:100%}.tabs a{flex:1;text-align:center}.form-grid,.form-grid.three{grid-template-columns:1fr}.dialog-form,.payment-dialog{width:94vw;padding:22px}.dialog-wide{width:94vw}.debt-summary{grid-template-columns:1fr}.debt-summary>div{border-right:0;border-bottom:1px solid #dfe7ed}.current-reading input{width:220px;font-size:38px}.cash-header{align-items:flex-start;gap:12px}.cash-header>div:last-child{flex-direction:column}.method-grid{grid-template-columns:1fr 1fr}.login-shell{display:block}.login-visual{display:none}.login-panel{min-height:100vh;padding:35px 24px}.mobile-brand{display:block;font:bold 19px 'Manrope';color:var(--brand);margin-bottom:50px}.print-toolbar{padding:9px}.print-toolbar span{display:none}.print-container{transform-origin:top left}.single-print .print-container{width:148mm;transform:scale(.68);margin-left:5px}.mass-print .print-container{transform:scale(.32);margin-left:3px}}
@media print{.print-page{background:#fff}.print-toolbar{display:none}.print-container{margin:0!important;transform:none!important}.single-print .invoice-card,.single-print .payment-receipt{box-shadow:none;page:single-receipt}.mass-print .print-container{width:297mm}.a4-landscape{break-after:page;page:mass-receipts}.cash-report{margin:0;box-shadow:none;page:cash-report}.single-print .print-container{width:148mm}@page{margin:0}@page single-receipt{size:A5 portrait;margin:0}@page mass-receipts{size:A4 landscape;margin:0}@page cash-report{size:A4 portrait;margin:0}}
.receipt-information{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.receipt-information>div{border:1px solid #dfe8ed;border-radius:7px;padding:8px;background:#f8fafb}.receipt-information b{font-size:7px;color:#176b80}.receipt-information p{font-size:5.8px;line-height:1.5;color:#66798b;margin:3px 0 0}.receipt-coupon{margin-top:9px;border-top:1px dashed #718394;border-bottom:1px solid #dfe7eb;padding:8px 0;display:grid;grid-template-columns:1.15fr 1.5fr .8fr .8fr 1fr;gap:7px;align-items:center}.receipt-coupon span,.receipt-coupon b{display:block}.receipt-coupon span{font-size:5px;color:#77899a;text-transform:uppercase}.receipt-coupon b{font-size:7px;margin-top:2px}.coupon-signature{height:28px;border-bottom:1px solid #9aabb8;display:flex;align-items:end;justify-content:center}
.water-care{margin-top:9px;padding:10px 12px;border-radius:8px;background:linear-gradient(100deg,#e5f7f8,#f4fbfc);display:flex;align-items:center;gap:10px;min-height:55px}.water-care>span{font-size:25px}.water-care b{font-size:8px;color:#116e83}.water-care p{font-size:6.5px;line-height:1.45;color:#5e7486;margin:3px 0}.invoice-card{font-size:10px}.invoice-brand h2{font-size:16px}.invoice-brand p{font-size:8px}.invoice-number span{font-size:7px}.invoice-number b{font-size:10px}.invoice-number small{font-size:8px}.customer-grid{gap:9px;padding:11px 0}.customer-grid span{font-size:7px}.customer-grid b{font-size:9px}.reading-band>div{padding:11px}.reading-band span{font-size:7px}.reading-band b{font-size:15px}.reading-band small{font-size:7px}.invoice-middle{margin-top:10px;gap:9px}.charge-table td,.charge-table th{padding:7px;font-size:8px}.charge-table .invoice-total td{font-size:10px}.status-card{padding:9px}.status-card .face{font-size:28px}.status-card small{font-size:6px}.status-card b{font-size:10px}.status-card p{font-size:6.5px}.history-chart{height:85px;padding:8px;margin-top:10px}.history-chart .bars{height:67px}.chart-title b{font-size:8px}.chart-title span{font-size:6px}.history-chart .bars i span,.history-chart .bars small{font-size:6px}.receipt-information>div{padding:10px}.receipt-information b{font-size:8px}.receipt-information p{font-size:6.5px}.receipt-coupon{padding:11px 0}.receipt-coupon span{font-size:6px}.receipt-coupon b{font-size:8px}.coupon-signature{height:34px}
@media(max-width:760px){.readings-table .table-wrap{overflow:visible}.readings-table table{min-width:0;width:100%}.readings-table thead{display:none}.readings-table tbody{display:grid;gap:8px;padding:9px}.readings-table tbody tr{display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-template-rows:auto auto auto;background:#fff;border:1px solid #e3eaf0;border-radius:10px;padding:10px;align-items:center}.readings-table tbody tr:hover{background:#fff}.readings-table tbody td{border:0;padding:2px 5px}.readings-table tbody td:nth-child(1){grid-column:1;grid-row:1/4}.readings-table tbody td:nth-child(2){grid-column:2;grid-row:1}.readings-table tbody td:nth-child(3){grid-column:2;grid-row:2}.readings-table tbody td:nth-child(4){grid-column:2;grid-row:3;color:#527086}.readings-table tbody td:nth-child(5),.readings-table tbody td:nth-child(6),.readings-table tbody td:nth-child(7){display:none}.readings-table tbody td:nth-child(8){grid-column:3;grid-row:1}.readings-table tbody td:nth-child(9){grid-column:3;grid-row:2/4}.readings-table .actions a{margin:0}.readings-table .empty-row{display:block!important}}
