.account-page{min-height:calc(100vh - var(--header-height) - 200px);padding:var(--space-14) 0 var(--space-16)}.account-layout{align-items:start;display:grid;gap:var(--space-11);grid-template-columns:260px 1fr}.account-title{color:var(--color-dark);font-size:var(--text-4xl);font-weight:var(--font-bold);margin-bottom:var(--space-9)}.account-sidebar{background:var(--color-white);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--space-9);position:sticky;top:calc(var(--header-height) + var(--space-9))}.account-profile{align-items:center;border-bottom:var(--border-width) solid var(--color-border);display:flex;flex-direction:column;margin-bottom:var(--space-8);padding-bottom:var(--space-8);text-align:center}.account-avatar{border-radius:var(--radius-full);height:72px;margin-bottom:var(--space-5);-o-object-fit:cover;object-fit:cover;width:72px}.account-avatar--initial{align-items:center;background:var(--color-primary-light);color:var(--color-primary);display:flex;font-size:var(--text-4xl);font-weight:var(--font-bold);justify-content:center}.account-user-name{color:var(--color-dark);font-size:var(--text-lg);font-weight:var(--font-semibold)}.account-nav{display:flex;flex-direction:column;gap:var(--space-2)}.account-nav-link{align-items:center;border-radius:var(--radius-lg);color:var(--color-body);display:flex;font-size:var(--text-base);font-weight:var(--font-medium);gap:var(--space-5);padding:var(--space-5) var(--space-6);text-decoration:none;transition:all var(--transition-fast)}.account-nav-link:hover{background:var(--color-background);color:var(--color-dark)}.account-nav-link.is-active{background:var(--color-primary-light);color:var(--color-primary)}.account-nav-icon{flex-shrink:0;height:18px;width:18px}.account-logout-wrapper{border-top:var(--border-width) solid var(--color-border);margin-top:var(--space-8);padding-top:var(--space-8)}.account-logout{align-items:center;background:#fff0;border:none;border-radius:var(--radius-lg);color:var(--color-error);cursor:pointer;display:flex;font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--font-medium);gap:var(--space-5);padding:var(--space-5) var(--space-6);transition:all var(--transition-fast);width:100%}.account-logout:hover{background:var(--color-error-light)}.account-content{min-width:0}.account-tab[hidden]{display:none}.trackers-header{align-items:center;display:flex;gap:var(--space-9);justify-content:space-between;margin-bottom:var(--space-9)}.trackers-header .account-title{margin-bottom:0}.trackers-search{flex-shrink:0;max-width:280px}.trackers-empty,.trackers-error,.trackers-loading{align-items:center;background:var(--color-white);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-2xl);display:flex;flex-direction:column;justify-content:center;padding:var(--space-16) var(--space-9);text-align:center}.trackers-loading{color:var(--color-muted);gap:var(--space-6)}.loading-spinner{animation:spin .8s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:32px;width:32px}.trackers-empty-icon,.trackers-error-icon{color:var(--color-muted);height:48px;margin-bottom:var(--space-6);width:48px}.trackers-empty-title,.trackers-error-title{color:var(--color-dark);font-size:var(--text-2xl);font-weight:var(--font-semibold);margin-bottom:var(--space-4)}.trackers-empty-text,.trackers-error-text{color:var(--color-muted);font-size:var(--text-base);margin-bottom:var(--space-9);max-width:360px}.trackers-table-wrapper{background:var(--color-white);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-2xl)}.trackers-table{border-collapse:collapse;width:100%}.trackers-th{background:var(--color-background);border-bottom:var(--border-width) solid var(--color-border);color:var(--color-muted);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);padding:var(--space-6) var(--space-7);text-align:left;text-transform:uppercase}.trackers-th:first-child{border-radius:var(--radius-2xl) 0 0 0}.trackers-th:last-child{border-radius:0 var(--radius-2xl) 0 0}.trackers-th--product{width:40%}.trackers-th--actions{width:48px}.trackers-sort-btn{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:var(--space-2);padding:0;text-transform:inherit}.trackers-sort-btn:hover{color:var(--color-dark)}.sort-icon{display:none;height:13px;width:13px}.sort-icon--neutral{display:block;opacity:.4}.sort-icon--desc{transform:rotate(180deg)}.trackers-th[data-sort-active] .sort-icon--neutral{display:none}.trackers-th[data-sort-active=asc] .sort-icon--asc,.trackers-th[data-sort-active=desc] .sort-icon--desc{color:var(--color-primary);display:block}.trackers-row{border-bottom:var(--border-width) solid var(--color-border);transition:background var(--transition-fast)}.trackers-row:last-child{border-bottom:none}.trackers-row:last-child .trackers-td:first-child{border-radius:0 0 0 var(--radius-2xl)}.trackers-row:last-child .trackers-td:last-child{border-radius:0 0 var(--radius-2xl) 0}.trackers-row:hover{background:var(--color-background)}.trackers-td{padding:var(--space-6) var(--space-7);vertical-align:middle}.trackers-product{align-items:center;display:flex;gap:var(--space-5)}.trackers-product-image{background:var(--color-background);border-radius:var(--radius-md);flex-shrink:0;height:48px;-o-object-fit:contain;object-fit:contain;width:48px}.trackers-product-name{color:var(--color-dark);font-size:var(--text-base);font-weight:var(--font-medium);text-decoration:none}.trackers-product-name:hover{color:var(--color-primary)}.trackers-product-info{align-items:flex-start;display:flex;flex-direction:column;flex-wrap:wrap;gap:0;line-height:1.3}.trackers-product-geo{align-items:center;color:var(--color-muted);display:inline-flex;font-size:var(--text-xs);gap:var(--space-1)}.trackers-geo-flag{height:14px;width:14px}.trackers-price{color:var(--color-dark);font-size:var(--text-base);font-weight:var(--font-medium)}.trackers-tracker{align-items:center;background:var(--color-primary-light);border-radius:var(--radius-md);color:var(--color-primary);display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-medium);gap:var(--space-2);padding:var(--space-2) var(--space-4)}.trackers-tracker .icon{height:14px;width:14px}.trackers-actions{position:relative}.trackers-action-btn{align-items:center;background:#fff0;border:none;border-radius:var(--radius-md);color:var(--color-muted);cursor:pointer;display:flex;height:32px;justify-content:center;transition:all var(--transition-fast);width:32px}.trackers-action-btn:hover{background:var(--color-background);color:var(--color-dark)}.trackers-action-btn .icon{height:18px;width:18px}.trackers-action-menu{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown);min-width:140px;opacity:0;position:absolute;right:0;top:100%;transform:translateY(-4px);transition:all var(--transition-fast);visibility:hidden;z-index:var(--z-dropdown)}.trackers-action-menu.is-open{opacity:1;transform:translateY(0);visibility:visible}.trackers-action-menu-item{align-items:center;background:none;border:none;color:var(--color-body);cursor:pointer;display:flex;font-family:var(--font-family);font-size:var(--text-sm);gap:var(--space-4);padding:var(--space-4) var(--space-5);text-align:left;transition:all var(--transition-fast);width:100%}.trackers-action-menu-item:first-child{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.trackers-action-menu-item:last-child{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.trackers-action-menu-item:hover{background:var(--color-background);color:var(--color-dark)}.trackers-action-menu-item--danger{color:var(--color-error)}.trackers-action-menu-item--danger:hover{background:var(--color-error-light);color:var(--color-error)}.trackers-action-menu-item .icon{height:16px;width:16px}.settings-section{display:flex;flex-direction:column;gap:var(--space-9)}.settings-card{background:var(--color-white);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-2xl);padding:var(--space-9)}.settings-card-title{border-bottom:var(--border-width) solid var(--color-border);color:var(--color-dark);font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:var(--space-8);padding-bottom:var(--space-6)}.settings-form{display:flex;flex-direction:column;gap:var(--space-7)}.settings-current{align-items:center;background:var(--color-background);border-radius:var(--radius-lg);display:flex;gap:var(--space-4);margin-bottom:var(--space-3);padding:var(--space-5) var(--space-6)}.settings-current-label{color:var(--color-muted);font-size:var(--text-sm)}.settings-current-value{color:var(--color-dark);font-size:var(--text-sm);font-weight:var(--font-medium)}.password-input-wrapper{position:relative}.password-input-wrapper .form-input{padding-right:48px}.password-toggle{align-items:center;background:#fff0;border:none;color:var(--color-muted);cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:var(--space-5);top:50%;transform:translateY(-50%);transition:color var(--transition-fast);width:28px}.password-toggle:hover{color:var(--color-dark)}.password-icon{height:18px;width:18px}.password-icon--hide,.password-toggle.is-visible .password-icon--show{display:none}.password-toggle.is-visible .password-icon--hide{display:block}.settings-preference{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6)}.settings-checkbox{align-items:flex-start;cursor:pointer;display:flex;gap:var(--space-4)}.settings-checkbox input{height:0;opacity:0;position:absolute;width:0}.settings-checkbox-box{align-items:center;background:var(--color-white);border:2px solid var(--color-border-hover);border-radius:5px;display:flex;flex-shrink:0;height:20px;justify-content:center;margin-top:2px;transition:all var(--transition-fast);width:20px}.settings-checkbox-box .icon{color:var(--color-white);height:12px;opacity:0;transform:scale(.5);transition:all var(--transition-fast);width:12px}.settings-checkbox:hover .settings-checkbox-box{border-color:var(--color-primary)}.settings-checkbox input:checked+.settings-checkbox-box{background:var(--color-primary);border-color:var(--color-primary)}.settings-checkbox input:checked+.settings-checkbox-box .icon{opacity:1;transform:scale(1)}.settings-checkbox-content{display:flex;flex-direction:column;gap:var(--space-1)}.settings-checkbox-label{color:var(--color-dark);font-size:var(--text-base);font-weight:var(--font-semibold)}.settings-preference-desc{color:var(--color-muted);font-size:var(--text-sm)}.settings-inline-warning{align-items:flex-start;animation:slideDown .2s ease-out;background:rgb(255 193 7 / .1);border:1px solid var(--color-warning,#ffc107);border-radius:var(--radius-md);color:var(--color-body);display:flex;font-size:var(--text-sm);gap:var(--space-3);line-height:var(--leading-relaxed);margin-top:var(--space-4);padding:var(--space-4)}.settings-warning-icon{color:var(--color-warning,#ffc107);flex-shrink:0;height:18px;margin-top:2px;width:18px}.settings-inline-warning strong{color:var(--color-dark);font-weight:var(--font-semibold)}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.settings-roundup-options{border-top:var(--border-width) solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-5);margin-left:36px;margin-top:var(--space-5);padding-top:var(--space-5)}.settings-roundup-types .form-label{margin-bottom:var(--space-3)}.settings-type-checkboxes{display:flex;flex-wrap:wrap;gap:var(--space-3)}.settings-type-checkbox{align-items:center;background:var(--color-background);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-body);cursor:pointer;display:flex;font-size:var(--text-sm);gap:var(--space-2);padding:var(--space-2) var(--space-4);transition:all var(--transition-fast)}.settings-type-checkbox:hover{border-color:var(--color-border-hover)}.settings-type-checkbox input{height:0;opacity:0;position:absolute;width:0}.settings-type-box{align-items:center;background:var(--color-white);border:2px solid var(--color-border-hover);border-radius:4px;display:flex;flex-shrink:0;height:16px;justify-content:center;transition:all var(--transition-fast);width:16px}.settings-type-box .icon{color:var(--color-white);height:10px;opacity:0;transform:scale(.5);transition:all var(--transition-fast);width:10px}.settings-type-checkbox input:checked+.settings-type-box{background:var(--color-primary);border-color:var(--color-primary)}.settings-type-checkbox input:checked+.settings-type-box .icon{opacity:1;transform:scale(1)}.settings-type-checkbox input:checked~span:last-child{color:var(--color-dark);font-weight:var(--font-medium)}.settings-frequency{display:flex;flex-direction:column;gap:var(--space-3)}.settings-frequency .custom-select{max-width:180px}.settings-form .btn{align-self:flex-start;margin-top:var(--space-3)}.settings-description{color:var(--color-muted);font-size:var(--text-sm);margin-bottom:var(--space-6)}.connected-accounts{display:flex;flex-direction:column;gap:var(--space-4)}.connected-accounts-loading{align-items:center;color:var(--color-muted);display:flex;justify-content:center;padding:var(--space-8)}.connected-accounts-loading .spinner{animation:spin 1s linear infinite;height:24px;width:24px}.connected-accounts-empty,.connected-accounts-error{color:var(--color-muted);font-size:var(--text-sm);padding:var(--space-4) 0}.connected-account{background:var(--color-background);border-radius:var(--radius-lg);justify-content:space-between;padding:var(--space-5) var(--space-6)}.connected-account,.connected-account-info{align-items:center;display:flex;gap:var(--space-4)}.connected-account-info{min-width:0}.connected-account-icon{color:var(--color-body);flex-shrink:0}.connected-account-name{color:var(--color-dark);font-size:var(--text-base);font-weight:var(--font-medium)}.connected-account-status{background:var(--color-success-light);border-radius:var(--radius-full);color:var(--color-success);font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-3)}.connected-account-disconnect{flex-shrink:0}@media (max-width:500px){.connected-account{align-items:flex-start;flex-direction:column;gap:var(--space-4)}.connected-account-disconnect{width:100%}}.tracker-modal-product{align-items:center;background:var(--color-background);border-radius:var(--radius-lg);display:flex;gap:var(--space-6);margin-bottom:var(--space-8);padding:var(--space-6)}.tracker-modal-image{background:var(--color-white);border-radius:var(--radius-md);flex-shrink:0;height:64px;-o-object-fit:contain;object-fit:contain;width:64px}.tracker-modal-name{color:var(--color-dark);font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--space-1)}.tracker-modal-price{color:var(--color-muted);font-size:var(--text-sm)}.tracker-modal-price strong{color:var(--color-dark);font-weight:var(--font-semibold)}.tracker-type-fieldset{border:none;margin:0;padding:0}.tracker-type-fieldset .form-label{margin-bottom:var(--space-5)}.tracker-type-option{align-items:center;border:var(--border-width-2) solid var(--color-border);border-radius:var(--radius-lg);display:flex;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-5) var(--space-6);transition:all var(--transition-fast)}.tracker-type-option:has(.form-check-input:checked){background:var(--color-primary-light);border-color:var(--color-primary)}.tracker-type-option .form-check-label{flex:1}.tracker-value-input{align-items:center;display:flex;flex-shrink:0;gap:var(--space-2)}.tracker-currency{color:var(--color-muted);font-size:var(--text-base);font-weight:var(--font-medium)}.tracker-amount-input{padding:var(--space-3) var(--space-4);text-align:right;width:100px}.modal-dialog--sm{max-width:400px}.btn-danger{background:var(--color-error);color:var(--color-white)}.btn-danger:hover{background:#c82333}@media (max-width:900px){.trackers-table-wrapper{background:#fff0;border:none;border-radius:0}.trackers-table{display:block}.trackers-table thead{display:none}.trackers-table tbody{display:flex;flex-direction:column;gap:var(--space-4)}.trackers-row{border:var(--border-width) solid var(--color-border);border-radius:var(--radius-xl);display:grid;gap:var(--space-4);grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto;padding:var(--space-5);position:relative}.trackers-row,.trackers-row:hover{background:var(--color-white)}.trackers-row:last-child{border-bottom:var(--border-width) solid var(--color-border)}.trackers-td{padding:0}.trackers-td--product{grid-column:1/-1;grid-row:1;padding-right:var(--space-10)}.trackers-td--actions{position:absolute;right:var(--space-5);top:var(--space-5)}.trackers-td--current,.trackers-td--start,.trackers-td--tracker{align-items:flex-start;display:flex;flex-direction:column;gap:var(--space-1);grid-row:2}.trackers-td--start{grid-column:1}.trackers-td--current{grid-column:2}.trackers-td--tracker{grid-column:3}.trackers-td--start:before{content:"Start"}.trackers-td--current:before,.trackers-td--start:before{color:var(--color-muted);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.trackers-td--current:before{content:"Current"}.trackers-td--tracker:before{color:var(--color-muted);content:"Alert";font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase}.trackers-row:last-child .trackers-td:first-child,.trackers-row:last-child .trackers-td:last-child{border-radius:0}}@media (max-width:650px){.account-page{padding:var(--space-9) 0 var(--space-14)}.account-layout{grid-template-columns:1fr}.account-sidebar{align-items:stretch;display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6);position:static}.account-profile{flex-direction:column;text-align:center}.account-avatar{height:56px;width:56px}.account-avatar--initial{font-size:var(--text-2xl)}.account-nav{flex-direction:column;gap:var(--space-2)}.account-logout-wrapper{border-top:var(--border-width) solid var(--color-border);margin-top:0;padding-top:var(--space-5)}.trackers-header{align-items:stretch;flex-direction:column;gap:var(--space-6)}.trackers-search{max-width:none}.account-title{font-size:var(--text-3xl)}.settings-card{padding:var(--space-7)}.tracker-modal-product{flex-direction:column;text-align:center}.tracker-type-option{flex-wrap:wrap}.tracker-value-input{margin-top:var(--space-3);width:100%}.tracker-amount-input{flex:1;text-align:left}.settings-roundup-options{margin-left:0}}.price-alert-modal .modal-content--sm{max-width:400px}.price-alert-modal-body{padding:var(--space-6)}.price-alert-loading{align-items:center;color:var(--color-primary);display:flex;justify-content:center;padding:var(--space-12) 0}.price-alert-loading .spinner{height:32px;width:32px}.price-alert-header{margin-bottom:var(--space-5)}.price-alert-title{color:var(--color-dark);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0}.price-alert-geo-notice{align-items:flex-start;background:var(--color-warning-light,rgb(255 193 7 / .1));border:1px solid var(--color-warning,#ffc107);border-radius:var(--radius-md);color:var(--color-dark);display:flex;font-size:var(--text-sm);gap:var(--space-3);line-height:var(--leading-relaxed);margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4)}.price-alert-geo-notice-icon{color:var(--color-warning,#ffc107);flex-shrink:0;height:18px;margin-top:2px;width:18px}.price-alert-geo-notice strong{font-weight:var(--font-semibold)}.price-alert-geo-flag{display:inline-block;height:14px;margin:0 1px;transform:translateY(-2px);vertical-align:middle;width:14px}.price-alert-product{align-items:center;background:var(--color-background);border-radius:var(--radius-lg);display:flex;gap:var(--space-4);margin-bottom:var(--space-5);padding:var(--space-4)}.price-alert-product-img{background:#fff;border-radius:var(--radius-md);height:56px;-o-object-fit:contain;object-fit:contain;width:56px}.price-alert-product-info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.price-alert-product-name{color:var(--color-dark);font-size:var(--text-sm);font-weight:var(--font-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.price-alert-product-price{color:var(--color-muted);font-size:var(--text-sm)}.price-alert-price-change{align-items:center;color:var(--color-success);display:flex;font-size:var(--text-xs);gap:var(--space-1);margin-top:var(--space-1)}.price-alert-change-icon{flex-shrink:0;height:12px;width:12px}.price-alert-form{display:flex;flex-direction:column;gap:var(--space-4)}.price-alert-type-label{color:var(--color-dark);font-size:var(--text-sm);font-weight:var(--font-medium)}.price-alert-toggle{background:var(--color-background);border-radius:var(--radius-lg);display:flex;gap:var(--space-2);padding:var(--space-1)}.price-alert-toggle-btn{background:#fff0;border:none;border-radius:var(--radius-md);color:var(--color-muted);cursor:pointer;flex:1;font-family:var(--font-family);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-3) var(--space-4);transition:all var(--transition-fast)}.price-alert-toggle-btn:hover{color:var(--color-body)}.price-alert-toggle-btn.is-active{background:var(--color-white);color:var(--color-dark)}.price-alert-input-group[hidden]{display:none}.price-alert-label{color:var(--color-dark);display:block;font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:var(--space-2)}.price-alert-input-wrapper{align-items:center;display:flex;position:relative}.price-alert-input-prefix{color:var(--color-muted);font-size:var(--text-base);font-weight:var(--font-medium);left:var(--space-4);pointer-events:none;position:absolute}.price-alert-input{background:#fff;border:1px solid var(--color-border-hover);border-radius:var(--radius-md);color:var(--color-dark);font-size:var(--text-base);font-weight:var(--font-semibold);padding:var(--space-3) var(--space-4) var(--space-3) var(--space-8);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.price-alert-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.price-alert-input::-moz-placeholder{color:var(--color-muted);font-weight:var(--font-normal)}.price-alert-input::placeholder{color:var(--color-muted);font-weight:var(--font-normal)}.price-alert-input::-webkit-inner-spin-button,.price-alert-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.price-alert-input[type=number]{-moz-appearance:textfield}.price-alert-suggestions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1)}.price-alert-suggestion{background:var(--color-background);border:none;border-radius:var(--radius-md);color:var(--color-body);cursor:pointer;font-family:var(--font-family);font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-2) var(--space-3);transition:all var(--transition-fast)}.price-alert-suggestion:hover{background:var(--color-border);color:var(--color-dark)}.price-alert-error{background:rgb(220 53 69 / .08);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--text-sm);padding:var(--space-3)}.price-alert-submit{justify-content:center;position:relative}.price-alert-submit-loading{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.price-alert-submit-loading .spinner{height:20px;width:20px}.price-alert-delete{background:none;border:none;color:var(--color-error);cursor:pointer;display:block;font-size:var(--text-sm);margin-top:var(--space-4);padding:var(--space-2);text-align:center;transition:opacity var(--transition-fast);width:100%}.price-alert-delete:hover{opacity:.8}.price-alert-confirm-delete{padding:var(--space-4) 0;text-align:center}.price-alert-confirm-icon{align-items:center;background:rgb(220 53 69 / .08);border-radius:50%;color:var(--color-error);display:flex;height:56px;justify-content:center;margin:0 auto var(--space-4);width:56px}.price-alert-confirm-icon svg{height:28px;width:28px}.price-alert-confirm-title{color:var(--color-dark);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0 0 var(--space-2)}.price-alert-confirm-text{color:var(--color-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0 0 var(--space-6)}.price-alert-confirm-actions{display:flex;gap:var(--space-3)}.price-alert-confirm-actions .btn{flex:1}.price-alert-delete-loading{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.price-alert-delete-loading .spinner{height:20px;width:20px}.price-alert-permission{background:var(--color-background);border-radius:var(--radius-lg);padding:var(--space-5)}.price-alert-permission-text{color:var(--color-body);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0 0 var(--space-5)}.price-alert-permission-toggle{align-items:flex-start;background:var(--color-white);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--space-4);padding:var(--space-5);transition:border-color var(--transition-fast)}.price-alert-permission-toggle:has(input:checked){border-color:var(--color-primary)}.price-alert-permission-toggle input{height:0;opacity:0;position:absolute;width:0}.price-alert-permission-checkbox{align-items:center;background:var(--color-white);border:2px solid var(--color-border-hover);border-radius:5px;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:all var(--transition-fast);width:20px}.price-alert-permission-checkbox .icon{color:var(--color-white);height:12px;opacity:0;transform:scale(.5);transition:all var(--transition-fast);width:12px}.price-alert-permission-toggle input:checked+.price-alert-permission-checkbox{background:var(--color-primary);border-color:var(--color-primary)}.price-alert-permission-toggle input:checked+.price-alert-permission-checkbox .icon{opacity:1;transform:scale(1)}.price-alert-permission-label{display:flex;flex-direction:column;gap:var(--space-1)}.price-alert-permission-label strong{color:var(--color-dark);font-size:var(--text-sm);font-weight:var(--font-semibold)}.price-alert-permission-label span{color:var(--color-muted);font-size:var(--text-xs)}.price-alert-permission-actions{margin-top:var(--space-5)}.price-alert-permission-btn-loading{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.price-alert-permission-btn-loading .spinner{height:20px;width:20px}@media (max-width:480px){.price-alert-modal-body{padding:var(--space-5)}.price-alert-product{padding:var(--space-3)}.price-alert-product-img{height:48px;width:48px}.price-alert-toggle{flex-direction:column}}.complete-profile-page,.onboarding-page{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - var(--header-height));padding:var(--space-12) var(--space-7)}.complete-profile-page .container--narrow,.onboarding-page .container--narrow{max-width:600px;width:100%}.onboarding-card{background:var(--color-white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-card);padding:var(--space-13);text-align:center}.onboarding-header{margin-bottom:var(--space-11)}.onboarding-icon{align-items:center;background:var(--color-primary-light);border-radius:var(--radius-full);color:var(--color-primary);display:flex;height:64px;justify-content:center;margin:0 auto var(--space-8);width:64px}.onboarding-icon .icon{height:28px;width:28px}.onboarding-title{color:var(--color-dark);font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:var(--leading-tight);margin:0 0 var(--space-4)}.onboarding-subtitle{color:var(--color-muted);font-size:var(--text-base);line-height:var(--leading-relaxed);margin:0}.onboarding-preferences{display:flex;flex-direction:column;gap:var(--space-5);margin-bottom:var(--space-9);text-align:left}.onboarding-preference{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-7);transition:border-color var(--transition-fast)}.onboarding-preference:has(>.onboarding-toggle input:checked){border-color:var(--color-primary)}.onboarding-toggle{align-items:flex-start;cursor:pointer;display:flex;gap:var(--space-5)}.onboarding-toggle input{height:0;opacity:0;position:absolute;width:0}.onboarding-toggle-switch{background:var(--color-border-hover);border-radius:var(--radius-full);flex-shrink:0;height:24px;position:relative;transition:background var(--transition-fast);width:44px}.onboarding-toggle-switch:after{background:var(--color-white);border-radius:var(--radius-full);box-shadow:0 1px 3px rgb(0 0 0 / .1);content:"";height:20px;left:2px;position:absolute;top:2px;transition:transform var(--transition-fast);width:20px}.onboarding-toggle input:checked+.onboarding-toggle-switch{background:var(--color-primary)}.onboarding-toggle input:checked+.onboarding-toggle-switch:after{transform:translateX(20px)}.onboarding-toggle input:focus-visible+.onboarding-toggle-switch{box-shadow:var(--shadow-focus)}.onboarding-toggle-content{display:flex;flex:1;flex-direction:column;gap:var(--space-1)}.onboarding-toggle-header{align-items:center;display:flex;gap:var(--space-3)}.onboarding-toggle-icon{color:var(--color-muted);flex-shrink:0;height:20px;width:20px}.onboarding-toggle-icon .icon{height:20px;width:20px}.onboarding-toggle input:checked~.onboarding-toggle-content .onboarding-toggle-icon{color:var(--color-primary)}.onboarding-toggle-label{color:var(--color-dark);font-size:var(--text-base);font-weight:var(--font-semibold)}.onboarding-toggle-desc{color:var(--color-muted);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.onboarding-roundup-options{border-top:var(--border-width) solid var(--color-primary-light);display:flex;flex-direction:column;gap:var(--space-5);margin-left:calc(44px + var(--space-5));margin-top:var(--space-5);padding-top:var(--space-5)}.onboarding-options-label{color:var(--color-muted);display:block;font-size:var(--text-xs);font-weight:var(--font-medium);letter-spacing:var(--tracking-wide);margin-bottom:var(--space-3);text-transform:uppercase}.onboarding-category-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.onboarding-chip{align-items:center;background:var(--color-white);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-body);cursor:pointer;display:flex;font-size:var(--text-sm);gap:var(--space-2);padding:var(--space-2) var(--space-3);transition:all var(--transition-fast)}.onboarding-chip:hover{border-color:var(--color-border-hover)}.onboarding-chip input{height:0;opacity:0;position:absolute;width:0}.onboarding-chip-box{align-items:center;background:var(--color-white);border:2px solid var(--color-border-hover);border-radius:4px;display:flex;flex-shrink:0;height:16px;justify-content:center;transition:all var(--transition-fast);width:16px}.onboarding-chip-box .icon{color:var(--color-white);height:10px;opacity:0;transform:scale(.5);transition:all var(--transition-fast);width:10px}.onboarding-chip input:checked+.onboarding-chip-box{background:var(--color-primary);border-color:var(--color-primary)}.onboarding-chip input:checked+.onboarding-chip-box .icon{opacity:1;transform:scale(1)}.onboarding-chip input:checked~span:last-child{color:var(--color-dark);font-weight:var(--font-medium)}.onboarding-frequency .custom-select-sm{max-width:160px}.onboarding-form{display:flex;flex-direction:column;gap:var(--space-5)}.onboarding-form .form-error{background:var(--color-error-light);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--text-sm);padding:var(--space-4) var(--space-5)}.onboarding-form .btn-block{width:100%}.onboarding-form .btn-lg{font-size:var(--text-md);padding:var(--space-5) var(--space-8)}.onboarding-form .btn-loading{align-items:center;display:flex;justify-content:center}.onboarding-form .btn-loading .icon{animation:spin 1s linear infinite;height:20px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.onboarding-skip{color:var(--color-muted);font-size:var(--text-sm);margin-top:var(--space-7)}.onboarding-skip a{color:var(--color-body);text-decoration:underline;text-underline-offset:2px}.onboarding-skip a:hover{color:var(--color-dark)}@media (max-width:540px){.complete-profile-page,.onboarding-page{align-items:flex-start;padding:var(--space-8) var(--space-5)}.onboarding-card{padding:var(--space-9)}.onboarding-title{font-size:var(--text-2xl)}.onboarding-preference{padding:var(--space-5)}.onboarding-toggle{gap:var(--space-4)}.onboarding-toggle-content{flex-direction:column;gap:var(--space-2)}.onboarding-toggle-icon{display:none}.onboarding-roundup-options{margin-left:0;margin-top:var(--space-4)}.onboarding-chip{font-size:var(--text-xs);padding:var(--space-2)}}.auth-page{background:var(--color-white);min-height:100vh}.auth-layout{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.auth-image{background:var(--color-dark);overflow:hidden;position:relative}.auth-image img{height:100%;inset:0;-o-object-fit:cover;object-fit:cover;opacity:.9;position:absolute;width:100%}.auth-form-wrapper{align-items:center;background:var(--color-white);display:flex;justify-content:center;padding:var(--space-10);position:relative}.auth-form-inner{max-width:400px;width:100%}.auth-logo{display:block;left:var(--space-10);position:absolute;top:var(--space-8)}.auth-logo img{height:22px;width:auto}.auth-back{align-items:center;color:var(--color-muted);display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);margin-bottom:var(--space-6);text-decoration:none;transition:color var(--transition-fast)}.auth-back:hover{color:var(--color-dark)}.auth-back svg{flex-shrink:0}.auth-header{margin-bottom:var(--space-8)}.auth-title{color:var(--color-dark);font-size:var(--text-4xl);font-weight:var(--font-bold);margin:0 0 var(--space-2)}.auth-subtitle{color:var(--color-muted);font-size:var(--text-base);margin:0}.auth-social{flex-direction:column;margin-bottom:var(--space-6)}.auth-social,.auth-social-btn{display:flex;gap:var(--space-3)}.auth-social-btn{align-items:center;background:var(--color-white);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-dark);cursor:pointer;font-family:var(--font-family);font-size:var(--text-base);font-weight:var(--font-medium);justify-content:center;padding:var(--space-4) var(--space-5);transition:all var(--transition-fast);width:100%}.auth-social-btn:hover{background:var(--color-background);border-color:var(--color-border-hover)}.auth-social-icon{flex-shrink:0;height:20px;width:20px}.auth-divider{align-items:center;display:flex;gap:var(--space-4);margin-bottom:var(--space-6)}.auth-divider:after,.auth-divider:before{background:var(--color-border);content:"";flex:1;height:1px}.auth-divider span{color:var(--color-muted);font-size:var(--text-sm);white-space:nowrap}.auth-form{gap:var(--space-5);margin-bottom:var(--space-6)}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:var(--space-2)}.auth-label-row{align-items:center;display:flex;justify-content:space-between}.auth-label{color:var(--color-dark)}.auth-forgot,.auth-label{font-size:var(--text-sm);font-weight:var(--font-medium)}.auth-forgot{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.auth-forgot:hover{color:var(--color-primary-hover)}.auth-input{background:var(--color-white);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-dark);font-family:var(--font-family);font-size:var(--text-base);padding:var(--space-3) var(--space-4);transition:all var(--transition-fast);width:100%}.auth-input::-moz-placeholder{color:var(--color-muted)}.auth-input::placeholder{color:var(--color-muted)}.auth-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgb(94 44 237 / .1);outline:none}.auth-submit{margin-top:var(--space-2);width:100%}.auth-toggle{color:var(--color-muted);font-size:var(--text-sm);margin:0 0 var(--space-8);text-align:center}.auth-toggle a{color:var(--color-primary);font-weight:var(--font-medium);text-decoration:none;transition:color var(--transition-fast)}.auth-toggle a:hover{color:var(--color-primary-hover)}.auth-legal{color:var(--color-muted);font-size:var(--text-xs);line-height:var(--leading-relaxed);margin:var(--space-10) 0 0;text-align:center}.auth-legal a{color:var(--color-muted);text-decoration:underline;transition:color var(--transition-fast)}.auth-legal a:hover{color:var(--color-dark)}@media (max-width:1024px){.auth-layout{grid-template-columns:1fr}.auth-image{display:none}.auth-form-wrapper{min-height:100vh;padding:var(--space-8) var(--space-6);padding-top:var(--space-20)}.auth-logo{left:var(--space-6)}}@media (max-width:480px){.auth-form-wrapper{align-items:flex-start;padding:var(--space-6) var(--space-5);padding-top:var(--space-16)}.auth-logo{left:var(--space-5)}.auth-title{font-size:var(--text-3xl)}}.contact-page{background:var(--color-white);padding:var(--space-16) 0}.contact-layout{align-items:start;display:grid;gap:var(--space-15);grid-template-columns:1fr auto}.contact-header{margin-bottom:var(--space-10)}.contact-title{color:var(--color-dark);font-size:var(--text-7xl);font-weight:var(--font-bold);margin:0 0 var(--space-3)}.contact-subtitle{color:var(--color-muted);font-size:var(--text-lg);line-height:var(--leading-relaxed);margin:0}.contact-form{display:flex;flex-direction:column}.contact-form .form-group{margin-bottom:var(--space-6)}.contact-form .form-row{margin-bottom:0}.contact-form .form-row .form-group{margin-bottom:var(--space-6)}.contact-form .btn{align-self:flex-start;margin-top:var(--space-2)}.contact-form .form-label{font-size:var(--text-base);letter-spacing:normal;text-transform:none}.contact-sidebar{display:flex;flex-direction:column;gap:var(--space-10);padding-top:var(--space-4)}.contact-card-title{color:var(--color-dark);font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0 0 var(--space-2)}.contact-email-list{display:flex;flex-direction:column;gap:var(--space-4);list-style:none;margin:var(--space-4) 0 0;padding:0}.contact-email-list li{display:flex;flex-direction:column;gap:var(--space-1)}.contact-email-label{color:var(--color-muted);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase}.contact-email-list a{color:var(--color-primary);font-size:var(--text-sm);font-weight:var(--font-medium);text-decoration:none;transition:color var(--transition-fast)}.contact-email-list a:hover{color:var(--color-primary-hover)}.contact-address{color:var(--color-body);font-size:var(--text-sm);font-style:normal;line-height:var(--leading-relaxed)}.contact-sidebar .footer-socials{margin-top:var(--space-4)}@media (max-width:1024px){.contact-layout{gap:var(--space-12);grid-template-columns:1fr}.contact-form-wrapper{max-width:none}.contact-sidebar{display:grid;gap:var(--space-8);grid-template-columns:repeat(2,1fr);padding-top:0}}@media (max-width:768px){.contact-page{padding:var(--space-10) 0}.contact-sidebar{gap:var(--space-8);grid-template-columns:1fr}}@media (max-width:480px){.contact-page{padding:var(--space-8) 0}.contact-title{font-size:var(--text-4xl)}.contact-subtitle{font-size:var(--text-base)}.contact-form .btn{width:100%}}