:root{--bg: #f4f6f8;--card: #ffffff;--text: #1f2937;--muted: #6b7280;--primary: #1d6fd1;--primary-dark: #155cb3;--danger: #c0392b;--ok: #1e7e34;--warn: #b7791f;--border: #e2e6ea}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}.topbar{display:flex;align-items:center;gap:1.5rem;background:#12395f;color:#fff;padding:.75rem 1.5rem}.topbar .brand{font-weight:700;font-size:1.1rem}.topbar nav{display:flex;gap:1rem;flex:1}.topbar nav a{color:#dbe7f3}.topbar nav a:hover{color:#fff}.topbar .userbox{display:flex;align-items:center;gap:.75rem;font-size:.9rem}.content{max-width:1100px;margin:0 auto;padding:1.5rem}h1{font-size:1.5rem;margin:.25rem 0 1rem}h2{font-size:1.2rem;margin:1.75rem 0 .75rem}h3{margin-top:0}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1rem}.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1rem}.card-label{font-size:.8rem;color:var(--muted);margin-bottom:.25rem}.card-value{font-size:1.5rem;font-weight:700}.card.highlight .card-value{color:var(--ok)}.card.warn .card-value{color:var(--warn)}.table{width:100%;border-collapse:collapse;background:var(--card);border-radius:8px;overflow:hidden;margin-top:.75rem}.table th,.table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--border);font-size:.92rem}.table th{background:#eef1f4;font-weight:600}.table tr:last-child td{border-bottom:none}.table .actions{white-space:nowrap}.badge{display:inline-block;padding:.15rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge.active,.badge.paid{background:#dff0e3;color:var(--ok)}.badge.suspended,.badge.overdue{background:#fbe3e0;color:var(--danger)}.badge.pending,.badge.unpaid{background:#fdf3d7;color:var(--warn)}.badge.partial{background:#e3ecfb;color:var(--primary)}.badge.cancelled{background:#eee;color:var(--muted)}.btn{padding:.5rem 1rem;border:1px solid var(--border);border-radius:6px;background:var(--card);cursor:pointer;font-size:.9rem}.btn:hover{background:#eef1f4}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-danger{color:var(--danger)}.btn-small{padding:.25rem .6rem;font-size:.8rem;margin-right:.35rem}.btn:disabled{opacity:.6;cursor:not-allowed}.panel{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin:1rem 0}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem}label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:500}input,select{padding:.55rem .7rem;border:1px solid var(--border);border-radius:6px;font-size:.95rem}.form-actions{margin-top:1rem;display:flex;gap:.6rem}.filters{display:flex;gap:1rem;align-items:flex-end;margin:1rem 0;flex-wrap:wrap}.alert{padding:.75rem 1rem;border-radius:6px;margin:.75rem 0}.alert.error{background:#fbe3e0;color:#8f1d12}.alert.ok{background:#dff0e3;color:var(--ok)}.muted{color:var(--muted)}.login-wrap{display:flex;justify-content:center;align-items:center;min-height:80vh}.login-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:2rem;width:340px;display:flex;flex-direction:column;gap:.9rem}.login-card h1{font-size:1.25rem;margin:0}.login-card .btn{width:100%}.usage-chart{width:100%;height:auto;display:block}.usage-chart rect{fill:var(--accent, #2b6cb0)}.usage-chart rect:hover{fill:#1d4e89}.chart-label{font-size:11px;fill:#718096}.live-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.live-dot.on{background:#38a169}.live-dot.off{background:#cbd5e0}.seg{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.seg button{border:0;background:transparent;padding:.3rem .7rem;font-size:.85rem;cursor:pointer}.seg button.active{background:var(--accent, #2b6cb0);color:#fff}.month-nav{display:flex;align-items:center;gap:.6rem}.month-nav strong{min-width:130px;text-align:center}.badge.approved{background:#dff0e3;color:var(--ok)}.badge.rejected{background:#fbe3e0;color:var(--danger)}.big-amount{font-size:2rem;font-weight:700;margin:.25rem 0}.portal .panel{margin-bottom:1.25rem}.pin-notice{font-size:1.05rem;font-weight:600}code{background:#eef1f4;padding:.1rem .35rem;border-radius:4px;font-size:.9em}
