:root{--text:#1f2430;--text-muted:#6b7280;--bg:#f4f5f7;--card-bg:#fff;--border:#e2e4e9;--accent:#2563eb;--accent-hover:#1d4ed8;--danger:#dc2626;--success:#16a34a;color:var(--text);background:var(--bg);font:16px/1.4 system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}button{cursor:pointer;font:inherit;border:1px solid var(--border);background:var(--card-bg);border-radius:6px;padding:8px 14px}button:disabled{opacity:.5;cursor:not-allowed}input{font:inherit;border:1px solid var(--border);border-radius:6px;width:100%;padding:8px 10px}label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:14px;display:flex}.error-text{color:var(--danger);font-size:14px}.success-text{color:var(--success);font-weight:600}.loading-screen{justify-content:center;align-items:center;height:100vh;font-size:20px;display:flex}.login-page{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;width:340px;padding:32px;display:flex}.login-card h1{margin:0;font-size:22px}.login-card .subtitle{color:var(--text-muted);margin-bottom:8px}.login-card form{flex-direction:column;gap:12px;display:flex}.login-card button[type=submit]{background:var(--accent);color:#fff;border:none;padding:10px;font-weight:600}.login-card button[type=submit]:hover{background:var(--accent-hover)}.google-btn{width:100%}.link-btn{color:var(--accent);background:0 0;border:none;padding:4px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--card-bg);border-bottom:1px solid var(--border);align-items:center;gap:20px;padding:12px 20px;display:flex}.topbar .brand{font-weight:700}.topbar a{color:var(--text-muted);border-radius:6px;padding:6px 10px;text-decoration:none}.topbar a.active{color:var(--accent);background:#2563eb1a}.topbar .spacer{flex:1}.topbar .user-email{color:var(--text-muted);font-size:14px}main{flex:1;padding:20px}.page{max-width:1000px;margin:0 auto}.tabla{border-collapse:collapse;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;width:100%;overflow:hidden}.tabla th,.tabla td{text-align:left;border-bottom:1px solid var(--border);padding:8px 12px}.tabla .stock-cero{color:var(--danger);font-weight:700}.total{margin:12px 0;font-size:18px;font-weight:700}.producto-form{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;margin-bottom:24px;padding:16px;display:flex}.form-row{gap:12px;display:flex}.form-row>label{flex:1}.form-actions{gap:8px;display:flex}.venta-page{grid-template-columns:1fr 1fr;gap:24px;max-width:1200px;display:grid}@media (width<=800px){.venta-page{grid-template-columns:1fr}}.busqueda-input{padding:12px;font-size:18px}.resultados{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.resultados button{text-align:left;justify-content:space-between;width:100%;padding:10px 12px;display:flex}.cobro-panel{background:var(--card-bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;margin-top:16px;padding:16px;display:flex}.cobro-panel label{flex-direction:row;align-items:center;gap:8px}.cobrar-btn{background:var(--success);color:#fff;border:none;padding:14px;font-size:18px;font-weight:700}
