:root{--navy: #09192e;--navy-2: #12304d;--teal: #2dd4bf;--teal-2: #5eead4;--bg: #f2f6f8;--card: #ffffff;--line: #d9e2e8;--line-2: #e9eff3;--text: #0f1f33;--muted: #5a6b7e;--accent: #0f766e;--accent-soft: #ccfbf1;--c-empty: #8a97a5;--c-hold: #d98a1e;--c-rent: #13946b;--c-soon: #7c58a8;--c-debt: #d33b3b;--t-empty: #f7f9fa;--t-hold: #fdf4e4;--t-rent: #e8f8f2;--t-debt: #fdeded;--radius: 14px;--shadow: 0 1px 2px rgba(9, 25, 46, .06), 0 4px 14px rgba(9, 25, 46, .06);font-family:Be Vietnam Pro,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);font-size:15px;line-height:1.5;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;background:var(--bg)}h1,h2,h3{margin:0;line-height:1.25}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}.topbar{position:sticky;top:0;z-index:20;background:linear-gradient(120deg,#09192e,#0f2a45);color:#fff;display:flex;align-items:center;gap:10px;padding:10px 16px}.topbar .spacer{flex:1}.topbar .user{font-size:13px;opacity:.85;white-space:nowrap}.bswitch{display:flex;align-items:center;gap:10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);color:#fff;border-radius:12px;padding:6px 12px 6px 6px;cursor:pointer;min-width:0;max-width:78vw;text-align:left}.bswitch-ic{width:38px;height:38px;border-radius:10px;background:var(--teal);color:var(--navy);display:grid;place-items:center;flex:none}.bswitch-txt{display:grid;min-width:0;line-height:1.25}.bswitch-txt .small{opacity:.8;font-size:12px}.bswitch-txt b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-btn{width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#ffffff1a;color:#fff;display:grid;place-items:center;cursor:pointer}.tabs{display:flex;gap:6px;padding:8px 16px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:62px;z-index:15;overflow-x:auto}.tabs a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--muted);padding:8px 14px;border-radius:10px;white-space:nowrap}.tabs a.active{background:var(--accent-soft);color:var(--navy);font-weight:700}main{padding:16px 16px 90px;max-width:1180px;margin:0 auto}@media(max-width:720px){.tabs{position:fixed;top:auto;bottom:0;left:0;right:0;z-index:30;justify-content:space-around;padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);border-bottom:0;gap:0;box-shadow:0 -2px 10px #14283c0f}.tabs a{flex-direction:column;gap:2px;padding:4px 2px;font-size:12px;flex:1;border-radius:10px}.tabs a.active{background:none;color:var(--accent)}.tabs a.active svg{background:var(--accent-soft);border-radius:12px;padding:3px 12px;box-sizing:content-box}.topbar .user{display:none}main{padding:12px 12px 100px}}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.stack{display:grid;gap:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:560px){.grid2{grid-template-columns:1fr}}.muted{color:var(--muted)}.small{font-size:13px}.right{text-align:right}.page-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}.page-title h1{font-size:22px}.btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 14px;cursor:pointer;white-space:nowrap}.btn:hover{border-color:#9fb2c3}.btn.primary{background:var(--teal);border-color:var(--teal);color:var(--navy);font-weight:700}.btn.primary:hover{background:var(--teal-2)}.btn.danger{color:var(--c-debt);border-color:#e3b4b4}.btn.block{width:100%}.btn:disabled{opacity:.55;cursor:default}.link-btn{background:none;border:0;color:var(--accent);cursor:pointer;padding:0;text-decoration:underline}.icon-btn{background:none;border:0;font-size:18px;cursor:pointer;padding:4px 8px;color:var(--muted)}.field{display:grid;gap:4px}.field-label{font-size:13px;color:var(--muted);font-weight:600}.field-hint{font-size:12px;color:var(--muted)}.field input,.field select,.field textarea,.money input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.field input:focus,.field select:focus,.field textarea:focus,.money input:focus{outline:2px solid #9fc2e0;border-color:var(--accent)}.money{position:relative}.money input{padding-right:28px;text-align:right}.money span{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--muted)}.check{display:flex;align-items:center;gap:8px;cursor:pointer}.check input{width:18px;height:18px}.error-box{background:#fcecec;color:#8f2424;border:1px solid #efc0c0;padding:10px 12px;border-radius:8px}.ok-box{background:#e9f6ed;color:#1f6a3a;border:1px solid #b9dfc5;padding:10px 12px;border-radius:8px}.empty{text-align:center;color:var(--muted);padding:32px 12px}.pill{display:inline-block;font-size:12px;font-weight:700;color:#fff;padding:2px 10px;border-radius:999px}.pill-empty{background:var(--c-empty)}.pill-hold{background:var(--c-hold)}.pill-rent{background:var(--c-rent)}.pill-soon{background:var(--c-soon)}.pill-debt{background:var(--c-debt)}.pill-paid{background:var(--c-rent)}.pill-muted{background:#b4bec8}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1e2d73;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}.sheet{background:#fff;border-radius:14px;width:100%;max-width:520px;max-height:92vh;display:flex;flex-direction:column}.sheet.wide{max-width:860px}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line-2)}.sheet-head h2{font-size:17px}.sheet-body{padding:16px;overflow-y:auto;overflow-x:hidden;flex:1 1 auto;min-height:0}.sheet-body>*+*{margin-top:12px}.sheet-body .table-wrap{max-width:100%}.grid2>*{min-width:0}.sheet-foot{padding:12px 16px;border-top:1px solid var(--line-2);display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}@media(max-width:560px){.overlay{align-items:flex-end;padding:0}.sheet,.sheet.wide{border-radius:14px 14px 0 0;max-height:94vh}.sheet-foot .btn{flex:1}}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.stat .label{font-size:13px;color:var(--muted)}.stat .value{font-size:20px;font-weight:700;margin-top:2px}@media(max-width:720px){.stats{grid-template-columns:1fr 1fr}.stat .value{font-size:17px}}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.chip{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #c4cfda;border-radius:999px;padding:6px 14px;cursor:pointer}.chip .dot{width:10px;height:10px;border-radius:50%}.chip b{font-variant-numeric:tabular-nums}.chip.on{background:var(--accent-soft);border-color:var(--accent)}.floor{background:#e9eff4;border-radius:8px;padding:8px 12px;font-weight:700;margin:14px 0 10px}.rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}@media(max-width:480px){.rooms{grid-template-columns:1fr 1fr;gap:8px}}.room{text-align:left;border:2px solid var(--line);border-radius:var(--radius);padding:12px;cursor:pointer;display:grid;gap:6px;align-content:start;min-height:150px}.room h3{font-size:19px;display:flex;justify-content:space-between}.room .pills{display:flex;gap:6px;flex-wrap:wrap}.room .price{font-weight:700}.room .who{font-size:13.5px;color:var(--muted)}.room .extra{font-size:13.5px;font-weight:700}.room.s-empty{background:var(--t-empty);border-color:var(--c-empty)}.room.s-hold{background:var(--t-hold);border-color:var(--c-hold)}.room.s-rent{background:var(--t-rent);border-color:var(--c-rent)}.room.s-debt{background:var(--t-debt);border-color:var(--c-debt)}.room:focus-visible{outline:3px solid #9fc2e0}.menu-list{display:grid;gap:8px}.menu-list .btn{text-align:left;padding:12px 14px}.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}table.grid{border-collapse:collapse;width:100%;font-size:14px}table.grid th,table.grid td{padding:9px 10px;border-bottom:1px solid var(--line-2);text-align:left;white-space:nowrap}table.grid th{background:#eef3f7;font-size:13px;color:#3c4f63;position:sticky;top:0}table.grid td.num,table.grid th.num{text-align:right;font-variant-numeric:tabular-nums}table.grid tr:last-child td{border-bottom:0}table.grid input{width:110px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;text-align:right}.login{min-height:100vh;display:grid;place-items:center;padding:16px;background:radial-gradient(circle at 80% 10%,#12304d,#09192e 60%)}.login .card{width:100%;max-width:400px;padding:24px;display:grid;gap:14px}.login h1{font-size:22px}.otp{letter-spacing:8px;font-size:22px;text-align:center}.pr-wrap{overflow-x:auto;display:flex;justify-content:center;background:#eef2f5;padding:10px;border-radius:8px}.pr-card{width:480px;background:#fff;border:1px solid #c9d4de;border-radius:8px;overflow:hidden;color:#16263a;font-family:Be Vietnam Pro,Segoe UI,Roboto,Arial,sans-serif}.pr-head{background:#09192e;border-bottom:4px solid #2dd4bf;color:#fff;padding:12px 18px 10px}.pr-brand{font-weight:700;font-size:16px}.pr-sub{display:flex;justify-content:space-between;font-size:12px;color:#d6e2ec;margin-top:4px}.pr-body{padding:14px 18px 16px}.pr-title{text-align:center;font-weight:800;font-size:18px;margin-bottom:10px}.pr-title.big{font-size:22px;margin-bottom:2px}.pr-center{text-align:center;font-size:12.5px}.pr-info{display:grid;grid-template-columns:auto 1fr auto auto;gap:3px 10px;font-size:13px;margin-bottom:10px}.pr-info span{color:#5b6b7c}.pr-table{width:100%;border-collapse:collapse;font-size:13px}.pr-table th{background:#d6e6f1;text-align:left;padding:6px 8px}.pr-table td{padding:6px 8px;border-bottom:1px solid #c9d4de;vertical-align:top}.pr-table .r{text-align:right;white-space:nowrap}.pr-detail{color:#5b6b7c;font-size:12px}.pr-total{background:#f3f7fa;padding:8px;border-bottom:1px solid #c9d4de}.pr-line{display:flex;justify-content:space-between;font-size:13px;padding:2px 0}.pr-line.big{font-weight:800;font-size:15px;align-items:baseline}.pr-line.big .red{font-size:20px}.pr-due{text-align:center;font-weight:700;margin:10px 0;font-size:14px}.pr-qr{display:flex;gap:12px;border:1px solid #c9d4de;border-radius:8px;padding:10px;background:#f8fafc;align-items:center}.pr-qr img{width:150px;height:150px;border:2px solid #547489;border-radius:4px}.pr-noqr{width:150px;height:150px;border:2px dashed #9fb2c3;display:grid;place-items:center;text-align:center;color:#5b6b7c;font-size:12px;padding:8px}.pr-bank{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;font-size:12.5px}.pr-bank span{color:#5b6b7c}.pr-foot{text-align:center;font-size:12px;color:#5b6b7c;margin-top:10px;display:grid;gap:2px}.pr-foot b{color:#16263a}.pr-fields{margin-top:10px}.pr-field{display:grid;grid-template-columns:130px 1fr;padding:7px 0;border-bottom:1px solid #e7edf2;font-size:13.5px}.pr-field>span:first-child{color:#5b6b7c}.pr-stamp-row{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:12px}.pr-stamp{border:3px solid;border-radius:6px;padding:4px 12px;font-weight:800;font-size:16px}.pr-stamp.green,.green{color:#348c54}.pr-stamp.red,.red{color:#c83a3a}.card,.stat{box-shadow:var(--shadow);border-color:var(--line-2)}a.stat{text-decoration:none;color:inherit}.page-title h1,h1{letter-spacing:-.2px}.section-title{font-weight:700;margin:18px 0 10px}.seg{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px;margin-bottom:14px;box-shadow:var(--shadow)}.seg button{border:0;background:none;padding:10px;border-radius:10px;font-weight:600;color:var(--muted);display:inline-flex;gap:8px;justify-content:center;align-items:center;cursor:pointer}.seg button.on{background:var(--navy);color:#fff}.seg button.on svg{color:var(--teal)}.todo{display:flex;align-items:center;gap:10px;background:var(--navy);color:#fff;text-decoration:none;border-radius:14px;padding:12px 14px;margin-bottom:14px}.todo svg:first-child{color:var(--teal);flex:none}.todo span{flex:1;font-size:14px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}@media(max-width:560px){.tiles{grid-template-columns:repeat(3,1fr);gap:10px}}.tile{position:relative;background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:16px 8px 14px;display:grid;justify-items:center;gap:8px;text-align:center;text-decoration:none;color:var(--text);font-weight:600;font-size:14px;line-height:1.3;border:1px solid var(--line-2)}.tile:hover{border-color:var(--teal)}.tile-ic{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.tile .badge{position:absolute;top:8px;right:8px;background:var(--teal);color:var(--navy);font-size:12px;font-weight:800;border-radius:999px;padding:1px 8px}@media(max-width:560px){.tile{font-size:12.5px;padding:12px 4px}.tile-ic{width:48px;height:48px}}.ov{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}@media(max-width:560px){.ov{grid-template-columns:1fr 1fr;gap:10px}}.ov-card{position:relative;background:#fff;border-radius:16px;box-shadow:var(--shadow);border:1px solid var(--line-2);padding:14px;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:4px 10px;text-decoration:none;color:var(--text)}.ov-ic{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;grid-row:span 1}.ov-n{font-size:24px;font-weight:800}.ov-pct{font-size:13px;font-weight:700;background:#f2f6f8;border-radius:8px;padding:2px 8px;justify-self:start}.ov-label{grid-column:1 / -1;font-size:14px;color:var(--muted);padding-right:18px}.ov-go{position:absolute;right:10px;bottom:14px;color:var(--muted)}.progress{height:10px;background:#e3eaef;border-radius:999px;overflow:hidden;margin:10px 0 6px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--teal))}.profile{display:flex;gap:14px;align-items:center}.avatar{width:56px;height:56px;border-radius:50%;background:var(--navy);color:var(--teal);display:grid;place-items:center;flex:none}.menu-card{background:#fff;border-radius:16px;box-shadow:var(--shadow);border:1px solid var(--line-2);overflow:hidden}.menu-card.flat{box-shadow:none;border:0}.menu-title{font-size:12.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;padding:12px 16px 4px}.menu-row{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border:0;border-top:1px solid var(--line-2);background:none;text-align:left;text-decoration:none;color:var(--text);cursor:pointer;font-size:15px}.menu-title+.menu-row{border-top:0}.menu-row>svg:first-child{color:var(--accent);flex:none}.menu-row .grow{flex:1;min-width:0}.menu-row.accent{color:var(--accent);font-weight:700}.menu-row.danger,.menu-row.danger svg{color:var(--c-debt)!important}.block{display:block}.page-plain{max-width:720px;margin:0 auto;padding:16px}.plain-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.wizard{display:grid;gap:14px}.steps{display:grid;grid-template-columns:1fr 1fr;gap:8px}.steps span{height:6px;border-radius:999px;background:#dfe7ec}.steps span.on{background:var(--teal)}.w-sec{background:#fff;border-radius:16px;box-shadow:var(--shadow);border:1px solid var(--line-2);padding:16px;display:grid;gap:12px}.w-head{display:flex;gap:12px;align-items:center}.w-num{width:40px;height:40px;border-radius:10px;background:var(--navy);color:var(--teal);font-weight:800;display:grid;place-items:center;flex:none}.choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice button{border:2px dashed var(--line);background:#fff;border-radius:14px;padding:14px 10px;display:grid;gap:4px;text-align:center;cursor:pointer;color:var(--text)}.choice button span{font-size:13px;color:var(--muted)}.choice button.on{border-color:var(--teal);background:#f0fdfa}.note{background:#f0fdfa;border:1px solid #a7f3e4;color:#115e59;border-radius:12px;padding:10px 12px;font-size:14px}.w-foot{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg) 30%);padding:12px 0 4px}.w-foot .btn{padding:13px;font-size:16px}.sheet .w-foot{background:linear-gradient(transparent,#fff 30%)}.green{color:var(--c-rent)}
