/* Assignments and teacher tools */
.as-wrap{max-width:820px;margin:0 auto;padding:34px 18px 70px;}
.as-wrap.wide{max-width:1040px;}
.as-card{background:var(--card);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:20px;padding:20px 22px;margin-bottom:16px;box-shadow:0 12px 34px rgba(60,40,140,.08);}
.as-card h1{margin:0;font-size:clamp(22px,3.4vw,30px);letter-spacing:-.02em;}
.as-card h2{margin:0 0 12px;font-size:19px;}
.as-card h2 small{font-weight:500;color:var(--text-soft);font-size:13px;}
.as-card h3{margin:0;font-size:17px;}
.as-muted{color:var(--text-soft);font-size:14px;line-height:1.5;}
.as-back{display:inline-block;margin-bottom:12px;color:var(--brand);font-weight:600;}
.as-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px;}
.as-pill{display:inline-block;border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:700;white-space:nowrap;}
.as-pill.ok{background:rgba(31,143,78,.14);color:#1f8f4e;}
.as-pill.warn{background:rgba(224,162,27,.18);color:#a8730a;}
.as-pill.wait{background:rgba(91,75,183,.14);color:#5b4bb7;}
.as-pill.todo{background:var(--lilac);color:var(--text-soft);}
.as-facts{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--text-soft);font-size:14px;margin:6px 0 14px;}
.as-facts b{color:var(--text);}
.as-facts .late,.as-facts .late b{color:#c0392b;}
.as-facts .req{color:#a8466a;font-weight:600;}
.as-instr{line-height:1.65;font-size:15.5px;overflow-wrap:anywhere;}
.as-feedback{border-left:6px solid #1f8f4e;}
.as-feedback.warn{border-left-color:#e0a21b;}
.as-score{font-size:30px;margin:4px 0 8px;}
.as-score b{font-size:42px;}
.as-mine{background:var(--lilac);border-radius:14px;padding:12px 14px;line-height:1.6;margin:8px 0;overflow-wrap:anywhere;}
.as-file{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:14px;padding:10px 14px;margin:8px 0;font:inherit;cursor:pointer;}
.as-file:hover{border-color:#8b5cf6;}
.as-file span:first-child{font-size:26px;}
.as-file span:last-child{display:flex;flex-direction:column;line-height:1.3;min-width:0;}
.as-file b{overflow-wrap:anywhere;font-size:14.5px;}
.as-file small{color:var(--text-soft);}
.as-lab,.ad-lab{display:block;font-weight:700;font-size:14px;margin:12px 0 6px;}
.as-lab small,.ad-lab small{font-weight:500;color:var(--text-soft);}
.as-count{text-align:right;font-size:12.5px;color:var(--text-soft);margin:4px 2px 0;}
.as-keep{display:flex;gap:8px;align-items:center;font-size:14px;margin-bottom:8px;}
.as-pick{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.as-err{color:#c0392b;font-size:13.5px;min-height:0;}
.as-err:not(:empty){margin:8px 0;}
#asSend,#aSave,#nqAdd,#qSave,#qImport{margin-top:12px;}
.as-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);z-index:400;background:#231f3a;color:#fff;padding:11px 20px;border-radius:999px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:90vw;}
.as-toast.show{opacity:1;transform:translate(-50%,0);}
.as-toast.bad{background:#c0392b;}

/* teacher page */
.ad-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px;}
.ad-head h1{margin:0 0 4px;font-size:clamp(24px,3.6vw,34px);letter-spacing:-.02em;}
.ad-head p{margin:0;}
.ad-course{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700;min-width:240px;}
.ad-course select{margin:0;}
.ad-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px;border-bottom:1px solid var(--border);}
.ad-tabs button{border:0;background:transparent;color:var(--text-soft);font:inherit;font-weight:700;padding:10px 16px;border-bottom:3px solid transparent;cursor:pointer;}
.ad-tabs button.on{color:var(--brand);border-bottom-color:#8b5cf6;}
.ad-tabs i{font-style:normal;background:#e0709b;color:#fff;border-radius:999px;font-size:11.5px;padding:1px 8px;margin-left:4px;}
.ad-tabs i[hidden]{display:none;}
.ad-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--border);}
.ad-row:first-of-type{border-top:0;}
.ad-row-t{flex:1;min-width:220px;display:flex;flex-direction:column;gap:3px;}
.ad-row-t small{color:var(--text-soft);font-size:12.5px;line-height:1.4;}
.ad-row .btn{padding:7px 14px;font-size:13px;}
.btn.danger{color:#c0392b;border-color:rgba(192,57,43,.4);}
.btn.danger:hover{background:#c0392b;color:#fff;border-color:#c0392b;}
.ad-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:6px;}
.ad-grid label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:700;}
.ad-grid label small{font-weight:500;color:var(--text-soft);}
.ad-grid .exam-input,.as-card .exam-input{margin:0;}
.ad-check{display:flex;gap:10px;align-items:center;margin:10px 0;font-size:14.5px;cursor:pointer;}
.ad-check input{width:18px;height:18px;accent-color:#8b5cf6;}
.ad-stats{display:flex;flex-wrap:wrap;gap:8px 22px;margin:4px 0 10px;color:var(--text-soft);font-size:14px;}
.ad-stats b{color:var(--text);font-size:18px;}
.ad-q{border:1px solid var(--border);border-radius:16px;padding:12px 14px;margin:10px 0;}
.ad-q-h{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap;}
.ad-q-h .btn{padding:5px 12px;font-size:12.5px;}
.ad-opts{margin:8px 0 6px;padding-left:24px;line-height:1.6;font-size:14.5px;}
.ad-opts li.right{color:#1f8f4e;font-weight:600;}
.ad-opts em{font-weight:500;font-size:12.5px;}
.ad-sample{background:var(--lilac);border-radius:12px;padding:12px 14px;font-size:12.5px;overflow-x:auto;white-space:pre-wrap;}
.ad-grade{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0 4px;}
.ad-grade label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:700;}
.ad-grade label.grow{flex:1;min-width:240px;}
.ad-grade input{width:150px;}
.ad-sub .btn{margin-top:8px;}

@media (max-width:640px){.as-wrap{padding:22px 12px 56px;}.as-card{padding:16px 14px;border-radius:18px;}.ad-row .btn{flex:1 1 auto;}}
