:root{--bg:#f4f6f8;--card:#fff;--text:#17202a;--muted:#6b7280;--primary:#1769e0;--danger:#d93025;--border:#e5e7eb;--sidebar:#152238}
*{box-sizing:border-box}body{margin:0;font-family:Arial,"Helvetica Neue",sans-serif;background:var(--bg);color:var(--text)}
.topbar{height:58px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:fixed;top:0;left:0;right:0;z-index:20}.brand{font-weight:800}.menu-btn{display:none;border:0;background:none;font-size:26px}
.sidebar{position:fixed;top:58px;bottom:0;left:0;width:220px;background:var(--sidebar);padding:16px 10px;z-index:15}.sidebar a{display:block;color:#fff;text-decoration:none;padding:13px 14px;border-radius:8px;margin:3px 0}.sidebar a:hover{background:rgba(255,255,255,.1)}
.main{margin-left:220px;padding:84px 24px 40px}.main-login{margin-left:0;display:flex;justify-content:center}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:18px;box-shadow:0 2px 8px rgba(0,0,0,.04)}h1{margin-top:0}.mt{margin-top:18px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stat b{display:block;font-size:30px;margin-top:8px}.small-stat{font-size:18px!important}.big-money{font-size:34px;font-weight:800}.balance{display:flex;justify-content:space-between;align-items:center;font-size:22px}.balance b{font-size:32px}
.login-card{width:min(420px,94vw);margin-top:80px}.login-card label,.form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700}.login-card input,.form-grid input,.form-grid select,select,input{padding:11px;border:1px solid #cbd5e1;border-radius:8px;font-size:16px}.login-card label{margin-top:14px}.login-card button{margin-top:18px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-grid.compact{grid-template-columns:repeat(4,1fr)}.full-row{grid-column:1/-1}
.btn{display:inline-block;border:1px solid #cbd5e1;background:#fff;color:#111827;border-radius:8px;padding:9px 13px;text-decoration:none;cursor:pointer}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.danger{background:#fff;color:var(--danger);border-color:#f2b8b5}.btn.small{padding:6px 9px;font-size:13px}.btn.big{font-size:18px;padding:13px 20px}.btn.full{width:100%}.actions,.actions-row{display:flex;gap:8px;align-items:center}.actions form{display:inline}.page-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.page-head p{color:var(--muted)}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--border);vertical-align:middle}th{background:#f8fafc}.totals td{font-size:18px}.stock-big{font-size:20px;font-weight:800}.empty{text-align:center;color:var(--muted);padding:28px}.warn{color:#b45309;font-weight:700}.inline-form{display:flex;gap:8px;align-items:center}.price-box{max-width:170px}.alert{padding:12px 15px;border-radius:8px;margin-bottom:15px}.alert.success{background:#dcfce7}.alert.danger{background:#fee2e2}.alert.warning,.warning{background:#fff7ed}.mini-table>div{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--border)}
.receipt{max-width:900px;margin:auto}.receipt h1{text-align:center}.receipt-meta{margin:18px 0}.receipt table{min-width:0}
@media(max-width:900px){.menu-btn{display:block}.sidebar{transform:translateX(-100%);transition:.2s}.menu-open .sidebar{transform:translateX(0)}.main{margin-left:0;padding:78px 12px 30px}.grid4{grid-template-columns:1fr 1fr}.grid2{grid-template-columns:1fr}.form-grid,.form-grid.compact{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.table-wrap{padding:8px}.receipt{padding:12px}.receipt table{font-size:13px}.receipt th,.receipt td{padding:8px 5px}}
@media(max-width:520px){.grid4{grid-template-columns:1fr}.stat b{font-size:26px}.brand{font-size:14px}}
@media print{.topbar,.sidebar,.no-print,.alert{display:none!important}.main{margin:0;padding:0}.receipt{border:0;box-shadow:none;max-width:none}body{background:#fff}}
