:root {
  --iitn-blue: #00519c;
  --iitn-light-blue: #0075bf;
  --iitn-green: #547b00;
  --iitn-border: #c8d1da;
  --iitn-danger: #a40016;
  --iitn-bg: #f5f7f9;
  --iitn-radius: .35rem;
}
.iitn { box-sizing: border-box; color: #17202a; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.5; }
.iitn *, .iitn *::before, .iitn *::after { box-sizing: inherit; }
.iitn a { text-underline-offset: .15em; }
.iitn a:focus-visible, .iitn button:focus-visible, .iitn input:focus-visible, .iitn select:focus-visible, .iitn textarea:focus-visible, .iitn summary:focus-visible { outline: .2rem solid #ffbf47; outline-offset: .15rem; }
.iitn-company-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 1rem; }
.iitn-card, .iitn-session { background: #fff; border: 1px solid var(--iitn-border); border-radius: var(--iitn-radius); padding: 1rem; }
.iitn-card img { display: block; height: 7rem; margin: 0 auto 1rem; max-width: 100%; object-fit: contain; width: 100%; }
.iitn-logo-placeholder { background: var(--iitn-bg); display: block; height: 7rem; }
.iitn-badge, .iitn-status { border: 1px solid currentColor; border-radius: 999px; display: inline-block; font-size: .8rem; font-weight: 700; padding: .15rem .55rem; }
.iitn-badge--standard { color: var(--iitn-blue); }
.iitn-badge--azubitour { color: #b0004b; }
.iitn-badge--academicmatch { color: #28711f; }
.iitn-status--open { color: var(--iitn-green); }
.iitn-status--sold_out, .iitn-status--closed, .iitn-status--cancelled { color: var(--iitn-danger); }
.iitn-status--not_open, .iitn-status--planned { color: #4d5965; }
.iitn-sessions { display: grid; gap: 1rem; margin-block: 2rem; }
.iitn-sessions > h2 { grid-column: 1 / -1; }
.iitn-session { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) auto; }
.iitn-session .iitn-program, .iitn-session .iitn-form { grid-column: 1 / -1; }
.iitn-button { background: var(--iitn-blue); border: 2px solid var(--iitn-blue); border-radius: var(--iitn-radius); color: #fff !important; cursor: pointer; display: inline-block; font: inherit; font-weight: 700; padding: .65rem 1rem; text-decoration: none; }
.iitn-button:hover { background: #003c74; }
.iitn-button:disabled { cursor: wait; opacity: .6; }
.iitn-form { background: var(--iitn-bg); border-left: .35rem solid var(--iitn-blue); margin-block: 1rem; max-width: 46rem; padding: 1.2rem; }
.iitn-form label { display: block; font-weight: 650; margin-bottom: .25rem; }
.iitn-form input[type="text"], .iitn-form input[type="email"], .iitn-form input[type="tel"], .iitn-form input[type="password"], .iitn-form select, .iitn-form textarea { background: #fff; border: 2px solid #687582; border-radius: .2rem; display: block; font: inherit; max-width: 100%; padding: .55rem; width: 100%; }
.iitn-form textarea { min-height: 7rem; }
.iitn-checkbox label { align-items: flex-start; display: flex; font-weight: 400; gap: .55rem; }
.iitn-checkbox input { flex: 0 0 auto; height: 1.25rem; width: 1.25rem; }
.iitn-form-errors { background: #fff1f2; border: 2px solid var(--iitn-danger); color: #71000f; margin-block: 1rem; padding: .75rem; }
.iitn-success { background: #edf7df; border: 2px solid var(--iitn-green); padding: 1rem; }
.iitn-notice { background: var(--iitn-bg); border-left: .3rem solid var(--iitn-blue); padding: .75rem 1rem; }
.iitn-honeypot { height: 1px !important; left: -10000px !important; overflow: hidden !important; position: absolute !important; width: 1px !important; }
.iitn-route li { margin-block: .65rem; }
.iitn-route .is-cancelled { text-decoration: line-through; }
.iitn-archive-breadcrumb { margin-bottom: 1.5rem; }
.iitn-archive-note { color: #4d5965; }
.iitn-archive-years { display: grid; gap: .75rem; list-style: none; margin: 0; padding: 0; }
.iitn-archive-years a { align-items: baseline; border: 1px solid var(--iitn-border); border-radius: var(--iitn-radius); display: flex; gap: 1rem; justify-content: space-between; padding: 1rem; }
.iitn-company-location { margin-block: 2rem; }
.iitn-company-location address, .iitn-archive-sessions address { font-style: normal; }
.iitn-archive-sessions .is-cancelled { border-color: var(--iitn-danger); }
.iitn-private-shell { margin: 2rem auto; max-width: 60rem; padding: 1rem; }
.iitn-ticket { background: #fff; border: 1px dashed var(--iitn-blue); height: 105mm; margin: 1rem auto; overflow: hidden; padding: 6mm; position: relative; width: 74mm; }
.iitn-ticket__header { background: var(--iitn-blue); color: #fff; margin: -6mm -6mm 5mm; padding: 5mm 6mm; }
.iitn-ticket--azubitour .iitn-ticket__header { background: #b0004b; }
.iitn-ticket--academicmatch .iitn-ticket__header { background: #28711f; }
.iitn-ticket__header h1 { color: inherit; font-size: 1.4rem; margin: 0; }
.iitn-ticket__meta { font-size: .78rem; }
.iitn-ticket__qr { bottom: 6mm; height: 28mm; position: absolute; right: 6mm; width: 28mm; }
.iitn-ticket__reference { bottom: 5mm; font-size: .55rem; left: 6mm; max-width: 34mm; position: absolute; }
.iitn-ticket-actions { text-align: center; }
@media (max-width: 38rem) { .iitn-session { grid-template-columns: 1fr; } .iitn-session .iitn-program, .iitn-session .iitn-form { grid-column: 1; } }
@media print {
  body * { visibility: hidden; }
  .iitn-ticket, .iitn-ticket * { visibility: visible; }
  .iitn-ticket { border: 0; left: 0; margin: 0; position: absolute; top: 0; }
  .iitn-ticket-actions, header, footer, nav { display: none !important; }
  @page { margin: 10mm; size: A4 portrait; }
}
