.student-submission-status { margin-top: 16px; padding: 20px 22px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.student-submission-status > header { display: flex; align-items: flex-start; gap: 14px; }
.student-submission-status-icon { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 50%; font: 900 19px "JetBrains Mono", monospace; }
.student-submission-status.is-open { border-color: rgba(198, 255, 92, .48); background: linear-gradient(135deg, rgba(198, 255, 92, .08), var(--surface)); }
.student-submission-status.is-open .student-submission-status-icon { color: #07120a; background: var(--lime); }
.student-submission-status.is-closed { border-color: rgba(244, 201, 93, .5); background: linear-gradient(135deg, rgba(244, 201, 93, .08), var(--surface)); }
.student-submission-status.is-closed .student-submission-status-icon { color: #302407; background: #f4c95d; }
.student-submission-status header div > span { color: var(--blue); font: 800 9px "JetBrains Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.student-submission-status h2 { margin: 5px 0; font-size: 19px; }
.student-submission-status header p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
.student-submission-hours { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
.student-submission-hours > span { padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: color-mix(in srgb, var(--surface) 88%, transparent); }
.student-submission-hours small, .student-submission-hours strong { display: block; }
.student-submission-hours small { color: var(--muted); font: 800 8px "JetBrains Mono", monospace; text-transform: uppercase; }
.student-submission-hours strong { margin-top: 4px; color: var(--text); font: 800 12px "JetBrains Mono", monospace; }
.student-submission-cooldowns { margin-top: 13px; padding-top: 13px; border-top: 1px solid var(--line); }
.student-submission-cooldowns > strong { color: #f4c95d; font-size: 12px; }
.student-submission-cooldowns > p { margin: 4px 0 10px; color: var(--muted); font-size: 10px; }
.student-submission-cooldowns > div { display: grid; gap: 7px; }
.student-submission-cooldowns a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 12px; padding: 10px 12px; border: 1px solid rgba(244, 201, 93, .35); border-radius: 7px; color: var(--text); background: rgba(244, 201, 93, .05); text-decoration: none; }
.student-submission-cooldowns a > span { grid-column: 1 / -1; color: var(--blue); font: 800 8px "JetBrains Mono", monospace; text-transform: uppercase; }
.student-submission-cooldowns a b { overflow-wrap: anywhere; font-size: 11px; }
.student-submission-cooldowns a small { color: #f4c95d; font: 800 10px "JetBrains Mono", monospace; white-space: nowrap; }
.student-submission-ready { margin: 12px 0 0; color: var(--muted); font-size: 10px; }
.student-submission-status-loading { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 11px; }
.student-submission-status-loading i { width: 9px; height: 9px; border-radius: 50%; background: var(--blue); animation: submission-status-pulse 1s ease-in-out infinite alternate; }
.student-submission-status-error { color: #ff8d98; font-size: 11px; }
.student-latest-chat-button { position: fixed; right: 22px; bottom: 22px; z-index: 30; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 2px 10px; min-width: 210px; padding: 13px 16px; border: 1px solid var(--blue); border-radius: 999px; color: var(--text); background: color-mix(in srgb, var(--surface) 94%, var(--blue)); box-shadow: 0 14px 40px rgba(0,0,0,.32); text-decoration: none; }
.student-latest-chat-button[hidden] { display: none; }
.course-body a.student-latest-chat-button:hover { border-color: var(--lime); color: var(--text); background: color-mix(in srgb, var(--surface) 86%, var(--blue)); box-shadow: 0 18px 48px rgba(0,0,0,.4); text-decoration: none; transform: translateY(-2px); }
.course-body a.student-latest-chat-button:hover * { text-decoration: none; }
.student-latest-chat-button { transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease; }
.student-latest-chat-button > span { grid-row: 1 / 3; font-size: 22px; }
.student-latest-chat-button strong { font-size: 12px; }
.student-latest-chat-button small { grid-column: 2; color: var(--muted); font: 700 8px "JetBrains Mono", monospace; text-transform: uppercase; }
.student-latest-chat-button b { grid-column: 3; grid-row: 1 / 3; min-width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; color: #07120a; background: var(--lime); font: 900 11px "JetBrains Mono", monospace; }
.student-latest-chat-button b[hidden] { display: none; }
.student-latest-chat-button.has-unread { border-color: var(--lime); animation: latest-chat-attention 1.5s ease-in-out infinite alternate; }
@keyframes latest-chat-attention { to { box-shadow: 0 14px 44px color-mix(in srgb, var(--lime) 28%, transparent); transform: translateY(-2px); } }
@keyframes submission-status-pulse { to { opacity: .35; transform: scale(.75); } }
@media (max-width: 650px) { .student-latest-chat-button { right: 12px; bottom: 12px; left: 12px; min-width: 0; } .student-submission-hours { grid-template-columns: 1fr; } .student-submission-cooldowns a { grid-template-columns: 1fr; } .student-submission-cooldowns a small { white-space: normal; } }
