.apl-scroll{overflow-x:auto}.apl-calendar{width:100%;table-layout:fixed;border-collapse:collapse;min-width:850px}.apl-calendar th{background:#eef2ff;padding:.7rem}.apl-calendar td{border:1px solid #dce3eb;vertical-align:top;height:140px;padding:.45rem}.apl-out{background:#f1f5f9;color:#64748b}.apl-event{display:block;margin:.45rem 0;padding:.45rem;border-left:4px solid #2563eb;border-radius:5px;background:#eff6ff;color:#18314f;text-decoration:none;font-size:.8rem;overflow-wrap:anywhere}.apl-event span,.apl-event small{display:block}.apl-progress{border-color:#d97706;background:#fff7ed}.apl-done{border-color:#15803d;background:#effaf3}.apl-message{border:1px solid #dce3eb;border-radius:7px;padding:1rem;margin:1rem 0}.apl-grants td{padding:.5rem}.side nav a[data-af-phase="planning"]{border-color:#4f46e5}.af-phase-banner[data-af-section="planning"]{border-color:#4f46e5;background:#eef2ff}.apl-portal{max-width:1180px;margin:0 auto;padding:1.5rem}.apl-portal header{border-bottom:3px solid #092b5b;padding-bottom:1rem}.apl-portal header img{max-width:170px;max-height:65px}.apl-portal textarea{min-height:120px}@media(max-width:700px){.apl-portal{padding:.8rem}.apl-calendar{min-width:780px}}

/* Permisos del portal: tabla y guardado en filas separadas del formulario. */
.apl-account-fields,.apl-account-permissions,.apl-account-actions{grid-column:1 / -1;min-width:0}
.apl-account-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px}
.apl-account-permissions .apl-scroll{width:100%;max-width:100%;overflow-x:auto}
.apl-account-permissions .apl-grants{width:100%;min-width:640px;border-collapse:collapse;table-layout:fixed}
.apl-account-permissions .apl-grants th,.apl-account-permissions .apl-grants td{padding:.75rem;text-align:center;vertical-align:middle;border-bottom:1px solid #dce3eb}
.apl-account-permissions .apl-grants th:first-child,.apl-account-permissions .apl-grants td:first-child{width:34%;text-align:left;overflow-wrap:anywhere}
.apl-account-permissions .apl-grants input[type=checkbox]{width:20px;height:20px;margin:0;cursor:pointer}
.apl-account-actions{display:flex;justify-content:flex-start;padding-top:1rem;border-top:1px solid #dce3eb}
.apl-account-actions button{position:static;inset:auto;transform:none;float:none;width:auto;max-width:100%;margin:0;align-self:auto}
@media(max-width:700px){.apl-account-actions button{width:100%}}

/* Accesos del portal del cliente. */
.apl-portal-nav{--apl-brand:#092b5b;--apl-accent:#087eae;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:1.5rem 0}
.apl-portal-nav.apl-nav-ptm{--apl-brand:#3a303a;--apl-accent:#982788}
.apl-portal-nav .apl-nav-button{display:flex;align-items:center;gap:12px;min-height:96px;padding:18px 14px;border:1px solid #dce3eb;border-radius:14px;background:#fff;color:var(--apl-brand);box-shadow:0 3px 12px #18314f0a;text-decoration:none;transition:background .16s,border-color .16s,box-shadow .16s;box-sizing:border-box}
.apl-nav-icon{display:flex;align-items:center;justify-content:center;flex:0 0 40px;height:40px;border-radius:11px;background:#f0f4f8;color:var(--apl-accent)}
.apl-nav-icon svg{display:block;width:25px;height:25px}
.apl-nav-text{display:block;min-width:0}.apl-nav-text strong{display:block;font-size:14px;line-height:1.35}.apl-nav-text small{display:block;margin-top:5px;color:#526477;font-size:12px;line-height:1.4}
.apl-portal-nav .apl-nav-button:hover{border-color:var(--apl-accent);box-shadow:0 5px 16px #18314f18}
.apl-portal-nav .apl-nav-button.is-active{background:var(--apl-brand);border-color:var(--apl-brand);color:white;box-shadow:0 5px 16px #18314f24}
.apl-nav-button.is-active .apl-nav-icon{background:#ffffff21;color:white}.apl-nav-button.is-active small{color:#fff}
.apl-portal-nav .apl-nav-button:focus-visible{outline:3px solid var(--apl-accent);outline-offset:4px}
@media(max-width:1000px){.apl-portal-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.apl-portal-nav{grid-template-columns:1fr;gap:9px}.apl-portal-nav .apl-nav-button{min-height:78px;padding:13px 15px}}
@media(prefers-reduced-motion:reduce){.apl-portal-nav .apl-nav-button{transition:none}}
