/* Colores de Pinus. El naranja oscuro mantiene el contraste sobre blanco. */
:root {
    --pinus-orange: #f47719;
    --pinus-orange-dark: #b94700;
    --pinus-orange-soft: #fff1e6;
    --pinus-border: #e9e1d9;
    --pinus-surface: #f7f4f0;
    --ink: #2b3034;
    --muted: #62666b;
    --rz-primary: var(--pinus-orange-dark);
    --rz-primary-light: #d65d0b;
    --rz-primary-lighter: var(--pinus-orange-soft);
    --rz-primary-dark: #983b00;
    --rz-primary-darker: #793000;
    --rz-on-primary: #fff;
    --rz-on-primary-light: #fff;
    --rz-on-primary-lighter: #793000;
    --rz-on-primary-dark: #fff;
    --rz-secondary: #51565b;
    --rz-secondary-light: #74797e;
    --rz-secondary-lighter: #f0f1f2;
    --rz-on-secondary-lighter: #35393d;
    --rz-link-color: var(--pinus-orange-dark);
    --rz-link-hover-color: #793000;
    --rz-text-color: var(--ink);
    --rz-text-secondary-color: var(--muted);
    --rz-body-background-color: var(--pinus-surface);
    --rz-input-focus-border: 1px solid var(--pinus-orange-dark);
    --rz-input-focus-shadow: 0 0 0 3px #f4771926;
    --rz-border-radius: 7px;
}
body {
    background: #ede9e3 url("images/pinus-fondo.png") center center / cover no-repeat fixed;
    color: var(--ink);
}
:focus-visible { outline-color: var(--pinus-orange-dark); }
.portal-page { max-width: none; padding: 0 clamp(24px, 4.5vw, 86px); }
.portal-header { min-height: 94px; }
.brand-logo { width: 130px; }
.corporate-link { color: #4c5054 !important; }
.corporate-link:hover { color: var(--pinus-orange-dark) !important; }
.portal-main { padding: 20px 0 26px; align-items: center; }
.portal-grid {
    width: min(440px, 100%);
    min-height: 0;
    border: 1px solid #fffffff2;
    border-top: 4px solid var(--pinus-orange);
    border-radius: 16px;
    background: #ffffffef;
    box-shadow: 0 20px 65px #51463b1f;
    backdrop-filter: blur(16px);
}
.access-panel { padding: 34px 36px 30px; }
.access-caption { color: var(--pinus-orange-dark); margin-bottom: 22px; }
.access-caption p { font-size: 11px; letter-spacing: .13em; }
.access-title { font-size: 28px !important; color: var(--ink); }
.access-title:focus { outline: none; }
.access-intro { color: var(--muted); font-size: 14px !important; }
.login-form { margin-top: 26px; }
.login-form .rz-label { color: var(--ink); }
.login-form .rz-textbox, .login-form .rz-password { border-color: #d8d5d1; }
.login-form input::placeholder { color: #73777b; }
.login-form input:focus { border-color: var(--pinus-orange-dark); box-shadow: 0 0 0 3px #f4771926; }
.login-submit { background: var(--pinus-orange-dark) !important; color: #fff !important; }
.login-submit:hover { background: #983b00 !important; }
.invitation-note { color: #62666b; }
.portal-footer { padding: 20px 0 24px; color: #4c5054; }
.workspace-page { background: transparent; color: var(--ink); }
.workspace-header { background: #ffffffed; border-color: var(--pinus-border); border-top: 4px solid var(--pinus-orange); }
.workspace-nav a { color: #51565b; }
.workspace-nav a.active, .workspace-nav a:hover { background: var(--pinus-orange-soft); color: var(--pinus-orange-dark); }
.workspace-nav a.active { box-shadow: inset 0 -2px 0 var(--pinus-orange); }
.workspace-main { padding: 28px; background: #fffffff2; border: 1px solid #fff; border-radius: 18px; box-shadow: 0 12px 44px #51463b12; }
.workspace-footer { background: #ffffffdc; border-color: var(--pinus-border); color: #51565b; }
.account-page { background: transparent; }
.account-card { border-top: 4px solid var(--pinus-orange); background: #fffffff2; box-shadow: 0 16px 55px #51463b1a; }
.rz-tabview-nav li.rz-tabview-selected { border-color: var(--pinus-orange-dark); }
.subject-date:focus { border-color: var(--pinus-orange-dark); outline: 3px solid #f4771926; }
@media (min-width: 1700px) {
    .portal-grid { width: 460px; }
    .access-panel { padding: 42px; }
}
@media (max-width: 760px) {
    body { background-position: 64% center; }
    .portal-page { padding: 0 20px; }
    .portal-header { min-height: 80px; }
    .brand-logo { width: 112px; }
    .portal-main { padding: 12px 0 22px; align-items: center; justify-content: center; }
    .portal-grid { width: min(440px, 100%); }
    .access-panel { padding: 28px 24px; }
    .access-title { font-size: 25px !important; }
    .portal-footer { flex-direction: column; gap: 5px; padding: 16px 0 22px; }
    .workspace-main { width: 94vw; padding: 18px; margin: 20px auto; border-radius: 12px; }
    .workspace-header { padding: 14px 3vw; gap: 16px; }
    .workspace-nav a { padding: 8px 10px; font-size: 14px; }
}
@media (prefers-reduced-transparency: reduce) {
    .portal-grid, .workspace-header, .workspace-main, .account-card { background: #fff; backdrop-filter: none; }
}
.dashboard-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin:24px 0; }
.dashboard-card { display:block; padding:22px 24px; border:1px solid var(--pinus-border); border-radius:12px; background:#fff; color:var(--ink); text-decoration:none; transition:border-color .15s,box-shadow .15s; }
.dashboard-card:hover { color:var(--ink); text-decoration:none; border-color:var(--pinus-orange); box-shadow:0 6px 18px #51463b12; }
.dashboard-card:focus-visible, .dashboard-catalogs a:focus-visible { outline:3px solid var(--pinus-orange-dark); outline-offset:3px; }
.dashboard-icon { display:inline-flex; padding:9px; border-radius:10px; color:var(--pinus-orange-dark); background:var(--pinus-orange-soft); }
.dashboard-card h2 { font-size:16px; margin:16px 0 8px; }
.dashboard-card > strong { font-size:36px; line-height:1.2; font-weight:650; }
.dashboard-card p { color:var(--muted); font-size:14px; line-height:1.5; margin:10px 0 16px; }
.dashboard-link { color:var(--pinus-orange-dark); font-size:13px; font-weight:600; }
.dashboard-catalogs { display:flex; flex-wrap:wrap; gap:12px 28px; padding:16px 0; }
.dashboard-catalogs a { color:var(--ink); }
.workspace-main a:not(.dashboard-card) { color:var(--pinus-orange-dark); }
.dashboard-help { margin-top:20px; border-top:1px solid var(--pinus-border); padding-top:20px; line-height:1.8; }
.dashboard-help > summary { cursor:pointer; font-weight:600; }
@media (max-width:1050px) { .dashboard-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .dashboard-grid { grid-template-columns:1fr; gap:12px; } .dashboard-card { padding:18px; } .dashboard-card h2 { margin-top:10px; } }
.expiry-option { display:flex; align-items:center; gap:9px; cursor:pointer; margin:4px 0; }
.expiry-option input { width:18px; height:18px; accent-color:var(--pinus-orange-dark); flex-shrink:0; }

/* Laboral / Recursos Humanos */
.portal-brand{display:flex;flex-direction:column;gap:5px;text-decoration:none!important;flex-shrink:0}.portal-brand span{font-size:10px;font-weight:750;letter-spacing:1px;color:var(--ink)}.portal-switch{font-size:13px;font-weight:650;white-space:nowrap;padding:10px 12px;border:1px solid var(--pinus-border);border-radius:7px;background:white;align-self:center}.portal-picker main{max-width:1040px;margin:60px auto;padding:0 24px}.portal-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px}.portal-picker-grid>a{display:block;background:white;border:1px solid var(--pinus-border);border-top:4px solid var(--pinus-orange);border-radius:12px;padding:34px;color:var(--ink);text-decoration:none}.portal-picker-grid .rzi{font-size:38px;color:var(--pinus-orange-dark)}.portal-picker-grid strong{color:var(--pinus-orange-dark)}.portal-picker-grid p{line-height:1.8;min-height:60px}.portal-area-note{margin-top:30px;color:var(--muted)}.employee-projects{margin:20px 0}.employee-projects>summary{cursor:pointer;font-weight:650}@media(max-width:650px){.portal-picker-grid{grid-template-columns:1fr}.portal-picker main{margin-top:25px}.portal-switch{white-space:normal}}
.laboral-permission{grid-column:1/-1;padding:16px 18px;border:1px solid var(--pinus-border);border-radius:9px;background:var(--pinus-surface)}.laboral-permission label{display:flex;align-items:center;gap:10px;cursor:pointer}.laboral-permission input{width:18px;height:18px;accent-color:var(--pinus-orange-dark);flex-shrink:0}.laboral-permission p{margin:10px 0 0;line-height:1.6;font-size:14px;color:var(--muted)}
.laboral-office-nav{display:flex;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--pinus-border);padding:12px 0 18px;margin-bottom:24px}.laboral-office-nav strong{color:var(--pinus-orange-dark)}.laboral-table-scroll{overflow-x:auto}.laboral-table{width:100%;border-collapse:collapse;font-size:14px}.laboral-table th,.laboral-table td{padding:14px 12px;vertical-align:top;text-align:left;border-bottom:1px solid var(--pinus-border)}.laboral-table th{background:var(--pinus-surface)}.laboral-table label{display:block;margin-top:10px}.laboral-table select{max-width:150px;padding:8px;border:1px solid var(--pinus-border);border-radius:6px;background:white}.laboral-confirm{display:block;padding:18px 0;line-height:1.7}.laboral-batch{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--pinus-border)}.laboral-batch small{display:block;margin-top:6px;color:var(--muted)}.laboral-link{border:0;background:transparent;color:var(--pinus-orange-dark);text-decoration:underline;font:inherit;cursor:pointer;padding:0}.laboral-prewrap{white-space:pre-wrap}
