:root{--danger:#ef4444;--danger-light:#fef2f2;--success:#10b981;--success-light:#ecfdf5}@keyframes slideIn{to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{to{opacity:0;transform:translateY(-10px)}}html{max-width:100vw;overflow-x:hidden}.cart-overlay{z-index:9999;opacity:0;visibility:hidden;background:#0a1f4b1f;width:100vw;height:100vh;transition:opacity .3s,visibility .3s;position:fixed;top:0;left:0}.cart-overlay.active{opacity:1;visibility:visible}.cart-drawer{background:var(--bg-white);border:1px solid var(--border-color);z-index:10000;transform-origin:100% 0;opacity:0;visibility:hidden;pointer-events:none;border-radius:20px;flex-direction:column;width:420px;max-width:calc(100vw - 32px);max-height:min(680px,100vh - 120px);transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .2s,visibility .25s;display:flex;position:fixed;top:90px;right:24px;overflow:hidden;transform:scale(.94)translateY(-8px);box-shadow:0 24px 60px #0a1f4b2e}.cart-drawer.active{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1)translateY(0)}@media (width<=560px){.cart-drawer{width:auto;max-width:none;top:76px;left:16px;right:16px}}.cart-drawer-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.cart-drawer-header h3{color:var(--primary);margin:0;font-size:1.25rem;font-weight:700}.cart-close-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;font-size:1.75rem;line-height:1}.cart-close-btn:hover{color:var(--primary);transform:rotate(90deg)}.cart-drawer-body{flex:1;padding:1.5rem;overflow-y:auto}.cart-drawer-body::-webkit-scrollbar{width:6px}.cart-drawer-body::-webkit-scrollbar-track{background:0 0}.cart-drawer-body::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.cart-drawer-body::-webkit-scrollbar-thumb:hover{background:var(--text-light)}.cart-item{border-bottom:1px solid var(--border-color);gap:1rem;margin-bottom:1.25rem;padding-bottom:1.25rem;animation:.3s forwards fadeInItem;display:flex}@keyframes fadeInItem{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cart-item-details{flex:1}.cart-item-title{color:var(--primary);text-align:left;margin-bottom:.25rem;font-size:.95rem;font-weight:600}.cart-item-meta{color:var(--text-muted);text-align:left;margin-bottom:.5rem;font-size:.8rem}.cart-item-meta span{margin-right:.75rem}.cart-item-actions{justify-content:space-between;align-items:center;display:flex}.cart-qty-control{border:1px solid var(--border-color);background:var(--bg-white);border-radius:4px;align-items:center;display:flex;overflow:hidden}.cart-qty-btn{width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:1rem;font-weight:600;display:flex}.cart-qty-btn:hover{background:var(--bg-light);color:var(--primary)}.cart-qty-val{text-align:center;width:32px;color:var(--text-body);font-size:.9rem;font-weight:600}.cart-item-price{color:var(--primary);font-size:.95rem;font-weight:600}.cart-remove-btn{color:var(--text-light);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;align-self:flex-start;align-items:center;padding:.25rem;display:flex}.cart-remove-btn:hover{color:#e74c3c}.cart-drawer-footer{border-top:1px solid var(--border-color);background:var(--bg-light);flex-shrink:0;padding:1.5rem}.cart-summary{margin-bottom:1.25rem}.cart-summary-row{color:var(--primary);justify-content:space-between;margin-bottom:.25rem;font-size:1.05rem;font-weight:700;display:flex}.cart-tax-note{color:var(--text-muted);text-align:left;margin:0;font-size:.8rem}.cart-checkout-btn{background:var(--accent);width:100%;color:var(--bg-white);text-align:center;cursor:pointer;transition:var(--transition-smooth);border:none;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:.9rem;font-size:1rem;font-weight:600;display:flex}.cart-checkout-btn:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px #1a7a4a33}.cart-checkout-btn:disabled{background:var(--text-light);cursor:not-allowed;box-shadow:none;transform:none}.cart-empty-state{text-align:center;height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;padding:2rem 0;display:flex}.cart-empty-icon{color:var(--text-light);margin-bottom:1rem;font-size:3rem}.cart-empty-text{color:var(--primary);margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.cart-empty-sub{max-width:280px;margin-bottom:1.5rem;font-size:.9rem}.cart-empty-shop-btn{background:var(--primary);color:var(--bg-white);transition:var(--transition-smooth);border-radius:4px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;display:inline-block}.cart-empty-shop-btn:hover{opacity:.9;transform:translateY(-1px)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--primary:#0a1f4b;--accent:#1a7a4a;--accent-hover:#13633b;--accent-light:#e8f5e9;--accent-glow:#1a7a4a26;--danger:#ef4444;--danger-light:#fef2f2;--success:#10b981;--success-light:#ecfdf5;--bg-white:#fff;--bg-light:#f8fafc;--border-color:#e2e8f0;--text-dark:#0f172a;--text-body:#334155;--text-muted:#64748b;--text-light:#94a3b8;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--transition-smooth:all .3s cubic-bezier(.16, 1, .3, 1);--transition-fast:all .2s ease;--font-sans:"Poppins", system-ui, -apple-system, sans-serif}body:has(.auth-page){font-family:var(--font-sans);color:var(--text-body);padding-top:0!important}.auth-page{grid-template-columns:46% 54%;min-height:100vh;display:grid}.auth-brand-panel{color:#fff;background:linear-gradient(#0a1f4b 0%,#061431 55%,#040d1e 100%);flex-direction:column;justify-content:space-between;padding:3rem 3.25rem;display:flex;position:relative;overflow:hidden}.auth-brand-video{object-fit:cover;opacity:.28;z-index:0;width:100%;height:100%;position:absolute;inset:0}.auth-brand-overlay{z-index:1;background:linear-gradient(#0614318c 0%,#061431d9 70%,#040d1e 100%);position:absolute;inset:0}.auth-brand-glow{filter:blur(100px);z-index:1;opacity:.35;pointer-events:none;border-radius:50%;position:absolute}.auth-brand-glow.blob-1{background-color:var(--accent);width:380px;height:380px;animation:20s ease-in-out infinite alternate floatBlob1;top:-100px;right:-100px}.auth-brand-glow.blob-2{background-color:#2ae086;width:320px;height:320px;animation:18s ease-in-out infinite alternate floatBlob2;bottom:-80px;left:-80px}@keyframes floatBlob1{0%{transform:translate(0)scale(1)}to{transform:translate(-50px,50px)scale(1.1)}}@keyframes floatBlob2{0%{transform:translate(0)scale(1.1)}to{transform:translate(60px,-40px)scale(.9)}}.auth-brand-content{z-index:2;flex-direction:column;justify-content:space-between;gap:3rem;height:100%;display:flex;position:relative}.auth-brand-logo img{filter:brightness(0)invert();width:auto;height:40px}.auth-brand-copy{max-width:420px}.auth-brand-tag{text-transform:uppercase;letter-spacing:.14em;color:#8ee8b3;background:#1a7a4a40;border:1px solid #2ee08659;border-radius:999px;align-items:center;margin-bottom:1.25rem;padding:5px 14px;font-size:.72rem;font-weight:700;display:inline-flex}.auth-brand-copy h2{color:#fff;margin:0 0 1rem;font-size:2rem;font-weight:700;line-height:1.28}.auth-brand-copy p{color:#ffffffb8;margin:0;font-size:.98rem;line-height:1.7}.auth-brand-points{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.auth-brand-points li{color:#ffffffd9;border-bottom:1px solid #ffffff1a;align-items:center;gap:.75rem;padding-bottom:1rem;font-size:.9rem;display:flex}.auth-brand-points li:last-child{border-bottom:none;padding-bottom:0}.auth-brand-points i{color:#2ae086;background:#2ee08624;border:1px solid #2ee0864d;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.05rem;display:flex}.auth-form-panel{background-color:var(--bg-light);background-image:radial-gradient(circle at 90% 10%,#1a7a4a12 0%,#0000 55%);justify-content:center;align-items:center;padding:2.5rem 1.5rem;display:flex}.logo-block-mobile{display:none}.login-container{width:100%;max-width:440px;box-shadow:var(--shadow-xl);z-index:10;background:#fffffff2;border:1px solid #e2e8f0cc;border-radius:20px;flex-direction:column;align-items:center;padding:3rem 2.75rem;animation:.6s cubic-bezier(.16,1,.3,1) forwards formEntrance;display:flex}@keyframes formEntrance{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.logo-block{text-align:center;margin-bottom:2.25rem}.logo-block-mobile img{width:auto;height:40px;margin-bottom:1rem}.logo-block h1{color:var(--primary);letter-spacing:-.01em;font-size:1.5rem;font-weight:700}.logo-block-sub{color:var(--text-muted);margin:.4rem 0 0;font-size:.9rem}.tabs-header{background-color:var(--bg-light);border:1px solid var(--border-color);border-radius:8px;width:100%;margin-bottom:2.25rem;padding:.25rem;display:flex}.tab-btn{color:var(--text-muted);text-align:center;cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:6px;flex:1;padding:.6rem;font-size:.88rem;font-weight:600}.tab-btn:hover{color:var(--primary)}.tab-btn.active{background-color:var(--bg-white);color:var(--primary);box-shadow:0 2px 8px #0a1f4b14}.login-form{flex-direction:column;gap:1.25rem;width:100%;display:none}.login-form.active{animation:.4s forwards fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{color:var(--primary);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:700}.input-wrapper{width:100%;position:relative}.input-wrapper i{color:var(--text-muted);font-size:1.1rem;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.form-input{border:1px solid var(--border-color);width:100%;color:var(--text-dark);background-color:var(--bg-white);transition:var(--transition-fast);border-radius:8px;outline:none;padding:.7rem 1rem .7rem 2.5rem;font-size:.92rem}.form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-options{justify-content:space-between;align-items:center;font-size:.8rem;font-weight:500;display:flex}.checkbox-label{cursor:pointer;color:var(--text-body);align-items:center;gap:.4rem;display:flex}.forgot-link{color:var(--accent);text-decoration:none}.forgot-link:hover{color:var(--accent-hover);text-decoration:underline}.form-hint{color:var(--text-muted);margin:-.5rem 0 0;font-size:.82rem;line-height:1.5}.btn-submit{color:#fff;width:100%;box-shadow:0 4px 12px var(--accent-glow);transition:var(--transition-smooth);cursor:pointer;background:linear-gradient(135deg,#1a7a4a 0%,#12583a 100%);border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;margin-top:.25rem;padding:.85rem;font-size:.95rem;font-weight:700;display:flex}.btn-submit:hover{background:linear-gradient(135deg,#1e8c56 0%,#13633b 100%);transform:translateY(-1px);box-shadow:0 6px 15px #1a7a4a4d}.btn-submit:active{transform:translateY(0)}.btn-submit:disabled{background-color:var(--text-light);box-shadow:none;cursor:not-allowed}.btn-home{color:var(--text-muted);transition:color var(--transition-fast);align-items:center;gap:.4rem;margin-top:2rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-home:hover{color:var(--primary)}#toast-container{z-index:100;flex-direction:column;gap:.75rem;width:100%;max-width:350px;display:flex;position:fixed;bottom:2rem;right:2rem}.toast{background-color:var(--primary);color:#fff;box-shadow:var(--shadow-xl);opacity:0;border-left:4px solid var(--accent);border-radius:8px;align-items:center;gap:.75rem;padding:.85rem 1.25rem;animation:.3s cubic-bezier(.175,.885,.32,1.275) forwards slideIn;display:flex;transform:translateY(20px)}.toast.success{border-left-color:var(--success)}.toast.error{border-left-color:var(--danger)}.toast-content{flex:1;font-size:.85rem;font-weight:500}.toast-icon{font-size:1.25rem}@media (width<=980px){.auth-page{grid-template-columns:1fr}.auth-brand-panel{display:none}.auth-form-panel{min-height:100vh;padding:3rem 1.25rem}.logo-block-mobile{display:block}}@media (width<=520px){.login-container{border-radius:16px;padding:2.25rem 1.5rem}#toast-container{max-width:none;bottom:1rem;left:1rem;right:1rem}}
