.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-weight:500;border:none;border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast);position:relative;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.6}.btn--sm{height:2rem;padding:0 .75rem;font-size:.875rem}.btn--md{height:2.5rem;padding:0 1rem;font-size:.938rem}.btn--lg{height:3rem;padding:0 1.25rem;font-size:1rem}.btn--primary{background-color:var(--color-primary);color:#fff}.btn--primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn--secondary{background-color:var(--color-surface);color:var(--color-text)}.btn--secondary:hover:not(:disabled){background-color:var(--color-surface-elevated)}.btn--outline{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.btn--outline:hover:not(:disabled){background-color:var(--color-primary-light)}.btn--ghost{background-color:transparent;color:var(--color-text)}.btn--ghost:hover:not(:disabled){background-color:var(--color-surface)}.btn--danger{background-color:var(--color-error);color:#fff}.btn--danger:hover:not(:disabled){background-color:#dc2626}.btn--full-width{width:100%}.btn--loading{pointer-events:none}.btn__spinner{width:1rem;height:1rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .75s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn__content{display:flex;align-items:center}.btn__icon{display:flex;align-items:center;justify-content:center}.btn__icon svg{width:1rem;height:1rem}.reddit-oauth{padding:2rem}.reddit-oauth__card{max-width:500px;margin:0 auto;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;text-align:center}.reddit-oauth__icon{font-size:3rem;margin-bottom:1rem}.reddit-oauth__title{font-size:1.5rem;font-weight:600;color:var(--color-text);margin:0 0 .75rem}.reddit-oauth__description{font-size:.938rem;color:var(--color-text-secondary);line-height:1.6;margin:0 0 1.5rem}.reddit-oauth__connected{display:flex;flex-direction:column;gap:1rem;align-items:center}.reddit-oauth__status{display:flex;align-items:center;gap:.5rem;font-size:.938rem;font-weight:500;color:var(--color-success);padding:.5rem 1rem;background:#10b9811a;border-radius:var(--radius)}.status-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--color-text-muted)}.status-dot--active{background:var(--color-success);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.reddit-oauth__permissions{margin-top:1.5rem;text-align:left;padding:1rem;background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border)}.reddit-oauth__permissions h4{font-size:.875rem;font-weight:600;color:var(--color-text);margin:0 0 .75rem}.reddit-oauth__permissions ul{list-style:none;padding:0;margin:0 0 .75rem}.reddit-oauth__permissions li{font-size:.875rem;color:var(--color-text-secondary);padding:.25rem 0}.reddit-oauth__note{font-size:.75rem;color:var(--color-text-muted);font-style:italic;margin:0}.reddit-oauth__error,.reddit-oauth__success{margin-top:1rem;padding:.75rem 1rem;border-radius:var(--radius);font-size:.875rem}.reddit-oauth__error{background:#ef44441a;color:var(--color-error);border:1px solid rgba(239,68,68,.3)}.reddit-oauth__success{background:#10b9811a;color:var(--color-success);border:1px solid rgba(16,185,129,.3)}.reddit-oauth__setup{margin-top:1.5rem;text-align:left;padding:1rem;background:var(--color-surface);border-radius:var(--radius);border:1px dashed var(--color-border)}.reddit-oauth__setup h4{font-size:.875rem;font-weight:600;color:var(--color-text);margin:0 0 .75rem}.reddit-oauth__setup ol{padding-left:1.25rem;margin:0 0 .75rem}.reddit-oauth__setup li{font-size:.813rem;color:var(--color-text-secondary);margin-bottom:.5rem;line-height:1.5}.reddit-oauth__setup a{color:var(--color-primary);text-decoration:none}.reddit-oauth__setup a:hover{text-decoration:underline}.reddit-oauth__setup code,.reddit-oauth__setup pre{font-family:var(--font-mono);font-size:.75rem;background:var(--color-background);padding:.25rem .5rem;border-radius:var(--radius);display:inline-block;margin:.25rem 0}.reddit-oauth__setup pre{display:block;padding:.75rem;overflow-x:auto;border:1px solid var(--color-border)}.reddit-oauth__actions{display:flex;flex-direction:column;gap:1rem}@media (max-width: 600px){.reddit-oauth__card{padding:1.5rem}.reddit-oauth__icon{font-size:2.5rem}.reddit-oauth__title{font-size:1.25rem}}.input-wrapper{display:flex;flex-direction:column;gap:.375rem;width:100%}.input__label{font-size:.875rem;font-weight:500;color:var(--color-text)}.input__container{position:relative;display:flex;align-items:center}.input{width:100%;height:2.5rem;padding:0 .75rem;font-size:.938rem;color:var(--color-text);background-color:var(--color-input-background);border:1px solid var(--color-input-border);border-radius:var(--radius);transition:all var(--transition-fast)}.input::placeholder{color:var(--color-text-muted)}.input:hover:not(:disabled):not(:focus){border-color:var(--color-text-secondary)}.input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.input:disabled{cursor:not-allowed;opacity:.6;background-color:var(--color-surface)}.input__icon{position:absolute;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);pointer-events:none}.input__icon svg{width:1.125rem;height:1.125rem}.input__icon--left{left:.75rem}.input__icon--left+.input{padding-left:2.25rem}.input__icon--right{right:.75rem}.input__icon--right~.input{padding-right:2.25rem}.input__message{font-size:.75rem;color:var(--color-text-secondary)}.input__message--error{color:var(--color-error)}.input-wrapper--error .input{border-color:var(--color-error)}.input-wrapper--error .input:focus{box-shadow:0 0 0 3px #ef44441a}.input-wrapper--disabled{opacity:.6;pointer-events:none}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast)}.theme-toggle:hover{background-color:var(--color-surface-elevated);border-color:var(--color-text-secondary)}.theme-toggle__icon{width:1.25rem;height:1.25rem;color:var(--color-text);transition:transform var(--transition)}.theme-toggle:hover .theme-toggle__icon{transform:rotate(15deg)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-background);padding:1rem;position:relative}.login-page__toggle{position:absolute;top:1.5rem;right:1.5rem}.login-page__container{width:100%;max-width:440px}.login-page__card{background-color:var(--color-surface-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2.5rem;border:1px solid var(--color-border)}.login-page__header{margin-bottom:2rem;text-align:center}.login-page__title{font-size:1.75rem;font-weight:700;color:var(--color-text);margin-bottom:.5rem}.login-page__subtitle{font-size:.938rem;color:var(--color-text-secondary)}.login-page__error{background-color:#ef44441a;border:1px solid var(--color-error);color:var(--color-error);padding:.75rem 1rem;border-radius:var(--radius);font-size:.875rem;margin-bottom:1.5rem}.login-page__form{display:flex;flex-direction:column;gap:1.25rem}.login-page__footer{margin-top:1.5rem;text-align:center}.login-page__text{font-size:.875rem;color:var(--color-text-secondary)}.login-page__link{color:var(--color-primary);font-weight:500}.login-page__link:hover{color:var(--color-primary-hover);text-decoration:underline}.password-strength{display:flex;align-items:center;gap:.5rem;margin-top:.375rem}.password-strength__bar{flex:1;height:4px;background-color:var(--color-border);border-radius:2px;overflow:hidden}.password-strength__fill{height:100%;transition:all var(--transition)}.password-strength__label{font-size:.75rem;font-weight:500}.signup-success__icon{display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;margin:0 auto 1.5rem;background-color:var(--color-primary-light);border-radius:50%;color:var(--color-primary)}.signup-success__icon svg{width:2rem;height:2rem}.competitor-manager{background:var(--color-surface-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:1.5rem;height:100%;overflow-y:auto;max-height:calc(100vh - 200px)}.platform-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--color-border);padding-bottom:1rem}.platform-tab{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-secondary);font-size:.938rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.platform-tab:hover{background:var(--color-surface-elevated);color:var(--color-text)}.platform-tab--active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.platform-tab__icon{font-size:1.125rem}.yelp-url-input{margin-bottom:1rem}.yelp-url-textarea{width:100%;padding:.75rem 1rem;font-size:.938rem;font-family:var(--font-sans);color:var(--color-text);background:var(--color-input-background);border:1px solid var(--color-input-border);border-radius:var(--radius);resize:vertical;transition:all var(--transition-fast);box-sizing:border-box}.yelp-url-textarea:hover:not(:disabled):not(:focus){border-color:var(--color-text-secondary)}.yelp-url-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.yelp-url-textarea:disabled{cursor:not-allowed;opacity:.6;background:var(--color-surface)}.competitor-manager h2,.competitor-manager h3{color:var(--color-text);font-weight:600;margin:0}.competitor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.competitor-header h2{font-size:1.25rem}.competitor-search{margin-bottom:1.5rem}.competitor-search h3{font-size:1rem;margin-bottom:.5rem;color:var(--color-text-secondary)}.help-text{font-size:.875rem;color:var(--color-text-muted);margin:0 0 1rem;line-height:1.5}.search-input{width:100%;height:2.75rem;padding:0 1rem;font-size:.938rem;color:var(--color-text);background-color:var(--color-input-background);border:1px solid var(--color-input-border);border-radius:var(--radius);transition:all var(--transition-fast);box-sizing:border-box}.search-input::placeholder{color:var(--color-text-muted)}.search-input:hover:not(:disabled):not(:focus){border-color:var(--color-text-secondary)}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.search-input:disabled{cursor:not-allowed;opacity:.6;background-color:var(--color-surface)}.search-loading{padding:1rem;text-align:center;color:var(--color-text-muted);font-size:.875rem;font-style:italic}.search-results-section{margin-top:1rem}.search-results-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;gap:1rem;flex-wrap:wrap}.selection-controls{display:flex;align-items:center;gap:.75rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:500}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;cursor:pointer;accent-color:var(--color-primary)}.selection-actions{display:flex;gap:.5rem;align-items:center}.search-results-list{border:1px solid var(--color-border);border-radius:0 0 var(--radius) var(--radius);background:var(--color-surface-elevated);max-height:28rem;overflow-y:auto}.search-result-item{display:flex;align-items:center;padding:1rem;border-bottom:1px solid var(--color-border);transition:all var(--transition-fast);cursor:pointer;gap:.75rem}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--color-surface)}.search-result-item.selected{background:var(--color-primary-light);border-left:3px solid var(--color-primary)}.search-result-item.selected:hover{background:var(--color-primary-light-hover)}.result-checkbox{flex-shrink:0;display:flex;align-items:center}.result-checkbox input[type=checkbox]{width:1.125rem;height:1.125rem;cursor:pointer;accent-color:var(--color-primary)}.result-info{flex:1;min-width:0}.result-info strong{display:block;font-size:.938rem;color:var(--color-text);margin-bottom:.25rem;font-weight:600}.result-rating{display:inline-flex;align-items:center;gap:.25rem;font-size:.813rem;color:var(--color-warning);margin-bottom:.25rem;font-weight:500}.result-address{font-size:.813rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.result-maps-link{flex-shrink:0;padding:.5rem;color:var(--color-text-muted);background:transparent;border-radius:var(--radius);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.result-maps-link:hover{background:var(--color-surface);color:var(--color-primary)}.competitors-list{margin-top:1.5rem}.competitors-list h3{font-size:1rem;margin-bottom:.75rem;color:var(--color-text-secondary)}.competitor-list{list-style:none;padding:0;margin:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface-elevated)}.competitor-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);background:var(--color-surface-elevated);transition:background var(--transition-fast)}.competitor-item:last-child{border-bottom:none}.competitor-item:hover{background:var(--color-surface)}.competitor-info{flex:1;min-width:0}.competitor-info strong{display:block;font-size:.938rem;color:var(--color-text);margin-bottom:.375rem;font-weight:600}.competitor-meta{display:flex;gap:1rem;font-size:.813rem;margin-bottom:.25rem;flex-wrap:wrap}.maps-link{color:var(--color-primary);text-decoration:none;font-weight:500;transition:color var(--transition-fast)}.maps-link:hover{color:var(--color-primary-hover);text-decoration:underline}.location{color:var(--color-text-muted)}.competitor-dates{font-size:.75rem;color:var(--color-text-muted)}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:2.5rem;padding:0 1rem;font-size:.938rem;font-weight:500;background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:2.5rem;padding:0 1rem;font-size:.938rem;font-weight:500;background-color:transparent;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn-secondary:hover:not(:disabled){background-color:var(--color-surface);border-color:var(--color-text-secondary)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-remove{padding:.5rem .875rem;background:transparent;color:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius);cursor:pointer;font-size:.813rem;font-weight:500;transition:all var(--transition-fast);white-space:nowrap}.btn-remove:hover:not(:disabled){background:var(--color-error);color:#fff}.competitor-empty-state{text-align:center;padding:2.5rem 1.5rem;margin-bottom:1.5rem;background:linear-gradient(135deg,var(--color-surface-elevated),var(--color-surface));border:2px dashed var(--color-primary-light);border-radius:var(--radius-lg)}.competitor-empty-state-icon{font-size:3rem;margin-bottom:1rem;display:block}.competitor-empty-state-title{font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0 0 .75rem}.competitor-empty-state-text{font-size:.938rem;color:var(--color-text-secondary);margin:0 0 1.5rem;line-height:1.5;max-width:28rem;margin-left:auto;margin-right:auto}.competitor-empty-state-features{list-style:none;padding:0;display:flex;flex-direction:column;gap:.75rem;max-width:24rem;margin:0 auto}.competitor-empty-state-features li{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--color-text)}.competitor-empty-state-features li svg{flex-shrink:0;color:var(--color-success)}.empty-state p{margin:0;font-size:.875rem;line-height:1.5}.loading{padding:2rem 1.5rem;text-align:center;color:var(--color-text-muted);font-size:.875rem}.search-results-list::-webkit-scrollbar,.competitor-manager::-webkit-scrollbar{width:.5rem}.search-results-list::-webkit-scrollbar-track,.competitor-manager::-webkit-scrollbar-track{background:var(--color-surface);border-radius:var(--radius)}.search-results-list::-webkit-scrollbar-thumb,.competitor-manager::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius)}.search-results-list::-webkit-scrollbar-thumb:hover,.competitor-manager::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}@media (max-width: 600px){.competitor-manager{padding:1rem;max-height:none}.competitor-header{flex-direction:column;gap:1rem;align-items:flex-start}.competitor-header h2{font-size:1.125rem}.search-results-header{flex-direction:column;align-items:flex-start;gap:.75rem}.selection-actions{width:100%;justify-content:flex-end}.search-result-item{flex-direction:row;align-items:flex-start;gap:.75rem}.result-info{min-width:0}.result-address{white-space:normal}.result-maps-link{flex-shrink:0}.competitor-item{flex-direction:column;align-items:flex-start;gap:.75rem}.btn-remove{align-self:flex-end}.competitor-meta{flex-direction:column;gap:.25rem}}.reddit-monitor{background:var(--color-surface-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:1.5rem;margin-top:1.5rem}.reddit-monitor h2,.reddit-monitor h3{color:var(--color-text);font-weight:600;margin:0}.reddit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.reddit-header h2{font-size:1.25rem}.reddit-stats,.reddit-engagement-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1rem;padding:1rem;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.reddit-engagement-stats{background:linear-gradient(135deg,var(--color-primary-light),var(--color-surface));border-color:var(--color-primary)}.reddit-stat-card{text-align:center;padding:.75rem}.reddit-stat-value{font-size:1.75rem;font-weight:700;color:var(--color-primary);margin-bottom:.25rem}.reddit-stat-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.reddit-add-track{margin-bottom:1.5rem;padding:1.5rem;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.reddit-add-track h3{font-size:1rem;margin-bottom:1rem;color:var(--color-text-secondary)}.track-input{flex:1;min-width:200px;height:2.5rem;padding:0 1rem;font-size:.938rem;color:var(--color-text);background:var(--color-input-background);border:1px solid var(--color-input-border);border-radius:var(--radius);transition:all var(--transition-fast)}.reddit-tracks{margin-bottom:1.5rem}.reddit-tracks h3{font-size:1rem;margin-bottom:.75rem;color:var(--color-text-secondary)}.track-badge--subreddit{background:var(--color-success);border-color:var(--color-success);color:#fff}.track-subreddit{font-size:.813rem;color:var(--color-text-muted)}.track-link{font-size:.813rem;color:var(--color-primary);text-decoration:none}.track-link:hover{text-decoration:underline}.reddit-mentions{margin-top:1.5rem}.reddit-mentions h3{font-size:1rem;margin-bottom:.75rem;color:var(--color-text-secondary)}.mention-subreddit{font-size:.813rem;font-weight:600;color:var(--color-primary);background:var(--color-primary-light);padding:.25rem .5rem;border-radius:var(--radius)}.mention-actions{display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border);flex-wrap:wrap}.mention-meta{display:flex;gap:1rem;font-size:.813rem;color:var(--color-text-muted)}.mention-score,.mention-comments,.mention-author{display:flex;align-items:center;gap:.25rem}@media (max-width: 768px){.reddit-stats{grid-template-columns:repeat(2,1fr)}.track-form{flex-direction:column}.track-input{width:100%}.mention-header{flex-direction:column;align-items:flex-start;gap:.5rem}.mention-date{margin-left:0}.mention-meta{flex-wrap:wrap}}.nextdoor-monitor{background:var(--color-surface-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:1.5rem;margin-top:1.5rem}.nextdoor-monitor h2,.nextdoor-monitor h3{color:var(--color-text);font-weight:600;margin:0}.nextdoor-info-banner{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1.5rem;color:#92400e;font-size:.938rem;line-height:1.5}.nextdoor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.nextdoor-header h2{font-size:1.25rem}.nextdoor-stats,.nextdoor-engagement-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-bottom:1rem;padding:1rem;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.nextdoor-engagement-stats{background:linear-gradient(135deg,var(--color-primary-light),var(--color-surface));border-color:var(--color-primary)}.nextdoor-stat-card{text-align:center;padding:.75rem}.nextdoor-stat-card--highlight{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:var(--radius);border:1px solid #f59e0b}.nextdoor-stat-value{font-size:1.75rem;font-weight:700;color:var(--color-primary);margin-bottom:.25rem}.nextdoor-stat-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.nextdoor-add-track{margin-bottom:1.5rem;padding:1.5rem;background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.nextdoor-add-track h3{font-size:1rem;margin-bottom:1rem;color:var(--color-text-secondary)}.track-type-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.track-type-tab{padding:.5rem 1rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.track-type-tab:hover{background:var(--color-surface-elevated);color:var(--color-text)}.track-type-tab--active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.track-form{display:flex;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.track-input{flex:1;min-width:150px;height:2.5rem;padding:0 1rem;font-size:.938rem;color:var(--color-text);background:var(--color-input-background);border:1px solid var(--color-input-border);border-radius:var(--radius);transition:all var(--transition-fast)}.track-input:hover:not(:disabled):not(:focus){border-color:var(--color-text-secondary)}.track-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.help-text{font-size:.813rem;color:var(--color-text-muted);margin:.5rem 0 0}.nextdoor-tracks{margin-bottom:1.5rem}.nextdoor-tracks h3{font-size:1rem;margin-bottom:.75rem;color:var(--color-text-secondary)}.track-list{list-style:none;padding:0;margin:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface-elevated)}.track-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border);background:var(--color-surface-elevated);transition:background var(--transition-fast)}.track-item:last-child{border-bottom:none}.track-item:hover{background:var(--color-surface)}.track-info{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.track-info strong{font-size:.938rem;color:var(--color-text);font-weight:600}.track-badge{padding:.25rem .5rem;font-size:.688rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border)}.track-badge--keyword{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.track-badge--business{background:var(--color-success);border-color:var(--color-success);color:#fff}.track-badge--competitor{background:var(--color-warning);border-color:var(--color-warning);color:#fff}.track-badge--category{background:var(--color-text-secondary);border-color:var(--color-text-secondary);color:#fff}.track-location{font-size:.813rem;color:var(--color-text-muted)}.nextdoor-mentions{margin-top:1.5rem}.nextdoor-mentions h3{font-size:1rem;margin-bottom:.75rem;color:var(--color-text-secondary)}.mention-list{list-style:none;padding:0;margin:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface-elevated)}.mention-item{padding:1.25rem;border-bottom:1px solid var(--color-border);background:var(--color-surface-elevated);border-left:3px solid transparent;transition:all var(--transition-fast)}.mention-item:last-child{border-bottom:none}.mention-item:hover{background:var(--color-surface)}.mention-item.sentiment--positive{border-left-color:var(--color-success)}.mention-item.sentiment--negative{border-left-color:var(--color-error)}.mention-item.sentiment--neutral{border-left-color:var(--color-text-secondary)}.mention-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.mention-location{font-size:.813rem;font-weight:600;color:var(--color-text-secondary);background:var(--color-surface);padding:.25rem .5rem;border-radius:var(--radius)}.mention-recommendation{font-size:.688rem;font-weight:700;padding:.25rem .5rem;border-radius:var(--radius);background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;animation:pulse 2s infinite}.mention-sentiment{font-size:.688rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;border-radius:var(--radius)}.sentiment--positive{background:var(--color-success);color:#fff}.sentiment--negative{background:var(--color-error);color:#fff}.sentiment--neutral{background:var(--color-text-secondary);color:#fff}.mention-opportunity{font-size:.688rem;font-weight:700;padding:.25rem .5rem;border-radius:var(--radius);background:var(--color-surface);color:var(--color-text-secondary)}.mention-opportunity--high{background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.mention-date{font-size:.75rem;color:var(--color-text-muted);margin-left:auto}.mention-author{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:.5rem}.mention-title{font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 .5rem}.mention-title a{color:inherit;text-decoration:none}.mention-title a:hover{color:var(--color-primary);text-decoration:underline}.mention-text{font-size:.938rem;line-height:1.6;color:var(--color-text-secondary);margin:0 0 .75rem}.mention-meta{display:flex;gap:1rem;font-size:.813rem;color:var(--color-text-muted);margin-bottom:1rem}.mention-likes,.mention-comments,.mention-type{display:flex;align-items:center;gap:.25rem}.mention-type{text-transform:capitalize;background:var(--color-surface);padding:.25rem .5rem;border-radius:var(--radius)}.mention-actions{display:flex;gap:.5rem;padding-top:1rem;border-top:1px solid var(--color-border);flex-wrap:wrap}.empty-state{padding:2rem 1.5rem;text-align:center;color:var(--color-text-muted);background:var(--color-surface);border-radius:var(--radius-lg);border:1px dashed var(--color-border)}.empty-state p{margin:0;font-size:.938rem}.notification{position:fixed;bottom:1.5rem;right:1.5rem;padding:1rem 1.25rem;border-radius:var(--radius);display:flex;align-items:center;gap:.75rem;box-shadow:0 4px 12px #00000026;max-width:28rem;z-index:1000;animation:slideIn .3s ease-out;font-size:.875rem;line-height:1.5}.notification.error{background:var(--color-error);color:#fff;border:1px solid rgba(239,68,68,.3)}.notification.success{background:var(--color-success);color:#fff;border:1px solid rgba(34,197,94,.3)}.notification button{background:transparent;border:none;font-size:1.25rem;cursor:pointer;opacity:.8;padding:0;line-height:1;color:inherit;margin-left:auto}.notification button:hover{opacity:1}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 1024px){.nextdoor-stats,.nextdoor-engagement-stats{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.nextdoor-stats,.nextdoor-engagement-stats{grid-template-columns:repeat(2,1fr)}.track-form{flex-direction:column}.track-input{width:100%}.mention-header{flex-direction:column;align-items:flex-start;gap:.5rem}.mention-date{margin-left:0}.mention-actions{flex-direction:column}.mention-actions .btn{width:100%}}.dashboard{display:flex;min-height:100vh;background-color:var(--color-background)}.dashboard__sidebar{position:fixed;top:0;left:0;width:17rem;height:100vh;background-color:var(--color-surface-elevated);border-right:1px solid var(--color-border);display:flex;flex-direction:column;z-index:100;transition:transform var(--transition-fast)}@media (max-width: 1023px){.dashboard__sidebar{transform:translate(-100%)}}.dashboard__sidebar--open{transform:translate(0)}.dashboard__sidebar-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.dashboard__brand{display:flex;align-items:center;gap:.75rem}.dashboard__logo{width:2.5rem;height:2.5rem;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.25rem}.dashboard__title{font-size:1.25rem;font-weight:700;color:var(--color-text)}.dashboard__sidebar-close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:transparent;border:none;border-radius:.375rem;cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-secondary)}.dashboard__sidebar-close:hover{background-color:var(--color-surface);color:var(--color-text)}@media (min-width: 1024px){.dashboard__sidebar-close{display:none}}.dashboard__nav{flex:1;padding:1rem;display:flex;flex-direction:column;gap:.25rem}.dashboard__nav-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.938rem;font-weight:500;border-radius:.5rem;border:none;background:transparent;cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-secondary);width:100%;text-align:left}.dashboard__nav-link:hover{background-color:var(--color-surface);color:var(--color-text)}.dashboard__nav-link--active{background-color:var(--color-primary-light);color:var(--color-primary)}.dashboard__nav-link svg{width:1.25rem;height:1.25rem;flex-shrink:0}.dashboard__sidebar-footer{padding:1rem;border-top:1px solid var(--color-border)}.dashboard__sidebar-actions{display:flex;flex-direction:column;gap:.25rem}.dashboard__main{flex:1;margin-left:0;transition:margin-left var(--transition-fast)}@media (min-width: 1024px){.dashboard__main{margin-left:17rem}}.dashboard__header{position:sticky;top:0;z-index:50;background-color:var(--color-background);border-bottom:1px solid var(--color-border);padding:.75rem 1rem}@media (min-width: 640px){.dashboard__header{padding:1rem 1.5rem}}.dashboard__header-inner{display:flex;align-items:center;justify-content:space-between;max-width:1400px;margin:0 auto}.dashboard__menu-button{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;background:transparent;border:1px solid var(--color-border);border-radius:.375rem;cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-secondary)}.dashboard__menu-button:hover{background-color:var(--color-surface);color:var(--color-text);border-color:var(--color-text-secondary)}.dashboard__menu-button svg{width:1.25rem;height:1.25rem}@media (min-width: 1024px){.dashboard__menu-button{display:none}}.dashboard__header-actions{display:flex;align-items:center;gap:.75rem}.dashboard__header-content{max-width:1400px;margin:0 auto;padding:1.5rem 1rem}@media (min-width: 640px){.dashboard__header-content{padding:2rem 1.5rem 1.5rem}}@media (min-width: 1024px){.dashboard__header-content{padding:2rem 2rem 1.5rem}}.dashboard__page-title{font-size:1.75rem;font-weight:700;color:var(--color-text);margin-bottom:.5rem}@media (min-width: 640px){.dashboard__page-title{font-size:2rem}}.dashboard__page-subtitle{font-size:.938rem;color:var(--color-text-secondary)}.dashboard__content{max-width:1400px;margin:0 auto;padding:0 1rem 2rem}@media (min-width: 640px){.dashboard__content{padding:0 1.5rem 2rem}}@media (min-width: 1024px){.dashboard__content{padding:0 2rem 2rem}}.dashboard__card{background-color:var(--color-surface-elevated);border-radius:.75rem;box-shadow:var(--shadow);border:1px solid var(--color-border);margin-bottom:1.5rem}.dashboard__card:last-child{margin-bottom:0}.dashboard__card-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-border)}.dashboard__card-title{font-size:1.125rem;font-weight:600;color:var(--color-text);margin:0}.dashboard__card-content{padding:1.5rem}.dashboard__grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 1024px){.dashboard__grid{grid-template-columns:repeat(3,1fr)}.dashboard__grid--wide{grid-column:span 2}}.dashboard__stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (min-width: 640px){.dashboard__stats-grid{grid-template-columns:repeat(4,1fr)}}.dashboard__stat-card{background-color:var(--color-surface);border-radius:.5rem;padding:1.25rem 1rem;text-align:center;border:1px solid var(--color-border);transition:all var(--transition-fast)}.dashboard__stat-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-focus)}.dashboard__stat-value{font-size:1.75rem;font-weight:700;color:var(--color-text);margin-bottom:.25rem}.dashboard__stat-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.dashboard__select-wrapper{margin-bottom:1rem}.dashboard__select-label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text);margin-bottom:.5rem}.dashboard__select{width:100%;height:2.75rem;padding:0 .75rem;font-size:.938rem;color:var(--color-text);background-color:var(--color-input-background);border:1px solid var(--color-input-border);border-radius:.375rem;transition:all var(--transition-fast);cursor:pointer}.dashboard__select:hover:not(:disabled){border-color:var(--color-text-secondary)}.dashboard__select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-primary-light)}.dashboard__alert{padding:1rem 1.25rem;border-radius:.5rem;border:1px solid;font-size:.875rem;margin-bottom:1.5rem;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}.dashboard__alert--success{background-color:#10b9811a;border-color:var(--color-success);color:var(--color-success)}.dashboard__alert--error{background-color:#ef44441a;border-color:var(--color-error);color:var(--color-error)}.dashboard__empty-state{text-align:center;padding:3rem 1.5rem}.dashboard__empty-state-icon{width:4rem;height:4rem;margin:0 auto 1.5rem;color:var(--color-text-muted);opacity:.5}.dashboard__empty-state-icon svg{width:100%;height:100%}.dashboard__empty-state-title{font-size:1.125rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.dashboard__empty-state-text{font-size:.938rem;color:var(--color-text-secondary);max-width:28rem;margin:0 auto}.dashboard__loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--color-text-secondary)}.dashboard__section{margin-bottom:2rem}.dashboard__section:last-child{margin-bottom:0}.dashboard__divider{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.dashboard__button-row{display:flex;flex-direction:column;gap:1rem}@media (min-width: 640px){.dashboard__button-row{flex-direction:row;justify-content:space-between;align-items:center}}.dashboard__button-row .btn{width:100%}@media (min-width: 640px){.dashboard__button-row .btn{width:auto}}.dashboard__overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:99;display:none;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dashboard__overlay--visible{display:block}@media (min-width: 1024px){.dashboard__overlay{display:none!important}}.dashboard__tips-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.dashboard__tips-list-item{display:flex;align-items:flex-start;gap:.5rem}.dashboard__tips-list-icon{color:var(--color-success);flex-shrink:0;margin-top:.125rem}.dashboard__sidebar-user{padding:1rem;border-top:1px solid var(--color-border);display:flex;align-items:center;gap:.75rem}.dashboard__sidebar-user-avatar{width:2.5rem;height:2.5rem;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem}.dashboard__sidebar-user-info{flex:1;overflow:hidden}.dashboard__sidebar-user-email{font-size:.875rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard__sidebar-user-role{font-size:.75rem;color:var(--color-text-muted)}.dashboard__sidebar-user-logout{padding:.5rem;background:transparent;border:none;border-radius:.375rem;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast)}.dashboard__sidebar-user-logout:hover{background-color:var(--color-surface);color:var(--color-error)}.competitor-card{background:linear-gradient(135deg,var(--color-surface-elevated),var(--color-surface));border:2px solid var(--color-primary-light);transition:all var(--transition-fast)}.competitor-card:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #2563eb26}.competitor-card .dashboard__card-title{font-size:1.125rem;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard__content>.dashboard__section{margin-bottom:1.5rem}.space-y-6{display:flex;flex-direction:column;gap:1.5rem}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: #dbeafe;--color-primary-light-hover: #bfdbfe;--color-secondary: #64748b;--color-secondary-hover: #475569;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-background: #ffffff;--color-surface: #f8fafc;--color-surface-elevated: #ffffff;--color-text: #0f172a;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--color-border: #e2e8f0;--color-border-focus: #2563eb;--color-input-background: #ffffff;--color-input-border: #cbd5e1;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--radius-sm: .25rem;--radius: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--color-primary: #3b82f6;--color-primary-hover: #60a5fa;--color-primary-light: #1e3a5f;--color-primary-light-hover: #23446f;--color-secondary: #94a3b8;--color-secondary-hover: #cbd5e1;--color-background: #0f172a;--color-surface: #1e293b;--color-surface-elevated: #334155;--color-text: #f1f5f9;--color-text-secondary: #94a3b8;--color-text-muted: #64748b;--color-border: #334155;--color-border-focus: #3b82f6;--color-input-background: #1e293b;--color-input-border: #475569;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow: 0 1px 3px 0 rgb(0 0 0 / .4), 0 1px 2px -1px rgb(0 0 0 / .4);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .4)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--color-background);color:var(--color-text);line-height:1.5;transition:background-color var(--transition),color var(--transition)}button,input,textarea{font-family:inherit}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}::selection{background-color:var(--color-primary);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}
