:root{--bg: #000;--card: rgba(15, 17, 23, .55);--muted: #a1a8b3;--text: #e6e9ef;--heading: #ffffff;--primary: #7b61ff;--accent: #00e5ff;--danger: #ff6b6b;--border: rgba(255,255,255,.08);--accent-green: #ffac24;--glow: none}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Arial;background:var(--bg);color:var(--text)}.page{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden;background:var(--bg)}.page>.container{flex:1 0 auto}.container{width:100%;max-width:1100px;position:relative;z-index:2;margin:0 auto;padding:48px 24px}.grid-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}.hero-left{color:var(--text)}.hero-right{max-width:420px;justify-self:end;width:100%}.auth-wrapper{min-height:calc(100vh - 272px);display:grid;place-items:center}.auth-wrapper .hero-right{justify-self:center}.headline{margin:0 0 16px;font-size:2rem;line-height:1.22;font-weight:700;color:var(--accent-green)}.headline strong{color:var(--accent-green);font-weight:800}.astro{width:100%;max-width:330px;height:auto;display:block}@media (max-width: 1024px){.grid-hero{grid-template-columns:1fr;gap:28px}.hero-right{justify-self:center}.headline{text-align:center}.astro{width:60%;margin:0 auto}}@media (max-width: 520px){.user-menu{position:fixed;top:0;left:0;right:0;bottom:0;border-radius:0;border:none;padding:18px;display:flex;flex-direction:column;gap:10px;background:#000!important;z-index:3000;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.tabs{gap:6px}.card{border-radius:14px}.card-actions button{width:100%}}.brand{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:18px}.logo{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--primary),var(--accent));display:grid;place-items:center;font-weight:800;color:#000;letter-spacing:1px;box-shadow:var(--glow)}.title{margin:0;text-align:center;font-weight:800;letter-spacing:.5px;color:var(--heading)}.tabs{display:flex;gap:8px;margin:20px 0;background:#ffffff08;padding:6px;border-radius:12px;border:1px solid var(--border)}.tabs button{flex:1;padding:10px 12px;background:transparent;color:var(--muted);border:none;border-radius:10px;cursor:pointer;transition:.18s}.tabs button.active{color:var(--heading);background:#ffffff0f;box-shadow:inset 0 0 0 1px var(--border)}.hero-decor:before,.hero-decor:after{content:"";position:absolute;inset:-20% -10% auto -10%;height:60%;background:radial-gradient(600px 300px at 20% 10%,rgba(123,97,255,.25),transparent 60%),radial-gradient(700px 360px at 80% 20%,rgba(0,229,255,.25),transparent 60%);filter:blur(40px);z-index:0;pointer-events:none}.hero-decor:after{inset:auto -10% -20% -10%;height:60%;background:radial-gradient(500px 260px at 20% 90%,rgba(123,97,255,.18),transparent 60%),radial-gradient(700px 360px at 80% 80%,rgba(0,229,255,.18),transparent 60%);pointer-events:none}.card{background:var(--card);border:1px solid var(--border);border-radius:18px;overflow:hidden;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.card-title{padding:16px 18px;font-weight:700;border-bottom:1px solid var(--border);color:var(--heading)}.card-body{display:grid;gap:12px;padding:18px}.card-body form{display:grid;gap:12px}.rich-editor{display:block;position:relative;z-index:1}.rich-editor .ql-toolbar{border-color:var(--border);background:#ffffff05;border-top-left-radius:10px;border-top-right-radius:10px}.rich-editor .ql-container{border-color:var(--border);border-bottom-left-radius:10px;border-bottom-right-radius:10px;background:#0a0a0c99}.rich-editor .ql-editor{min-height:140px}.rich-editor .ql-picker{color:var(--text)}.rich-editor .ql-toolbar .ql-stroke{stroke:var(--text)}.rich-editor .ql-toolbar .ql-fill{fill:var(--text)}.detail-description *{color:inherit}.file-preview{margin-top:6px}.file-preview img{max-width:220px;max-height:160px;width:auto;height:auto;border-radius:8px;display:block;border:1px solid var(--border)}.pdf-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:#ffffff08;color:var(--text);text-decoration:none}.pdf-chip i{color:#ff6b6b}.row-2{display:grid;grid-template-columns:1fr;gap:12px}.card-body label{color:var(--muted);font-size:.9rem;display:block}.card-body input{width:100%;display:block;padding:12px 14px;background:#0a0a0c99;color:var(--text);border:1px solid var(--border);border-radius:10px;outline:none;transition:.18s}.card-body input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #00e5ff2e}.card-body .card-actions{padding:0;border-top:none;justify-content:flex-end;margin-top:16px}.field{display:grid;gap:6px}.card-actions{padding:14px 18px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:8px}.card-actions button{background:var(--accent-green);border:none;color:#001b12;font-weight:800;padding:12px 16px;border-radius:10px;cursor:pointer;letter-spacing:1.2px;text-transform:uppercase}.card-actions button:hover{filter:brightness(1.03)}.card-actions .link-btn{background:transparent;color:var(--muted);font-weight:600;text-transform:none;letter-spacing:0;padding:0 8px;border-radius:6px}.card-actions .link-btn:hover{text-decoration:underline;filter:none}.btn-tarja{display:block;width:100%;background:var(--accent-green);color:#000;font-weight:900;text-align:center;padding:14px 16px;border-radius:10px;border:none;cursor:pointer;letter-spacing:.8px;text-transform:uppercase}.btn-tarja:hover{filter:brightness(1.05)}.error{color:var(--danger);font-size:.92rem}.info{color:var(--accent-green);font-size:.92rem}.me-name{font-size:1.15rem;font-weight:700}.me-email{color:var(--muted)}.topbar{position:fixed;top:0;left:0;right:0;z-index:100;background:#0009;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-inner{display:flex;align-items:center;justify-content:space-between;height:112px;padding:0 24px;max-width:1200px;margin:0 auto}.page{padding-top:112px}.brand-left{display:flex;align-items:center;gap:12px;cursor:pointer}.topbar-logo{display:none}.brand-name{font-size:1.36rem;font-weight:400;color:var(--heading);letter-spacing:.2px}.brand-name,.footer-brand{font-family:Yeseva One,Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Arial;letter-spacing:.2px}.menu{display:flex;align-items:center;gap:14px}.menu a,.menu .menu-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:10px;color:var(--text);text-decoration:none;border:1px solid transparent;background:transparent;cursor:pointer}.menu a:hover,.menu .menu-btn:hover{background:#ffffff0f;border-color:var(--border)}.menu i{color:var(--accent-green)}.user-menu-container{position:relative}.user-menu-trigger{font-weight:800}.user-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;display:grid;gap:4px;background:#000;border:1px solid var(--border);border-radius:12px;padding:10px;z-index:300;box-shadow:0 6px 24px #0006;backdrop-filter:none;-webkit-backdrop-filter:none}.user-menu a,.user-menu button{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--text);text-decoration:none;cursor:pointer}.user-menu a:hover,.user-menu button:hover{background:#ffffff0f;border-color:var(--border)}.user-menu .close-btn{position:absolute;top:8px;right:8px;padding:6px;border-radius:8px}.user-menu i{color:var(--accent-green)}.user-menu .link-danger,.user-menu .link-danger i{color:var(--danger)!important}@media (max-width: 720px){.user-menu{position:fixed;top:0;left:0;right:0;bottom:0;border-radius:0;border:none;padding:18px;display:flex;flex-direction:column;gap:10px;background:#000;z-index:2000}.user-menu .close-btn{position:absolute;top:16px;right:16px;background:#ffffff0f;border:1px solid var(--border)}.user-menu a,.user-menu button{padding:16px;font-size:1.1rem;border-radius:12px}}@media (max-width: 720px){.topbar-inner{height:96px}.brand-name,.menu span{display:none}.page{padding-top:96px}}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.product-card .price{color:var(--accent-green);font-weight:900;font-size:1.28rem;text-align:center;letter-spacing:.3px;margin-bottom:2px}.link-danger{background:transparent;color:var(--danger);font-weight:700;border:none;padding:0;cursor:pointer}.link-danger i{margin-right:6px}.card-actions .link-danger{background:transparent!important;border:none!important;color:var(--danger)!important;padding:0!important}.icon-btn{background:transparent!important;border:none!important;padding:8px!important;border-radius:10px;cursor:pointer}.actions-row{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.actions-row .spacer{flex:1}.toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{position:absolute;opacity:0;pointer-events:none}.toggle .track{width:44px;height:24px;background:#ffffff2e;border:1px solid var(--border);border-radius:999px;transition:background .16s ease,border-color .16s ease;position:relative}.toggle .thumb{position:absolute;top:50%;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transform:translateY(-50%);transition:transform .16s ease;box-shadow:0 2px 6px #00000059}.toggle input:checked+.track{background:#2e7d32;border-color:#1b5e20}.toggle input:checked+.track .thumb{transform:translate(20px,-50%)}.toggle.block-toggle input:checked+.track{background:#c62828;border-color:#8e0000}.product-card .actions-split{display:grid;grid-template-columns:1fr 1fr;align-items:center;text-align:center;border-top:1px solid var(--border)}.product-card .actions-split>div{padding:6px 0}.product-card .actions-split>div+div{border-left:1px solid var(--border)}.product-card .media{position:relative}.product-card .media-link{display:block;position:relative}.product-card .media-overlay{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;background:#00000059;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-top:1px solid rgba(255,255,255,.06)}.product-card .media-title{font-weight:800;font-size:.95rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-card .media img{transition:transform .22s ease;will-change:transform}.product-card:hover .media img{transform:scale(1.05)}.tooltip{position:relative;display:inline-block}.tooltip .tooltip-content{position:absolute;top:-36px;left:50%;transform:translate(-50%);background:#000000d9;color:#fff;padding:6px 10px;border-radius:8px;font-size:12px;white-space:nowrap;border:1px solid var(--border);opacity:0;pointer-events:none;transition:opacity .16s ease}.tooltip.show .tooltip-content{opacity:1}.toast-container{position:fixed;top:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:1000;align-items:flex-end}.toast{display:flex;align-items:center;gap:10px;min-width:280px;max-width:420px;border-radius:6px;padding:10px 12px;font-weight:600;box-shadow:0 3px 14px #00000040;border:1px solid transparent}.toast .toast-icon{font-size:16px}.toast .toast-message{flex:1}.toast .toast-close{background:transparent;border:0;color:inherit;cursor:pointer;padding:2px;line-height:1;opacity:.9}.toast .toast-close:hover{opacity:1}.toast-success{background:#2e7d32;border-color:#1b5e20;color:#fff}.toast-error{background:#c62828;border-color:#8e0000;color:#fff}.toast-info{background:#1976d2;border-color:#0d47a1;color:#fff}@media (max-width: 520px){.product-grid{grid-template-columns:repeat(2,1fr)}}.user-menu span{display:inline!important}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;display:grid;place-items:center;z-index:2000}.modal-card{width:min(720px,92vw);max-height:86vh;overflow:auto}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}.detail-image{display:grid;place-items:center}.detail-image img{width:100%;max-width:520px;border-radius:10px;display:block;margin:0 auto}.detail-side{display:grid;gap:16px;align-content:start;grid-template-rows:auto auto 1fr auto;height:100%}.detail-price{color:var(--accent-green);font-weight:900;font-size:3.2rem;line-height:1.1;margin-bottom:12px}.detail-description{margin-top:10px}.detail-actions-desktop{display:grid;gap:12px}.fav-floating{justify-self:end}.fav-floating i{font-size:28px;color:#ff6b6b}.detail-brief{color:var(--muted);font-size:.95rem;text-align:center;margin-bottom:12px}.detail-ctas{display:grid;gap:10px;justify-items:stretch;margin-top:auto}.btn-link-lg{background:transparent;border:none;color:#fff;text-decoration:underline;font-weight:800;font-size:1.05rem;text-align:center;padding:8px 0;cursor:pointer;width:100%}.btn-link-lg:hover{opacity:.9}.btn-buy{background:var(--accent-green);color:#001b12;font-weight:900;border:none;border-radius:10px;padding:12px 16px;cursor:pointer;letter-spacing:.8px;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%}.btn-buy i{font-size:16px}.btn-buy:hover{filter:brightness(1.05)}.detail-actions-inline{display:none!important;gap:8px}@media (max-width: 820px){.detail-grid{grid-template-columns:1fr}.detail-image img{max-width:100%}.detail-actions-desktop{display:grid}}@media (min-width: 821px){.detail-image img{max-width:260px}}.footer{border-top:1px solid var(--border);background:#0006;margin-top:auto}.footer-inner{max-width:1100px;margin:0 auto;padding:20px 24px;display:grid;grid-template-columns:20% 1fr 30%;gap:18px;align-items:start}.footer-col{min-width:0}.footer-logo{width:100%;max-width:160px;height:auto;display:block;border-radius:0;border:none;background:transparent}.footer-title{color:var(--heading);margin-bottom:8px}.footer-text{margin:0;color:var(--muted);line-height:1.5}.social-link{display:inline-flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;border:1px solid var(--border);padding:10px 12px;border-radius:10px;background:#ffffff08;cursor:pointer}.social-link:hover{background:#ffffff0f}.social-link i{color:var(--accent-green)}.footer-link{color:var(--text);text-decoration:underline;display:inline-block;padding:4px 0}.footer-link:hover{opacity:.9}.footer-bottom{border-top:1px solid var(--border);padding:12px 24px;text-align:center;color:var(--muted);font-size:.95rem}@media (max-width: 820px){.footer-inner{grid-template-columns:1fr}.footer-logo{max-width:120px}}
