:root {
  --iroap-blue:#0038a8; --iroap-red:#ce1126; --iroap-gold:#fcd116;
  --iroap-ink:#152238; --iroap-muted:#64748b; --iroap-bg:#f8fafc;
  --iroap-surface:#fff; --iroap-border:#e2e8f0; --iroap-shadow:0 18px 50px rgba(15,23,42,.08);
}
[data-theme="dark"] {
  --iroap-bg:#0f172a; --iroap-surface:#172033; --iroap-ink:#e5edf8;
  --iroap-muted:#a8b3c6; --iroap-border:#334155; --iroap-shadow:0 20px 60px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{scroll-padding-top:5rem}
body{background:var(--iroap-bg);color:var(--iroap-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
img,svg,video,canvas{max-width:100%;height:auto}
h1,h2,h3,h4,h5,h6,p,li,dt,dd,a,span,strong,code{overflow-wrap:anywhere}
a{color:var(--iroap-blue)} [data-theme="dark"] a{color:#9cc2ff}
.skip-link{position:absolute;left:-9999px;top:1rem;z-index:9999;background:var(--iroap-gold);color:#111827;padding:.75rem 1rem;border-radius:.75rem}
.skip-link:focus{left:1rem}
.navbar{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--iroap-border)}
[data-theme="dark"] .navbar{background:rgba(15,23,42,.94)}
.navbar-brand{min-width:0}.navbar-brand img{height:52px;width:auto;max-width:min(280px,62vw);object-fit:contain}.nav-link{font-weight:650}.nav-link.active{color:var(--iroap-red)!important}
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 15% 20%,rgba(252,209,22,.35),transparent 28%),radial-gradient(circle at 82% 14%,rgba(206,17,38,.18),transparent 30%),linear-gradient(135deg,#05215e 0%,#0038a8 50%,#071b45 100%);color:#fff;border-radius:0 0 2.5rem 2.5rem}
.hero:after{content:"";position:absolute;inset:auto -10% -35% -10%;height:45%;background:rgba(255,255,255,.08);transform:rotate(-3deg)}
.hero .container{position:relative;z-index:1}.hero-logo{max-width:360px;width:100%;filter:drop-shadow(0 24px 34px rgba(0,0,0,.32))}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;max-width:100%;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.45rem .9rem;font-weight:800}
.section-pad{padding:4.5rem 0}.page-hero{background:linear-gradient(135deg,rgba(0,56,168,.12),rgba(252,209,22,.18));border-bottom:1px solid var(--iroap-border)}
[data-theme="dark"] .page-hero{background:linear-gradient(135deg,rgba(0,56,168,.34),rgba(252,209,22,.08))}
.card,.list-group-item,.modal-content{background:var(--iroap-surface);border-color:var(--iroap-border);color:var(--iroap-ink)}
.card{border-radius:1.25rem;box-shadow:var(--iroap-shadow);border:1px solid var(--iroap-border)}
.metric-card{border-left:6px solid var(--iroap-gold);min-height:128px}.metric-card.blue{border-left-color:var(--iroap-blue)}.metric-card.red{border-left-color:var(--iroap-red)}.metric-card.green{border-left-color:#0f766e}
.btn{white-space:normal}.btn:not(.btn-sm){min-height:44px;display:inline-flex;align-items:center;justify-content:center}.btn-iroap{background:linear-gradient(135deg,var(--iroap-blue),#001f70);color:#fff;border:none;font-weight:800}.btn-iroap:hover{color:#fff;filter:brightness(1.08)}
.btn-gold{background:var(--iroap-gold);color:#111827;border:none;font-weight:900}.btn-outline-iroap{border-color:var(--iroap-blue);color:var(--iroap-blue);font-weight:700}.btn-outline-iroap:hover{background:var(--iroap-blue);color:#fff}
.badge-discipline{background:rgba(0,56,168,.08);color:var(--iroap-blue);border:1px solid rgba(0,56,168,.16);white-space:normal;text-align:left}[data-theme="dark"] .badge-discipline{background:rgba(138,180,255,.12);color:#d7e6ff}
.article-title{color:var(--iroap-ink);text-decoration:none}.article-title:hover{color:var(--iroap-blue)}
.form-control,.form-select,textarea{border-radius:.85rem;border-color:var(--iroap-border);background-color:var(--iroap-surface);color:var(--iroap-ink)}
.form-control,.form-select{min-height:44px}
[data-theme="dark"] .form-control,[data-theme="dark"] .form-select,[data-theme="dark"] textarea{background:#111827;color:#f8fafc;border-color:#334155}
.table{color:var(--iroap-ink)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.table th{white-space:nowrap}.table td{vertical-align:middle}.table form.d-flex{min-width:360px}.required:after{content:" *";color:var(--iroap-red)}
.footer{background:#071b45;color:#dbeafe}.footer a{color:#fff;text-decoration:none}.footer a:hover{text-decoration:underline}.footer-logo{max-width:260px}
@media(max-width:991.98px){
  .navbar-collapse{padding:1rem 0 .35rem}
  .navbar-nav{align-items:stretch!important;gap:.15rem}
  .navbar-nav .nav-link{padding:.7rem .25rem}
  .dropdown-menu{border-color:var(--iroap-border);box-shadow:none}
}
@media(max-width:767.98px){
  .hero{border-radius:0 0 1.5rem 1.5rem}
  .hero .container{padding-top:2.25rem!important;padding-bottom:2.25rem!important}
  .hero-logo{max-width:220px}
  .section-pad{padding:3rem 0}
  .page-hero{padding-top:3rem!important;padding-bottom:3rem!important}
  .page-hero .lead{font-size:1rem}
  .navbar-brand img{height:44px}
  .display-4{font-size:2.25rem}
  .display-5{font-size:2rem}
  .h1,h1{font-size:2rem}
  .h2,h2{font-size:1.65rem}
  .h3,h3{font-size:1.35rem}
  .card.p-4,.list-group-item.p-4,form.card.p-4{padding:1.25rem!important}
  .card.p-lg-5,form.card.p-lg-5{padding:1.25rem!important}
  .table{min-width:640px;font-size:.95rem}
}
@media(max-width:575.98px){
  .container{padding-left:1rem;padding-right:1rem}
  .navbar-brand img{height:38px;max-width:70vw}
  .navbar-toggler{padding:.35rem .55rem}
  .hero{border-radius:0 0 1rem 1rem}
  .hero-badge{align-items:flex-start;border-radius:1rem;line-height:1.35}
  .hero .btn,.hero form .btn{width:100%}
  .hero .d-flex{width:100%}
  .section-pad .container > .d-flex.justify-content-between{align-items:stretch!important;flex-direction:column;gap:.75rem!important}
  .section-pad .container > .d-flex.justify-content-between .btn{width:100%}
  .card.p-4,.list-group-item.p-4,form.card.p-4{padding:1rem!important}
  .card.p-lg-5,form.card.p-lg-5{padding:1rem!important}
  .list-group-item > .d-flex.justify-content-between,.card > .d-flex.justify-content-between{align-items:flex-start!important;flex-direction:column}
  dl.row > dt[class*="col-"],dl.row > dd[class*="col-"]{width:100%;text-align:left!important}
  dl.row > dd[class*="col-"]{margin-bottom:.75rem}
  .footer-logo{max-width:220px}
  .footer .col-6{width:100%}
  .footer dl.row > dd[class*="col-"]{margin-bottom:.5rem}
}
