/* Colores de Transmota. Identidad suministrada el 7 de noviembre de 2026. */
:root {
    --transmota-blue: #2e2c7c;
    --transmota-blue-dark: #2e2c7c;
    --transmota-blue-soft: #f0eff9;
    --transmota-border: #deddeb;
    --transmota-surface: #f7f7fb;
    --ink: #162d46;
    --muted: #63778c;
    --rz-primary: var(--transmota-blue-dark);
    --rz-primary-light: #2e2c7c;
    --rz-primary-lighter: var(--transmota-blue-soft);
    --rz-primary-dark: #252362;
    --rz-primary-darker: #23215d;
    --rz-on-primary: #fff;
    --rz-on-primary-light: #fff;
    --rz-on-primary-lighter: #23215d;
    --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(--transmota-blue-dark);
    --rz-link-hover-color: #23215d;
    --rz-text-color: var(--ink);
    --rz-text-secondary-color: var(--muted);
    --rz-body-background-color: var(--transmota-surface);
    --rz-input-focus-border: 1px solid var(--transmota-blue-dark);
    --rz-input-focus-shadow: 0 0 0 3px #2e2c7c26;
    --rz-border-radius: 7px;
}
body {
    background: #f7f7fb;
    color: var(--ink);
}
:focus-visible { outline-color: var(--transmota-blue-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(--transmota-blue-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(--transmota-blue);
    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(--transmota-blue-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(--transmota-blue-dark); box-shadow: 0 0 0 3px #2e2c7c26; }
.login-submit { background: var(--transmota-blue-dark) !important; color: #fff !important; }
.login-submit:hover { background: #252362 !important; }
.invitation-note { color: #63778c; }
.portal-footer { padding: 20px 0 24px; color: #4c5054; }
.workspace-page { background: transparent; color: var(--ink); }
.workspace-header { background: #ffffffed; border-color: var(--transmota-border); border-top: 4px solid var(--transmota-blue); }
.workspace-nav a { color: #51565b; }
.workspace-nav a.active, .workspace-nav a:hover { background: var(--transmota-blue-soft); color: var(--transmota-blue-dark); }
.workspace-nav a.active { box-shadow: inset 0 -2px 0 var(--transmota-blue); }
.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(--transmota-border); color: #51565b; }
.account-page { background: transparent; }
.account-card { border-top: 4px solid var(--transmota-blue); background: #fffffff2; box-shadow: 0 16px 55px #51463b1a; }
.rz-tabview-nav li.rz-tabview-selected { border-color: var(--transmota-blue-dark); }
.subject-date:focus { border-color: var(--transmota-blue-dark); outline: 3px solid #2e2c7c26; }
@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(--transmota-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(--transmota-blue); box-shadow:0 6px 18px #51463b12; }
.dashboard-card:focus-visible, .dashboard-catalogs a:focus-visible { outline:3px solid var(--transmota-blue-dark); outline-offset:3px; }
.dashboard-icon { display:inline-flex; padding:9px; border-radius:10px; color:var(--transmota-blue-dark); background:var(--transmota-blue-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(--transmota-blue-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(--transmota-blue-dark); }
.dashboard-help { margin-top:20px; border-top:1px solid var(--transmota-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(--transmota-blue-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(--transmota-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(--transmota-border);border-top:4px solid var(--transmota-blue);border-radius:12px;padding:34px;color:var(--ink);text-decoration:none}.portal-picker-grid .rzi{font-size:38px;color:var(--transmota-blue-dark)}.portal-picker-grid strong{color:var(--transmota-blue-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(--transmota-border);border-radius:9px;background:var(--transmota-surface)}.laboral-permission label{display:flex;align-items:center;gap:10px;cursor:pointer}.laboral-permission input{width:18px;height:18px;accent-color:var(--transmota-blue-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(--transmota-border);padding:12px 0 18px;margin-bottom:24px}.laboral-office-nav strong{color:var(--transmota-blue-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(--transmota-border)}.laboral-table th{background:var(--transmota-surface)}.laboral-table label{display:block;margin-top:10px}.laboral-table select{max-width:150px;padding:8px;border:1px solid var(--transmota-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(--transmota-border)}.laboral-batch small{display:block;margin-top:6px;color:var(--muted)}.laboral-link{border:0;background:transparent;color:var(--transmota-blue-dark);text-decoration:underline;font:inherit;cursor:pointer;padding:0}.laboral-prewrap{white-space:pre-wrap}

/* Employee self service and office planning. */
.laboral-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.laboral-two-col label,.editor-card label{display:block;margin:15px 0 7px}.laboral-two-col input:not([type=checkbox]),.laboral-two-col select,.laboral-two-col textarea,.editor-card textarea,.laboral-filters select,.laboral-toolbar input{width:100%;padding:11px;border:1px solid #d7dadd;border-radius:7px;min-height:44px;background:white;font:inherit;color:#292e33}.laboral-two-col button,.laboral-summary button,.laboral-sections button{padding:10px 14px;border:1px solid #d7dadd;background:white;color:#343a40;border-radius:7px;cursor:pointer}.laboral-toolbar{display:flex;gap:24px;align-items:end;flex-wrap:wrap;margin:20px 0}.laboral-toolbar>label{width:110px}.laboral-sections{display:flex;flex-wrap:wrap;gap:8px}.laboral-sections .selected{background:#f0eff9;color:#2e2c7c;border-color:#74a8d3}.laboral-filters{display:flex;gap:16px;flex-wrap:wrap;margin:20px 0}.laboral-filters label{flex:1;min-width:180px}.laboral-help{color:#5f676f;font-size:14px;line-height:1.55;margin:16px 0}.laboral-summary{border-bottom:1px solid #e6e8e9;padding:20px 0}.laboral-summary h3{margin:8px 0}.laboral-summary p{line-height:1.6}.laboral-state{display:inline-block;border-radius:20px;padding:5px 11px;background:#f0eff9;color:#23215d;font-size:13px}.laboral-weekdays{display:flex;gap:12px;flex-wrap:wrap}.laboral-two-col .laboral-check,.editor-card .laboral-check{display:flex;align-items:center;gap:8px}.laboral-table-wrap{overflow:auto}.laboral-table{width:100%;border-collapse:collapse;background:white}.laboral-table th,.laboral-table td{padding:15px;text-align:left;border-bottom:1px solid #e6e8e9}.laboral-table small{display:block;color:#66717a;padding-top:5px}.laboral-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:24px 0}.laboral-month>strong{text-align:center;padding:10px}.laboral-day{min-height:110px;background:white;border:1px solid #e2e5e7;border-radius:7px;padding:8px}.calendar-chip{display:block;width:100%;font-size:12px;padding:5px;margin-top:5px;text-align:left;border:0;border-radius:4px;color:#58402c;background:#f0eff9}.calendar-chip.pending{border:1px dashed #c87830;background:#fff9ee}.laboral-warning{color:#a23d00}.laboral-prewrap{white-space:pre-wrap}.workspace-nav{flex-wrap:wrap}@media(max-width:850px){.laboral-two-col{grid-template-columns:1fr}.laboral-day{min-height:85px;padding:4px}.calendar-chip{overflow:hidden;text-overflow:ellipsis}.laboral-month{gap:2px}.laboral-table td,.laboral-table th{padding:10px}}
.calendar-start{padding:24px;background:#f7f7fb;border:1px solid #efdbc9;border-radius:10px;margin:20px 0}.calendar-start h2{margin-top:0}.calendar-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:24px 0}.calendar-steps li{padding:16px 18px;background:#fff;border:1px solid #e2e5e7;border-top:3px solid #2e2c7c;border-radius:8px}.calendar-steps strong,.calendar-steps span{display:block}.calendar-steps span{font-size:14px;color:#66717a;margin-top:6px}.calendar-setup fieldset{padding:0;margin:0;border:0;min-width:0}.calendar-duration{display:flex;gap:16px}.calendar-duration label{flex:1;min-width:0}.calendar-shortcuts{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.calendar-advanced{margin:24px 0;border-top:1px solid #e2e5e7;padding-top:16px}.calendar-advanced summary{cursor:pointer;padding:8px 0;min-height:44px}.calendar-saved{background:#f1f6f0;padding:12px;border-radius:6px;color:#315737}.calendar-next{border-top:1px solid #e2e5e7;margin-top:24px;padding-top:12px}.calendar-picker{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:16px 0}.calendar-picker>strong{text-align:center;font-size:13px;padding:8px 0;color:#66717a}.calendar-picker button{padding:9px 2px;min-height:44px}.calendar-picker .rest-day{background:#f0f1f2;color:#7b8389}.calendar-picker .holiday{background:#f0eff9;color:#a34503;border-color:#74a8d3}.calendar-picker .chosen{outline:2px solid #2e2c7c;outline-offset:1px}.laboral-two-col .laboral-primary-action,.laboral-primary-action{display:inline-block;background:#2e2c7c;color:#fff;border:1px solid #2e2c7c;border-radius:7px;padding:12px 18px;font:inherit;font-weight:600;cursor:pointer;min-height:44px}.laboral-primary-action:hover{background:#252362}.laboral-primary-action:disabled{opacity:.6;cursor:wait}@media(max-width:650px){.calendar-steps{grid-template-columns:1fr;gap:8px}.calendar-steps li{padding:12px 16px}.calendar-duration{gap:10px}}
.laboral-form-error{border-left:3px solid #b3371d;padding:12px 14px;color:#902c17;background:#fff4f0;line-height:1.5}
.calendar-batch{margin-bottom:24px}.calendar-batch .laboral-check{display:flex;align-items:flex-start;gap:9px}.calendar-employee-list{max-height:300px;overflow:auto;border:1px solid #d7dadd;border-radius:7px;padding:8px 14px;background:#fff}.calendar-employee-list .laboral-check{padding:10px 0;margin:0;min-height:44px;border-bottom:1px solid #eee}.calendar-batch-review{padding:20px;margin-top:20px;border:1px solid #edb58e;border-radius:8px;background:#fff8f2}.calendar-recipient-preview{max-height:280px;overflow:auto;list-style:none;padding:0}.calendar-recipient-preview li{display:flex;gap:14px;justify-content:space-between;border-bottom:1px solid #e8ded6;padding:12px 0}.calendar-recipient-preview span{font-size:14px;color:#665a51;text-align:right}@media(max-width:650px){.calendar-recipient-preview li{display:block}.calendar-recipient-preview span{display:block;text-align:left;margin-top:5px}}
.laboral-nav-link{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid #d7dadd;border-radius:7px;background:#fff;color:#974008;text-decoration:none;min-height:44px}.laboral-filters input{font:inherit;padding:11px;border:1px solid #d7dadd;border-radius:7px;min-height:44px;max-width:100%;background:#fff;color:#292e33}

.brand-logo{width:210px;height:auto;object-fit:contain}.workspace-logo{width:160px;height:auto;object-fit:contain}@media(max-width:600px){.brand-logo{width:175px}.workspace-logo{width:140px}}
