:root{--bg:#f4f8fb;--primary:#0b73d9;--dark:#0f172a;--muted:#64748b;--card:#fff;--green:#16a34a;--red:#dc2626;--orange:#f97316}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--dark)}a{text-decoration:none;color:inherit}.login-body{min-height:100vh;background:linear-gradient(135deg,#07142d,#0b73d9);display:grid;place-items:center;padding:20px}.login-wrap{display:grid;grid-template-columns:1fr 420px;gap:35px;max-width:980px;width:100%;align-items:center}.login-brand{color:white}.logo{width:88px;height:88px;border-radius:26px;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:34px;font-weight:800;box-shadow:0 20px 60px rgba(0,0,0,.25)}.login-brand h1{font-size:48px;margin:22px 0 8px}.login-brand p{font-size:20px;opacity:.85}.login-card{background:white;border-radius:28px;padding:34px;box-shadow:0 25px 80px rgba(0,0,0,.28)}.login-card h2{margin:0 0 6px;font-size:30px}.login-card p{color:var(--muted);margin-top:0}.login-card label{display:block;margin:16px 0 7px;font-weight:700}.login-card input,.form input,.form select,.form textarea{width:100%;padding:12px 14px;border:1px solid #dbe3ef;border-radius:12px;background:#fff;font-size:15px}.login-card button,.btn{display:inline-block;border:0;border-radius:12px;background:var(--primary);color:#fff;padding:12px 18px;font-weight:800;cursor:pointer}.login-card button{width:100%;margin-top:22px}.hint{margin-top:16px;color:var(--muted);font-size:13px}.alert{background:#fee2e2;color:#991b1b;border-radius:12px;padding:10px;margin:12px 0}.app{display:flex;min-height:100vh}.sidebar{width:270px;background:#0f172a;color:#cbd5e1;padding:20px;position:fixed;inset:0 auto 0 0;overflow:auto}.brand{display:flex;gap:12px;align-items:center;color:white;margin-bottom:24px}.brand .mark{width:44px;height:44px;background:var(--primary);border-radius:14px;display:grid;place-items:center;font-weight:900}.nav a{display:block;padding:12px 14px;border-radius:12px;margin:4px 0;color:#cbd5e1}.nav a:hover,.nav a.active{background:#1e293b;color:white}.main{margin-left:270px;width:calc(100% - 270px);padding:24px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.topbar h1{margin:0;font-size:28px}.user-chip{background:#fff;border-radius:14px;padding:10px 14px;box-shadow:0 6px 20px rgba(15,23,42,.06)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:var(--card);border-radius:20px;padding:18px;box-shadow:0 8px 25px rgba(15,23,42,.06);border:1px solid #eaf0f7}.metric .label{color:var(--muted);font-size:13px}.metric .value{font-size:28px;font-weight:900;margin-top:8px}.section{margin-top:18px}.table-wrap{overflow:auto;background:white;border-radius:18px;box-shadow:0 8px 25px rgba(15,23,42,.06)}table{width:100%;border-collapse:collapse;min-width:850px}th,td{padding:13px 14px;border-bottom:1px solid #eef2f7;text-align:left;font-size:14px}th{background:#f8fafc;color:#475569}.actions a{color:var(--primary);font-weight:700;margin-right:10px}.badge{padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;background:#e0f2fe;color:#075985}.badge.green{background:#dcfce7;color:#166534}.badge.red{background:#fee2e2;color:#991b1b}.form{background:#fff;border-radius:20px;padding:20px;box-shadow:0 8px 25px rgba(15,23,42,.06);display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form .full{grid-column:1/-1}.btn.secondary{background:#334155}.btn.print{background:var(--green)}.quick{display:flex;gap:10px;flex-wrap:wrap}.chart{height:220px;background:linear-gradient(135deg,#e0f2fe,#fff);border-radius:18px;display:flex;align-items:end;gap:10px;padding:20px}.bar{flex:1;background:var(--primary);border-radius:10px 10px 0 0;min-height:35px}.receipt{max-width:360px;background:white;margin:auto;padding:22px;border:1px dashed #94a3b8}.receipt h2{text-align:center;margin:0 0 12px}@media print{.sidebar,.topbar,.no-print{display:none}.main{margin:0;width:100%;padding:0}.receipt{border:0}}@media(max-width:900px){.login-wrap{grid-template-columns:1fr}.sidebar{position:relative;width:100%;height:auto}.app{display:block}.main{margin-left:0;width:100%}.grid{grid-template-columns:repeat(2,1fr)}.form{grid-template-columns:1fr}}@media(max-width:560px){.grid{grid-template-columns:1fr}.login-card{padding:24px}.login-brand h1{font-size:34px}.main{padding:14px}.topbar{display:block}.user-chip{margin-top:10px}}
