@import "https://fonts.googleapis.com/css2?family=Sora:wght@700&family=DM+Sans:wght@400;500;600&family=JetBrains+Mono:wght@400;500;700&display=swap";*,:before,:after{box-sizing:border-box}:root{--bg-base:#fff;--bg-surface:#f5f6ff;--bg-elevated:#eeeffe;--sidebar-bg:#1e1b4b;--sidebar-text:#c7d2fe;--sidebar-text-active:#fff;--sidebar-active-bg:#3730a3;--sidebar-border:#2e2a5e;--border:#e0e2f5;--text-primary:#1a1740;--text-secondary:#4b5563;--text-muted:#9ca3af;--accent:#4f46e5;--accent-dim:#eef2ff;--accent-hover:#4338ca;--green:#16a34a;--green-dim:#dcfce7;--amber:#b45309;--amber-dim:#fef3c7;--red:#dc2626;--red-dim:#fee2e2;--msg-error-bg:#fee2e2;--msg-error-text:#dc2626;--msg-warning-bg:#fef3c7;--msg-warning-text:#b45309;--msg-info-bg:#f5f6ff;--msg-info-text:#4b5563;--msg-success-bg:#dcfce7;--msg-success-text:#16a34a;--sans:"DM Sans", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace}html,body{background:var(--bg-base);color:var(--text-primary);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:15.5px;line-height:1.6}#root{height:100vh;display:flex}.layout{width:100%;height:100vh;display:flex}.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);flex-direction:column;width:220px;min-width:220px;padding:0;display:flex}.sidebar-brand{border-bottom:1px solid var(--sidebar-border);align-items:center;gap:10px;padding:20px 20px 16px;display:flex}.brand-icon{color:var(--accent);font-size:16px}.brand-name{font-family:"Sora", var(--sans);color:#fff;letter-spacing:.02em;font-size:15px;font-weight:700}.sidebar-nav{padding:12px}.nav-link{color:var(--sidebar-text);border-radius:4px;padding:8px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:block}.nav-link:hover{color:#fff;background:#ffffff14}.nav-link.active{color:var(--sidebar-text-active);background:var(--sidebar-active-bg)}.main-content{background:var(--bg-base);flex-direction:column;flex:1;padding:32px 40px;display:flex;overflow-y:auto}@media (width<=700px){.sidebar{display:none}}.page{width:100%}.page-header-row{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.page-title{color:var(--text-primary);margin:0 0 4px;font-size:22px;font-weight:600}.page-meta{color:var(--text-secondary);margin:0 0 28px;font-size:13px}.section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin:0 0 14px;font-size:11px;font-weight:600}.page-section{margin-bottom:36px}.section-divider{border:none;border-top:1px solid var(--border);margin:28px 0}.back-link{color:var(--accent);font-size:13px;text-decoration:none;transition:color .15s;display:inline-block}.back-link:hover{color:var(--accent-hover)}.new-job-form{background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;margin-bottom:0;padding:20px 24px}.form-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.top-n-row{margin-top:12px}.text-input{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);font-family:var(--sans);border-radius:4px;outline:none;flex:1;min-width:160px;padding:8px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s}.text-input.narrow{flex:0 0 140px;min-width:0}.text-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.text-input::placeholder{color:var(--text-muted)}.file-label{cursor:pointer}.file-btn{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;max-width:220px;padding:8px 12px;font-size:13px;transition:border-color .15s;display:inline-block;overflow:hidden}.file-btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);color:#fff;font-family:var(--sans);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:8px 18px;font-size:13px;font-weight:600;transition:background .15s}.btn-primary.btn-small{padding:5px 12px;font-size:12px}.btn-primary:disabled{opacity:.45;cursor:default}.btn-primary:not(:disabled):hover{background:var(--accent-hover)}.btn-danger{border:1px solid var(--red);color:var(--red);font-family:var(--sans);cursor:pointer;background:0 0;border-radius:6px;padding:7px 16px;font-size:13px;font-weight:500;transition:background .15s}.btn-danger.btn-small{padding:5px 12px;font-size:12px}.btn-danger:hover{background:var(--red-dim)}.error-msg{color:var(--red);margin-top:10px;font-size:13px}.state-msg{color:var(--text-muted);margin:0;font-size:14px}.state-msg.empty{color:var(--text-muted);font-style:italic}.msg-error{background:var(--msg-error-bg);color:var(--msg-error-text);border:1px solid var(--red-dim);border-radius:4px;padding:8px 12px;font-size:14px}.msg-warning{background:var(--msg-warning-bg);color:var(--msg-warning-text);border-radius:4px;padding:8px 12px;font-size:14px}.msg-info{background:var(--msg-info-bg);color:var(--msg-info-text);border-radius:4px;padding:8px 12px;font-size:13px}.msg-success{background:var(--msg-success-bg);color:var(--msg-success-text);border-radius:4px;padding:8px 12px;font-size:14px}.job-list{border:1px solid var(--border);border-radius:6px;flex-direction:column;display:flex;overflow:hidden}.job-card{background:var(--bg-surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;text-decoration:none;transition:background .12s;display:flex}.job-card:last-child{border-bottom:none}.job-card:hover{background:var(--bg-elevated)}.job-card-title{color:var(--text-primary);font-size:14px;font-weight:500}.job-card-meta{color:var(--text-secondary);font-size:12px;font-family:var(--mono);gap:16px;display:flex}.job-card-runs{color:var(--accent)}.upload-zone-wrapper{width:100%}.upload-zone{border:2px dashed var(--border);text-align:center;cursor:pointer;background:var(--bg-surface);max-height:160px;color:var(--text-secondary);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;padding:16px 20px;font-size:13px;transition:border-color .15s,background .15s;display:flex}.upload-zone:hover,.upload-zone.dragging{border-color:var(--accent);background:var(--accent-dim)}.upload-icon{color:var(--accent);margin-bottom:6px;font-size:20px;display:block}.upload-link{color:var(--accent);text-decoration:underline}.upload-hint{color:var(--text-secondary);margin-top:2px;font-size:11px}.file-list{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.file-item{background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;align-items:center;gap:10px;padding:6px 12px;font-size:12px;display:flex}.file-name{color:var(--text-primary);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.file-size{color:var(--text-secondary);white-space:nowrap}.file-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.file-remove:hover{color:var(--red)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.screening-status{color:var(--accent);font-size:13px;font-family:var(--mono);margin-top:10px}.screening-status:after{content:"_";animation:1s step-end infinite blink}.runs-table,.results-table{border-collapse:collapse;width:100%;font-size:13px}.runs-table th,.results-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border);background:var(--bg-surface);padding:8px 12px;font-size:11px;font-weight:600}.runs-table td,.results-table td{border-bottom:1px solid var(--border);color:var(--text-primary);vertical-align:middle;padding:10px 12px}.runs-table tr:last-child td,.results-table tbody tr.candidate-row:last-of-type td{border-bottom:none}.runs-table tr:hover td{background:var(--bg-elevated)}.table-link{color:var(--accent);font-size:12px;text-decoration:none}.table-link:hover{text-decoration:underline}.mono{font-family:var(--mono)}.results-table{border:1px solid var(--border);border-radius:6px;width:100%;overflow:hidden}.candidate-row{cursor:pointer}.candidate-row:hover td,.candidate-row.expanded td{background:var(--bg-elevated)}.col-rank{width:50px;color:var(--text-muted);font-family:var(--mono)}.col-score{width:90px}.col-rec{text-align:center;width:160px}.col-chevron{text-align:right;width:40px;padding-right:10px}.row-chevron{width:26px;height:26px;color:var(--text-secondary);-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;line-height:1;transition:transform .2s,background .15s;display:inline-flex;transform:rotate(0)}.candidate-row:hover .row-chevron{background:var(--border)}.row-chevron.expanded{transform:rotate(180deg)}.score-badge{font-family:var(--mono);border-radius:12px;justify-content:center;align-items:center;padding:2px 10px;font-size:13px;font-weight:700;display:inline-flex}.score-badge.score-green{background-color:var(--green-dim);color:var(--green)}.score-badge.score-amber{background-color:var(--amber-dim);color:var(--amber)}.score-badge.score-red{background-color:var(--red-dim);color:var(--red)}.rec-badge{letter-spacing:.05em;font-size:11px;font-weight:600;font-family:var(--mono);text-transform:uppercase;white-space:nowrap;border-radius:12px;align-items:center;padding:2px 10px;display:inline-flex}.rec-badge.rec-strong-yes,.rec-badge.rec-yes{background-color:var(--green-dim);color:var(--green)}.rec-badge.rec-maybe{background-color:var(--amber-dim);color:var(--amber)}.rec-badge.rec-no{background-color:var(--red-dim);color:var(--red)}.results-disclaimer{color:var(--text-secondary);text-align:right;margin-top:10px;font-size:11px;font-style:italic;font-weight:500}.detail-row td{border-bottom:1px solid var(--border);padding:0}.detail-panel{background:var(--bg-elevated);border-top:1px solid var(--border);padding:20px 24px}.detail-summary{color:var(--text-primary);max-width:680px;margin:0 0 20px;font-size:13px;line-height:1.7}.dimensions-grid{grid-template-columns:1fr 1fr;gap:20px 32px;margin-bottom:24px;display:grid}.dimension-card{padding:0}.dimension-header{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.dimension-name{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;font-variant:small-caps;font-size:10px;font-weight:600}.dimension-score{font-family:var(--mono);color:var(--accent);font-size:15px;font-weight:500}.dimension-max{color:var(--text-secondary);font-size:11px}.dimension-rationale{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.6}.notes-section{border-top:1px solid var(--border);margin-top:4px;padding-top:16px}.notes-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;font-variant:small-caps;margin-bottom:8px;font-size:10px;font-weight:600;display:block}.notes-textarea{background:var(--bg-base);border:1px solid var(--border);width:100%;color:var(--text-primary);font-family:var(--sans);resize:vertical;border-radius:4px;outline:none;padding:8px 12px;font-size:13px;line-height:1.6;transition:border-color .15s,box-shadow .15s}.notes-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.notes-textarea::placeholder{color:var(--text-muted)}.notes-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:8px;display:flex}.notes-status{font-size:12px;font-family:var(--mono)}.notes-status.saving{color:var(--text-muted)}.notes-status.saved{color:var(--green)}.run-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:28px;font-size:13px;display:flex}.meta-sep{color:var(--text-muted)}.run-info-icon{color:var(--text-muted);cursor:default;font-size:13px;line-height:1;position:relative}.run-info-tooltip{background:var(--text-primary);color:var(--bg-base);font-size:11px;font-family:var(--mono);white-space:nowrap;z-index:10;border-radius:4px;flex-direction:column;gap:3px;padding:6px 10px;display:none;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.run-info-icon:hover .run-info-tooltip{display:flex}.danger-zone{border-top:1px solid var(--border);margin-top:36px;padding-top:24px}.sidebar-footer{border-top:1px solid var(--sidebar-border);margin-top:auto;padding:16px 20px}.sidebar-user{color:var(--sidebar-text);text-overflow:ellipsis;white-space:nowrap;margin:0 0 6px;font-size:13px;overflow:hidden}.sidebar-signout{color:var(--sidebar-text);font-size:13px;font-family:var(--sans);cursor:pointer;background:0 0;border:none;padding:0;font-weight:500;transition:color .15s}.sidebar-signout:hover{color:#fff}.login-page{background:var(--accent);flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border:none;border-radius:8px;width:100%;max-width:380px;padding:40px 36px;box-shadow:0 4px 32px #0003}.login-brand{justify-content:center;align-items:center;gap:10px;margin-bottom:32px;display:flex}.login-brand .brand-icon{color:var(--accent)}.login-brand .brand-name{color:var(--text-primary)}.login-form{flex-direction:column;gap:14px;display:flex}.login-form .text-input{background:#fff;width:100%}.login-form .btn-primary{width:100%;margin-top:4px}.login-label{color:var(--text-secondary);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.login-invite-note{text-align:center;color:var(--text-muted);margin:24px 0 0;font-size:12px;font-style:italic}.login-description{text-align:center;color:var(--text-secondary);margin:-16px 0 24px;font-size:13px;line-height:1.5}.credits-indicator{margin:4px 0 6px;font-size:13px;display:block}.credits-green{color:#4ade80}.credits-amber{color:#fcd34d}.credits-red{color:#f87171;font-weight:600}.upgrade-link{color:var(--sidebar-text);opacity:.85;margin-bottom:6px;font-size:12px;text-decoration:none;display:inline-block}.upgrade-link:hover{opacity:1;text-decoration:underline}.dev-credits-form{gap:4px;width:100%;margin:6px 0;display:flex}.dev-credits-input{min-width:0;color:var(--sidebar-text);background:#2e2a5e;border-color:#3d3875;flex:1;padding:3px 6px;font-size:12px}.dev-credits-input::placeholder{color:#c7d2fe80}.dev-credits-input:focus{border-color:var(--accent);box-shadow:none}.dev-credits-btn{flex-shrink:0;padding:3px 8px;font-size:12px}.btn-secondary{color:var(--sidebar-text);cursor:pointer;font-family:var(--sans);background:#2e2a5e;border:1px solid #3d3875;border-radius:4px;font-size:14px}.btn-secondary:hover{background:#3d3875}.modal-backdrop{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-base);border:1px solid var(--border);border-radius:8px;width:480px;max-width:90vw;padding:32px}.modal-title{margin:0 0 8px;font-size:18px;font-weight:600}.modal-subtitle{color:var(--text-secondary);margin:0 0 20px}.modal-actions{gap:12px;margin-top:24px;display:flex}.btn-ghost{border:1px solid var(--accent);color:var(--accent);cursor:pointer;font-family:var(--sans);background:0 0;border-radius:6px;padding:8px 16px;font-size:14px;transition:background .15s}.btn-ghost:hover{background:var(--accent-dim)}.pack-list{gap:12px;display:flex}.pack-grid{flex-wrap:wrap;gap:20px;margin-top:32px;display:flex}.pack-card{background:var(--bg-surface);border:1px solid var(--border);text-align:center;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:6px;min-width:130px;padding:20px 16px;display:flex;position:relative}.pack-recommended{border-color:var(--accent);background:var(--accent-dim);box-shadow:0 0 0 1px var(--accent)}.pack-badge{background:var(--accent);color:#fff;letter-spacing:.05em;white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.pack-label{margin-top:8px;font-size:15px;font-weight:600}.pack-runs{color:var(--text-secondary);font-size:13px}.pack-price{font-size:22px;font-weight:700}.pack-per-run{color:var(--text-muted);font-size:11px}.pack-buy-btn{width:100%;margin-top:12px}.toast{background:var(--text-primary);color:var(--bg-base);z-index:200;border-radius:6px;padding:10px 20px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.upgrade-page .page-meta{margin-bottom:0}.banner{border-radius:8px;margin:1.25rem 0;padding:.85rem 1.1rem;font-size:.95rem;font-weight:500}.banner-success{background:var(--msg-success-bg);color:var(--msg-success-text);border:1px solid #16a34a4d}.banner-muted{background:var(--msg-info-bg);border:1px solid var(--border);color:var(--text-muted)}.footer{background:var(--bg-base);border-top:1px solid var(--border);text-align:center;color:var(--text-muted);margin-top:auto;padding:16px 0;font-size:12px}.footer-sep{margin:0 .5rem}.footer-link{color:var(--text-secondary);text-decoration:none}.footer-link:hover{color:var(--accent);text-decoration:underline}.login-footer{color:#ffffffa6;border-top-color:#ffffff40;margin-top:1.5rem}.login-footer .footer-link{color:#fffc}.login-footer .footer-link:hover{color:#fff}.legal-layout{background:var(--bg-base);flex-direction:column;width:100%;min-height:100vh;display:flex}.legal-page{width:100%;max-width:800px;color:var(--text-primary);flex:1;margin:0 auto;padding:48px 24px;line-height:1.7}.legal-page h1{color:var(--text-primary);margin-bottom:.25rem;font-size:1.75rem;font-weight:700}.legal-page h2,.legal-page h3,.legal-page h4{color:var(--text-secondary);margin-top:2rem;margin-bottom:.5rem}.legal-page h2{font-size:1.15rem}.legal-page h3{font-size:1rem}.legal-page h4{font-size:.9rem}.legal-page p{margin:.75rem 0}.legal-page ul{margin:.5rem 0;padding-left:1.5rem}.legal-page li{margin:.3rem 0}.legal-page a{color:var(--accent)}.contact-wrapper{flex:1;justify-content:center;align-items:center;width:100%;padding:24px;display:flex}.contact-page{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;width:100%;max-width:500px;padding:2rem 2.25rem}.contact-title{margin-bottom:1rem;font-size:1.4rem;font-weight:700}.contact-body{color:var(--text-primary);margin:.6rem 0}.contact-email{margin:1rem 0;font-size:1rem}.contact-email a{color:var(--accent);text-decoration:none}.contact-email a:hover{text-decoration:underline}.contact-response{color:var(--text-muted);margin-top:1rem;font-size:.875rem}.upgrade-legal-note{color:var(--text-muted);text-align:center;margin-top:1.5rem;font-size:11px}.upgrade-legal-note a{color:var(--text-muted);text-decoration:underline}
