:root{--brand:#8b1e24;--brand2:#b12a31;--dark:#111827;--muted:#64748b;--bg:#f4f6fa;--card:#fff;--border:#e5e7eb;--success:#0f766e;--warning:#b45309;--danger:#b91c1c;--info:#2563eb;--shadow:0 18px 40px rgba(15,23,42,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:#1f2937}a{text-decoration:none;color:inherit}.app{min-height:100vh}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px}.logo{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--brand),#3b0b0f);color:#fff;display:grid;place-items:center;font-weight:900}.brand small,.user small{display:block;color:var(--muted);font-size:12px}.top-actions{display:flex;align-items:center;gap:12px}.activity-btn{border:0;background:#111827;color:#fff;border-radius:999px;padding:10px 14px;cursor:pointer;font-weight:700}.activity-btn b{background:var(--brand2);padding:2px 7px;border-radius:999px;margin-left:5px}.user{background:#f8fafc;border:1px solid var(--border);border-radius:14px;padding:8px 12px}.logout{color:var(--brand);font-weight:700}.shell{display:grid;grid-template-columns:270px 1fr;min-height:calc(100vh - 70px)}.sidebar{background:#151922;color:#dbeafe;padding:20px 16px}.side-title{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#94a3b8;margin:12px 10px}.navlink{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:13px;color:#d1d5db;margin:4px 0}.navlink:hover,.navlink.active{background:rgba(255,255,255,.1);color:#fff}.main{padding:26px}.page-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:22px}.page-head h1{margin:0;font-size:28px}.page-head p{margin:6px 0 0;color:var(--muted)}.grid-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{background:var(--card);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:20px}.kpi{position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;right:-30px;top:-30px;width:100px;height:100px;border-radius:50%;background:rgba(139,30,36,.08)}.kpi .num{font-size:34px;font-weight:900;margin:8px 0}.kpi .label{color:var(--muted);font-weight:700}.kpi .hint{font-size:12px;color:#94a3b8}.two-col{display:grid;grid-template-columns:1.45fr .85fr;gap:16px;margin-top:16px}.activity-list{display:flex;flex-direction:column;gap:10px}.activity-item{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:16px;padding:12px;background:#fff}.activity-icon{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#f1f5f9}.activity-item strong{display:block}.activity-item small{color:var(--muted)}.tag{font-size:12px;border-radius:999px;padding:5px 9px;background:#f1f5f9;color:#334155}.quick{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick a{padding:14px;border:1px solid var(--border);border-radius:16px;background:#fff;font-weight:700}.drawer{position:fixed;right:-420px;top:70px;height:calc(100vh - 70px);width:410px;background:#fff;border-left:1px solid var(--border);box-shadow:-18px 0 40px rgba(15,23,42,.12);z-index:30;transition:.25s;padding:18px;overflow:auto}.drawer.open{right:0}.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.close{border:0;background:#f1f5f9;border-radius:10px;padding:8px 10px;cursor:pointer}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#3b0b0f,#8b1e24 45%,#111827)}.login-card{width:min(430px,92vw);background:#fff;border-radius:28px;padding:32px;box-shadow:0 28px 80px rgba(0,0,0,.28)}.login-card h1{margin:0}.input{width:100%;padding:13px 14px;border:1px solid var(--border);border-radius:14px;margin-top:6px}.btn{border:0;border-radius:14px;background:var(--brand);color:#fff;padding:13px 16px;font-weight:800;cursor:pointer}.btn.full{width:100%}.password-row{display:flex;gap:8px}.password-row .input{flex:1}.eye{margin-top:6px;border:1px solid var(--border);background:#fff;border-radius:14px;padding:0 12px;cursor:pointer}.alert{padding:12px;border-radius:14px;background:#fee2e2;color:#991b1b;margin:14px 0}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid var(--border);text-align:left}.footer{margin-top:18px;color:var(--muted);font-size:12px;text-align:center}@media(max-width:950px){.shell{grid-template-columns:1fr}.sidebar{display:flex;overflow:auto;gap:6px;padding:10px}.side-title{display:none}.navlink{white-space:nowrap}.grid-kpi{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.drawer{width:100%;right:-100%}}@media(max-width:560px){.topbar{height:auto;align-items:flex-start;gap:10px;flex-direction:column;padding:14px}.shell{min-height:auto}.grid-kpi{grid-template-columns:1fr}.main{padding:16px}.quick{grid-template-columns:1fr}.drawer{top:100px;height:calc(100vh - 100px)}}

/* Hito 2 Reclutamiento */
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:16px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12px;font-weight:800;color:#64748b}.select{padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:white}.btn.secondary{background:#f1f5f9;color:#334155}.btn.green{background:#0f766e}.btn.orange{background:#b45309}.avatar-sm{width:46px;height:46px;border-radius:16px;object-fit:cover;background:#f1f5f9}.candidate-cell{display:flex;gap:12px;align-items:center}.candidate-cell small{display:block;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.badge.success{background:#dcfce7;color:#166534}.badge.danger{background:#fee2e2;color:#991b1b}.badge.info{background:#dbeafe;color:#1d4ed8}.badge.warning{background:#fef3c7;color:#92400e}.badge.muted{background:#e5e7eb;color:#374151}.badge.neutral{background:#f1f5f9;color:#334155}.actions{display:flex;gap:6px;flex-wrap:wrap}.btn-mini{border:1px solid var(--border);background:#fff;border-radius:10px;padding:7px 9px;font-size:12px;font-weight:800}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.tab{padding:10px 13px;border-radius:999px;border:1px solid var(--border);background:#fff;font-weight:800;color:#475569}.profile-head{display:grid;grid-template-columns:120px 1fr auto;gap:18px;align-items:center}.avatar-lg{width:120px;height:120px;border-radius:28px;object-fit:cover;background:#f1f5f9;border:1px solid var(--border)}.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.info-box{background:#f8fafc;border:1px solid var(--border);border-radius:16px;padding:12px}.info-box small{display:block;color:var(--muted);font-weight:800;margin-bottom:4px}.workflow{display:flex;gap:8px;overflow:auto;padding:8px 0}.step{min-width:138px;text-align:center;border-radius:18px;padding:12px;border:1px solid var(--border);background:#fff;color:#64748b;font-weight:800}.step.active{background:var(--brand);color:#fff;border-color:var(--brand)}.step.done{background:#dcfce7;color:#166534;border-color:#bbf7d0}.doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.doc{border:1px solid var(--border);border-radius:18px;background:#fff;padding:14px}.doc.ok{border-color:#bbf7d0;background:#f0fdf4}.doc.no{border-color:#fecaca;background:#fff7f7}.timeline{position:relative;padding-left:18px}.timeline:before{content:"";position:absolute;left:5px;top:0;bottom:0;width:2px;background:#e5e7eb}.time-item{position:relative;margin:0 0 14px;background:#fff;border:1px solid var(--border);border-radius:16px;padding:12px}.time-item:before{content:"";position:absolute;left:-18px;top:16px;width:10px;height:10px;border-radius:50%;background:var(--brand)}.modal{position:fixed;inset:0;background:rgba(15,23,42,.55);display:none;align-items:center;justify-content:center;z-index:60}.modal.open{display:flex}.modal-card{width:min(560px,92vw);background:#fff;border-radius:24px;padding:22px;box-shadow:0 28px 80px rgba(0,0,0,.25)}.notice{background:#ecfeff;color:#155e75;border:1px solid #a5f3fc;border-radius:16px;padding:12px;margin-bottom:14px}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:850px){.profile-head{grid-template-columns:1fr}.info-grid,.doc-grid,.split{grid-template-columns:1fr}.toolbar{align-items:stretch}.field{width:100%}.table{font-size:13px}.actions{flex-direction:column}}


/* Hito 3 Selección */
.stats-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.stat-pill{background:#fff;border:1px solid var(--border);border-radius:18px;padding:14px;box-shadow:var(--shadow)}.stat-pill b{font-size:24px;display:block}.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#94a3b8;margin-right:6px}.status-dot.open{background:#16a34a}.status-dot.closed{background:#991b1b}.status-dot.process{background:#2563eb}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .full{grid-column:1/-1}.score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.score-card{border:1px solid var(--border);border-radius:16px;padding:12px;background:#fff}.score-card input{width:100%}.calendar-list{display:grid;gap:12px}.event{display:grid;grid-template-columns:90px 1fr auto;gap:12px;align-items:center;border:1px solid var(--border);border-radius:18px;background:#fff;padding:14px}.event-time{font-weight:900;color:var(--brand);font-size:20px}.compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.compare-card{border:1px solid var(--border);border-radius:20px;background:#fff;padding:16px}.progress{height:9px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:var(--brand);border-radius:999px}.chart-bars{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:160px 1fr 45px;gap:10px;align-items:center}.bar-bg{height:12px;background:#e5e7eb;border-radius:999px;overflow:hidden}.bar-bg span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand2));border-radius:999px}.empty{padding:22px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:18px;background:#fff}.link-card{display:block;border:1px solid var(--border);border-radius:18px;padding:16px;background:#fff}.link-card:hover{border-color:var(--brand)}
@media(max-width:900px){.stats-row{grid-template-columns:repeat(2,1fr)}.form-grid,.score-grid{grid-template-columns:1fr}.event{grid-template-columns:1fr}.bar-row{grid-template-columns:1fr}}

/* Hito 4 KPIs y reportes */
.tab.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.table-wrap{overflow:auto}
.bar-bg.alt span{background:linear-gradient(90deg,#2563eb,#0f766e)}
.mini-line{display:flex;align-items:end;gap:12px;height:150px;padding-top:20px}
.mini-day{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;color:#64748b;font-size:12px}
.mini-day span{width:100%;max-width:34px;background:linear-gradient(180deg,var(--brand2),var(--brand));border-radius:999px 999px 6px 6px;display:block}
@media print{.topbar,.sidebar,.page-head .btn,.tabs,.footer,.activity-btn,.logout{display:none!important}.shell{display:block}.main{padding:0}.card{box-shadow:none;border:1px solid #ddd}.grid-kpi{grid-template-columns:repeat(4,1fr)}body{background:#fff}}
