@font-face{font-family:'Tan Buster';src:url('/brand/tan-buster-bold.woff2') format('woff2');font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:'Cocomat Pro';src:url('/brand/cocomat-pro-regular.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap}
/* Cifras convencionales: sin el cero circular con punto de Cocomat. */
@font-face{font-family:'Nevoa Numerals';src:local('Arial'),local('Liberation Sans'),local('DejaVu Sans');font-weight:100 900;font-style:normal;unicode-range:U+002B-003A,U+20AC}
:root{--cream:#fdfcf9;--sand:#f3e9dc;--beige:#ebe2d3;--ink:#2f2f2f;--green:#5f7764;--green-dark:#4a5f4f;--lavender:#b6afcf;--terracotta:#d6a88a;--line:rgba(47,47,47,.13);--body:'Nevoa Numerals','Cocomat Pro','Segoe UI',sans-serif;--display:'Tan Buster',Georgia,serif}
body{background:var(--cream);color:var(--ink);font-family:var(--body);font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1{font-family:var(--display);font-size:clamp(32px,3.5vw,49px);font-weight:700;letter-spacing:-1.4px;line-height:1.12;margin-bottom:16px;max-width:850px}
h2{font-size:20px;letter-spacing:-.5px;line-height:1.35}h3{letter-spacing:-.1px}p.muted{line-height:1.7}.muted,small{color:#6d7069}a{color:var(--green-dark);text-underline-offset:4px}a:hover{color:var(--ink)}
.sidebar{width:248px;padding:36px 23px;background:var(--cream);border-right:1px solid var(--line)}
.brand{font:inherit;letter-spacing:0}.brand img{display:block;width:125px;height:auto;max-height:68px;object-fit:contain;object-position:left center}.brand small{font:10px var(--body);letter-spacing:2.8px;margin-top:18px;color:var(--green);text-transform:uppercase}.sidebar nav{margin-top:48px;gap:7px}.sidebar nav button{font-size:12px;line-height:1.5;min-height:45px;padding:12px 14px;border-radius:9px;color:#64675f;transition:background .15s,color .15s}.sidebar nav button.active{background:#e8eee6;color:#344d3b;box-shadow:inset 3px 0 var(--green)}.sidebar nav button:hover{background:#f0eee7}.sidebar footer{border-top:1px solid var(--line);padding-top:23px;line-height:1.9;color:#73766d}.sidebar footer button{margin-top:8px;font-size:11px;padding:7px 14px}
.main{margin-left:248px;padding:25px 48px 56px;max-width:1600px}.topbar{padding-bottom:21px;margin-bottom:44px;border-color:var(--line);font-size:10px;letter-spacing:1.5px;color:#777a71}.topbar>span:last-child{letter-spacing:0;font-size:12px;color:var(--ink)}.topbar button{font-size:11px;padding:7px 13px;margin-left:8px}.avatar{background:var(--beige);width:32px;height:32px;font-size:10px}.heading{margin-bottom:30px;align-items:center}.heading>div>p.muted{margin-bottom:0;max-width:680px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:500;color:var(--green);margin-bottom:16px}.heading>label{font-size:11px;min-width:165px}
.notice{background:#f2f3ed;border-left:2px solid #a7b39e;border-radius:0 8px 8px 0;color:#5f675b;padding:12px 16px;font-size:11px;line-height:1.7;margin-bottom:26px}.card{border:1px solid var(--line);border-radius:15px;padding:25px;background:#fffefa;box-shadow:none;margin-bottom:22px}.grid{gap:18px}.grid>.card{min-height:154px}.grid .eyebrow{color:#73786e;margin-bottom:14px}.metric{font-family:var(--body);font-weight:400;font-size:34px;letter-spacing:-1.5px;line-height:1.25;margin:6px 0 13px}.metric small{font-size:12px;letter-spacing:0}.card>small{font-size:11px}.two{gap:22px}
.clock{background:#e8eee5;border-color:#d4dfd0;padding:28px}.clock h2{margin-bottom:0}.clock-time{font-size:55px;letter-spacing:-2px;line-height:1.2;margin:24px 0 8px;font-family:var(--body)}.clock p.muted{font-size:12px;margin-bottom:22px}.clock .actions{margin-bottom:17px}.clock>small{font-size:11px}.pill{background:#e9eee6;color:#48604c;font-size:10px;padding:4px 11px;line-height:1.5}.pill.pendiente{background:#f5e9d9;color:#785733}.pill.rechazado{background:#f2dfdc;color:#803e37}.pill.cancelado{background:#eeece7;color:#67675f}
button{font-family:var(--body);font-size:12px;line-height:1.5;border-color:#dcdcd3;border-radius:999px;padding:11px 18px;background:transparent;color:var(--ink);min-height:40px;transition:background .15s,border-color .15s}button:hover{background:#f1eee6;border-color:#b3b9a8}button.primary{background:var(--ink);border-color:var(--ink);color:var(--cream)}button.primary:hover{background:var(--green-dark);border-color:var(--green-dark)}button:disabled{opacity:.35}.actions{gap:9px}.actions a{font-size:12px}
input,select,textarea{font-family:var(--body);color:var(--ink);background:var(--cream);border-color:#d9dcd2;border-radius:8px;padding:11px 13px;font-size:13px;min-height:44px}textarea{min-height:88px}label{font-size:12px;color:#686d62;margin:17px 0 7px}.form-grid{column-gap:20px}.list-item{border-color:var(--line);padding:17px 0;font-size:13px}.list-item small{font-size:11px}table{font-size:12px}th{background:#f2f1e9;color:#72766a;font-size:10px;letter-spacing:.5px}td,th{padding:14px 12px;border-color:var(--line)}.empty{font-size:12px;color:#7d8075;padding:25px 0}
.cal .day{border-color:#e1e2d8;border-radius:8px;background:#fffefa}.cal .weekend{background:#f2f0e9}.cal .holiday{background:#f3e9dc}.cal .local{background:#eae6f0}.cal .leave{background:#e3ebde}.cal .today{outline-color:var(--green)}.cal-head{color:#797f71}.payroll-month{border-color:var(--line);border-radius:11px;padding:18px;background:#fffefa}.payroll-month.published{background:#eef2e8;border-color:#bdcbb4}.payroll-month-title h3{font-size:14px}.payroll-summary{border-color:var(--line)}.trip{border-color:var(--line)}details>summary{cursor:pointer;font-size:13px;padding:7px 0}#toast{background:var(--ink);font-size:12px;border-radius:10px;box-shadow:0 6px 25px #0001}
.login{max-width:500px;margin:5vh auto;padding:40px 42px;background:var(--cream);border:0;border-radius:0}.login .brand{margin-bottom:42px}.login .brand img{width:155px;max-height:85px}.login .brand small{margin-top:18px;font-size:9px}.login h1{font-size:43px;line-height:1.13;letter-spacing:-1px;margin-bottom:22px}.login>p.muted{font-size:13px;margin-bottom:28px}.login .notice{font-size:11px;margin-bottom:23px}.login #login button{margin-top:25px;width:100%;padding:14px}.login-footnote{font-size:11px;line-height:1.6;margin-top:24px}.row-between{justify-content:space-between}.mt-24{margin-top:24px}.mt-25{margin-top:25px}.mt-20{margin-top:20px}.profile-note{margin-top:25px}.align-start{align-items:start}:focus-visible{outline:3px solid #a2b294;outline-offset:3px}
@media(min-width:1500px){.main{padding-left:65px;padding-right:65px}.sidebar{width:265px}.main{margin-left:265px}.clock-time{font-size:62px}}
@media(max-width:1100px){.sidebar{width:220px;padding:30px 18px}.main{margin-left:220px;padding:25px 28px 45px}h1{font-size:39px}.grid{gap:12px}.grid>.card{padding:21px}.metric{font-size:29px}.clock-time{font-size:48px}.heading>label{min-width:140px}.topbar{margin-bottom:35px}.two{grid-template-columns:1fr}}
@media(max-width:720px){body{font-size:13px}.sidebar{position:static;width:100%;padding:21px 20px 12px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .brand img{width:94px;max-height:46px}.sidebar .brand small{display:block;margin-top:8px;font-size:8px;letter-spacing:2px}.sidebar nav{margin-top:20px;gap:5px;padding-bottom:6px;scrollbar-width:thin}.sidebar nav button{font-size:11px;padding:9px 13px;min-height:38px;border-radius:999px}.sidebar nav button.active{box-shadow:none;background:#e6ecdf}.sidebar footer{display:none}.main{margin-left:0;padding:21px 20px 36px}.topbar{margin-bottom:28px;padding-bottom:17px;letter-spacing:.8px;font-size:8px;gap:10px}.topbar>span:last-child{font-size:10px;display:flex;align-items:center}.topbar button{font-size:10px;margin-left:6px;padding:7px 10px}.avatar{width:25px;height:25px;margin-right:5px;font-size:8px}.heading{align-items:start;gap:12px;margin-bottom:24px}.heading>label{margin-top:0;width:100%}h1{font-size:34px;letter-spacing:-1px;line-height:1.15}.eyebrow{font-size:8px;letter-spacing:1.1px;margin-bottom:14px}.notice{font-size:10px;padding:11px 13px;margin-bottom:19px}.grid{gap:0;grid-template-columns:1fr}.grid>.card{min-height:115px;padding:20px;margin-bottom:14px}.grid .eyebrow{margin-bottom:10px}.metric{font-size:31px;margin-bottom:8px}.card{padding:20px;border-radius:12px;margin-bottom:18px}.clock{padding:23px 20px}.clock-time{font-size:46px;margin-top:22px}.clock h2{font-size:18px}.actions button{flex:1 1 calc(50% - 9px);font-size:11px;padding:11px 12px}.form-grid{grid-template-columns:1fr}.cal .day{padding:5px;min-height:69px}.cal .day small{font-size:8px}.payroll-heading{flex-direction:row;gap:10px}.payroll-heading h2{font-size:19px}.payroll-heading p{font-size:11px}.payroll-heading label{width:90px;min-width:90px}.login{margin:2vh auto;padding:32px 26px;max-width:450px}.login h1{font-size:36px}.login .brand img{width:135px}.login .brand{margin-bottom:35px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
