:root{--bg:#0b1220;--panel:#121c2e;--panel2:#17243a;--text:#e6eefc;--muted:#8aa0bd;--line:#253650;--brand:#38bdf8;--brand2:#a78bfa;--success:#22c55e;--danger:#ef4444;--warning:#f59e0b;--shadow:0 24px 80px rgba(0,0,0,.35)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at top left,#1c2c4a 0,#0b1220 38%,#070b13 100%);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}input,select,textarea{width:100%;background:#0c1424;border:1px solid var(--line);border-radius:12px;color:var(--text);padding:11px 12px;outline:none}textarea{min-height:80px;resize:vertical}label{font-size:13px;color:var(--muted);display:grid;gap:7px}.app-shell{display:flex;min-height:100vh}.sidebar{width:270px;background:linear-gradient(180deg,rgba(18,28,46,.98),rgba(9,14,25,.96));border-right:1px solid rgba(255,255,255,.08);padding:20px;position:fixed;inset:0 auto 0 0;overflow:auto}.brand{display:flex;align-items:center;gap:10px;margin-bottom:22px}.logo-dot{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--brand),var(--brand2));display:grid;place-items:center;color:#03111f;font-weight:900}.brand strong{font-size:18px}.brand em{font-style:normal;color:var(--brand);font-size:12px;padding:3px 6px;border:1px solid rgba(56,189,248,.3);border-radius:999px}.sidebar nav{display:grid;gap:7px}.sidebar nav a{padding:12px 14px;border-radius:14px;color:#cbd8ed;border:1px solid transparent;transition:.18s}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(56,189,248,.12);border-color:rgba(56,189,248,.25);color:#fff;transform:translateX(3px)}.main{margin-left:270px;width:calc(100% - 270px);padding:22px}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;background:rgba(18,28,46,.72);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px);border-radius:24px;padding:14px 18px;margin-bottom:18px;box-shadow:var(--shadow)}.topbar h1{margin:0;font-size:25px}.topbar p{margin:4px 0 0;color:var(--muted)}.top-user{display:flex;align-items:center;gap:12px}.mini-link{font-size:12px;color:#fff;background:rgba(239,68,68,.14);border:1px solid rgba(239,68,68,.3);padding:8px 11px;border-radius:999px}.hamburger{display:none;background:#111b2c;border:1px solid var(--line);color:#fff;border-radius:12px;padding:9px 12px}.panel{background:linear-gradient(180deg,rgba(18,28,46,.94),rgba(13,21,36,.94));border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:18px;margin-bottom:18px;box-shadow:var(--shadow)}.panel.narrow{max-width:760px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.panel-head h2{font-size:18px;margin:0}.stats-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat-card{background:linear-gradient(135deg,rgba(56,189,248,.14),rgba(167,139,250,.09));border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:18px;min-height:125px}.stat-card span{color:var(--muted);font-size:13px}.stat-card strong{display:block;font-size:25px;margin:12px 0 8px}.stat-card em{font-style:normal;color:var(--muted);font-size:12px}.danger-glow{box-shadow:0 0 0 1px rgba(239,68,68,.2),0 20px 60px rgba(239,68,68,.08)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid-form{display:grid;gap:13px}.form-row{display:flex;gap:12px;align-items:end}.form-row.wrap{flex-wrap:wrap}.form-row.wrap label{min-width:170px;flex:1}.filter{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.filter input,.filter select{min-width:150px}.btn{border:1px solid rgba(255,255,255,.1);background:#17243a;color:#fff;border-radius:13px;padding:11px 15px;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;font-weight:700}.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#06111f;border:0}.btn.danger{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.32)}.btn.small{font-size:12px;padding:8px 10px;border-radius:10px}.btn.big{font-size:16px;padding:14px 20px}.btn.full{width:100%}.table-wrap{overflow:auto;border:1px solid rgba(255,255,255,.07);border-radius:18px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:13px;border-bottom:1px solid rgba(255,255,255,.07);vertical-align:middle}th{color:#b9c9e2;font-size:12px;text-transform:uppercase;letter-spacing:.04em;background:rgba(255,255,255,.03)}td{color:#e8eefb}small,.muted{color:var(--muted)}.center{text-align:center}.badge{display:inline-flex;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800;border:1px solid rgba(255,255,255,.1)}.badge.paid{background:rgba(34,197,94,.14);color:#86efac;border-color:rgba(34,197,94,.25)}.badge.partial{background:rgba(245,158,11,.14);color:#fde68a;border-color:rgba(245,158,11,.25)}.badge.unpaid{background:rgba(239,68,68,.14);color:#fecaca;border-color:rgba(239,68,68,.25)}.row-danger{background:rgba(239,68,68,.08)}.alert{border-radius:16px;padding:13px 15px;margin-bottom:15px;border:1px solid rgba(255,255,255,.08)}.alert.success{background:rgba(34,197,94,.14);color:#bbf7d0}.alert.danger{background:rgba(239,68,68,.16);color:#fecaca}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.totals-card{margin-top:15px;display:grid;grid-template-columns:180px 180px 1fr 260px;gap:13px;align-items:start}.summary-box{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:14px}.summary-box p{display:flex;justify-content:space-between;margin:5px 0}.kpi-line{margin:-4px 0 12px;color:var(--muted)}.footer{color:var(--muted);font-size:12px;text-align:center;padding:20px}.login-body,.install-body{display:grid;place-items:center;padding:20px}.login-card,.install-card{width:min(520px,100%);background:rgba(18,28,46,.9);border:1px solid rgba(255,255,255,.1);border-radius:28px;padding:28px;box-shadow:var(--shadow)}.install-card{width:min(720px,100%)}.brand-big{font-size:31px;font-weight:900;letter-spacing:-.04em}.brand-big span{background:linear-gradient(135deg,var(--brand),var(--brand2));-webkit-background-clip:text;color:transparent}.login-card form{display:grid;gap:14px;margin-top:20px}.invoice-head{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:18px;margin-bottom:18px}.invoice-meta{display:grid;gap:6px;text-align:right}.invoice-meta strong{font-size:22px;color:var(--brand)}.invoice-customer{background:rgba(255,255,255,.04);padding:14px;border-radius:16px;margin-bottom:15px}.invoice-total{max-width:320px;margin-left:auto;margin-top:15px;background:rgba(255,255,255,.05);border-radius:18px;padding:14px}.invoice-total p{display:flex;justify-content:space-between;margin:7px 0}.note-box{margin-top:15px;background:rgba(56,189,248,.08);border:1px solid rgba(56,189,248,.16);padding:12px;border-radius:14px}@media(max-width:1200px){.stats-grid{grid-template-columns:repeat(3,1fr)}.totals-card{grid-template-columns:1fr 1fr}}@media(max-width:860px){.sidebar{transform:translateX(-100%);z-index:20;transition:.2s}.sidebar-open .sidebar{transform:translateX(0)}.main{margin-left:0;width:100%;padding:14px}.hamburger{display:block}.topbar{height:auto}.grid-2,.stats-grid,.totals-card{grid-template-columns:1fr}.panel-head{align-items:flex-start;flex-direction:column}.form-row{display:grid}.form-row.wrap label{min-width:0}.top-user{display:none}}@media print{body{background:#fff;color:#000}.sidebar,.topbar,.footer,.no-print{display:none!important}.main{margin:0;width:100%;padding:0}.panel{box-shadow:none;border:0;background:#fff;color:#000}.table-wrap{border:1px solid #ddd}table{min-width:0}th,td{color:#000;border-color:#ddd}.invoice-total,.invoice-customer{background:#f6f6f6}.app-shell{display:block}}
.mini-preview{align-self:end;background:#0b1220;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:8px;max-width:120px}.mini-preview img{width:100%;height:72px;object-fit:cover;border-radius:10px}.inline-form{display:inline-flex;gap:8px;align-items:center}.inline-form select{min-width:150px;padding:8px;border-radius:9px}.grid-form .full,.form-row .full{grid-column:1/-1}.print-area h3{margin-top:22px}@media print{.sidebar,.topbar,.btn,.alert{display:none!important}.main{margin:0!important;padding:0!important}.panel{box-shadow:none!important;border:0!important}.app-shell{display:block!important}body{background:#fff!important;color:#111!important}}
