:root{--ink:#17251e;--muted:#748179;--forest:#1d5137;--forest-dark:#153e2b;--canvas:#f4f5f0;--paper:#fff;--line:#e3e7e1;--soft:#eef2ed;--danger:#bd6254;--shadow:0 18px 55px rgba(25,48,36,.12)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow-x:hidden}body{background:var(--canvas);color:var(--ink);font-family:"DM Sans",sans-serif}button,input,select,textarea{font:inherit}.hidden{display:none!important}button{cursor:pointer}.brand{display:flex;align-items:center;gap:10px;flex:none;font-family:Manrope,sans-serif;font-size:18px;font-weight:800}.brand small{display:block;margin-top:-2px;color:#89968e;font-family:"DM Sans",sans-serif;font-size:8px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.brand-mark{display:grid;width:38px;height:38px;border-radius:12px;background:var(--forest);color:#fff;place-items:center;font-size:13px}.eyebrow{margin:0 0 7px;color:#698573;font-size:9px;font-weight:800;letter-spacing:.17em}.muted{color:var(--muted)}
.login-view{display:grid;min-height:100vh;place-items:center;padding:24px;background:radial-gradient(circle at 70% 20%,#d7e6d8,transparent 38%),linear-gradient(140deg,#fbfcf9,#eef3ed)}.login-box{width:min(420px,100%);border:1px solid rgba(255,255,255,.8);border-radius:24px;padding:42px;background:rgba(255,255,255,.9);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.login-box .brand{margin-bottom:45px}.login-box h1{margin:0;font-family:Manrope,sans-serif;font-size:37px;line-height:1.1;letter-spacing:-.045em}.login-box h1 em{color:var(--forest);font-style:normal}.login-box>.muted{margin:14px 0 27px;font-size:12px}.form-stack{display:grid;gap:14px}.form-stack label,.field-grid label{display:grid;gap:6px;color:#526158;font-size:10px;font-weight:700}.form-stack input,.field-grid input,.field-grid select,.form-stack textarea{width:100%;height:45px;border:1px solid #dce2dc;border-radius:10px;padding:0 12px;background:white;color:var(--ink);outline:0}.form-stack input:focus,.field-grid input:focus,.field-grid select:focus,.form-stack textarea:focus{border-color:#6d957d;box-shadow:0 0 0 3px rgba(51,105,72,.09)}.primary{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;border:0;border-radius:10px;padding:0 17px;background:var(--forest);color:#fff;font-size:11px;font-weight:800}.primary:hover{background:var(--forest-dark)}.primary.compact{min-height:38px;font-size:10px}.form-error{min-height:15px;margin:0;color:#b14d40;font-size:10px}
.workspace{display:flex;min-height:100vh;flex-direction:column}.app-header{display:flex;align-items:center;gap:28px;height:72px;border-bottom:1px solid var(--line);padding:0 28px;background:rgba(255,255,255,.93);backdrop-filter:blur(12px)}.header-center{flex:1;display:flex;justify-content:center}.search-box{display:flex;align-items:center;gap:8px;width:min(520px,100%);height:40px;border:1px solid #dfe4df;border-radius:11px;padding:0 12px;background:#f8faf7;color:#7c8981}.search-box input{width:100%;border:0;background:transparent;outline:0;color:var(--ink);font-size:11px}.header-actions{display:flex;align-items:center;gap:9px}.people-count{margin-right:4px;color:#7d8a82;font-size:10px}.icon-button,.avatar-button{display:grid;width:38px;height:38px;border:1px solid #dde3dd;border-radius:11px;background:white;color:#5c6e63;place-items:center}.avatar-button{border:0;background:#e6d6bd;color:#725c43;font-size:10px;font-weight:800}.board-heading{display:flex;align-items:flex-end;justify-content:space-between;padding:28px 30px 20px}.board-heading h1{margin:0;font-family:Manrope,sans-serif;font-size:26px;letter-spacing:-.04em}.board-heading p:last-child{margin:5px 0 0;color:var(--muted);font-size:10px}.sync-pill{display:flex;align-items:center;gap:7px;border:1px solid #dce5dc;border-radius:20px;padding:7px 11px;background:white;color:#64746a;font-size:9px}.sync-pill span{width:7px;height:7px;border-radius:50%;background:#58aa73;box-shadow:0 0 0 3px #e5f1e8}
.kanban{display:grid;flex:1;grid-template-columns:repeat(5,minmax(245px,1fr));gap:13px;min-height:0;overflow-x:auto;padding:0 30px 26px}.kanban-column{display:flex;min-width:245px;min-height:560px;flex-direction:column;border:1px solid #e1e6e0;border-radius:15px;background:#ecefe9}.kanban-column>header{display:flex;align-items:center;justify-content:space-between;padding:14px 15px}.kanban-column>header>div{display:flex;align-items:center;gap:8px}.kanban-column>header strong{font-family:Manrope,sans-serif;font-size:10px}.column-dot{width:7px;height:7px;border-radius:50%}.dot-new{background:#5a8d6a}.dot-contacted{background:#6c8db4}.dot-interview{background:#c39a4d}.dot-hired{background:#37875d}.dot-disqualified{background:#b37369}.column-count{display:grid;min-width:23px;height:23px;border-radius:8px;background:rgba(255,255,255,.8);color:#738077;place-items:center;font-size:9px;font-weight:800}.column-body{display:grid;align-content:start;gap:9px;flex:1;min-height:480px;padding:0 9px 12px;transition:.15s}.column-body.drag-over{border-radius:11px;background:#dfe7df}.empty-column{display:grid;min-height:100px;border:1px dashed #d3d9d3;border-radius:11px;color:#929c96;place-items:center;text-align:center;font-size:9px}.candidate-card{position:relative;border:1px solid #e0e5df;border-radius:12px;padding:13px;background:white;box-shadow:0 4px 12px rgba(31,57,42,.04);cursor:grab;transition:transform .15s,box-shadow .15s}.candidate-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(31,57,42,.09)}.candidate-card.dragging{opacity:.5}.card-top{display:flex;align-items:center;gap:9px}.card-avatar{display:grid;flex:0 0 32px;height:32px;border-radius:10px;background:#e2ece3;color:#376148;place-items:center;font-size:10px;font-weight:800}.card-top strong,.card-top small{display:block}.card-top strong{max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.card-top small{margin-top:2px;color:#89958d;font-size:8px}.card-menu{margin-left:auto;border:0;background:transparent;color:#89948d;font-size:17px}.card-role{margin:12px 0 8px;font-size:10px;font-weight:700;line-height:1.35}.card-meta{display:flex;align-items:center;justify-content:space-between;color:#89958e;font-size:8px}.card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}.card-tag{max-width:100%;overflow:hidden;border-radius:8px;padding:4px 6px;background:#eff3ef;color:#5c7465;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.processing-note,.error-note{margin-top:9px;border-radius:8px;padding:7px;background:#f3ead8;color:#98743e;font-size:8px}.error-note{background:#f5e3df;color:#ad5649}.disqualified-column{background:#f0ecea}.disqualified-column .candidate-card{opacity:.82}.disqualified-reason{margin-top:8px;color:#9b6259;font-size:8px;line-height:1.4}
.overlay{position:fixed;z-index:20;inset:0;background:rgba(21,38,29,.35);backdrop-filter:blur(2px)}.drawer{position:fixed;z-index:21;top:0;right:0;width:min(520px,100%);height:100vh;overflow-y:auto;padding:30px;background:#fbfcf9;box-shadow:-24px 0 70px rgba(20,42,30,.19);transform:translateX(105%);transition:transform .25s}.drawer.open{transform:translateX(0)}.close-button{position:absolute;top:18px;right:18px;display:grid;width:34px;height:34px;border:1px solid #dfe4df;border-radius:10px;background:white;color:#68786e;place-items:center;font-size:19px}.drawer-head{display:flex;align-items:center;gap:12px;padding-right:40px}.drawer-avatar{display:grid;width:52px;height:52px;border-radius:15px;background:#dce9dd;color:#2d6345;place-items:center;font-family:Manrope,sans-serif;font-size:17px;font-weight:800}.drawer-head h2{margin:0;font-family:Manrope,sans-serif;font-size:19px}.drawer-head p{margin:3px 0 0;color:#7f8d84;font-size:10px}.drawer-links{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.drawer-links a,.drawer-links button{border:1px solid #dce3dc;border-radius:9px;padding:8px 10px;background:white;color:#496254;text-decoration:none;font-size:9px;font-weight:700}.section-card{margin-top:11px;border:1px solid #e2e7e2;border-radius:13px;padding:16px;background:white}.section-card h3{margin:0 0 13px;font-family:Manrope,sans-serif;font-size:11px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.field-grid .full{grid-column:1/-1}.form-stack textarea{height:auto;min-height:90px;padding:11px;resize:vertical}.status-select{width:100%;height:42px;border:1px solid #dce2dc;border-radius:10px;padding:0 11px;background:white;color:var(--ink);font-size:10px;outline:0}.reason-field{margin-top:10px}.detail-text{margin:0;color:#5f6e65;font-size:10px;line-height:1.65}.skills{display:flex;flex-wrap:wrap;gap:5px}.skill{border-radius:10px;padding:5px 8px;background:#edf2ed;color:#587161;font-size:8px}.timeline{display:grid;gap:11px}.timeline-item{border-left:2px solid #dce6dd;padding-left:11px}.timeline-item strong,.timeline-item small{display:block}.timeline-item strong{font-size:9px}.timeline-item small{margin-top:3px;color:#849087;font-size:8px}.timeline-item p{margin:5px 0 0;color:#6d7c73;font-size:8px;line-height:1.5}.drawer-footer{display:flex;gap:8px;margin-top:13px}.drawer-footer .primary{flex:1}.danger-button{border:1px solid #e7cbc6;border-radius:10px;padding:0 13px;background:#fbefed;color:#a9584b;font-size:9px;font-weight:800}.modal{position:fixed;z-index:22;top:50%;left:50%;width:min(430px,calc(100% - 30px));border-radius:18px;padding:28px;background:white;box-shadow:var(--shadow);transform:translate(-50%,-50%)}.modal h2{margin:0;font-family:Manrope,sans-serif;font-size:20px}.modal>.muted{margin:6px 0 21px;font-size:10px}.toast{position:fixed;z-index:50;right:22px;bottom:22px;max-width:340px;border-radius:10px;padding:11px 15px;background:#173e2a;color:#fff;box-shadow:var(--shadow);font-size:10px;opacity:0;transform:translateY(9px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:900px){.app-header{gap:12px;padding:0 16px}.app-header .brand>span:last-child,.people-count{display:none}.header-center{order:3;position:absolute;top:78px;left:16px;right:16px}.board-heading{padding:70px 16px 18px}.board-heading .sync-pill{display:none}.kanban{padding:0 16px 20px;grid-template-columns:repeat(5,270px)}.header-actions{margin-left:auto}.primary.compact{padding:0 12px}.kanban-column{min-height:calc(100vh - 210px)}}
@media(max-width:560px){.login-box{padding:30px 24px}.login-box h1{font-size:31px}.app-header{height:66px}.icon-button{display:none}.primary.compact{font-size:0}.primary.compact:after{content:"+ Pessoa";font-size:9px}.board-heading{padding-top:67px}.board-heading h1{font-size:22px}.board-heading p:last-child{max-width:300px}.kanban{grid-template-columns:repeat(5,82vw)}.field-grid{grid-template-columns:1fr}.field-grid .full{grid-column:auto}.drawer{padding:24px 18px}.drawer-footer{position:sticky;bottom:0;padding:10px 0;background:#fbfcf9}}

/* Quadro simplificado: quatro etapas ativas e arquivo fora do Kanban. */
.archive-button{display:flex;align-items:center;gap:7px;height:38px;border:1px solid #e1d6d2;border-radius:10px;padding:0 11px;background:#fbf5f3;color:#8e625b;font-size:9px;font-weight:700}.archive-button span{display:grid;min-width:19px;height:19px;border-radius:7px;background:#fff;place-items:center}.kanban{grid-template-columns:repeat(4,minmax(260px,1fr))}.kanban-column{min-width:260px}.card-avatar,.drawer-avatar{overflow:hidden}.card-avatar img,.drawer-avatar img{width:100%;height:100%;object-fit:cover}.interview-slot{display:flex;align-items:center;gap:6px;margin-top:10px;border-radius:8px;padding:7px;background:#f5ecd9;color:#856a36;font-size:8px;font-weight:700}.modal{max-height:85vh;overflow-y:auto}.archive-modal{width:min(540px,calc(100% - 30px))}.archive-list{display:grid;gap:8px}.archive-person{display:flex;align-items:center;gap:10px;width:100%;border:1px solid #e4e7e3;border-radius:11px;padding:11px;background:#fafbf9;text-align:left}.archive-person:hover{border-color:#cfd9d0;background:#fff}.archive-person strong,.archive-person small{display:block}.archive-person strong{font-size:10px}.archive-person small{margin-top:3px;color:#849088;font-size:8px}.archive-person .card-avatar{flex:none}.archive-reason{margin-left:auto;max-width:180px;color:#98655d;font-size:8px;text-align:right}.schedule-hint{margin:-3px 0 0;color:#7d8b82;font-size:9px}
@media(max-width:900px){.kanban{grid-template-columns:repeat(4,270px)}}
@media(max-width:560px){.archive-button{font-size:0}.archive-button:before{content:"Arquivo";font-size:9px}.kanban{grid-template-columns:repeat(4,82vw)}.archive-reason{display:none}}

/* Envio manual de currículo */
.primary:disabled{cursor:wait;opacity:.65}.upload-modal{width:min(470px,calc(100% - 30px))}.resume-dropzone{position:relative;display:grid!important;min-height:150px;border:1.5px dashed #b9c9bd;border-radius:14px;padding:23px;background:#f7faf6;color:#4f6758;place-items:center;text-align:center;cursor:pointer;transition:.18s}.resume-dropzone:hover,.resume-dropzone.is-dragging{border-color:#4e8060;background:#eef5ef}.resume-dropzone.has-file{border-style:solid;border-color:#72a081;background:#f2f7f2}.resume-dropzone input{position:absolute;width:1px!important;height:1px!important;overflow:hidden;opacity:0;pointer-events:none}.resume-dropzone .upload-icon{display:grid;width:38px;height:38px;border-radius:12px;background:#dceadf;color:#285e3e;place-items:center;font-size:20px;font-weight:800}.resume-dropzone strong{font-family:Manrope,sans-serif;font-size:11px}.resume-dropzone small{max-width:100%;overflow:hidden;color:#7a8980;font-size:9px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.privacy-hint,.upload-status{margin:0;color:#7b8980;font-size:9px;line-height:1.45}.upload-status{min-height:13px;color:#527260;font-weight:700}
@media(max-width:560px){.primary.compact:after{content:"Currículo"}.upload-modal{padding:25px 20px}.resume-dropzone{min-height:135px}}

/* Conferência e detalhes extraídos */
.review-alert{margin-top:12px;border:1px solid #ead7a9;border-radius:12px;padding:12px 14px;background:#fff9e9;color:#775f2e}.review-alert strong{font-size:9px}.review-alert ul{display:grid;gap:5px;margin:7px 0 0;padding-left:16px;font-size:8px;line-height:1.45}.detail-list{display:grid;gap:8px}.detail-list>div{display:grid;grid-template-columns:minmax(120px,.8fr) 1.2fr;gap:10px;border-bottom:1px solid #edf0ec;padding-bottom:8px}.detail-list>div:last-child{border:0;padding-bottom:0}.detail-list span{color:#829087;font-size:8px}.detail-list strong{color:#43564a;font-size:9px;font-weight:700}
