:root{font:14px 'Segoe UI',system-ui,sans-serif;color:#263b53;background:#f5f7fb;--navy:#132a43;--blue:#225cda;--muted:#71839a;--line:#e4eaf2}*{box-sizing:border-box}body{margin:0}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button{padding:10px 14px;border:1px solid #dce4ee;border-radius:8px;background:white;color:inherit;cursor:pointer}button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #99baff;outline-offset:3px}.primary{background:var(--blue);color:white;border-color:var(--blue)}.danger{color:#ad4b42;border-color:#e6bbb5}.link-button{border:0;background:transparent;color:var(--blue);font-size:12px;padding:7px}.logo{display:inline-flex;align-items:center;justify-content:center;background:#2d68df;border-radius:12px;width:45px;height:45px;color:white;font-size:26px;font-weight:800}h1{font-size:29px;letter-spacing:-.8px;margin:0 0 9px}h2{font-size:18px;margin:0 0 8px}h3{font-size:15px;margin:0}p{color:var(--muted);line-height:1.7;margin:5px 0}.help{font-size:12px;line-height:1.6}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:1.8px;color:#7e95b1;margin-bottom:16px}.login-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.login-brand{background:var(--navy);padding:15vh 12%;color:white;display:flex;flex-direction:column;align-items:start}.login-brand h1{font-size:43px;margin-top:28px}.login-brand p{font-size:20px;color:#b0c4df;line-height:1.7}.login-features{display:grid;gap:15px;margin-top:50px;font-size:13px;color:#c5d5e9}.login-features span:before{content:'✓';color:#8dbbff;margin-right:12px}.login-panel{display:flex;align-items:center;justify-content:center;padding:40px}.login-panel form{width:min(410px,100%)}.login-panel h2{font-size:27px;margin-bottom:10px}.login-panel label{margin-top:20px}.login-panel button{width:100%;margin:24px 0 12px}#login-error{color:#b4483d;font-size:13px}label{display:grid;gap:7px;font-size:12px;color:#63758e}input,select,textarea{padding:11px 12px;border:1px solid #dce4ee;border-radius:8px;background:white;color:#263b53;min-width:0;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #b4cef9}textarea{min-height:95px;resize:vertical}aside{position:fixed;inset:0 auto 0 0;width:240px;background:var(--navy);padding:29px 20px;color:#b5c9e1;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-size:23px;color:#fff;font-weight:800;text-decoration:none}.brand small{display:block;font-size:8px;letter-spacing:1.2px;color:#9cb1cc;margin-top:4px}.tenant-label{padding:13px;border:1px solid #324962;margin:30px 0 20px;border-radius:8px;font-size:12px;color:#bed4ef;word-break:break-word}nav{display:grid;gap:7px}nav button{background:transparent;border:0;text-align:left;color:#b2c6de;padding:13px;display:flex;gap:12px;align-items:center}nav button.active{background:#245cd2;color:white}.aside-bottom{margin-top:auto;border-top:1px solid #31475f;padding-top:20px;font-size:12px}.aside-bottom small{display:block;margin-top:4px;color:#8da5c0}.aside-bottom button{background:#213d5c;border:0;color:#c3d5e9;font-size:11px;margin-top:14px}main{margin-left:240px}header{height:76px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;font-size:12px;color:#75889f}.header-actions{display:flex;gap:9px;align-items:center}.header-actions button{font-size:11px;padding:8px 11px}.content{padding:25px 32px 40px;max-width:1550px;margin:auto}.banner{border-radius:9px;border:1px solid #dae6fb;background:#edf3ff;color:#436390;padding:13px 16px;margin-bottom:24px;font-size:12px;line-height:1.6}.banner.warning{background:#fff7e8;border-color:#ead8b4;color:#917039}.banner.error{background:#fef0ed;border-color:#ecc5bc;color:#aa594a}.title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px}.subtitle{font-size:13px}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.metric{padding:22px;background:white;border:1px solid var(--line);border-radius:12px}.metric>span{color:#7a8a9e;font-size:12px;display:flex;justify-content:space-between}.metric strong{display:block;font-size:29px;font-weight:800;letter-spacing:-.8px;margin:17px 0 8px}.metric small{font-size:11px;color:#8b99ab}.metric.green strong{color:#24886b}.metric.red strong{color:#bd6656}.card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden;margin-bottom:22px}.card-head{padding:22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.card-head p{font-size:12px}.card-body{padding:0 22px 22px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.company-grid,.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.company,.plan{padding:24px}.company h2{margin:10px 0}.company p{font-size:12px}.company .actions{margin-top:20px}.company .name{font-size:11px;letter-spacing:1px;color:#7592b5}.price{font-size:30px;font-weight:800;margin:18px 0}.tag{display:inline-flex;align-items:center;padding:5px 9px;border-radius:6px;background:#eef2f7;color:#687e99;font-size:10px;white-space:nowrap}.tag.paid{background:#e9f6ee;color:#25805f}.tag.late{background:#fceeea;color:#b75948}.tag.open,.tag.partial{background:#fff5e6;color:#a37b35}.scroll-table{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px;white-space:nowrap}th{background:#f8fafc;padding:13px 19px;color:#8998aa;font-size:10px;font-weight:600;letter-spacing:.5px}td{padding:16px 19px;border-top:1px solid #edf1f6}td small{display:block;margin-top:4px;font-size:10px;color:#8c9aab}.filters{display:flex;gap:12px;padding:0 22px 20px}.filters input{flex:1}.filters select{width:auto}.empty{text-align:center;padding:45px 22px;font-size:13px;color:#8495aa}.empty b{display:block;color:#48617f;font-size:15px;margin-bottom:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.wide{grid-column:1/-1}.check{display:flex;align-items:center;gap:8px;margin-top:13px}.check input{width:auto;accent-color:var(--blue)}.integration{padding:18px;border:1px dashed #d9e3ef;border-radius:9px;margin:14px 0}.integration p{font-size:12px}.divider-row{padding:13px 0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px;font-size:12px}.divider-row:last-child{border:0}.reminder{padding:18px 22px;display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #edf1f6}.reminder p{font-size:12px}.footnote{font-size:11px;color:#8797aa;margin-top:12px}dialog{border:0;border-radius:14px;padding:28px;width:min(660px,94vw);max-height:90vh;color:#263b53;box-shadow:0 25px 80px #10264144}dialog::backdrop{background:#132a4380}dialog h2{font-size:22px;margin-bottom:8px}dialog>div>p{font-size:12px;margin-bottom:20px}.modal-actions{display:flex;gap:8px;justify-content:end;flex-wrap:wrap;margin-top:23px}.modal-form-note{margin:14px 0;font-size:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:10;background:#183751;color:white;padding:13px 20px;border-radius:9px;max-width:90vw;font-size:13px;display:none}.sync-row{padding:16px 22px;border-top:1px solid var(--line)}.sync-row p{font-size:12px;overflow-wrap:anywhere}.login-panel .help{margin-top:15px}.active-note{color:#2e8c6c}.danger-note{color:#ac584c}.receipt-total{font-size:25px;font-weight:700;color:#278264;margin:15px 0}.tenant-select{max-width:330px}#message-text{min-height:240px}.balance{font-size:12px;color:#b37135}code{font-size:12px;padding:2px 5px;background:#f3f6fa;border-radius:3px}body,h1,h2,.price{font-family:'Segoe UI',system-ui,sans-serif}
@media(max-width:1150px){aside{width:200px;padding:24px 14px}main{margin-left:200px}.content{padding:22px}.metrics{gap:10px}.metric{padding:16px}.metric strong{font-size:24px}.company-grid,.plan-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.login-screen{grid-template-columns:1fr}.login-brand{padding:35px 25px}.login-brand h1{font-size:32px;margin:15px 0}.login-brand p{font-size:15px}.login-features{display:none}.login-panel{padding:30px 24px}aside{position:static;width:auto;padding:16px}.brand{font-size:20px}.brand .logo{width:35px;height:35px;font-size:23px}.brand small,.aside-bottom{display:none}.tenant-label{margin:14px 0 10px;padding:9px}nav{display:flex;overflow:auto}nav button{white-space:nowrap;flex-shrink:0;padding:10px;font-size:11px}main{margin-left:0}header{height:auto;min-height:57px;padding:12px 14px;gap:8px;flex-wrap:wrap}.header-actions{gap:6px}#breadcrumbs{font-size:11px}.content{padding:18px 14px}h1{font-size:23px}.title-row{align-items:start;flex-wrap:wrap}.metrics{grid-template-columns:1fr 1fr}.metric strong{font-size:23px}.grid,.company-grid,.plan-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.filters{flex-wrap:wrap}.filters input{flex-basis:100%}.filters select{width:100%}.reminder{align-items:start;flex-wrap:wrap}.header-actions button{font-size:10px;padding:7px}.banner{margin-bottom:20px}.tenant-select{max-width:100%}}
@media(display-mode:standalone){aside{padding-top:calc(16px + env(safe-area-inset-top))}.content{padding-bottom:calc(40px + env(safe-area-inset-bottom))}}
.brand{font-size:14px;gap:9px}.brand>.logo{flex-shrink:0;width:38px;height:38px;font-size:23px}.brand>span:last-child{min-width:0}.brand small{font-size:8px;letter-spacing:.8px}
