/* Designz: classes, assignments, marking, and the school admin console. Builds on css/publish.css. */
.cl-page { max-width: 1240px; margin: 0 auto; padding: 26px 28px 90px; }
.cl-loading { padding: 80px 0; text-align: center; color: var(--p-mute); }
.cl-page h2 { font: 700 24px/1.2 var(--p-serif); margin: 0; letter-spacing: -.01em; }
.cl-h3 { font: 700 15px var(--p-sans); margin: 22px 0 8px; color: var(--p-ink2); }
.cl-empty { padding: 26px 0; }
.cl-back { display: inline-block; margin-bottom: 14px; color: var(--p-ink2) !important; text-decoration: none; font-weight: 600; font-size: 14px; }
.cl-back:hover { color: var(--p-ink) !important; }
.cl-over { color: #b4520a !important; font-weight: 600; }
.cl-due { color: var(--p-red); font-style: normal; font-weight: 700; }
.cl-ok { color: var(--p-green); font-style: normal; font-weight: 600; }

/* Inputs */
.cl-input { width: 100%; border: 1px solid var(--p-line); border-radius: 10px; padding: 9px 12px; background: #fff; outline: none; }
.cl-input:focus { border-color: var(--p-ink); box-shadow: 0 0 0 3px rgba(21,21,21,.08); }
textarea.cl-input { resize: vertical; min-height: 44px; }
.cl-input.sm { padding: 4px 8px; width: auto; }
.cl-field { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: 14px; }
.cl-field small { font-weight: 400; }
.cl-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cl-foot .pf-link { white-space: nowrap; }
.cl-foot { display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin-top: 4px; }
.cl-check { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--p-line); border-radius: 12px; background: var(--p-card); cursor: pointer; }
.cl-check input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--p-ink); flex: none; }
.cl-check span { display: flex; flex-direction: column; }
.cl-check small { color: var(--p-mute); font-size: 13px; }
.cl-check.off { opacity: .55; cursor: not-allowed; }
.cl-swatches { display: flex; gap: 8px; }
.cl-swatches button { width: 30px; height: 30px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--p-line); cursor: pointer; }
.cl-swatches button.on { box-shadow: 0 0 0 2px var(--p-ink); }

/* Home */
.cl-hero { display: flex; align-items: flex-end; gap: 28px; margin-bottom: 26px; flex-wrap: wrap; }
.cl-hero > div:first-child { flex: 1; min-width: 300px; }
.cl-hero h1 { font: 800 clamp(36px, 4.4vw, 56px)/1 var(--p-serif); letter-spacing: -.03em; margin: 0 0 10px; }
.cl-hero .sub { margin: 0; color: var(--p-ink2); max-width: 620px; font-size: 16.5px; }
.cl-school-chip { margin: 14px 0 0; display: inline-flex; gap: 10px; align-items: center; padding: 6px 14px; border-radius: 999px; background: var(--p-paper2); font-size: 14px; }
.cl-school-chip a { font-weight: 700; color: var(--p-blue) !important; text-decoration: none; }
.cl-join { background: var(--p-card); border: 1.5px solid var(--p-ink); border-radius: 18px; padding: 16px 18px; box-shadow: 4px 4px 0 var(--p-ink); display: flex; flex-direction: column; gap: 10px; min-width: 320px; }
.cl-join label { display: flex; flex-direction: column; }
.cl-join small { color: var(--p-mute); font-size: 13px; }
.cl-join-row { display: flex; gap: 8px; }
.cl-code-in { flex: 1; min-width: 0; border: 1px solid var(--p-line); border-radius: 12px; padding: 8px 12px; font: 700 20px var(--p-mono); letter-spacing: .14em; text-transform: uppercase; background: #fff; outline: none; }
.cl-code-in:focus { border-color: var(--p-ink); }
.cl-sec { margin: 30px 0; }
.cl-sec-head { display: flex; align-items: center; gap: 14px; justify-content: space-between; margin-bottom: 14px; flex-wrap: wrap; }
.cl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.cl-card { display: flex; flex-direction: column; border-radius: 16px; overflow: hidden; border: 1px solid var(--p-line); background: var(--p-card); text-decoration: none; transition: transform .12s, box-shadow .12s; }
.cl-card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,.09); }
.cl-card-band { background: var(--cc); color: #fff; padding: 18px 16px 16px; min-height: 96px; display: flex; flex-direction: column; justify-content: flex-end; position: relative; overflow: hidden; }
.cl-card-band::after { content: ''; position: absolute; right: -24px; top: -24px; width: 92px; height: 92px; border-radius: 50%; border: 14px solid rgba(255,255,255,.16); }
.cl-card-band b { font: 700 21px/1.15 var(--p-serif); }
.cl-card-band small { opacity: .88; font-size: 13.5px; }
.cl-card-body { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 12px 16px; font-size: 13.5px; color: var(--p-ink2); }
.cl-card-body em { font-style: normal; font: 600 12.5px var(--p-mono); }
.cl-steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.cl-steps li { display: flex; gap: 12px; padding: 16px; border-radius: 14px; border: 1px dashed var(--p-line); background: rgba(251,249,244,.6); }
.cl-steps b { flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--p-ink); color: var(--p-paper); display: grid; place-items: center; font: 700 14px var(--p-mono); }
.cl-steps span { color: var(--p-ink2); font-size: 14.5px; }
.cl-steps strong { color: var(--p-ink); }
.cl-archived summary { cursor: pointer; font-weight: 600; color: var(--p-ink2); margin-bottom: 12px; }
.cl-archived .cl-card { opacity: .7; }
.cl-school-cta { display: flex; gap: 20px; align-items: center; justify-content: space-between; padding: 20px 22px; border-radius: 18px; background: var(--p-paper2); margin-top: 40px; flex-wrap: wrap; }
.cl-school-cta h3 { margin: 0 0 4px; font: 700 20px var(--p-serif); }
.cl-school-cta p { margin: 0; color: var(--p-ink2); max-width: 640px; }

/* Class page */
.cl-head { display: flex; gap: 22px; align-items: stretch; justify-content: space-between; padding: 22px 24px; border-radius: 20px; background: var(--cc, var(--p-ink)); color: #fff; flex-wrap: wrap; position: relative; overflow: hidden; }
.cl-head::before { content: ''; position: absolute; left: -40px; bottom: -70px; width: 200px; height: 200px; border-radius: 50%; border: 22px solid rgba(255,255,255,.1); }
.cl-head-txt { position: relative; align-self: flex-end; }
.cl-head h1 { font: 800 clamp(30px, 3.6vw, 46px)/1.05 var(--p-serif); margin: 0 0 6px; letter-spacing: -.02em; }
.cl-head p { margin: 0; opacity: .9; }
.cl-head .cl-badge { margin-top: 8px; }
.cl-codebox { position: relative; background: rgba(255,255,255,.96); color: var(--p-ink); border-radius: 14px; padding: 12px 16px; display: flex; flex-direction: column; gap: 4px; min-width: 250px; }
.cl-codebox small { color: var(--p-mute); font-size: 12.5px; }
.cl-code { font: 700 34px/1.1 var(--p-mono); letter-spacing: .12em; }
.cl-codebox > div { display: flex; gap: 10px; align-items: center; }
.sc-head { --cc: #24324a; }
.cl-tabs { display: flex; gap: 4px; margin: 18px 0 20px; border-bottom: 1px solid var(--p-line); overflow-x: auto; }
.cl-tabs a { padding: 10px 14px; text-decoration: none; font-weight: 600; color: var(--p-ink2); border-bottom: 2.5px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.cl-tabs a.on { color: var(--p-ink); border-bottom-color: var(--p-red); }
.cl-tabs a:hover { color: var(--p-ink); }
.cl-row { display: flex; align-items: center; gap: 18px; justify-content: space-between; padding: 14px 18px; border: 1px solid var(--p-line); border-radius: 14px; background: var(--p-card); text-decoration: none; margin-bottom: 10px; transition: border-color .12s, box-shadow .12s; }
.cl-row:hover { border-color: var(--p-ink); box-shadow: 3px 3px 0 var(--p-ink); }
.cl-row-main { display: flex; flex-direction: column; min-width: 0; }
.cl-row-main b { font-size: 16.5px; }
.cl-row-main small { color: var(--p-mute); }
.cl-counts { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex: none; }
.cl-counts small { color: var(--p-ink2); font-size: 13px; }
.cl-bar { display: flex; width: 170px; height: 8px; border-radius: 99px; background: var(--p-paper2); overflow: hidden; }
.cl-bar i { display: block; height: 100%; }
.b-returned { background: var(--p-green); } .b-submitted { background: var(--p-blue); } .b-working { background: #e8a400; }
.cl-badge { display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border-radius: 999px; font-size: 12.5px; font-weight: 600; background: var(--p-paper2); color: var(--p-ink2); white-space: nowrap; width: fit-content; }
.cl-badge::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.cl-badge.s-working { background: #fdf3d8; color: #9a6700; }
.cl-badge.s-submitted { background: #e8edfd; color: var(--p-blue); }
.cl-badge.s-returned { background: #e3f3e8; color: var(--p-green); }
.cl-badge.late::after { content: 'late'; margin-left: 4px; padding: 1px 6px; border-radius: 99px; background: #fdeee2; color: #b4520a; font-size: 11px; }
.cl-people { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px; }
.cl-person { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; background: var(--p-card); border: 1px solid var(--p-line); }
.cl-av { flex: none; width: 36px; height: 36px; border-radius: 50%; background: var(--p-ink); color: var(--p-paper); display: grid; place-items: center; font: 700 13px var(--p-sans); }
.cl-person-txt { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.cl-person-txt small { color: var(--p-mute); overflow: hidden; text-overflow: ellipsis; }
.cl-gallery { columns: 4 230px; column-gap: 14px; margin-top: 14px; }
.cl-gal-item { break-inside: avoid; margin: 0 0 14px; border-radius: 14px; overflow: hidden; background: var(--p-card); border: 1px solid var(--p-line); }
.cl-gal-item img { display: block; width: 100%; height: auto; background: #fff; }
.cl-gal-item figcaption { display: flex; flex-direction: column; padding: 8px 12px; }
.cl-gal-item small { color: var(--p-mute); }
.cl-settings { max-width: 520px; }
.cl-danger { display: flex; gap: 12px; margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--p-line); max-width: 520px; }

/* Assignment */
.cl-ahead { display: flex; gap: 20px; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; }
.cl-ahead h1 { font: 800 clamp(30px, 3.6vw, 46px)/1.05 var(--p-serif); margin: 0 0 6px; letter-spacing: -.02em; }
.cl-ahead p { margin: 0; color: var(--p-ink2); }
.cl-ahead-actions { display: flex; gap: 8px; align-items: center; }
.cl-ainfo { display: flex; gap: 18px; align-items: flex-start; margin: 18px 0 26px; flex-wrap: wrap; }
.cl-instr { flex: 1; min-width: 280px; white-space: pre-wrap; padding: 16px 18px; background: var(--p-card); border: 1px solid var(--p-line); border-radius: 14px; font-size: 15.5px; }
.cl-starter { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; border: 1px solid var(--p-line); background: var(--p-card); min-width: 260px; }
.cl-starter img { width: 64px; height: 64px; object-fit: cover; border-radius: 8px; background: #fff; border: 1px solid var(--p-line); }
.cl-starter span { flex: 1; display: flex; flex-direction: column; }
.cl-starter small { color: var(--p-mute); }
.cl-starter.none { border-style: dashed; }
.cl-live { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--p-ink2); }
.cl-live i { width: 8px; height: 8px; border-radius: 50%; background: var(--p-green); box-shadow: 0 0 0 0 rgba(31,138,76,.5); animation: clPulse 2s infinite; }
@keyframes clPulse { 70% { box-shadow: 0 0 0 8px rgba(31,138,76,0); } 100% { box-shadow: 0 0 0 0 rgba(31,138,76,0); } }
.cl-filters { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px; }
.cl-filters button { border: 1px solid var(--p-line); background: var(--p-card); border-radius: 999px; padding: 6px 12px; font-weight: 600; font-size: 13.5px; cursor: pointer; display: inline-flex; gap: 8px; align-items: center; }
.cl-filters button em { font: 600 12px var(--p-mono); font-style: normal; color: var(--p-mute); }
.cl-filters button.on { background: var(--p-ink); color: var(--p-paper); border-color: var(--p-ink); }
.cl-filters button.on em { color: rgba(255,255,255,.7); }
.cl-works { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
.cl-work { display: flex; flex-direction: column; border: 1px solid var(--p-line); border-radius: 14px; overflow: hidden; background: var(--p-card); text-decoration: none; transition: border-color .12s, box-shadow .12s; }
.cl-work:hover { border-color: var(--p-ink); box-shadow: 3px 3px 0 var(--p-ink); }
.cl-work-img { aspect-ratio: 4 / 3; background: repeating-conic-gradient(#ece7db 0 25%, #f4f1ea 0 50%) 0 0 / 16px 16px; display: grid; place-items: center; overflow: hidden; }
.cl-work-img img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.cl-work-img i { color: var(--p-mute); font-size: 13px; font-style: normal; }
.cl-work-txt { display: flex; flex-direction: column; gap: 5px; padding: 10px 12px 12px; }
.cl-work-txt small { color: var(--p-mute); font-size: 12.5px; }

/* Student panel */
.cl-mine { display: flex; flex-direction: column; gap: 18px; }
.cl-status { display: flex; gap: 18px; justify-content: space-between; align-items: center; flex-wrap: wrap; padding: 18px 20px; border-radius: 16px; background: var(--p-card); border: 1.5px solid var(--p-ink); box-shadow: 4px 4px 0 var(--p-ink); }
.cl-status p { margin: 8px 0 0; color: var(--p-ink2); }
.cl-status-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.cl-result { display: flex; gap: 14px; flex-wrap: wrap; }
.cl-mark { padding: 14px 20px; border-radius: 14px; background: var(--p-ink); color: var(--p-paper); display: flex; flex-direction: column; min-width: 140px; }
.cl-mark small { opacity: .7; }
.cl-mark b { font: 800 34px/1.1 var(--p-serif); }
.cl-feedback { flex: 1; min-width: 260px; padding: 14px 18px; border-radius: 14px; background: var(--p-card); border: 1px solid var(--p-line); }
.cl-feedback small { color: var(--p-mute); }
.cl-feedback p { margin: 4px 0 0; white-space: pre-wrap; }

/* Picture with pins */
.cl-markup { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; align-items: start; }
.cl-framebox { display: flex; justify-content: center; min-width: 0; }
.cl-frame { position: relative; margin: 0 auto; max-width: 100%; background: #fff; border-radius: 6px; box-shadow: 0 10px 34px rgba(0,0,0,.12); cursor: crosshair; }
.cl-frame img { display: block; width: 100%; height: 100%; object-fit: contain; user-select: none; border-radius: 6px; }
.cl-pins { position: absolute; inset: 0; pointer-events: none; }
.cl-pop { position: absolute; z-index: 5; cursor: default; }
.cl-pop .rv-pin { position: absolute; left: 0; top: 0; }
.cl-pop-card { position: absolute; left: 22px; top: -8px; width: 280px; padding: 10px; border-radius: 14px; background: var(--p-card); border: 1px solid var(--p-line); box-shadow: 0 18px 44px rgba(0,0,0,.24); display: flex; flex-direction: column; gap: 8px; }
.cl-pop.fx .cl-pop-card { left: auto; right: 10px; }
.cl-pop.fy .cl-pop-card { top: auto; bottom: 30px; }
.cl-pop textarea { width: 100%; border: 1px solid var(--p-line); border-radius: 10px; padding: 8px 10px; background: #fff; outline: none; resize: vertical; }
.cl-pop-foot { display: flex; align-items: center; gap: 8px; }
.cl-cside h3 { margin: 0 0 10px; font: 700 15px var(--p-sans); }
.cl-clist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; max-height: calc(100vh - 220px); overflow: auto; }
.cl-clist li { display: flex; gap: 10px; align-items: flex-start; padding: 10px; border-radius: 12px; background: var(--p-card); border: 1px solid var(--p-line); cursor: pointer; }
.cl-clist li.on { border-color: var(--p-red); }
.cl-clist li span { flex: 1; min-width: 0; }
.cl-clist li small { color: var(--p-mute); font-size: 12px; }
.cl-clist li p { margin: 2px 0 0; font-size: 14px; white-space: pre-wrap; overflow-wrap: anywhere; }
.cl-cnum { flex: none; width: 24px; height: 24px; border-radius: 50%; background: var(--p-red); color: #fff; display: grid; place-items: center; font-size: 12px; }
.cl-cnum.own { background: var(--p-ink); }
.cl-clist .cl-cempty { cursor: default; color: var(--p-mute); font-size: 14px; border-style: dashed; }

/* Marking */
.cl-markbar { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; flex-wrap: wrap; }
.cl-markbar .cl-back { margin: 0; }
.cl-markbar small { color: var(--p-mute); }
.cl-markpage { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 22px; align-items: start; }
.cl-markpage .cl-markup { grid-template-columns: minmax(0, 1fr) 230px; }
.cl-markpage .cl-clist { max-height: 300px; }
.cl-markside { position: sticky; top: 80px; display: flex; flex-direction: column; gap: 10px; padding: 18px; border-radius: 16px; background: var(--p-card); border: 1px solid var(--p-line); }
.cl-markside h2 { font-size: 26px !important; }
.cl-markform { margin-top: 8px; border-top: 1px solid var(--p-line); padding-top: 14px; }
.cl-markrow { display: flex; gap: 10px; align-items: center; }
.cl-mark-in { font: 700 22px var(--p-serif); max-width: 140px; }
.cl-markrow b { font: 700 20px var(--p-serif); color: var(--p-ink2); }
.cl-preview { display: flex; flex-direction: column; gap: 12px; align-items: center; padding: 20px; border-radius: 16px; border: 1px dashed var(--p-line); }
.cl-preview img { max-width: 100%; max-height: 60vh; background: #fff; box-shadow: 0 8px 26px rgba(0,0,0,.1); }

/* File picker */
.cl-pick { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; max-height: 56vh; overflow: auto; padding: 2px; }
.cl-pick-item { display: flex; flex-direction: column; gap: 2px; text-align: left; padding: 8px; border-radius: 12px; border: 1px solid var(--p-line); background: var(--p-card); cursor: pointer; }
.cl-pick-item:hover { border-color: var(--p-ink); }
.cl-pick-img { aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; background: var(--p-paper2); display: grid; place-items: center; margin-bottom: 6px; }
.cl-pick-img img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.cl-pick-img b { font: 700 28px var(--p-serif); color: var(--p-mute); }
.cl-pick-item b { font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cl-pick-item small { color: var(--p-mute); font-size: 12px; }

/* School admin */
.sc-setup { display: grid; grid-template-columns: 1fr 400px; gap: 28px; align-items: start; }
.sc-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.sc-list li { padding: 14px 16px; border-radius: 14px; background: var(--p-card); border: 1px solid var(--p-line); color: var(--p-ink2); }
.sc-list b { color: var(--p-ink); }
.sc-form { padding: 20px; border-radius: 18px; background: var(--p-card); border: 1.5px solid var(--p-ink); box-shadow: 4px 4px 0 var(--p-ink); display: flex; flex-direction: column; gap: 14px; }
.sc-warn, .sc-note { margin: 0; padding: 10px 12px; border-radius: 10px; background: #fdeee2; color: #8a3d06; font-size: 14px; }
.sc-note { background: #e8edfd; color: #23409e; margin-top: 14px; }
.sc-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.sc-stats div { padding: 16px; border-radius: 14px; background: var(--p-card); border: 1px solid var(--p-line); display: flex; flex-direction: column; }
.sc-stats b { font: 800 34px/1 var(--p-serif); }
.sc-stats small { color: var(--p-mute); }
.sc-summary { padding-left: 18px; color: var(--p-ink2); display: flex; flex-direction: column; gap: 6px; }
.sc-summary a { color: var(--p-blue) !important; font-weight: 600; font-size: 13.5px; }
.sc-table { border: 1px solid var(--p-line); border-radius: 14px; overflow: hidden; background: var(--p-card); margin-top: 12px; }
.sc-tr { display: grid; grid-template-columns: 2fr 2fr 1fr 1fr 1.6fr; gap: 12px; align-items: center; padding: 10px 14px; border-top: 1px solid var(--p-line); }
.sc-tr.sc-staff { grid-template-columns: 2fr 1.5fr 1fr 1fr; }
.sc-tr:first-child { border-top: 0; }
.sc-th { background: var(--p-paper2); font-size: 12.5px; font-weight: 700; color: var(--p-ink2); text-transform: uppercase; letter-spacing: .04em; }
.sc-tr > span { display: flex; flex-direction: column; min-width: 0; overflow-wrap: anywhere; }
.sc-tr small { color: var(--p-mute); }
.sc-tr a { text-decoration: none; }
.sc-actions { flex-direction: row !important; gap: 12px; justify-content: flex-end; }
.sc-inline { grid-column: 1 / -1; display: flex; gap: 8px; }
.sc-add { display: grid; grid-template-columns: 2fr 1.5fr 140px auto; gap: 8px; margin: 14px 0; }
.sc-radio { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 14px; border: 1px solid var(--p-line); background: var(--p-card); cursor: pointer; }
.sc-radio.off { opacity: .5; cursor: not-allowed; }
.sc-radio.on { border-color: var(--p-ink); box-shadow: 3px 3px 0 var(--p-ink); }
.sc-radio input { margin-top: 3px; accent-color: var(--p-ink); }
.sc-radio span { display: flex; flex-direction: column; }
.sc-radio small { color: var(--p-mute); }

@media (max-width: 900px) {
  .cl-page { padding: 18px 16px 70px; }
  .cl-steps, .sc-setup, .cl-markup, .cl-markpage { grid-template-columns: 1fr; }
  .cl-markside { position: static; }
  .sc-stats { grid-template-columns: 1fr 1fr; }
  .sc-tr, .sc-tr.sc-staff, .sc-add { grid-template-columns: 1fr; }
  .sc-th { display: none; }
  .sc-actions { justify-content: flex-start; }
  .cl-join { min-width: 0; width: 100%; }
  .cl-row { flex-direction: column; align-items: flex-start; }
  .cl-counts { align-items: flex-start; }
}
.sc-pending { margin-bottom: 18px; }
.sc-ok { margin: 0 0 12px; padding: 10px 12px; border-radius: 10px; background: #e3f3e8; color: #17603a; font-size: 14px; }
.sc-prove { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 10px; }
/* Comment bank chips on the marking page */
.cl-bank { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 4px; }
.cl-bank > small { width: 100%; color: var(--ink2, #4a463f); font-weight: 600; }
.cl-chip { max-width: 100%; padding: 4px 10px; border: 1px solid var(--line, #ddd6c8); border-radius: 14px; line-height: 1.35; background: #fff; font: inherit; font-size: 12.5px; cursor: pointer; text-align: left; }
.cl-chip:hover { border-color: currentColor; }
