:root{--fiu-blue:#081e3f;--fiu-gold:#b6862c;--fiu-gold-light:#d4a04d;--fiu-blue-light:#15315e;--bg-gray:#f2f4f7;--white:#fff;--error-red:#c62828;--text-dark:#212121;--text-light:#616161;--shadow:0 2px 4px #00000014;--border-radius:4px}*,:before,:after{box-sizing:border-box}body{background-color:var(--bg-gray);color:var(--text-dark);margin:0;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif}.page-padding{padding:40px}@media (width<=640px){.page-padding{padding:16px}}.card{background:var(--white);border-top:4px solid var(--fiu-gold);border-radius:var(--border-radius);box-shadow:var(--shadow);margin-bottom:20px;padding:24px}button{cursor:pointer;border-radius:var(--border-radius);text-transform:uppercase;letter-spacing:.5px;border:none;padding:10px 20px;font-weight:700;transition:background .2s}.btn-primary{background-color:var(--fiu-blue);color:var(--white)}.btn-primary:hover{background-color:var(--fiu-blue-light)}.btn-outline{border:2px solid var(--fiu-blue);color:var(--fiu-blue);background-color:#0000}.btn-danger{background-color:var(--error-red);color:var(--white)}input,select,textarea{border-radius:var(--border-radius);border:1px solid #ccc;width:100%;margin-top:8px;margin-bottom:16px;padding:12px;font-size:16px}input:focus{border-color:var(--fiu-blue);outline:none;box-shadow:0 0 0 2px #081e3f1a}h1,h2,h3{color:var(--fiu-blue);margin-top:0}.navbar-links{display:flex}@media (width<=640px){.navbar-links{display:none}.navbar-links.open{background-color:var(--fiu-blue);box-shadow:var(--shadow);flex-direction:column;gap:16px;padding:20px;display:flex;position:absolute;top:65px;left:0;right:0}.navbar-hamburger{display:block}.timeline{flex-direction:column;gap:14px;max-width:100%;padding-left:28px;display:flex;position:relative}.timeline:before{left:10px}.timeline-dot{width:10px;height:10px;margin-left:-1px;box-shadow:0 0 0 4px #b6862c0d}.timeline-content{padding-left:10px}}@media (width>=641px){.navbar-hamburger{display:none}.timeline{flex-direction:column;gap:20px;max-width:720px;padding-left:36px;display:flex;position:relative}.timeline-item{align-items:flex-start;gap:16px;display:flex;position:relative}.timeline:before{content:"";background:#081e3f14;border-radius:2px;width:2px;position:absolute;top:0;bottom:0;left:14px}.timeline-dot{background:var(--fiu-gold);border-radius:50%;flex:0 0 12px;width:12px;height:12px;margin-top:6px;margin-left:-2px;box-shadow:0 0 0 6px #b6862c0f}.timeline-content{border-radius:var(--border-radius);background:0 0;border:none;width:100%;padding:6px 0 6px 12px}.timeline-meta{color:var(--text-light);margin-top:6px;font-size:.9rem}}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--white);border-radius:var(--border-radius);width:100%;max-width:720px;box-shadow:var(--shadow);padding:20px}.modal-buttons{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.btn-cancel{background:0 0;border:1px solid #ccc;padding:8px 12px}.btn-delete{background:var(--error-red);color:var(--white);padding:8px 12px}@media (width<=640px){.modal-content{max-width:100%;padding:12px}.modal-buttons{justify-content:stretch}.modal-buttons button{flex:1}}.auth-page{max-width:420px;margin:0 auto;position:relative}.auth-page:before{content:"";z-index:-1;background:radial-gradient(ellipse 90% 75% at 50% 42%, #1b4079 0%, #123157 34%, var(--fiu-blue) 62%, #050d1c 100%);position:fixed;inset:0}.auth-page .card{box-shadow:0 20px 50px #00000073,0 3px 10px #00000047}.auth-footnote{text-align:center;color:#ffffffc7}.auth-footnote a{color:var(--fiu-gold-light);font-weight:600}body:has(.auth-page) main{flex-direction:column;justify-content:safe center;display:flex}.App{text-align:center}.App-logo{pointer-events:none;height:40vmin}@media (prefers-reduced-motion:no-preference){.App-logo{animation:20s linear infinite App-logo-spin}}.App-header{color:#fff;background-color:#282c34;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;font-size:calc(10px + 2vmin);display:flex}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
