/* BtT · base visual de vista-prueba (borrador de Enrique y ajustes de Marco); portal RH etapa 1 al final. */
@font-face{font-family:Lato;src:url('/assets/Lato-Light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url('/assets/Lato-Semibold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
:root{--ink:#221f20;--paper:#ede8de;--blue:#091d3a;--line:rgba(34,31,32,.2);--soft:rgba(34,31,32,.055);--white:#faf8f3}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:300 16px/1.5 Lato,Arial,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button,a,input,select,textarea{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue)}button{cursor:pointer}a{color:inherit}button:disabled{cursor:default;opacity:.55}h1,h2,h3,p{margin:0}h1{font-size:43px;font-weight:300;line-height:1.14;letter-spacing:-.8px}h2{font-size:25px;font-weight:300;line-height:1.3}h3{font-size:18px;font-weight:600}strong{font-weight:600}.eyebrow{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:2px}.muted{color:#595550}.small{font-size:13px}.demo{min-height:34px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;padding:7px 16px;font-size:11px;letter-spacing:.55px;text-align:center}.demo strong{margin-right:9px}.btn{border:1px solid var(--ink);padding:12px 20px;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;background:transparent;min-height:46px;font-weight:600;font-size:14px}.btn.primary{background:var(--blue);border-color:var(--blue);color:var(--paper)}.btn.light{background:var(--paper);border-color:var(--paper);color:var(--blue)}.btn.quiet{border-color:var(--line);padding:9px 13px;min-height:38px}.btn:hover{filter:brightness(.93)}.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}.rule{height:1px;background:var(--line);margin:24px 0}.pill{display:inline-flex;padding:5px 9px;border:1px solid var(--line);font-size:11px;font-weight:600;white-space:nowrap;gap:5px}.pill.pending{border-style:dashed}.pill.approved{background:var(--blue);border-color:var(--blue);color:var(--paper)}.subtle{font-size:12px;line-height:1.5;color:#5d5953}.content{animation:appear .15s ease-out}@keyframes appear{from{opacity:.6}to{opacity:1}}
.login{min-height:calc(100vh - 34px);display:grid;grid-template-columns:1.05fr 1fr}.login-story{background:var(--blue);color:var(--paper);padding:70px 9%;display:flex;flex-direction:column;justify-content:space-between;min-height:750px}.login-story h1{font-size:clamp(50px,5vw,78px);letter-spacing:-1px;line-height:1.02;margin:35px 0}.login-story .intro{max-width:330px;font-size:19px}.login-story .chapter{border-top:1px solid rgba(237,232,222,.35);padding-top:24px;display:flex;justify-content:space-between;font-size:12px}.login-panel{display:flex;flex-direction:column;justify-content:center;padding:65px 13%;gap:34px}.logo{display:block;width:176px;height:auto}.login-panel .logo{width:220px;margin-bottom:16px}.login-panel h2{font-size:34px;line-height:1.2}.login-panel .btn{width:100%;margin-top:15px}.login-foot{margin-top:30px;border-top:1px solid var(--line);padding-top:22px;font-size:12px}.login-foot span{display:block;margin-top:6px}.grid-note{height:78px;width:110px;border:1px solid rgba(237,232,222,.5);background:repeating-linear-gradient(62deg,transparent,transparent 9px,rgba(237,232,222,.28) 9px,rgba(237,232,222,.28) 10px);margin-bottom:42px}
.shell{display:grid;grid-template-columns:235px minmax(0,1fr);min-height:calc(100vh - 34px)}.sidebar{border-right:1px solid var(--line);display:flex;flex-direction:column;padding:34px 25px 24px;min-width:0}.brand-block{padding:6px 10px 30px;border-bottom:1px solid var(--line)}.brand-block .logo{width:160px}.product-name{font-size:11px;margin-top:23px;letter-spacing:.35px}.brand-block .eyebrow{font-size:9px;letter-spacing:1.5px;margin-top:6px}.nav{display:flex;flex-direction:column;gap:5px;margin-top:30px}.nav a{display:flex;align-items:center;gap:13px;padding:12px 13px;text-decoration:none;font-size:14px;border-left:2px solid transparent}.nav a:hover{background:var(--soft)}.nav a.active{background:var(--blue);color:var(--paper);border-color:var(--blue)}.nav .count{margin-left:auto;font-size:11px}.sidebar-bottom{margin-top:auto;padding:54px 10px 0}.sidebar-bottom .line{border-top:1px solid var(--line);padding-top:21px}.sidebar-bottom p{font-size:12px;margin-top:7px}.sidebar-bottom button{background:none;border:0;padding:12px 0 0;text-decoration:underline;font-size:12px}.main{min-width:0}.topbar{min-height:83px;display:flex;align-items:center;justify-content:space-between;padding:16px 42px;border-bottom:1px solid var(--line);gap:20px}.topbar .crumb{font-size:12px;letter-spacing:1px}.persona{display:flex;align-items:center;gap:12px}.persona label{font-size:11px;color:#595550}.persona select{background:transparent;border:1px solid var(--line);padding:8px 25px 8px 10px;font-size:12px;max-width:190px}.avatar{height:34px;width:34px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:12px}.workspace{padding:36px 42px 30px;max-width:1540px;margin:auto}.pagehead{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.pagehead .eyebrow{margin-bottom:12px}.pagehead .muted{margin-top:13px;max-width:560px;font-size:15px}.pagehead .btn{flex:none}.hero{background:var(--blue);color:var(--paper);display:grid;grid-template-columns:1.5fr 1fr;padding:33px 35px;gap:25px;min-height:227px}.hero h1{font-size:39px;letter-spacing:.4px;line-height:1.14;margin:16px 0 13px}.hero p{font-size:15px;max-width:480px}.hero-right{border-left:1px solid rgba(237,232,222,.35);padding-left:30px;display:flex;flex-direction:column;justify-content:center;gap:14px}.hero-right p{font-size:12px;line-height:1.6}.hero-right .btn{align-self:start}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);margin-top:24px}.stat{padding:22px 24px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat-top{font-size:12px;display:flex;justify-content:space-between}.stat-value{font-size:42px;line-height:1.1;margin:13px 0 7px}.stat-value small{font-size:16px}.two-col{display:grid;grid-template-columns:1.35fr 1fr;gap:25px;margin-top:25px}.panel{border:1px solid var(--line);padding:25px}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:14px}.link{background:none;border:0;padding:0;font-weight:600;font-size:12px;text-decoration:underline}.quick{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick a{text-decoration:none;border:1px solid var(--line);padding:20px 15px;min-height:110px;display:flex;flex-direction:column;align-items:start;gap:17px;font-size:14px}.quick a:hover{background:var(--soft)}.event{display:flex;gap:13px;border-top:1px solid var(--line);padding:17px 0 0;margin-top:17px}.event .number{width:24px;flex:none;font-size:12px}.event p{font-size:13px}.event .subtle{margin-top:3px}.footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:30px;padding-top:15px;gap:16px;font-size:10px;letter-spacing:.6px;color:#595550}
.balance{display:grid;grid-template-columns:1fr 1.4fr;border:1px solid var(--line);margin-bottom:25px}.balance-number{background:var(--blue);color:var(--paper);padding:30px}.balance-number .big{font-size:72px;line-height:1.1;margin:13px 0}.balance-number .big span{font-size:22px;margin-left:9px}.balance-info{padding:30px}.balance-info h3{font-weight:300;font-size:22px;margin-bottom:15px}.balance-info p{font-size:14px}.balance-info .subtle{margin-top:22px;max-width:450px}.table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.table th{font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:1px;padding:12px 15px;border-bottom:1px solid var(--line)}.table td{padding:18px 15px;border-bottom:1px solid var(--line);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table td .subtle{display:block;margin-top:5px}.table-wrap{border:1px solid var(--line);overflow:auto}.section-title{margin-bottom:18px;display:flex;align-items:center;justify-content:space-between}.form-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:25px}.form-card{border:1px solid var(--line);padding:30px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:23px}.field label{font-size:13px;font-weight:600}.field input,.field textarea{border:1px solid var(--line);background:var(--white);padding:13px 12px;width:100%;border-radius:0}.field textarea{resize:vertical;min-height:100px}.form-note{font-size:12px;max-width:460px;margin:7px 0 23px}.summary{background:var(--blue);color:var(--paper);padding:30px;align-self:start}.summary h3{font-weight:300;font-size:25px}.summary .days{font-size:59px;margin-top:25px;line-height:1}.summary .days span{font-size:18px;margin-left:8px}.summary .steps{border-top:1px solid rgba(237,232,222,.3);margin-top:27px;padding-top:20px}.summary .steps p{font-size:13px;margin:12px 0}.summary .subtle{color:var(--paper);opacity:.85;margin-top:18px}.error{font-size:13px;font-weight:600;margin:14px 0;padding:12px;border:1px solid var(--ink);background:var(--white)}.error[hidden]{display:none}.approvals{display:grid;gap:17px}.approval{border:1px solid var(--line);padding:25px;display:grid;grid-template-columns:1fr auto;gap:20px}.approval h3{margin:10px 0 5px;font-size:22px;font-weight:300}.approval .actions{display:flex;align-items:center;gap:10px}.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.policy{border:1px solid var(--line);padding:25px;display:flex;flex-direction:column;min-height:300px}.policy .icon{width:30px;height:30px;margin:15px 0 28px}.policy h3{font-weight:300;font-size:23px;margin-bottom:15px}.policy p{font-size:13px;margin-bottom:30px}.policy .btn{margin-top:auto;align-self:start}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.tool{padding:25px;border:1px solid var(--line)}.tool h3{font-size:21px;font-weight:300;margin:20px 0 10px}.tool p{font-size:13px;max-width:390px;margin-bottom:20px}.team{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.team article{border-top:1px solid var(--line);padding:20px 0}.team h3{font-weight:300;font-size:24px;margin:8px 0}.team p{font-size:13px;max-width:390px}.toast{position:fixed;bottom:25px;right:25px;z-index:20;max-width:380px;background:var(--ink);color:var(--paper);border:1px solid var(--paper);padding:20px 25px;font-size:14px;box-shadow:0 8px 35px #0002}.toast[hidden]{display:none}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);max-width:600px;width:calc(100% - 38px);padding:34px}dialog::backdrop{background:rgba(9,29,58,.65)}dialog h2{margin:16px 0 20px}dialog p{font-size:15px;margin-bottom:24px}.empty{padding:35px;border:1px solid var(--line)}
@media(min-width:1600px){.workspace{padding:45px 60px}.hero{min-height:260px}.hero h1{font-size:48px}}
@media(max-width:1050px){.workspace{padding:29px 25px}.topbar{padding:16px 25px}.shell{grid-template-columns:205px 1fr}.sidebar{padding:30px 17px}.brand-block .logo{width:146px}.hero{padding:25px}.hero h1{font-size:32px}.stat{padding:19px}.two-col{grid-template-columns:1fr}.policy-grid{grid-template-columns:1fr}.policy{min-height:220px}.policy .icon{margin:10px 0 20px}.form-grid{grid-template-columns:1fr}.approval{grid-template-columns:1fr}.approval .actions{justify-content:start}.tools-grid{grid-template-columns:1fr 1fr}.pagehead h1{font-size:36px}}
@media(max-width:700px){body{font-size:15px}.demo{font-size:9px;letter-spacing:0;padding:7px 9px;min-height:34px}.demo strong{margin-right:5px}.login{grid-template-columns:1fr}.login-story{min-height:330px;padding:38px 30px}.login-story h1{font-size:48px;margin:22px 0}.login-story .intro{font-size:16px;max-width:300px}.login-story .chapter{margin-top:35px}.grid-note{display:none}.login-panel{padding:40px 30px;gap:25px}.login-panel .logo{width:185px;margin:0}.login-panel h2{font-size:29px}.login-foot{margin-top:5px}.shell{grid-template-columns:1fr}.sidebar{border-right:0;padding:20px 20px 0}.brand-block{padding:0;border:0;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand-block .logo{width:130px}.product-name{margin:0;font-size:10px;max-width:105px;text-align:right}.brand-block .eyebrow{display:none}.nav{flex-direction:row;gap:0;overflow:auto;margin-top:24px;border-bottom:1px solid var(--line)}.nav a{padding:13px 12px;white-space:nowrap;font-size:12px;gap:7px;border-left:0;border-bottom:2px solid transparent}.nav .icon{width:15px;height:15px}.nav a.active{background:transparent;color:var(--blue);border-bottom-color:var(--blue);font-weight:600}.sidebar-bottom{display:none}.topbar{padding:15px 20px;min-height:66px;gap:10px}.topbar .crumb{display:none}.persona{justify-content:space-between;width:100%}.persona select{font-size:11px;max-width:190px}.avatar{display:none}.workspace{padding:27px 20px 22px}.pagehead{align-items:start;flex-direction:column;gap:18px;margin-bottom:23px}.pagehead h1{font-size:34px}.pagehead .muted{font-size:14px;margin-top:11px}.pagehead .btn{font-size:13px}.hero{display:block;padding:26px 24px}.hero h1{font-size:35px;margin-top:18px}.hero p{font-size:14px}.hero-right{border:0;border-top:1px solid rgba(237,232,222,.3);padding:22px 0 0;margin-top:24px;gap:13px}.hero-right .btn{width:100%}.stats{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line);padding:19px 22px}.stat-top{font-size:12px}.stat-value{font-size:36px;margin:8px 0 5px}.two-col{gap:18px;margin-top:18px}.panel{padding:22px}.quick{gap:10px}.quick a{padding:15px 12px;font-size:13px}.footer{flex-direction:column;gap:8px;font-size:9px}.balance{grid-template-columns:1fr}.balance-number{padding:25px}.balance-number .big{font-size:62px}.balance-info{padding:24px}.table th,.table td{padding:13px 11px}.table{min-width:550px}.form-row{grid-template-columns:1fr;gap:0}.form-card{padding:23px}.form-card .btn{width:100%}.summary{padding:25px}.policy-grid{gap:15px}.policy{padding:23px}.tools-grid,.team{grid-template-columns:1fr}.approval{padding:22px;gap:20px}.approval .actions{flex-wrap:wrap}.approval .actions .btn{flex:1}.toast{bottom:15px;right:15px;left:15px;max-width:none}.section-title{align-items:start;gap:14px;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.content{animation:none}}
/* Ajustes de la maqueta 01 */
.demo{position:sticky;top:0;z-index:30;flex-wrap:wrap;gap:0 9px}.demo strong{margin-right:0}
.logo{aspect-ratio:864/174;object-fit:contain}
.persona-field{display:flex;flex-direction:column;gap:3px}.persona-hint{font-size:10px;color:#595550}
.pill.returned{border-color:var(--ink)}
.notice{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--blue);padding:16px 22px;margin-top:24px;font-size:14px}.notice .btn{flex:none}
.form-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.field input[aria-invalid="true"]{border:2px solid var(--ink);padding:12px 11px}
.field-hint{font-size:12px;color:#595550}
.summary .preview-msg{margin-top:17px;font-size:13px}.summary.invalid .days b{opacity:.6}.summary.invalid .preview-msg{font-weight:600;border-left:2px solid var(--paper);padding-left:10px}
.approval .request-note{font-size:13px;margin-top:12px;max-width:560px;color:#595550}.approval .resolved{font-size:12px;color:#595550;max-width:260px}
.doc-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin-bottom:22px;font-size:13px}
.doc-meta span{display:block;font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#595550}
.doc-placeholder{border:1px dashed rgba(34,31,32,.35);padding:22px;margin-bottom:24px}.doc-placeholder i{display:block;height:8px;background:rgba(34,31,32,.09);margin:10px 0}.doc-placeholder i:nth-child(3n){width:70%}.doc-placeholder i:nth-child(3n+1){width:92%}
.team-intro{font-size:14px;max-width:640px;margin-top:34px}
.mobile-preview{display:none;background:var(--blue);color:var(--paper);padding:16px 18px;margin:0 0 18px}.mobile-preview p{margin-top:6px;font-size:15px}.mobile-preview b{font-weight:300;font-size:30px;margin-right:4px}.mobile-preview.invalid #m-range{font-weight:600;border-left:2px solid var(--paper);padding-left:10px}
@media(max-width:700px){.nav{flex-wrap:wrap;overflow:visible}.nav a{padding:11px 10px}.mobile-preview{display:block}
.table{min-width:0}.table thead{display:none}.table,.table tbody,.table tr,.table td{display:block;width:100%}.table tr{border-bottom:1px solid var(--line);padding:10px 0}.table tr:last-child{border-bottom:0}.table td{border:0;padding:6px 16px}.table td[data-label]::before{content:attr(data-label);display:block;font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#595550;margin-bottom:3px}
.demo{font-size:10px;letter-spacing:.2px;line-height:1.35}.persona{align-items:end}.notice{flex-direction:column;align-items:stretch}.form-actions .btn{width:100%}.doc-meta{grid-template-columns:1fr}dialog{padding:26px 22px}}
/* Biblioteca RH de políticas (documentos reales) */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lib-intro{border:1px solid var(--line);padding:22px 25px;margin-bottom:34px}.lib-intro p{font-size:14px;max-width:760px}
.lib-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}
.lib-jump{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;border:1px solid var(--line);background:transparent;padding:14px 16px;font-size:14px;min-width:0}.lib-jump:hover{background:var(--soft)}.lib-jump b{font-weight:300;font-size:28px;line-height:1;margin-top:auto}
.lib-cat{margin-bottom:38px;scroll-margin-top:70px}.lib-cat h2{margin-top:8px}
.doc-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.doc{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.doc .number{font-size:12px;font-weight:600;letter-spacing:1px}.doc h3{font-weight:300;font-size:18px}.doc .subtle{margin-top:4px;overflow-wrap:anywhere}
.doc-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.lib-pending{margin-top:10px}.pending-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pending-doc{border:1px dashed rgba(34,31,32,.35);padding:22px}.pending-doc h3{font-weight:300;font-size:21px;margin:16px 0 10px}.pending-doc p{font-size:13px}
@media(max-width:1050px){.lib-index{grid-template-columns:1fr 1fr}.pending-grid{grid-template-columns:1fr}}
@media(max-width:700px){.lib-intro{padding:18px}.lib-index{gap:8px}.lib-jump{padding:12px;font-size:13px}.lib-jump b{font-size:22px}.doc{grid-template-columns:28px minmax(0,1fr);gap:10px 12px}.doc-actions{grid-column:1/-1;justify-content:flex-start}.doc-actions .btn{flex:1}.pending-doc{padding:20px}}
/* Portal RH etapa 1 */
.login{min-height:100vh}.shell{min-height:100vh}
.mt-s{margin-top:15px}.mt-m{margin-top:18px}.mt-l{margin-top:22px}.mb-m{margin-bottom:15px}.lead{font-size:15px}.grid-note.first{margin-top:52px}
.login-notice{border:1px solid var(--ink);background:var(--white);padding:14px 16px;font-size:14px;margin-top:18px}
.login-notice[hidden]{display:none}
.persona-card{display:flex;flex-direction:column;gap:2px;text-align:right}.persona-card span{font-size:11px;color:#595550}
.logout{background:none;border:1px solid var(--line);padding:8px 12px;font-size:12px}
.pending-module{border:1px dashed rgba(34,31,32,.35);padding:25px}.pending-module h3{font-weight:300;font-size:23px;margin:16px 0 10px}.pending-module p{font-size:14px}
.search-row{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.search-row input{flex:1;min-width:200px;border:1px solid var(--line);background:var(--white);padding:12px;border-radius:0}
.actions-row{display:flex;gap:8px;flex-wrap:wrap}.more{margin-top:16px}
.admin-section{margin-bottom:38px}
.check-row{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px}.check-row label{display:inline-flex;align-items:center;gap:6px;min-height:28px}
.field select{border:1px solid var(--line);background:var(--white);padding:13px 12px;width:100%;border-radius:0}
.state-message{padding:35px;border:1px solid var(--line);max-width:640px}.state-message h2{margin-bottom:12px}
.footer a{color:inherit}
.pill.draft{border-style:dashed}
.mono{font-family:ui-monospace,Menlo,monospace;font-size:11px;overflow-wrap:anywhere}
.cell-wrap{overflow-wrap:anywhere}
@media(max-width:700px){.persona-card{text-align:left}.topbar{justify-content:space-between}.search-row .btn{width:100%}.persona{flex-wrap:wrap}}
