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}.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{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}.auth-page{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:1.5rem}.auth-card{animation:fadeUp .3s ease-out;background:#fff;border-radius:1.5rem;box-shadow:0 20px 60px #0f172a14;max-width:460px;padding:3rem 2.5rem 2.25rem;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:#fbf8f0;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}.form-row .form-group input{font-size:.875rem;padding-left:.5rem;padding-right:.5rem}.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:#f0faf8;border-color:#08f}.device-icon-wrap{align-items:center;background:#e2e8f0;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}.device-item.current .device-icon-wrap{background:#c5ece4}.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:#e6f6f3;border-radius:999px;color:#3da999;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:1rem;padding:1.5rem 2rem 2rem}.key-input{background:#fbf8f0;border:1px solid #f0ece1;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}.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{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:.75rem;justify-content:space-between;padding:.75rem 1rem}.device-card,.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}.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 0;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}.invite-code-warning{background:#fff8e1;border:1px solid #ffe082;border-radius:8px;color:#5a4500;font-size:.875rem;line-height:1.5;margin-bottom:16px;padding:12px 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:#f8fafb;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{background:#fff;border-right:1px solid #e2e8f0;flex-direction:column;min-width:220px;transition:width .22s ease,min-width .22s ease;width:220px;z-index:10}.dashboard-shell.sidebar-collapsed .sidebar{min-width:64px;width:64px}.sidebar-header{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;flex-shrink:0;height:60px;justify-content:space-between;padding:0 .75rem}.sidebar-brand-icon{display:block;flex-shrink:0;height:2.75rem;object-fit:contain;width:auto}.sidebar-toggle-btn{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}.dashboard-shell.sidebar-collapsed .sidebar-header{justify-content:center}.dashboard-shell.sidebar-collapsed .sidebar-brand-icon{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:#475569;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.75rem;padding:.625rem 1rem;text-align:left;transition:background .15s,color .15s;white-space:nowrap;width:100%}.nav-item:hover{background:#f0faf8;color:#08f}.nav-item.active{background:#e6f6f3;color:#3da999;font-weight:700}.nav-icon{display:inline-block;flex-shrink:0;font-size:1.1rem;height:1.25rem;object-fit:contain;width:1.25rem}.nav-label{max-width:180px;opacity:1;overflow:hidden;transition:opacity .15s,max-width .22s}.dashboard-shell.sidebar-collapsed .nav-label{max-width:0;opacity:0}.dashboard-shell.sidebar-collapsed .nav-item{justify-content:center;padding:.625rem 0}.sidebar-actions{border-top:1px solid #e2e8f0;display:flex;flex-direction:column;flex-shrink:0;gap:.25rem;padding:.5rem 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:1px solid #f1f5f9;flex-shrink:0;padding:.5rem 0}.nav-footer-item{color:#94a3b8;font-size:.8125rem}.nav-footer-item:hover{color:#64748b}.main-wrapper{display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.topbar{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;box-shadow:0 1px 4px #0000000a;display:flex;flex-shrink:0;height:60px;justify-content:space-between;padding:0 1.75rem}.topbar-title{color:#1e293b;font-size:1.125rem;font-weight:800;letter-spacing:-.01em}.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:#fee2e2;border:none;border-radius:.5rem;color:#dc2626;cursor:pointer;font-size:.8125rem;font-weight:700;padding:.375rem .875rem;transition:background .15s}.btn-logout:hover:not(:disabled){background:#fecaca}.btn-logout: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:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:center;padding:.75rem 2rem;width:100%}.footer-brand-text{color:#64748b;font-size:.8125rem;font-weight:600;letter-spacing:.01em}.section-container{display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:860px;width:100%}.section-desc{color:#64748b;font-size:.9rem}.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:center;background:#fff;border:1.5px solid #e6f6f3;border-radius:1rem;display:flex;gap:1rem;padding:1.25rem 1.5rem}.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}.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:#f0faf8;border-color:#a7e7dc}.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))}.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-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-body{flex:1 1;padding:.75rem 1rem .5rem}.product-name{color:#1e293b;font-size:.9375rem;font-weight:700;margin-bottom:.25rem}.product-description{color:#64748b;font-size:.8125rem;line-height:1.5}.product-card-footer{padding:.75rem 1rem 1rem}.btn-open-product{background:#4fc3f5;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}.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{background:#4fc3f5;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.8125rem;font-weight:700;padding:.45rem 1rem;transition:background .15s}.btn-primary-sm:hover{background:#29b6f6}.btn-secondary-sm{background:#fff;border:1.5px solid #a7e7dc;border-radius:.5rem;color:#08f;cursor:pointer;font-size:.8125rem;font-weight:700;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}.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-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}}.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-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}.btn-edit-field{background:none;border:none;border-radius:.375rem;cursor:pointer;font-size:1rem;padding:.25rem;transition:background .15s}.btn-edit-field:hover{background:#f1f5f9}.profile-select{-webkit-appearance:none;appearance:none;background:#fff;border:1.5px solid #e2e8f0;border-radius:.5rem;color:#1e293b;cursor:pointer;flex:1 1;font-size:.875rem;outline:none;padding:.5rem .75rem;transition:border-color .15s}.profile-select:focus{border-color:#08f;box-shadow:0 0 0 3px #0088ff26}.profile-select:disabled{background:#f8fafc;color:#94a3b8;cursor:default}.form-actions{display:flex;gap:.75rem;padding-top:.25rem}.btn-save{background:#4fc3f5;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{font-size:2.5rem}.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{color:#1e293b;font-size:.9375rem;font-weight:700}.settings-card-chevron{color:#94a3b8;font-size:.75rem}.settings-form{border-top:1px solid #f1f5f9;display:flex;flex-direction:column;gap:1rem;padding:.25rem 1.25rem 1.25rem}@media (max-width:640px){.dashboard-shell:not(.sidebar-collapsed) .sidebar{min-width:64px;width:64px}.dashboard-shell:not(.sidebar-collapsed) .nav-label{max-width:0;opacity:0}.dashboard-shell:not(.sidebar-collapsed) .nav-item{justify-content:center;padding:.625rem 0}.dashboard-shell:not(.sidebar-collapsed) .sidebar-brand-icon{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}