:root{--bg:#f4f7fb;--panel:#fff;--text:#101828;--muted:#667085;--line:#e4e7ec;--navy:#071f49;--blue:#155bd7;--gold:#f0b53a;--primary:#155bd7;--primary-soft:#eef4ff;--shadow:0 8px 28px rgba(16,24,40,.07);--radius:16px}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.hidden{display:none!important}.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}aside{background:#fff;border-right:1px solid var(--line);padding:22px 16px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;margin-bottom:28px}.brand img{width:46px;height:46px;border-radius:12px;box-shadow:0 4px 14px rgba(7,31,73,.18)}.brand strong{display:block;color:var(--navy);letter-spacing:.04em}.brand span{display:block;color:var(--muted);font-size:12px;margin-top:3px}nav button,.logout{width:100%;border:0;background:transparent;padding:12px 14px;border-radius:10px;text-align:left;margin:4px 0;color:#344054;cursor:pointer}nav button.active{background:var(--primary-soft);color:var(--primary);font-weight:700}.aside-extension{position:absolute;left:16px;right:16px;bottom:74px;padding:12px;border:1px solid #e8d6a8;background:#fffaf0;border-radius:12px}.aside-extension small{display:block;color:#8a641c;font-weight:800;margin-bottom:4px}.aside-extension span{display:block;color:#725b2d;font-size:11px;line-height:1.4}.logout{position:absolute;bottom:18px;left:16px;width:calc(100% - 32px);border:1px solid var(--line);background:#fff}main{padding:28px;max-width:1600px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.topbar h1{margin:0 0 5px;font-size:28px;color:var(--navy)}.topbar p{margin:0;color:var(--muted)}.actions{display:flex;gap:10px}.btn{border:1px solid var(--line);background:#fff;padding:10px 14px;border-radius:10px;font-weight:650;cursor:pointer}.btn.primary{background:linear-gradient(135deg,var(--navy),var(--blue));border-color:var(--navy);color:#fff}.stats{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:14px;margin-bottom:20px}.stat{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:17px;box-shadow:var(--shadow)}.stat .k{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.stat .v{font-size:28px;font-weight:800;margin-top:6px;color:var(--navy)}.stat .s{font-size:12px;color:var(--muted);margin-top:4px}.toolbar{display:flex;gap:10px;background:#fff;border:1px solid var(--line);padding:12px;border-radius:14px;margin-bottom:14px;box-shadow:var(--shadow)}.toolbar input{flex:1}.toolbar input,.toolbar select,.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:9px;padding:10px 12px;background:#fff}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:1020px}th,td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left}th{font-size:12px;color:var(--muted);background:#fafafa;text-transform:uppercase}.job{font-weight:750}.company{font-size:12px;color:var(--muted);margin-top:4px}.pill{display:inline-flex;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:700;white-space:nowrap}.p-study{background:#f2f4f7;color:#344054}.p-apply{background:#fff7ed;color:#9a3412}.p-sent{background:#eff6ff;color:#1d4ed8}.p-follow{background:#fef3c7;color:#92400e}.p-interview{background:#faf5ff;color:#7e22ce}.p-accepted{background:#f0fdf4;color:#166534}.p-refused{background:#fef2f2;color:#991b1b}.row-actions{display:flex;gap:6px}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 9px;cursor:pointer;text-decoration:none;color:inherit}.kanban{display:grid;grid-template-columns:repeat(6,minmax(260px,1fr));gap:14px;overflow:auto;padding-bottom:10px}.col{background:#edf1f5;border-radius:14px;padding:10px;min-height:420px}.col h3{font-size:13px;color:#475467;margin:4px 6px 12px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px;margin-bottom:10px;box-shadow:0 3px 12px rgba(15,23,42,.05)}.card h4{margin:0 0 5px;font-size:14px}.card p{margin:2px 0;color:var(--muted);font-size:12px}.card .next{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:12px}.empty{padding:45px;text-align:center;color:var(--muted)}dialog{border:0;border-radius:18px;padding:0;max-width:760px;width:min(94vw,760px);box-shadow:0 24px 80px rgba(0,0,0,.2)}dialog::backdrop{background:rgba(15,23,42,.45)}.modal{padding:24px}.modal-head{display:flex;justify-content:space-between;align-items:start}.modal-head h2{margin:0;color:var(--navy)}.modal-head p{margin:5px 0 0;color:var(--muted)}.close{border:0;background:#f2f4f7;width:34px;height:34px;border-radius:9px;cursor:pointer}.hint{background:#fffaf0;border:1px dashed #dfc98c;padding:12px;border-radius:10px;color:#725b2d;font-size:12px;margin:16px 0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:700;color:#475467}.field textarea{min-height:105px;resize:vertical}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 15%,#eef5ff 0,#f4f7fb 48%,#f5f7fa 100%)}.login-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 18px 55px rgba(16,24,40,.1);text-align:center}.login-logo{width:165px;height:165px;object-fit:contain;border-radius:22px;margin:-2px auto 12px}.login-card h1{margin:4px 0 6px;color:var(--navy);letter-spacing:.05em}.login-card p{color:var(--muted);margin:0 0 22px}.login-card label{text-align:left;display:block;font-size:12px;font-weight:750;margin-bottom:7px}.login-card input{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:12px}.login-card .btn{width:100%}.error{color:#b42318;font-size:12px;margin-top:10px;min-height:16px}@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.app{grid-template-columns:200px 1fr}}@media(max-width:760px){.app{display:block}aside{height:auto;position:static}.brand{margin-bottom:12px}nav{display:flex;overflow:auto;gap:4px}.logout,.aside-extension{position:static;width:100%;margin-top:10px}.topbar{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:1fr 1fr}.toolbar{flex-direction:column}main{padding:16px}.grid2{grid-template-columns:1fr}.field.full{grid-column:auto}}
.large-modal{width:min(94vw,900px)}.tall{min-height:160px!important}.codearea{min-height:260px!important;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.field small{color:var(--muted);font-size:11px}.doc-btns{display:flex;gap:6px;flex-wrap:wrap}.mini-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 8px;font-size:11px;font-weight:700;cursor:pointer;color:var(--navy)}.mini-btn.cv{background:#eef4ff;border-color:#c8d7ff}.mini-btn.letter{background:#fff8e8;border-color:#efd99b}.doc-dialog{max-width:none;width:96vw;height:94vh}.doc-shell{height:94vh;display:flex;flex-direction:column;background:#f4f7fb}.doc-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 18px;background:#fff;border-bottom:1px solid var(--line)}.doc-toolbar h2{margin:0;color:var(--navy)}.doc-toolbar p{margin:4px 0 0;color:var(--muted)}.doc-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.doc-tabs{display:flex;gap:8px;padding:12px 18px;background:#fff;border-bottom:1px solid var(--line)}.doc-tabs button{border:0;background:#f2f4f7;padding:9px 13px;border-radius:9px;cursor:pointer;font-weight:700}.doc-tabs button.active{background:var(--navy);color:#fff}.doc-content{flex:1;overflow:auto;padding:24px}.a4{width:210mm;min-height:297mm;margin:0 auto;background:#fff;box-shadow:0 10px 35px rgba(16,24,40,.12);padding:16mm 17mm;color:#111827}.cv-head{border-bottom:3px solid var(--navy);padding-bottom:10px;margin-bottom:14px}.cv-head h1{margin:0;color:var(--navy);font-size:27px}.cv-head .target{font-size:17px;font-weight:800;color:#b47b0a;margin-top:4px}.cv-contact{font-size:11px;color:#475467;margin-top:7px}.cv-section{margin-top:16px}.cv-section h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);border-bottom:1px solid #d0d5dd;padding-bottom:5px;margin:0 0 8px}.cv-summary{font-size:12.5px;line-height:1.55}.skill-grid{display:flex;flex-wrap:wrap;gap:6px}.skill-tag{font-size:11px;padding:5px 8px;background:#f2f4f7;border-radius:999px}.exp{margin-bottom:12px}.exp-title{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;font-weight:800}.exp-company{color:#475467}.exp ul{margin:6px 0 0 18px;padding:0}.exp li{font-size:11.5px;line-height:1.45;margin-bottom:3px}.letter-page{font-size:13px;line-height:1.65}.letter-top{display:flex;justify-content:space-between;margin-bottom:28px}.letter-subject{font-weight:800;margin:22px 0}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:1050px;margin:auto}.analysis-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px}.analysis-card h3{margin:0 0 10px;color:var(--navy)}.analysis-card ul{margin:0;padding-left:20px}.analysis-card li{margin:6px 0}.score{font-size:34px;font-weight:900;color:var(--navy)}@media print{body *{visibility:hidden}.doc-dialog,.doc-dialog *{visibility:visible}.doc-dialog{position:absolute;inset:0;width:100%;height:auto;margin:0}.doc-toolbar,.doc-tabs{display:none!important}.doc-content{padding:0;overflow:visible}.a4{box-shadow:none;margin:0;width:auto;min-height:auto;padding:12mm 14mm}@page{size:A4;margin:0}}

/* ===== TRABAJADO V5 — lisibilité profil, relances, entretiens ===== */
.profile-dialog{width:min(96vw,1120px);max-width:1120px;height:min(94vh,940px);max-height:94vh;border-radius:22px;overflow:hidden}.profile-modal{height:100%;display:flex;flex-direction:column;background:#f6f8fc}.profile-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:22px 26px;background:#fff;border-bottom:1px solid var(--line)}.profile-head h2{font-size:28px;margin:2px 0 5px;color:var(--navy)}.profile-head p{margin:0;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.12em;font-weight:900;color:#9a6a0b}.profile-scroll{overflow-y:auto;overflow-x:hidden;padding:20px 26px 26px}.profile-alert{background:#fff8e8;border:1px solid #efd99b;border-radius:12px;padding:12px 14px;color:#71541d;margin-bottom:16px}.profile-section{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:14px;box-shadow:0 4px 14px rgba(16,24,40,.035)}.section-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.section-title>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--navy);color:#fff;font-weight:900;flex:0 0 auto}.section-title h3{margin:0 0 3px;font-size:17px;color:var(--navy)}.section-title p{margin:0;color:var(--muted);font-size:12px}.profile-section input,.profile-section textarea{background:#fff!important;color:var(--text)!important;width:100%;border:1px solid #d0d5dd!important}.clean-area{min-height:140px!important;line-height:1.5}.codearea.clean-area{min-height:300px!important;white-space:pre;overflow:auto}.profile-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 26px;background:#fff;border-top:1px solid var(--line)}.upload-card{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;border:1px dashed #b9c5d8;border-radius:13px;padding:14px;background:#fbfcfe}.upload-icon{font-size:30px}.upload-info{display:flex;flex-direction:column;gap:4px;min-width:0}.upload-info b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-info small,.upload-status{color:var(--muted);font-size:12px}.upload-status{margin-top:9px}.upload-status.ok{color:#166534}.upload-status.err{color:#b42318}.upload-btn{display:inline-flex;align-items:center;justify-content:center}.special-view{display:grid;gap:14px}.special-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:3px}.special-head h2{margin:0;color:var(--navy)}.special-head p{margin:4px 0 0;color:var(--muted)}.follow-card,.interview-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px 18px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr auto;gap:16px}.follow-card.overdue{border-left:5px solid #b42318}.follow-card.today{border-left:5px solid #d89b14}.follow-card.upcoming{border-left:5px solid #155bd7}.card-title{font-weight:800;color:var(--navy);font-size:16px}.card-sub{color:var(--muted);font-size:13px;margin-top:4px}.meta-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.meta-chip{font-size:11px;background:#f2f4f7;padding:5px 8px;border-radius:999px}.card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.action-dialog{max-width:720px}.followup-message{min-height:220px!important;line-height:1.5}.interview-dialog{max-width:none;width:min(96vw,1180px);height:94vh}.interview-shell{height:94vh;display:flex;flex-direction:column;background:#f6f8fc}.interview-head{display:flex;justify-content:space-between;gap:20px;padding:20px 24px;background:#fff;border-bottom:1px solid var(--line)}.interview-head h2{margin:3px 0;color:var(--navy)}.interview-head p{margin:0;color:var(--muted)}.interview-content{flex:1;overflow:auto;padding:20px 24px}.interview-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.prep-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:17px}.prep-card.full{grid-column:1/-1}.prep-card h3{margin:0 0 10px;color:var(--navy);font-size:16px}.prep-card ul{margin:0;padding-left:20px}.prep-card li{margin:7px 0;line-height:1.45}.qa{border-top:1px solid var(--line);padding:11px 0}.qa:first-of-type{border-top:0}.qa b{display:block;color:#101828;margin-bottom:4px}.qa span{color:#475467;line-height:1.45}.prep-notes{width:100%;min-height:180px;border:1px solid var(--line);border-radius:10px;padding:12px;resize:vertical}.interview-footer{display:flex;justify-content:flex-end;padding:14px 24px;background:#fff;border-top:1px solid var(--line)}
@media(max-width:760px){.profile-dialog,.interview-dialog{width:98vw;height:96vh}.profile-head,.profile-scroll,.profile-footer,.interview-head,.interview-content,.interview-footer{padding-left:14px;padding-right:14px}.upload-card{grid-template-columns:1fr}.interview-grid{grid-template-columns:1fr}.prep-card.full{grid-column:auto}.follow-card,.interview-card{grid-template-columns:1fr}.card-actions{justify-content:flex-start}}


/* ===== TRABAJADO V6 — statuts complets & couleurs ===== */
.status-legend-wrap{background:#fff;border:1px solid var(--line);border-radius:14px;padding:11px 13px;margin:-4px 0 14px;box-shadow:var(--shadow)}
.legend-title{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.status-legend{display:flex;gap:7px;flex-wrap:wrap}.legend-item{display:inline-flex}
.p-study{background:#f2f4f7;color:#344054;border:1px solid #d0d5dd}
.p-apply{background:#fff4e5;color:#a34a00;border:1px solid #ffd8a8}
.p-prepared{background:#fff8cc;color:#7a5b00;border:1px solid #f3df78}
.p-sent{background:#eaf2ff;color:#175cd3;border:1px solid #b2ccff}
.p-received{background:#e8fbff;color:#0e7090;border:1px solid #a5e7f4}
.p-waiting{background:#eef2ff;color:#4338ca;border:1px solid #c7d2fe}
.p-follow{background:#fff3cd;color:#8a5a00;border:1px solid #f4d06f}
.p-follow_sent{background:#fff0d6;color:#9a4d00;border:1px solid #ffc66d}
.p-interview{background:#f4ebff;color:#7f2bbd;border:1px solid #d6bbfb}
.p-interview_done{background:#eee5ff;color:#5b21b6;border:1px solid #c4b5fd}
.p-test{background:#ffe8f3;color:#a61e5c;border:1px solid #f7b4d1}
.p-second_interview{background:#fbe8ff;color:#86198f;border:1px solid #e9b5f4}
.p-offer{background:#e6fffb;color:#087f5b;border:1px solid #96f2d7}
.p-accepted{background:#eafbf0;color:#157a3d;border:1px solid #a6e7bb}
.p-refused{background:#fff0f0;color:#b42318;border:1px solid #f7b4b4}
.p-withdrawn{background:#eceff3;color:#475467;border:1px solid #c9ced6}
.p-expired{background:#f8efe8;color:#7a4b27;border:1px solid #e6c8ad}
.kanban{grid-template-columns:repeat(17,minmax(260px,1fr))}.col{border-top:4px solid #cbd5e1}.col h3{display:flex;align-items:center;justify-content:space-between;gap:8px}.col-count{font-size:12px;color:#667085;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 7px}
.col-study{border-top-color:#98a2b3}.col-apply{border-top-color:#f79009}.col-prepared{border-top-color:#eab308}.col-sent{border-top-color:#2e6eea}.col-received{border-top-color:#06b6d4}.col-waiting{border-top-color:#6366f1}.col-follow{border-top-color:#d89b14}.col-follow_sent{border-top-color:#f59e0b}.col-interview{border-top-color:#9333ea}.col-interview_done{border-top-color:#7c3aed}.col-test{border-top-color:#db2777}.col-second_interview{border-top-color:#c026d3}.col-offer{border-top-color:#0f9f76}.col-accepted{border-top-color:#16a34a}.col-refused{border-top-color:#dc2626}.col-withdrawn{border-top-color:#667085}.col-expired{border-top-color:#9a6a43}
#status option[value="study"]{color:#344054}#status option[value="apply"]{color:#a34a00}#status option[value="prepared"]{color:#7a5b00}#status option[value="sent"]{color:#175cd3}#status option[value="received"]{color:#0e7090}#status option[value="waiting"]{color:#4338ca}#status option[value="follow"]{color:#8a5a00}#status option[value="follow_sent"]{color:#9a4d00}#status option[value="interview"]{color:#7f2bbd}#status option[value="interview_done"]{color:#5b21b6}#status option[value="test"]{color:#a61e5c}#status option[value="second_interview"]{color:#86198f}#status option[value="offer"]{color:#087f5b}#status option[value="accepted"]{color:#157a3d}#status option[value="refused"]{color:#b42318}#status option[value="withdrawn"]{color:#475467}#status option[value="expired"]{color:#7a4b27}
@media(max-width:760px){.status-legend-wrap{margin-top:0}.status-legend{max-height:138px;overflow:auto}}

/* ===== TRABAJADO V6.4 — Ollama local ===== */
.ollama-section{border-color:#d9e2ff;background:linear-gradient(180deg,#fbfcff 0%,#f6f8ff 100%)}
.ollama-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ollama-status,.ollama-doc-status{font-size:12px;font-weight:700;color:#64748b}
.ollama-status.working,.ollama-doc-status.working{color:#7c3aed}
.ollama-status.ok,.ollama-doc-status.ok{color:#15803d}
.ollama-status.warn{color:#b45309}
.ollama-status.err,.ollama-doc-status.err{color:#b91c1c}
.local-ai-note{margin-top:12px}
.ai-btn{border-color:#c4b5fd!important;background:#faf8ff!important;color:#6d28d9!important;font-weight:800!important}
.ai-btn:hover{background:#f3efff!important}
.ai-btn:disabled{opacity:.55;cursor:wait}
.analysis-ai-note{margin-top:16px;padding:12px 14px;border:1px solid #c4b5fd;border-radius:12px;background:#faf8ff;color:#5b21b6;font-weight:700}
@media (max-width:820px){.doc-actions .ollama-doc-status{width:100%;order:9}.ai-btn{width:100%}}

/* ===== TRABAJADO V7 — CRM simplifié ===== */
:root{--navy:#102a43;--accent:#2563eb;--bg:#f5f7fb;--soft:#eef4ff}
body{background:var(--bg)}
aside{background:linear-gradient(180deg,#0b1f33 0%,#102a43 100%)}
.brand img{width:44px;height:44px;object-fit:contain;border-radius:12px;background:#fff;padding:3px}
nav button{border-radius:10px;margin:3px 0;transition:.18s ease}nav button:hover{transform:translateX(2px)}
.nav-count{margin-left:auto;background:rgba(255,255,255,.16);padding:2px 7px;border-radius:999px;font-size:11px}
.manual-tip{border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px!important;background:rgba(255,255,255,.05)}
.topbar{margin-bottom:18px}.topbar h1{letter-spacing:-.03em}.stats{gap:12px}.stat{border:1px solid #e4e9f0;border-radius:16px;box-shadow:0 8px 24px rgba(16,42,67,.05)}
.toolbar{display:grid!important;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(145px,1fr)) auto;gap:10px;align-items:center;background:#fff;border:1px solid #e4e9f0;border-radius:16px;padding:12px;margin-bottom:14px;box-shadow:0 6px 20px rgba(16,42,67,.04)}
.toolbar input,.toolbar select{margin:0!important}.filter-reset{white-space:nowrap}.table-wrap{border-radius:16px!important;overflow:auto}.table-wrap table{min-width:1050px}.table-wrap thead th{position:sticky;top:0;background:#f8fafc;z-index:2}
.paste-hint{background:#eef6ff!important;border-color:#bfdbfe!important;color:#1e4d7b!important}.ad-paste{min-height:190px!important}.parse-wide{margin-top:8px;width:100%;justify-content:center}.field small{display:block;color:#667085;margin-top:5px;font-size:11px}
.follow-unavailable{font-size:11px;color:#98a2b3}.contact-ok{font-size:11px;color:#166534;font-weight:700}.archive-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#fff;border:1px solid #e4e9f0;border-radius:16px;padding:18px}.archive-grid{display:grid;gap:10px}.archive-card{background:#fff;border:1px solid #e4e9f0;border-radius:14px;padding:15px 16px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center}.archive-card h3{margin:0 0 5px;color:#102a43}.archive-card p{margin:0;color:#667085;font-size:13px}.archive-actions{display:flex;gap:8px}.archive-empty{background:#fff;border:1px dashed #cbd5e1;border-radius:14px;padding:30px;text-align:center;color:#667085}
.kanban{grid-template-columns:repeat(6,minmax(260px,1fr))!important}.col-refused,.col-withdrawn,.col-expired{display:none}
@media(max-width:1100px){.toolbar{grid-template-columns:1fr 1fr 1fr}.toolbar #search{grid-column:1/-1}}@media(max-width:720px){.toolbar{grid-template-columns:1fr}.toolbar #search{grid-column:auto}.archive-card{grid-template-columns:1fr}.archive-actions{justify-content:flex-start}}

/* ===== TRABAJADO V10 — vue candidatures ===== */
.jobs-view{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.jobs-cards{display:grid;gap:14px}
.job-card{position:relative;display:flex;background:#fff;border:1px solid #e3e9f2;border-radius:16px;overflow:hidden;box-shadow:0 4px 14px rgba(15,34,66,.06);transition:.18s ease}
.job-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(15,34,66,.10)}
.job-card-accent{width:7px;flex:0 0 7px;background:#94a3b8}
.job-card-content{padding:18px 20px;width:100%}
.job-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.job-ident h3{font-size:18px;margin:0 0 4px;color:#10264b}.job-ident strong{font-size:14px;color:#42526b}
.job-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.job-tags span{font-size:12px;background:#f4f7fb;border:1px solid #e7ebf2;border-radius:999px;padding:5px 9px;color:#53647d}
.job-actions{display:flex;gap:8px;flex-wrap:wrap}.btn.compact{padding:8px 11px;font-size:12px;text-decoration:none}.edit-strong{border-color:#b8c9e8!important;color:#0b57d0!important}
.job-card-grid{display:grid;grid-template-columns:minmax(190px,1.2fr) .65fr .65fr 1.6fr;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid #edf0f5}
.job-card-grid>div{display:flex;flex-direction:column;gap:5px}.job-card-grid label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:#8390a5;font-weight:800}.job-card-grid span{font-size:13px;color:#293b56}
.quick-status{width:100%;border:0;border-radius:9px;padding:9px 30px 9px 10px;font-weight:800;cursor:pointer;color:#24334c;outline:none}
.s-study{background:#eef2f7}.s-apply{background:#fff1c7}.s-prepared{background:#e9e3ff}.s-sent{background:#dcecff}.s-received{background:#d9f2ff}.s-waiting{background:#fff0d8}.s-follow{background:#ffe0d6}.s-follow_sent{background:#f3e1ff}.s-interview,.s-second_interview{background:#dff6e8}.s-interview_done{background:#d8f1ea}.s-test{background:#e5e7ff}.s-offer{background:#d6f5ef}.s-accepted{background:#ccefd9}.s-refused,.s-withdrawn,.s-expired{background:#f1f2f4;color:#6d7480}
.status-study .job-card-accent{background:#94a3b8}.status-apply .job-card-accent{background:#eab308}.status-prepared .job-card-accent{background:#8b5cf6}.status-sent .job-card-accent{background:#3b82f6}.status-received .job-card-accent{background:#06b6d4}.status-waiting .job-card-accent{background:#f59e0b}.status-follow .job-card-accent{background:#f97316}.status-follow_sent .job-card-accent{background:#a855f7}.status-interview .job-card-accent,.status-second_interview .job-card-accent{background:#22c55e}.status-interview_done .job-card-accent{background:#14b8a6}.status-test .job-card-accent{background:#6366f1}.status-offer .job-card-accent{background:#10b981}.status-accepted .job-card-accent{background:#16a34a}.status-refused .job-card-accent,.status-withdrawn .job-card-accent,.status-expired .job-card-accent{background:#9ca3af}
.job-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:13px;color:#7b8799;font-size:12px}.text-danger{border:0;background:transparent;color:#a94a4a;cursor:pointer}.text-danger:hover{text-decoration:underline}
.empty-card{background:#fff;border:1px dashed #ccd5e2;border-radius:16px;padding:35px;text-align:center;display:flex;flex-direction:column;gap:5px;color:#64748b}
.import-btn{cursor:pointer}
@media(max-width:950px){.job-card-grid{grid-template-columns:1fr 1fr}.next-box{grid-column:1/-1}.job-card-head{flex-direction:column}.job-actions{width:100%}}
@media(max-width:620px){.job-card-grid{grid-template-columns:1fr}.next-box{grid-column:auto}.job-card-content{padding:15px}.actions{gap:6px}}

/* ===== TRABAJADO V10.6 — organisation générale ===== */
:root{--sidebar:228px;--ink:#10233f;--muted:#708097;--line:#e4e9f1;--surface:#fff;--bg:#f4f7fb}
body{background:var(--bg)}
.app{grid-template-columns:var(--sidebar) minmax(0,1fr)!important}
.sidebar{width:var(--sidebar);background:#0b2741!important;padding:18px 14px!important;display:flex;flex-direction:column;min-height:100vh;position:sticky;top:0}
.brand{padding:4px 7px 22px!important;margin-bottom:4px!important;border-bottom:1px solid rgba(255,255,255,.09)}
.brand img{width:38px!important;height:38px!important}.brand strong{color:#fff!important;letter-spacing:.04em}.brand span{color:#a8bed0!important}
.nav-section-label{font-size:10px;font-weight:800;letter-spacing:.13em;color:#6f91aa;margin:20px 10px 8px}
.main-nav{display:flex!important;flex-direction:column;gap:5px!important}
.main-nav button{display:grid!important;grid-template-columns:24px 1fr auto;align-items:center;width:100%;min-height:43px;padding:9px 11px!important;border-radius:10px!important;border:0!important;background:transparent!important;color:#b9cada!important;text-align:left;font-weight:650!important;cursor:pointer}
.main-nav button:hover{background:rgba(255,255,255,.07)!important;color:#fff!important}
.main-nav button.active{background:#fff!important;color:#1458c7!important;box-shadow:0 5px 16px rgba(0,0,0,.13)}
.nav-ico{font-size:15px;text-align:center}.nav-badge{min-width:21px;height:21px;padding:0 6px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);font-size:11px}
.main-nav button.active .nav-badge{background:#e7efff;color:#1458c7}
.sidebar-help{margin-top:auto;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);border-radius:12px;padding:13px;display:flex;flex-direction:column;gap:5px}
.sidebar-help strong{color:#f3bd48;font-size:12px}.sidebar-help span{color:#9fb5c8;font-size:11px;line-height:1.45}
main{padding:34px 38px 50px!important;max-width:1600px;width:100%;margin:0 auto}
.topbar{align-items:flex-end!important;margin-bottom:20px!important}.page-heading .eyebrow{font-size:10px;font-weight:800;letter-spacing:.12em;color:#1d63c9}.page-heading h1{margin:4px 0 3px!important}.page-heading p{margin:0;color:var(--muted)}
.actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.stats{gap:12px!important}.stat{border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:none!important}
.toolbar{display:grid!important;grid-template-columns:minmax(260px,2fr) repeat(4,minmax(150px,1fr));gap:9px!important;padding:12px!important;border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:none!important}
#sortFilter{grid-column:1/3}.filter-reset{grid-column:3/4}
.list-heading{display:flex;justify-content:space-between;align-items:end;margin:27px 2px 12px}.list-heading h2{margin:0;color:var(--ink);font-size:18px}.list-heading p{margin:4px 0 0;color:var(--muted);font-size:12px}.list-hint{font-size:12px;color:var(--muted)}
.jobs-cards{gap:11px!important}.job-card{border-radius:13px!important;box-shadow:0 2px 8px rgba(18,42,70,.045)!important}.job-card:hover{box-shadow:0 7px 20px rgba(18,42,70,.09)!important}
@media(max-width:1100px){.toolbar{grid-template-columns:1fr 1fr!important}#sortFilter,.filter-reset{grid-column:auto}.list-hint{display:none}}
@media(max-width:760px){.app{display:block!important}.sidebar{position:relative;width:100%;min-height:auto}.sidebar-help{display:none}.main-nav{display:grid!important;grid-template-columns:1fr 1fr}.nav-section-label{margin-top:12px}main{padding:20px 14px 40px!important}.topbar{align-items:flex-start!important;flex-direction:column}.actions{justify-content:flex-start}.toolbar{grid-template-columns:1fr!important}}
