/* AMCAD Portal 1.2.3 — diseño clásico AMCAD conservado */
.amcad-login-wrap{max-width:760px;margin:40px auto;padding:20px;font-family:Arial,sans-serif}
.amcad-login-card{border:1px solid #aab3bd;background:#f5f7f9;padding:35px;max-width:520px;margin:auto;text-align:center;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.amcad-logo{max-width:90px;max-height:90px;margin-bottom:10px}.amcad-login-card h1{font-size:34px;margin:8px 0}.amcad-welcome{font-size:20px;font-weight:600}
#amcad-loginform{text-align:left;margin-top:25px}.login-username,.login-password{margin-bottom:16px}.login-username label,.login-password label{display:block;font-weight:600;margin-bottom:6px}
#amcad-loginform input[type=text],#amcad-loginform input[type=password]{width:100%;box-sizing:border-box;padding:12px;border:1px solid #c5ccd3}
#amcad-loginform input[type=submit],.amcad-btn{display:inline-block;background:#174ea6;color:#fff!important;border:0;padding:11px 20px;text-decoration:none;cursor:pointer}
.amcad-help{font-size:13px;color:#555;margin-top:20px}

/* Diseño del portal: igual al diseño clásico mostrado por el usuario. */
.amcad-portal{font-family:Arial,sans-serif;background:#e8eef4;min-height:500px;border:1px solid #b4c0cb;color:#111}
.amcad-portal-head{position:relative;display:block;height:220px;box-sizing:border-box;background:#c7d5e2;padding:34px 42px 0;border-bottom:1px solid #8998a6;text-align:left;overflow:hidden}.amcad-portal-title{text-align:left}.amcad-portal-title h1{margin:0;display:flex;align-items:baseline;gap:10px;font-size:72px;line-height:1.02;font-family:Arial,Helvetica,sans-serif;font-weight:400;letter-spacing:-2px}.amcad-title-main{font-family:Arial,Helvetica,sans-serif;font-weight:400}.amcad-title-brand{font-family:Arial,Helvetica,sans-serif;font-size:1em;font-weight:400;letter-spacing:-2px}.amcad-portal-welcome{text-align:left}.amcad-portal-welcome p{margin:10px 0 0;font-size:38px;line-height:1.12;font-weight:400}.amcad-nav{position:absolute;right:42px;bottom:18px;display:flex;align-items:flex-end;justify-content:flex-end;margin:0;padding:0;flex-wrap:nowrap}.amcad-nav a{display:none;font-weight:bold;color:#111;text-decoration:none;white-space:nowrap;font-size:20px;line-height:1;padding:0}.amcad-nav a:last-child{display:block;font-size:40px;line-height:1.05;font-weight:700}
.amcad-section{margin:20px;padding:20px;background:#d9e2ea;border:1px solid #8e9ba7}.amcad-section h2{font-size:28px;margin:0 0 15px}.amcad-profile-grid{display:grid;grid-template-columns:150px 1fr;gap:15px}.amcad-photo{height:130px;background:#fff;border:1px solid #666;display:flex;align-items:center;justify-content:center;font-weight:bold}.amcad-data{background:#fff;border:1px solid #777}.amcad-row{display:grid;grid-template-columns:42% 58%;border-bottom:1px solid #aaa;min-height:34px}.amcad-row:last-child{border-bottom:0}.amcad-row span,.amcad-row strong{padding:7px 10px}.amcad-row span{background:#e4e9ed;font-weight:600;border-right:1px solid #aaa}
.amcad-status{margin-top:18px;display:flex;align-items:center;gap:12px;font-size:22px}.amcad-status-dot{width:26px;height:26px;border-radius:50%;display:inline-block;background:#ffb000}.amcad-status-dot.completo{background:#36a852}.amcad-status-dot.revision{background:#ffd600}.amcad-status-dot.incompleto{background:#d93025}.amcad-status-dot.amcad-status-has-message{cursor:help;position:relative}.amcad-status-dot.amcad-status-has-message::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 12px);transform:translateX(-50%);width:300px;max-width:calc(100vw - 50px);padding:11px 13px;background:#222;color:#fff;border-radius:5px;font-size:14px;line-height:1.4;font-weight:400;font-style:normal;text-align:left;white-space:normal;box-shadow:0 3px 12px rgba(0,0,0,.25);opacity:0;visibility:hidden;pointer-events:none;z-index:9999;transition:opacity .15s ease,visibility .15s ease}.amcad-status-dot.amcad-status-has-message::before{content:"";position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);border:6px solid transparent;border-top-color:#222;opacity:0;visibility:hidden;z-index:10000;transition:opacity .15s ease,visibility .15s ease}.amcad-status-dot.amcad-status-has-message:hover::after,.amcad-status-dot.amcad-status-has-message:hover::before,.amcad-status-dot.amcad-status-has-message:focus::after,.amcad-status-dot.amcad-status-has-message:focus::before{opacity:1;visibility:visible}
.amcad-doc-list{background:#fff;border:1px solid #777}.amcad-doc-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 72px;align-items:center;gap:12px;padding:9px 12px;border-bottom:1px solid #aaa}.amcad-doc-row:last-child{border-bottom:0}.amcad-doc-row small{display:block;color:#666}.amcad-doc-row>span:first-child{min-width:0}.amcad-doc-row a{color:#174ea6;font-weight:bold;text-align:center}.amcad-doc-state{padding:6px 8px;font-size:12px;text-transform:capitalize;display:block;text-align:center;width:auto;min-width:86px;box-sizing:border-box;justify-self:end}.amcad-doc-action-placeholder{display:block;width:72px;min-height:1px}.amcad-doc-row>.amcad-doc-state + .amcad-view-link{justify-self:stretch}.amcad-doc-state.aprobado{background:#c7efd0}.amcad-doc-state.pendiente{background:#fff0a6}.amcad-doc-state.rechazado,.amcad-doc-state.faltante{background:#f4c4c4}.amcad-upload-form{margin:15px auto 0;display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;max-width:1100px}.amcad-upload-notice{margin:10px auto 0;max-width:1100px;text-align:center;color:#555;font-size:14px;line-height:1.5}.amcad-upload-form input[type=text],.amcad-upload-form input[type=file]{padding:9px;background:#fff;border:1px solid #aaa}.amcad-message{background:#fff;border:1px solid #777;min-height:100px;padding:15px;white-space:normal}

/* Perfil editable: conserva exactamente el aspecto de la tabla clásica. */
.amcad-profile-form{margin:0}.amcad-profile-success{margin:0 0 15px;padding:10px 14px;border:1px solid #9ad0a3;background:#edf9ef;font-weight:600}
.amcad-photo-box{min-height:190px;border:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:0;text-align:center;background:transparent}
.amcad-profile-photo,.amcad-photo-placeholder{width:150px;height:160px;object-fit:cover;border:1px solid #666;display:flex;align-items:center;justify-content:center;font-weight:bold;background:#fff}
.amcad-photo-button{display:inline-block;margin-top:10px;padding:8px 12px;border:1px solid #8e9ba7;cursor:pointer;font-weight:600;background:#fff;color:#111}.amcad-photo-button input{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.amcad-photo-box small{margin-top:5px;color:#666}
.amcad-profile-form .amcad-row{align-items:stretch}.amcad-profile-form .amcad-row label{padding:7px 10px;background:#e4e9ed;font-weight:600;border-right:1px solid #aaa;display:flex;align-items:center;color:#111}
.amcad-profile-form .amcad-row input,.amcad-profile-form .amcad-row textarea{width:100%;border:0;border-radius:0;background:#fff;padding:7px 10px;font:inherit;color:#111;outline:none;resize:vertical;min-width:0;box-shadow:none}.amcad-profile-form .amcad-row input:focus,.amcad-profile-form .amcad-row textarea:focus{background:#fff;box-shadow:inset 0 0 0 2px rgba(23,78,166,.25)}
.amcad-profile-actions{margin-top:15px;text-align:right}.amcad-profile-actions .amcad-btn{padding:11px 20px;font-weight:600}

.amcad-portal a,.amcad-portal button,.amcad-portal input,.amcad-portal select,.amcad-portal textarea{font-family:Arial,sans-serif}
@media(max-width:700px){.amcad-portal-head{height:auto;min-height:220px;padding:22px 18px 18px;overflow:visible}.amcad-portal-title h1{display:block;font-size:40px;line-height:1.08;letter-spacing:-1px}.amcad-title-brand{display:inline-block;margin-left:4px}.amcad-portal-welcome p{margin-top:8px;font-size:20px}.amcad-nav{position:static;margin-top:28px;display:flex;justify-content:flex-end;align-items:flex-end}.amcad-nav a{display:none}.amcad-nav a:last-child{display:block;font-size:28px}.amcad-profile-grid{grid-template-columns:1fr}.amcad-row{grid-template-columns:1fr}.amcad-row span{border-right:0;border-bottom:1px solid #ccc}.amcad-doc-row{grid-template-columns:minmax(0,1fr) 100px 62px;gap:8px;align-items:center}.amcad-section{margin:12px;padding:16px}.amcad-profile-form .amcad-row{grid-template-columns:1fr}.amcad-profile-form .amcad-row label{border-right:0;border-bottom:1px solid #aaa}.amcad-profile-actions{text-align:left}}

/* Alineación final de estados en Documentos personales: todos terminan en el mismo punto, justo antes de Ver. */
.amcad-doc-row{grid-template-columns:minmax(0,1fr) 120px 72px}
.amcad-doc-row>.amcad-doc-state{justify-self:end;width:auto;min-width:86px;text-align:center}
.amcad-doc-row>.amcad-doc-action-placeholder{width:72px}
@media(max-width:700px){.amcad-doc-row{grid-template-columns:minmax(0,1fr) 100px 62px}.amcad-doc-row>.amcad-doc-state{min-width:78px}.amcad-doc-row>.amcad-doc-action-placeholder{width:62px}}

/* Visualización de documentos: el cliente solo recibe el enlace Ver. */
.amcad-view-link{display:inline-block;padding:5px 12px;border-radius:3px;background:#174ea6;color:#fff!important;text-decoration:none!important;font-weight:bold}.amcad-view-link:hover{opacity:.9}

/* Mensajería AMCAD */
.amcad-chat{background:#f7f9fb;border:1px solid #9aa8b5;padding:12px}.amcad-chat-messages{height:260px;overflow-y:auto;background:#fff;border:1px solid #b8c1ca;padding:12px;box-sizing:border-box}.amcad-chat-bubble{max-width:82%;padding:9px 12px;margin:0 0 10px;border:1px solid #c5ccd3;line-height:1.45;box-sizing:border-box}.amcad-chat-bubble.from-admin{margin-right:auto;background:#eef4ff}.amcad-chat-bubble.from-client{margin-left:auto;background:#f2f2f2}.amcad-chat-meta{font-size:13px;margin-bottom:4px}.amcad-chat-meta small{color:#666;font-weight:400}.amcad-chat-text{font-size:15px;overflow-wrap:anywhere}.amcad-chat-empty{text-align:center;color:#666;padding:80px 15px 20px}.amcad-chat-form{margin-top:10px}.amcad-chat-input{width:100%;box-sizing:border-box;border:1px solid #aaa;background:#fff;padding:10px;resize:vertical;font:inherit}.amcad-chat-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}.amcad-chat-actions span{font-size:12px;color:#666}.amcad-chat-actions button{white-space:nowrap}
@media(max-width:700px){.amcad-chat-messages{height:240px}.amcad-chat-bubble{max-width:92%}.amcad-chat-actions{display:block}.amcad-chat-actions button{margin-top:8px}}

/* AMCAD 1.4.2 — Compatibilidad con Elementor.
   El shortcode conserva su diseño interno. Estas reglas solo evitan que el
   contenedor exterior fuerce una anchura propia y permiten que Elementor
   controle el fondo, encabezado, pie de página y demás elementos de la página. */
body.amcad-portal-page .elementor-widget-shortcode,
body.amcad-portal-page .elementor-widget-text-editor{
    width:100%;
}
body.amcad-portal-page .elementor-widget-shortcode .amcad-portal{
    width:100%;
    box-sizing:border-box;
}


/* AMCAD 1.4.4 — sección Pagos */
.amcad-payment-buttons{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0 0 18px}
.amcad-payment-button{display:inline-block;background:#174ea6;color:#fff!important;border:0;padding:11px 20px;text-decoration:none!important;font-weight:600;cursor:pointer}
.amcad-payment-button:hover{opacity:.9}
.amcad-payment-upload-form{margin:15px auto 0;display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center;max-width:1100px}
.amcad-payment-upload-form input[type=text],.amcad-payment-upload-form input[type=file]{padding:9px;background:#fff;border:1px solid #aaa}
.amcad-payment-notice{margin:10px auto 0;max-width:1100px;text-align:center;color:#555;font-size:14px;line-height:1.5}
@media(max-width:700px){.amcad-payment-buttons{display:block}.amcad-payment-button{display:block;margin-bottom:8px;text-align:center}.amcad-payment-upload-form{align-items:stretch;flex-direction:column}.amcad-payment-upload-form input,.amcad-payment-upload-form button{width:100%;box-sizing:border-box}}


/* AMCAD 1.6.1 — Cabecera del portal del cliente.
   Estas reglas se dejan al final del archivo para prevalecer sobre estilos del tema/Elementor. */
.amcad-portal .amcad-portal-head{
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:170px !important;
    min-height:170px !important;
    box-sizing:border-box !important;
    margin:0 !important;
    padding:22px 42px 0 !important;
    background:#c7d5e2 !important;
    border-bottom:1px solid #8998a6 !important;
    text-align:left !important;
    overflow:hidden !important;
}
.amcad-portal .amcad-portal-title{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
}
.amcad-portal .amcad-portal-title h1{
    display:flex !important;
    align-items:baseline !important;
    gap:10px !important;
    margin:0 !important;
    padding:0 !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:50px !important;
    line-height:1 !important;
    font-weight:400 !important;
    letter-spacing:-2px !important;
    white-space:nowrap !important;
}
.amcad-portal .amcad-title-main,
.amcad-portal .amcad-title-brand{
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:1em !important;
    font-weight:400 !important;
    letter-spacing:-2px !important;
}
.amcad-portal .amcad-portal-welcome{
    margin:0 !important;
    padding:0 !important;
    text-align:left !important;
}
.amcad-portal .amcad-portal-welcome p{
    margin:8px 0 0 !important;
    padding:0 !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:25px !important;
    line-height:1.1 !important;
    font-weight:400 !important;
    color:#111 !important;
}
.amcad-portal .amcad-nav{
    position:absolute !important;
    right:42px !important;
    bottom:10px !important;
    margin:0 !important;
    padding:0 !important;
    display:block !important;
    width:auto !important;
    height:auto !important;
    text-align:right !important;
}
.amcad-portal .amcad-nav a{
    display:none !important;
}
.amcad-portal .amcad-nav a:last-child{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-size:28px !important;
    line-height:1 !important;
    font-weight:700 !important;
    color:#111 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
}

@media (max-width:700px){
    .amcad-portal .amcad-portal-head{
        height:145px !important;
        min-height:145px !important;
        padding:16px 18px 0 !important;
        overflow:hidden !important;
    }
    .amcad-portal .amcad-portal-title h1{
        display:block !important;
        width:100% !important;
        font-size:clamp(22px,6vw,30px) !important;
        line-height:1.05 !important;
        letter-spacing:-1px !important;
        white-space:nowrap !important;
    }
    .amcad-portal .amcad-title-brand{
        display:inline !important;
        margin-left:3px !important;
    }
    .amcad-portal .amcad-portal-welcome p{
        margin-top:8px !important;
        font-size:clamp(16px,4vw,19px) !important;
        line-height:1.15 !important;
    }
    .amcad-portal .amcad-nav{
        position:absolute !important;
        right:18px !important;
        bottom:14px !important;
    }
    .amcad-portal .amcad-nav a:last-child{
        font-size:clamp(19px,5vw,24px) !important;
    }
}


/* AMCAD 1.6.3 — Seguridad de la cuenta / cambio de contraseña. */
.amcad-password-section .amcad-password-intro{margin:0 0 15px;color:#444}
.amcad-password-form{background:#fff;border:1px solid #aaa;padding:16px;box-sizing:border-box}
.amcad-password-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:15px}
.amcad-password-grid label{display:flex;flex-direction:column;gap:6px;font-weight:600;color:#111}
.amcad-password-grid input{width:100%;box-sizing:border-box;border:1px solid #aaa;background:#fff;padding:10px;font:inherit;font-weight:400;color:#111}
.amcad-password-grid input:focus{outline:none;box-shadow:inset 0 0 0 2px rgba(23,78,166,.25)}
.amcad-password-form>.amcad-btn{font-weight:600}
.amcad-password-help{margin:10px 0 0;color:#666;font-size:13px;line-height:1.5}
.amcad-profile-error{margin:0 0 15px;padding:10px 14px;border:1px solid #e1a4a4;background:#fff0f0;color:#8a1f1f;font-weight:600}
.amcad-help a{color:#174ea6;font-weight:600}
@media(max-width:700px){.amcad-password-grid{grid-template-columns:1fr}.amcad-password-form{padding:14px}.amcad-password-form>.amcad-btn{width:100%;box-sizing:border-box}}

/* AMCAD 1.7.0 — Nuevo diseño del portal del cliente basado en la referencia proporcionada. */
.amcad-portal{
    --amcad-blue:#0b73c9;
    --amcad-blue-dark:#12365c;
    --amcad-text:#20344d;
    --amcad-muted:#74869b;
    --amcad-border:#e0e8f0;
    --amcad-bg:#f7f9fc;
    --amcad-sidebar:#f7f9fc;
    width:100%;
    min-height:720px;
    border:0 !important;
    border-radius:0 !important;
    background:#fff !important;
    color:var(--amcad-text) !important;
    font-family:Arial,Helvetica,sans-serif !important;
    overflow:hidden;
    box-sizing:border-box;
}
.amcad-portal .amcad-portal-head{
    height:auto !important;
    min-height:134px !important;
    padding:22px 34px 25px !important;
    background:#eaf4ff !important;
    border:0 !important;
    border-bottom:1px solid #e2eaf2 !important;
    overflow:hidden !important;
}
.amcad-portal .amcad-portal-title h1{
    display:block !important;
    margin:0 !important;
    font-size:42px !important;
    line-height:1.12 !important;
    font-weight:600 !important;
    letter-spacing:-1px !important;
    color:var(--amcad-blue-dark) !important;
    white-space:normal !important;
}
.amcad-portal .amcad-title-main,.amcad-portal .amcad-title-brand{
    font-size:inherit !important;
    font-weight:inherit !important;
    letter-spacing:inherit !important;
    color:inherit !important;
}
.amcad-portal .amcad-title-brand{margin-left:4px !important}
.amcad-portal .amcad-portal-welcome p{
    margin:10px 0 0 !important;
    font-size:19px !important;
    line-height:1.3 !important;
    color:#5f7892 !important;
}
.amcad-portal .amcad-nav{
    right:34px !important;
    top:64px !important;
    bottom:auto !important;
}
.amcad-portal .amcad-nav a:last-child{
    font-size:16px !important;
    line-height:1.2 !important;
    color:#31506f !important;
    font-weight:600 !important;
}
.amcad-portal-body{display:grid;grid-template-columns:296px minmax(0,1fr);min-height:586px;background:#fff}
.amcad-sidebar{padding:24px 16px;background:var(--amcad-sidebar);border-right:1px solid #e4ebf2;box-sizing:border-box}
.amcad-side-link{display:flex;align-items:center;gap:15px;min-height:48px;margin:0 0 5px;padding:0 16px;border-radius:7px;color:#52677e !important;text-decoration:none !important;font-size:16px;font-weight:500;box-sizing:border-box;transition:.15s ease;background:transparent}
.amcad-side-link:hover{background:#edf5fc;color:#1c5e95 !important}
.amcad-side-link.is-active{background:#e8f3ff;color:#1674c5 !important;font-weight:600}
.amcad-side-icon{width:26px;text-align:center;font-size:26px;line-height:1;font-weight:400;color:#5c7895;flex:0 0 26px}
.amcad-side-link.is-active .amcad-side-icon{color:#1383db}
.amcad-portal-main{min-width:0;padding:28px 24px 40px;background:#fff;box-sizing:border-box}
.amcad-page-section{display:none !important}
.amcad-page-section.is-current{display:block !important}
.amcad-home-section{padding:0 !important;margin:0 !important;background:transparent !important;border:0 !important}
.amcad-home-welcome{padding:18px 16px 20px;border:1px solid var(--amcad-border);border-radius:7px;background:#fff;box-shadow:0 1px 4px rgba(27,57,88,.03)}
.amcad-home-welcome h2{margin:0 0 7px !important;font-size:30px !important;line-height:1.2 !important;color:#122d4b !important;font-weight:600 !important}
.amcad-home-welcome p{margin:0 !important;color:#71869d !important;font-size:17px !important;line-height:1.45 !important}
.amcad-home-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.amcad-home-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:188px;padding:20px 35px 18px;border:1px solid var(--amcad-border);border-radius:7px;background:#fff;color:#142d4b !important;text-align:center;text-decoration:none !important;box-sizing:border-box;box-shadow:0 1px 4px rgba(27,57,88,.025);transition:transform .15s ease,box-shadow .15s ease}
.amcad-home-card:hover{transform:translateY(-2px);box-shadow:0 5px 16px rgba(27,57,88,.08)}
.amcad-card-icon{width:72px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-bottom:14px;font-size:35px;line-height:1;color:#1684d9;background:#e4f2ff}
.amcad-home-card.card-personal .amcad-card-icon{color:#16a75a;background:#e4faed}
.amcad-home-card.card-message .amcad-card-icon{color:#862bd2;background:#f4e2ff}
.amcad-home-card strong{font-size:17px;line-height:1.25;color:#142b49}
.amcad-card-desc{margin-top:7px;color:#8192a6;font-size:14px;line-height:1.3}
.amcad-card-arrow{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:31px;font-weight:300;color:#7890a8}
.amcad-portal-main>.amcad-section{margin:0 !important;padding:22px !important;background:#fff !important;border:1px solid var(--amcad-border) !important;border-radius:7px !important;box-shadow:0 1px 4px rgba(27,57,88,.03)}
.amcad-portal-main>.amcad-section h2{font-size:26px !important;color:#122d4b !important;margin:0 0 18px !important;font-weight:600 !important}
.amcad-portal-main .amcad-data,.amcad-portal-main .amcad-doc-list,.amcad-portal-main .amcad-chat,.amcad-portal-main .amcad-password-form{border-color:#dfe7ef !important}
.amcad-portal-main .amcad-doc-row{padding:13px 14px;border-bottom-color:#e5ebf1}
.amcad-portal-main .amcad-view-link,.amcad-portal-main .amcad-btn,.amcad-portal-main .amcad-payment-button{background:var(--amcad-blue) !important;border-radius:5px !important}
.amcad-portal-main .amcad-upload-form,.amcad-portal-main .amcad-payment-upload-form{max-width:none}
.amcad-portal-main .amcad-chat{background:#f7faff}
@media(max-width:900px){.amcad-portal-body{grid-template-columns:220px minmax(0,1fr)}.amcad-home-cards{grid-template-columns:1fr}.amcad-portal .amcad-portal-title h1{font-size:34px !important}.amcad-portal .amcad-nav{position:static !important;margin-top:10px !important;text-align:left !important}.amcad-portal .amcad-nav a:last-child{font-size:15px !important}}
@media(max-width:700px){.amcad-portal .amcad-portal-head{min-height:130px !important;padding:18px 18px 18px !important}.amcad-portal .amcad-portal-title h1{font-size:29px !important}.amcad-portal .amcad-portal-welcome p{font-size:16px !important}.amcad-portal-body{display:block}.amcad-sidebar{display:flex;overflow-x:auto;padding:10px;border-right:0;border-bottom:1px solid #e4ebf2;gap:5px}.amcad-side-link{flex:0 0 auto;margin:0;padding:0 13px;min-height:42px;font-size:14px}.amcad-side-icon{display:none}.amcad-portal-main{padding:18px 12px 30px}.amcad-portal-main>.amcad-section{padding:17px !important}.amcad-home-cards{gap:12px}.amcad-home-card{min-height:165px}.amcad-card-arrow{right:10px}.amcad-portal .amcad-nav{margin-top:8px !important}.amcad-portal-main .amcad-profile-grid{grid-template-columns:1fr}}

/* AMCAD 1.7.0 — Nuevo diseño del portal del cliente basado en la referencia proporcionada. */
.amcad-portal{--amcad-blue:#0b73c9;--amcad-blue-dark:#12365c;--amcad-text:#20344d;--amcad-border:#e0e8f0;width:100%;min-height:720px;border:0!important;border-radius:0!important;background:#fff!important;color:var(--amcad-text)!important;font-family:Arial,Helvetica,sans-serif!important;overflow:hidden;box-sizing:border-box}
.amcad-portal .amcad-portal-head{height:auto!important;min-height:134px!important;padding:22px 34px 25px!important;background:#eaf4ff!important;border:0!important;border-bottom:1px solid #e2eaf2!important;overflow:hidden!important}
.amcad-portal .amcad-portal-title h1{display:block!important;margin:0!important;font-size:42px!important;line-height:1.12!important;font-weight:600!important;letter-spacing:-1px!important;color:var(--amcad-blue-dark)!important;white-space:normal!important}
.amcad-portal .amcad-title-main,.amcad-portal .amcad-title-brand{font-size:inherit!important;font-weight:inherit!important;letter-spacing:inherit!important;color:inherit!important}.amcad-portal .amcad-title-brand{margin-left:4px!important}
.amcad-portal .amcad-portal-welcome p{margin:10px 0 0!important;font-size:19px!important;line-height:1.3!important;color:#5f7892!important}
.amcad-portal .amcad-nav{right:34px!important;top:64px!important;bottom:auto!important}.amcad-portal .amcad-nav a:last-child{font-size:16px!important;line-height:1.2!important;color:#31506f!important;font-weight:600!important}
.amcad-portal-body{display:grid;grid-template-columns:296px minmax(0,1fr);min-height:586px;background:#fff}.amcad-sidebar{padding:24px 16px;background:#f7f9fc;border-right:1px solid #e4ebf2;box-sizing:border-box}
.amcad-side-link{display:flex;align-items:center;gap:15px;min-height:48px;margin:0 0 5px;padding:0 16px;border-radius:7px;color:#52677e!important;text-decoration:none!important;font-size:16px;font-weight:500;box-sizing:border-box;transition:.15s ease;background:transparent}.amcad-side-link:hover{background:#edf5fc;color:#1c5e95!important}.amcad-side-link.is-active{background:#e8f3ff;color:#1674c5!important;font-weight:600}.amcad-side-icon{width:26px;text-align:center;font-size:26px;line-height:1;font-weight:400;color:#5c7895;flex:0 0 26px}.amcad-side-link.is-active .amcad-side-icon{color:#1383db}
.amcad-portal-main{min-width:0;padding:28px 24px 40px;background:#fff;box-sizing:border-box}.amcad-page-section{display:none!important}.amcad-page-section.is-current{display:block!important}
.amcad-home-section{padding:0!important;margin:0!important;background:transparent!important;border:0!important}.amcad-home-welcome{padding:18px 16px 20px;border:1px solid var(--amcad-border);border-radius:7px;background:#fff;box-shadow:0 1px 4px rgba(27,57,88,.03)}.amcad-home-welcome h2{margin:0 0 7px!important;font-size:30px!important;line-height:1.2!important;color:#122d4b!important;font-weight:600!important}.amcad-home-welcome p{margin:0!important;color:#71869d!important;font-size:17px!important;line-height:1.45!important}
.amcad-home-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.amcad-home-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:188px;padding:20px 35px 18px;border:1px solid var(--amcad-border);border-radius:7px;background:#fff;color:#142d4b!important;text-align:center;text-decoration:none!important;box-sizing:border-box;box-shadow:0 1px 4px rgba(27,57,88,.025);transition:transform .15s ease,box-shadow .15s ease}.amcad-home-card:hover{transform:translateY(-2px);box-shadow:0 5px 16px rgba(27,57,88,.08)}
.amcad-card-icon{width:72px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-bottom:14px;font-size:35px;line-height:1;color:#1684d9;background:#e4f2ff}.amcad-home-card.card-personal .amcad-card-icon{color:#16a75a;background:#e4faed}.amcad-home-card.card-message .amcad-card-icon{color:#862bd2;background:#f4e2ff}.amcad-home-card strong{font-size:17px;line-height:1.25;color:#142b49}.amcad-card-desc{margin-top:7px;color:#8192a6;font-size:14px;line-height:1.3}.amcad-card-arrow{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:31px;font-weight:300;color:#7890a8}
.amcad-portal-main>.amcad-section{margin:0!important;padding:22px!important;background:#fff!important;border:1px solid var(--amcad-border)!important;border-radius:7px!important;box-shadow:0 1px 4px rgba(27,57,88,.03)}.amcad-portal-main>.amcad-section h2{font-size:26px!important;color:#122d4b!important;margin:0 0 18px!important;font-weight:600!important}.amcad-portal-main .amcad-data,.amcad-portal-main .amcad-doc-list,.amcad-portal-main .amcad-chat,.amcad-portal-main .amcad-password-form{border-color:#dfe7ef!important}.amcad-portal-main .amcad-doc-row{padding:13px 14px;border-bottom-color:#e5ebf1}.amcad-portal-main .amcad-view-link,.amcad-portal-main .amcad-btn,.amcad-portal-main .amcad-payment-button{background:var(--amcad-blue)!important;border-radius:5px!important}.amcad-portal-main .amcad-upload-form,.amcad-portal-main .amcad-payment-upload-form{max-width:none}.amcad-portal-main .amcad-chat{background:#f7faff}
@media(max-width:900px){.amcad-portal-body{grid-template-columns:220px minmax(0,1fr)}.amcad-home-cards{grid-template-columns:1fr}.amcad-portal .amcad-portal-title h1{font-size:34px!important}.amcad-portal .amcad-nav{position:static!important;margin-top:10px!important;text-align:left!important}.amcad-portal .amcad-nav a:last-child{font-size:15px!important}}
@media(max-width:700px){.amcad-portal .amcad-portal-head{min-height:130px!important;padding:18px!important}.amcad-portal .amcad-portal-title h1{font-size:29px!important}.amcad-portal .amcad-portal-welcome p{font-size:16px!important}.amcad-portal-body{display:block}.amcad-sidebar{display:flex;overflow-x:auto;padding:10px;border-right:0;border-bottom:1px solid #e4ebf2;gap:5px}.amcad-side-link{flex:0 0 auto;margin:0;padding:0 13px;min-height:42px;font-size:14px}.amcad-side-icon{display:none}.amcad-portal-main{padding:18px 12px 30px}.amcad-portal-main>.amcad-section{padding:17px!important}.amcad-home-cards{gap:12px}.amcad-home-card{min-height:165px}.amcad-card-arrow{right:10px}.amcad-portal-main .amcad-profile-grid{grid-template-columns:1fr}}

.amcad-side-icon svg{width:24px;height:24px;display:block;margin:auto}.amcad-card-icon svg{width:36px;height:36px;display:block}


/* AMCAD 1.7.2 — Login sin cambio de página cuando las credenciales son incorrectas. */
.amcad-login-message{display:none;margin:0 0 16px;padding:11px 14px;border:1px solid #e4a2a2;background:#fff1f1;color:#8a1f1f;text-align:left;font-size:14px;line-height:1.4;border-radius:3px}
.amcad-login-message.is-visible{display:block}
.amcad-login-message.is-success{border-color:#9bd0a7;background:#effaf1;color:#236b2e}
#amcad-loginform .login-submit{margin:16px 0 0}
#amcad-login-submit[disabled]{opacity:.65;cursor:wait}

/* AMCAD 1.7.3 — Ojo para mostrar/ocultar contraseña y eliminación del enlace de recuperación del login. */
.amcad-password-field{position:relative;display:block;width:100%}
.amcad-password-field input{padding-right:52px!important}
.amcad-password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;background:transparent;color:#174ea6;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;border-radius:4px}
.amcad-password-toggle:hover{background:#eef4ff}
.amcad-password-toggle:focus{outline:2px solid rgba(23,78,166,.35);outline-offset:1px}
.amcad-eye-icon{font-size:22px;line-height:1;font-family:Arial,sans-serif}
.amcad-password-toggle.is-visible{color:#174ea6}

/* v1.7.5: título del portal en dos líneas */
.amcad-portal .amcad-portal-title h1{display:block!important;white-space:normal!important;}
.amcad-portal .amcad-title-main,.amcad-portal .amcad-title-brand{display:block!important;margin-left:0!important;}
.amcad-login-card .amcad-login-brand{display:block;margin-top:2px;}

/* AMCAD 2.6.0 — Diseño del portal configurable desde el administrador. */
.amcad-portal{
    font-family:var(--amcad-font) !important;
    color:var(--amcad-text) !important;
}
.amcad-portal .amcad-portal-head{
    min-height:var(--amcad-header-height) !important;
    height:var(--amcad-header-height) !important;
    background:var(--amcad-header) !important;
    padding:22px 34px 25px !important;
}
.amcad-portal .amcad-portal-title h1{
    font-family:var(--amcad-font) !important;
    font-size:var(--amcad-title-size) !important;
    color:var(--amcad-blue-dark) !important;
    white-space:nowrap !important;
    display:block !important;
}
.amcad-portal .amcad-title-main,
.amcad-portal .amcad-title-brand{
    display:inline !important;
    font-family:var(--amcad-font) !important;
    font-size:inherit !important;
    font-weight:inherit !important;
    letter-spacing:inherit !important;
    color:inherit !important;
    margin-left:0 !important;
}
.amcad-portal .amcad-title-brand{margin-left:4px !important}
.amcad-portal .amcad-portal-welcome p{
    font-family:var(--amcad-font) !important;
    color:var(--amcad-welcome) !important;
}
.amcad-portal .amcad-nav{
    right:var(--amcad-logout-right) !important;
    top:auto !important;
    bottom:var(--amcad-logout-bottom) !important;
}
.amcad-portal .amcad-nav a:last-child{
    color:var(--amcad-logout) !important;
    font-family:var(--amcad-font) !important;
}
.amcad-portal-body{
    grid-template-columns:var(--amcad-sidebar-width) minmax(0,1fr) !important;
    background:var(--amcad-main-bg) !important;
}
.amcad-sidebar{
    background:var(--amcad-sidebar) !important;
}
.amcad-side-link{
    color:var(--amcad-sidebar-text) !important;
    border-radius:var(--amcad-radius) !important;
}
.amcad-side-link:hover{
    color:var(--amcad-sidebar-active-text) !important;
}
.amcad-side-link.is-active{
    background:var(--amcad-sidebar-active-bg) !important;
    color:var(--amcad-sidebar-active-text) !important;
}
.amcad-side-link.is-active .amcad-side-icon{
    color:var(--amcad-sidebar-active-text) !important;
}
.amcad-portal-main{
    background:var(--amcad-main-bg) !important;
}
.amcad-home-welcome,
.amcad-home-card,
.amcad-portal-main>.amcad-section{
    background:var(--amcad-card-bg) !important;
    border-color:var(--amcad-border) !important;
    border-radius:var(--amcad-radius) !important;
}
.amcad-home-card strong,
.amcad-portal-main>.amcad-section h2,
.amcad-home-welcome h2{
    color:var(--amcad-text) !important;
}
.amcad-portal-main .amcad-view-link,
.amcad-portal-main .amcad-btn,
.amcad-portal-main .amcad-payment-button{
    background:var(--amcad-blue) !important;
    border-radius:var(--amcad-radius) !important;
}
@media(max-width:900px){
    .amcad-portal .amcad-portal-head{
        height:auto !important;
        min-height:var(--amcad-header-height) !important;
    }
    .amcad-portal-body{
        grid-template-columns:220px minmax(0,1fr) !important;
    }
}
@media(max-width:700px){
    .amcad-portal .amcad-portal-head{
        height:auto !important;
        min-height:130px !important;
        padding:18px !important;
    }
    .amcad-portal .amcad-portal-title h1{
        font-size:min(var(--amcad-title-size),29px) !important;
        white-space:nowrap !important;
    }
    .amcad-portal .amcad-nav{
        position:absolute !important;
        right:18px !important;
        bottom:14px !important;
        top:auto !important;
    }
    .amcad-portal-body{
        grid-template-columns:1fr !important;
    }
}

/* Diseño personalizable: título del encabezado en una sola línea cuando haya espacio. */
.amcad-portal-title h1{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.amcad-card-icon img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}
@media (max-width:900px){
    .amcad-portal-title h1{font-size:clamp(28px,7vw,var(--amcad-title-size))}
}

/* AMCAD 2.9 — Encabezado de acceso del cliente configurable. */
.amcad-login-wrap{
    font-family:var(--amcad-login-font,Arial,Helvetica,sans-serif) !important;
}
.amcad-login-wrap .amcad-login-card{
    background:var(--amcad-login-card-bg,#f5f7f9) !important;
    border-color:var(--amcad-login-card-border,#aab3bd) !important;
    padding:var(--amcad-login-padding,35px) !important;
}
.amcad-login-wrap .amcad-logo{
    width:auto !important;
    max-width:var(--amcad-login-logo-size,120px) !important;
    max-height:var(--amcad-login-logo-size,120px) !important;
    margin-bottom:var(--amcad-login-spacing,24px) !important;
}
.amcad-login-wrap .amcad-login-card h1{
    margin-top:0 !important;
    line-height:1.08 !important;
}
.amcad-login-wrap .amcad-login-title-main{
    color:var(--amcad-login-title,#111) !important;
    font-size:var(--amcad-login-title-size,48px) !important;
    font-family:var(--amcad-login-font,Georgia,"Times New Roman",serif) !important;
}
.amcad-login-wrap .amcad-login-brand{
    color:var(--amcad-login-brand,#111) !important;
    font-size:var(--amcad-login-brand-size,48px) !important;
    font-family:var(--amcad-login-font,Georgia,"Times New Roman",serif) !important;
}
.amcad-login-wrap .amcad-welcome{
    color:var(--amcad-login-welcome,#20344d) !important;
    font-size:var(--amcad-login-welcome-size,22px) !important;
    margin-top:var(--amcad-login-spacing,24px) !important;
}
.amcad-login-wrap .amcad-btn,
.amcad-login-wrap #amcad-login-submit{
    background:var(--amcad-login-button,#174ea6) !important;
}


/* AMCAD 2.9.3 — Estados de Documentos personales perfectamente alineados.
   Mantiene una columna fija para el estatus y centra todos los estados
   (Aprobado, Pendiente, Rechazado y Faltante) en la misma posición. */
.amcad-portal-main .amcad-doc-list .amcad-doc-row{
    grid-template-columns:minmax(0,1fr) 140px 72px !important;
}
.amcad-portal-main .amcad-doc-list .amcad-doc-state{
    width:110px !important;
    min-width:110px !important;
    max-width:110px !important;
    margin:0 auto !important;
    display:block !important;
    box-sizing:border-box !important;
    text-align:center !important;
    white-space:nowrap !important;
}
.amcad-portal-main .amcad-doc-list .amcad-doc-action-placeholder{
    width:72px !important;
}
@media(max-width:700px){
    .amcad-portal-main .amcad-doc-list .amcad-doc-row{
        grid-template-columns:minmax(0,1fr) 112px 60px !important;
        gap:8px !important;
        padding:11px 8px !important;
    }
    .amcad-portal-main .amcad-doc-list .amcad-doc-state{
        width:100px !important;
        min-width:100px !important;
        max-width:100px !important;
        font-size:11px !important;
        padding:6px 5px !important;
    }
    .amcad-portal-main .amcad-doc-list .amcad-doc-action-placeholder{
        width:60px !important;
    }
}


/* Aviso de límite de tamaño de archivos del portal */
.amcad-upload-size-error {
    margin: 10px 0 0;
    padding: 10px 12px;
    border: 1px solid #d63638;
    border-radius: 6px;
    color: #b32d2e;
    background: #fff1f1;
    font-weight: 600;
}
