/* G8Code Student surfaces: appearance scope follows Admin theme coverage. */
.sh-settings-reminder-pref{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border:1px solid var(--shset-border,#cbd8e8);border-radius:16px;padding:15px;margin:14px 0;background:color-mix(in srgb,var(--shset-surface,#f5f8fe) 90%,var(--shset-primary,#215ec1) 10%);color:var(--shset-text,#172844)}
.sh-settings-reminder-pref strong{font-weight:800;color:var(--shset-text,#172844)}.sh-settings-reminder-pref p{font-size:.84rem;color:var(--shset-muted,#506782);line-height:1.45;max-width:420px;margin:4px 0;opacity:1}.sh-settings-reminder-control{display:flex;gap:9px;align-items:center;cursor:pointer;font-size:.85rem;font-weight:750;color:var(--shset-text,#172844)}.sh-settings-reminder-control input{width:20px;height:20px;accent-color:var(--shset-primary,#2563eb)}
/* Entire-app theme: include secondary student modals and inbox; no teacher controls or code iframe. */
body[data-student-app-theme]:not([data-student-app-theme="original"]) :is(#studentAccountSettingsOverlay,#codeInboxOverlay,#codeSendOverlay,#studentComplianceOverlay,#givenActivityViewerOverlay,#lessonPdfOverlay) {--g8-accent:var(--sat-secondary,#e4be49);--g8-text:var(--sat-text,#182e49);--g8-card:var(--sat-card,#fff);--g8-background:var(--sat-bg,#edf4fb)}
body[data-student-app-theme]:not([data-student-app-theme="original"]) :is(#studentAccountSettingsOverlay .sh-settings-dialog,#codeInboxOverlay .code-transfer-card,#codeSendOverlay .code-transfer-card,#studentComplianceOverlay .student-compliance-panel,#givenActivityViewerOverlay .given-activity-viewer-card,#lessonPdfOverlay .lesson-pdf-card){color:var(--g8-text)!important;background:var(--g8-card)!important;border:1px solid color-mix(in srgb,var(--g8-accent) 28%,var(--g8-text) 13%)!important;box-shadow:0 18px 60px #0002!important}
body[data-student-app-theme]:not([data-student-app-theme="original"]) :is(#codeInboxOverlay .code-inbox-item,#codeInboxOverlay .code-inbox-detail,#codeSendOverlay .code-transfer-file-list){background:color-mix(in srgb,var(--g8-card) 93%,var(--g8-accent) 7%)!important;color:var(--g8-text)!important}
body[data-student-app-theme]:not([data-student-app-theme="original"]) :is(#codeInboxOverlay .code-transfer-head,#codeSendOverlay .code-transfer-head,#studentAccountSettingsOverlay .sh-settings-header){background:linear-gradient(120deg,color-mix(in srgb,var(--g8-card) 86%,var(--g8-accent) 14%),var(--g8-card))!important;color:var(--g8-text)!important}
/* Login reminder remains independently themed when Admin chooses modal-only. */
#loginLackingReminderOverlay:not(.hidden) .login-lacking-reminder-panel{animation:g8ModalEntrance .4s cubic-bezier(.16,1,.3,1);transform-origin:center}
#loginLackingReminderOverlay .login-lacking-reminder-nav-card{transition:transform .15s ease,box-shadow .2s ease}
#loginLackingReminderOverlay .login-lacking-reminder-nav-card:hover{transform:translateY(-3px);box-shadow:0 7px 20px #0002}
#loginLackingReminderOverlay .login-lacking-reminder-nav-card:active{transform:scale(.97)}
#loginLackingReminderOverlay .login-lacking-reminder-nav-card:focus-visible{outline:3px solid var(--lr-accent,#f5bd4d);outline-offset:3px}
#loginLackingReminderOverlay .login-lacking-reminder-meta span{transition:transform .2s ease}#loginLackingReminderOverlay .login-lacking-reminder-meta span:hover{transform:translateY(-2px)}
@keyframes g8ModalEntrance{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
/* Inbox from Student Home shares Studio transfer UI language. */
#codeInboxOverlay .code-inbox-card{border-radius:20px;overflow:hidden}#codeInboxOverlay .code-inbox-item{border-radius:12px;transition:background .18s ease,transform .18s ease}#codeInboxOverlay .code-inbox-item:hover{transform:translateX(2px)}#codeInboxOverlay .code-inbox-file-tab.active{font-weight:800}#codeInboxOverlay .code-inbox-code-preview{border-radius:12px;background:#111b2c;color:#e6efff;tab-size:2}#codeInboxOverlay .code-inbox-reply-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}#codeInboxOverlay .code-inbox-reply-bar span{font-size:.76rem;opacity:.75}
@media(max-width:600px){.sh-settings-reminder-pref{align-items:flex-start;flex-direction:column}#codeInboxOverlay .code-inbox-reply-bar{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){#loginLackingReminderOverlay:not(.hidden) .login-lacking-reminder-panel{animation:none}#loginLackingReminderOverlay .login-lacking-reminder-nav-card{transition:none}}

#codeInboxOverlay .code-inbox-reply-panel{padding:14px;border:1px solid color-mix(in srgb,var(--g8-accent,#d4ab36) 25%,#7c8aa5 26%);border-radius:12px;margin:10px 0;background:var(--g8-card,#f6f9fd)}#codeInboxOverlay .code-inbox-reply-panel.hidden{display:none}#codeInboxOverlay .code-inbox-reply-panel textarea{display:block;width:100%;min-height:80px;margin:9px 0;padding:10px;border:1px solid #9aaeca;border-radius:9px;resize:vertical;color:inherit;background:inherit}#codeInboxOverlay .code-inbox-reply-panel p{font-size:.78rem}

#loginLackingReminderOverlay .login-reminder-progress-widget{padding:12px 14px;margin:10px 0;border-radius:15px;background:color-mix(in srgb,var(--lr-card,#fff) 89%,var(--lr-accent,#e7bc59) 11%);border:1px solid color-mix(in srgb,var(--lr-accent,#e7bc59) 38%,transparent)}
#loginLackingReminderOverlay .login-reminder-progress-title{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left;font-size:.82rem;padding:5px 0;font-weight:750}
#loginLackingReminderOverlay .login-reminder-progress-title b{font-size:1.1rem;letter-spacing:-.035em}
#loginLackingReminderOverlay .login-reminder-progress-track{margin-top:8px;border-radius:999px;width:100%;height:11px;background:color-mix(in srgb,var(--lr-primary,#275a8e) 16%,transparent);overflow:hidden}
#loginLackingReminderOverlay #loginReminderProgressFill{width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--lr-primary,#3172be),var(--lr-accent,#dbb95c));transition:width .55s cubic-bezier(.2,.75,.2,1)}
#loginLackingReminderOverlay .login-reminder-progress-breakdown{font-size:.75rem;margin:8px 0 0;opacity:.82}
#loginLackingReminderOverlay .login-reminder-progress-breakdown.hidden{display:none}
@media(prefers-reduced-motion:reduce){#loginLackingReminderOverlay #loginReminderProgressFill{transition:none}}

/* V2.30: modal surfaces follow the resolved MODAL appearance tokens. These
   selectors intentionally do not follow html[data-theme] when the teacher
   selected Modal Only, and do not affect grading/status color badges. */
#loginLackingReminderOverlay[data-appearance] .login-reminder-progress-widget {
  background: color-mix(in srgb,var(--modal-appearance-card,#fff) 91%,var(--modal-appearance-paper,#f5f6f8) 9%);
  color: var(--modal-appearance-ink,#1b2a40);
  border-color: color-mix(in srgb,var(--modal-appearance-muted,#4e5c72) 30%,transparent);
}
#loginLackingReminderOverlay[data-appearance] .login-reminder-progress-title,
#loginLackingReminderOverlay[data-appearance] .login-reminder-progress-title :is(span,b),
#loginLackingReminderOverlay[data-appearance] .login-reminder-progress-breakdown {
  color: var(--modal-appearance-ink,#1b2a40);
  opacity: 1;
}
#loginLackingReminderOverlay[data-appearance] .login-reminder-progress-track {
  background:color-mix(in srgb,var(--modal-appearance-muted,#4e5c72) 32%,transparent);
}
#loginLackingReminderOverlay[data-appearance] .login-reminder-progress-title:focus-visible {
  outline:2px solid var(--lr-accent,#e7bc59);
  outline-offset:3px;
  border-radius:7px;
}
#loginLackingReminderOverlay[data-appearance="dark"] .login-reminder-progress-widget {
  background:color-mix(in srgb,var(--modal-appearance-card,#273248) 88%,var(--modal-appearance-paper,#161d2c) 12%) !important;
  color:var(--modal-appearance-ink,#f5f7ff) !important;
  border-color:color-mix(in srgb,var(--modal-appearance-muted,#c6d0e4) 35%,transparent) !important;
}
#loginLackingReminderOverlay[data-appearance="dark"] .login-reminder-progress-title,
#loginLackingReminderOverlay[data-appearance="dark"] .login-reminder-progress-title :is(span,b),
#loginLackingReminderOverlay[data-appearance="dark"] .login-reminder-progress-breakdown {
  color:var(--modal-appearance-ink,#f5f7ff) !important;
  opacity:1 !important;
}
#loginLackingReminderOverlay[data-appearance="dark"] .login-reminder-progress-track {
  background:color-mix(in srgb,var(--modal-appearance-muted,#c6d0e4) 27%,transparent) !important;
}
/* Account Settings has its own theme scope: reuse its palette instead of
   the light-only Student Home cards; this works on all viewport widths. */
.sh-settings-overlay .sh-settings-reminder-pref,
.sh-settings-overlay .sh-settings-reminder-control {
  color:var(--shset-text,#172844);
}
.sh-settings-overlay .sh-settings-reminder-pref p { color:var(--shset-muted,#506782); }
.sh-settings-overlay .sh-settings-reminder-pref strong { color:var(--shset-text,#172844); }
