:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#222;background:#f6f5f1;--bg:#f6f5f1;--surface:#fff;--ink:#1d2227;--accent:#e73c2f;--line:#deded8;--round:12px;--shadow:0 8px 28px #1111}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}a{color:inherit}header{background:var(--ink);color:#fff;padding:16px 4%;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}header strong{font-size:1.3rem;letter-spacing:.06em}header nav{display:flex;gap:14px;flex-wrap:wrap;align-items:center}header nav a{color:inherit;text-decoration:none;font-size:.92rem}.wrap{max-width:1200px;margin:auto;padding:32px 20px 70px}.hero{padding:32px 0}.hero h1{font-size:clamp(2rem,5vw,4rem);line-height:1.04;margin:0 0 12px}.muted{color:#777}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--round);padding:22px;box-shadow:var(--shadow);margin-bottom:16px}.card h2,.card h3{margin-top:0}.kpi{font-size:2.2rem;font-weight:900}.button,button{display:inline-block;background:var(--accent);color:#fff;border:2px solid var(--accent);padding:10px 16px;border-radius:var(--round);cursor:pointer;text-decoration:none;font-weight:750;font-size:.92rem}.button.alt,button.alt{background:transparent;color:var(--ink);border-color:var(--line)}button.danger{background:#a72a2a;border-color:#a72a2a}button.small{padding:6px 9px;font-size:.8rem}input,select,textarea{display:block;width:100%;border:1px solid #c9c9c9;background:#fff;padding:11px 12px;border-radius:7px;font:inherit;color:#222}label{font-size:.86rem;font-weight:700;display:block;margin-bottom:7px}.field{margin:0 0 16px}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.formgrid .field{margin:0}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}td.actions{white-space:nowrap}.scroll{overflow:auto}.pill{border-radius:999px;padding:5px 9px;background:#eee;font-size:.78rem;font-weight:700}.flash{padding:14px;border-radius:8px;margin-bottom:18px;background:#e0f5e8;color:#12572c}.flash.error{background:#ffe3e1;color:#84251b}.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}.tabs a{text-decoration:none;padding:9px 13px;border:1px solid var(--line);border-radius:var(--round);background:var(--surface)}.tabs a.active{background:var(--ink);color:#fff}.dot{display:inline-block;width:13px;height:13px;border-radius:50%;margin-right:6px;border:1px solid #0002}.inline{display:inline}.inline button{vertical-align:middle}.theme-chooser{display:flex;gap:10px;flex-wrap:wrap}.theme-chooser label{margin:0}.theme-chooser input{width:auto;display:inline}.rank{font-size:1.4rem;font-weight:900}.notice{font-size:.9rem;border-left:4px solid var(--accent);padding:10px 14px;background:var(--surface)}footer{text-align:center;padding:30px;color:#888;font-size:.85rem}body[data-theme=brutalismo]{--bg:#e9ff38;--surface:#fff;--ink:#080808;--accent:#f33448;--line:#080808;--round:0;--shadow:6px 6px 0 #080808;font-family:Arial Black,Arial,sans-serif}body[data-theme=brutalismo] .card{border:3px solid #000}body[data-theme=brutalismo] h1,body[data-theme=brutalismo] h2{text-transform:uppercase;letter-spacing:-.045em}body[data-theme=artdeco]{--bg:#101d26;--surface:#182a32;--ink:#f5e9cf;--accent:#bb9459;--line:#b99b6666;--round:2px;--shadow:none;font-family:Georgia,serif}body[data-theme=artdeco] header{background:#09141a;border-bottom:2px solid #b99b66}body[data-theme=artdeco] .card{border:1px solid #b99b66;outline:1px solid #b99b6655;outline-offset:-8px}body[data-theme=artdeco] h1,body[data-theme=artdeco] h2{text-transform:uppercase;letter-spacing:.1em}body[data-theme=artdeco] .muted{color:#c8bca7}body[data-theme=artdeco] .pill{background:#31434a;color:#f5e9cf}body[data-theme=barroco]{--bg:#ede5d5;--surface:#fff9ee;--ink:#402a23;--accent:#8d2039;--line:#c5a971;--round:16px;--shadow:0 7px 18px #48271922;font-family:Georgia,serif}body[data-theme=barroco] header{background:#482431;border-bottom:5px double #d2ad6a}body[data-theme=barroco] .card{border:4px double #bba06b}body[data-theme=barroco] h1,body[data-theme=barroco] h2{font-style:italic}body[data-theme=bauhaus]{--bg:#f7f4e9;--surface:#fff;--ink:#182534;--accent:#d8322f;--line:#18253433;--round:5px;--shadow:3px 3px 0 #18253418}body[data-theme=bauhaus] header{border-bottom:8px solid #efc52b}body[data-theme=bauhaus] h1:before{content:'● ';color:#e7bd20}body[data-theme=bauhaus] .card{border-top:5px solid #225ca4}@media(max-width:640px){.wrap{padding:18px 12px 55px}th,td{padding:9px;font-size:.84rem}header{padding:14px}header nav{gap:8px}}
.institution-logo{display:block;width:110px;height:110px;object-fit:contain;margin:0 0 14px}
.team-banner{display:block;width:min(360px,100%);aspect-ratio:3/1;object-fit:cover;margin-top:8px;border:1px solid #ddd}
.banner-preview{display:block;width:min(450px,100%);aspect-ratio:3/1;object-fit:cover;margin:12px 0}
.banner-form{padding:15px 0;border-top:1px solid #ddd;display:grid;gap:10px}
.banner-form input[type=file]{max-width:100%}
