:root{--bg:#071020;--panel:#0d1b32;--line:#1c3459;--text:#f4f8ff;--muted:#8da2c5;--blue:#1673ff;--cyan:#36ddf5;--amber:#ffb020;--red:#ff5e57;--green:#48d597}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Inter,Segoe UI,system-ui,sans-serif}button,input,select{font:inherit}.auth{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 0,#17315c,var(--bg) 50%)}.auth-card{width:min(390px,100%);background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:0 25px 80px #0008}.logo{width:58px;height:58px;display:grid;place-items:center;background:linear-gradient(145deg,var(--cyan),var(--blue));color:#fff;font-size:34px;font-weight:800;clip-path:polygon(50% 0,90% 18%,88% 68%,50% 100%,12% 68%,10% 18%)}.logo.small{width:46px;height:46px;font-size:26px;margin:auto}.overline{text-transform:uppercase;letter-spacing:.14em;color:var(--cyan);font-size:10px;font-weight:800;margin:16px 0 5px}h1,h2,h3,p{margin-top:0}h1{font-size:29px}label{display:block;color:var(--muted);font-size:12px;font-weight:700;margin:15px 0}input,select{display:block;width:100%;margin-top:6px;background:#08152a;color:var(--text);border:1px solid var(--line);border-radius:11px;padding:13px;outline:none}input:focus,select:focus{border-color:var(--blue)}button{border:0;border-radius:11px;padding:13px;background:var(--blue);color:white;font-weight:700;cursor:pointer}.auth form button{width:100%;margin-top:8px}.link{display:block;margin:12px auto 0;background:none;color:var(--cyan);padding:5px}.error{color:var(--red);text-align:center}.round{width:40px;height:40px;padding:0;border:1px solid var(--line);background:var(--panel)}#app{max-width:680px;margin:auto;min-height:100vh;padding-bottom:86px}header{height:78px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:#071020ee;backdrop-filter:blur(10px);z-index:3}header .overline{margin:0}header h2{margin:2px 0 0;font-size:18px}main{padding:18px}.view{display:none}.view.active{display:block}.sync{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;margin-bottom:16px}.sync span:first-child{width:8px;height:8px;border-radius:50%;background:var(--green)}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:25px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:16px}.stat p{color:var(--muted);margin:0 0 7px}.stat strong{font-size:25px}.stat.alert strong{color:var(--amber)}.search-row{display:grid;grid-template-columns:1fr 115px;gap:8px;margin-bottom:15px}.search-row input,.search-row select{margin:0}.cards{display:grid;gap:9px}.card{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:15px}.card-head{display:flex;justify-content:space-between;gap:12px}.card h4{margin:0;font-size:15px}.card p{color:var(--muted);margin:4px 0 0;font-size:12px}.qty{font-size:22px;font-weight:800}.qty.low{color:var(--amber)}.qty.out{color:var(--red)}.card-actions{display:flex;gap:8px;margin-top:13px}.card-actions button{padding:8px 10px;font-size:12px}.secondary{background:transparent;border:1px solid var(--line)}.done{opacity:.5}.section-title{display:flex;justify-content:space-between}.account-card{text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:25px}.account-card hr{border:0;border-top:1px solid var(--line);margin:22px 0}.muted,.hint{color:var(--muted)}code{display:block;word-break:break-all;background:#061126;border:1px solid var(--line);border-radius:9px;padding:10px;margin:10px 0}.account-card button{width:100%}nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(680px,100%);height:72px;display:grid;grid-template-columns:repeat(4,1fr);background:#0a172bea;border-top:1px solid var(--line);backdrop-filter:blur(12px);z-index:4;padding-bottom:env(safe-area-inset-bottom)}nav button{background:none;color:var(--muted);padding:7px 2px;border-radius:0;font-size:10px}nav button span{display:block;font-size:21px;margin-bottom:2px}nav button.active{color:var(--cyan)}#toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%,30px);background:white;color:#071020;padding:10px 15px;border-radius:10px;opacity:0;transition:.2s;font-weight:700;z-index:10}#toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}@media(min-width:700px){body{border-left:1px solid var(--line);border-right:1px solid var(--line)}}
/* Administración */
.notification-preferences{text-align:left;margin-top:22px}.notification-preferences h4{margin:20px 0 8px}.notification-preferences label:has(input[type=checkbox]){display:flex;align-items:center;gap:10px;padding:10px 0;margin:0;border-bottom:1px solid var(--line)}.notification-preferences input[type=checkbox]{display:inline-block;width:18px;height:18px;margin:0;accent-color:var(--blue)}#pushHistory p{padding:10px 0;margin:0;border-bottom:1px solid var(--line)}#pushHistory small{opacity:.8}
.admin-page{max-width:900px;margin:0 auto;padding:32px 18px}.admin-page .account-card{margin-bottom:24px}.admin-page code{display:block;margin-top:16px;padding:16px;font-size:1.15rem;word-break:break-all}
