:root{--ink:#17243c;--muted:#70819b;--line:#e4eaf2;--blue:#335fe6;--bg:#f5f7fc;--card:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}a{color:#2855d4;text-decoration:none}h1{font-size:30px;letter-spacing:-.8px;line-height:1.2;margin:0 0 9px}h2{font-size:20px;letter-spacing:-.35px;margin:0 0 14px}h3{margin:0 0 8px}p{margin:8px 0 14px}header.top{height:74px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1480px)/2));gap:20px}.brand{font-size:24px;font-weight:850;color:#172b53;letter-spacing:-1px;white-space:nowrap}.brand .accent{color:var(--blue)}.brand small{font-size:13px;letter-spacing:0}.topnav{display:flex;align-items:center;gap:22px}.topnav a{color:#43516a;font-weight:600}.topnav form{margin:0}.shell{display:flex;max-width:1480px;margin:auto;min-height:calc(100vh - 160px)}.sidebar{flex:0 0 220px;padding:30px 16px 20px 22px;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:5px}.side-label{font-size:11px;font-weight:800;letter-spacing:1.7px;color:#9aa7b9;padding:12px 13px}.sidebar a{display:block;border-radius:11px;padding:11px 13px;color:#586a84;font-weight:650}.sidebar a:hover,.sidebar a.selected{background:#ecf1ff;color:#3159d8}.side-note{margin-top:auto;padding:17px 12px;color:#5e6d83;font-size:12px;border-top:1px solid var(--line)}.side-note small{color:#97a2b2}.content{flex:1;min-width:0;padding:35px 34px 60px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:25px;margin:18px 0;box-shadow:0 5px 20px #213c6508}.muted{color:var(--muted)}.lead{color:var(--muted);margin:0 0 22px}.eyebrow{color:var(--blue);font-size:12px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:8px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row>*{max-width:100%}.split{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.stat{font-size:31px;font-weight:850;letter-spacing:-1px;color:#243c76}.stat-label{color:var(--muted);font-size:13px}.pill,.tag{display:inline-block;background:#eef2ff;color:#3d5dbb;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700;margin:3px 3px 3px 0}.pill.green{background:#e6f8ee;color:#158253}.pill.gray{background:#f0f3f8;color:#68798f}label{display:block;margin:13px 0 6px;font-size:13px;font-weight:750;color:#3e4d65}input,select,textarea{font:inherit;background:#fff;border:1px solid #d7e0ee;border-radius:10px;padding:12px 13px;color:var(--ink);width:100%;max-width:100%}input:focus,select:focus,textarea:focus{outline:3px solid #dce5ff;border-color:#6283ed}input[type=checkbox]{width:auto}input[type=range]{padding:0;accent-color:var(--blue)}button,.btn{font:inherit;font-weight:750;background:var(--blue);color:#fff;border:0;border-radius:10px;padding:12px 18px;cursor:pointer;display:inline-block}.btn.alt,button.alt{background:#eaf0ff;color:#3154bb}.quiet{background:#f0f3fa;color:#43516a;padding:8px 14px}.btn:hover,button:hover{filter:brightness(.96)}.alert{background:#e9f7ef;color:#226747;padding:13px 16px;border:1px solid #c9ead6;border-radius:12px;margin-bottom:18px}.hint{font-size:12px;color:#8593a8}.progress{height:9px;border-radius:20px;background:#e9edf5;overflow:hidden}.progress>div{height:100%;background:linear-gradient(90deg,#5a79ec,#36b3a3);border-radius:20px}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:#74839b;font-size:12px;text-transform:uppercase;letter-spacing:.7px}pre{white-space:pre-wrap;overflow-wrap:anywhere}form{margin:8px 0}footer{text-align:center;color:#96a3b6;font-size:12px;padding:25px}.hero{background:linear-gradient(120deg,#172f69,#395fe3);border-radius:19px;padding:28px;color:white;margin-bottom:20px}.hero h1{color:white}.hero p{color:#d9e4ff}.hero .btn{background:white;color:#2446ae}.result{display:flex;justify-content:space-between;gap:20px}.score{font-size:27px;font-weight:850;color:#245ac2;white-space:nowrap}.empty{text-align:center;padding:36px;color:#8290a6}.cvbox{background:#f3f6ff;border:1px solid #e3eafd;border-radius:14px;padding:17px;margin:18px 0}.inline-form{display:inline}.actions{display:flex;gap:8px;flex-wrap:wrap}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}@media(max-width:900px){.split{grid-template-columns:1fr}.sidebar{flex-basis:180px}.content{padding:25px 20px}}@media(max-width:700px){header.top{padding:0 15px}.sidebar{flex-basis:auto;flex-direction:row;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line);padding:10px;width:100%}.sidebar a{padding:8px;font-size:12px}.side-label,.side-note{display:none}.shell{display:block}.content{padding:20px 14px}.topnav{gap:10px;font-size:12px}h1{font-size:25px}.card{padding:18px}table{font-size:12px}td,th{padding:8px 5px}}
.source-list{margin:18px 0}.source-option{display:flex;align-items:center;gap:12px;padding:12px 10px;border:1px solid #dbe5f0;border-radius:10px;margin:8px 0;cursor:pointer}.source-option input{width:17px;height:17px;flex:none}.source-option span:nth-child(2){flex:1}.source-option small{display:block;color:#65758b;margin-top:4px}.source-state{font-size:12px;color:#53647a;max-width:150px;text-align:right}.source-state[data-state=done]{color:#137b52}.source-state[data-state=error]{color:#a83d3d}.source-state[data-state=skipped]{color:#87641c}.search-progress{margin-top:20px;padding:16px;border:1px solid #dce6f1;border-radius:12px;background:#f8fbff}.search-progress .progress{margin:12px 0}.search-progress #progress-log{font-size:13px;max-height:220px;overflow:auto}.search-progress #progress-log p{margin:7px 0}

/* Multi-source search layout fix */
.source-list {
    display: grid;
    gap: 10px;
    margin: 18px 0;
}

.source-option {
    display: grid !important;
    grid-template-columns: 20px minmax(0, 1fr) 130px;
    align-items: center;
    gap: 14px;
    padding: 14px;
    border: 1px solid #dbe5f0;
    border-radius: 10px;
    margin: 0;
}

.source-option input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
}

.source-option span:nth-child(2) {
    display: block;
    min-width: 0;
}

.source-option strong {
    display: block;
    margin-bottom: 4px;
}

.source-option small {
    display: block;
    color: #65758b;
    line-height: 1.4;
}

.source-state {
    display: block;
    text-align: right;
    font-size: 12px;
    white-space: normal;
}

@media (max-width: 600px) {
    .source-option {
        grid-template-columns: 20px minmax(0, 1fr);
    }

    .source-state {
        grid-column: 2;
        text-align: left;
    }
}
