:root{--blue: #2563EB;--blue-deep: #1D4ED8;--blue-soft: #EFF4FF;--ink: #0F1623;--ink-2: #475569;--ink-3: #94A3B8;--line: #E5EAF2;--line-soft: #F1F5F9;--bg: #FFFFFF;--page-bg: #F8F9FB;--green: #16A34A;--amber: #D97706;--red: #DC2626}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:#eceff3;color:var(--ink);font-family:Plus Jakarta Sans,system-ui,sans-serif;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}.shell{max-width:760px;margin:0 auto;padding:40px 24px 80px}.shell-wide{max-width:1180px}.brand{display:flex;align-items:center;gap:10px;margin-bottom:28px}.brand-mark{width:40px;height:40px;display:grid;place-items:center}.brand-mark img{width:40px;height:40px;object-fit:contain;display:block}.brand-text{font-weight:700;font-size:18px;letter-spacing:-.3px}.brand-text .accent{color:var(--blue)}.brand-pill{margin-left:auto;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);background:#fff;padding:4px 10px;border-radius:999px;border:1px solid var(--line)}.app-tabs{display:inline-flex;gap:4px;padding:4px;margin-bottom:24px;background:#fff;border:1px solid var(--line);border-radius:12px}.app-tabs button{appearance:none;border:0;border-radius:8px;background:transparent;color:var(--ink-2);cursor:pointer;font:inherit;font-size:13px;font-weight:700;padding:8px 14px}.app-tabs button.active{background:var(--ink);color:#fff}h1{font-size:28px;line-height:1.15;letter-spacing:-.6px;margin-bottom:6px}.lede{color:var(--ink-2);margin-bottom:26px;font-size:14.5px}.mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px}.mode-toggle button{appearance:none;background:transparent;border:1px solid transparent;border-radius:10px;padding:10px 14px;font:inherit;cursor:pointer;text-align:left;color:var(--ink-2);display:flex;flex-direction:column;gap:2px;transition:background .12s ease,color .12s ease,border-color .12s ease}.mode-toggle button:hover:not(:disabled):not(.active){background:var(--line-soft);color:var(--ink)}.mode-toggle button.active{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 1px 2px #2563eb2e}.mode-toggle button.active .mode-toggle-sub{color:#ffffffd9}.mode-toggle button:disabled{opacity:.5;cursor:not-allowed}.mode-toggle-title{font-weight:700;font-size:14px;letter-spacing:-.2px}.mode-toggle-sub{font-size:11.5px;color:var(--ink-3)}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 1px #0f162305}.card+.card{margin-top:14px}.card-title{font-size:15px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:8px}.card-title .num{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:12px;font-weight:700}label{display:block;font-size:12.5px;font-weight:600;color:var(--ink-2);margin-bottom:6px}input[type=text],input[type=url],input[type=email],input[type=tel],select,textarea{width:100%;padding:10px 12px;font:inherit;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease}input:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #2563eb26}select{cursor:pointer}textarea{min-height:70px;resize:vertical}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.field{margin-bottom:12px}.field:last-child{margin-bottom:0}.url-list{display:flex;flex-direction:column;gap:8px}.url-row{display:flex;gap:8px;align-items:center}.url-row input{flex:1}.url-remove{background:none;border:1px solid var(--line);width:36px;height:36px;border-radius:8px;color:var(--ink-3);cursor:pointer;font-size:18px;display:grid;place-items:center}.url-remove:hover{border-color:var(--red);color:var(--red)}.url-add{margin-top:8px;background:none;border:1px dashed var(--line);padding:8px 14px;border-radius:8px;color:var(--blue);cursor:pointer;font:inherit;font-weight:600;font-size:13px}.url-add:hover{border-color:var(--blue);background:var(--blue-soft)}.file-input{display:flex;align-items:center;gap:12px}.file-input input[type=file]{display:none}.file-input label.file-btn{background:var(--blue-soft);color:var(--blue);padding:8px 14px;border-radius:8px;font-weight:600;cursor:pointer;font-size:13px;margin-bottom:0;border:1px solid transparent}.file-input label.file-btn:hover{border-color:var(--blue)}.file-input .file-name{font-size:13px;color:var(--ink-2)}.file-preview{margin-top:10px;max-height:64px;max-width:180px;border-radius:6px;border:1px solid var(--line);padding:6px;background:#fff;object-fit:contain}.actions{margin-top:22px;display:flex;align-items:center;gap:12px}button.primary{background:var(--blue);color:#fff;font:inherit;font-weight:600;padding:12px 22px;border-radius:10px;border:none;cursor:pointer;transition:background .12s ease,transform .12s ease;font-size:14px}button.primary:hover:not(:disabled){background:var(--blue-deep)}button.primary:disabled{opacity:.55;cursor:not-allowed}.status{color:var(--ink-2);font-size:13.5px}.status.error{color:var(--red)}.progress{margin-top:18px;padding:16px;background:var(--blue-soft);border-radius:10px;font-size:13.5px;color:var(--blue-deep);display:flex;align-items:center;gap:10px}.progress .spinner{width:14px;height:14px;border:2px solid var(--blue);border-top-color:transparent;border-radius:50%;animation:spin .9s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.hint{font-size:12.5px;color:var(--ink-3);margin-top:4px}.learning{display:grid;gap:14px}.learning-toolbar{display:flex;justify-content:flex-end}.ghost-btn{border:1px solid var(--line);background:#fff;color:var(--ink-2);border-radius:8px;padding:8px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.ghost-btn:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.ghost-btn:disabled{opacity:.55;cursor:not-allowed}.learning-error{display:grid;gap:3px;border:1px solid #FECACA;background:#fef2f2;color:#991b1b;border-radius:10px;padding:12px 14px;font-size:13px}.learning-error small{color:#b91c1c}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.metric-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px}.metric-card span{display:block;color:var(--ink-3);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.metric-card strong{display:block;margin-top:4px;font-size:24px;line-height:1}.learning-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line-soft)}.panel-head h2{font-size:15px;line-height:1.2}.panel-head span{color:var(--ink-3);font-size:12px;font-weight:700}.reports-table{display:grid}.reports-row{appearance:none;width:100%;border:0;border-bottom:1px solid var(--line-soft);background:#fff;color:var(--ink-2);display:grid;grid-template-columns:78px minmax(120px,1.2fr) minmax(110px,1fr) 54px 88px;gap:8px;align-items:center;min-height:44px;padding:8px 12px;text-align:left;font:inherit;font-size:12px}.reports-row:not(.reports-row-head){cursor:pointer}.reports-row:not(.reports-row-head):hover,.reports-row.active{background:var(--blue-soft)}.reports-row strong{color:var(--ink);overflow-wrap:anywhere}.reports-row-head{min-height:34px;background:#f8fafc;color:var(--ink-3);font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.outcome-chip{display:inline-flex;justify-content:center;border-radius:999px;background:var(--line-soft);color:var(--ink-2);padding:3px 7px;font-size:11px;font-weight:800}.outcome-chip.booked,.outcome-chip.closed{background:#dcfce7;color:#166534}.outcome-chip.replied{background:#dbeafe;color:#1d4ed8}.outcome-chip.ignored,.outcome-chip.bad_fit{background:#fee2e2;color:#991b1b}.detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 16px;border-bottom:1px solid var(--line-soft)}.detail-summary div{display:grid;gap:4px}.detail-summary span{color:var(--ink-3);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.detail-summary strong{font-size:13px;overflow-wrap:anywhere}.detail-summary select{padding:7px 8px;font-size:12px}.feedback-meta{display:grid;grid-template-columns:160px 1fr;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line-soft);background:#fcfdff}.feedback-meta input{font-size:12.5px}.findings-list{display:grid;gap:0}.finding-item{display:grid;grid-template-columns:minmax(0,1fr) 184px;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line-soft)}.finding-title{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.finding-title strong{font-size:13.5px}.finding-title span{color:var(--ink-3);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.finding-main p{margin-top:4px;color:var(--ink-2);font-size:12.5px}.finding-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.finding-tags span{border:1px solid var(--line);border-radius:999px;color:var(--ink-2);font-size:11px;font-weight:700;padding:3px 7px}.feedback-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-content:start}.feedback-buttons button{border:1px solid var(--line);background:#fff;color:var(--ink-2);border-radius:7px;cursor:pointer;font:inherit;font-size:11.5px;font-weight:700;min-height:30px;padding:5px 7px}.feedback-buttons button:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.empty-state{color:var(--ink-3);font-size:13px;padding:18px 16px}@media(max-width:980px){.metric-grid,.learning-grid,.detail-summary{grid-template-columns:1fr}.reports-row{grid-template-columns:72px minmax(90px,1fr) 64px 74px}.reports-row span:nth-child(3),.reports-row-head span:nth-child(3){display:none}.finding-item,.feedback-meta{grid-template-columns:1fr}}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(180deg,#f6f8fb,#edf1f7)}.login-card{width:100%;max-width:420px;background:#fff;border-radius:18px;padding:36px 32px 28px;box-shadow:0 1px 3px #0000000d,0 24px 64px -28px #0f16232e;border:1px solid var(--g-100, #e5e7eb)}.login-brand{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:16px;letter-spacing:-.01em;color:var(--ink-1, #0f1623);margin-bottom:22px}.login-card h1{font-size:24px;font-weight:800;letter-spacing:-.02em;margin:0 0 6px}.login-sub{margin:0 0 24px;color:var(--ink-3, #6b7280);font-size:14px}.login-form{display:flex;flex-direction:column;gap:14px}.login-label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:var(--ink-2, #4b5563);letter-spacing:.02em}.login-input{font:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--g-200, #d1d5db);border-radius:10px;background:#fff;transition:border-color .15s,box-shadow .15s}.login-input:focus{outline:none;border-color:var(--blue, #2563eb);box-shadow:0 0 0 3px #2563eb26}.login-input:disabled{background:#f6f8fb;cursor:not-allowed}.login-error{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:10px;padding:10px 12px;font-size:13px}.login-btn{margin-top:4px;padding:11px 16px;border-radius:10px;border:none;background:var(--blue, #2563eb);color:#fff;font-weight:700;font-size:14px;cursor:pointer;transition:background .15s,transform .1s}.login-btn:hover:not(:disabled){background:#1d4ed8}.login-btn:active:not(:disabled){transform:translateY(1px)}.login-btn:disabled{opacity:.55;cursor:not-allowed}.login-fineprint{margin:22px 0 0;font-size:12px;color:var(--ink-3, #6b7280);line-height:1.5}
