:root{--navy:#102844;--navy-2:#183c63;--gold:#b89545;--wine:#842b43;--paper:#f4f6f8;--surface:#fff;--ink:#1c2734;--muted:#687587;--line:#dfe5eb;--shadow:0 14px 35px rgba(16,40,68,.08);--sidebar:264px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}h1,h2,h3,.sidebar-brand{font-family:"Libre Franklin",sans-serif}a{text-decoration:none}.section-label,.eyebrow{margin:0 0 .45rem;color:var(--gold);font-size:.75rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.auth-page{background:var(--navy);min-height:100vh}.login-shell{display:grid;grid-template-columns:minmax(320px,1.1fr) minmax(420px,.9fr);min-height:100vh}.login-brand-panel{position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:8vw;background:linear-gradient(145deg,rgba(8,28,50,.98),rgba(24,60,99,.94)),radial-gradient(circle at 30% 30%,#b89545,transparent 40%);color:#fff}.login-brand-panel:after{position:absolute;right:-110px;bottom:-170px;width:430px;height:430px;border:1px solid rgba(255,255,255,.13);border-radius:50%;content:"";box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.02)}.brand-mark img{width:92px;height:92px;padding:10px;border-radius:22px;box-shadow:0 18px 40px rgba(0,0,0,.25)}.login-brand-panel h1{max-width:700px;margin:2rem 0 1rem;font-size:clamp(2.1rem,4vw,4.4rem);font-weight:800;line-height:1.03}.login-brand-panel .lead{color:#d4dee9}.brand-lines{display:flex;gap:8px;margin-top:2.5rem}.brand-lines span{display:block;width:65px;height:5px;background:var(--gold)}.brand-lines span:nth-child(2){width:30px;background:var(--wine)}.brand-lines span:nth-child(3){width:12px;background:#fff}.login-form-panel{display:flex;align-items:center;justify-content:center;padding:3rem;background:#eef2f5}.login-card{width:min(540px,100%);padding:clamp(2rem,5vw,4.25rem);background:#fff;border-top:5px solid var(--gold);box-shadow:0 30px 70px rgba(4,21,37,.18)}.login-card h2{margin-bottom:2.2rem;color:var(--navy);font-size:clamp(1.5rem,2.4vw,2.25rem);line-height:1.2}.microsoft-button{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;padding:14px 18px;border:1px solid #8c8c8c;background:#fff;color:#222;font-weight:700;transition:.2s}.microsoft-button:hover{border-color:var(--navy);box-shadow:0 8px 20px rgba(16,40,68,.12);color:var(--navy)}.ms-symbol{display:grid;grid-template-columns:repeat(2,10px);gap:2px}.ms-symbol i{width:10px;height:10px;background:#f35325}.ms-symbol i:nth-child(2){background:#81bc06}.ms-symbol i:nth-child(3){background:#05a6f0}.ms-symbol i:nth-child(4){background:#ffba08}.access-note,.privacy-note{margin:1.25rem 0;color:var(--muted);font-size:.9rem}.privacy-link{color:var(--navy);font-size:.86rem;font-weight:700}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;z-index:1040;inset:0 auto 0 0;display:flex;flex-direction:column;width:var(--sidebar);padding:1.25rem 1rem;background:linear-gradient(180deg,#0d233d,#132f50);color:#fff;transition:transform .25s}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:.35rem .6rem 1.5rem;color:#fff}.sidebar-brand img{width:48px;height:48px;padding:4px;border-radius:12px}.sidebar-brand strong,.sidebar-brand small{display:block}.sidebar-brand strong{font-size:1.05rem;letter-spacing:.06em}.sidebar-brand small{color:#aebdcd;font-family:"DM Sans",sans-serif;font-size:.74rem}.sidebar-nav{display:flex;flex:1;flex-direction:column;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;padding:.8rem .9rem;border-radius:10px;color:#c7d3df;font-size:.92rem;font-weight:600}.nav-item i{width:22px;font-size:1.1rem}.nav-item:hover,.nav-item.active{background:rgba(255,255,255,.1);color:#fff}.nav-item.active{box-shadow:inset 3px 0 var(--gold)}.sidebar-footer{color:#93a7bb;font-size:.76rem}.status-dot{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:#63c174;box-shadow:0 0 0 4px rgba(99,193,116,.12)}.main-column{width:calc(100% - var(--sidebar));margin-left:var(--sidebar)}.topbar{position:sticky;z-index:1020;top:0;display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:.75rem 2rem;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);backdrop-filter:blur(14px)}.institution-title strong,.institution-title span{display:block}.institution-title strong{color:var(--navy);font-family:"Libre Franklin",sans-serif;font-size:.92rem}.institution-title span{color:var(--muted);font-size:.77rem}.topbar-actions{display:flex;align-items:center;gap:10px}.icon-button{display:grid;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);place-items:center}.user-chip{display:flex;align-items:center;gap:10px;padding:4px 10px 4px 4px}.user-chip .avatar{display:grid;width:38px;height:38px;border-radius:10px;background:var(--navy);color:#fff;font-weight:800;place-items:center}.user-chip strong,.user-chip small{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip strong{font-size:.85rem}.user-chip small{color:var(--muted);font-size:.72rem}.content-area{padding:2rem;max-width:1800px;margin:auto}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}.page-heading h1{margin:0;color:var(--navy);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800}.page-heading p:last-child{margin:.35rem 0 0;color:var(--muted)}.btn-primary{--bs-btn-bg:var(--navy-2);--bs-btn-border-color:var(--navy-2);--bs-btn-hover-bg:var(--navy);--bs-btn-hover-border-color:var(--navy)}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.stat-card{display:flex;align-items:center;gap:15px;min-height:112px;padding:1.25rem;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 5px 20px rgba(16,40,68,.035)}.stat-icon{display:grid;flex:0 0 46px;width:46px;height:46px;border-radius:12px;background:#edf3f8;color:var(--navy-2);font-size:1.25rem;place-items:center}.stat-card strong,.stat-card span{display:block}.stat-card strong{color:var(--navy);font-size:1.75rem;line-height:1}.stat-card div span{margin-top:.4rem;color:var(--muted);font-size:.79rem}.dashboard-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:1rem}.panel{overflow:hidden;padding:1.25rem;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:0 5px 20px rgba(16,40,68,.035)}.panel-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-heading h2{margin:0;color:var(--navy);font-size:1rem;font-weight:800}.panel-heading p{margin:.25rem 0 0;color:var(--muted);font-size:.76rem}.panel-heading a{font-size:.8rem;font-weight:700}.chart-wrap{position:relative;min-height:255px}.table{--bs-table-bg:transparent;margin:0}.table th{padding:.75rem;color:var(--muted);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.table td{padding:.85rem .75rem;border-color:var(--line);font-size:.84rem}.record-id{color:var(--navy-2);font-weight:800}.empty-cell{padding:2rem!important;color:var(--muted);text-align:center}.compact-list>a,.activity-list>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);color:var(--ink)}.compact-list>a:last-child,.activity-list>div:last-child{border:0}.compact-list strong,.compact-list small,.activity-list strong,.activity-list small{display:block}.compact-list strong,.activity-list strong{font-size:.84rem}.compact-list small,.activity-list small{margin-top:3px;color:var(--muted);font-size:.73rem}.priority,.count-pill{padding:.3rem .5rem;border-radius:30px;background:#edf2f6;color:var(--muted);font-size:.68rem;font-weight:800;white-space:nowrap}.priority-urgente{background:#fae1e6;color:#9b243e}.priority-alta{background:#fdebd3;color:#9a5a0c}.activity-list i{margin-right:.8rem;color:var(--gold)}.activity-list>div{justify-content:start}.sidebar-backdrop{display:none}.form-panel{padding:1.5rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.form-section-title{padding-bottom:.75rem;border-bottom:1px solid var(--line);color:var(--navy);font-size:1rem}.required:after{color:#b4233c;content:" *"}.search-panel{margin-bottom:1.25rem;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.detail-item{padding:1rem;border-radius:10px;background:#f6f8fa}.detail-item label{display:block;margin-bottom:.3rem;color:var(--muted);font-size:.7rem;text-transform:uppercase}.detail-item strong{font-size:.9rem}.drop-zone{padding:2rem;border:2px dashed #b9c6d2;border-radius:12px;background:#f8fafb;text-align:center}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;margin-top:1rem}.preview-item img{width:100%;height:120px;border-radius:8px;object-fit:cover}[data-bs-theme=dark]{--paper:#101820;--surface:#17222d;--ink:#e7edf3;--muted:#9baabd;--line:#2a3b4b;--navy:#d8e8f7;--navy-2:#75a8d5}.dark .topbar{background:rgba(23,34,45,.92)}[data-bs-theme=dark] .stat-icon,[data-bs-theme=dark] .detail-item,[data-bs-theme=dark] .count-pill{background:#202f3d}.sidebar-backdrop.show{display:block;position:fixed;z-index:1030;inset:0;background:rgba(0,0,0,.45)}@media(max-width:1199px){.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.panel-wide{grid-column:1/-1}}@media(max-width:991px){.sidebar{transform:translateX(-100%)}.sidebar.show{transform:translateX(0)}.main-column{width:100%;margin:0}.topbar{padding:.75rem 1rem}.content-area{padding:1.25rem}.institution-title{display:none}.login-shell{grid-template-columns:1fr}.login-brand-panel{min-height:42vh;padding:3rem 8vw}.login-form-panel{padding:2rem 1rem}.login-card{margin-top:-3rem;z-index:2}.detail-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:575px){.stat-grid,.dashboard-grid,.detail-grid{grid-template-columns:1fr}.stat-card{min-height:95px}.page-heading{align-items:start;flex-direction:column}.topbar-actions{gap:2px}.content-area{padding:1rem}.login-brand-panel h1{font-size:2rem}.login-card{padding:1.5rem}.panel{padding:1rem}.user-chip{padding:2px}}
