:root{--background: #ffffff;--foreground: #0a0a0a;--muted: #f4f4f5;--muted-foreground: #71717a;--border: #e4e4e7;--input: #e4e4e7;--ring: #18181b;--radius: 6px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;background:var(--background);color:var(--foreground);line-height:1.5;-webkit-font-smoothing:antialiased}.container{max-width:1000px;margin:0 auto;padding:3rem 1.5rem}h1{font-size:1.875rem;font-weight:600;letter-spacing:-.025em;margin-bottom:.5rem}.subtitle{color:var(--muted-foreground);font-size:.875rem;margin-bottom:2rem}.card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.tabs{margin-bottom:1.5rem}.tab-list{display:inline-flex;background:var(--muted);border-radius:var(--radius);padding:4px;gap:4px}.tab{padding:.5rem 1rem;font-size:.875rem;font-weight:500;background:transparent;border:none;border-radius:calc(var(--radius) - 2px);cursor:pointer;color:var(--muted-foreground);transition:all .15s ease}.tab:hover{color:var(--foreground)}.tab.active{background:var(--background);color:var(--foreground);box-shadow:0 1px 2px #0000000d}.search-form{margin-bottom:2rem}.search-form form{display:flex;gap:.75rem}.input{flex:1;padding:.625rem .875rem;font-size:.875rem;border:1px solid var(--input);border-radius:var(--radius);background:var(--background);color:var(--foreground);transition:border-color .15s ease,box-shadow .15s ease}.input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px #18181b1a}.input::placeholder{color:var(--muted-foreground)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;border-radius:var(--radius);cursor:pointer;transition:all .15s ease;border:none}.btn-primary{background:var(--foreground);color:var(--background)}.btn-primary:hover:not(:disabled){background:#27272a}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--foreground)}.btn-outline:hover{background:var(--muted)}.btn-ghost{background:transparent;color:var(--muted-foreground)}.btn-ghost:hover{background:var(--muted);color:var(--foreground)}.btn-destructive{background:#ef4444;color:#fff}.btn-destructive:hover{background:#dc2626}.btn-sm{padding:.375rem .75rem;font-size:.75rem}.badge{display:inline-flex;align-items:center;padding:.125rem .5rem;font-size:.65rem;font-weight:500;border-radius:9999px;border:1px solid transparent}.badge-default{background:var(--muted);color:var(--foreground)}.badge-success{background:#dcfce7;color:#166534;border-color:#bbf7d0}.badge-warning{background:#fef9c3;color:#854d0e;border-color:#fef08a}.badge-secondary{background:var(--muted);color:var(--muted-foreground)}.badge-outline{background:transparent;border-color:var(--border);color:var(--muted-foreground)}.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:.75rem 1rem;border-radius:var(--radius);font-size:.875rem;margin-bottom:1.5rem}.merchant-list{display:flex;flex-direction:column;gap:1rem}.merchant-card{border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem;transition:border-color .15s ease}.merchant-card:hover{border-color:#a1a1aa}.tech-badge-competitor{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.tech-badge-competitor .category{color:#dc2626}.merchant-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.merchant-title{font-size:.9375rem;font-weight:500;line-height:1.4}.merchant-url{display:block;font-size:.8125rem;color:var(--muted-foreground);word-break:break-all;margin-top:.25rem;text-decoration:none;transition:color .15s ease}.merchant-url:hover{color:var(--foreground);text-decoration:underline}.merchant-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.merchant-techs{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.tech-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem;font-size:.75rem;background:var(--background);border:1px solid var(--border);border-radius:calc(var(--radius) - 2px)}.tech-badge .category{color:var(--muted-foreground);font-size:.6875rem;text-transform:uppercase;letter-spacing:.025em}.tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.tech-card{border:1px solid var(--border);border-radius:var(--radius);padding:1rem;cursor:pointer;transition:all .15s ease}.tech-card:hover{border-color:var(--foreground);background:#fafafa}.tech-card.active{border-color:var(--foreground);background:var(--foreground);color:var(--background)}.tech-card.active .tech-category{color:#ffffffb3}.tech-card.active .tech-count{background:#fff3}.tech-name{font-weight:500;font-size:.9375rem;margin-bottom:.25rem}.tech-category{font-size:.75rem;color:var(--muted-foreground);text-transform:capitalize}.tech-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;font-size:.65rem;font-weight:500;background:var(--background);border:1px solid var(--border);border-radius:9999px;margin-top:0}.empty-state{text-align:center;padding:3rem 1rem;color:var(--muted-foreground)}.empty-state p{font-size:.875rem}.spinner{width:14px;height:14px;border:2px solid var(--muted);border-top-color:var(--background);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:var(--background);border-radius:var(--radius);padding:1.5rem;width:100%;max-width:400px;margin:1rem;box-shadow:0 25px 50px -12px #00000040}.modal h3{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.modal p{font-size:.875rem;color:var(--muted-foreground);margin-bottom:1.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.section-title{font-size:.875rem;font-weight:500;color:var(--muted-foreground)}.count{font-size:.75rem;color:var(--muted-foreground)}.merchant-actions{display:flex;gap:.5rem}.subscription-products{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.products-header{font-size:.75rem;font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.products-list{display:flex;flex-direction:column;gap:.75rem}.product-item{background:var(--background);padding:.75rem;border-radius:calc(var(--radius) - 2px);border:1px solid var(--border)}.product-name{font-weight:500;font-size:.875rem;margin-bottom:.25rem}.product-details{display:flex;gap:.75rem;font-size:.8125rem}.product-price{color:#16a34a;font-weight:600}.product-frequency{color:var(--muted-foreground)}.product-description{font-size:.8125rem;color:var(--muted-foreground);margin-top:.25rem}.analyze-error{margin-top:.75rem;padding:.5rem .75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:calc(var(--radius) - 2px);color:#991b1b;font-size:.8125rem}.analysis-log{margin-top:.75rem;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);overflow:hidden}.log-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:var(--background);border-bottom:1px solid var(--border);font-size:.75rem;font-weight:500;color:var(--muted-foreground)}.log-content{padding:.5rem .75rem;max-height:200px;overflow-y:auto;font-family:ui-monospace,monospace;font-size:.75rem;background:var(--background)}.log-entry{padding:.125rem 0;color:var(--muted-foreground)}.log-entry:before{content:"→ ";color:var(--border)}.app-layout{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--background);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-header{padding:.5rem 1rem;border-bottom:1px solid var(--border);min-height:41px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.sidebar-header h1{font-size:.875rem;font-weight:600;margin:0;color:var(--foreground)}.mobile-menu-close{display:none;background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem;color:var(--muted-foreground);margin-left:auto}.mobile-menu-close:hover{color:var(--foreground)}.sidebar-nav{display:flex;flex-direction:column;padding:.5rem;gap:.25rem}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;background:transparent;border:none;border-radius:var(--radius);color:var(--muted-foreground);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:left}.nav-item:hover{background:#fafafa;color:var(--foreground)}.nav-item.active{background:var(--foreground);color:var(--background)}.nav-count{margin-left:auto;font-size:.75rem;background:var(--border);padding:.125rem .5rem;border-radius:9999px}.nav-item.active .nav-count{background:#fff3}.sidebar-job-status{margin-top:auto;padding:1rem;border-top:1px solid var(--border);background:var(--background)}.job-status-header{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;margin-bottom:.375rem}.job-status-indicator{width:8px;height:8px;background:#22c55e;border-radius:50%;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.job-status-progress{font-size:.75rem;color:var(--muted-foreground);margin-bottom:.375rem}.job-status-bar{height:4px;background:var(--border);border-radius:2px;overflow:hidden}.job-status-fill{height:100%;background:var(--foreground);transition:width .3s ease}.main-content{flex:1;display:flex;flex-direction:column;overflow-y:auto;height:100vh}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid var(--border);background:var(--background);gap:1rem;position:sticky;top:0;z-index:10;min-height:41px;flex-shrink:0}.top-bar-left{flex:1;max-width:400px}.top-bar-right{flex-shrink:0}.search-input{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--input);border-radius:var(--radius);background:var(--background);color:var(--foreground);transition:border-color .15s ease,box-shadow .15s ease}.search-input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px #18181b1a}.search-input::placeholder{color:var(--muted-foreground)}.top-bar .search-form{margin-bottom:0}.top-bar .search-form form{display:flex;gap:.5rem}.top-bar .search-form .input{width:280px}.checkbox-label{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--foreground);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.content-area{flex:1;padding:1.5rem;background:var(--background)}.filters-bar{display:flex;align-items:center;gap:1rem;padding:.5rem;background:var(--background);margin-bottom:.75rem}.filter-group{display:flex;align-items:center;gap:.375rem}.filter-label{font-size:.7rem;color:var(--muted-foreground)}.filter-select{padding:.25rem .5rem;font-size:.7rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);cursor:pointer}.filter-select:focus{outline:none;border-color:var(--ring)}.filter-results{margin-left:auto;font-size:.7rem;color:var(--muted-foreground)}.merchants-list-view{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.list-header{display:flex;align-items:center;padding:.5rem .75rem;background:var(--background);border-bottom:1px solid var(--border);font-size:.65rem;font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em}.list-body{display:flex;flex-direction:column}.merchant-row{display:flex;align-items:center;padding:.5rem .75rem;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s ease}.merchant-row:last-child{border-bottom:none}.merchant-row:hover{background:#fafafa}.col-title,.col-url{flex:2;min-width:0}.col-subscription,.col-qualified{width:80px;text-align:center}.col-techs{width:60px;text-align:center}.col-actions{width:60px;text-align:right}.row-title-with-icon{display:flex;align-items:center;gap:.5rem;min-width:0}.merchant-icon{width:16px;height:16px;flex-shrink:0;border-radius:2px;object-fit:contain}.row-title{font-weight:500;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.row-url{font-size:.7rem;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.tech-count.has-competitor{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.tech-count.empty{background:transparent;color:var(--muted-foreground)}.merchant-detail{background:var(--background);border:1px solid var(--border);border-radius:var(--radius)}.detail-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border)}.detail-actions{display:flex;gap:.5rem}.detail-content{padding:1.5rem}.detail-main{margin-bottom:2rem}.detail-title{font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.detail-url{display:inline-block;font-size:.875rem;color:var(--muted-foreground);text-decoration:none;margin-bottom:1rem}.detail-url:hover{color:var(--foreground);text-decoration:underline}.detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.detail-date{font-size:.8125rem;color:var(--muted-foreground)}.detail-section{margin-bottom:2rem}.detail-section:last-child{margin-bottom:0}.detail-section .section-title{font-size:1rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.detail-section .count{font-weight:400;color:var(--muted-foreground)}.tech-list{display:flex;flex-direction:column;gap:.5rem}.tech-item{padding:.75rem 1rem;background:var(--background);border-radius:var(--radius);border:1px solid var(--border)}.tech-item-competitor{background:#fef2f2;border-color:#fecaca}.tech-item-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.competitor-icon{font-size:1rem}.tech-item-name{font-weight:500;font-size:.9375rem}.tech-item-category{font-size:.75rem;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.025em;margin-left:auto}.tech-item-competitor .tech-item-category{color:#dc2626}.tech-item-details{display:flex;gap:1rem;font-size:.8125rem;color:var(--muted-foreground)}.tech-item-value{word-break:break-all}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.product-card{padding:.75rem;background:var(--background);border-radius:var(--radius);border:1px solid var(--border)}.product-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.25rem}.product-link{font-size:.7rem;color:var(--muted-foreground);text-decoration:none}.product-link:hover{color:var(--foreground);text-decoration:underline}.empty-message{font-size:.875rem;color:var(--muted-foreground)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group-full{grid-column:1 / -1}.form-label{font-size:.8125rem;font-weight:500;color:var(--muted-foreground)}.form-input{padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);color:var(--foreground)}.form-input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px #18181b1a}.form-select{padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);color:var(--foreground);cursor:pointer}.form-select:focus{outline:none;border-color:var(--ring)}.input-with-button{display:flex;gap:.5rem}.input-with-button .form-input{flex:1}.slider-group{display:flex;align-items:center;gap:.75rem}.form-slider{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border);border-radius:3px;cursor:pointer}.form-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:var(--foreground);border-radius:50%;cursor:pointer}.form-slider::-moz-range-thumb{width:18px;height:18px;background:var(--foreground);border-radius:50%;cursor:pointer;border:none}.slider-value{min-width:24px;text-align:center;font-size:.875rem;font-weight:500}.add-tech-form{display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.add-tech-form .form-input{flex:1}.add-tech-form .form-select{width:140px}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem;border-top:1px solid var(--border)}.pagination-info{font-size:.75rem;color:var(--muted-foreground)}.success-message{background:#dcfce7;border:1px solid #bbf7d0;color:#166534;padding:.5rem .75rem;border-radius:var(--radius);font-size:.8125rem;margin-bottom:1rem}.add-tech-dropdown{position:relative;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.tech-dropdown-menu{position:absolute;top:100%;left:0;z-index:20;background:var(--background);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #0000001a;min-width:250px;max-height:300px;overflow-y:auto;margin-top:.25rem}.tech-dropdown-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;cursor:pointer;transition:background .15s ease;font-size:.8125rem}.tech-dropdown-item:hover:not(.disabled){background:#fafafa}.tech-dropdown-item.disabled{opacity:.5;cursor:not-allowed}.tech-dropdown-item input[type=checkbox]{width:1rem;height:1rem}.tech-dropdown-name{flex:1;font-weight:500}.tech-dropdown-category{font-size:.7rem;color:var(--muted-foreground);text-transform:uppercase}.bulk-view{background:var(--background);border:1px solid var(--border);border-radius:var(--radius)}.bulk-view-header{padding:1.5rem;border-bottom:1px solid var(--border)}.bulk-view-header h2{font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.bulk-view-subtitle{font-size:.875rem;color:var(--muted-foreground);margin:0}.bulk-view-content{padding:1.5rem}.bulk-section{margin-bottom:1.5rem}.bulk-section:last-child{margin-bottom:0}.bulk-section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.bulk-section-header h3{font-size:.9375rem;font-weight:600;margin:0}.bulk-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.bulk-textarea{width:100%;padding:.75rem;font-size:.875rem;font-family:inherit;border:1px solid var(--border);border-radius:var(--radius);resize:vertical;margin-bottom:.5rem}.bulk-textarea:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px #18181b1a}.bulk-input-actions{display:flex;gap:.5rem}.bulk-count{font-size:.8125rem;color:var(--muted-foreground)}.bulk-list{border:1px solid var(--border);border-radius:var(--radius);max-height:300px;overflow-y:auto}.bulk-list-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--border)}.bulk-list-item:last-child{border-bottom:none}.bulk-url{font-size:.8125rem;color:var(--foreground);word-break:break-all;flex:1;margin-right:.5rem}.bulk-empty{padding:2rem;text-align:center;color:var(--muted-foreground);font-size:.875rem;border:1px dashed var(--border);border-radius:var(--radius)}.bulk-start-actions{margin-top:1rem}.bulk-progress{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.bulk-progress-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.bulk-progress-fill{height:100%;background:var(--foreground);transition:width .3s ease}.bulk-current-url{font-size:.8125rem;color:var(--muted-foreground);word-break:break-all}.bulk-results{border:1px solid var(--border);border-radius:var(--radius);max-height:200px;overflow-y:auto}.bulk-result-item{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);font-size:.8125rem}.bulk-result-item:last-child{border-bottom:none}.bulk-result-item.success .bulk-result-status{color:#22c55e}.bulk-result-item.failed .bulk-result-status{color:#ef4444}.bulk-result-url{flex:1;word-break:break-all}.bulk-result-error{color:#ef4444;font-size:.75rem}.status-history-list{display:flex;flex-direction:column;gap:.5rem}.status-history-item{display:flex;align-items:center;gap:1rem;padding:.5rem .75rem;background:var(--background);border:1px solid var(--border);border-radius:var(--radius);font-size:.8125rem}.status-history-status{font-weight:500}.status-history-date{color:var(--muted-foreground);margin-left:auto}.notes-add{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.notes-textarea{width:100%;padding:.75rem;font-size:.875rem;font-family:inherit;border:1px solid var(--border);border-radius:var(--radius);resize:vertical;background:var(--background)}.notes-textarea:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px #18181b1a}.notes-add .btn{align-self:flex-start}.notes-list{display:flex;flex-direction:column;gap:.75rem}.note-item{padding:.75rem 1rem;background:var(--background);border:1px solid var(--border);border-radius:var(--radius)}.note-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:.75rem}.note-date{color:var(--muted-foreground)}.note-author{font-weight:500}.note-header .btn{margin-left:auto}.note-content{font-size:.875rem;white-space:pre-wrap;line-height:1.5}.auth-loading{display:flex;align-items:center;justify-content:center;min-height:100vh}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--background)}.login-card{width:100%;max-width:360px;padding:2rem;background:var(--background);border:1px solid var(--border);border-radius:var(--radius)}.login-card h1{font-size:1.5rem;font-weight:600;margin-bottom:.25rem;text-align:center}.login-subtitle{text-align:center;color:var(--muted-foreground);font-size:.875rem;margin-bottom:1.5rem}.login-form{display:flex;flex-direction:column;gap:1rem}.login-form .form-group{margin-bottom:0}.login-btn{width:100%;margin-top:.5rem}.sidebar-user{margin-top:auto;padding:.75rem;border-top:1px solid var(--border);background:var(--background)}.user-info{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:0 .25rem}.user-name{font-weight:500;font-size:.875rem}.user-role{font-size:.7rem;color:var(--muted-foreground);text-transform:uppercase;background:var(--muted);padding:.125rem .375rem;border-radius:9999px}.user-actions{display:flex;flex-direction:column;gap:.25rem}.user-actions .btn{justify-content:flex-start;padding:.375rem .5rem;font-size:.75rem}.users-view{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.users-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.users-header h2{font-size:1.25rem;font-weight:600;margin:0}.add-user-form{background:var(--muted);padding:1rem;border-radius:var(--radius);margin-bottom:1.5rem}.form-row{display:flex;gap:.75rem;align-items:center}.form-row .form-input{flex:1}.form-row .form-select{width:120px}.users-list{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.users-list-header{display:flex;align-items:center;padding:.75rem 1rem;background:var(--background);border-bottom:1px solid var(--border);font-size:.7rem;font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em}.users-list-row{display:flex;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.users-list-row:last-child{border-bottom:none}.col-username{flex:2;display:flex;align-items:center;gap:.5rem}.col-role{flex:1}.col-created{flex:1;font-size:.8125rem;color:var(--muted-foreground)}.users-list-header .col-actions,.users-list-row .col-actions{flex:2;display:flex;gap:.5rem;justify-content:flex-end}.you-badge{font-size:.7rem;color:var(--muted-foreground)}.role-badge{display:inline-block;padding:.125rem .5rem;font-size:.7rem;font-weight:500;border-radius:9999px;text-transform:uppercase}.role-admin{background:#fef2f2;color:#991b1b}.role-user{background:var(--muted);color:var(--muted-foreground)}.modal .form-group{margin-bottom:1rem}.modal .form-input{width:100%}.modal .error{margin-bottom:1rem}.detail-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);padding:0 1.5rem;background:var(--background)}.detail-tab{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--muted-foreground);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease;margin-bottom:-1px}.detail-tab:hover{color:var(--foreground)}.detail-tab.active{color:var(--foreground);border-bottom-color:var(--foreground)}.tab-count{font-size:.7rem;background:var(--muted);padding:.125rem .5rem;border-radius:9999px}.detail-tab.active .tab-count{background:var(--foreground);color:var(--background)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-actions{display:flex;align-items:center;gap:.75rem}.domain-badge{font-size:.75rem;color:var(--muted-foreground);background:var(--muted);padding:.25rem .5rem;border-radius:var(--radius)}.contacts-list{display:flex;flex-direction:column;gap:.75rem}.contact-card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.contact-card-main{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;gap:1rem}.contact-info{flex:1;min-width:0}.contact-name{font-weight:500;font-size:.9375rem;display:flex;align-items:center;gap:.5rem}.contact-title{font-size:.8125rem;color:var(--muted-foreground);margin-top:.125rem}.contact-location{font-size:.75rem;color:var(--muted-foreground);margin-top:.25rem}.contact-actions{display:flex;gap:.5rem;flex-shrink:0}.enriched-badge{font-size:.65rem;background:#dcfce7;color:#166534;padding:.125rem .375rem;border-radius:9999px;font-weight:500}.pushed-badge{font-size:.65rem;background:#dbeafe;color:#1e40af;padding:.125rem .375rem;border-radius:9999px;font-weight:500}.contact-card-enriched{background:var(--muted);padding:.75rem 1rem;border-top:1px solid var(--border)}.contact-detail{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;margin-bottom:.25rem}.contact-detail:last-child{margin-bottom:0}.contact-detail-label{color:var(--muted-foreground);font-weight:500}.contact-detail-value{color:var(--foreground);text-decoration:none}.contact-detail-value:hover{text-decoration:underline}.email-status{font-size:.65rem;padding:.125rem .375rem;border-radius:9999px;font-weight:500}.email-status-verified{background:#dcfce7;color:#166534}.email-status-unknown{background:var(--muted);color:var(--muted-foreground)}.warning-message{background:#fef9c3;border:1px solid #fef08a;color:#854d0e;padding:.75rem 1rem;border-radius:var(--radius);font-size:.875rem;margin-bottom:1rem}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--muted-foreground);font-size:.875rem}.timeline-list{display:flex;flex-direction:column;gap:0;position:relative}.timeline-list:before{content:"";position:absolute;left:26px;top:0;bottom:0;width:2px;background:var(--border)}.timeline-item{display:flex;gap:1rem;padding:.75rem 0;position:relative}.timeline-icon{min-width:52px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--background);border:1px solid var(--border);border-radius:var(--radius);flex-shrink:0;z-index:1}.timeline-icon-text{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.timeline-item-note .timeline-icon{border-color:#3b82f6;background:#eff6ff;color:#1d4ed8}.timeline-item-status_change .timeline-icon{border-color:#8b5cf6;background:#f5f3ff;color:#6d28d9}.timeline-item-merchant_imported .timeline-icon{border-color:#22c55e;background:#dcfce7;color:#166534}.timeline-item-merchant_rescanned .timeline-icon{border-color:#f59e0b;background:#fef3c7;color:#b45309}.timeline-item-contacts_searched .timeline-icon{border-color:#06b6d4;background:#cffafe;color:#0e7490}.timeline-item-contact_enriched .timeline-icon{border-color:#ec4899;background:#fce7f3;color:#be185d}.timeline-item-contact_pushed_to_list .timeline-icon{border-color:#10b981;background:#d1fae5;color:#047857}.timeline-item-email_generated .timeline-icon{border-color:#6366f1;background:#e0e7ff;color:#4338ca}.timeline-content{flex:1;min-width:0}.timeline-header{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.25rem}.timeline-type{font-weight:500;font-size:.8125rem}.timeline-user{font-size:.75rem;color:var(--muted-foreground)}.timeline-date{font-size:.75rem;color:var(--muted-foreground);margin-left:auto}.timeline-body{font-size:.875rem;color:var(--foreground);line-height:1.5;white-space:pre-wrap}.content-briefs-view{padding:1.5rem;max-width:900px}.briefs-header{margin-bottom:1.5rem}.briefs-header h2{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.briefs-description{color:var(--muted-foreground);font-size:.875rem;margin-bottom:1rem}.brief-form{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem}.brief-form .form-group{margin-bottom:1rem}.brief-form label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.375rem}.brief-form .input{width:100%;padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--background)}.brief-form .input:focus{outline:none;border-color:var(--ring)}.brief-form .textarea{width:100%;padding:.75rem;font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);resize:vertical;min-height:200px;font-family:inherit;line-height:1.5}.brief-form .textarea:focus{outline:none;border-color:var(--ring)}.brief-form .form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.briefs-list{display:flex;flex-direction:column;gap:1rem}.brief-card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.25rem}.brief-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.brief-title{font-size:1rem;font-weight:600}.brief-actions{display:flex;gap:.25rem}.brief-content{font-size:.875rem;color:var(--foreground);line-height:1.6;white-space:pre-wrap;max-height:150px;overflow:hidden;position:relative}.brief-content:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(transparent,var(--background))}.brief-meta{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);font-size:.75rem;color:var(--muted-foreground);display:flex;align-items:center;gap:.75rem}.brief-badges{display:flex;gap:.5rem;margin-left:.5rem}.brief-title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.brief-badges{display:flex;gap:.375rem;flex-wrap:wrap}.auto-generated-badge{font-size:.65rem;background:#fef3c7;color:#b45309;padding:.125rem .375rem;border-radius:9999px;font-weight:500}.merchant-badge{font-size:.65rem;background:#e0e7ff;color:#4338ca;padding:.125rem .375rem;border-radius:9999px;font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auto-include-toggle{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--muted-foreground)}.auto-include-toggle input[type=checkbox]{width:1rem;height:1rem;cursor:pointer}.brief-merchant{font-size:.75rem;color:var(--muted-foreground)}.generated-email-panel{background:#f8fafc;border:1px solid var(--border);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.generated-email-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.generated-email-header h4{font-size:.875rem;font-weight:600;margin:0}.generated-email-actions{display:flex;gap:.25rem}.generated-email-to{font-size:.75rem;color:var(--muted-foreground);margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.generated-email-body{font-size:.875rem;line-height:1.6;white-space:pre-wrap;color:var(--foreground)}.emails-list{display:flex;flex-direction:column;gap:1rem}.email-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.email-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.email-recipient{display:flex;flex-direction:column;gap:.125rem}.recipient-name{font-weight:600;font-size:.875rem;color:var(--foreground)}.recipient-title{font-size:.75rem;color:var(--muted-foreground)}.recipient-email{font-size:.75rem;color:var(--primary)}.email-meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--muted-foreground)}.email-edited{font-style:italic}.email-subject{font-size:.875rem;margin-bottom:.5rem;color:var(--foreground)}.email-body{font-size:.875rem;line-height:1.6;white-space:pre-wrap;color:var(--foreground);background:#f8fafc;padding:.75rem;border-radius:var(--radius);margin-bottom:.75rem}.email-actions{display:flex;gap:.25rem;justify-content:flex-end}.email-edit-form{margin-top:.75rem}.email-edit-form .form-group{margin-bottom:.75rem}.email-edit-form label{display:block;font-size:.75rem;font-weight:500;color:var(--muted-foreground);margin-bottom:.25rem}.email-edit-form .input{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem}.email-edit-form .textarea{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;font-family:inherit;resize:vertical}.email-edit-form .form-actions{display:flex;gap:.5rem;justify-content:flex-end}.mobile-menu-toggle{display:none;background:none;border:none;padding:.5rem;cursor:pointer;font-size:1.5rem;line-height:1}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:40}.sidebar-overlay.visible{display:block}@media (max-width: 768px){.app-layout{flex-direction:column}.sidebar{position:fixed;left:-100%;top:0;width:280px;height:100vh;z-index:50;transition:left .3s ease;box-shadow:2px 0 10px #0000001a}.sidebar.open{left:0}.sidebar-overlay.visible,.mobile-menu-toggle,.mobile-menu-close{display:block}.main-content{height:auto;min-height:100vh}.top-bar{flex-wrap:wrap;gap:.5rem;padding:.5rem}.top-bar-left{order:2;width:100%}.top-bar-right{order:1;width:100%}.search-input,.search-form form{width:100%}.search-form .input{min-width:0}.content-area{padding:.75rem}.filters-bar{flex-direction:column;gap:.5rem;align-items:stretch}.filter-group,.filter-select{width:100%}.filter-results{text-align:center;padding-top:.5rem;border-top:1px solid var(--border)}.list-header{display:none}.merchant-row{display:flex;flex-direction:column;padding:.75rem;gap:.5rem}.merchant-row .col-title{font-weight:600;font-size:1rem}.merchant-row .col-url{font-size:.75rem;color:var(--muted-foreground)}.merchant-row .col-subscription,.merchant-row .col-qualified{display:inline-block;font-size:.75rem;margin-right:.5rem}.merchant-row .col-techs{display:flex;flex-wrap:wrap;gap:.25rem}.merchant-row .col-actions{display:flex;justify-content:flex-end;margin-top:.25rem}.detail-header{flex-direction:column;align-items:stretch;gap:.75rem}.detail-actions{display:flex;gap:.5rem}.detail-actions .btn{flex:1}.detail-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.25rem}.detail-tabs::-webkit-scrollbar{display:none}.detail-tab{flex-shrink:0;padding:.5rem .75rem;font-size:.8125rem}.form-grid{grid-template-columns:1fr}.form-group-full{grid-column:1}.contact-card-main{flex-direction:column;gap:.75rem}.contact-actions{flex-wrap:wrap;justify-content:flex-start}.contact-actions .btn{flex:1;min-width:80px}.generated-email-panel{padding:.75rem}.generated-email-header{flex-direction:column;align-items:flex-start;gap:.5rem}.generated-email-actions{width:100%}.generated-email-actions .btn{flex:1}.email-card-header{flex-direction:column;gap:.5rem}.email-actions{justify-content:flex-start;flex-wrap:wrap}.email-actions .btn{flex:1;min-width:60px}.brief-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.brief-title-row{flex-direction:column;align-items:flex-start;gap:.25rem}.brief-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.timeline-item{flex-direction:column;gap:.5rem}.timeline-icon{margin-right:0}.notes-textarea{min-height:80px}.products-grid{grid-template-columns:1fr}.tech-item-header{flex-wrap:wrap;gap:.5rem}.slider-group{flex-wrap:wrap}.pagination{flex-wrap:wrap;justify-content:center;gap:.5rem}.sidebar-user{padding:.75rem}.user-actions{flex-direction:column;gap:.25rem}.bulk-upload-input{min-height:120px}.login-container{padding:1rem}.login-box{padding:1.5rem}}@media (max-width: 480px){.content-area{padding:.5rem}.detail-section{padding:.75rem}.section-header{flex-direction:column;align-items:flex-start;gap:.5rem}.section-actions{width:100%}.section-actions .btn{flex:1}.btn{padding:.5rem .75rem;font-size:.8125rem}.input,.form-input,.form-select,.textarea{font-size:16px}}
