:root{--nav:#14213d;--blue:#1e5eff;--bg:#f4f7fb;--line:#dde4ee;--text:#182235;--green:#087f5b;--red:#c92a2a}*{box-sizing:border-box}body{margin:0;font:14px Arial,sans-serif;color:var(--text);background:var(--bg)}aside{position:fixed;width:235px;height:100vh;background:var(--nav);padding:25px 14px;color:#fff}.brand{font-size:28px;font-weight:800;letter-spacing:1px;padding:0 11px 30px}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:0;margin-top:4px;color:#b9c7e3}nav a,.logout{display:block;color:#dce6fa;text-decoration:none;padding:12px;border-radius:7px;margin:3px 0}nav a:hover{background:#263b64;color:#fff}.logout{position:absolute;bottom:18px;left:14px;right:14px;background:#263b64}main{margin-left:235px;padding:28px;max-width:1450px}header{display:flex;justify-content:space-between;align-items:start;margin-bottom:22px}h1{font-size:25px;margin:0 0 5px}h2{font-size:17px;margin:0 0 15px}header p,.muted{color:#68758b;margin:0}.role,.tag{font-size:11px;font-weight:bold;padding:6px 9px;border-radius:20px;background:#e5edff;color:#1752ce}.flash,.error{padding:12px 15px;border-radius:7px;margin:0 0 16px;background:#e8f8f2;color:#087f5b}.error{background:#fff0f0;color:var(--red)}.opening{background:#fff8dd;padding:20px;border:1px solid #f1d56f;border-radius:9px;margin-bottom:18px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.cards>div,.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:19px}.cards span{display:block;color:#68758b}.cards strong{display:block;font-size:25px;margin-top:8px}.panel{margin-bottom:18px;overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:#68758b;font-size:12px}td,th{padding:11px 8px;border-bottom:1px solid #edf0f5}a{color:#1752ce}input,select,button{font:inherit;border-radius:6px;padding:10px;border:1px solid #cdd6e4;background:#fff}input:focus,select:focus{outline:2px solid #b9ccff;border-color:var(--blue)}button{background:var(--blue);color:#fff;border:none;cursor:pointer;font-weight:600}button:hover{filter:brightness(.92)}.danger{background:var(--red)}.inline{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.inline input,.inline select{min-width:130px}.tag.low-stock{background:#fff3bf;color:#9c6b00}.tag.out-of-stock{background:#ffe3e3;color:#c92a2a}.bill{display:grid;grid-template-columns:280px 1fr;gap:25px}.customer input,.customer select{display:block;width:100%;margin:0 0 10px}.product{width:100%;text-align:left;background:#f8faff;color:var(--text);border:1px solid var(--line);margin:4px 0;padding:10px}.product small,#cart small{display:block;color:#68758b;margin-top:3px}.total{display:flex;justify-content:flex-end;align-items:center;gap:25px;margin:16px 0}.total strong{font-size:18px}#submit{display:none}.invoice{max-width:700px;margin:auto}.invoice-head{display:flex;justify-content:space-between}.invoice-total{text-align:right;margin-top:18px}.actions{display:flex;gap:10px;justify-content:center}.actions form{margin:0}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#14213d,#2452af)}.login-card{width:min(400px,90vw);background:#fff;border-radius:13px;padding:35px;box-shadow:0 15px 40px #0004}.login-card h1{font-size:22px}.login-card p{color:#68758b}.login-card label{display:block;margin:16px 0}.login-card input,.login-card button{width:100%;margin-top:6px}.login-card small{display:block;color:#68758b;text-align:center;margin-top:18px}.logo{display:inline-grid;place-items:center;width:45px;height:45px;background:var(--blue);color:#fff;font-weight:bold;border-radius:10px;font-size:20px}@media(max-width:750px){aside{position:static;width:auto;height:auto;padding:12px;display:flex;align-items:center;gap:10px}.brand{padding:0;font-size:18px}.brand small{display:none}nav{display:flex;overflow:auto}nav a{white-space:nowrap;padding:7px}.logout{position:static;margin-left:auto}main{margin:0;padding:15px}.cards,.bill{grid-template-columns:1fr}header{margin-top:10px}.cards{grid-template-columns:1fr}.total{align-items:end;flex-direction:column}}
@media print{aside,header,.actions{display:none}main{margin:0;padding:0}.panel{border:0}.invoice{max-width:none}}
