:root{--bg: #0b1424;--panel: #0f172a;--panel-2: #1e293b;--border: #334155;--text: #f1f5f9;--text-dim: #94a3b8;--muted: #64748b;--accent: #38bdf8;--accent-strong: #0ea5e9;--ok: #22c55e;--warn: #f59e0b;--danger: #ef4444}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0 0 .5rem;color:var(--text)}input,select,textarea{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:.5rem;padding:.6rem .8rem;font:inherit;width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.6}input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}option{background:var(--panel);color:var(--text)}.field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.8rem}.field>span{color:var(--text-dim);font-size:.82rem}.hint{color:var(--text-dim);font-size:.88rem}.btn{background:var(--accent);color:#0b1424;border:none;padding:.7rem 1.2rem;border-radius:.5rem;font:inherit;font-weight:600;cursor:pointer;transition:background .12s}.btn:hover{background:#7dd3fc}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-block{width:100%}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text);font-weight:500;padding:.55rem 1rem;border-radius:.5rem;font:inherit;cursor:pointer}.btn-ghost:hover{background:var(--panel-2)}.btn-ghost:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#051625;border:none;padding:.55rem 1.2rem;border-radius:.5rem;font-weight:600;font:inherit;cursor:pointer}.btn-primary:hover{background:var(--accent-strong);color:#fff}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-close{background:transparent;border:none;color:var(--text-dim);font-size:1.2rem;cursor:pointer;padding:.2rem .5rem;border-radius:.3rem}.btn-close:hover{background:var(--panel-2);color:var(--text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.modal{background:var(--panel);border:1px solid var(--border);border-radius:.75rem;max-width:480px;width:100%;max-height:calc(100vh - 2rem);overflow-y:auto;display:flex;flex-direction:column}.modal-header{padding:1rem 1.2rem .5rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.modal-header h3{margin:0;font-size:1.1rem;color:var(--text)}.modal-body{padding:.5rem 1.2rem 1rem}.modal-actions{padding:.8rem 1.2rem 1rem;display:flex;justify-content:flex-end;gap:.6rem;border-top:1px solid var(--border)}.card{background:var(--panel);border:1px solid var(--border);border-radius:.75rem;padding:1rem;margin-bottom:.75rem}.error{background:#ef44441f;border:1px solid var(--danger);color:#fca5a5;padding:.75rem 1rem;border-radius:.5rem;margin-bottom:.75rem}.label{display:block;font-size:.85rem;color:var(--text-dim);margin-bottom:.3rem;margin-top:.6rem}.app-shell{max-width:600px;margin:0 auto;min-height:100vh;padding:1rem 1rem 5rem}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--border);margin-bottom:1rem}.topbar h1{font-size:1.2rem;margin:0}.brand-logo{font-weight:700;color:var(--accent)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--panel);border-top:1px solid var(--border);display:flex;justify-content:flex-start;padding:.4rem .25rem;z-index:100;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.bottom-nav::-webkit-scrollbar{display:none}.bottom-nav button{background:transparent;border:none;color:var(--muted);padding:.3rem .5rem;cursor:pointer;font-size:.7rem;display:flex;flex-direction:column;align-items:center;gap:.1rem;min-width:60px;flex:1 0 auto;white-space:nowrap}.bottom-nav button.active{color:var(--accent)}.bottom-nav button .icon{font-size:1.4rem;line-height:1}.badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}.badge-ok{background:#22c55e2e;color:#86efac}.badge-warn{background:#f59e0b2e;color:#fcd34d}.badge-info{background:#38bdf82e;color:#7dd3fc}.nav-badge{position:absolute;top:-4px;right:-10px;background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;padding:1px 5px;border-radius:999px;min-width:16px;text-align:center;line-height:1.3}.chat-container{padding:1rem 1rem 5rem;max-width:720px;margin:0 auto}.chat-header{display:flex;gap:.5rem;align-items:center;margin-bottom:1rem}.chat-header h2{margin:0;flex:1;font-size:1.2rem}.chat-header .btn{padding:.5rem 1rem;font-size:.9rem}.ticket-row{background:var(--panel);border:1px solid var(--border);border-radius:.6rem;padding:.8rem;margin-bottom:.5rem;cursor:pointer;transition:border-color .12s,background .12s}.ticket-row:hover,.ticket-row:active{border-color:var(--accent);background:var(--panel-2)}.ticket-row-top{display:flex;justify-content:space-between;align-items:start;gap:.5rem;margin-bottom:.3rem}.ticket-asunto{font-weight:600;color:var(--text);flex:1;min-width:0}.ticket-fecha{font-size:.75rem;color:var(--muted);white-space:nowrap}.ticket-row-mid{display:flex;gap:.4rem;margin-bottom:.3rem;align-items:center;flex-wrap:wrap}.ticket-estado{font-size:.72rem;padding:2px 8px;border-radius:999px;background:var(--panel-2);color:var(--text-dim)}.ticket-estado.estado-abierto{background:#f59e0b2e;color:#fcd34d}.ticket-estado.estado-en_progreso{background:#38bdf82e;color:#7dd3fc}.ticket-estado.estado-respondido{background:#a855f72e;color:#d8b4fe}.ticket-estado.estado-cerrado{background:#64748b38;color:#cbd5e1}.ticket-categoria{font-size:.72rem;padding:2px 8px;border-radius:999px;background:var(--panel-2);color:var(--text-dim);text-transform:capitalize}.ticket-badge{background:var(--danger);color:#fff;font-size:.7rem;padding:1px 7px;border-radius:999px;font-weight:700;margin-left:auto}.ticket-preview{font-size:.85rem;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.chat-mensajes{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1rem}.chat-msg{padding:.7rem .9rem;border-radius:.7rem;max-width:85%;background:var(--panel);border:1px solid var(--border)}.chat-msg-empleado{align-self:flex-end;background:#38bdf81f;border-color:#38bdf859}.chat-msg-rrhh{align-self:flex-start}.chat-msg-sistema{align-self:center;background:var(--panel-2);font-style:italic;max-width:95%;text-align:center}.chat-msg-head{display:flex;justify-content:space-between;gap:.5rem;font-size:.75rem;color:var(--text-dim);margin-bottom:.3rem}.chat-msg-body{color:var(--text);white-space:pre-wrap;word-wrap:break-word}.chat-msg-adj{margin-top:.4rem;font-size:.8rem;display:flex;flex-direction:column;gap:.2rem}.chat-msg-adj a{color:var(--accent);text-decoration:underline}.chat-compose{display:flex;gap:.5rem;align-items:flex-end;background:var(--panel);border:1px solid var(--border);border-radius:.7rem;padding:.5rem}.chat-compose textarea{flex:1;resize:none;background:var(--panel-2);border:1px solid var(--border);border-radius:.5rem;padding:.5rem .7rem;color:var(--text);font:inherit;outline:none}.chat-compose textarea:focus{border-color:var(--accent)}.signature-pad{display:block;width:100%;height:200px;background:#fff;border:2px dashed var(--border);border-radius:.5rem;cursor:crosshair}.accion-valores{width:100%;border-collapse:collapse;margin-top:.8rem;font-size:.85rem}.accion-valores th{text-align:left;padding:.4rem .3rem;border-bottom:1px solid var(--border);color:var(--text-dim);font-weight:600}.accion-valores td{padding:.4rem .3rem;border-bottom:1px solid var(--border)}.capacitacion-row{background:var(--panel);border:1px solid var(--border);border-radius:.6rem;padding:.9rem;margin-bottom:.7rem}.capacitacion-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.3rem}.capacitacion-meta{display:flex;flex-wrap:wrap;gap:.5rem .9rem;font-size:.82rem;color:var(--text-dim);margin-top:.5rem}.estado-ok{background:#22c55e2e;color:#86efac}.estado-info{background:#38bdf82e;color:#7dd3fc}.estado-warn{background:#f59e0b2e;color:#fcd34d}.estado-error{background:#ef44442e;color:#fca5a5}.hint{color:var(--text-dim);font-size:.9rem}.mono{font-family:monospace;font-size:.9em}.footer-info{position:fixed;bottom:64px;left:0;right:0;text-align:center;font-size:.7rem;color:var(--muted);padding:.25rem;background:var(--bg)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:1rem;padding:2rem 1.5rem;width:100%;max-width:380px}.login-card h2{text-align:center;margin-bottom:1.5rem;color:var(--accent)}.landing{min-height:100vh;display:flex;flex-direction:column}.landing-hero{background:linear-gradient(135deg,#0ea5e9,#6366f1);padding:3.5rem 1.25rem 3rem;text-align:center;color:#fff}.landing-hero-inner{max-width:780px;margin:0 auto}.landing-hero h1{margin:0 0 .5rem;font-size:2.25rem;letter-spacing:-.5px}.landing-hero .brand-logo{display:inline-block;padding:.25rem .9rem;background:#0003;border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.landing-subtitle{font-size:1.2rem;margin:0 0 .5rem;opacity:.92;font-weight:500}.landing-lead{margin:0 0 1.5rem;opacity:.85;font-size:.95rem;line-height:1.55;max-width:480px;margin-left:auto;margin-right:auto}.btn-soy-empleado{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.75rem 1.5rem;border-radius:999px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .18s,transform .12s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-soy-empleado:hover{background:#ffffff40;transform:translateY(-1px)}.landing-main{flex:1;padding:2rem 1rem 3rem;max-width:1080px;margin:0 auto;width:100%}.landing-filters{display:grid;grid-template-columns:1fr;gap:.6rem;margin-bottom:1.5rem}@media (min-width: 640px){.landing-filters{grid-template-columns:2fr 1fr 1fr}}.landing-filters input,.landing-filters select{background:var(--panel-2);border:1px solid var(--border);border-radius:.5rem;padding:.6rem .8rem;color:var(--text);font:inherit;outline:none}.landing-filters input:focus,.landing-filters select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #38bdf840}.landing-loading,.landing-empty{text-align:center;color:var(--text-dim);padding:3rem 1rem}.landing-empty h3{color:var(--text);margin:0 0 .5rem}.landing-error{background:#ef444424;border:1px solid rgba(239,68,68,.4);color:#fca5a5;padding:.7rem .9rem;border-radius:.5rem;margin-bottom:1rem;font-size:.9rem}.landing-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media (min-width: 720px){.landing-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1040px){.landing-grid{grid-template-columns:repeat(3,1fr)}}.vacante-card{background:var(--panel);border:1px solid var(--border);border-radius:.75rem;padding:1.2rem;display:flex;flex-direction:column;gap:.5rem;transition:border-color .15s,transform .12s,box-shadow .15s}.vacante-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 16px #0ea5e926}.vacante-head{display:flex;align-items:center;gap:.5rem;justify-content:space-between}.vacante-empresa{font-size:.78rem;color:var(--text-dim);font-weight:600;text-transform:uppercase;letter-spacing:.4px}.vacante-modalidad{font-size:.72rem;padding:2px 8px;border-radius:999px;background:var(--panel-2);color:var(--text-dim);font-weight:500}.vacante-modalidad.modalidad-presencial{background:#0ea5e92e;color:#7dd3fc}.vacante-modalidad.modalidad-remoto{background:#22c55e2e;color:#86efac}.vacante-modalidad.modalidad-hibrido{background:#a855f72e;color:#d8b4fe}.vacante-titulo{margin:0;font-size:1.15rem;line-height:1.3;color:var(--text)}.vacante-puesto{font-size:.85rem;color:var(--text-dim)}.vacante-desc{color:var(--text-dim);font-size:.88rem;line-height:1.45;margin:.2rem 0 .4rem}.vacante-meta{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--text-dim)}.btn-aplicar{background:var(--accent);color:#051625;border:none;padding:.7rem 1rem;border-radius:.5rem;font-weight:600;cursor:pointer;margin-top:.6rem;transition:background .15s}.btn-aplicar:hover{background:var(--accent-strong);color:#fff}.btn-ver-detalle{background:transparent;color:var(--accent);border:1px solid var(--accent);padding:.65rem 1rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:background .15s;flex:1}.btn-ver-detalle:hover{background:#38bdf81a}.vacante-titulo-link{background:transparent;border:none;color:var(--text);font:inherit;font-size:inherit;font-weight:inherit;padding:0;margin:0;text-align:left;cursor:pointer;width:100%}.vacante-titulo-link:hover{color:var(--accent);text-decoration:underline}.btn-aplicar-grande{font-size:1.1rem;padding:1rem 2rem;width:100%;max-width:400px}.landing-hero-compact{padding:2rem 1.25rem;text-align:left}.landing-hero-compact .landing-hero-inner{max-width:900px;text-align:left}.landing-hero-compact h1{font-size:1.8rem;margin:0 0 .4rem}.vacante-ficha{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;background:var(--panel);border:1px solid var(--border);border-radius:.75rem;padding:1.2rem;margin-bottom:1.5rem}.vacante-ficha>div strong{display:block;font-size:.75rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:4px}.vacante-ficha>div>div{color:var(--text);font-weight:500}.vacante-descripcion-full{background:var(--panel);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem}.vacante-descripcion-full h2{margin-top:0;font-size:1.2rem;color:var(--accent)}.vacante-sticky-aplicar{position:sticky;bottom:1rem;display:flex;justify-content:center;padding-top:1rem}.landing-footer{border-top:1px solid var(--border);padding:1.2rem;text-align:center;color:var(--text-dim);font-size:.8rem;display:flex;flex-direction:column;gap:.25rem}.landing-build{opacity:.6;font-size:.75rem}.landing-modal{max-width:520px!important}.landing-modal .form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media (max-width: 480px){.landing-modal .form-row-2{grid-template-columns:1fr}}.landing-modal-ok{max-width:420px!important}.landing-help{color:var(--text-dim);font-size:.85rem;margin:0 0 1rem}.landing-modal .field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.8rem}.landing-modal .field>span{color:var(--text-dim);font-size:.82rem}.landing-modal .field>input,.landing-modal .field>textarea{background:var(--panel-2);border:1px solid var(--border);border-radius:.45rem;padding:.55rem .7rem;color:var(--text);font:inherit;outline:none}.landing-modal .field>input:focus,.landing-modal .field>textarea:focus{border-color:var(--accent)}.landing-modal .field>input[type=file]{padding:.4rem;color:var(--text-dim)}.markdown-body{line-height:1.55}.markdown-body p{margin:0 0 .6rem}.markdown-body p:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:.8rem 0 .4rem;color:var(--text)}.markdown-body h1{font-size:1.1rem}.markdown-body h2{font-size:1rem}.markdown-body h3{font-size:.95rem}.markdown-body ul,.markdown-body ol{margin:.4rem 0 .6rem;padding-left:1.3rem}.markdown-body li{margin:.15rem 0}.markdown-body strong{color:var(--text)}.markdown-body code{background:var(--panel-2);padding:0 .3rem;border-radius:.25rem;font-size:.88em}.markdown-body blockquote{border-left:3px solid var(--border);margin:.5rem 0;padding-left:.8rem;color:var(--text-dim);font-style:italic}.markdown-body a{color:var(--accent)}
