:root{
 --primary:#1267d8;--primary-2:#3c8cff;--primary-3:#8fc5ff;--navy:#0d2f5f;--ink:#17233a;--muted:#6d7b90;
 --bg:#f4f8fd;--card:#fff;--line:#e6edf7;--soft:#edf5ff;--sidebar:268px;--shadow:0 12px 36px rgba(17,67,126,.08)
}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg)}a{color:var(--primary)}
.auth-bg{min-height:100vh;background:radial-gradient(circle at 8% 5%,#d9ecff 0,transparent 31%),radial-gradient(circle at 95% 90%,#eaf4ff 0,transparent 35%),#f7fbff}
.auth-card{width:min(1080px,100%);border-radius:30px;box-shadow:0 30px 80px rgba(18,70,130,.17);border:1px solid rgba(255,255,255,.8)}
.brand-panel{min-height:620px;color:#fff;background:linear-gradient(145deg,#082f66 0%,#0d63cf 46%,#55a7ff 100%);position:relative;overflow:hidden}
.brand-panel:before,.brand-panel:after{content:"";position:absolute;border-radius:999px;background:rgba(255,255,255,.09)}.brand-panel:before{width:330px;height:330px;right:-130px;top:-90px}.brand-panel:after{width:250px;height:250px;left:-110px;bottom:-95px}
.brand-panel>*{position:relative;z-index:1}.brand-pill{display:inline-flex;padding:.5rem .85rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.12)}
.form-control,.form-select{border-radius:14px;border-color:#d9e4f2;min-height:50px}.form-control:focus,.form-select:focus{border-color:#8fc0ff;box-shadow:0 0 0 .25rem rgba(13,110,253,.10)}.btn{border-radius:13px}.btn-primary{background:linear-gradient(135deg,#0c5fc9,#1f7bf2);border:0}

.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(180deg,#0a2853 0%,#0d3d78 58%,#0f579f 100%);color:#fff;z-index:1035;display:flex;flex-direction:column;box-shadow:10px 0 35px rgba(5,38,77,.12)}
.sidebar-brand{height:86px;padding:18px 18px 14px;display:flex;align-items:center;justify-content:space-between}.brand-link{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.brand-mark{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-size:1.05rem;font-weight:800;background:linear-gradient(145deg,#fff,#d8ecff);color:#0a4d9b;box-shadow:0 8px 24px rgba(0,0,0,.15)}.brand-copy{display:flex;flex-direction:column;line-height:1.05}.brand-copy strong{font-size:1.16rem}.brand-copy small{font-size:.69rem;color:#c9def7;margin-top:6px;max-width:155px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-close{border:0;background:transparent;color:#fff;font-size:2rem}
.sidebar-scroll{padding:4px 13px 20px;overflow:auto;flex:1}.sidebar-section-label{text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;font-weight:800;color:#8fb7e2;margin:20px 12px 8px}.sidebar-nav{display:grid;gap:4px}.sidebar-link{display:flex;align-items:center;gap:12px;min-height:46px;padding:9px 11px;border-radius:13px;color:#dceaff;text-decoration:none;font-size:.91rem;font-weight:600;transition:.18s ease}.sidebar-link:hover{color:#fff;background:rgba(255,255,255,.08)}.sidebar-link.active{color:#0d4d98;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.13)}.nav-icon{width:26px;text-align:center;font-size:1.05rem}.menu-badge{margin-left:auto;font-size:.61rem;padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.13)}.sidebar-link.active .menu-badge{background:#e5f0ff;color:#0f5fc2}
.sidebar-user{margin:12px;padding:12px;border-radius:17px;background:rgba(255,255,255,.10);display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.10)}.avatar-sm,.avatar-xs{display:grid;place-items:center;border-radius:50%;font-weight:800}.avatar-sm{width:40px;height:40px;background:#fff;color:#0d4d98}.avatar-xs{width:36px;height:36px;background:#e7f1ff;color:#0d5fc5}.sidebar-user-copy{min-width:0;display:flex;flex-direction:column;flex:1}.sidebar-user-copy strong{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-copy small{font-size:.64rem;color:#bcd4ee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-btn{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;text-decoration:none;background:rgba(255,255,255,.08)}
.main-wrap{margin-left:var(--sidebar);min-height:100vh}.topbar{min-height:86px;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:16px 30px;position:sticky;top:0;z-index:1020}.eyebrow{font-size:.72rem;color:#70829a;font-weight:700;text-transform:uppercase;letter-spacing:.075em}.page-title{font-size:1.4rem;margin:2px 0 0;font-weight:800}.topbar-actions{display:flex;align-items:center;gap:13px}.top-action{width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:13px;color:#49627f;position:relative}.notification-dot{position:absolute;right:10px;top:9px;width:7px;height:7px;background:#f5a524;border:2px solid #fff;border-radius:50%}.top-user{align-items:center;gap:9px;padding-left:5px}.top-user>div:last-child{display:flex;flex-direction:column}.top-user strong{font-size:.8rem;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-user small{font-size:.69rem;color:var(--muted)}.mobile-menu-btn{border:0;background:#eaf3ff;color:#105fc4;border-radius:12px;width:42px;height:42px;font-size:1.35rem;margin-right:12px}
.page-content{padding:26px 30px 42px;max-width:1680px;margin:0 auto}.welcome-hero{background:linear-gradient(120deg,#0a3c82 0%,#0e68d6 57%,#65b0ff 100%);border-radius:28px;padding:30px;color:#fff;position:relative;overflow:hidden;box-shadow:0 18px 45px rgba(14,89,183,.16)}.welcome-hero:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-110px;top:-175px;background:rgba(255,255,255,.10)}.welcome-hero h2{font-size:clamp(1.7rem,2.5vw,2.5rem);font-weight:800;max-width:750px}.welcome-hero p{max-width:720px;color:#dcecff;margin-bottom:0}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.hero-btn{padding:10px 15px;border-radius:12px;text-decoration:none;font-weight:700;font-size:.86rem;background:#fff;color:#0b5ab7}.hero-btn.secondary{background:rgba(255,255,255,.13);color:#fff;border:1px solid rgba(255,255,255,.23)}
.metric-card,.panel-card,.quick-card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 7px 25px rgba(24,66,116,.045)}.metric-card{padding:20px;position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#1874e8,#76b8ff)}.metric-head{display:flex;justify-content:space-between;align-items:center}.metric-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#eaf3ff;color:#1267d8;font-size:1.15rem}.metric-label{font-size:.8rem;color:var(--muted);font-weight:700}.metric-value{font-size:2rem;font-weight:850;margin-top:7px}.metric-foot{font-size:.72rem;color:#8896a8;margin-top:2px}.panel-card{padding:22px}.panel-title{font-size:1rem;font-weight:800;margin:0}.panel-subtitle{color:var(--muted);font-size:.78rem;margin:4px 0 0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.soft-badge{padding:6px 9px;border-radius:999px;background:#eaf3ff;color:#0b5fc8;font-size:.7rem;font-weight:800}.activity-list{display:grid;gap:2px}.activity-item{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid #eef2f7}.activity-item:last-child{border-bottom:0}.activity-dot{width:36px;height:36px;border-radius:12px;background:#edf5ff;color:#1267d8;display:grid;place-items:center;flex:0 0 auto}.activity-item strong{display:block;font-size:.82rem}.activity-item span{font-size:.73rem;color:var(--muted)}.empty-state{padding:26px;text-align:center;border:1px dashed #ccdaeb;border-radius:16px;background:#fbfdff;color:var(--muted)}
.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quick-card{padding:16px;text-decoration:none;color:var(--ink);transition:.2s ease}.quick-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);color:var(--ink)}.quick-card .qicon{width:39px;height:39px;display:grid;place-items:center;border-radius:12px;background:#eaf3ff;color:#1267d8;margin-bottom:12px}.quick-card strong{display:block;font-size:.82rem}.quick-card small{display:block;color:var(--muted);font-size:.69rem;margin-top:3px}.section-gap{margin-top:20px}.data-table{margin-bottom:0}.data-table thead th{font-size:.69rem;color:#73849a;text-transform:uppercase;letter-spacing:.055em;border-bottom-color:#e9eef5}.data-table td{font-size:.82rem;padding-top:13px;padding-bottom:13px;border-bottom-color:#eff3f7}.status-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#eaf8ef;color:#25884a;font-size:.68rem;font-weight:800}
.module-banner{background:linear-gradient(135deg,#fff,#f3f8ff);border:1px solid var(--line);border-radius:24px;padding:25px}.module-banner h2{font-weight:800}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.feature-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.feature-box i{font-size:1.25rem;color:#1267d8}.feature-box h3{font-size:.9rem;font-weight:800;margin:12px 0 6px}.feature-box p{font-size:.75rem;color:var(--muted);margin:0}
.sidebar-backdrop{display:none}.sidebar-open{overflow:hidden}
@media(max-width:1199.98px){.quick-grid{grid-template-columns:1fr}.feature-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:991.98px){.sidebar{transform:translateX(-102%);transition:.22s ease}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-backdrop{position:fixed;inset:0;background:rgba(3,23,48,.45);z-index:1030}.sidebar-open .sidebar-backdrop{display:block}.main-wrap{margin-left:0}.topbar{padding:14px 18px}.page-content{padding:20px 16px 34px}.welcome-hero{border-radius:22px;padding:23px}.auth-card{max-width:620px}}
@media(max-width:575.98px){.feature-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:1fr}.metric-card{padding:17px}.page-title{font-size:1.15rem}}

/* EngMec+ v0.3 */
.brand-logo-wrap{width:54px;height:46px;padding:4px 6px;background:#fff;border-radius:12px;display:grid;place-items:center;box-shadow:0 7px 18px rgba(0,0,0,.12);overflow:hidden}.brand-logo-wrap img{width:100%;height:100%;object-fit:contain}.login-course-logo{width:min(310px,100%);background:#fff;border-radius:18px;padding:12px 16px;box-shadow:0 12px 30px rgba(2,28,60,.18)}.login-course-logo img{display:block;width:100%;height:auto}
.profile-avatar-lg{width:74px;height:74px;border-radius:23px;background:linear-gradient(145deg,#0c5fc9,#55a7ff);color:#fff;display:grid;place-items:center;font-size:1.45rem;font-weight:850;box-shadow:0 12px 25px rgba(18,103,216,.18)}.profile-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border-radius:999px;background:#e9f3ff;color:#115ebd;font-size:.76rem;font-weight:800}.info-row{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid #edf1f6}.info-row:last-child{border-bottom:0}.info-icon{width:38px;height:38px;display:grid;place-items:center;background:#edf5ff;color:#1267d8;border-radius:12px}.info-row>div{display:flex;flex-direction:column}.info-row strong{font-size:.8rem}.info-row small{font-size:.69rem;color:var(--muted)}
.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.role-option{cursor:pointer}.role-option input{position:absolute;opacity:0;pointer-events:none}.role-option span{min-height:58px;border:1px solid var(--line);background:#fbfdff;border-radius:14px;padding:12px;display:flex;align-items:center;gap:10px;color:#53677f;transition:.15s}.role-option input:checked+span{border-color:#7fb8ff;background:#edf6ff;color:#0d5fc5;box-shadow:0 0 0 3px rgba(18,103,216,.06)}.role-option strong{font-size:.78rem}.back-link{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-weight:700;font-size:.8rem;color:#55708f}.table-muted{font-size:.75rem;color:#65758a}.status-pendente{background:#fff6dd;color:#9a6a00}.status-inativo,.status-suspenso{background:#f1f3f6;color:#667085}.status-bloqueado,.status-cancelado{background:#fff0f0;color:#b13c3c}.status-planejamento{background:#edf4ff;color:#2464b5}.status-em_andamento{background:#eaf8ef;color:#25884a}.status-concluido{background:#edf8f8;color:#167c78}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.project-card{border:1px solid var(--line);background:linear-gradient(145deg,#fff,#fbfdff);border-radius:18px;padding:18px;display:flex;flex-direction:column;min-height:255px;transition:.18s}.project-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.project-card-top,.project-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.category-chip{display:inline-flex;padding:6px 9px;border-radius:999px;background:#edf5ff;color:#145fae;font-size:.67rem;font-weight:800}.project-card h3{font-size:1rem;font-weight:850;margin:15px 0 7px}.project-card p{font-size:.76rem;color:var(--muted);line-height:1.55;flex:1}.project-meta{display:flex;flex-wrap:wrap;gap:10px 15px;font-size:.68rem;color:#718198;margin:12px 0}.project-meta i{color:#1b70da}.project-footer{padding-top:12px;border-top:1px solid #edf1f6}.sticky-card{position:sticky;top:112px}.save-note{display:flex;gap:10px;padding:13px;background:#f3f8ff;border-radius:14px;color:#61758d;font-size:.74rem;line-height:1.45}.save-note i{color:#1267d8}.project-hero{border-radius:25px;padding:28px;background:linear-gradient(125deg,#092f67,#0d65d0 60%,#69b3ff);color:#fff;display:flex;align-items:flex-start;justify-content:space-between;gap:25px;box-shadow:0 17px 40px rgba(12,85,173,.15)}.project-hero h2{font-size:clamp(1.5rem,2.4vw,2.3rem);font-weight:850;margin:12px 0 8px}.project-hero p{max-width:900px;color:#dcecff;margin:0}.category-chip.light{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.2)}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-grid>div{background:#f8fbff;border:1px solid #eaf0f7;border-radius:14px;padding:14px}.detail-grid small,.detail-list span{display:block;color:var(--muted);font-size:.68rem;margin-bottom:4px}.detail-grid strong,.detail-list strong{font-size:.8rem}.detail-list>div{padding:12px 0;border-bottom:1px solid #edf1f6}.detail-list>div:last-child{border-bottom:0}.rich-copy{font-size:.84rem;color:#42556d;line-height:1.7}
@media(max-width:991.98px){.project-grid{grid-template-columns:1fr}.sticky-card{position:static}.role-grid{grid-template-columns:1fr}}
@media(max-width:575.98px){.detail-grid{grid-template-columns:1fr}.project-hero{flex-direction:column}.brand-logo-wrap{width:48px}.profile-avatar-lg{width:62px;height:62px;border-radius:19px}}

/* EngMec+ v0.4 — Projetos Especiais e Competições */
.special-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.special-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:21px;text-decoration:none;color:var(--ink);box-shadow:0 8px 28px rgba(24,66,116,.05);transition:.2s ease;min-height:245px;display:flex;flex-direction:column}.special-card:hover{color:var(--ink);transform:translateY(-3px);box-shadow:0 18px 40px rgba(20,77,145,.11);border-color:#cfe1f8}.special-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.special-symbol{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#e9f3ff,#d6eaff);color:#0f63ca;font-size:1.25rem}.special-card h3{font-size:1.1rem;font-weight:850;margin:5px 0}.special-card p{font-size:.77rem;color:var(--muted);margin:0 0 20px}.special-card-meta{display:flex;flex-wrap:wrap;gap:9px 14px;margin-top:auto;color:#708299;font-size:.7rem}.special-card-meta i{color:#1770dc;margin-right:4px}.status-chip{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:.66rem;font-weight:800;white-space:nowrap;background:#eef3f8;color:#627287}.status-em_andamento,.status-confirmada,.status-realizada{background:#e8f8ef;color:#27864a}.status-planejamento,.status-planejada{background:#eaf3ff;color:#1267d8}.status-concluido{background:#eef0f5;color:#576579}.status-suspenso{background:#fff4df;color:#a76a08}.status-cancelado,.status-cancelada{background:#ffeaec;color:#b63845}.status-muted{background:#eef1f5!important;color:#778599!important}
.special-hero,.competition-hero{border-radius:28px;padding:30px;color:#fff;position:relative;overflow:hidden;box-shadow:0 18px 45px rgba(14,89,183,.16);background:linear-gradient(120deg,#082f66 0%,#0e66d3 58%,#64afff 100%)}.competition-hero{background:linear-gradient(120deg,#12386b 0%,#1267d8 52%,#3d8cff 100%)}.special-hero:after,.competition-hero:after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;right:-120px;top:-190px;background:rgba(255,255,255,.09)}.special-hero>* ,.competition-hero>*{position:relative;z-index:1}.special-hero h1,.competition-hero h1{font-size:clamp(1.75rem,3vw,2.65rem);font-weight:850;margin:8px 0}.special-hero p,.competition-hero p{color:#dcecff;max-width:760px}.hero-kicker{font-size:.7rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:#d5e9ff}.hero-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.1);font-size:.7rem;font-weight:700}.content-prose h3{font-size:.84rem;font-weight:850;margin:20px 0 7px;color:#1c4f8d}.content-prose h3:first-child{margin-top:0}.content-prose p{font-size:.81rem;line-height:1.7;color:#617188}.info-stack{display:grid}.info-stack>div{padding:12px 0;border-bottom:1px solid #edf2f7;display:flex;flex-direction:column;gap:3px}.info-stack>div:last-child{border-bottom:0}.info-stack span{font-size:.67rem;color:#7b899b;text-transform:uppercase;letter-spacing:.04em;font-weight:750}.info-stack strong{font-size:.82rem;overflow-wrap:anywhere}.competition-list{display:grid;gap:9px}.competition-row{display:flex;align-items:center;gap:14px;border:1px solid #edf2f7;border-radius:16px;padding:12px;text-decoration:none;color:var(--ink);transition:.18s}.competition-row:hover{color:var(--ink);border-color:#cfe1f8;background:#f9fcff}.competition-date{width:50px;height:52px;border-radius:13px;background:#eaf3ff;color:#105fc5;display:flex;align-items:center;justify-content:center;flex-direction:column;line-height:1}.competition-date strong{font-size:1.05rem}.competition-date span{font-size:.55rem;font-weight:850;margin-top:4px}.back-link{display:inline-flex;gap:7px;align-items:center;color:#5b7190;text-decoration:none;font-size:.77rem;font-weight:750}.back-link:hover{color:#1267d8}.sticky-card{position:sticky;top:108px}.save-note{display:flex;gap:10px;border-radius:14px;background:#f1f7ff;padding:12px;color:#5c7190;font-size:.72rem}.save-note i{color:#1267d8;font-size:1rem;flex:0 0 auto}
@media(max-width:1199.98px){.special-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sticky-card{position:static}}
@media(max-width:767.98px){.special-grid{grid-template-columns:1fr}.special-hero,.competition-hero{padding:23px;border-radius:22px}.competition-row{align-items:flex-start}.competition-row .status-chip{margin-left:auto}}

/* v0.5 - Pessoas, vínculos e acervo documental */
.profile-hero{background:linear-gradient(135deg,#fff 0%,#f4f8ff 52%,#e8f2ff 100%);border:1px solid #e2ebf7;border-radius:28px;padding:30px;box-shadow:0 12px 34px rgba(15,70,145,.07)}
.profile-avatar-lg{width:88px;height:88px;min-width:88px;border-radius:26px;display:grid;place-items:center;background:linear-gradient(145deg,#114b98,#2e7de0);color:#fff;font-size:1.7rem;font-weight:800;box-shadow:0 14px 28px rgba(22,92,184,.2)}
.avatar-table{background:#edf4ff!important;color:#1959aa!important}
.metric-icon.small-icon{width:44px;height:44px;font-size:1rem}
.timeline-list{display:flex;flex-direction:column;gap:4px}.timeline-item{position:relative;display:flex;gap:14px;color:inherit;padding:10px 4px 14px 18px;border-left:2px solid #e4ebf5}.timeline-item:hover strong{color:#0d6efd}.timeline-dot{position:absolute;left:-6px;top:18px;width:10px;height:10px;border-radius:50%;background:#0d6efd;box-shadow:0 0 0 4px #eaf3ff}.timeline-item small{color:#6c7b91;display:block;margin-top:3px}
.file-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#eef5ff;color:#1264c8;font-size:1.15rem}
.upload-zone{border:1.5px dashed #bcd0e9;background:#f7fbff;border-radius:20px;padding:25px;text-align:center;color:#58708f}.upload-zone small{display:block;margin-top:10px}.link-type-tabs{display:flex;gap:8px;flex-wrap:wrap}
.person-link-card{display:flex;gap:12px;align-items:center;padding:12px;border-radius:16px;text-decoration:none;color:inherit;border:1px solid transparent;transition:.2s ease}.person-link-card:hover{background:#f6f9fe;border-color:#e1eaf6}.person-link-card small{display:block;color:#718096;margin-top:2px}.empty-state.compact{padding:18px;border-radius:14px}.person-link-card .avatar-sm{flex:0 0 auto}
@media(max-width:767.98px){.profile-hero{padding:22px;border-radius:22px}.profile-avatar-lg{width:72px;height:72px;min-width:72px;border-radius:22px}.table{font-size:.92rem}}


/* EngMec+ v0.6 — ENADE + login mecânico */
.enade-hero,.enade-edition-hero{border-radius:28px;padding:30px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;overflow:hidden;background:linear-gradient(125deg,#082f66 0%,#0c5fbe 48%,#44a3ff 100%);box-shadow:0 18px 45px rgba(10,73,150,.16)}
.enade-hero:after,.enade-edition-hero:after{content:"";position:absolute;width:310px;height:310px;border:46px solid rgba(255,255,255,.08);border-radius:50%;right:-100px;top:-120px}.enade-hero>*,.enade-edition-hero>*{position:relative;z-index:1}.enade-hero h1,.enade-edition-hero h1{font-weight:900;font-size:clamp(1.8rem,3vw,2.7rem);margin:6px 0}.enade-hero p,.enade-edition-hero p{max-width:760px;color:#dcecff;margin:0}
.enade-edition-grid{display:grid;gap:12px}.enade-edition-card{display:flex;align-items:center;gap:18px;padding:17px;border:1px solid #e5edf7;border-radius:18px;text-decoration:none;color:var(--ink);background:linear-gradient(145deg,#fff,#fbfdff);transition:.18s}.enade-edition-card:hover{color:var(--ink);border-color:#c8def7;transform:translateY(-1px);box-shadow:0 12px 28px rgba(18,77,145,.08)}.edition-year{width:68px;height:68px;min-width:68px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#0c4e9e,#1978df);color:#fff;font-weight:900;font-size:1.1rem}.enade-edition-card h3{font-size:1rem;margin:0;font-weight:850}.enade-edition-card p{font-size:.75rem;color:var(--muted);margin:4px 0 8px}.edition-stats{display:flex;gap:14px;flex-wrap:wrap;color:#64758b;font-size:.69rem}.edition-stats i{color:#166bcf;margin-right:4px}.edition-arrow{margin-left:auto;color:#8ca3be}.enade-type{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.66rem;font-weight:800}.enade-type.ingressante{background:#edf4ff;color:#1768c7}.enade-type.concluinte{background:#eaf8f0;color:#247e48}.status-preparatorio{background:#e7f8ef;color:#27864a}.status-encerrada{background:#eef1f5;color:#637184}.enade-bulk-table,.enade-grade-table{max-height:62vh;overflow:auto}.enade-bulk-table thead,.enade-grade-table thead{position:sticky;top:0;background:#fff;z-index:2}.sticky-save{position:sticky;bottom:14px;margin-top:12px;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border:1px solid #dfe9f5;border-radius:17px;padding:12px 14px;box-shadow:0 10px 30px rgba(18,70,125,.12);display:flex;align-items:center;justify-content:space-between;gap:14px}.sticky-save div{display:flex;flex-direction:column}.sticky-save span{font-size:.7rem;color:var(--muted)}
.rocket-hero{border-radius:30px;padding:32px;background:radial-gradient(circle at 85% 25%,rgba(255,193,7,.22),transparent 19%),linear-gradient(125deg,#061f45,#0b4d99 58%,#1177d4);color:#fff;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.rocket-hero h1{font-size:clamp(2rem,4vw,3.25rem);font-weight:950;margin:5px 0}.rocket-hero p{margin:0;color:#d9e9fb;max-width:800px}.rocket-hero-mark{width:112px;height:112px;border-radius:30px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.15);display:grid;place-items:center;font-size:3.5rem;transform:rotate(-12deg);box-shadow:inset 0 0 40px rgba(255,255,255,.07)}
.rocket-panel{overflow:hidden}.rocket-race{display:grid;gap:9px}.rocket-lane{display:grid;grid-template-columns:42px 220px minmax(220px,1fr) 54px;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #edf2f7}.rocket-lane:last-child{border-bottom:0}.rocket-rank{font-size:.72rem;font-weight:900;color:#64758b}.rocket-student{min-width:0}.rocket-student strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.78rem}.rocket-student span{display:block;color:#8290a3;font-size:.64rem;margin-top:2px}.rocket-track{height:32px;position:relative;border-radius:12px;background:linear-gradient(90deg,#f1f6fc,#e8f1fb);overflow:hidden;border:1px solid #e1ebf6}.track-marks{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 1px),rgba(48,90,135,.10) 20%)}.rocket-progress{height:100%;position:relative;background:linear-gradient(90deg,rgba(30,124,225,.08),rgba(30,124,225,.22));border-right:2px solid #1b77d5;transition:width .5s ease}.rocket-icon{position:absolute;right:-4px;top:50%;transform:translate(50%,-50%) rotate(43deg);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#0e65c9;box-shadow:0 4px 12px rgba(16,77,143,.18);font-size:.92rem}.rocket-score{font-weight:900;text-align:right;color:#0d5db7}.rank-badge{display:inline-grid;place-items:center;min-width:35px;height:28px;padding:0 7px;border-radius:9px;background:#f1f4f8;color:#637287;font-size:.7rem;font-weight:900}.rank-badge.top{background:#fff1c7;color:#8c6400}.mini-progress{display:inline-block;width:70px;height:6px;background:#eaf0f6;border-radius:999px;overflow:hidden;vertical-align:middle;margin-right:7px}.mini-progress span{display:block;height:100%;background:linear-gradient(90deg,#0d64ca,#4aa3ff)}.score-value{color:#0c5ebd}
/* Login inspirado em engenharia mecânica, sem sacrificar legibilidade */
.mechanical-login{position:relative;overflow:hidden;background:linear-gradient(135deg,#edf5ff 0%,#f8fbff 45%,#e8f2fb 100%)}.mechanical-grid{position:fixed;inset:0;pointer-events:none;opacity:.32;background-image:linear-gradient(rgba(18,67,116,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(18,67,116,.08) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(120deg,#000,transparent 78%)}.gear{position:fixed;border:20px dashed rgba(24,73,128,.055);border-radius:50%;pointer-events:none}.gear-one{width:340px;height:340px;left:-130px;bottom:-120px}.gear-two{width:230px;height:230px;right:-70px;top:-80px}.engineering-auth{width:min(1180px,100%);min-height:680px;border-radius:34px;background:#fff;box-shadow:0 35px 90px rgba(11,49,94,.2);border:1px solid rgba(255,255,255,.9);position:relative;z-index:2}.engineering-brand{padding:46px 50px;color:#fff;position:relative;overflow:hidden;background:linear-gradient(145deg,#071d3d 0%,#0b376f 45%,#115fae 100%)}.engineering-brand:before{content:"";position:absolute;right:-175px;top:-160px;width:440px;height:440px;border:58px solid rgba(255,255,255,.06);border-radius:50%}.engineering-brand:after{content:"";position:absolute;left:-120px;bottom:-170px;width:360px;height:360px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 34px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.018)}.engineering-top,.engineering-features{position:relative;z-index:2}.engineering-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.07);font-size:.69rem;font-weight:800;letter-spacing:.05em}.engineering-logo{margin:32px 0 24px;width:min(430px,100%);height:140px;background:#fff;border-radius:20px;padding:10px 18px;display:flex;align-items:center;box-shadow:0 16px 38px rgba(0,0,0,.18)}.engineering-logo img{width:100%;height:100%;object-fit:contain}.engineering-brand h1{display:flex;flex-direction:column;margin:0}.engineering-brand h1 span{font-size:clamp(3rem,5vw,4.8rem);font-weight:950;letter-spacing:-.06em}.engineering-brand h1 small{font-size:1.05rem;font-weight:700;color:#a9d0fa;letter-spacing:.01em}.engineering-brand p{max-width:570px;color:#d1e4f8;margin:18px 0 0;line-height:1.65}.engineering-features{display:flex;gap:9px;flex-wrap:wrap}.engineering-features span{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11);border-radius:11px;font-size:.7rem;font-weight:750;color:#ddebfa}.auth-form-panel{padding:55px 48px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#fff,#fbfdff)}.form-kicker{color:#1267d8;font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.auth-form-copy h2{font-weight:900;font-size:2rem;margin:8px 0 7px}.auth-form-copy p{color:#718096;font-size:.83rem;margin-bottom:28px}.input-icon{position:relative}.input-icon>i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#7591b1;z-index:1}.input-icon .form-control{padding-left:45px;background:#f8fbff;border-color:#dae6f3}.engineering-login-btn{min-height:54px;display:flex;align-items:center;justify-content:space-between;padding-left:20px;padding-right:18px;font-weight:800;margin-top:8px;box-shadow:0 12px 25px rgba(19,103,216,.18)}.login-links{display:flex;justify-content:space-between;gap:15px;margin-top:22px}.login-links a{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:.72rem;font-weight:700}.login-secure{margin-top:34px;padding-top:20px;border-top:1px solid #e9eef5;display:flex;gap:9px;color:#8190a4;font-size:.67rem;line-height:1.5}.login-secure i{color:#208060;font-size:1rem}.mobile-login-brand{display:flex;align-items:center;gap:12px;margin-bottom:30px}.mobile-login-brand img{width:118px;height:56px;object-fit:contain}.mobile-login-brand strong{font-size:1.4rem;color:#0b4d96}
@media(max-width:991.98px){.engineering-auth{min-height:auto;max-width:600px}.auth-form-panel{padding:38px 30px}.rocket-lane{grid-template-columns:36px 180px minmax(180px,1fr) 48px}}
@media(max-width:767.98px){.enade-hero,.enade-edition-hero,.rocket-hero{padding:23px;border-radius:22px;align-items:flex-start;flex-direction:column}.rocket-hero-mark{display:none}.rocket-lane{grid-template-columns:34px 1fr 48px;gap:8px}.rocket-track{grid-column:2/4;width:100%}.rocket-student strong{white-space:normal}.sticky-save{align-items:flex-start;flex-direction:column}.sticky-save .btn{width:100%}.login-links{flex-direction:column}.auth-form-panel{padding:28px 22px}.engineering-auth{border-radius:24px}}


/* EngMec+ v0.6.1 — clareza de indicadores e fluxo ENADE */
.enade-metric-copy{display:flex;flex-direction:column;gap:7px;min-width:0}.enade-metric-copy span{display:block;color:var(--muted);font-size:.78rem;font-weight:700;line-height:1.25}.enade-metric-copy strong{display:block;font-size:1.75rem;font-weight:900;line-height:1;color:#14243b}.edition-stats span{display:inline-flex;align-items:center;gap:5px}.edition-stats span+span:before{content:"•";color:#adc0d4;margin-right:6px}.edition-stats i{margin-right:0}
.enade-flow{background:linear-gradient(145deg,#fff,#f9fcff);border:1px solid #e2ebf6;border-radius:24px;padding:22px;box-shadow:0 8px 28px rgba(20,72,135,.05)}.enade-flow-head h2{font-size:1.15rem;font-weight:900;margin:10px 0 4px}.enade-flow-head p{margin:0;color:var(--muted);font-size:.78rem}.enade-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.enade-step{min-height:126px;display:flex;align-items:flex-start;gap:10px;padding:15px;border:1px solid #e5edf7;border-radius:17px;text-decoration:none;color:var(--ink);background:#fff;position:relative;transition:.18s}.enade-step:hover{color:var(--ink);border-color:#bdd8f7;transform:translateY(-1px)}.enade-step-number{width:31px;height:31px;min-width:31px;border-radius:10px;display:grid;place-items:center;background:#eaf3ff;color:#1267d8;font-weight:900}.enade-step>div{display:flex;flex-direction:column;gap:5px}.enade-step strong{font-size:.78rem}.enade-step small{font-size:.66rem;line-height:1.45;color:#74849a}.enade-step>i{margin-left:auto;color:#91a5bc}.enade-step.current{border-color:#8fc3ff;box-shadow:0 0 0 3px rgba(18,103,216,.06);background:#f8fbff}.enade-step.current .enade-step-number{background:#1267d8;color:#fff}.enade-step.done .enade-step-number{background:#e8f8ef;color:#27864a}.enade-step.done .enade-step-number:after{content:"✓";font-size:.65rem;position:absolute;margin:22px 0 0 22px;width:15px;height:15px;border-radius:50%;background:#27864a;color:#fff;display:grid;place-items:center}.enade-step.locked{opacity:.52;cursor:not-allowed;pointer-events:none}
.enade-link-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;border-radius:26px;padding:25px 28px;color:#fff;background:linear-gradient(125deg,#0a376f,#0c63c8 60%,#3c94ef);box-shadow:0 16px 36px rgba(12,83,170,.13)}.enade-link-hero h1{font-size:1.8rem;font-weight:900;margin:5px 0 7px}.enade-link-hero p{max-width:860px;margin:0;color:#dfeeff;font-size:.79rem;line-height:1.6}.enade-link-count{width:125px;height:105px;min-width:125px;border-radius:22px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);display:flex;flex-direction:column;align-items:center;justify-content:center}.enade-link-count strong{font-size:2rem;line-height:1}.enade-link-count span{font-size:.65rem;color:#dcecff;margin-top:6px}.enade-help-card{display:flex;align-items:flex-start;gap:14px;padding:15px 18px;border:1px solid #d8e7f8;border-radius:17px;background:#f7fbff}.enade-help-icon{width:38px;height:38px;min-width:38px;border-radius:12px;display:grid;place-items:center;background:#e5f1ff;color:#1267d8}.enade-help-card strong{display:block;font-size:.78rem}.enade-help-card p{margin:3px 0 0;color:#65758a;font-size:.72rem;line-height:1.55}.enade-bulk-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.enade-bulk-actions span{margin-left:auto;font-size:.72rem;font-weight:800;color:#5c7190;padding:6px 10px;background:#f2f6fb;border-radius:999px}.enade-bulk-table tbody tr:has(.enade-student-check:checked){background:#f5faff}.enade-bulk-table .form-check-input{width:1.15rem;height:1.15rem}.enade-type-select:disabled{opacity:.55;background:#f1f3f6}
@media(max-width:1199.98px){.enade-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767.98px){.enade-flow-grid{grid-template-columns:1fr}.enade-link-hero{align-items:flex-start;flex-direction:column}.enade-link-count{width:100%;height:auto;min-width:0;padding:14px}.enade-bulk-actions span{width:100%;margin-left:0}.enade-metric-copy strong{font-size:1.5rem}}


/* EngMec+ v0.7 — cadastro público ampliado */
.registration-page{position:relative;overflow-x:hidden;background:linear-gradient(145deg,#eef6ff 0%,#f9fcff 46%,#e9f2fb 100%)}
.registration-bg-gear{position:fixed;border:18px dashed rgba(21,73,130,.045);border-radius:50%;pointer-events:none}.registration-bg-gear.gear-a{width:300px;height:300px;right:-110px;top:8%}.registration-bg-gear.gear-b{width:230px;height:230px;left:-90px;bottom:4%}
.registration-shell{max-width:1120px;background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.9);border-radius:30px;box-shadow:0 28px 75px rgba(16,59,109,.13);overflow:hidden}
.registration-brandbar{min-height:88px;padding:15px 28px;display:flex;align-items:center;gap:14px;color:#fff;background:linear-gradient(115deg,#082c5d,#0d5fbd 62%,#438fda)}.registration-brandbar>div:last-child{display:flex;flex-direction:column}.registration-brandbar span{font-size:.64rem;color:#cce2fb;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.registration-brandbar strong{font-size:1.15rem}.registration-logo{width:116px;height:55px;border-radius:12px;background:#fff;padding:5px 8px;display:flex;align-items:center}.registration-logo img{width:100%;height:100%;object-fit:contain}.registration-back{margin-right:auto;display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:#dcecff;font-size:.72rem;font-weight:700}.registration-back:hover{color:#fff}
.registration-heading{padding:34px 42px 20px;display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.registration-heading h1{font-size:2rem;font-weight:950;letter-spacing:-.035em;margin:6px 0}.registration-heading p{margin:0;color:#708197;font-size:.82rem}.registration-secure{display:flex;align-items:center;gap:9px;max-width:290px;color:#6c7d92;font-size:.69rem;line-height:1.45}.registration-secure i{font-size:1.35rem;color:#238058}.registration-alert{margin:0 42px 18px}
.registration-section{margin:0 42px 20px;padding:24px;border:1px solid #e2eaf4;border-radius:22px;background:linear-gradient(145deg,#fff,#fbfdff)}.registration-section-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.section-number{width:34px;height:34px;min-width:34px;border-radius:11px;display:grid;place-items:center;background:#e6f1ff;color:#1267d8;font-size:.78rem;font-weight:900}.registration-section-head h2{font-size:1rem;font-weight:900;margin:1px 0 4px}.registration-section-head p{font-size:.7rem;color:#78899e;margin:0}
.profile-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.profile-choice{position:relative;cursor:pointer}.profile-choice input{position:absolute;opacity:0;pointer-events:none}.profile-choice-card{min-height:128px;display:flex;flex-direction:column;gap:6px;padding:17px;border:1px solid #dfe8f3;border-radius:17px;background:#fff;position:relative;transition:.18s}.profile-choice-card:hover{border-color:#b9d7f8;transform:translateY(-1px)}.profile-choice input:checked+.profile-choice-card{border-color:#72aff2;background:#f5faff;box-shadow:0 0 0 3px rgba(18,103,216,.07)}.profile-choice-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#e9f3ff;color:#1469cc;font-size:1.1rem}.profile-choice-card strong{font-size:.82rem}.profile-choice-card small{font-size:.66rem;color:#7b8ba0}.choice-check{position:absolute;right:13px;top:13px;color:#b8c7d8;opacity:.35}.profile-choice input:checked+.profile-choice-card .choice-check{color:#1670d5;opacity:1}
.profile-section[hidden]{display:none!important}.registration-submit{margin:4px 42px 36px;padding:19px 22px;border-radius:20px;background:#eff6ff;display:flex;align-items:center;justify-content:space-between;gap:20px}.registration-submit>div{display:flex;align-items:center;gap:12px}.registration-submit>div>i{font-size:1.45rem;color:#1670d5}.registration-submit span{display:flex;flex-direction:column}.registration-submit strong{font-size:.74rem}.registration-submit small{font-size:.65rem;color:#73849a;margin-top:3px}.registration-success{padding:70px 42px;text-align:center;max-width:690px;margin:auto}.success-icon{width:78px;height:78px;border-radius:24px;display:grid;place-items:center;margin:0 auto 20px;background:#e8f7ef;color:#22804a;font-size:2rem}.registration-success h1{font-weight:950;margin:7px 0 12px}.registration-success p{color:#6e7f94;line-height:1.65;margin-bottom:24px}
@media(max-width:767.98px){.registration-brandbar{padding:14px 18px}.registration-logo{width:92px}.registration-back span{display:none}.registration-heading{padding:25px 20px 16px;align-items:flex-start;flex-direction:column}.registration-secure{max-width:none}.registration-section{margin:0 20px 16px;padding:18px}.registration-alert{margin:0 20px 16px}.profile-choice-grid{grid-template-columns:1fr}.profile-choice-card{min-height:auto}.registration-submit{margin:0 20px 26px;align-items:flex-start;flex-direction:column}.registration-submit .btn{width:100%}.registration-success{padding:50px 22px}}
/* v0.8 — refinamento do login */
.mechanical-login .login-field .form-control{font-size:.88rem}
.mechanical-login .login-field .form-control::placeholder{font-size:.82rem;color:#9aa9bb}

/* EngMec+ v0.9 — dashboards contextuais por perfil */
.profile-dashboard{padding-bottom:42px}.profile-hero{min-height:250px;padding:34px 38px;border-radius:28px;color:#fff;background:linear-gradient(120deg,#082f66,#0d63c8 56%,#3b94ed);display:flex;align-items:center;justify-content:space-between;gap:28px;position:relative;overflow:hidden;box-shadow:0 18px 42px rgba(11,77,154,.14)}.profile-hero:before,.profile-hero:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}.profile-hero:before{width:300px;height:300px;right:-75px;top:-145px}.profile-hero:after{width:210px;height:210px;right:72px;bottom:-150px}.profile-hero-copy{position:relative;z-index:2;max-width:780px}.profile-context{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.16);font-size:.68rem;font-weight:800;letter-spacing:.04em}.profile-hero h2{font-size:2.15rem;font-weight:950;letter-spacing:-.035em;margin:15px 0 8px}.profile-hero p{max-width:760px;margin:0;color:#dcecff;font-size:.84rem;line-height:1.65}.profile-hero-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.profile-action{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border-radius:12px;background:#fff;color:#0d5db7;text-decoration:none;font-size:.72rem;font-weight:800;box-shadow:0 8px 22px rgba(0,0,0,.09)}.profile-action:hover{color:#083f81;transform:translateY(-1px)}.profile-hero-mark{position:relative;z-index:2;width:135px;height:135px;min-width:135px;border-radius:35px;display:grid;place-items:center;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);font-size:3.6rem;color:#fff;transform:rotate(-5deg)}.profile-metric{position:relative;overflow:hidden}.profile-metric:after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#1267d8,#6eb3ff)}.dashboard-context-note{display:flex;align-items:center;gap:10px;padding:13px 16px;border:1px solid #d9e7f7;border-radius:15px;background:#f8fbff;color:#54708f;font-size:.74rem}.dashboard-context-note i{color:#1267d8}.dashboard-row-link{color:#17233a;text-decoration:none}.dashboard-row-link:hover{color:#1267d8}.profile-agenda{display:grid;gap:8px}.profile-agenda-item{display:grid;grid-template-columns:48px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:11px;border-radius:14px;text-decoration:none;color:var(--ink);border:1px solid #e6edf7;background:#fbfdff}.profile-agenda-item:hover{color:var(--ink);border-color:#bed8f6;background:#f6faff}.agenda-date{height:48px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#e9f3ff;color:#0e62c5;line-height:1}.agenda-date strong{font-size:1rem}.agenda-date span{font-size:.55rem;font-weight:900;margin-top:4px}.profile-agenda-item>div:nth-child(2){min-width:0;display:flex;flex-direction:column}.profile-agenda-item>div:nth-child(2)>strong{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-agenda-item small{font-size:.62rem;color:#75869a;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-agenda-item>i{color:#93a8bf}.profile-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.profile-quick{min-height:74px;padding:13px;border-radius:15px;border:1px solid #e4ecf6;background:#fbfdff;display:grid;grid-template-columns:30px 1fr 20px;align-items:center;gap:8px;text-decoration:none;color:#24344b}.profile-quick:hover{color:#0f5fc2;border-color:#bdd8f7;background:#f5faff}.profile-quick>i:first-child{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#e8f2ff;color:#1267d8}.profile-quick span{font-size:.72rem;font-weight:800}.profile-quick>i:last-child{font-size:.75rem;color:#9aabc0}.profile-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.profile-principles>div{padding:16px;border-radius:16px;background:linear-gradient(145deg,#f7fbff,#fff);border:1px solid #e3ebf5;display:flex;flex-direction:column;gap:6px}.profile-principles i{font-size:1.2rem;color:#1267d8}.profile-principles strong{font-size:.75rem}.profile-principles span{font-size:.64rem;line-height:1.5;color:#738499}.empty-state.compact{padding:30px 15px}
@media(max-width:991.98px){.profile-hero{padding:28px}.profile-hero-mark{width:100px;height:100px;min-width:100px;font-size:2.7rem}.profile-principles{grid-template-columns:1fr}}@media(max-width:767.98px){.profile-hero{min-height:auto;padding:24px;border-radius:22px}.profile-hero h2{font-size:1.65rem}.profile-hero-mark{display:none}.profile-action{flex:1;justify-content:center}.profile-quick-grid{grid-template-columns:1fr}}


/* EngMec+ v1.0 — Agenda e notificações */
.notification-action{display:grid;place-items:center;text-decoration:none}.notification-count{position:absolute;right:-5px;top:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ef5c5c;color:#fff;border:2px solid #fff;font-size:.58rem;font-weight:900;display:grid;place-items:center}.agenda-banner{background:linear-gradient(145deg,#fff,#f5faff)}.agenda-toolbar{display:flex;align-items:center;justify-content:space-between;padding:13px 16px}.agenda-toolbar>div{display:flex;align-items:center;gap:13px}.agenda-calendar{padding:18px}.agenda-weekdays,.agenda-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.agenda-weekdays span{text-align:center;padding:8px;color:#7c8ea4;font-size:.66rem;font-weight:900;text-transform:uppercase}.agenda-cell{min-height:122px;border-right:1px solid #e9eff6;border-top:1px solid #e9eff6;padding:8px;background:#fff;overflow:hidden}.agenda-cell:nth-child(7n){border-right:0}.agenda-cell.muted{background:#fbfcfe}.agenda-cell.today{background:#f2f8ff;box-shadow:inset 0 0 0 2px #9ec9fb}.agenda-day-number{font-size:.72rem;font-weight:900;color:#50657f;margin-bottom:7px}.agenda-cell.today .agenda-day-number{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:#1267d8;color:#fff}.agenda-chip{display:flex;align-items:center;gap:5px;min-width:0;padding:5px 6px;border-radius:8px;margin-bottom:4px;color:#40546e;text-decoration:none;background:#f5f8fc;font-size:.59rem;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agenda-chip span{width:6px;height:6px;min-width:6px;border-radius:50%;background:#1267d8}.agenda-chip.origin-competicao span{background:#f1a62b}.agenda-chip.origin-enade span{background:#7654d8}.agenda-more{font-size:.56rem;color:#8191a5}.agenda-legend{display:flex;gap:12px;flex-wrap:wrap}.agenda-legend span{font-size:.61rem;color:#788a9f;display:flex;gap:5px;align-items:center}.agenda-legend i{width:8px;height:8px;border-radius:50%;background:#1267d8}.agenda-legend i.competition{background:#f1a62b}.agenda-legend i.enade{background:#7654d8}.agenda-list{display:grid}.agenda-list-item{display:grid;grid-template-columns:54px minmax(0,1fr);gap:13px;padding:13px 0;border-bottom:1px solid #edf1f6}.agenda-list-item:last-child{border-bottom:0}.agenda-list-date{width:50px;height:50px;border-radius:13px;background:#eaf4ff;color:#0f62c3;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.agenda-list-date strong{font-size:1rem}.agenda-list-date span{font-size:.55rem;font-weight:900;margin-top:4px}.agenda-list-copy strong{font-size:.76rem}.agenda-list-copy small{display:block;color:#78899e;font-size:.62rem;margin-top:4px}.agenda-list-copy p{font-size:.65rem;color:#687a90;margin:5px 0 0}.agenda-source{font-size:.54rem;font-weight:900;border-radius:999px;padding:4px 7px;background:#e8f2ff;color:#1267d8}.agenda-source.source-competicao{background:#fff3df;color:#a96b00}.agenda-source.source-enade{background:#eee9ff;color:#6545c2}.agenda-visibility{padding:16px;border-radius:15px;background:#f7faff;border:1px solid #e4edf7}.agenda-visibility>small{color:#77899d;font-size:.64rem}.target-profile{display:block;cursor:pointer}.target-profile input{position:absolute;opacity:0}.target-profile span{display:flex;align-items:center;gap:7px;padding:10px 11px;border:1px solid #e0e9f3;border-radius:11px;background:#fff;font-size:.67rem;font-weight:750}.target-profile input:checked+span{border-color:#73aff1;background:#edf6ff;color:#0d60bd;box-shadow:0 0 0 2px rgba(18,103,216,.06)}.notification-list{padding:10px 20px}.notification-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:13px;align-items:center;padding:15px 8px;border-bottom:1px solid #edf1f6}.notification-item:last-child{border-bottom:0}.notification-item.unread{background:linear-gradient(90deg,#f5faff,transparent);border-radius:13px}.notification-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#eaf3ff;color:#1267d8}.notification-icon.type-alerta{background:#fff1e7;color:#d66b1f}.notification-icon.type-prazo{background:#fff6df;color:#b57a00}.notification-icon.type-sucesso{background:#eaf8f0;color:#238157}.notification-copy strong{font-size:.76rem}.notification-copy p{margin:4px 0;color:#62758d;font-size:.67rem}.notification-copy small{color:#8a9aab;font-size:.58rem}.notification-actions{display:flex;align-items:center;gap:6px}.new-pill{padding:3px 6px;border-radius:999px;background:#1267d8;color:#fff;font-size:.5rem;font-weight:900;text-transform:uppercase}.metric-value .bi{font-size:1.6rem;color:#1267d8}
@media(max-width:767.98px){.agenda-calendar{padding:10px;overflow-x:auto}.agenda-weekdays,.agenda-grid{min-width:760px}.agenda-cell{min-height:105px}.agenda-legend{margin-top:8px}.notification-item{grid-template-columns:40px minmax(0,1fr)}.notification-actions{grid-column:2;justify-content:flex-start}.agenda-list-copy p{display:none}}


/* v1.3 — Comunicados e Transportes */
.comunicado-highlight{border-top:3px solid var(--primary,#1769d2);box-shadow:0 12px 28px rgba(31,79,132,.08)}
.comunicado-detail{max-width:1050px;margin-left:auto;margin-right:auto}.comunicado-content{font-size:1rem;line-height:1.8;white-space:normal}
.transport-passengers{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow:auto}.transport-person{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #e1eaf5;border-radius:12px;background:#fff}.transport-person.static{min-height:58px}.transport-person span{display:flex;flex-direction:column}.transport-person small{color:#718096}.transport-person input{margin-top:0}.avatar-xs{width:34px;height:34px;border-radius:50%;display:grid!important;place-items:center;background:#edf5ff;color:#1769d2;font-weight:800;flex:0 0 34px}
.transport-solicitada{background:#fff5d9;color:#8a5b00}.transport-em_analise{background:#e8f2ff;color:#0d5cb6}.transport-aprovada{background:#e8f8ef;color:#16794a}.transport-indeferida{background:#fff0f0;color:#b42318}.transport-cancelada{background:#f1f3f5;color:#667085}.transport-concluida{background:#ebf8f5;color:#147d64}.transport-rascunho{background:#f4f5f7;color:#667085}


/* EngMec+ v1.14 — visualizador de fotos */
.user-photo-clickable{cursor:zoom-in;transition:transform .18s ease,box-shadow .18s ease}.user-photo-clickable:hover{transform:scale(1.04);box-shadow:0 8px 24px rgba(8,48,94,.18)}.photo-viewer-backdrop{position:fixed;inset:0;z-index:2000;background:rgba(3,16,34,.88);display:none;align-items:center;justify-content:center;padding:28px}.photo-viewer-backdrop.show{display:flex}.photo-viewer-panel{position:relative;max-width:min(920px,94vw);max-height:92vh}.photo-viewer-image{display:block;max-width:100%;max-height:82vh;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.4);background:#fff}.photo-viewer-caption{color:#fff;text-align:center;margin-top:12px;font-weight:700}.photo-viewer-close{position:absolute;right:-10px;top:-12px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#17304d;font-size:1.4rem;display:grid;place-items:center;box-shadow:0 8px 25px rgba(0,0,0,.25)}

/* v1.16.3 — Corrida de foguetes animada no rendimento ENADE */
.rocket-track{overflow:visible;isolation:isolate}
.rocket-progress{width:0;will-change:width;transition:none;z-index:2}
.rocket-race.is-racing .rocket-progress{transition:width 2.25s cubic-bezier(.18,.72,.2,1);transition-delay:var(--rocket-delay,0ms)}
.rocket-race.is-racing .rocket-icon{animation:rocketBob .32s ease-in-out infinite alternate,rocketGlow .78s ease-in-out infinite alternate}
.rocket-race.is-racing .rocket-flame{opacity:1;animation:rocketFlame .12s ease-in-out infinite alternate}
.rocket-race.race-finished .rocket-icon{animation:rocketFinish .5s ease-out both}
.rocket-progress.is-leading .rocket-icon{box-shadow:0 0 0 5px rgba(255,193,7,.15),0 7px 18px rgba(16,77,143,.28)}
.rocket-flame{position:absolute;right:17px;top:50%;width:23px;height:9px;transform:translateY(-50%) rotate(-2deg);transform-origin:right center;opacity:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,98,0,0),#ff8a00 42%,#ffd54f 72%,#fff 100%);filter:blur(.3px);clip-path:polygon(0 50%,52% 0,100% 28%,100% 72%,52% 100%);z-index:1}
.rocket-race.is-racing .rocket-progress::after{content:"";position:absolute;right:20px;top:50%;height:2px;width:42px;transform:translateY(-50%);background:linear-gradient(90deg,transparent,rgba(13,100,202,.28));filter:blur(.4px);z-index:0}
.rocket-replay i{display:inline-block;transition:transform .2s ease}.rocket-replay:hover i{transform:translateX(2px)}
@keyframes rocketBob{from{transform:translate(50%,-54%) rotate(43deg)}to{transform:translate(50%,-46%) rotate(43deg)}}
@keyframes rocketGlow{from{box-shadow:0 4px 12px rgba(16,77,143,.18)}to{box-shadow:0 6px 19px rgba(16,77,143,.36)}}
@keyframes rocketFlame{from{transform:translateY(-50%) scaleX(.62)}to{transform:translateY(-50%) scaleX(1.15)}}
@keyframes rocketFinish{0%{transform:translate(50%,-50%) rotate(43deg) scale(1)}55%{transform:translate(50%,-50%) rotate(43deg) scale(1.18)}100%{transform:translate(50%,-50%) rotate(43deg) scale(1)}}
@media (prefers-reduced-motion:reduce){.rocket-progress,.rocket-race.is-racing .rocket-progress{transition:none!important}.rocket-icon,.rocket-flame{animation:none!important}.rocket-flame{display:none}}

\n/* Autoria do sistema — Oliveira ProDev */
.opd-credit{display:flex;align-items:center;justify-content:center;min-width:0}.opd-credit__link{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none;min-width:0;transition:opacity .2s ease,transform .2s ease}.opd-credit__link:hover{opacity:.88;transform:translateY(-1px)}.opd-credit__logo{width:94px;height:42px;object-fit:contain;flex:0 0 auto}.opd-credit__copy{display:flex;flex-direction:column;line-height:1.18;min-width:0}.opd-credit__copy small{font-size:.68rem;letter-spacing:.03em}.opd-credit__copy strong{font-size:.84rem}.opd-credit--light .opd-credit__copy small{color:#7b899d}.opd-credit--light .opd-credit__copy strong{color:#18304f}.opd-credit--dark .opd-credit__copy small{color:rgba(255,255,255,.58)}.opd-credit--dark .opd-credit__copy strong{color:#fff}.opd-credit--compact .opd-credit__logo{width:72px;height:30px}.opd-credit--compact .opd-credit__copy small{font-size:.6rem}.opd-credit--compact .opd-credit__copy strong{font-size:.72rem}.public-opd-credit{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:flex-end}
.main-wrap{display:flex;flex-direction:column}.page-content{flex:1;width:100%}.system-footer{margin-top:auto;border-top:1px solid #e3ebf4;background:#fff;padding:14px 30px}.system-footer__inner{max-width:1680px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.system-footer__institution{display:flex;flex-direction:column;color:#6d7f95;line-height:1.25}.system-footer__institution>span{font-size:.76rem;font-weight:800;color:#334b68}.system-footer__institution small{font-size:.66rem}.system-footer__developer{display:flex;align-items:center;gap:10px;text-decoration:none;transition:opacity .18s ease}.system-footer__developer:hover{opacity:.82}.system-footer__developer img{width:82px;height:34px;object-fit:contain}.system-footer__developer-copy{display:flex;flex-direction:column;text-align:right;line-height:1.15}.system-footer__developer-copy small{font-size:.62rem;color:#8290a2}.system-footer__developer-copy strong{font-size:.76rem;color:#194d91}.login-footer{position:relative;z-index:3;display:flex;justify-content:center;padding:0 20px 22px;margin-top:-8px}.login-footer>a{display:flex;align-items:center;gap:11px;padding:9px 15px;border:1px solid rgba(20,69,124,.10);background:rgba(255,255,255,.72);backdrop-filter:blur(8px);border-radius:14px;text-decoration:none;box-shadow:0 8px 24px rgba(16,54,96,.06)}.login-footer img{width:86px;height:34px;object-fit:contain}.login-footer span{display:flex;flex-direction:column;line-height:1.15;text-align:right}.login-footer small{font-size:.62rem;color:#7c8da1}.login-footer strong{font-size:.78rem;color:#174e91}
@media(max-width:767px){.public-opd-credit{justify-content:flex-start}.opd-credit__logo{width:78px;height:34px}.opd-credit__copy strong{font-size:.78rem}.system-footer{padding:13px 18px}.system-footer__inner{align-items:flex-start;flex-direction:column}.system-footer__developer-copy{text-align:left}.system-footer__developer{flex-direction:row-reverse}.login-footer{padding-bottom:14px}.login-footer>a{width:min(100%,420px);justify-content:center}.login-footer span{text-align:left}}

/* v1.16.4.3 — autoria integrada ao card de login */
.login-footer{position:static;z-index:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:14px 0 0;border-top:1px solid #e9eef5}.login-footer__rights{font-size:.62rem;color:#8190a4;white-space:nowrap}.login-footer>a{display:flex;align-items:center;gap:8px;padding:0;border:0;background:transparent;backdrop-filter:none;border-radius:0;text-decoration:none;box-shadow:none}.login-footer img{width:68px;height:28px;object-fit:contain}.login-footer span:not(.login-footer__rights){display:flex;flex-direction:column;line-height:1.12;text-align:right}.login-footer small{font-size:.58rem;color:#7c8da1}.login-footer strong{font-size:.72rem;color:#174e91}.login-footer>a:hover{opacity:.82}
@media(max-width:767px){.login-footer{align-items:flex-start;flex-direction:column}.login-footer>a{width:auto;justify-content:flex-start;flex-direction:row-reverse}.login-footer span:not(.login-footer__rights){text-align:left}}

/* v1.16.6 — cadastro guiado por vínculo + footer Oliveira ProDev */
.registration-details{position:relative}.registration-step-lock{margin:0 42px 26px;padding:20px 22px;border:1px dashed #bfd1e6;border-radius:18px;background:#f7fbff;color:#62768f;display:flex;align-items:center;gap:14px}.registration-step-lock>i{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#e8f2ff;color:#1267d8;font-size:1.08rem}.registration-step-lock>div{display:flex;flex-direction:column}.registration-step-lock strong{font-size:.78rem;color:#28435f}.registration-step-lock span{font-size:.68rem;line-height:1.5;margin-top:3px}.registration-details:not(.is-unlocked) .registration-unlocked-section,.registration-details:not(.is-unlocked) .profile-section,.registration-details:not(.is-unlocked) .registration-submit{display:none!important}.registration-details.is-unlocked .registration-step-lock{display:none!important}
.registration-footer{max-width:1120px;margin:14px auto 0;padding:10px 18px;display:flex;align-items:center;justify-content:center;gap:18px;color:#7d8da1;font-size:.64rem}.registration-footer>a{display:flex;align-items:center;gap:8px;text-decoration:none}.registration-footer>a>span{display:flex;flex-direction:column;line-height:1.08;text-align:right}.registration-footer small{font-size:.56rem;color:#8796a8}.registration-footer strong{font-size:.72rem;color:#174e91}.registration-footer img{width:70px;height:28px;object-fit:contain}.registration-footer>a:hover{opacity:.82}
@media(max-width:767.98px){.registration-step-lock{margin:0 20px 18px;padding:17px}.registration-footer{flex-direction:column;gap:6px;padding-bottom:16px}.registration-footer>a>span{text-align:left}.registration-footer>a{flex-direction:row-reverse}}

/* v1.16.7 — copyright e ano nos rodapés */
.system-footer__copyright{margin-top:3px;color:#8795a7!important}.login-footer__rights{white-space:normal!important;line-height:1.35;max-width:280px}.registration-footer>span{line-height:1.35;text-align:center}.opd-credit__copy .opd-credit__rights{margin-bottom:3px;line-height:1.3;max-width:360px}.opd-credit--dark .opd-credit__copy .opd-credit__rights{color:rgba(255,255,255,.68)}
@media(max-width:767px){.login-footer__rights{max-width:none}.registration-footer>span{text-align:center}.opd-credit__copy .opd-credit__rights{max-width:260px}}

/* v1.16.7.1 — refinamento exclusivo do login */
.login-footer{position:static!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important;margin-top:16px!important;padding:14px 0 0!important;border-top:1px solid #e9eef5!important;text-align:center!important}.login-footer__rights{font-size:.62rem!important;color:#8190a4!important;line-height:1.35!important;max-width:none!important;white-space:normal!important}.login-footer__developer{display:flex;align-items:center;justify-content:center;gap:5px;color:#7c8da1;font-size:.61rem;line-height:1.2}.login-footer__developer>a:not(.login-footer__logo-link){font-weight:800;color:#174e91;text-decoration:none}.login-footer__developer>a:not(.login-footer__logo-link):hover{text-decoration:underline}.login-footer__logo-link{display:inline-flex!important;align-items:center!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;text-decoration:none!important}.login-footer__logo-link img{width:52px!important;height:21px!important;object-fit:contain!important;margin-left:3px}.engineering-brand h1 small{font-size:.96rem!important;line-height:1.35!important;max-width:470px!important;margin-top:2px!important}@media(max-width:767px){.login-footer{align-items:center!important}.login-footer__developer{flex-wrap:wrap}.login-footer__logo-link{width:auto!important;justify-content:center!important;flex-direction:row!important}}

/* v1.16.9 - Recuperação de senha alinhada à identidade do EngMec+ */
.recovery-auth-card{min-height:650px}.recovery-brand{padding:42px 46px}.recovery-logo{height:122px;margin:27px 0 24px}.recovery-brand-title span{font-size:clamp(2.25rem,4vw,3.65rem)!important;line-height:1.02;letter-spacing:-.045em!important}.recovery-brand-title small{margin-top:10px!important;color:#b9d9fb!important;max-width:430px!important}.recovery-brand p{font-size:.91rem;max-width:510px}.recovery-panel{padding:48px 46px}.recovery-steps{position:relative;z-index:2;display:grid;gap:10px}.recovery-steps>div{display:flex;gap:12px;align-items:flex-start;padding:11px 13px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.065);border-radius:14px}.recovery-steps>div>span{width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:rgba(255,255,255,.14);display:grid;place-items:center;font-size:.72rem;font-weight:900}.recovery-steps p{margin:0!important;display:flex;flex-direction:column;line-height:1.3}.recovery-steps strong{font-size:.76rem;color:#fff}.recovery-steps small{font-size:.65rem;color:#bed5ed;margin-top:2px}.recovery-feedback{display:flex;align-items:flex-start;gap:11px;border-radius:14px;padding:13px 14px;margin-bottom:18px;font-size:.76rem;line-height:1.4}.recovery-feedback>i{font-size:1.1rem;margin-top:1px}.recovery-feedback>div{display:flex;flex-direction:column;gap:2px}.recovery-feedback strong{font-size:.78rem}.recovery-feedback-success{background:#eef9f3;border:1px solid #cfeedd;color:#276749}.recovery-feedback-warning{background:#fff8e7;border:1px solid #f4dfad;color:#7b5b12}.recovery-feedback-danger{background:#fff1f1;border:1px solid #f3caca;color:#9b3434}.recovery-back{margin-top:18px;text-align:center}.recovery-back a{display:inline-flex;align-items:center;gap:7px;text-decoration:none;font-size:.73rem;font-weight:750;color:#2667b5}.recovery-back a:hover{text-decoration:underline}.recovery-secure{margin-top:22px}.recovery-footer{margin-top:13px!important}.recovery-password-tips{position:relative;z-index:2;display:grid;gap:9px}.recovery-password-tips span{display:flex;align-items:center;gap:9px;color:#d6e7f8;font-size:.73rem}.recovery-password-tips i{color:#6fcb9d}.password-input-wrap .form-control{padding-right:48px}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);z-index:2;border:0;background:transparent;color:#7189a5;padding:6px;border-radius:8px}.password-toggle:hover{background:#edf4fb;color:#185fae}.password-requirement{display:flex;align-items:flex-start;gap:8px;color:#75879b;font-size:.68rem;line-height:1.4;margin:-2px 0 14px}.password-requirement i{color:#2970bd;margin-top:1px}.recovery-action-link{text-decoration:none;margin-top:4px}
@media(max-width:991.98px){.recovery-auth-card{min-height:auto;max-width:590px}.recovery-panel{padding:38px 32px}}
@media(max-width:575.98px){.recovery-panel{padding:28px 22px}.recovery-auth-card{border-radius:24px}.recovery-panel .auth-form-copy h2{font-size:1.65rem}.recovery-panel .auth-form-copy p{margin-bottom:22px}}

/* v1.19 — responsividade do login + Select2 no cadastro */
.mechanical-login{min-height:100vh;overflow-x:hidden;overflow-y:auto}
.mechanical-login>.container{width:100%;min-height:100vh}
.mechanical-login .engineering-auth{max-width:1180px;width:100%}
.registration-page .select2-container{width:100%!important}
.registration-page .select2-container .select2-selection--single{height:38px;border:1px solid #dee2e6;border-radius:.375rem;background:#fff;display:flex;align-items:center}
.registration-page .select2-container .select2-selection--single .select2-selection__rendered{padding-left:12px;padding-right:34px;line-height:36px;color:#212529}
.registration-page .select2-container .select2-selection--single .select2-selection__arrow{height:36px;right:6px}
.registration-page .select2-container--default.select2-container--focus .select2-selection--single,.registration-page .select2-container--default.select2-container--open .select2-selection--single{border-color:#86b7fe;box-shadow:0 0 0 .25rem rgba(13,110,253,.15)}
.registration-page .select2-container--default.select2-container--disabled .select2-selection--single{background:#e9ecef;opacity:.72}
.registration-page .select2-dropdown{border-color:#cbd8e8;border-radius:12px;overflow:hidden;box-shadow:0 12px 28px rgba(18,67,116,.14)}
.registration-page .select2-search--dropdown{padding:9px}.registration-page .select2-search__field{border:1px solid #d7e2ef!important;border-radius:8px;padding:7px 9px!important;outline:0}
.registration-page .select2-results__option{padding:8px 12px;font-size:.86rem}.registration-page .select2-results__option--highlighted.select2-results__option--selectable{background:#1267d8}
.tecnico-unit-field[hidden]{display:none!important}

@media(max-width:1199.98px){
  .mechanical-login .engineering-auth{width:min(100%,1040px)}
  .engineering-brand{padding:38px 38px}.auth-form-panel{padding:44px 38px}
  .engineering-logo{height:124px;margin:24px 0 20px}
  .engineering-brand h1 span{font-size:clamp(2.8rem,5vw,4rem)}
}
@media(max-width:991.98px){
  .mechanical-login>.container{min-height:100svh;padding:24px 16px!important;align-items:center!important}
  .mechanical-login .engineering-auth{max-width:580px;min-height:auto;margin:auto}
  .mechanical-login .auth-form-panel{padding:34px 30px}
  .mechanical-login .mobile-login-brand{justify-content:flex-start;margin-bottom:24px}
  .mechanical-login .mobile-login-brand img{width:104px;height:50px}
}
@media(max-width:575.98px){
  .mechanical-login>.container{padding:12px!important;align-items:flex-start!important}
  .mechanical-login .engineering-auth{border-radius:20px;margin:0;box-shadow:0 18px 42px rgba(11,49,94,.16)}
  .mechanical-login .auth-form-panel{padding:24px 18px 20px}
  .mechanical-login .mobile-login-brand{gap:9px;margin-bottom:20px;align-items:center}
  .mechanical-login .mobile-login-brand img{width:84px;height:42px}.mechanical-login .mobile-login-brand strong{font-size:1.18rem}
  .mechanical-login .auth-form-copy h2{font-size:1.62rem;line-height:1.15}.mechanical-login .auth-form-copy p{font-size:.79rem;margin-bottom:20px}
  .mechanical-login .form-control-lg{min-height:48px;font-size:.86rem}.mechanical-login .engineering-login-btn{min-height:50px;font-size:.95rem}
  .mechanical-login .login-links{gap:10px;margin-top:17px}.mechanical-login .login-links a{font-size:.71rem}
  .mechanical-login .login-secure{margin-top:22px;padding-top:16px}
  .mechanical-login .login-footer{margin-top:12px!important;padding-top:12px!important}.mechanical-login .login-footer__rights{font-size:.58rem!important}.mechanical-login .login-footer__developer{font-size:.58rem}
  .registration-page .select2-container .select2-selection--single{height:42px}.registration-page .select2-container .select2-selection--single .select2-selection__rendered{line-height:40px}.registration-page .select2-container .select2-selection--single .select2-selection__arrow{height:40px}
}
@media(min-width:992px) and (max-height:760px){
  .mechanical-login>.container{padding-top:18px!important;padding-bottom:18px!important}
  .mechanical-login .engineering-auth{min-height:610px}
  .engineering-brand{padding:30px 38px}.engineering-logo{height:105px;margin:20px 0 16px}.engineering-brand h1 span{font-size:3.55rem}.engineering-brand p{margin-top:12px;line-height:1.5}
  .auth-form-panel{padding:34px 38px}.auth-form-copy p{margin-bottom:20px}.login-secure{margin-top:22px;padding-top:16px}
}

/* v1.19.1 — correção definitiva de responsividade do login */
.mechanical-login{
  min-height:100%;
  min-height:100dvh;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
.mechanical-login>.container.min-vh-100{
  min-height:100dvh!important;
  height:auto!important;
  max-width:100%!important;
}
.mechanical-login .engineering-auth{
  min-width:0;
  height:auto;
}
.mechanical-login .engineering-brand,
.mechanical-login .auth-form-panel{
  min-width:0;
}
.mechanical-login .auth-form-panel{
  overflow-wrap:anywhere;
}
.mechanical-login .login-footer,
.mechanical-login .login-footer__developer,
.mechanical-login .login-links{
  min-width:0;
}

/* Notebook/desktop com pouca altura: reduz o card em vez de forçar corte vertical. */
@media (min-width:992px) and (max-height:820px){
  .mechanical-login>.container.min-vh-100{
    align-items:flex-start!important;
    padding-top:18px!important;
    padding-bottom:18px!important;
  }
  .mechanical-login .engineering-auth{
    min-height:0!important;
    margin:auto 0;
  }
  .mechanical-login .engineering-brand{
    padding:26px 34px!important;
  }
  .mechanical-login .engineering-logo{
    height:96px!important;
    margin:16px 0 14px!important;
  }
  .mechanical-login .engineering-brand h1 span{
    font-size:3.15rem!important;
  }
  .mechanical-login .engineering-brand h1 small{
    font-size:.86rem!important;
  }
  .mechanical-login .engineering-brand p{
    margin-top:10px!important;
    line-height:1.42!important;
    font-size:.86rem!important;
  }
  .mechanical-login .engineering-features span{
    padding:6px 9px!important;
  }
  .mechanical-login .auth-form-panel{
    padding:27px 36px!important;
    justify-content:flex-start!important;
  }
  .mechanical-login .auth-form-copy h2{
    font-size:1.75rem!important;
  }
  .mechanical-login .auth-form-copy p{
    margin-bottom:17px!important;
  }
  .mechanical-login .form-control-lg{
    min-height:47px!important;
    font-size:.88rem!important;
  }
  .mechanical-login .engineering-login-btn{
    min-height:49px!important;
  }
  .mechanical-login .login-links{
    margin-top:16px!important;
  }
  .mechanical-login .login-secure{
    margin-top:18px!important;
    padding-top:14px!important;
  }
  .mechanical-login .login-footer{
    margin-top:10px!important;
    padding-top:10px!important;
  }
}

/* Tablet: exibe somente o painel de acesso, centralizado, sem largura/altura fixa. */
@media (max-width:991.98px){
  .mechanical-login>.container.min-vh-100{
    min-height:100dvh!important;
    padding:20px!important;
    align-items:center!important;
  }
  .mechanical-login .engineering-auth{
    display:block!important;
    width:100%!important;
    max-width:600px!important;
    min-height:0!important;
    border-radius:26px!important;
    margin:auto!important;
  }
  .mechanical-login .auth-form-panel{
    width:100%!important;
    max-width:none!important;
    padding:34px 30px 28px!important;
  }
  .mechanical-login .mobile-login-brand{
    display:flex!important;
    width:100%;
  }
}

/* Celular: card ocupa a largura disponível e todos os elementos quebram corretamente. */
@media (max-width:575.98px){
  .mechanical-login .mechanical-grid,
  .mechanical-login .gear{
    display:none!important;
  }
  .mechanical-login>.container.min-vh-100{
    min-height:100dvh!important;
    width:100%!important;
    padding:10px!important;
    align-items:flex-start!important;
  }
  .mechanical-login .engineering-auth{
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    margin:0!important;
    border-radius:18px!important;
    overflow:visible!important;
  }
  .mechanical-login .auth-form-panel{
    width:100%!important;
    padding:22px 16px 18px!important;
    border-radius:18px!important;
  }
  .mechanical-login .mobile-login-brand{
    gap:10px!important;
    margin-bottom:18px!important;
  }
  .mechanical-login .mobile-login-brand img{
    width:76px!important;
    height:42px!important;
    flex:0 0 76px;
  }
  .mechanical-login .mobile-login-brand strong{
    font-size:1.08rem!important;
    line-height:1.15!important;
  }
  .mechanical-login .auth-form-copy h2{
    font-size:1.5rem!important;
    line-height:1.15!important;
  }
  .mechanical-login .auth-form-copy p{
    font-size:.78rem!important;
    margin-bottom:18px!important;
  }
  .mechanical-login .login-field{
    margin-bottom:13px!important;
  }
  .mechanical-login .form-label{
    font-size:.86rem!important;
  }
  .mechanical-login .input-icon .form-control{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    padding-left:42px!important;
    padding-right:12px!important;
    font-size:.84rem!important;
  }
  .mechanical-login .engineering-login-btn{
    width:100%!important;
    min-height:48px!important;
    padding:10px 14px!important;
    font-size:.9rem!important;
  }
  .mechanical-login .login-links{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    margin-top:16px!important;
  }
  .mechanical-login .login-links a{
    width:100%;
    justify-content:flex-start;
    font-size:.72rem!important;
  }
  .mechanical-login .login-secure{
    margin-top:18px!important;
    padding-top:14px!important;
    font-size:.64rem!important;
  }
  .mechanical-login .login-footer{
    width:100%!important;
    margin-top:12px!important;
    padding-top:12px!important;
    gap:6px!important;
  }
  .mechanical-login .login-footer__rights{
    width:100%;
    font-size:.57rem!important;
    line-height:1.35!important;
  }
  .mechanical-login .login-footer__developer{
    width:100%;
    justify-content:center!important;
    flex-wrap:wrap!important;
    font-size:.57rem!important;
  }
  .mechanical-login .login-footer__logo-link img{
    width:44px!important;
    height:18px!important;
  }
}

/* Celular em paisagem ou qualquer viewport extremamente baixo. */
@media (max-height:560px){
  .mechanical-login>.container.min-vh-100{
    min-height:100dvh!important;
    align-items:flex-start!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }
  .mechanical-login .engineering-auth{
    margin:0 auto!important;
    min-height:0!important;
  }
  .mechanical-login .auth-form-panel{
    justify-content:flex-start!important;
  }
}


/* v1.19.3 — login realmente fluido: sem centralização que corta conteúdo alto */
html, body.mechanical-login{
  min-height:100%;
  width:100%;
}
body.mechanical-login{
  margin:0;
  min-height:100dvh;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
.mechanical-login .login-page-shell{
  box-sizing:border-box;
  width:100%;
  min-height:100dvh;
  padding:clamp(14px,3vh,34px) clamp(12px,3vw,28px);
  display:flex;
  flex-direction:column;
}
.mechanical-login .login-page-shell>.engineering-auth{
  flex:0 0 auto;
  width:min(1180px,100%)!important;
  min-height:0!important;
  height:auto!important;
  margin:auto!important;
  overflow:hidden;
}
.mechanical-login .engineering-brand,
.mechanical-login .auth-form-panel{
  height:auto!important;
}
.mechanical-login .auth-form-panel{
  justify-content:center;
}

/* Evita corte vertical em notebooks/telas baixas: o card sobe ao topo e a página rola. */
@media (max-height:820px){
  .mechanical-login .login-page-shell{
    padding-top:14px;
    padding-bottom:14px;
  }
  .mechanical-login .login-page-shell>.engineering-auth{
    margin:0 auto!important;
  }
}

/* Tablet e celular: somente o painel de acesso, largura total e fluxo natural. */
@media (max-width:991.98px){
  .mechanical-login .login-page-shell{
    min-height:100dvh;
    padding:18px;
  }
  .mechanical-login .login-page-shell>.engineering-auth{
    display:block!important;
    width:min(600px,100%)!important;
    max-width:600px!important;
    margin:auto!important;
    border-radius:24px!important;
  }
  .mechanical-login .auth-form-panel{
    width:100%!important;
    max-width:none!important;
    padding:32px 28px 26px!important;
  }
}

@media (max-width:575.98px){
  .mechanical-login .login-page-shell{
    display:block!important;
    min-height:100dvh;
    padding:8px!important;
  }
  .mechanical-login .login-page-shell>.engineering-auth{
    width:100%!important;
    max-width:none!important;
    margin:0 auto!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }
  .mechanical-login .auth-form-panel{
    padding:18px 14px 16px!important;
  }
  .mechanical-login .mobile-login-brand{
    margin-bottom:14px!important;
  }
  .mechanical-login .auth-form-copy h2{
    margin-top:6px!important;
    font-size:1.42rem!important;
  }
  .mechanical-login .auth-form-copy p{
    margin-bottom:15px!important;
  }
  .mechanical-login .login-field{
    margin-bottom:11px!important;
  }
  .mechanical-login .login-links{
    margin-top:13px!important;
  }
  .mechanical-login .login-secure{
    margin-top:15px!important;
    padding-top:12px!important;
  }
  .mechanical-login .login-footer{
    margin-top:10px!important;
    padding-top:10px!important;
  }
}

/* Telefones muito estreitos. */
@media (max-width:390px){
  .mechanical-login .auth-form-panel{padding:16px 12px 14px!important}
  .mechanical-login .mobile-login-brand img{width:66px!important;height:38px!important;flex-basis:66px!important}
  .mechanical-login .mobile-login-brand strong{font-size:1rem!important}
  .mechanical-login .auth-form-copy h2{font-size:1.32rem!important}
  .mechanical-login .input-icon .form-control{font-size:.8rem!important}
}

/* Celular em paisagem: preserva acesso ao topo e ao rodapé por rolagem. */
@media (max-height:560px){
  .mechanical-login .login-page-shell{
    display:block!important;
    min-height:100dvh;
    padding:8px!important;
  }
  .mechanical-login .login-page-shell>.engineering-auth{
    margin:0 auto!important;
  }
}

/* v1.19.5 — centralização responsiva definitiva do login
   O shell é o único responsável pela centralização. Evita regras concorrentes
   por altura/largura e mantém rolagem quando o card não couber na viewport. */
html:has(body.mechanical-login),
body.mechanical-login{
  width:100%;
  min-width:0;
  min-height:100%;
  margin:0;
}
body.mechanical-login{
  min-height:100vh;
  min-height:100dvh;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
.mechanical-login .login-page-shell{
  position:relative;
  box-sizing:border-box;
  width:100%!important;
  max-width:none!important;
  min-height:100vh!important;
  min-height:100dvh!important;
  margin:0!important;
  padding:clamp(16px,3vh,32px) clamp(14px,3vw,32px)!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
}
.mechanical-login .login-page-shell > .engineering-auth{
  flex:0 1 1180px!important;
  width:min(1180px,100%)!important;
  max-width:1180px!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:auto!important;
}

/* Tablet e celular: painel único realmente centralizado nos dois eixos. */
@media (max-width:991.98px){
  .mechanical-login .login-page-shell{
    padding:clamp(12px,3vw,22px)!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .mechanical-login .login-page-shell > .engineering-auth{
    flex:0 1 600px!important;
    display:block!important;
    width:min(600px,100%)!important;
    max-width:600px!important;
    margin:auto!important;
  }
}

@media (max-width:575.98px){
  .mechanical-login .login-page-shell{
    display:flex!important;
    width:100%!important;
    min-height:100vh!important;
    min-height:100dvh!important;
    padding:12px!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .mechanical-login .login-page-shell > .engineering-auth{
    flex:0 1 auto!important;
    width:100%!important;
    max-width:430px!important;
    margin:auto!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  .mechanical-login .auth-form-panel{
    width:100%!important;
    max-width:none!important;
    padding:20px 16px 18px!important;
  }
}

/* Se a altura disponível for menor que o conteúdo, prioriza acesso ao topo e
   deixa o scroll da página cuidar do restante, sem corte do card. */
@media (max-height:680px){
  .mechanical-login .login-page-shell{
    min-height:100dvh!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding-top:10px!important;
    padding-bottom:10px!important;
  }
  .mechanical-login .login-page-shell > .engineering-auth{
    margin:0 auto!important;
  }
}

/* EngMec+ v1.19.6 — escala visual do login em telas pequenas
   Mantém a centralização estrutural da v1.19.5 e aumenta o conteúdo interno. */
@media (max-width:575.98px){
  .mechanical-login .login-page-shell > .engineering-auth{
    max-width:448px!important;
  }
  .mechanical-login .auth-form-panel{
    padding:28px 20px 24px!important;
  }
  .mechanical-login .mobile-login-brand{
    gap:12px!important;
    margin-bottom:24px!important;
  }
  .mechanical-login .mobile-login-brand img{
    width:112px!important;
    height:54px!important;
    flex:0 0 112px!important;
    object-fit:contain!important;
  }
  .mechanical-login .mobile-login-brand strong{
    font-size:1.34rem!important;
    line-height:1.1!important;
  }
  .mechanical-login .form-kicker{
    font-size:.76rem!important;
    letter-spacing:.11em!important;
  }
  .mechanical-login .auth-form-copy h2{
    font-size:1.82rem!important;
    line-height:1.12!important;
    margin:9px 0 8px!important;
  }
  .mechanical-login .auth-form-copy p{
    font-size:.88rem!important;
    line-height:1.48!important;
    margin-bottom:24px!important;
  }
  .mechanical-login .login-field{
    margin-bottom:17px!important;
  }
  .mechanical-login .login-field .form-label{
    font-size:.92rem!important;
    margin-bottom:7px!important;
  }
  .mechanical-login .login-field .form-control,
  .mechanical-login .form-control-lg{
    min-height:54px!important;
    font-size:.94rem!important;
    border-radius:14px!important;
  }
  .mechanical-login .input-icon>i{
    left:16px!important;
    font-size:1rem!important;
  }
  .mechanical-login .input-icon .form-control{
    padding-left:46px!important;
  }
  .mechanical-login .engineering-login-btn{
    min-height:56px!important;
    font-size:1.05rem!important;
    border-radius:14px!important;
    margin-top:5px!important;
  }
  .mechanical-login .login-links{
    gap:11px!important;
    margin-top:19px!important;
  }
  .mechanical-login .login-links a{
    font-size:.78rem!important;
    gap:7px!important;
  }
  .mechanical-login .login-secure{
    margin-top:24px!important;
    padding-top:18px!important;
    font-size:.72rem!important;
    line-height:1.45!important;
  }
  .mechanical-login .login-secure i{
    font-size:1.08rem!important;
  }
  .mechanical-login .login-footer{
    margin-top:16px!important;
    padding-top:14px!important;
    gap:8px!important;
  }
  .mechanical-login .login-footer__rights{
    font-size:.62rem!important;
    line-height:1.4!important;
  }
  .mechanical-login .login-footer__developer{
    font-size:.62rem!important;
    gap:6px!important;
  }
  .mechanical-login .login-footer__logo-link img{
    width:58px!important;
    height:23px!important;
  }
}

/* Celulares realmente estreitos: reduz só o necessário para preservar leitura. */
@media (max-width:390px){
  .mechanical-login .auth-form-panel{
    padding:24px 16px 20px!important;
  }
  .mechanical-login .mobile-login-brand img{
    width:98px!important;
    height:48px!important;
    flex-basis:98px!important;
  }
  .mechanical-login .mobile-login-brand strong{font-size:1.22rem!important}
  .mechanical-login .auth-form-copy h2{font-size:1.68rem!important}
  .mechanical-login .auth-form-copy p{font-size:.84rem!important}
}


/* EngMec+ v1.19.7 — centralização da marca no login mobile */
@media (max-width:575.98px){
  .mechanical-login .mobile-login-brand{
    width:100%!important;
    justify-content:center!important;
    text-align:center!important;
  }
}


/* EngMec+ v1.19.8.1 — refinamento do bloco institucional no login desktop
   Aplicado sobre o app.css fornecido em 11/09/2026. */
@media (min-width: 992px) {
  .mechanical-login .engineering-brand h1 small {
    display: block !important;
    margin-top: 0.8rem !important;
    font-size: 1.22rem !important;
    line-height: 1.45 !important;
    font-weight: 750 !important;
  }

  .mechanical-login .engineering-brand p {
    max-width: 600px !important;
    margin-top: 1.35rem !important;
    font-size: 1.08rem !important;
    line-height: 1.7 !important;
  }
}


/* v1.20 — cards laterais públicos compactos */
.public-contact-card{height:auto!important;align-self:flex-start;}
@media (min-width:992px){.public-contact-card{max-height:440px;overflow:auto;scrollbar-width:thin;}}
/* v1.21.2 - ação de saída no topo */
.top-logout-action{width:auto;min-width:76px;height:44px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:9px;line-height:1;text-decoration:none}.top-logout-action i{display:block;font-size:1rem;line-height:1}.top-logout-action span{display:block;font-size:.82rem;font-weight:700;line-height:1}@media(max-width:767.98px){.top-logout-action{display:flex;min-width:42px;padding:0 10px}}

/* v1.21.12 — link do usuário no topo: aparência limpa, mantendo navegação */
.top-user-profile-link,
.top-user-profile-link:link,
.top-user-profile-link:visited,
.top-user-profile-link:hover,
.top-user-profile-link:focus,
.top-user-profile-link:active,
.top-user-profile-link strong,
.top-user-profile-link small{
    text-decoration:none !important;
}
.top-user-profile-link{color:inherit;}
.top-user-profile-link:hover strong,
.top-user-profile-link:focus-visible strong{color:#0b63ce;}
.top-user-profile-link:focus-visible{outline:2px solid rgba(11,99,206,.28);outline-offset:4px;border-radius:10px;}

/* ENADE — organização para turmas e encontros extensos */
.enade-compact-panel{min-height:0}.enade-scroll-area{max-height:620px;overflow:auto;scrollbar-gutter:stable}.enade-inline-search{width:210px}.enade-search-field{display:flex;align-items:center;gap:.65rem;min-height:44px;padding:.15rem .9rem;border:1px solid #d9e3f0;border-radius:14px;background:#f8fbff;box-shadow:0 4px 14px rgba(15,50,90,.04);transition:.2s}.enade-search-field:focus-within{background:#fff;border-color:#76a9ff;box-shadow:0 0 0 4px rgba(13,110,253,.09)}.enade-search-field i{color:#47709f;font-size:1rem}.enade-search-field input{border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;width:100%;min-width:0;padding:.45rem 0}.enade-professor-picker{padding:12px;border:1px solid #e0e8f2;border-radius:16px;background:#f8fbff}.enade-professor-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:250px;overflow:auto}.enade-professor-option{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid #e3eaf3;border-radius:12px;cursor:pointer}.enade-professor-option:hover{border-color:#9fc1f5}.enade-professor-option span{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem}.enade-meeting-meta{display:flex;align-items:center;gap:6px;margin-top:5px;color:#42658d;font-size:.78rem;font-weight:600}.enade-meeting-note{margin:7px 0 0;padding:8px 10px;border-left:3px solid #b9d4f8;border-radius:0 8px 8px 0;background:#f6f9fd;color:#66788d;font-size:.8rem;line-height:1.35;white-space:normal}.enade-scroll-area thead{position:sticky;top:0;z-index:2;background:#fff}
@media(max-width:767.98px){.enade-scroll-area{max-height:480px}.enade-inline-search{width:100%}.enade-professor-options{grid-template-columns:1fr}.enade-search-field{width:100%}.panel-head>.d-flex:has(.enade-inline-search){width:100%;flex-wrap:wrap}}

/* ENADE - rankings independentes por nota e assiduidade */
.enade-ranking-kicker{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:#eaf3ff;color:#0b63c9;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.enade-ranking-kicker.attendance{background:#eaf8ef;color:#18794e}.attendance-panel{border-top:3px solid #35a66f}.attendance-race .rocket-progress{background:linear-gradient(90deg,rgba(35,155,96,.08),rgba(35,155,96,.22));border-right-color:#239b60}.attendance-race .rocket-icon{color:#198754}.attendance-race .rocket-score{color:#18794e}.rank-badge.attendance{background:#eaf8ef;color:#18794e}.rank-badge.attendance.top{background:#d9f4e4;color:#11653f}@media(max-width:767.98px){.panel-head form{width:100%}.panel-head form .enade-search-field{flex:1;min-width:0}.attendance-panel .panel-head{align-items:flex-start}}

/* ENADE — navegação e páginas de competição separadas */
.enade-rank-nav{display:flex;gap:8px;padding:6px;background:#eef4fb;border:1px solid #dde8f5;border-radius:16px;width:max-content;max-width:100%;overflow:auto}.enade-rank-nav a{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border-radius:11px;color:#49647f;text-decoration:none;font-weight:800;font-size:.84rem;white-space:nowrap}.enade-rank-nav a:hover{background:#fff;color:#0b63ce}.enade-rank-nav a.active{background:#fff;color:#0b63ce;box-shadow:0 5px 16px rgba(24,74,125,.1)}.enade-competition-card{height:100%;display:flex;gap:18px;padding:24px;border:1px solid #dce8f5;border-radius:20px;background:linear-gradient(145deg,#fff,#f7fbff);text-decoration:none;color:inherit;box-shadow:0 10px 28px rgba(21,59,98,.06);transition:.2s}.enade-competition-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(21,59,98,.11)}.enade-competition-card.attendance{background:linear-gradient(145deg,#fff,#f5fcf8);border-color:#d9eee2}.competition-icon{width:58px;height:58px;flex:0 0 58px;border-radius:17px;display:grid;place-items:center;background:#e8f2ff;color:#0b63ce;font-size:1.5rem}.attendance .competition-icon{background:#e7f7ed;color:#198754}.enade-competition-card h2{font-size:1.2rem;margin:4px 0 7px}.enade-competition-card p{color:#66788d;margin:0 0 10px;line-height:1.5}.enade-competition-card strong{color:#0b63ce;font-size:.84rem}.enade-competition-card.attendance strong{color:#198754}.enade-mini-title{font-size:.92rem;font-weight:900;color:#244766;margin-bottom:12px}.enade-mini-title.attendance{color:#18794e}.enade-mini-rank{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #edf2f7}.enade-mini-rank>span{width:34px;height:34px;border-radius:10px;background:#eaf3ff;color:#0b63ce;display:grid;place-items:center;font-weight:900}.enade-mini-rank.attendance>span{background:#eaf8ef;color:#18794e}.enade-mini-rank div{min-width:0}.enade-mini-rank strong,.enade-mini-rank small{display:block}.enade-mini-rank strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.enade-mini-rank small{color:#7a8da1;font-size:.74rem}.enade-mini-rank b{font-size:.88rem}@media(max-width:767.98px){.enade-rank-nav{width:100%}.enade-rank-nav a{flex:1;justify-content:center}.enade-competition-card{padding:18px}.competition-icon{width:48px;height:48px;flex-basis:48px}.rocket-lane{min-width:760px}}


/* ENADE — reprodução controlada da corrida de foguetes */
.rocket-race .rocket-progress{width:0!important;transition:none!important;}
.rocket-race.is-running .rocket-progress{width:var(--rocket-target)!important;transition:width 2.4s cubic-bezier(.16,.84,.31,1)!important;}
.rocket-race .rocket-icon{transition:transform .25s ease;}
.rocket-race.is-running .rocket-icon{animation:enadeRocketPulse .55s ease-in-out 4 alternate;}
.enade-play-race{white-space:nowrap;}
@keyframes enadeRocketPulse{from{transform:translate(50%,-50%) rotate(43deg) scale(1)}to{transform:translate(calc(50% + 4px),-50%) rotate(43deg) scale(1.08)}}
@media (prefers-reduced-motion:reduce){.rocket-race.is-running .rocket-progress{transition-duration:.01ms!important}.rocket-race.is-running .rocket-icon{animation:none!important}}

/* v1.19.2 — corrida ENADE inicia automaticamente e mantém cada foguete centralizado na sua faixa */
.rocket-track .rocket-progress{position:relative;height:100%;}
.rocket-track .rocket-icon{top:50%!important;bottom:auto!important;transform:translate(50%,-50%) rotate(43deg);transform-origin:center center;}
.rocket-race.is-running .rocket-icon{animation-name:enadeRocketPulse;}


/* v1.20 — ENADE: voo horizontal dos foguetes, sem oscilação vertical */
.rocket-race .rocket-icon{top:50%!important;transform:translate(50%,-50%) rotate(43deg)!important;}
.rocket-race.is-running .rocket-icon{animation:enadeRocketStraight .55s ease-in-out 4 alternate!important;}
@keyframes enadeRocketStraight{
  from{transform:translate(50%,-50%) rotate(43deg) scale(1)}
  to{transform:translate(50%,-50%) rotate(43deg) scale(1.06)}
}
@media (prefers-reduced-motion:reduce){.rocket-race.is-running .rocket-icon{animation:none!important}}

/* Navegação v1.20: separação visual dos módulos do menu */
.sidebar-section-label{position:relative;padding-left:12px;margin-top:22px}
.sidebar-section-label::before{content:"";position:absolute;left:0;top:50%;width:4px;height:14px;border-radius:999px;background:rgba(143,183,226,.72);transform:translateY(-50%)}
.sidebar-section-label:first-child{margin-top:14px}
.sidebar-nav+.sidebar-section-label{padding-top:1px}
.sidebar-link{position:relative}
.sidebar-link .nav-icon{flex:0 0 26px}
.sidebar-link>span:last-child{line-height:1.2}
@media (max-width:991.98px){.sidebar-section-label{margin-top:18px}.sidebar-link{min-height:48px}}


/* EngMec+ • LGPD, cookies e identidade maranhense */
.maranhao-pride{display:flex;align-items:center;gap:.7rem;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:.65rem .8rem;background:rgba(255,255,255,.06)}.maranhao-pride span:last-child{display:flex;flex-direction:column;line-height:1.15}.maranhao-pride small{font-size:.66rem;opacity:.68;text-transform:uppercase;letter-spacing:.08em}.maranhao-pride strong{font-size:.82rem}.ma-flag{position:relative;flex:0 0 38px;width:38px;height:25px;border-radius:4px;overflow:hidden;background:linear-gradient(to bottom,#c93428 0 14.28%,#fff 14.28% 28.56%,#050505 28.56% 42.84%,#fff 42.84% 57.12%,#c93428 57.12% 71.4%,#fff 71.4% 85.68%,#050505 85.68% 100%);box-shadow:0 0 0 1px rgba(0,0,0,.12)}.ma-flag:before{content:"";position:absolute;inset:0 auto auto 0;width:13px;height:13px;background:#302c82}.ma-flag b{position:absolute;z-index:2;left:3.5px;top:-1px;color:#fff;font-size:9px;line-height:13px}.maranhao-pride--auth{margin-top:1rem;color:#17324d;background:#f7fafc;border-color:#dfe8f0}.maranhao-pride--registration{max-width:430px;margin:1.2rem auto 0;color:#17324d;background:#fff;border-color:#dfe8f0}.maranhao-pride--sidebar{margin:.55rem .75rem;color:#fff;background:rgba(255,255,255,.055)}.sidebar-privacy-link{display:flex;align-items:center;gap:.55rem;margin:.4rem .8rem 0;padding:.55rem .7rem;border-radius:10px;color:rgba(255,255,255,.7);text-decoration:none;font-size:.78rem}.sidebar-privacy-link:hover{color:#fff;background:rgba(255,255,255,.07)}.system-footer__privacy{color:inherit;text-decoration:none}.system-footer__privacy:hover{text-decoration:underline}.lgpd-consent-card{margin:1.2rem 0;padding:1rem 1.1rem;border:1px solid #cfe0ef;border-radius:16px;background:#f7fbff}.lgpd-consent-card .form-check-label{display:flex;flex-direction:column;gap:.25rem}.lgpd-consent-card .form-check-label span{font-size:.86rem;color:#5f6f7f;line-height:1.5}.cookie-consent{position:fixed;z-index:1095;left:50%;bottom:18px;transform:translateX(-50%);width:min(920px,calc(100% - 28px));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem 1.15rem;border:1px solid #d8e3ec;border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 18px 60px rgba(13,36,58,.2);backdrop-filter:blur(12px);transition:.25s ease}.cookie-consent.is-hiding{opacity:0;transform:translate(-50%,12px)}.cookie-consent__icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#e9f3ff;color:#0d6efd;font-size:1.25rem}.cookie-consent__copy strong{display:block;color:#17324d}.cookie-consent__copy p{margin:.15rem 0;font-size:.84rem;color:#5e6d7b;line-height:1.4}.cookie-consent__link{font-size:.8rem;font-weight:700;text-decoration:none}.legal-page{min-height:100vh;background:linear-gradient(135deg,#eef5fb,#fff)}.legal-shell{max-width:900px}.legal-hero{padding:2rem;border-radius:24px;background:linear-gradient(135deg,#0d3154,#125b91);color:#fff;box-shadow:0 20px 50px rgba(13,49,84,.16)}.legal-hero h1{font-weight:800;margin:.4rem 0 .8rem}.legal-hero p{margin:0;color:rgba(255,255,255,.82);line-height:1.7}.legal-card{margin-top:1rem;padding:2rem;border:1px solid #dde7ef;border-radius:24px;background:#fff;box-shadow:0 15px 45px rgba(22,50,75,.08)}.legal-card h2{font-size:1.08rem;font-weight:800;color:#17324d;margin:1.4rem 0 .4rem}.legal-card h2:first-child{margin-top:0}.legal-card p{color:#5a6977;line-height:1.7}.legal-note{display:flex;gap:.8rem;margin-top:1.5rem;padding:1rem;border-radius:14px;background:#eef7ff;color:#244d70}.legal-note div{display:flex;flex-direction:column}.maranhao-pride--legal{margin-top:1rem;color:#17324d;background:#fff;border-color:#dfe8f0;width:max-content;max-width:100%}@media(max-width:700px){.cookie-consent{grid-template-columns:auto 1fr;bottom:10px}.cookie-consent__actions{grid-column:1/-1}.cookie-consent__actions .btn{width:100%}.maranhao-pride--sidebar{display:none}.legal-hero,.legal-card{padding:1.35rem}}

/* Ajuste da identidade maranhense: selo integrado aos menus */
.engineering-features .engineering-pride{display:inline-flex;align-items:center;gap:.48rem;white-space:nowrap}
.engineering-features .engineering-pride .ma-flag{flex-basis:27px;width:27px;height:18px;border-radius:3px}
.engineering-features .engineering-pride .ma-flag:before{width:9px;height:9px}
.engineering-features .engineering-pride .ma-flag b{left:2px;top:-2px;font-size:6px;line-height:9px}
.sidebar-pride-item{display:flex;align-items:center;gap:.58rem;margin:.18rem .8rem .55rem;padding:.55rem .7rem;border-radius:10px;color:rgba(255,255,255,.78);font-size:.76rem;font-weight:600;line-height:1.2}
.sidebar-pride-item .ma-flag{flex-basis:30px;width:30px;height:20px}
.sidebar-pride-item .ma-flag:before{width:10px;height:10px}
.sidebar-pride-item .ma-flag b{left:2.5px;top:-2px;font-size:7px;line-height:10px}
@media(max-width:1200px){.engineering-features{gap:.4rem!important}.engineering-features .engineering-pride{font-size:.68rem}}
\n/* Refinamentos LGPD/identidade - 28/09/2026 */
.engineering-features .ma-flag,.sidebar .ma-flag{padding:0!important;border:0!important;background:linear-gradient(to bottom,#c93428 0 14.28%,#fff 14.28% 28.56%,#050505 28.56% 42.84%,#fff 42.84% 57.12%,#c93428 57.12% 71.4%,#fff 71.4% 85.68%,#050505 85.68% 100%)!important;display:inline-block!important;position:relative!important;overflow:hidden!important}
.registration-bottomline{max-width:1120px;margin:14px auto 0;display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}.registration-bottomline .maranhao-pride--registration{margin:0;max-width:none}.registration-bottomline .registration-footer{margin:0;padding:0;max-width:none}
.sidebar-bottom-menu{margin-top:24px;padding-bottom:10px}.sidebar-pride-item{margin:0!important;font-size:inherit!important;font-weight:inherit!important;cursor:default}.sidebar-pride-item:hover{background:transparent!important;color:#d9e8f8!important}.sidebar-pride-item .nav-icon{display:flex;align-items:center;justify-content:center}.sidebar-pride-item .ma-flag{width:27px;height:18px;flex-basis:27px}.sidebar-pride-item .ma-flag:before{width:9px;height:9px}.sidebar-pride-item .ma-flag b{left:2px;top:-2px;font-size:6px;line-height:9px}
.legal-brandbar{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:12px 16px;border:1px solid #dce8f2;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(22,50,75,.06)}.legal-brandbar img{width:112px;height:48px;object-fit:contain}.legal-brandbar div{display:flex;flex-direction:column}.legal-brandbar small{font-size:.68rem;color:#718096;text-transform:uppercase;letter-spacing:.08em}.legal-brandbar strong{font-size:1.2rem;color:#123b68}.legal-footer{margin-top:16px;padding:14px 18px;border-top:1px solid #dce8f2;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#708196}.legal-footer>div{display:flex;flex-direction:column}.legal-footer>div strong{color:#173f6c}.legal-footer>div span{font-size:.72rem}.legal-footer>a{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.legal-footer>a span{display:flex;flex-direction:column;text-align:right;line-height:1.1}.legal-footer>a small{font-size:.6rem}.legal-footer>a strong{font-size:.78rem;color:#174e91}.legal-footer img{width:72px;height:30px;object-fit:contain}
@media(max-width:700px){.registration-bottomline{flex-direction:column;gap:10px}.legal-footer{flex-direction:column;text-align:center}.legal-footer>a span{text-align:center}.legal-brandbar{justify-content:center}.legal-brandbar div{display:none}}

/* EngMec+ — refinamento visual LGPD e bandeira oficial */
.engineering-features .engineering-pride .ma-flag-img{width:27px!important;height:18px!important;object-fit:cover!important;border-radius:3px!important;display:block!important;flex:0 0 27px!important;padding:0!important;border:0!important;background:none!important}
.legal-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.legal-topbar__brand{display:flex;align-items:center;gap:14px;text-decoration:none}.legal-topbar__brand img{width:116px;height:54px;object-fit:contain}.legal-topbar__brand span{display:flex;flex-direction:column}.legal-topbar__brand strong{font-size:1.25rem;color:#123b68}.legal-topbar__brand small{font-size:.72rem;color:#718096}.legal-back{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid #cfe0ef;border-radius:12px;background:#fff;color:#1769d2;text-decoration:none;font-weight:700;font-size:.82rem}.legal-back:hover{background:#f2f7fc}.legal-pride{display:flex;align-items:center;justify-content:center;gap:10px;margin:18px auto 0;color:#244d70;font-size:.82rem}.legal-pride img{width:34px;height:22px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px rgba(0,0,0,.12)}.legal-footer-new{margin-top:18px;padding:18px 4px 2px;border-top:1px solid #dce8f2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;color:#718096;font-size:.72rem}.legal-footer-new__system{display:flex;flex-direction:column}.legal-footer-new__system strong{color:#173f6c;font-size:.9rem}.legal-footer-new__copy{text-align:center}.legal-footer-new>a{justify-self:end;display:flex;align-items:center;gap:9px;color:#718096;text-decoration:none}.legal-footer-new>a strong{color:#174e91}.legal-footer-new>a img{width:64px;height:28px;object-fit:contain}@media(max-width:700px){.legal-topbar__brand img{width:96px}.legal-topbar__brand small{display:none}.legal-back span{display:none}.legal-footer-new{grid-template-columns:1fr;text-align:center}.legal-footer-new__system{align-items:center}.legal-footer-new>a{justify-self:center}.legal-footer-new__copy{grid-row:3}.legal-pride{font-size:.76rem}}

/* EngMec+ — refinamento visual do cadastro (2026-10-01)
   Escopo restrito à página pública de cadastro. */
.registration-page .registration-brandbar{
  min-height:104px;
  padding-top:20px;
  padding-bottom:20px;
}
.registration-page .registration-section .form-control,
.registration-page .registration-section .form-select{
  min-height:50px;
  border-color:#cbdced;
  border-width:1px;
  border-radius:14px;
  background-color:#fff;
  box-shadow:0 3px 10px rgba(16,59,109,.045), inset 0 0 0 1px rgba(18,103,216,.018);
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.registration-page .registration-section .form-control:hover,
.registration-page .registration-section .form-select:hover{
  border-color:#a9c9e9;
}
.registration-page .registration-section .form-control:focus,
.registration-page .registration-section .form-select:focus{
  border-color:#4d9bea;
  background-color:#fff;
  box-shadow:0 0 0 .22rem rgba(18,103,216,.11),0 5px 15px rgba(16,59,109,.07);
}
.registration-page .registration-section .form-control:disabled,
.registration-page .registration-section .form-select:disabled{
  background-color:#f3f7fb;
  border-color:#dbe5ef;
  box-shadow:none;
}
.registration-page .registration-section .form-label{
  color:#263b55;
  font-weight:650;
}
.registration-page .lgpd-consent-card{
  margin:1.2rem 42px;
  border-color:#c8dced;
  background:linear-gradient(145deg,#f9fcff,#f3f9ff);
  box-shadow:0 5px 18px rgba(16,59,109,.045);
}
@media(max-width:767.98px){
  .registration-page .registration-brandbar{
    min-height:94px;
    padding-top:18px;
    padding-bottom:18px;
  }
  .registration-page .lgpd-consent-card{
    margin:1rem 20px;
  }
}

/* Agenda: mesma visualização detalhada para gestão e alunos, inclusive em telas pequenas. */
.agenda-event-details{min-width:0;width:100%;display:block}
.agenda-event-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.agenda-event-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0;flex:1}
.agenda-event-title strong{font-size:.86rem;line-height:1.5;overflow-wrap:anywhere}
.agenda-event-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:auto}
.agenda-event-actions form{display:inline-flex;margin:0}
.agenda-event-actions .btn{padding:4px 9px;line-height:1.3}
.agenda-event-meta{display:flex!important;flex-wrap:wrap;gap:5px 16px;margin-top:8px;color:#61758e;font-size:.76rem;visibility:visible!important}
.agenda-event-description{display:block!important;visibility:visible!important;margin-top:8px;color:#586d86;font-size:.79rem;line-height:1.55;overflow-wrap:anywhere;white-space:normal}
@media(max-width:575.98px){.agenda-event-heading{gap:8px}.agenda-event-actions{margin-left:0}.agenda-list-item{grid-template-columns:48px minmax(0,1fr);gap:9px}}
