@font-face{font-family:'Noto Sans';src:url('./NotoSans-Regular.ttf') format('truetype');font-style:normal;font-weight:400 500;font-display:swap}
@font-face{font-family:'Noto Sans';src:url('./NotoSans-Bold.ttf') format('truetype');font-style:normal;font-weight:600 900;font-display:swap}
:root{--tecnm-blue:#1b396a;--tecnm-gray:#807e82;--government-maroon:#611232;--government-gold:#a57f2c;font-family:'Noto Sans',Arial,sans-serif!important;color:#161a1d}
body,button,input,select,textarea{font-family:'Noto Sans',Arial,sans-serif}
.government-strip{background:#611232;color:#fff;padding:12px max(24px,4vw);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;border-bottom:3px solid #a57f2c}
.government-strip a{color:white;text-decoration:none;font-weight:700}
.institutional-signature{background:white;display:flex;align-items:center;gap:28px;padding:24px max(24px,4vw);border-bottom:1px solid #e3e5e8;min-height:130px}
.institutional-signature .education-logo{width:250px;height:auto;display:block}
.institutional-signature .tecnm-logo{width:180px;height:auto;display:block}
.signature-separator{height:64px;width:1px;background:#a57f2c;flex-shrink:0}
.institutional-title{margin-left:auto;max-width:280px;color:#1b396a;font-size:17px;line-height:1.6;font-weight:700;text-align:right}
.institutional-title small{display:block;font-size:12px;font-weight:400;color:#57565a}
footer{background:#611232!important;color:white!important;border-top:4px solid #a57f2c!important;font-family:'Noto Sans',Arial,sans-serif}
footer a{color:white}
@media(max-width:760px){.government-strip{padding:10px 18px;font-size:11px}.government-strip span{max-width:160px;text-align:right}.institutional-signature{padding:20px 18px;gap:16px;flex-wrap:wrap}.institutional-signature .education-logo{width:min(44vw,220px)}.institutional-signature .tecnm-logo{width:min(32vw,165px)}.signature-separator{height:45px}.institutional-title{margin:0;max-width:none;flex-basis:100%;text-align:left;font-size:15px}.institutional-title small{font-size:12px}}
/* Firma institucional al pie: sin cintillo superior, por solicitud del usuario. */
.institutional-signature{min-height:0;padding:18px 26px;gap:22px;border-top:1px solid #e3e5e8;border-bottom:0}.institutional-signature .education-logo{width:210px}.institutional-signature .tecnm-logo{width:140px}.signature-separator{height:46px}.institutional-title{font-size:14px}.institutional-title small{font-size:11px}body>header{padding:15px 4%}body>main{margin:24px auto}body>main .welcome{margin-bottom:22px}body>main h1{font-size:34px}body>main .card{padding:22px}body>footer{padding:18px}
@media(max-width:760px){.institutional-signature{padding:16px;gap:16px}.institutional-signature .education-logo{width:min(43vw,200px)}.institutional-signature .tecnm-logo{width:130px}.signature-separator{height:40px}.institutional-title{display:none}body>header{gap:10px;padding:14px 16px}body>header nav{gap:16px;font-size:14px}body>main{margin:18px auto}body>main h1{font-size:29px}}
.survey-introduction p{line-height:1.7;margin:12px 0}.survey-introduction h2{color:#1b396a}.director-signature{display:flex;align-items:center;flex-direction:column;gap:12px;margin:24px auto 8px;font-size:14px}.director-signature span{max-width:100%;overflow:hidden}.comments-section label{display:block;font-size:16px;font-weight:700;margin-bottom:10px}.comments-section p{font-size:14px;line-height:1.6}.comments-section textarea{width:100%;min-height:140px;resize:vertical;line-height:1.6;padding:12px;border:1px solid #a7b7c7;border-radius:8px;background:#fff;color:#161a1d;font-size:16px}.comments-section small{display:block;color:#57565a;margin-top:8px;font-weight:400}
/* Fotografía proporcionada por el usuario, sin recorte ni deformación. */
.director-message{display:grid;grid-template-columns:clamp(130px,20%,200px) minmax(0,1fr);align-items:center;gap:28px}.director-photo img{display:block;width:100%;height:auto;object-fit:contain}.director-message-text{min-width:0}.director-message-text .director-signature{margin-top:18px;gap:8px}.director-message-text h2{margin-top:0}@media(max-width:600px){.director-message{grid-template-columns:1fr;gap:16px}.director-photo{width:130px;justify-self:center}.director-message-text p{font-size:14px}}

.director-message.no-director-photo{grid-template-columns:minmax(0,1fr)}

.question { scroll-margin-block: 110px; }
.question.question-unanswered { border: 2px solid #9b2247; background: #fff2f5; }
.question-error { color: #861d3c; font-weight: 700; margin: 12px 0 0; font-size: .9rem; }
.question-error[hidden] { display: none; }

.director-thumbnail { width: 64px; height: 68px; object-fit: contain; border-radius: 8px; background: #fff; flex-shrink: 0; }
.institution-summary { display: inline-flex; align-items: center; gap: 14px; vertical-align: middle; }
.director-photo-fallback { font-size: .8rem; color: #57565a; }

.career-branch { padding: 12px 20px; margin-left: 18px; border-left: 2px solid #a57f2c; }
.career-branch .toolbar { align-items: center; justify-content: space-between; margin-bottom: 8px; }
.career-branch h3 { margin: 8px 0; }
.career-tree { list-style: none; padding: 0; margin: 0; }
.career-tree li { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid #e0e6ed; }
.career-tree li::before { content: '—'; color: #a57f2c; }
.career-tree i { color: #1b396a; }

.dashboard-bar { margin: 16px 0; }
.dashboard-bar > span { display: block; margin-bottom: 7px; }
