:root{--navy:#123047;--accent:#007c83;--ink:#172f40;--muted:#526777;--line:#dbe3e9;--bg:#f2f5f8;--white:#fff;--danger:#b42318}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}a{color:#006f7a;text-underline-offset:3px}a:hover{color:#004d55}h1{font-size:1.95rem;line-height:1.2;margin:5px 0 16px;letter-spacing:-.035em}h2{font-size:1.25rem;margin:8px 0 18px}h3{font-size:1rem;margin-top:24px}small{display:block;font-size:.85rem;color:var(--muted)}button,input,select,textarea{font:inherit}input,select,textarea{display:block;width:100%;padding:10px 12px;border:1px solid #aebec9;border-radius:6px;background:white;color:var(--ink);margin-top:6px}textarea{resize:vertical;min-height:88px}label{display:block;font-size:.9rem;font-weight:600;margin-bottom:16px}label small{font-weight:400;margin-top:5px}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 17px;min-height:44px;background:#fff;border:1px solid #9eb3c1;border-radius:6px;color:var(--ink);text-decoration:none;cursor:pointer;font-weight:600;font-size:.9rem}button:hover,.button:hover{background:#e9f1f5}.primary{background:var(--accent);border-color:var(--accent);color:white}.primary:hover{background:#00646c;color:white}.link{border:0;padding:5px 0;background:none;color:var(--accent);text-decoration:underline}.danger{color:var(--danger)}:focus-visible{outline:3px solid #43b4d0;outline-offset:3px}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;background:var(--navy);color:white;display:flex;flex-direction:column;padding:30px 22px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:white;font-size:.93rem;font-weight:650}.brand:hover{color:white}.brand small{color:#a4c5d8;font-size:.7rem;letter-spacing:.1em;margin-top:4px}.brand-mark{width:45px;height:45px;display:flex;align-items:center;justify-content:center;border:1px solid #4e899e;border-radius:9px;color:inherit;font-size:1.1rem;font-weight:700;flex-shrink:0}.sidebar nav{margin-top:42px;display:grid;gap:7px}.sidebar nav a{padding:11px 12px;color:#d9e8ef;text-decoration:none;border-radius:6px;font-size:.95rem}.sidebar nav a:hover{background:#22475f;color:white}.count{float:right;background:#285269;border-radius:4px;padding:0 6px}.identity{margin-top:auto;border-top:1px solid #355267;padding-top:20px;display:grid;gap:9px;font-size:.85rem}.identity a,.identity .link{color:#c9e1ec;font-size:.85rem}.workspace{margin-left:260px;max-width:1600px;padding:38px 40px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.13em;color:var(--accent);margin:0 0 7px}.card{background:white;border:1px solid var(--line);border-radius:10px;padding:26px;margin-bottom:24px;box-shadow:0 2px 2px #12304703}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}.metrics>div{background:#fff;border:1px solid var(--line);border-top:3px solid #167e8b;border-radius:8px;padding:20px}.metrics span{color:var(--muted);font-size:.9rem}.metrics strong{display:block;font-size:2rem;margin-top:8px;line-height:1.2}.filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:22px}.filters label{flex:1;min-width:145px;margin:0}.filters>a{padding-bottom:10px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th{text-align:left;padding:13px 12px;background:#f3f6f8;font-size:.8rem;font-weight:700;color:#506778}td{padding:18px 12px;border-bottom:1px solid #e5ebef;vertical-align:top}td small{margin-top:5px}.record{font-weight:700}.money{white-space:nowrap}.badge{display:inline-block;border-radius:4px;padding:3px 8px;background:#edf1f5;color:#405867;font-size:.8rem;font-weight:600}.badge.aprobada{background:#dff2e9;color:#1d6243}.badge.en_revision{background:#e0edf9;color:#215480}.badge.devuelta{background:#fff0cb;color:#83580c}.badge.rechazada,.badge.anulada{background:#fce5e1;color:#a13223}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid3 strong{display:block}.grid3>div{margin-bottom:10px}.item-row,.stage-row{border:1px solid var(--line);border-left:3px solid #248997;background:#fafcfd;padding:18px;border-radius:6px;margin:0 0 18px}.grid3 button{align-self:center;justify-self:start}.notice{padding:16px 20px;border-left:4px solid #368da8;background:#e6f2f7;border-radius:4px;margin-bottom:22px}.notice.error{background:#fce9e5;border-color:var(--danger)}.notice.success{background:#e1f2e9;border-color:#268355}.notice ul{margin-bottom:0}.compact{display:flex;gap:20px;align-items:center;justify-content:space-between}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.muted{color:var(--muted)}.small{font-size:.85rem}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:18px;border-bottom:1px solid #cbd7df}.tabs button{border:0;border-radius:0;background:transparent;color:#506b7c;border-bottom:3px solid transparent;padding:12px 16px}.tabs button[aria-selected=true]{border-bottom-color:var(--accent);color:var(--accent)}[hidden]{display:none!important}.entry{padding:16px 0;border-bottom:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:16px 0}summary{cursor:pointer;font-weight:600;margin-bottom:12px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.85rem;background:#f5f7f9;padding:16px}.hash{overflow-wrap:anywhere}.upload{border-top:1px solid var(--line);padding-top:24px;margin-top:24px}.timeline{padding-left:25px}.timeline li{padding:0 0 18px 10px}.timeline span{display:block;color:var(--muted)}.permission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.check{display:flex;align-items:center;gap:10px}.check input{width:18px;height:18px;margin:0}.pagination{display:flex;gap:18px;align-items:center;margin:25px 0}.empty{text-align:center;padding:35px 10px}.guest{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px}.login-card{width:min(100%,430px);background:#fff;border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:10px;padding:36px;box-shadow:0 20px 60px #12304712}.login-card .brand-mark{margin-bottom:25px;color:var(--accent)}.login-card h1{font-size:1.7rem}.full{width:100%}.narrow{max-width:650px}footer{text-align:center;font-size:.78rem;color:#627889;padding:25px 0 5px}@media(max-width:1050px){.sidebar{width:220px;padding:24px 16px}.workspace{margin-left:220px;padding:26px 20px}.grid3{grid-template-columns:repeat(2,1fr)}.metrics{gap:10px}.metrics>div{padding:15px}}@media(max-width:760px){.sidebar{position:static;width:auto;padding:18px}.sidebar nav{display:flex;flex-wrap:wrap;gap:5px;margin-top:18px}.sidebar nav a{padding:7px}.identity{margin-top:18px;padding-top:12px;display:flex;flex-wrap:wrap;align-items:center;gap:15px}.workspace{margin-left:0;padding:22px 14px}.page-head,.compact{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:repeat(2,1fr)}.grid3,.permission-grid{grid-template-columns:1fr}.card{padding:18px}.tabs button{padding:10px}.grid3{gap:0}h1{font-size:1.7rem}.login-card{padding:25px}}

.institution-logo{width:95px;height:auto;display:block;margin:0 0 24px}.institution-logo.mini{width:48px;background:white;border-radius:5px;padding:3px;margin:0;flex-shrink:0}
