/* Direction A: the course ticket. Layout only; every value is a token from tokens.css. */
.wa .app-content{padding-top:var(--s-5)}
.wa h1{margin:var(--s-5) 0 var(--s-1);font-family:var(--font-head);font-size:var(--t-2xl);font-weight:700;line-height:1.15;color:var(--color-ink)}
.wa-pilot{margin:0 0 var(--s-4);font-size:var(--t-base);color:var(--color-muted)}
.wa h1 + .wa-ticket{margin-top:var(--s-4)}
.wa h2,.wa h3{font-family:var(--font-head);color:var(--color-ink)}

/* dev preview strip */
.wa-switch{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-4);margin:0;padding:var(--s-2) var(--s-3);background:var(--color-card);border-radius:var(--radius-sm)}
.wa-switch p{margin:0;font-size:var(--t-base);color:var(--color-muted)}
.wa-switch ul{display:flex;flex-wrap:wrap;gap:var(--s-2);margin:0;padding:0;list-style:none}
.wa-switch .btn{display:inline-flex;align-items:center;min-height:40px}

/* the ticket */
.wa-ticket{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);padding:0;overflow:hidden;box-shadow:none;border-left:4px solid var(--color-accent)}
.wa-main{padding:var(--s-5)}
.wa-main h2{margin:0;font-size:var(--t-xl);font-weight:700;line-height:1.2}
.wa-where{margin:var(--s-1) 0 0;font-size:var(--t-base);color:var(--color-body)}
.wa-status{margin:var(--s-2) 0 var(--s-4);font-size:var(--t-base);font-weight:600;color:var(--color-ink)}
.wa-bar{max-width:34rem}
.wa-barline{display:flex;justify-content:space-between;gap:var(--s-3);margin:0 0 var(--s-2);font-size:var(--t-sm);color:var(--color-muted)}
.wa-barline span:first-child{font-weight:600;color:var(--color-ink)}
.wa-w-0p0{width:0}
.wa-w-12p5{width:12.5%}
.wa-w-37p5{width:37.5%}
.wa-w-100p0{width:100%}
.wa-last,.wa-formline{margin:var(--s-2) 0 0;max-width:34rem;font-size:var(--t-base);color:var(--color-body)}
.wa-act{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-5);margin:var(--s-4) 0 0}
.wa-link{display:inline-block;color:var(--color-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.wa-link:hover{color:var(--color-accent-text)}
.wa-act .wa-link{display:inline-flex;align-items:center;min-height:44px}
.wa-stub{padding:var(--s-5);background:var(--color-bg);font-size:var(--t-base);color:var(--color-body)}
.wa-stub h3{margin:0 0 var(--s-3);font-size:var(--t-lg);font-weight:700}
.wa-stub p{margin:var(--s-3) 0 0}
.wa-stub .meta,.wa .meta{font-size:var(--t-sm);color:var(--color-muted)}
.wa-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:var(--s-2) var(--s-3);margin:0;padding:0;list-style:none}
.wa-people li{display:flex;align-items:center;gap:var(--s-2);font-weight:600;color:var(--color-ink)}
.wa-people .app-avatar{flex:0 0 auto;grid-row:auto;width:36px;height:36px}

/* the quiet band under the ticket */
.wa-band{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--s-4);margin-top:var(--s-4);align-items:start}
.wa-bsec{padding:var(--s-4) var(--s-5);background:var(--color-card);border-radius:var(--radius-sm)}
.wa-bsec h2{margin:0 0 var(--s-2);font-size:var(--t-lg);font-weight:700}
.wa-bsec p{margin:var(--s-2) 0 0;max-width:34rem;color:var(--color-body)}
.wa-past{margin:0;padding:0;list-style:none}
.wa-past li{padding:var(--s-2) 0;color:var(--color-body)}
.wa-past li + li{margin-top:var(--s-2)}
.wa-past b{color:var(--color-ink)}
.wa-past .meta{display:block;margin-top:2px}

/* full log book (Lukas) */
.wa-log{margin-top:var(--s-6)}
.wa-log h2{margin:0 0 var(--s-2);font-size:var(--t-xl);font-weight:700}
.wa-log h3{margin:var(--s-5) 0 var(--s-2);font-size:var(--t-lg);font-weight:700}
.wa-flights{margin:0;padding:0;list-style:none;background:var(--color-card);border-radius:var(--radius-sm)}
.wa-flights li{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;align-items:start;gap:var(--s-3);padding:var(--s-3) var(--s-4)}
.wa-flights li + li{border-top:1px solid var(--color-line)}
.wa-fn{font-size:var(--t-sm);color:var(--color-muted)}
.wa-fm b{display:block;font-weight:600;color:var(--color-ink)}
.wa-fm .meta{display:block;margin-top:2px}
.wa-oc{display:inline-flex;align-items:center;gap:var(--s-1);font-size:var(--t-sm);font-weight:600}
.wa-oc svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.wa-done{color:var(--color-success-ink)}
.wa-rep{color:var(--color-warning-ink)}

/* course list (the real parts, restyled to the rulings) */
.wa-ch{margin:var(--s-6) 0 var(--s-3);font-size:var(--t-lg);font-weight:700}
.wa .course-list{box-shadow:none}
.wa .course-list .mo{font-size:var(--t-sm);font-weight:700;letter-spacing:0;color:var(--color-ink)}
.wa .crow .what h3{margin:0;font-size:var(--t-base);font-weight:700;color:var(--color-ink)}
.wa .crow.mine{background:var(--color-card)}
.wa .wa-state{flex:0 0 auto;font-size:var(--t-sm);color:var(--color-muted)}
.wa .crow.mine .wa-state{font-weight:600;color:var(--color-ink)}

@media (max-width:899.98px){
  .wa-ticket{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:720px){
  .wa .app-content{padding-top:var(--s-3)}
  .wa h1{margin-top:var(--s-3);font-size:var(--t-xl)}
  .wa-switch{padding:var(--s-2)}
  .wa-main,.wa-stub{padding:var(--s-4)}
  .wa-act .btn-primary{width:100%;text-align:center}
  .wa-band{grid-template-columns:minmax(0,1fr)}
  .wa-bsec{padding:var(--s-4)}
  .wa-flights li{padding:var(--s-3)}
  .wa .crow .wa-state{flex:1 1 auto}
}
@media (max-width:420px){
  .wa-flights li{grid-template-columns:1.5rem minmax(0,1fr)}
  .wa-oc{grid-column:2}
}

/* past courses: one card per course, only the parts that exist */
.wa-band-one{grid-template-columns:minmax(0,1fr)}
.wa-pcs{margin-top:var(--s-6)}
.wa-pcs .wa-ch{margin-top:0}
.wa-pc{margin-top:var(--s-3);padding:var(--s-4) var(--s-5);background:var(--color-card);border-radius:var(--radius-sm)}
.wa-pc h3{margin:0;font-size:var(--t-lg);font-weight:700}
.wa-pc > .meta{margin:var(--s-1) 0 0}
.wa-pcgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--s-4) var(--s-5);margin-top:var(--s-3)}
.wa-pcb{padding:var(--s-3) var(--s-4);background:var(--color-bg);border-radius:var(--radius-sm);color:var(--color-body)}
.wa-pcb h4{margin:0 0 var(--s-2);font-family:var(--font-head);font-size:var(--t-base);font-weight:700;color:var(--color-ink)}
.wa-pcb p{margin:0 0 var(--s-2)}
.wa-kv{margin:0}
.wa-kv dt{font-weight:600;color:var(--color-ink)}
.wa-kv dd{margin:0 0 var(--s-2)}
@media (max-width:720px){
  .wa-pc{padding:var(--s-3)}
}
