/* DS5: student dashboard, on top of tokens.css and app.css */
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/onest-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Onest";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/onest-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
.ds5-welcome{margin:0 0 var(--s-5);font-family:var(--font-head);font-size:var(--t-xl);color:var(--color-ink);font-weight:700}
.ds5-welcome .pill{vertical-align:middle;margin-left:.4rem}
.ds5-access{display:flex;gap:var(--s-3);align-items:flex-start;margin-top:var(--s-3);font-size:var(--t-sm);color:var(--color-muted)}
.ds5-access::before{content:"";flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:var(--color-success);margin-top:.45rem}
.ds5-prog{margin-top:var(--s-4);padding:var(--s-4);background:var(--color-card);border:1px solid var(--color-line);border-radius:var(--radius-sm)}
.ds5-prog .row{display:flex;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap;margin-bottom:var(--s-2);font-size:var(--t-sm)}
.ds5-prog .row b{color:var(--color-ink)}
.ds5-prog .row span{color:var(--color-muted)}
.ds5-prog .last{margin-top:var(--s-2);font-size:var(--t-xs);color:var(--color-muted)}
.ds5-prog .last a{font-weight:700}
.ds5-remind{border-left-color:var(--color-info)}
.ds5-remind .body{color:var(--color-muted)}
.ds5-past .crow .tchip{background:var(--color-bg);color:var(--color-muted)}
.ds5-linkcard{display:flex;gap:var(--s-4);align-items:center;flex-wrap:wrap}
.ds5-cta-note{font-size:var(--t-xs);color:var(--color-muted)}
.ds5-sub{margin:0 0 var(--s-3);font-size:var(--t-sm);color:var(--color-muted)}
.btn:focus-visible,.crow a:focus-visible{outline:3px solid var(--color-accent-text);outline-offset:2px}
/* round 2: the top bar is gone, the shell (css/shell.css) owns the frame and the content padding */
.action-card .app-panel{margin-top:var(--s-3)}
@media(max-width:720px){.ds5-welcome{font-size:var(--t-lg)}.action-card h2.big{font-size:var(--t-xl)}.action-card{padding:var(--s-4)}}

/* FB2: registration update reminder card */
.ds5-update{border-left-color:var(--color-accent);margin-bottom:var(--s-5)}
.ds5-update .body{color:var(--color-body)}

/* Waiting list card and chip (dashboard) */
.wl-chip{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3);border-radius:999px;background:var(--color-accent-wash);color:var(--color-ink);border:1px solid var(--color-accent);font-size:var(--t-sm);font-weight:700;white-space:nowrap}
.wl-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--color-accent)}
.wl-leave{background:none;border:0;padding:var(--s-1);font:inherit;font-size:var(--t-sm);color:var(--color-muted);text-decoration:underline;cursor:pointer}
.wl-leave:hover,.wl-leave:focus-visible{color:var(--color-ink)}
.wl-count{font-size:var(--t-sm);font-weight:600;color:var(--color-ink);margin-right:var(--s-2)}
.acts-wl{display:flex;align-items:center;gap:var(--s-2);margin-left:auto}
