:root{--bg: #f6f7fb;--surface: #ffffff;--surface-2: #f8fafc;--border: #e6e8ee;--border-strong: #d4d8e0;--text: #0f172a;--muted: #64748b;--primary: #6366f1;--primary-2: #8b5cf6;--primary-hover: #4f46e5;--ring: rgba(99, 102, 241, .18);--danger: #dc2626;--green: #16a34a;--amber: #d97706;--red: #e11d48;--radius: 14px;--radius-sm: 10px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .06);--shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 12px 28px -14px rgba(15, 23, 42, .14);--shadow-lg: 0 20px 48px -20px rgba(15, 23, 42, .28)}[data-theme=dark]{--bg: #0b1020;--surface: #151a2b;--surface-2: #1b2236;--border: #273049;--border-strong: #33405e;--text: #e6e9f2;--muted: #9aa6c0;--primary: #7c80ff;--primary-2: #9d6bff;--primary-hover: #8b8fff;--ring: rgba(124, 128, 255, .28);--danger: #f87171;--green: #22c55e;--amber: #f59e0b;--red: #fb7185;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .4);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 12px 28px -14px rgba(0, 0, 0, .6);--shadow-lg: 0 20px 48px -20px rgba(0, 0, 0, .7)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased;background:radial-gradient(900px 480px at 100% -10%,rgba(139,92,246,.1),transparent 60%),radial-gradient(820px 420px at -10% 0%,rgba(99,102,241,.1),transparent 55%),var(--bg);background-attachment:fixed;transition:background-color .2s,color .2s}[data-theme=dark] body{background:radial-gradient(900px 480px at 100% -10%,rgba(157,107,255,.16),transparent 60%),radial-gradient(820px 420px at -10% 0%,rgba(124,128,255,.16),transparent 55%),var(--bg);background-attachment:fixed}a{color:var(--primary-hover);text-decoration:none;font-weight:500}a:hover{text-decoration:underline}h1{font-size:1.7rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .25rem}h2{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin:0 0 .85rem}h3{font-size:1rem;font-weight:600;margin:1.1rem 0 .5rem}.muted{color:var(--muted);font-size:.9rem}.error{color:var(--danger);font-size:.88rem;margin:.25rem 0 0;background:#fef2f2;border:1px solid #fecaca;border-left:3px solid var(--danger);padding:.6rem .85rem;border-radius:var(--radius-sm)}[data-theme=dark] .error{color:#fca5a5;background:#7f1d1d47;border-color:#f8717166}.container{max-width:860px;margin:0 auto;padding:2rem 1.25rem 5rem}.container.narrow{max-width:420px;min-height:calc(100vh - 64px);display:flex;flex-direction:column;justify-content:center}.page-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}.page-head h1{margin:0}label>.lbl{display:flex;align-items:baseline;gap:.4rem;flex-wrap:wrap}.hint{font-weight:500;font-size:.78rem;color:var(--muted)}.checkbox-field{flex-direction:row!important;align-items:center;gap:.55rem}.checkbox-field input{width:auto}.spinner-row{display:flex;align-items:center;gap:.6rem;color:var(--muted);padding:1.5rem 0}.spinner{width:18px;height:18px;border:2px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.navbar{position:sticky;top:0;z-index:20;background:#ffffffc7;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border)}[data-theme=dark] .navbar{background:#0b1020b8}.navbar-inner{display:flex;align-items:center;justify-content:space-between;padding-top:.8rem;padding-bottom:.8rem}.brand{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;font-size:1.02rem;letter-spacing:-.01em;color:var(--text)}.brand:hover{text-decoration:none}.brand-mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 4px 12px -3px #6366f18c;display:grid;place-items:center;color:#fff;font-weight:800;font-size:.9rem}.nav-actions{display:flex;align-items:center;gap:.75rem}.nav-email{color:var(--muted);font-size:.88rem}.theme-toggle{padding:.5rem .7rem;display:inline-flex;align-items:center;justify-content:center;line-height:1}.theme-toggle svg{display:block}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem 1.5rem;margin-bottom:1.25rem;box-shadow:var(--shadow-sm)}.list{display:flex;flex-direction:column;gap:.8rem}.list-item{display:flex;align-items:center;justify-content:space-between;margin-bottom:0;color:var(--text);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}a.list-item:hover{text-decoration:none;border-color:var(--border-strong);transform:translateY(-2px);box-shadow:var(--shadow)}.list-item h3{margin:0}.chevron{font-size:1.4rem;color:var(--muted);transition:transform .15s ease,color .15s ease}a.list-item:hover .chevron{transform:translate(3px);color:var(--primary)}.form{display:flex;flex-direction:column;gap:.95rem}.form-row{display:flex;gap:.6rem}.form-row input{flex:1}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:.95rem}label{display:flex;flex-direction:column;gap:.4rem;font-size:.82rem;font-weight:600;color:var(--text)}input,textarea,select{font:inherit;padding:.65rem .8rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:#fff;color:var(--text);width:100%;transition:border-color .15s ease,box-shadow .15s ease}select{cursor:pointer}input:disabled,select:disabled{opacity:.55;cursor:not-allowed}[data-theme=dark] input,[data-theme=dark] textarea,[data-theme=dark] select{background:var(--surface-2)}input::placeholder,textarea::placeholder{color:#94a3b8}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#6b7691}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--ring)}textarea{resize:vertical;font-family:inherit}.form-row-links{display:flex;justify-content:space-between;gap:.5rem}.dropzone{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;padding:1.6rem 1rem;border:1.5px dashed var(--border-strong);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);cursor:pointer;transition:border-color .15s ease,background .15s ease}.dropzone:hover{border-color:var(--primary)}.dropzone.dragging{border-color:var(--primary);background:var(--ring)}.dropzone.has-file{border-style:solid}.dropzone-icon{color:var(--primary)}.dropzone-text{display:flex;flex-direction:column;gap:.15rem;font-size:.9rem}.dropzone-text .muted{font-size:.78rem}.news-stats{display:flex;gap:1rem;margin:.5rem 0 1rem}.news-stat{flex:1;display:flex;flex-direction:column;gap:.1rem;padding:.9rem 1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.news-stat-num{font-size:1.6rem;font-weight:800;color:var(--primary)}.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.chip{font:inherit;font-size:.82rem;font-weight:600;padding:.35rem .85rem;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer}.chip-active{background:var(--primary);border-color:var(--primary);color:#fff}.chip-tag{cursor:default;background:var(--surface-2);border-color:var(--border);color:var(--primary)}.badge{font-size:.72rem;font-weight:700;padding:.2rem .6rem;border-radius:999px}.badge-high{background:#fde7e9;color:#b42318}[data-theme=dark] .badge-high{background:#b4231840;color:#ffb4ad}.news-card{display:flex;flex-direction:column;gap:.55rem}.news-card-tags{display:flex;align-items:center;gap:.5rem}.news-card h3{margin:0}.news-card p{margin:0;color:var(--text)}.news-why{font-size:.9rem;padding:.7rem .9rem;background:var(--surface-2);border-left:3px solid var(--primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.news-card-foot{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.82rem}input[type=file]{padding:.5rem;background:var(--surface-2);cursor:pointer}.btn{font:inherit;font-weight:600;padding:.62rem 1.1rem;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:transform .12s ease,box-shadow .15s ease,background .15s ease,opacity .15s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 6px 16px -6px #6366f199}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px -8px #6366f1b3;text-decoration:none}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-ghost{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--muted)}.score-row{display:flex;align-items:center;gap:1.4rem;margin-bottom:.5rem}.score-badge{display:inline-flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:50%;font-size:2.1rem;font-weight:800;color:#fff;flex-shrink:0;box-shadow:var(--shadow)}.score-high{background:linear-gradient(135deg,#22c55e,#16a34a)}.score-mid{background:linear-gradient(135deg,#f59e0b,#d97706)}.score-low{background:linear-gradient(135deg,#fb7185,#e11d48)}.chips{display:flex;flex-wrap:wrap;gap:.45rem}.chip{font-size:.8rem;padding:.3rem .7rem;border-radius:999px;font-weight:500;border:1px solid transparent}.chip-matched{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.chip-missing{background:#ffe4e6;color:#be123c;border-color:#fecdd3}[data-theme=dark] .chip-matched{background:#1665344d;color:#86efac;border-color:#22c55e59}[data-theme=dark] .chip-missing{background:#9f12394d;color:#fda4af;border-color:#fb718559}.suggestions{margin:.25rem 0 0;padding-left:1.2rem}.suggestions li{margin-bottom:.45rem}.list-item-actions{display:flex;align-items:center;gap:12px}.score-pill{color:#fff;padding:4px 11px;border-radius:999px;font-weight:700;font-size:.82rem;white-space:nowrap;box-shadow:var(--shadow-sm)}@media (max-width: 520px){.grid-2{grid-template-columns:1fr}.container{padding:1.25rem 1rem 4rem}}.password-field{position:relative}.password-field input{padding-right:4.2rem}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:0;color:var(--muted);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;padding:.25rem .45rem;border-radius:6px}.password-toggle:hover{color:var(--text);background:var(--surface-2)}
