/* Product styling: quiet warm surfaces, clear hierarchy, large touch targets. */
:root{font-family:"Segoe UI",Arial,sans-serif;background:#f6f7fb;color:#24394b;font-size:15px}body{background:radial-gradient(ellipse at top right,#eaf4f140,transparent 55%),#f6f7fb}aside{width:260px;background:#102f35;padding:35px 22px}.brand{font-size:22px;letter-spacing:-.6px}.logo{background:#bcedda;color:#0f4d43}.aside-caption{color:#8cb8b6;margin-top:45px}nav{gap:8px}nav button{padding:15px 14px;transition:background .15s,color .15s;font-size:14px;color:#b8d0d1}nav button:hover{background:#23464a;color:#fff}nav button.active{background:#d7eee3;color:#153c38;font-weight:600;box-shadow:0 3px 12px #0001}.aside-bottom{border-color:#3b585d}main{margin-left:260px;padding:38px 44px;max-width:1650px}h1{font-size:32px;font-weight:650;letter-spacing:-1px;margin-bottom:26px}.eyebrow{color:#7e8a98;font-size:10px;letter-spacing:1.8px}.notice{background:#eef4f1;border:1px solid #dce9e2;color:#47675e;padding:15px 18px;display:block;line-height:1.7}.notice>span{font-size:10px;letter-spacing:.6px;color:#7f9188;margin-right:10px}.panel,.stat{border:1px solid #e5eaf0;border-radius:16px;box-shadow:0 3px 14px #152f4414;padding:25px}.panel h2{color:#253d4d}.stat small{font-size:12px;color:#6a7b8b}.stat .value{font-size:26px;color:#173f42;letter-spacing:-.7px}.stat p{color:#8694a2}button{border-color:#dde5e9;color:#3f586b;border-radius:9px;font-weight:500;min-height:40px;transition:box-shadow .15s,background .15s}button:hover{background:#f0f5f4;border-color:#acc5bd}button.primary{background:#24735c;border-color:#24735c;box-shadow:0 3px 8px #24735c20}button.primary:hover{background:#1d614c;color:white}input,select,textarea{border-color:#dce4ea;border-radius:9px;padding:12px;background:#fbfcfe}input:focus,select:focus,textarea:focus{outline-color:#a1d5bd;background:#fff}label{line-height:1.5}.form-grid{gap:20px}.form-grid label{color:#587184}.form-grid input,.form-grid select{color:#263f4d;font-size:14px}.hint{color:#7b8997;line-height:1.8}.section-head{margin:28px 0 18px}.room-card{border-radius:14px;padding:20px;box-shadow:0 2px 8px #28445b08;border-color:#e2e8ed;position:relative;min-height:130px}.room-card b{font-size:21px;letter-spacing:-.4px}.room-card p{color:#6e8290;font-size:12px;margin:13px 0}.room-card:hover{transform:translateY(-2px);box-shadow:0 7px 20px #20394c12}.badge{font-size:11px;padding:5px 9px;background:#edf0f5;color:#697a90}.badge.occupied{background:#e4f2eb;color:#36795d}.badge.debt{background:#fff0e5;color:#a36b37}.table-wrap{border-radius:15px;border-color:#e4eaf0;box-shadow:0 2px 10px #25405408}th{background:#edf2f6;color:#647d91;font-size:11px;padding:17px 15px}td{padding:17px 15px;border-color:#eef2f5;font-size:13px}tbody tr:hover{background:#f8fbfa}.table-wrap td:first-child b{color:#226650}.table-wrap .mini{font-size:11px}.page-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-intro h2{font-size:24px;margin:10px 0}.page-intro p{color:#748694;line-height:1.8;margin-bottom:0}.panel-heading{display:flex;gap:14px;align-items:center;margin-bottom:24px}.panel-heading h2{margin-bottom:4px}.house-icon{width:44px;height:44px;display:grid;place-items:center;background:#edf5f1;color:#2d745b;border-radius:12px;font-size:20px;font-weight:600}.house-pill{display:inline-grid;place-items:center;background:#edf4f0;border-radius:7px;width:28px;height:28px;color:#2d745b}.backup-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px}.backup-panel p{max-width:600px;font-size:13px}.qr-setting{display:flex;gap:18px;align-items:center;min-height:100px}.qr-setting img{width:110px;height:110px;object-fit:contain;border:1px solid #edf0f2}.qr-placeholder{padding:23px;border:1px dashed #cedbe1;border-radius:10px;color:#8698a3;font-size:12px}.cash-stats{grid-template-columns:repeat(3,1fr)}.house-cash{margin-bottom:25px}.cash-breakdown{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.cash-breakdown span{display:grid;gap:8px;font-size:12px;color:#82909d}.cash-breakdown b{font-size:15px;color:#3b5764}.ledger-entry h2{margin-bottom:22px}.ledger-entry .form-grid{grid-template-columns:repeat(3,1fr)}.wrap-cell{white-space:normal;min-width:170px;max-width:350px;overflow-wrap:anywhere}.income{color:#2d785c}.expense{color:#ad6f50}.undo-notice{background:#fff4db;padding:14px;border-radius:10px;margin-bottom:15px}.billing-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;background:#fff;border:1px solid #e2e9ee;padding:22px 26px;border-radius:16px;margin-bottom:26px;box-shadow:0 3px 16px #18344208}.billing-summary>div{display:grid;gap:10px}.billing-summary b{font-size:18px;color:#274a51;letter-spacing:-.3px}.billing-summary .mini{font-size:12px;color:#83919b}dialog{padding:30px;border-radius:19px;width:680px;color:#294556}.dialog-head{margin-bottom:25px}.bill-preview{background:#eaf4ef;border:1px solid #dcece3;border-radius:12px;padding:20px}.bill-preview strong{color:#1b6950}.receipt-details{margin-top:25px;border-top:1px solid #e5ebef;padding-top:18px}.receipt-details summary{cursor:pointer;color:#3e6c61;font-size:13px}.receipt-preview{background:white;padding:22px;border:1px solid #e2e8e7;margin-top:16px;color:#233b39}.receipt-header{border-bottom:2px solid #345e52;padding-bottom:15px;line-height:1.6}.receipt-header h2{font-size:23px;margin-top:10px;letter-spacing:1px}.receipt-header p{font-size:12px}.receipt-table{margin-top:15px}.receipt-table td{padding:13px 8px;white-space:normal}.receipt-table td:last-child{text-align:right;white-space:nowrap}.receipt-total{background:#edf4ed;font-weight:700}.receipt-payment{display:flex;gap:22px;align-items:center;margin-top:25px;font-size:12px;line-height:1.8}.receipt-payment p{margin:7px 0}.transfer-qr{width:170px;height:170px;object-fit:contain;background:#fff}.receipt-payment small{font-size:10px;color:#62736a}.receipt-sign{display:flex;justify-content:space-between;margin:30px 20px 50px;font-size:12px}#printReceipt{display:none}.payments{padding-top:15px}.print-only{display:none}footer{margin-top:40px;font-size:11px}@media(max-width:1100px){main{padding:30px 24px;margin-left:220px}aside{width:220px}.two-cols{grid-template-columns:1fr}.billing-summary{grid-template-columns:repeat(2,1fr)}.backup-panel{align-items:start;flex-direction:column}.ledger-entry .form-grid{grid-template-columns:1fr 1fr}.cash-stats{grid-template-columns:1fr}}@media(max-width:650px){aside{width:auto;padding:20px 16px}nav button{font-size:12px;padding:10px}.brand{font-size:21px}main{margin:0;padding:24px 16px}h1{font-size:25px}.notice{font-size:12px}.notice>span{display:block}.panel{padding:21px}.billing-summary{padding:19px;gap:20px}.billing-summary b{font-size:16px}.billing-summary .mini{font-size:11px}.page-intro{align-items:start;flex-direction:column}.page-intro h2{font-size:21px}.ledger-entry .form-grid{grid-template-columns:1fr}.stats{gap:12px}.value{font-size:21px!important}.receipt-payment{flex-direction:column;align-items:start}.transfer-qr{width:150px;height:150px}.cash-breakdown{gap:18px}.receipt-preview{padding:12px}.receipt-table td{font-size:11px}.form-grid{gap:17px}.panel-heading{margin-bottom:22px}.section-head{flex-wrap:wrap}nav{padding-bottom:3px}}
@media print{@page{size:A5 portrait;margin:12mm}body{background:white!important}body>aside,body>main,#toast,#roomDialog{display:none!important}#billDialog{display:block!important;position:static!important;width:auto!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:white!important}#billForm>*{display:none!important}#billForm>#printReceipt{display:block!important;color:#000!important}#printReceipt .receipt-header{color:#000}#printReceipt .receipt-table td{font-size:12px;border-color:#ccc;padding:10px 4px}#printReceipt .receipt-payment{display:flex!important;flex-direction:row!important}#printReceipt .transfer-qr{width:150px;height:150px}#printReceipt .receipt-sign{margin-top:30px}#printReceipt small{color:#333}#printReceipt .receipt-total{background:#eee!important}dialog::backdrop{background:transparent}}
