:root{--bg:#FBFAF7;--surface:#F2F6FE;--border:#E6EBF3;--text:#0E1B3D;--muted:#66728A;--primary:#1E4FD8;--psoft:#E3ECFF;--coral:#FF7A6B;--mint:#3FBF9B}
html,body{background:var(--bg);color:var(--text);font-family:'Plus Jakarta Sans',sans-serif;margin:0;-webkit-font-smoothing:antialiased}
body{background:radial-gradient(1200px 400px at 50% -100px,#EAF1FF 0,transparent 70%),var(--bg)}
.card{background:#fff;border:1px solid var(--border);border-radius:20px;box-shadow:0 1px 2px rgba(14,27,61,.04),0 6px 20px -12px rgba(14,27,61,.12)}
.surface{background:var(--surface);border:1px solid #E1E9F8;border-radius:20px}
.btn{border-radius:14px;font-weight:700;padding:12px 16px;transition:transform .1s,background .15s,box-shadow .15s}
.btn:active{transform:scale(.97)}
.btn-p{background:var(--primary);color:#fff;box-shadow:0 8px 18px -8px rgba(30,79,216,.6)}
.btn-p:disabled{background:#9EB0E0;box-shadow:none}
.btn-s{background:#fff;color:var(--primary);border:1px solid var(--border)}
.btn-soft{background:var(--psoft);color:var(--primary)}
.inp{width:100%;border:1px solid var(--border);border-radius:14px;padding:11px 13px;background:#fff;font-size:15px;outline:none}
.inp:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--psoft)}
.low{background:#FEF9C3 !important;border-color:#EAB308 !important}
.fade{animation:fade .4s ease both}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.muted{color:var(--muted)}
.chip{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;background:#F2F5FA;color:#4A5672}
.noscroll::-webkit-scrollbar{display:none}.noscroll{scrollbar-width:none}
.shelf-wood{background:linear-gradient(#F3DDC0,#E2C29C);height:12px;border-radius:6px;box-shadow:0 6px 10px -4px rgba(120,80,30,.35)}