*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#0b0b1a;color:#e8e9f5;font-family:Inter,system-ui,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}h1{font-size:2.4rem;margin:.2em 0 .6em}h3{margin-top:0}.muted{color:#8e91b5;font-size:.9rem}.grad{background:linear-gradient(90deg,#a78bfa,#38bdf8,#f0abfc);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:700}.blob{position:fixed;border-radius:50%;filter:blur(90px);opacity:.45;z-index:-1;animation:drift 18s ease-in-out infinite alternate}.b1{width:420px;height:420px;background:#6d28d9;top:-100px;left:-100px}.b2{width:380px;height:380px;background:#0ea5e9;bottom:-80px;right:-80px;animation-delay:-6s}.b3{width:300px;height:300px;background:#db2777;top:40%;left:50%;opacity:.25;animation-delay:-12s}@keyframes drift{to{transform:translate(120px,80px) scale(1.2)}}.glass{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(16px);border-radius:18px}nav{display:flex;gap:6px;align-items:center;margin:16px auto;max-width:1100px;padding:10px 18px;position:sticky;top:12px;z-index:10;flex-wrap:wrap}nav a{padding:8px 14px;border-radius:12px;transition:.25s}nav a:hover,nav a.on{background:#a78bfa40}nav .logo{display:flex;align-items:center;gap:10px;padding:4px 14px;margin-right:auto;font-size:1rem;font-weight:800}nav .logo:before{content:"";display:block;flex:none;width:40px;height:40px;background:url("./media/logo-4MFXMUIO.PNG") center/contain no-repeat}main{max-width:1100px;margin:0 auto;padding:0 18px 60px}.page{display:block;animation:up .6s cubic-bezier(.2,.8,.2,1) both}@keyframes up{0%{opacity:0;transform:translateY(24px)}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.stat{padding:18px;animation:up .6s both;animation-delay:calc(var(--i)*90ms);transition:.3s}.stat:hover{transform:translateY(-6px);box-shadow:0 12px 40px #a78bfa4d}.stat span{color:#8e91b5;font-size:.85rem}.stat b{display:block;font-size:1.9rem;margin-top:6px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 8px}.btn{border:0;cursor:pointer;color:#fff;background:linear-gradient(135deg,#7c3aed,#0ea5e9);padding:10px 18px;border-radius:12px;font-size:.95rem;transition:.25s;display:inline-block}.btn:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 8px 24px #7c3aed80}.btn.ghost{background:#ffffff14}.btn.danger{background:#be123c}.btn.off{opacity:.4;cursor:not-allowed}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}@media(max-width:760px){.two{grid-template-columns:1fr}}.pad{padding:20px;margin-bottom:14px}.donutwrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.donut{width:170px}.seg{animation:draw 1.4s cubic-bezier(.2,.8,.2,1) both}@keyframes draw{0%{stroke-dasharray:0 314.16}}.legend{list-style:none;padding:0;margin:0}.legend li{margin:6px 0;text-transform:capitalize}.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px}.legend b{margin-left:8px;color:#a78bfa}.row{display:flex;align-items:center;gap:12px;padding:8px 0;animation:up .5s both;animation-delay:calc(var(--i)*.12s+.3s)}.row img{width:44px;border-radius:5px}.row div{flex:1}.row small{display:block;color:#8e91b5}.row em{font-style:normal;color:#38bdf8;font-weight:700}.strip{display:flex;gap:12px;overflow-x:auto;padding:8px 4px}.strip img{height:150px;border-radius:9px}.tilt{animation:up .5s both;animation-delay:calc(var(--i)*50ms);transition:transform .3s,box-shadow .3s}.tilt:hover{transform:translateY(-8px) rotate(-1.5deg) scale(1.04);box-shadow:0 18px 40px #0009,0 0 30px #a78bfa66}.filters{display:flex;gap:10px;padding:12px;margin-bottom:18px;flex-wrap:wrap}.filters input{flex:1;min-width:200px}input,select{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fff;padding:10px 12px;border-radius:10px;font:inherit}select option{color:#000}input:focus,select:focus{outline:2px solid #7c3aed}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.card{position:relative;cursor:pointer;border-radius:12px}.card img{width:100%;border-radius:12px;display:block;min-height:120px;background:#1a1a30}.cap{padding:6px 2px}.cap b{display:block;font-size:.88rem}.cap small{color:#8e91b5}.qty{position:absolute;top:8px;right:8px;background:#7c3aed;border-radius:999px;padding:2px 10px;font-weight:700;font-size:.85rem}.foilb{position:absolute;top:8px;left:8px}.table{padding:8px;overflow-x:auto}.trow{display:grid;grid-template-columns:44px 2fr 2fr 80px 60px 90px;gap:10px;align-items:center;padding:8px;border-radius:10px;cursor:pointer;animation:up .4s both;animation-delay:calc(var(--i)*30ms);transition:.2s;min-width:600px}.trow:hover{background:#ffffff14}.trow img{width:40px;border-radius:4px}.trow em{font-style:normal;color:#38bdf8;text-align:right}.modal{position:fixed;inset:0;background:#05050fbf;backdrop-filter:blur(6px);display:grid;place-items:center;z-index:50;animation:fade .25s;padding:16px;overflow:auto}@keyframes fade{0%{opacity:0}}.sheet{display:flex;gap:24px;padding:24px;max-width:820px;width:100%;animation:pop .4s cubic-bezier(.2,1.4,.4,1)}@keyframes pop{0%{transform:scale(.8);opacity:0}}.sheet>img{width:280px;max-width:40%;border-radius:14px;align-self:flex-start}.info{flex:1}.oracle{white-space:pre-line;background:#00000040;padding:10px;border-radius:10px}@media(max-width:640px){.sheet{flex-direction:column;align-items:center}.sheet>img{max-width:60%}}.add-modal{padding:20px;place-items:center;overflow:auto}.add-modal .add-sheet{width:min(96vw,1200px);max-width:1200px;height:auto;min-height:min(80dvh,760px);max-height:calc(100dvh - 40px);overflow-y:auto;align-items:stretch;gap:32px;padding:32px}.add-modal .add-sheet>img{width:42%;max-width:42%;max-height:calc(100dvh - 96px);object-fit:contain;align-self:center}.add-modal .info{display:flex;flex-direction:column;justify-content:center;min-width:0}.add-modal .info label input,.add-modal .info label select{width:100%;min-width:0}@media(max-width:640px){.add-modal{padding:12px}.add-modal .add-sheet{width:90vw;height:auto;min-height:min(500px,calc(100dvh - 24px));max-height:calc(100dvh - 24px);flex-direction:column;align-items:stretch;gap:12px;padding:16px}.add-modal .add-sheet>img{width:auto;max-width:min(60%,220px);max-height:36dvh;align-self:center}.add-modal .add-sheet .fgrid{gap:6px}.add-modal .add-sheet .qtyrow{flex-wrap:wrap}}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:12px 0}.kv span{color:#8e91b5}.qtyrow{display:flex;gap:10px;align-items:center;margin-top:14px}.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:#a9acd1}.chk{flex-direction:row;align-items:center;color:#fff}.empty{text-align:center;padding:40px;margin:20px 0}.float{font-size:3.5rem;animation:float 3s ease-in-out infinite}@keyframes float{50%{transform:translateY(-14px) rotate(6deg)}}.spinner{width:36px;height:36px;border:4px solid rgba(255,255,255,.15);border-top-color:#a78bfa;border-radius:50%;animation:spin .8s linear infinite;margin:20px auto}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);background:#16a34a;padding:12px 22px;border-radius:999px;z-index:99;animation:up .4s both}.avatar{width:34px;height:34px;border-radius:50%;margin:0 6px 0 10px;border:2px solid #a78bfa;animation:pop .5s both}nav .btn{padding:6px 12px}.login{max-width:440px;margin:8vh auto;padding:40px 30px;text-align:center;position:relative;overflow:hidden}.login h1{margin:.1em 0}.login .float{width:96px;height:96px;margin:0 auto 8px;font-size:0;background:url("./media/logo-4MFXMUIO.PNG") center/contain no-repeat;animation:none}.gbtn{display:flex;justify-content:center;margin:26px 0 10px;min-height:44px}.warn{color:#fbbf24;font-size:.85rem}code{background:#00000059;padding:2px 6px;border-radius:6px}.orbit{display:flex;justify-content:center;gap:14px;margin-top:22px}.orbit i{font-style:normal;font-size:1.6rem;animation:float 2.4s ease-in-out infinite}.orbit i:nth-child(2){animation-delay:.3s}.orbit i:nth-child(3){animation-delay:.6s}.orbit i:nth-child(4){animation-delay:.9s}.orbit i:nth-child(5){animation-delay:1.2s}.seg2{display:flex;background:#ffffff12;border-radius:12px;padding:4px;margin:18px 0 12px}.seg2 button{flex:1;border:0;background:none;color:#a9acd1;padding:9px;border-radius:9px;cursor:pointer;font:inherit;transition:.25s}.seg2 button.on{background:linear-gradient(135deg,#7c3aed,#0ea5e9);color:#fff}.authform{display:flex;flex-direction:column;gap:10px;text-align:left}.authform input{width:100%}.authform .btn{padding:12px}.authform .btn:disabled{opacity:.6}.err{color:#fb7185;font-size:.85rem;margin:0}.or{display:flex;align-items:center;gap:12px;color:#8e91b5;margin:18px 0 6px;font-size:.85rem}.or:before,.or:after{content:"";flex:1;height:1px;background:#ffffff1f}.avatar.ini{display:inline-grid;place-items:center;background:linear-gradient(135deg,#7c3aed,#0ea5e9);font-weight:700}.cam{position:relative;display:block;width:min(100%,440px);margin:0 auto 12px;overflow:hidden;background:#000;border-radius:18px}.cam video{display:block;width:100%;height:100%;object-fit:cover}.cam .guide{position:absolute;left:50%;top:10%;transform:translate(-50%);border:2px dashed rgba(255,255,255,.75);border-radius:12px;pointer-events:none}.cam .zone{position:absolute;left:5%;top:3.5%;width:75%;height:8.5%;border:2px solid #38bdf8;border-radius:6px;background:#38bdf81f;display:flex;align-items:center;padding-left:6px}.cam .zone em{font-size:.7rem;color:#bae6fd}.cam .line{position:absolute;left:0;right:0;top:50%;height:2px;background:linear-gradient(90deg,transparent,#a78bfa,transparent);opacity:.6}.cam .warn{margin:0}.scanning{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#0b0b1abf;text-align:center;padding:12px;font-size:.9rem}.tip{margin:0 0 6px;text-align:center}.cam+.tip{max-width:440px;margin-left:auto;margin-right:auto}.found{display:flex;gap:20px;flex-wrap:wrap;align-items:flex-start}.found>img{width:min(100%,240px);border-radius:14px;margin:0 auto}.found .info{flex:1;min-width:220px}@media(max-width:640px){.scan-page h1{font-size:1.55rem;margin:.05em 0 .3em}.scan-page h1 small{font-size:.72rem}.scan-page .cam{width:var(--mobile-camera-width,270px);height:var(--mobile-camera-height,360px);margin-bottom:8px}.scan-page .tip{font-size:.75rem;line-height:1.25;margin-bottom:4px}.scan-page .actions{justify-content:center;gap:8px;margin:8px 0 6px}.scan-page .actions .btn{padding:9px 12px;font-size:.85rem}}
