body{margin:0}button,input,select,textarea{font-family:inherit}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.modal-error{margin:.75rem 1.5rem;padding:.625rem .875rem}.device-list{gap:.75rem;padding:1rem 1.5rem}.device-card{border:1px solid #e2e8f0;border-radius:.625rem;gap:1rem;padding:.875rem 1rem}.device-icon{flex-shrink:0;font-size:1.5rem}.device-id code{background:#e2e8f0;font-family:Courier New,monospace;font-size:.8125rem;padding:.1rem .35rem}.device-ip{color:#94a3b8;font-size:.75rem;margin-top:.2rem}.btn-logout-device{flex-shrink:0;transition:background .15s,box-shadow .15s,opacity .15s,transform .1s}.btn-logout-device:disabled{opacity:.6}.modal-footer{padding:1rem 1.5rem 1.5rem}.btn-cancel{transition:background .15s,color .15s,border-color .15s}.btn-cancel:hover{border-color:#08f}.email-verification-container{align-items:center;background:#f8fafb;display:flex;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;justify-content:center;min-height:100vh;padding:20px}.email-verification-card{background:#fff;border-radius:1.5rem;box-shadow:0 20px 60px #0f172a14;max-width:460px;padding:48px;text-align:center;width:100%}.email-verification-card h1{color:#08f;font-size:1.875rem;font-weight:800;letter-spacing:-.01em;margin:24px 0 12px}.email-verification-card p{color:#64748b;line-height:1.6;margin-bottom:24px}.verification-icon{align-items:center;border-radius:50%;display:flex;height:80px;justify-content:center;margin:0 auto;width:80px}.verification-icon svg{height:40px;width:40px}.verification-icon.verifying{background:#f1f5f9;color:#64748b}.verification-icon.success{background:#dcfce7;color:#16a34a}.verification-icon.error{background:#fee2e2;color:#dc2626}.verification-icon.info{background:#e6f6f3;color:#08f}.success-message{color:#16a34a!important;font-weight:500}.error-message{color:#dc2626!important;font-weight:500}.redirect-message{color:#94a3b8!important;font-size:14px}.countdown{color:#08f;font-size:18px;font-weight:700}.btn-primary{border-radius:12px;box-shadow:0 6px 16px #4fc3f552;display:inline-block;font-size:16px;padding:14px 32px;text-decoration:none;transition:background .15s,transform .1s,box-shadow .15s;width:100%}.btn-primary:hover:not(:disabled){box-shadow:0 8px 22px #29b6f66b}.btn-primary:disabled{opacity:.65;transform:none}.btn-secondary{background:#0000;border:1.5px solid #08f;border-radius:12px;color:#08f;cursor:pointer;display:inline-block;font-size:16px;font-weight:700;margin-bottom:12px;padding:14px 32px;text-decoration:none;transition:background .15s,color .15s;width:100%}.btn-secondary:hover{background:#08f;color:#fff}.btn-secondary.btn-cooldown,.btn-secondary:disabled{background:#eceff1;border-color:#cfd8dc;box-shadow:none;color:#90a4ae;cursor:not-allowed}.btn-secondary.btn-cooldown:hover{background:#eceff1;color:#90a4ae}.resend-cooldown{align-items:center;display:flex;flex-direction:column;gap:4px;line-height:1.3}.resend-cooldown-text{font-size:13px;font-weight:600}.resend-cooldown-timer{font-feature-settings:"tnum";font-size:18px;font-variant-numeric:tabular-nums;font-weight:800}.action-buttons{display:flex;flex-direction:column;gap:12px;margin-top:24px}.resend-form{margin-top:24px}.form-group{margin-bottom:20px;text-align:left}.form-group label{color:#333;display:block;font-weight:500;margin-bottom:8px}.form-group input{background:#fbf8f0;box-sizing:border-box;font-size:16px;transition:border-color .15s,box-shadow .15s,background .15s}.form-group input:focus{outline:none}.error-box,.success-box{align-items:center;border-radius:8px;display:flex;gap:12px;margin-bottom:20px;padding:16px;text-align:left}.success-box{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.success-box svg{flex-shrink:0;height:24px;width:24px}.error-box p,.success-box p{font-size:14px;margin:0}.error-box{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.back-link{color:#08f;display:block;font-weight:600;margin-top:20px;text-decoration:none}.back-link:hover{text-decoration:underline}@media (max-width:480px){.email-verification-card{padding:32px 24px}.email-verification-card h1{font-size:24px}}.verification-required{max-width:520px}.verification-description{margin-bottom:8px!important}.email-display{background:#fbf8f0;border:1px solid #f0ece1;color:#1e293b;font-size:16px;font-weight:600;padding:12px 20px}.email-display,.verification-steps{border-radius:12px;margin-bottom:24px}.verification-steps{background:#f0faf8;border-left:4px solid #08f;padding:20px 24px;text-align:left}.verification-steps h3{color:#1e293b;font-size:16px;margin:0 0 12px}.verification-steps ol{margin:0;padding-left:20px}.verification-steps li{color:#475569;line-height:1.5;margin-bottom:8px}.verification-steps li:last-child{margin-bottom:0}.btn-text{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:14px;padding:12px;text-decoration:underline;width:100%}.btn-text:hover{color:#08f}.help-text{border-top:1px solid #f1f5f9;color:#64748b;font-size:14px;margin-top:24px;padding-top:24px;text-align:left}.help-text p{color:#1e293b;margin:0 0 8px!important}.help-text ul{margin:0;padding-left:20px}.help-text li{color:#64748b;margin-bottom:4px}.verification-icon.warning{background:#fef3c7;color:#b45309}.action-buttons .btn-primary{margin-bottom:12px}.action-buttons .btn-secondary{margin-bottom:8px}.sl-footer{background:#f8fafb;flex-shrink:0;margin-top:0;overflow:hidden;padding:4px 0 0;position:relative;transform:scale(1);transform-origin:bottom center}.sl-footer-overlay-grid{--footer-scale:clamp(0.45,calc((100vw - 12px) / 980px),1.4);grid-column-gap:clamp(16px,3.2vw,56px);align-items:start;bottom:100px;column-gap:clamp(16px,3.2vw,56px);display:grid;grid-template-columns:auto auto auto;justify-content:center;left:15%;padding:0;position:absolute;right:15%;top:20px;transform:scale(var(--footer-scale));transform-origin:top center;width:auto;z-index:4}.sl-footer:before{border-top:1px solid #d9d9d9;content:"";left:50%;position:absolute;top:0;transform:translateX(-50%);width:min(720px,calc(100% - 48px))}.sl-footer-inner{align-self:center;margin:0;max-width:100%;text-align:center}.sl-footer-image{line-height:0}.sl-footer-image img{display:block;width:100%}.sl-footer-logo{color:#00c0e8;font-size:1.5rem;font-weight:800;margin-bottom:16px}.sl-footer-logo-side{align-self:center;display:flex;justify-content:center}.sl-footer-links{grid-gap:clamp(6px,.85vw,10px) clamp(10px,2vw,24px);display:grid;gap:clamp(6px,.85vw,10px) clamp(10px,2vw,24px);grid-template-columns:repeat(3,-webkit-max-content);grid-template-columns:repeat(3,max-content);grid-template-rows:repeat(2,auto);justify-content:center;justify-items:start;margin:clamp(8px,1.4vw,16px) auto 0;max-width:100%}.sl-footer-link{align-items:center;color:#231f20;display:inline-flex;font-size:clamp(.7rem,1.05vw,.98rem);font-weight:500;gap:clamp(3px,.55vw,6px);text-decoration:none;transition:color .2s ease;white-space:nowrap}.sl-footer-link:before{color:#00c0e8;content:">";font-weight:700}.sl-footer-link:hover{color:#00c0e8}.sl-footer-copyright{align-items:center;background-color:#1a5f6b;color:#fff;display:flex;font-size:clamp(.7rem,1.8vw,.95rem);height:clamp(.7rem,3vh,3rem);justify-content:center;width:100%}.app-header{background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;height:10vh}.app-header,.app-header-inner{align-items:center;display:flex}.app-header-inner{height:100%;justify-content:flex-start;margin:0 auto;max-width:1200px;padding:0 10%;width:100%}.app-header-logo{height:100%;max-height:8.5vh;width:auto}.login-page-wrapper{background:#f8fafb;display:flex;flex-direction:column;min-height:100vh}.login-header{align-items:center;display:flex;flex-shrink:0;height:10vh;padding-top:2rem}.login-header-inner{align-items:center;display:flex;height:100%;justify-content:center;margin:0 auto;max-width:1200px;padding:0 10%;width:100%}.login-header-logo{height:100%;max-height:8.5vh;width:auto}.login-header-permanent-motto{color:#08f;font-size:.875rem;font-weight:600;margin-left:1rem;text-align:center}.auth-page{align-items:center;background:#f8fafb;display:flex;flex:1 1;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;justify-content:center;padding:1.5rem}.auth-card{animation:fadeUp .3s ease-out;background:#fff;border-radius:1.5rem;box-shadow:0 20px 60px #0f172a14;max-width:520px;min-width:360px;padding:48px 40px 36px;width:100%}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.auth-brand{margin-bottom:2.25rem;text-align:center}.auth-greeting{color:#1e293b;font-size:1rem;font-weight:500;margin:0 0 1rem}.auth-greeting span{margin-left:.25rem}.auth-brand h1{color:#08f;font-size:2rem;font-weight:800;letter-spacing:-.01em;margin:0}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-subtitle{color:#64748b;font-size:.875rem;line-height:1.5;margin:0 0 .25rem;text-align:center}.product-selector{border:1px solid #e2e8f0;border-radius:.75rem;margin:0;padding:.75rem 1rem}.product-selector legend{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:0 .25rem;text-transform:uppercase}.product-options{display:flex;gap:.625rem;margin-top:.5rem}.product-option{align-items:center;border:1.5px solid #e2e8f0;border-radius:.5rem;color:#64748b;cursor:pointer;display:flex;flex:1 1;font-size:.8125rem;font-weight:500;gap:.4rem;justify-content:center;padding:.5rem .75rem;transition:border-color .15s,color .15s,background .15s;-webkit-user-select:none;user-select:none}.product-option input[type=radio]{display:none}.product-option.selected{background:#e6f6f3;border-color:#08f;color:#08f;font-weight:600}.product-option:hover:not(.selected){background:#f0faf8;border-color:#a7e7dc;color:#08f}.form-group{display:flex;flex-direction:column;gap:.375rem;min-width:0}.form-group label{color:#374151;font-size:.8125rem;font-weight:600}.form-group input{background:#fff;border:1px solid #f0ece1;border-radius:.75rem;color:#1e293b;font-size:.9375rem;outline:none;padding:1rem 1.125rem;transition:border-color .15s,box-shadow .15s;width:100%}.form-group input:focus{background:#fff;border-color:#08f;box-shadow:0 0 0 3px #0088ff26}.form-group input::placeholder{color:#94a3b8}.form-group input:disabled{cursor:not-allowed;opacity:.55}.password-field{align-items:center;display:flex;position:relative}.password-field input{padding-right:3rem}.password-toggle{align-items:center;background:none;border:none;border-radius:.375rem;color:#64748b;cursor:pointer;display:inline-flex;font-size:1.125rem;justify-content:center;line-height:1;padding:.25rem .5rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);transition:background .15s,color .15s}.password-toggle:hover:not(:disabled){background:#0088ff14;color:#08f}.password-toggle:focus-visible{outline:2px solid #08f;outline-offset:2px}.password-toggle:disabled{cursor:not-allowed;opacity:.55}.form-group select{-webkit-appearance:none;appearance:none;background:#fbf8f0;border:1px solid #f0ece1;border-radius:.75rem;color:#1e293b;cursor:pointer;font-size:.9375rem;outline:none;padding:1rem 1.125rem;transition:border-color .15s,box-shadow .15s,background .15s;width:100%}.form-group select:focus{background:#fff;border-color:#08f;box-shadow:0 0 0 3px #0088ff26}.form-group select:disabled{cursor:not-allowed;opacity:.55}.form-row{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr}.form-error{background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#dc2626;font-size:.8125rem;line-height:1.4;padding:.625rem .875rem}.auth-forgot{display:flex;justify-content:flex-end;margin-top:-.25rem}.auth-forgot a{color:#4fc3f5;font-size:.8125rem;font-weight:500;text-decoration:none}.auth-forgot a:hover{text-decoration:underline}.auth-card .btn-primary{align-items:center;background:#4fc3f5;border:none;border-radius:.875rem;box-shadow:0 6px 16px #4fc3f552;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:700;justify-content:center;letter-spacing:.01em;margin-top:.5rem;min-height:54px;padding:.95rem;transition:background .15s,transform .1s,box-shadow .15s;width:100%}.auth-card .btn-primary:hover:not(:disabled){background:#29b6f6;box-shadow:0 8px 22px #29b6f66b;transform:translateY(-1px)}.auth-card .btn-primary:active:not(:disabled){transform:translateY(0)}.auth-card .btn-primary:disabled{cursor:not-allowed;opacity:.65;transform:none}.spinner{animation:spin .7s linear infinite;border:2.5px solid #ffffff59;border-radius:50%;border-top-color:#fff;display:inline-block;height:18px;width:18px}.auth-footer{color:#64748b;font-size:.8125rem;margin:1.25rem 0 0;text-align:center}.auth-footer a{color:#08f;font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-footer-create{font-size:.9375rem;margin-top:1.75rem}.auth-footer-create a{text-decoration:underline;text-underline-offset:4px}.form-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem;color:#16a34a;font-size:.8125rem;line-height:1.4;padding:.625rem .875rem}.register-auth-card{max-width:560px;padding-bottom:34px;padding-top:42px}.field-hint{color:#64748b;font-size:.75rem;line-height:1.35;margin:.375rem .25rem 0}.field-hint.valid{color:#16a34a}.field-hint.invalid{color:#dc2626}.field-hint.valid:before{content:"✓ "}.field-hint.invalid:before{content:"✗ "}.password-requirements{display:flex;flex-direction:column;list-style:none;margin:.375rem 0 0;padding:0}.password-requirements .field-hint{margin:.125rem .25rem 0}.password-requirements .field-hint:before{content:"- "}.password-requirements .field-hint.valid:before{content:"- ✓ "}.password-requirements .field-hint.invalid:before{content:"- ✗ "}.register-select-wrap{align-items:center;border-radius:.75rem;display:flex;position:relative;transition:transform .16s ease,box-shadow .16s ease}.register-select-trigger{background:#fff;border:1px solid #f0ece1;border-radius:.75rem;color:#1e293b;cursor:pointer;font-size:.9375rem;padding:1rem 2.5rem 1rem 1.125rem;text-align:left;transition:border-color .15s,box-shadow .15s,background .15s;width:100%}.register-select-trigger:hover:not(:disabled){border-color:#a7e7dc}.register-select-trigger:focus-visible,.register-select-wrap.open .register-select-trigger{background:#fff;border-color:#08f;box-shadow:0 0 0 3px #0088ff26;outline:none}.register-select-trigger:disabled{cursor:not-allowed;opacity:.55}.register-select-trigger-label{display:inline-block}.register-select-wrap .register-select-trigger{padding-right:2.5rem}.register-select-indicator{align-items:center;color:#64748b;display:inline-flex;justify-content:center;pointer-events:none;position:absolute;right:.85rem;top:50%;transform:translateY(-50%);transition:color .2s ease,transform .2s ease}.register-select-wrap:hover .register-select-indicator{color:#08f}.register-select-wrap:focus-within{box-shadow:0 6px 16px #0088ff24}.register-select-wrap.open .register-select-indicator,.register-select-wrap:focus-within .register-select-indicator{color:#08f;transform:translateY(-50%) rotate(180deg)}.register-select-trigger:disabled+.register-select-indicator{color:#94a3b8}.register-select-menu{background:#fff;border:1px solid #d8e3ee;border-radius:.75rem;box-shadow:0 14px 34px #0f172a24;left:0;list-style:none;margin:0;max-height:220px;opacity:0;overflow-y:auto;padding:.35rem;pointer-events:none;position:absolute;right:0;top:calc(100% + .4rem);transform:translateY(-6px) scale(.98);transform-origin:top center;transition:opacity .18s ease,transform .2s ease;z-index:15}.register-select-wrap.open .register-select-menu{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.register-select-item-wrap{margin:0}.register-select-item{background:#0000;border:none;border-radius:.5rem;color:#334155;cursor:pointer;font-size:.9rem;padding:.6rem .75rem;text-align:left;transition:background .14s ease,color .14s ease;width:100%}.register-select-item:hover{background:#eef6ff;color:#0369a1}.register-select-item.selected{background:linear-gradient(180deg,#eaf4ff,#dff0ff);color:#0b62a3;font-weight:600}.form-row .form-group input{font-size:.875rem;padding-left:.5rem;padding-right:.5rem}@media (max-width:640px){.register-auth-card{min-width:0}}.device-list{list-style:none;margin:0;padding:0}.device-item{align-items:stretch;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:.75rem;display:flex;flex-direction:column;gap:0;padding:.875rem 1rem;transition:border-color .15s}.device-item.current{background:#e9f4ff;border-color:#95ccfc}.device-icon-wrap{align-items:center;background:#e0f0ff;border-radius:.5rem;display:flex;flex-shrink:0;font-size:1.25rem;height:2.5rem;justify-content:center;width:2.5rem}.device-icon{display:block;height:1.5rem;object-fit:contain;width:1.5rem}.current-device-icon{color:#000}.device-item.current .device-icon-wrap{background:#cde6ff}.device-details{flex:1 1;min-width:0}.device-name{align-items:center;color:#1e293b;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin-bottom:.25rem}.badge-current{background:#c3ebff;border-radius:999px;color:#08f;font-size:.6875rem;font-weight:700;letter-spacing:.02em;padding:.125rem .5rem}.device-meta{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:.8125rem;gap:.375rem}.device-meta code{background:#f1f5f9;border-radius:.25rem;font-family:SFMono-Regular,Consolas,monospace;font-size:.75rem;padding:.0625rem .3rem}.dot{color:#cbd5e1}.device-list-empty{border:1.5px dashed #e2e8f0;border-radius:.75rem;color:#94a3b8;font-size:.9375rem;padding:2rem;text-align:center}.device-row{align-items:center;display:flex;gap:.875rem}.device-item.confirming{background:#fff8f8;border-color:#fca5a5}.btn-device-logout{background:#0000;border:1.5px solid #fca5a5;border-radius:.375rem;color:#dc2626;cursor:pointer;flex-shrink:0;font-size:.75rem;font-weight:600;margin-left:auto;padding:.25rem .75rem;transition:background .15s}.btn-device-logout:hover{background:#fee2e2}.device-logout-form{align-items:center;border-top:1px solid #fecdd3;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.625rem;padding-top:.625rem}.device-logout-input{background:#fff;border:1.5px solid #e2e8f0;border-radius:.5rem;color:#1e293b;flex:1 1;font-size:.8125rem;min-width:160px;outline:none;padding:.4rem .75rem;transition:border-color .15s}.device-logout-input:focus{border-color:#dc2626}.device-logout-error{color:#dc2626;font-size:.75rem;width:100%}.device-logout-actions{display:flex;gap:.375rem}.btn-device-logout-confirm{background:#dc2626;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.8125rem;font-weight:700;padding:.35rem .875rem;transition:opacity .15s}.btn-device-logout-confirm:hover:not(:disabled){opacity:.85}.btn-device-logout-confirm:disabled{cursor:not-allowed;opacity:.6}.btn-device-logout-cancel{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:.375rem;color:#334155;cursor:pointer;font-size:.8125rem;font-weight:600;padding:.35rem .75rem;transition:background .15s}.btn-device-logout-cancel:hover:not(:disabled){background:#e2e8f0}.modal-card{max-width:440px}.modal-form{display:flex;flex-direction:column;gap:1.3rem;padding:1.5rem 2rem 2rem}.key-input{background:#fff;border:1px solid #dad5ca;border-radius:.75rem;box-sizing:border-box;color:#1e293b;font-family:SFMono-Regular,Consolas,monospace;font-size:.9375rem;outline:none;padding:.875rem 1rem;transition:border-color .15s,box-shadow .15s,background .15s;width:100%}.key-input:focus{background:#fff;border-color:#08f;box-shadow:0 0 0 3px #0088ff26}.key-purchase-link{color:#64748b;font-size:.875rem;margin:-.25rem 0 0;text-align:center}.key-purchase-link a{color:#08f;font-weight:700;text-decoration:none}.key-purchase-link a:hover{text-decoration:underline}.modal-actions{display:flex;gap:.75rem}.btn-primary{background:#4fc3f5;border:none;border-radius:.75rem;box-shadow:0 4px 12px #4fc3f547;color:#fff;cursor:pointer;flex:1 1;font-size:.9375rem;font-weight:700;padding:.875rem;transition:background .15s,box-shadow .15s,transform .1s}.btn-primary:hover:not(:disabled){background:#29b6f6;box-shadow:0 6px 18px #29b6f661;transform:translateY(-1px)}.btn-primary:disabled{cursor:not-allowed;opacity:.55}.btn-cancel{border-radius:.75rem;flex:1 1;font-size:.9375rem;font-weight:700;padding:.875rem}.btn-cancel:hover:not(:disabled){background:#08f;color:#fff}.btn-cancel:disabled{cursor:not-allowed;opacity:.55}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.modal-card{animation:slideUp .25s ease-out;background:#fff;border-radius:1rem;box-shadow:0 25px 60px #00000040;max-width:480px;overflow:hidden;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid #f0f0f0;padding:2rem 2rem 1.25rem;text-align:center}.modal-icon{font-size:2.5rem;margin-bottom:.5rem}.modal-header h2{color:#1e293b;font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.modal-header p{color:#64748b;font-size:.875rem;line-height:1.5;margin:0}.modal-error{background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#dc2626;font-size:.8125rem;margin:.75rem 2rem 0;padding:.5rem .75rem}.device-list{display:flex;flex-direction:column;gap:.625rem;padding:1rem 1.25rem}.device-card{align-items:center;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:.75rem;display:flex;gap:.75rem;justify-content:space-between;padding:.75rem 1rem}.device-password-input{background:#fff;border:1.5px solid #cbd5e1;border-radius:.625rem;color:#1e293b;font-size:.8125rem;min-width:0;outline:none;padding:.5rem .625rem;transition:border-color .15s,box-shadow .15s;width:120px}.device-password-input:focus{border-color:#08f;box-shadow:0 0 0 3px #0088ff1f}.device-password-input:disabled{background:#e2e8f0;cursor:not-allowed}.device-info{align-items:center;display:flex;gap:.75rem}.device-icon-sm{font-size:1.375rem}.device-id{color:#1e293b;font-size:.875rem;font-weight:600;margin-bottom:.125rem}.device-id code{background:#f1f5f9;border-radius:.25rem;font-family:SFMono-Regular,Consolas,monospace;font-size:.75rem;padding:.0625rem .3rem}.device-ip{color:#64748b;font-size:.8125rem}.btn-logout-device{background:#4fc3f5;border:none;border-radius:.625rem;box-shadow:0 4px 10px #4fc3f54d;color:#fff;cursor:pointer;font-size:.8125rem;font-weight:700;padding:.5rem 1rem;transition:background .15s,box-shadow .15s,transform .1s,opacity .15s;white-space:nowrap}.btn-logout-device:hover:not(:disabled){background:#29b6f6;box-shadow:0 6px 14px #29b6f666;transform:translateY(-1px)}.btn-logout-device:disabled{cursor:not-allowed;opacity:.55}.modal-footer{border-top:1px solid #f0f0f0;display:flex;justify-content:center;padding:1rem 2rem 1.5rem}.btn-cancel{background:#0000;border:1.5px solid #08f;border-radius:.625rem;color:#08f;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1.75rem;transition:background .15s,color .15s}.btn-cancel:hover{background:#08f;color:#fff}@media (max-width:520px){.device-card{align-items:stretch;flex-direction:column}.btn-logout-device,.device-password-input{width:100%}}.invite-code-modal-card{max-width:440px}.invite-code-display{align-items:center;background:#f0faf8;border:2px dashed #08f;border-radius:12px;display:flex;gap:12px;margin:16px;padding:14px 18px}.invite-code-text{color:#08f;flex:1 1;font-family:Courier New,Courier,monospace;font-size:1.5rem;font-weight:700;letter-spacing:.12em;word-break:break-all}.btn-copy-code{background:#08f;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;padding:8px 12px;transition:background .15s}.invite-code-warning{background:#fff8e1;border:1px solid #ffe082;border-radius:8px;color:#5a4500;font-size:.875rem;line-height:1.5;margin:0 16px 16px;padding:12px 16px}.invite-code-modal-card .modal-actions{padding:0 16px 16px}.purchase-details-card{display:flex;flex-direction:column;max-height:min(90vh,720px);max-width:560px}.purchase-order-id{color:#94a3b8!important;font-family:SFMono-Regular,Consolas,monospace;font-size:.8125rem!important;letter-spacing:.06em}.purchase-details-body{display:flex;flex:1 1;flex-direction:column;gap:1.25rem;overflow-y:auto;padding:1.25rem 1.75rem}.purchase-summary-grid{grid-gap:.875rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;display:grid;gap:.875rem 1rem;grid-template-columns:repeat(2,minmax(0,1fr));padding:1rem 1.125rem}.purchase-summary-field{display:flex;flex-direction:column;gap:.25rem;min-width:0}.purchase-field-label{color:#64748b;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.purchase-field-value{color:#1e293b;font-size:.9rem;font-weight:600;word-break:break-word}.purchase-total{color:#08f;font-size:1.05rem;font-weight:800}.purchase-payment-line{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.purchase-payment-provider{color:#64748b;font-size:.75rem;font-weight:500}.status-badge{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:.6875rem;font-weight:700;letter-spacing:.04em;line-height:1;padding:.2rem .625rem;text-transform:uppercase;white-space:nowrap}.badge-success{background:#f0fdf4;border-color:#bbf7d0;color:#16a34a}.badge-pending{background:#fff8e1;border-color:#fde68a;color:#b45309}.badge-danger{background:#fff1f2;border-color:#fecdd3;color:#e11d48}.badge-neutral{background:#f1f5f9;border-color:#e2e8f0;color:#475569}.purchase-items-block{display:flex;flex-direction:column;gap:.625rem}.purchase-items-title{color:#1e293b;font-size:.875rem;font-weight:700;letter-spacing:.02em}.purchase-items-list{display:flex;flex-direction:column;gap:.625rem;list-style:none;margin:0;padding:0}.purchase-item-row{background:#fff;border:1.5px solid #e2e8f0;border-radius:.75rem;display:flex;flex-direction:column;gap:.5rem;padding:.75rem .875rem}.purchase-item-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:.5rem}.purchase-item-name{color:#1e293b;flex:1 1;font-size:.9rem;font-weight:700;min-width:0;word-break:break-word}.purchase-item-qty{color:#64748b;font-size:.8125rem;font-weight:600}.purchase-item-price{color:#08f;font-size:.875rem;font-weight:700}.purchase-item-type{color:#64748b;font-size:.75rem;font-style:italic}.purchase-plans-list{display:flex;flex-wrap:wrap;gap:.375rem;list-style:none;margin:0;padding:0}.purchase-plan-chip{align-items:center;background:#f0faf8;border:1px solid #a7e7dc;border-radius:999px;color:#0f766e;display:inline-flex;font-size:.75rem;font-weight:600;gap:.375rem;padding:.25rem .625rem}.purchase-plan-sep{color:#94a3b8;font-weight:400}.purchase-plan-app{color:#0f766e;font-weight:700}.purchase-plan-name{color:#334155;font-weight:500}.purchase-modal-actions{border-top:1px solid #f0f0f0;padding:1rem 1.75rem 1.5rem}@media (max-width:480px){.purchase-summary-grid{grid-template-columns:1fr}}.redirect-reason-modal-card{max-width:440px}.redirect-product-name{color:#94a3b8;font-size:.8125rem;margin:0 0 .25rem}.redirect-reason-actions{display:flex;justify-content:center;padding:1rem 2rem 1.5rem}.redirect-reason-actions .btn-primary{flex:0 1;min-width:120px}.dashboard-shell{background:#fff;color:#1e293b;display:flex;flex-direction:column;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;height:100vh;overflow:hidden}.dashboard-body{flex:1 1;min-height:0}.dashboard-body,.sidebar{display:flex;overflow:hidden}.sidebar{--sidebar-separator-gradient:linear-gradient(90deg,#94979b00,#94979b42 20%,#94979b9e 50%,#94979b42 80%,#94979b00);background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;height:100%;min-width:220px;transition:width .22s ease,min-width .22s ease;width:220px;z-index:10}.dashboard-shell.sidebar-collapsed .sidebar{min-width:40px;width:55px}.sidebar-header{align-items:center;border-bottom:none;display:flex;flex-shrink:0;height:2.7rem;justify-content:flex-start;padding:0 .75rem;position:relative;transition:justify-content .22s ease}.sidebar-header:after{background:var(--sidebar-separator-gradient);bottom:0;content:"";height:1px;left:.65rem;pointer-events:none;position:absolute;right:.65rem}.dashboard-shell:not(.sidebar-collapsed) .sidebar-header{justify-content:flex-end}.sidebar-toggle-btn{align-items:right;background:none;border:none;border-radius:.375rem;color:#64748b;cursor:pointer;flex-shrink:0;font-size:1.25rem;padding:.25rem;transition:background .15s}.sidebar-toggle-btn:hover{background:#f1f5f9}.mobile-sidebar-fab{display:none}.sidebar-nav{flex:1 1;overflow-y:auto;padding:.5rem 0}.nav-item{align-items:center;background:none;border:none;border-radius:0;color:#365a8b;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.625rem 1rem;position:relative;text-align:left;transition:background .15s,color .15s;white-space:nowrap;width:100%}.nav-item:hover{background:#dfeaf5;color:#53a7f1}.nav-item.active{background:#f0faff;color:#08f;font-weight:700}.nav-icon{color:currentColor;display:inline-block;flex-shrink:0;font-size:1.1rem;height:1.25rem;object-fit:contain;opacity:1;width:1.25rem}@keyframes sidebar-icon-reveal-on-collapse{0%{opacity:0}40%{opacity:0}to{opacity:1}}.dashboard-shell.sidebar-collapsed .sidebar .nav-icon{animation:sidebar-icon-reveal-on-collapse .3s ease both;opacity:1}.nav-icon-main-website{color:currentColor;display:inline-block;font-size:1.1rem;height:1.25rem;object-fit:contain;width:1.25rem}.nav-icon-main-website .nav-icon{height:1.5rem;width:1.5rem}.nav-item.active img.nav-icon{filter:brightness(0) saturate(100%) invert(43%) sepia(92%) saturate(3897%) hue-rotate(191deg) brightness(101%) contrast(104%)}.nav-label{max-width:180px;opacity:1;overflow:hidden;transition:opacity .15s}.dashboard-shell.sidebar-collapsed .nav-label{max-width:0;opacity:0;pointer-events:none;position:absolute}.dashboard-shell.sidebar-collapsed .nav-item{gap:0;justify-content:center;padding:.625rem 0}.sidebar-actions{border-top:none;display:flex;flex-direction:column;flex-shrink:0;gap:.25rem;padding:.5rem 0;position:relative}.sidebar-actions:before{background:var(--sidebar-separator-gradient);content:"";height:1px;left:.65rem;pointer-events:none;position:absolute;right:.65rem;top:0}.sidebar-action-btn{font-weight:700}.sidebar-action-brand:hover{background:#e6f4ff;color:#08f}.sidebar-action-store:hover{background:#f1f5f9;color:#334155}.sidebar-footer-nav{border-top:none;display:flex;flex-direction:column;flex-shrink:0;justify-content:flex-end;min-height:12rem;overflow:hidden;padding:.35rem 0 .45rem;position:relative}.sidebar-footer-nav:before{background:var(--sidebar-separator-gradient);content:"";height:1px;left:.65rem;pointer-events:none;position:absolute;right:.65rem;top:0}.nav-footer-item{color:#3f4246;font-size:.8125rem;position:relative;z-index:1}.nav-footer-item:hover{color:#64748b}.sidebar-footer-image{bottom:-4px;display:block;height:auto;max-width:none;opacity:.2;pointer-events:none;position:absolute;right:-8px;transform:scaleX(-1.08) scaleY(1.08) translateY(-2px) translateX(12px);transform-origin:bottom center;width:300px}.dashboard-shell.sidebar-collapsed .sidebar-footer-image{opacity:0}.main-wrapper{display:flex;flex:1 1;flex-direction:column;height:100%;min-width:0;overflow:hidden}.topbar{background:#fff;border-bottom:1px solid #e2e8f0;flex-shrink:0;height:100px;justify-content:space-between;padding:0 1.75rem}.topbar,.topbar-left{align-items:center;display:flex}.topbar-left{gap:1rem;min-width:0}.topbar-logo{display:block;flex-shrink:0;height:5rem;object-fit:contain;width:auto}.topbar-title{color:#1e293b;font-size:1.125rem;font-weight:800;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-user{gap:.75rem}.topbar-user,.user-avatar{align-items:center;display:flex}.user-avatar{background:#08f;border-radius:50%;color:#fff;flex-shrink:0;font-size:.8125rem;font-weight:700;height:32px;justify-content:center;width:32px}.user-name{color:#374151;font-size:.875rem;font-weight:600}.btn-logout{background:#ff8b8b77;border:1.5px solid #fecaca;border-radius:.5rem;color:#ce4242;cursor:pointer;font-size:.8125rem;font-weight:700;margin-left:auto;margin-right:auto;margin-top:8px;padding:.375rem .875rem;position:relative;transition:background .15s,color .15s;width:93%;z-index:1}.btn-logout:before{background:linear-gradient(90deg,#e3e5e900,#94979b73 20%,#94979bf2 50%,#94979b73 80%,#94979b00);content:"";height:1px;left:50%;pointer-events:none;position:absolute;top:-10px;transform:translateX(-50%);width:calc(100% + 2.5rem)}.btn-logout:hover:not(:disabled){background:#eb4f4f;color:#fff}.btn-logout:disabled{cursor:not-allowed;opacity:.6}.eula-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.eula-modal-dialog{animation:fadeUp .2s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0f172a26;display:flex;flex-direction:column;max-height:80vh;max-width:560px;overflow:hidden;width:100%}.eula-modal-title{border-bottom:1px solid #e2e8f0;color:#0f172a;flex-shrink:0;font-size:1rem;font-weight:700;margin:0;padding:1.25rem 1.5rem}.eula-modal-body{color:#475569;display:flex;flex:1 1;flex-direction:column;font-size:.875rem;gap:1rem;line-height:1.7;overflow-y:auto;padding:1.25rem 1.5rem}.eula-modal-body p{margin:0}.eula-link-row{align-items:center;background:#f8fafc00;border:1px solid #e2e8f0;border-radius:12px;display:flex;gap:1rem;justify-content:space-between;padding:.9rem 1rem}.eula-link-title{color:#1e293b;font-size:.9rem;font-weight:600}.eula-link-btn{background:#3fa2cc00;border:1.5px solid #e2e8f0;border-radius:8px;color:#000;cursor:pointer;flex-shrink:0;font-size:.8125rem;font-weight:700;padding:.5rem .9rem;transition:background .15s}.eula-link-btn:hover{background:#a8d1f3}.eula-modal-footer{border-top:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:flex-end;padding:1rem 1.5rem}.eula-close-btn{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1.25rem;transition:background .15s,border-color .15s}.eula-close-btn:hover{background:#f8fafc;border-color:#cbd5e1}.contact-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.contact-modal-dialog{animation:fadeUp .2s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0f172a26;display:flex;flex-direction:column;max-width:500px;overflow:hidden;width:100%}.contact-modal-title{border-bottom:1px solid #e2e8f0;color:#0f172a;font-size:1rem;font-weight:700;margin:0;padding:1.25rem 1.5rem}.contact-modal-body{display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem}.contact-field{display:flex;flex-direction:column;gap:4px}.contact-field label{color:#475569;font-size:.8125rem;font-weight:600}.contact-field-error{color:#dc2626;font-weight:500}.contact-field input,.contact-field textarea{border:1.5px solid #e2e8f0;border-radius:8px;color:#0f172a;font-family:inherit;font-size:.875rem;outline:none;padding:.5rem .75rem;resize:vertical;transition:border-color .15s;width:100%}.contact-field input:focus,.contact-field textarea:focus{border-color:#0891b2}.contact-field select{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;color:#0f172a;font-family:inherit;font-size:.875rem;outline:none;padding:.5rem .75rem;transition:border-color .15s;width:100%}.contact-field select:focus{border-color:#0891b2}.contact-sending-as{color:#64748b;font-size:.8125rem;margin:0}.contact-field-note{color:#94a3b8;font-size:.75rem}.contact-dropzone{align-items:center;background:#fcfcfd;border:2px dashed #d5d9e2;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:2px;justify-content:center;padding:1.25rem 3.5rem;position:relative;text-align:center;transition:border-color .15s,background .15s}.contact-dropzone.drag-active,.contact-dropzone:hover{background:#f7f4ff;border-color:#7c3aed}.contact-dropzone-icon{align-items:center;border:2px dashed #7c3aed;border-radius:8px;bottom:10px;color:#7c3aed;display:flex;height:34px;justify-content:center;left:12px;position:absolute;width:34px}.contact-dropzone-text{color:#475569;font-size:.875rem;margin:0}.contact-dropzone-link{color:#7c3aed;font-weight:600}.contact-dropzone-note{color:#94a3b8;font-size:.75rem;margin:0}.contact-modal-overlay.capturing{visibility:hidden}.contact-screenshot-icon{border-radius:8px;cursor:pointer;padding:4px;transition:background .15s,color .15s}.contact-screenshot-icon:focus-visible,.contact-screenshot-icon:hover{background:#f1f5f9;color:#0891b2}.contact-screenshot-icon.capturing{cursor:wait}.contact-screenshot-icon .contact-send-spinner{border-color:#475569 #4755694d #4755694d;margin-right:0}.contact-image-list{display:flex;flex-direction:column;gap:4px;list-style:none;margin:.25rem 0 0;padding:0}.contact-image-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;font-size:.8125rem;gap:8px;padding:.375rem .625rem}.contact-image-name{color:#0f172a;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-image-size{color:#94a3b8;font-size:.75rem}.contact-image-download{align-items:center;background:none;border:none;color:#0891b2;cursor:pointer;display:inline-flex;line-height:1;padding:0 2px}.contact-image-download:hover{color:#0e7490}.contact-image-remove{background:none;border:none;color:#dc2626;cursor:pointer;font-size:1rem;line-height:1;padding:0 2px}.contact-field input.input-error,.contact-field textarea.input-error{background:#fff5f5;border-color:#dc2626}.contact-modal-footer{border-top:1px solid #e2e8f0;display:flex;gap:10px;justify-content:flex-end;padding:1rem 1.5rem}.contact-cancel-btn{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1.25rem;transition:background .15s}.contact-cancel-btn:hover{background:#f8fafc}.contact-send-btn{background:#0891b2;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:700;padding:.5rem 1.25rem;transition:background .15s}.contact-send-btn:hover{background:#0e7490}.contact-cancel-btn:disabled,.contact-send-btn:disabled{cursor:not-allowed;opacity:.6}.contact-send-btn:disabled:hover{background:#0891b2}.contact-send-btn .contact-send-spinner{animation:contact-send-spin .7s linear infinite;border:2px solid #fff6;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;margin-right:8px;vertical-align:-2px;width:14px}@keyframes contact-send-spin{to{transform:rotate(1turn)}}.contact-close-btn{background:#0891b2;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:700;padding:.5rem 1.25rem;transition:background .15s}.contact-close-btn:hover{background:#0e7490}.contact-sent-state{align-items:center;display:flex;flex-direction:column;gap:.75rem;padding:2.5rem 1.5rem;text-align:center}.contact-sent-state h3{color:#0f172a;font-size:1.1rem;margin:0}.contact-sent-state p{color:#64748b;font-size:.875rem;margin:0}.logout-confirm-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.logout-confirm-dialog{animation:fadeUp .2s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0f172a26;max-width:360px;padding:2rem 2rem 1.5rem;text-align:center;width:100%}.logout-confirm-icon{align-items:center;background:#fee2e2;border-radius:50%;color:#dc2626;display:flex;height:56px;justify-content:center;margin:0 auto 1rem;width:56px}.logout-confirm-dialog h3{color:#0f172a;font-size:1.1rem;font-weight:700;margin:0 0 .5rem}.logout-confirm-dialog p{color:#64748b;font-size:.875rem;line-height:1.5;margin:0 0 1.5rem}.logout-confirm-actions{display:flex;gap:10px;justify-content:center}.logout-cancel-btn{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;padding:.6rem 1rem;transition:background .15s}.logout-cancel-btn:hover{background:#f8fafc}.logout-confirm-btn{background:#fee2e2;border:none;border-radius:8px;color:#dc2626;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:700;padding:.6rem 1rem;transition:background .15s}.logout-confirm-btn:hover:not(:disabled){background:#fecaca}.logout-confirm-btn:disabled{cursor:not-allowed;opacity:.6}.main-content{flex:1 1;overflow-y:auto;padding:1.75rem 2rem}.content-footer{align-items:center;background:#fff;border-top:none;display:flex;flex-shrink:0;justify-content:center;padding:.75rem 2rem;position:relative;width:100%}.content-footer:before{background:linear-gradient(90deg,#dbdbdb00,#dbdbdb 18%,#dbdbdb 82%,#dbdbdb00);content:"";height:1px;left:2rem;pointer-events:none;position:absolute;right:2rem;top:0}.footer-brand-text{color:#a0a0a0;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.8125rem;font-weight:400;letter-spacing:.01em}.section-container{display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:860px;width:100%}.section-desc{color:#000;font-size:1rem}.state-msg{background:#f8fafc;border:1.5px dashed #e2e8f0;border-radius:.75rem;color:#94a3b8;font-size:.875rem;padding:1.5rem;text-align:center}.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:.5rem;color:#16a34a}.alert-error,.alert-success{font-size:.875rem;padding:.625rem 1rem}.alert-error{background:#fff1f2;border:1px solid #fecdd3;border-radius:.5rem;color:#e11d48}.welcome-banner{align-items:stretch;background:#fff0;border:1.5px solid #e6f6f300;border-radius:.5rem;display:flex;gap:1rem;height:200px;overflow:hidden;padding:1.25rem 0 0 1.5rem}.welcome-banner>div{flex:1 1}.welcome-banner-img{align-self:stretch;border-radius:0 calc(1rem - 1.5px) calc(1rem - 1.5px) 0;display:block;flex-shrink:0;height:170px;object-fit:contain;transform:scaleX(-1);width:auto}.welcome-wave{font-size:2rem}.welcome-banner h2{color:#1e293b;font-size:1.25rem;font-weight:800;margin-bottom:.2rem}.welcome-banner p{color:#64748b;font-size:.875rem}.accent{color:#08f}.home-products-panel{background:#fff;border:1.5px solid #e2e8f0;border-radius:1rem;display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem 1.5rem}.home-products-header{align-items:center;display:flex;gap:1rem;justify-content:flex-start}.home-products-title{margin:0}.home-products-footer{display:flex;justify-content:flex-end;margin-top:.25rem;padding-top:1rem}.home-devices-panel{background:#fff;border:1.5px solid #e2e8f0;border-radius:1rem;display:flex;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem 1.5rem}.home-devices-title{margin-bottom:0}.devices-section-separator{background:linear-gradient(90deg,#cbd5e100,#cbd5e1f2 18%,#cbd5e1f2 82%,#cbd5e100);height:1px;margin:.25rem 0 .5rem;width:100%}.home-active-devices-title{margin-bottom:.5rem}.app-devices-limit{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.02em;margin-left:.5rem;text-transform:none}.stats-row{display:flex;flex-wrap:wrap;gap:1rem}.stat-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:.875rem;flex:1 1;min-width:100px;padding:1rem 1.25rem;text-align:center}.stat-card.accent-card{background:#f0f4ff;border-color:#85c6ff}.stat-value{color:#1e293b;font-size:2rem;font-weight:800;line-height:1}.accent-card .stat-value{color:#08f}.stat-label{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.04em;margin-top:.25rem;text-transform:uppercase}.section-block{background:#fff;border:1.5px solid #e2e8f0;border-radius:1rem;padding:1.25rem 1.5rem}.block-title{color:#1e293b;font-size:1rem;font-weight:700;margin-bottom:1rem}.products-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.linked-owned-products-grid{margin-bottom:1.5rem}.home-products-grid{grid-template-columns:repeat(auto-fit,minmax(220px,280px));justify-content:center;margin-top:2rem}.product-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:1rem;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s,border-color .2s}.product-card:hover{border-color:#a7e7dc;box-shadow:0 4px 16px #0088ff26}.product-card.owned{border-color:#a7f3d0}.product-card.locked{opacity:.85}.product-card.owned.theme-purple{background:linear-gradient(180deg,#f8f5ff,#fff 72%);border-color:#d6c8ff}.product-card.owned.theme-orange{background:linear-gradient(180deg,#fff7f1,#fff 72%);border-color:#ffd6ba}.product-card.owned.theme-sky{background:linear-gradient(180deg,#f2f8ff,#fff 72%);border-color:#c4ddff}.product-card-hero{align-items:center;border-radius:.95rem;display:flex;height:150px;justify-content:center;margin:.95rem .95rem 0;overflow:hidden}.product-card-hero.theme-purple{background:linear-gradient(135deg,#ece7ff,#f8f4ff)}.product-card-hero.theme-orange{background:linear-gradient(135deg,#ffdfc7,#ffedd9)}.product-card-hero.theme-sky{background:linear-gradient(135deg,#eaf5ff,#f5fbff)}.product-card-hero-image{display:block;height:100%;object-fit:contain;padding:.5rem;width:100%}.product-card-header{display:flex;justify-content:flex-end;padding:.75rem 1rem 0}.product-badge{border-radius:999px;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:.2rem .625rem;text-transform:uppercase}.badge-owned{background:#d1fae5;color:#065f46}.badge-locked{background:#f1f5f9;color:#64748b}.product-card.owned.theme-purple .badge-owned{background:#efe7ff;color:#7653cc}.product-card.owned.theme-orange .badge-owned{background:#ffead8;color:#d97706}.product-card.owned.theme-sky .badge-owned{background:#dff2ff;color:#0f6fa6}.product-card-body{flex:1 1;padding:.75rem 1rem .5rem}.product-name{color:#1e293b;font-size:1.1rem;font-weight:700;margin-bottom:.25rem;text-align:center}.product-description{color:#64748b;font-size:.8125rem;line-height:1.5;padding-top:.5rem;text-align:center}.product-card.owned.theme-purple .product-name{color:#6d4bc3}.product-card.owned.theme-orange .product-name{color:#f28524}.product-card.owned.theme-sky .product-name{color:#1976d2}.product-card-footer{padding:.75rem 1rem 1rem}.btn-open-product{background:#3fa2cc;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.8125rem;font-weight:700;padding:.5rem;transition:background .15s;width:100%}.btn-open-product:disabled{cursor:not-allowed;opacity:.6}.btn-open-product:hover:not(:disabled){background:#29b6f6}.product-card.owned.theme-purple .btn-open-product{background:#7e5bd2}.product-card.owned.theme-purple .btn-open-product:hover:not(:disabled){background:#6d4bc3}.product-card.owned.theme-orange .btn-open-product{background:#f28524}.product-card.owned.theme-orange .btn-open-product:hover:not(:disabled){background:#e27412}.product-card.owned.theme-sky .btn-open-product{background:#3698d8}.product-card.owned.theme-sky .btn-open-product:hover:not(:disabled){background:#197fc4}.btn-unlock-product{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:.5rem;color:#334155;cursor:pointer;font-size:.8125rem;font-weight:600;padding:.5rem;transition:background .15s;width:100%}.btn-unlock-product:hover{background:#e2e8f0}.section-toolbar{display:flex;flex-wrap:wrap;gap:.75rem}.btn-primary-sm{align-items:center;background:#3fa2cc;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:700;gap:.4rem;padding:.45rem 1rem;transition:background .15s}.btn-primary-sm:hover{background:#29b6f6}.btn-inline-icon{flex-shrink:0}.home-redeem-btn{align-self:auto;background:#27a056}.home-section-separator{background:linear-gradient(90deg,#cbd5e100,#cbd5e1f2 18%,#cbd5e1f2 82%,#cbd5e100);height:1px;width:100%}.btn-secondary-sm{align-items:center;background:#fff;border:1.5px solid #a7e7dc;border-radius:.5rem;color:#08f;cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:600;gap:.4rem;justify-content:center;line-height:1;padding:.45rem 1rem;transition:background .15s,color .15s}.btn-secondary-sm:hover:not(:disabled){background:#08f;color:#fff}.btn-secondary-sm:disabled{cursor:not-allowed;opacity:.6}.watchlist-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.watchlist-card{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:.875rem;display:flex;gap:.75rem;padding:.875rem 1rem;transition:border-color .15s}.watchlist-card:hover{background:#f7fdfb;border-color:#a7e7dc}.watchlist-card.selected{background:#f0faf8;border-color:#08f}.watchlist-avatar{align-items:center;background:#08f;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:36px;justify-content:center;width:36px}.watchlist-info{display:flex;flex:1 1;flex-direction:column;gap:.125rem;min-width:0}.watchlist-username{color:#1e293b;font-size:.875rem;font-weight:700}.watchlist-fullname,.watchlist-username{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.watchlist-fullname{color:#64748b;font-size:.75rem}.btn-unlink{background:#0000;border:1.5px solid #fca5a5;border-radius:.375rem;color:#dc2626;cursor:pointer;flex-shrink:0;font-size:.75rem;font-weight:600;padding:.25rem .625rem;transition:background .15s}.btn-unlink:hover:not(:disabled){background:#fee2e2}.btn-unlink:disabled{cursor:not-allowed;opacity:.5}.product-card.owned.selected{outline:3px solid #08f;outline-offset:2px}.watched-progress{background:#fff;border:1.5px solid #e2e8f0;border-radius:.875rem;margin-top:1.25rem;padding:1rem 1.25rem}.watched-progress-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.5rem}.watched-progress-title{color:#1e293b;font-size:1rem;font-weight:700;margin:0 0 .5rem}.watched-progress-header .watched-progress-title{margin:0}.watched-progress-summary{color:#475569;display:flex;font-size:.875rem;gap:1.5rem;margin-bottom:1rem}.watched-progress-unit{margin-bottom:1.25rem}.watched-progress-unit:last-child{margin-bottom:0}.watched-progress-unit-title{color:#0f766e;font-size:.875rem;font-weight:700;letter-spacing:.04em;margin:0 0 .5rem;text-transform:uppercase}.watched-progress-table{border-collapse:collapse;font-size:.8125rem;width:100%}.watched-progress-table th{background:#f8fafc;border-bottom:1.5px solid #e2e8f0;color:#64748b;font-size:.6875rem;font-weight:600;letter-spacing:.04em;padding:.375rem .625rem;text-align:left;text-transform:uppercase}.watched-progress-table td{border-bottom:1px solid #f1f5f9;color:#334155;padding:.5rem .625rem}.watched-progress-table tr:last-child td{border-bottom:none}.progress-badge{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:.6875rem;font-weight:700;letter-spacing:.04em;line-height:1;padding:.2rem .625rem;text-transform:uppercase;white-space:nowrap}.progress-stars{color:#f59e0b;font-size:.9375rem;letter-spacing:.1em}.centered-placeholder{align-items:center;justify-content:center;min-height:340px}.placeholder-box{background:#fff;border:1.5px dashed #e2e8f0;border-radius:1.25rem;color:#94a3b8;max-width:360px;padding:3rem 2rem;text-align:center;width:100%}.placeholder-icon{font-size:3rem;margin-bottom:.75rem}.placeholder-box h3{color:#64748b;font-size:1.125rem;font-weight:700;margin-bottom:.5rem}.placeholder-box p{font-size:.875rem}.purchase-loading-msg{align-items:center;display:flex;gap:.6rem;justify-content:center;width:100%}.purchase-loading-spinner{animation:purchase-loading-spin .75s linear infinite;border:2px solid #47556933;border-radius:50%;border-top-color:#3fa2cc;height:.95rem;width:.95rem}@keyframes purchase-loading-spin{to{transform:rotate(1turn)}}.purchase-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.purchase-list-row{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:.75rem;color:inherit;cursor:pointer;display:flex;font-family:inherit;gap:1rem;justify-content:space-between;padding:.875rem 1rem;text-align:left;transition:background .15s,border-color .15s,transform .1s;width:100%}.purchase-list-row:hover{background:#f8fafc;border-color:#a7e7dc}.purchase-list-row:active{transform:translateY(1px)}.purchase-row-main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.purchase-row-id{color:#1e293b;font-family:SFMono-Regular,Consolas,monospace;font-size:.8125rem;font-weight:700;letter-spacing:.04em}.purchase-row-date{color:#64748b;font-size:.75rem}.purchase-row-meta{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.purchase-row-items{color:#64748b;font-size:.75rem;font-weight:600}.purchase-row-total{color:#08f;font-size:.9rem;font-weight:800}.purchase-row-chevron{color:#94a3b8;font-size:1.25rem;font-weight:700;line-height:1}@media (max-width:520px){.purchase-list-row{align-items:flex-start;flex-direction:column}.purchase-row-meta{justify-content:flex-start;width:100%}.purchase-row-chevron{display:none}}.entitlement-row{align-items:flex-start;background:#fff;border:1.5px solid #e2e8f0;border-radius:.75rem;display:flex;gap:1rem;justify-content:space-between;padding:.875rem 1rem;width:100%}.entitlement-row-body{display:flex;flex-direction:column;gap:.5rem;min-width:0}.entitlement-details{display:flex;flex-wrap:wrap;gap:.35rem 1.5rem;margin:0}.entitlement-details>div{display:flex;flex-direction:column;gap:.1rem}.entitlement-details dt{color:#94a3b8;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.entitlement-details dd{color:#334155;font-size:.8125rem;margin:0}.entitlement-key-code{color:#12161d;font-family:SFMono-Regular,Consolas,monospace;font-size:1rem;font-weight:900;letter-spacing:.04em;word-break:break-all}.entitlement-copy-btn{background:#fff;border:1.5px solid #a7e7dc;border-radius:999px;color:#0f766e;cursor:pointer;font-family:inherit;font-size:.75rem;font-weight:700;padding:.3rem .75rem;transition:background .15s}.entitlement-copy-btn:hover{background:#f0fdfa}@media (max-width:520px){.entitlement-row{align-items:flex-start;flex-direction:column}}.profile-avatar-block{align-items:center;display:flex;flex-direction:column;gap:.5rem;padding:1.5rem 0 .5rem}.profile-avatar-lg{align-items:center;background:#08f;border-radius:50%;color:#fff;display:flex;font-size:1.875rem;font-weight:800;height:72px;justify-content:center;width:72px}.profile-username-label{color:#1e293b;font-size:1rem;font-weight:700}.profile-edit-toolbar{display:flex;justify-content:flex-end;margin-top:.75rem}.btn-edit-profile{align-items:center;background:#f0faff;border:1.5px solid #a7e7dc;border-radius:.55rem;color:#08f;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:700;gap:.45rem;padding:.55rem .95rem;transition:background .15s,color .15s,border-color .15s}.btn-edit-profile:hover{background:#08f;border-color:#08f;color:#fff}.profile-form{background:#fff;border:1.5px solid #e2e8f0;border-radius:1rem;gap:1rem;padding:1.5rem}.profile-field,.profile-form{display:flex;flex-direction:column}.profile-field{gap:.375rem}.profile-field label{color:#374151;font-size:.8125rem;font-weight:600}.field-input-row{align-items:center;display:flex;gap:.625rem}.profile-field input,.settings-form input{background:#fff;border:1.5px solid #e2e8f0;border-radius:.5rem;color:#1e293b;flex:1 1;font-size:.875rem;outline:none;padding:.5rem .75rem;transition:border-color .15s}.profile-field input:focus,.settings-form input:focus{border-color:#08f;box-shadow:0 0 0 3px #0088ff26}.profile-field input:disabled,.settings-form input:disabled{background:#f8fafc;color:#94a3b8;cursor:default}.profile-field input:disabled::placeholder{color:#94a3b8;opacity:1}.profile-select-wrap{align-items:center;border-radius:.5rem;display:flex;position:relative;transition:transform .16s ease,box-shadow .16s ease}.profile-select-trigger{background:#fff;border:1.5px solid #e2e8f0;border-radius:.5rem;color:#1e293b;cursor:pointer;font-size:.875rem;padding:.5rem 2.25rem .5rem .75rem;text-align:left;transition:border-color .15s,box-shadow .15s,background .15s;width:100%}.profile-select-trigger:hover:not(:disabled){border-color:#a7e7dc}.profile-select-trigger:focus-visible,.profile-select-wrap.open .profile-select-trigger{background:#fff;border-color:#08f;box-shadow:0 0 0 3px #0088ff26;outline:none}.profile-select-trigger:disabled{background:#f8fafc;color:#94a3b8;cursor:default}.profile-select-trigger-label{display:inline-block}.profile-select-indicator{align-items:center;color:#64748b;display:inline-flex;justify-content:center;pointer-events:none;position:absolute;right:.7rem;top:50%;transform:translateY(-50%);transition:color .2s ease,transform .2s ease}.profile-select-wrap:hover .profile-select-indicator{color:#08f}.profile-select-wrap:focus-within{box-shadow:0 6px 16px #0088ff24}.profile-select-wrap.open .profile-select-indicator,.profile-select-wrap:focus-within .profile-select-indicator{color:#08f;transform:translateY(-50%) rotate(180deg)}.profile-select-trigger:disabled+.profile-select-indicator{color:#94a3b8}.profile-select-menu{background:#fff;border:1px solid #d8e3ee;border-radius:.75rem;box-shadow:0 14px 34px #0f172a24;left:0;list-style:none;margin:0;max-height:220px;opacity:0;overflow-y:auto;padding:.35rem;pointer-events:none;position:absolute;right:0;top:calc(100% + .4rem);transform:translateY(-6px) scale(.98);transform-origin:top center;transition:opacity .18s ease,transform .2s ease;z-index:15}.profile-select-wrap.open .profile-select-menu{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.profile-select-item-wrap{margin:0}.profile-select-item{background:#0000;border:none;border-radius:.5rem;color:#334155;cursor:pointer;font-size:.9rem;padding:.6rem .75rem;text-align:left;transition:background .14s ease,color .14s ease;width:100%}.profile-select-item:hover{background:#eef6ff;color:#0369a1}.profile-select-item.selected{background:linear-gradient(180deg,#eaf4ff,#dff0ff);color:#0b62a3;font-weight:600}.form-actions{display:flex;gap:.75rem;padding-top:.25rem}.btn-save{background:#3fa2cc;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:700;padding:.5rem 1.25rem;transition:background .15s}.btn-save:hover:not(:disabled){background:#29b6f6}.btn-save:disabled{cursor:not-allowed;opacity:.6}.btn-cancel-form{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:.5rem;color:#334155;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:background .15s}.btn-cancel-form:hover:not(:disabled){background:#e2e8f0}.settings-icon-block{align-items:center;display:flex;flex-direction:column;gap:.5rem;padding:1rem 0 .25rem;text-align:center}.settings-lock-icon{color:#334155;line-height:1}.settings-main-icon{display:block;height:40px;width:40px}.settings-icon-block p{color:#64748b;font-size:.875rem}.settings-card{background:#fff;border:1.5px solid #e2e8f0;border-radius:1rem;overflow:hidden;transition:border-color .15s}.settings-card:focus-within{border-color:#a7e7dc}.settings-card-header{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:1rem 1.25rem;text-align:left;transition:background .15s;width:100%}.settings-card-header:hover{background:#f0faf8}.settings-card-title{align-items:center;color:#1e293b;display:inline-flex;font-size:.9375rem;font-weight:700;gap:.5rem}.settings-title-icon{color:#64748b;flex-shrink:0}.settings-card-chevron{color:#94a3b8;font-size:.75rem}.settings-card-content{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .26s ease,opacity .2s ease;visibility:hidden}.settings-card-content.open{grid-template-rows:1fr;opacity:1;visibility:visible}.settings-card-content-inner{min-height:0;overflow:hidden}.settings-form{border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:1rem;padding:.25rem 1.25rem 1.25rem}@media (max-width:640px){.sidebar{height:calc(100vh - 100px);left:0;min-width:100vw;position:fixed;top:100px;transform:translateX(0);transition:transform .22s ease;width:100vw;z-index:40}.dashboard-shell:not(.sidebar-collapsed) .sidebar,.sidebar{box-shadow:none}.dashboard-shell.sidebar-collapsed .sidebar{box-shadow:none;min-width:100vw;pointer-events:none;transform:translateX(-100%);width:100vw}.dashboard-shell:not(.sidebar-collapsed) .nav-label{max-width:180px;opacity:1;pointer-events:auto;position:static}.dashboard-shell:not(.sidebar-collapsed) .nav-item{gap:.75rem;justify-content:flex-start;padding:.625rem 1rem}.main-wrapper{width:100%}.mobile-sidebar-fab{align-items:center;background:#fff;border:1px solid #dbe5ef;border-radius:999px;bottom:14px;box-shadow:0 8px 18px #0f172a1f;color:#64748b;cursor:pointer;display:inline-flex;height:38px;justify-content:center;left:10px;position:fixed;width:38px;z-index:55}.mobile-sidebar-fab:hover{background:#f8fafc;color:#3b4e67}.dashboard-shell:not(.sidebar-collapsed) .mobile-sidebar-fab{display:none}.main-content{padding:1rem}.content-footer{padding:.625rem 1rem}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-variation-settings:"wdth" 100}.App{min-height:100vh;text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin{to{transform:rotate(1turn)}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}