@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap";
:root{--bg:#0f1117;--bg-card:#1a1d27;--bg-hover:#22262f;--border:#2a2e38;--text:#e4e6eb;--text-muted:#8b9199;--teal:#1a9a8e;--teal-dim:#1a9a8e26;--green:#2ecc71;--green-dim:#2ecc7126;--amber:#f5a623;--amber-dim:#f5a62326;--red:#e74c3c;--red-dim:#e74c3c26}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Plus Jakarta Sans,sans-serif;line-height:1.6}.container{max-width:1600px;margin:0 auto;padding:0 24px}.header{border-bottom:1px solid var(--border);background:var(--bg);z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:20px 0;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;display:flex}.logo{align-items:center;gap:8px;font-size:1.25rem;font-weight:800;display:flex}.logo span{color:var(--teal)}.stats-bar{border-bottom:1px solid var(--border);gap:24px;padding:20px 0;display:flex}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:4px;min-width:160px;padding:16px 24px;display:flex}.stat-value{color:var(--teal);font-size:2rem;font-weight:800}.stat-label{color:var(--text-muted);font-size:.8125rem;font-weight:500}.view-toggle{gap:8px;display:flex}.view-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:8px 16px;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .2s}.view-btn:hover{border-color:var(--teal);color:var(--text)}.view-btn.active{background:var(--teal-dim);border-color:var(--teal);color:var(--teal)}.page-list{flex-wrap:wrap;gap:8px;padding:20px 0;display:flex}.page-chip{cursor:pointer;border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);border-radius:6px;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600;transition:all .15s}.page-chip:hover{border-color:var(--teal);color:var(--text)}.page-chip.active{background:var(--teal);border-color:var(--teal);color:#fff}.page-chip.has-grid{border-color:var(--green);color:var(--green)}.page-chip.no-grid{color:var(--text-muted);opacity:.5}.page-chip.error{border-color:var(--red);color:var(--red)}.verify-container{grid-template-columns:1fr 1fr;gap:24px;min-height:calc(100vh - 250px);padding:24px 0;display:grid}.verify-left,.verify-right{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.panel-header{border-bottom:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;padding:16px 20px;font-size:.875rem;font-weight:700;display:flex}.image-scroll{flex:1;justify-content:center;align-items:flex-start;padding:16px;display:flex;overflow:auto}.image-scroll img{border-radius:8px;max-width:100%;height:auto}.json-scroll{flex:1;padding:16px;overflow:auto}.json-pre{white-space:pre-wrap;word-break:break-word;color:var(--text);font-family:JetBrains Mono,monospace;font-size:.8125rem;line-height:1.7}.status-badge{text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:.6875rem;font-weight:700}.status-badge.extracted{background:var(--green-dim);color:var(--green)}.status-badge.skipped{background:var(--amber-dim);color:var(--amber)}.status-badge.error{background:var(--red-dim);color:var(--red)}.resort-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px;padding:24px 0;display:grid}.resort-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:12px;padding:20px;transition:all .2s}.resort-card:hover{border-color:var(--teal);transform:translateY(-2px)}.resort-name{margin-bottom:4px;font-size:1rem;font-weight:700}.resort-location{color:var(--text-muted);margin-bottom:12px;font-size:.8125rem}.resort-meta{flex-wrap:wrap;gap:12px;display:flex}.resort-tag{background:var(--teal-dim);color:var(--teal);border-radius:4px;padding:3px 8px;font-size:.6875rem;font-weight:600}.tabs{border-bottom:1px solid var(--border);gap:0;padding:0 24px;display:flex}.tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:12px 20px;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .2s}.tab:hover{color:var(--text)}.tab.active{color:var(--teal);border-bottom-color:var(--teal)}.empty{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:80px 24px;font-size:.9375rem;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--teal);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.spinner-small{border:2px solid var(--border);border-top-color:var(--teal);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.outreach-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;display:flex}.filter-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.filter-chip{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:.8125rem;font-weight:500;transition:all .2s}.filter-chip:hover{border-color:var(--teal);color:var(--text)}.filter-chip.active{background:var(--teal-dim);border-color:var(--teal);color:var(--teal)}.add-manual-btn{border:1px solid var(--teal);background:var(--teal-dim);color:var(--teal);cursor:pointer;white-space:nowrap;border-radius:8px;padding:8px 18px;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .2s}.add-manual-btn:hover{background:var(--teal);color:#fff}.outreach-layout{grid-template-columns:420px 1fr;gap:24px;min-height:calc(100vh - 300px);padding:24px 0;display:grid}.outreach-list{flex-direction:column;gap:12px;max-height:calc(100vh - 300px);padding-right:8px;display:flex;overflow-y:auto}.lead-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:12px;padding:16px;transition:all .2s}.lead-card:hover{border-color:var(--teal);transform:translateY(-1px)}.lead-card.selected{border-color:var(--teal);background:#1a9a8e14}.lead-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.lead-source{color:var(--text-muted);font-size:.75rem;font-weight:600}.lead-time{color:var(--text-muted);font-size:.6875rem}.lead-title{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;font-size:.9375rem;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.lead-body-preview{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:10px;font-size:.8125rem;line-height:1.4;display:-webkit-box;overflow:hidden}.lead-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lead-score{font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:700}.lead-club-badge{border-radius:4px;padding:2px 8px;font-size:.6875rem;font-weight:600}.lead-status-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:2px 8px;font-size:.6875rem;font-weight:700}.lead-comments{color:var(--text-muted);font-size:.75rem}.lead-generating{color:var(--amber);align-items:center;gap:6px;font-size:.75rem;display:flex}.lead-action-btn{cursor:pointer;border:none;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:.6875rem;font-weight:600;transition:all .15s}.lead-action-btn.generate{background:var(--teal-dim);color:var(--teal)}.lead-action-btn.generate:hover{background:var(--teal);color:#fff}.lead-action-btn.skip{color:var(--text-muted);border:1px solid var(--border);background:0 0}.lead-action-btn.skip:hover{border-color:var(--red);color:var(--red)}.lead-topics{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.topic-tag{color:var(--text-muted);background:#8c91991a;border-radius:4px;padding:2px 8px;font-size:.625rem;font-weight:600}.outreach-detail{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.view-original-link{color:var(--teal);margin-left:auto;font-size:.75rem;text-decoration:none}.view-original-link:hover{text-decoration:underline}.detail-scroll{flex:1;padding:20px;overflow-y:auto}.detail-section{margin-bottom:20px}.detail-section-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;font-size:.75rem;font-weight:700}.detail-post-title{margin-bottom:10px;font-size:1.125rem;font-weight:700;line-height:1.35}.detail-post-body{color:var(--text-muted);white-space:pre-wrap;font-size:.9375rem;line-height:1.65}.detail-divider{background:var(--border);height:1px;margin:20px 0}.generate-btn-large{border:2px dashed var(--teal);background:var(--teal-dim);width:100%;color:var(--teal);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:16px 24px;font-family:inherit;font-size:1rem;font-weight:700;transition:all .2s;display:flex}.generate-btn-large:hover:not(:disabled){background:var(--teal);color:#fff;border-style:solid}.generate-btn-large:disabled{opacity:.6;cursor:wait}.generating-state{color:var(--text-muted);flex-direction:column;align-items:center;gap:16px;padding:40px;display:flex}.response-box{background:var(--bg);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:20px}.response-text{color:var(--text);white-space:pre-wrap;word-break:break-word;font-family:Plus Jakarta Sans,sans-serif;font-size:.9375rem;line-height:1.7}.response-actions{flex-wrap:wrap;gap:10px;display:flex}.copy-btn{background:var(--teal);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-family:inherit;font-size:.875rem;font-weight:700;transition:all .2s}.copy-btn:hover{opacity:.9;transform:translateY(-1px)}.regenerate-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:10px 20px;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .2s}.regenerate-btn:hover{border-color:var(--teal);color:var(--teal)}.regenerate-btn:disabled{opacity:.5;cursor:wait}.posted-btn{border:1px solid var(--green);background:var(--green-dim);color:var(--green);cursor:pointer;border-radius:8px;padding:10px 20px;font-family:inherit;font-size:.875rem;font-weight:600;transition:all .2s}.posted-btn:hover{background:var(--green);color:#fff}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;width:90%;max-width:600px;max-height:80vh;padding:32px;overflow-y:auto}.modal-title{margin-bottom:4px;font-size:1.25rem;font-weight:800}.modal-subtitle{color:var(--text-muted);margin-bottom:24px;font-size:.875rem}.modal-field{margin-bottom:16px}.modal-field label{color:var(--text-muted);margin-bottom:6px;font-size:.8125rem;font-weight:600;display:block}.modal-input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;padding:10px 14px;font-family:inherit;font-size:.9375rem;transition:border-color .2s}.modal-input:focus{border-color:var(--teal);outline:none}.modal-textarea{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);resize:vertical;border-radius:8px;padding:10px 14px;font-family:inherit;font-size:.9375rem;line-height:1.6;transition:border-color .2s}.modal-textarea:focus{border-color:var(--teal);outline:none}.modal-source-toggle{gap:8px;display:flex}.modal-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.modal-cancel{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:8px;padding:10px 20px;font-family:inherit;font-size:.875rem;font-weight:600}.modal-cancel:hover{border-color:var(--text);color:var(--text)}.modal-submit{background:var(--teal);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 24px;font-family:inherit;font-size:.875rem;font-weight:700;transition:all .2s}.modal-submit:hover{opacity:.9}.modal-submit:disabled{opacity:.4;cursor:not-allowed}@media (max-width:1024px){.verify-container,.outreach-layout{grid-template-columns:1fr}}
