.rc-lms-page .rc-header{background:var(--surface);border-bottom-color:var(--border)}
.rc-lms-page .rc-header__logo{opacity:1;transform:none;pointer-events:auto}
.rc-lms-page .rc-header__cta{opacity:1;transform:none;pointer-events:auto}

.rc-lms-hero{padding:calc(var(--nav-height) + var(--space-lg)) 0 var(--space-md)}
.rc-lms-hero .rc-container{text-align:center;display:flex;flex-direction:column;align-items:center}
.rc-lms-hero h1{font-family:var(--font-heading);font-weight:500;font-size:clamp(2rem,5vw,2.8rem);margin-top:var(--space-sm)}
.rc-lms-hero p{color:var(--muted);margin-top:var(--space-sm);max-width:56ch}

.rc-lms-hero__row{flex-direction:row;justify-content:center;gap:var(--space-md);text-align:left}
.rc-lms-hero__row div{display:flex;flex-direction:column}
.rc-lms-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--border);flex:none}

.rc-lms-section{padding-bottom:var(--space-xl)}
.rc-lms-wrap{max-width:640px;margin-left:auto;margin-right:auto}
.rc-container.rc-lms-wrap.rc-lms-groups-wrap{max-width:1600px}
.rc-container.rc-lms-wrap.rc-lms-invoices-wrap{max-width:1200px}
.rc-lms-wrap.rc-lms-certificates-wrap{max-width:1200px}

/* Certificate thumbnails - shared size between the teacher table and the
   student account page, so a preview looks the same size in both places. */
.rc-lms-cert-thumb-link{display:inline-block;flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;line-height:0}
.rc-lms-cert-thumb-sm{
  display:flex;align-items:center;justify-content:center;
  width:96px;height:96px;object-fit:cover;border-radius:var(--radius-sm);
  background:rgba(122,100,225,.12);color:var(--accent);
  flex-shrink:0;padding:14px;box-sizing:border-box;
}
.rc-lms-cert-thumb-sm svg{width:100%;height:100%;display:block}
.rc-lms-cert-thumb-sm--icon{background:rgba(255,255,255,.05);color:var(--muted)}
@media (max-width: 560px){
  .rc-lms-cert-thumb-sm{width:72px;height:72px;padding:10px}
}
.rc-lms-card__muted code{overflow-wrap:anywhere;word-break:break-word}

.rc-lms-form{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md);
}
.rc-lms-form[hidden]{display:none}
.rc-lms-form--inline{padding:var(--space-md)}
.rc-lms-meta{text-align:center;color:var(--muted);font-size:.9rem;margin:0}
.rc-lms-meta a{color:var(--accent)}

.rc-apply-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}
.rc-field{display:flex;flex-direction:column;gap:6px}
.rc-field label{font-size:.9rem;color:var(--muted)}
.rc-field label span{opacity:.7}
.rc-field input[type="text"],.rc-field input[type="email"],.rc-field input[type="password"],.rc-field input[type="file"]{
  background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:.75em .9em;color:var(--ink);font-family:var(--font-body);font-size:1rem;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.rc-field input:disabled{opacity:.6}
.rc-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(122,100,225,.25)}
.rc-field__hint{color:var(--muted);font-size:.8rem;margin:2px 0 0}

.rc-field--checkbox{flex-direction:row;align-items:flex-start;gap:10px;cursor:pointer}
.rc-field--checkbox input[type="checkbox"]{margin-top:3px;width:17px;height:17px;flex-shrink:0;accent-color:var(--accent);cursor:pointer}
.rc-field--checkbox span{color:var(--muted);font-size:.88rem;line-height:1.5}
.rc-field--checkbox a{color:var(--accent);text-decoration:underline}

.rc-pw-meter{height:4px;border-radius:2px;background:var(--border);overflow:hidden}
.rc-pw-meter span{display:block;height:100%;width:0;background:#E2544B;transition:width .25s ease, background-color .25s ease}
.rc-pw-meter[data-strength="medium"] span{width:60%;background:#E2B14B}
.rc-pw-meter[data-strength="strong"] span{width:100%;background:#4BE29A}
.rc-pw-meter[data-strength="weak"] span{width:25%;background:#E2544B}

.rc-lms-notice{border-radius:var(--radius-sm);padding:.8em 1em;font-size:.9rem;margin:0}
.rc-lms-notice--error{background:rgba(226,84,75,.12);color:#F1A9A9;border:1px solid rgba(226,84,75,.3)}
.rc-lms-notice--success{background:rgba(75,226,154,.1);color:#9DEFC4;border:1px solid rgba(75,226,154,.3)}

.rc-lms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-md)}
.rc-lms-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--space-lg);position:relative;
}
.rc-lms-card h2{font-family:var(--font-heading);font-weight:500;font-size:1.15rem;margin-bottom:.5em}
.rc-lms-card__big{font-family:var(--font-heading);font-weight:500;font-size:1.4rem;color:var(--accent)}
.rc-lms-card__muted{color:var(--muted);font-size:.92rem;line-height:1.6}
.rc-lms-card--soon{opacity:.9}
.rc-lms-card__sticker{width:56px;height:56px;object-fit:contain;position:absolute;top:var(--space-md);right:var(--space-md)}

.rc-lms-table-wrap{overflow-x:auto;margin-top:var(--space-lg)}
.rc-lms-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}
.rc-lms-table th,.rc-lms-table td{padding:.9em 1em;text-align:left;border-bottom:1px solid var(--border);font-size:.92rem}
.rc-lms-table th{color:var(--muted);font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.rc-lms-table tr:last-child td{border-bottom:none}
.rc-lms-table__avatar{width:32px;height:32px;min-width:32px;min-height:32px;flex:none;border-radius:50%;object-fit:cover;display:block}\n.rc-lms-table td:first-child{width:1%}

.rc-lms-badge{display:inline-block;padding:.25em .7em;border-radius:999px;font-size:.78rem;font-weight:600}
.rc-lms-badge--active{background:rgba(75,226,154,.12);color:#9DEFC4}
.rc-lms-badge--pending{background:rgba(226,177,75,.12);color:#F0CE8F}

.rc-lms-inline-form{margin:0}
.rc-btn--small{padding:.4em .9em;font-size:.82rem}

.rc-lms-access-badge{display:inline-block;margin-bottom:6px}
.rc-lms-grant-form{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rc-lms-grant-feedback{font-size:.78rem;color:var(--muted)}
.rc-lms-grant-feedback.is-error{color:#F1A9A9}
.rc-lms-inline-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.rc-lms-remove-student{color:#F1A9A9;border-color:rgba(226,84,75,.35)}
.rc-lms-remove-student:hover{background:rgba(226,84,75,.12);border-color:rgba(226,84,75,.6)}
.rc-lms-remove-student[disabled]{opacity:.5;cursor:default}

@media (max-width:800px){
  .rc-lms-grid{grid-template-columns:1fr}
  .rc-apply-row{grid-template-columns:1fr}
  .rc-lms-hero__row{flex-direction:column;text-align:center}
}
.rc-lms-section__title{font-family:var(--font-heading);font-weight:500;font-size:1.4rem;margin-bottom:var(--space-md)}

.rc-lms-group-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-md)}
.rc-lms-group-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}
.rc-lms-group-card__head h3{font-family:var(--font-heading);font-weight:500;font-size:1.1rem;margin:0}

.rc-lms-meeting-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-md)}
.rc-lms-meeting-row__when{color:var(--muted);font-size:.9rem}

.rc-lms-exception{margin-top:var(--space-md);font-size:.88rem;color:var(--muted)}
.rc-lms-exception summary{cursor:pointer;color:var(--accent)}
.rc-lms-exception form{margin-top:var(--space-sm)}

.rc-lms-select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.4em .6em;color:var(--ink);font-family:var(--font-body);font-size:.85rem}

.rc-lms-join-btn[disabled]{opacity:.45;pointer-events:none}
.rc-field select,
.rc-field input[type="time"],
.rc-field input[type="number"],
.rc-field input[type="datetime-local"],
.rc-lms-select{
  background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:.75em .9em;color:var(--ink);font-family:var(--font-body);font-size:1rem;
  transition:border-color .2s ease, box-shadow .2s ease;color-scheme:dark;
}
.rc-field select,
.rc-lms-select{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23A79FBD' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='5 8 10 13 15 8'/></svg>");
  background-repeat:no-repeat;background-position:right .9em center;background-size:14px;padding-right:2.2em;
}
.rc-lms-select{padding:.4em 2em .4em .6em;font-size:.85rem;background-position:right .6em center}
.rc-field select:focus,
.rc-field input[type="time"]:focus,
.rc-field input[type="number"]:focus,
.rc-field input[type="datetime-local"]:focus,
.rc-lms-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(122,100,225,.25)}
.rc-field select option,
.rc-lms-select option{background:var(--surface);color:var(--ink)}

.rc-lms-group-card__edit{margin-top:var(--space-md);font-size:.88rem;color:var(--muted)}
.rc-lms-group-card__edit summary{cursor:pointer;color:var(--accent)}
.rc-lms-group-card__edit form{margin-top:var(--space-sm)}
.rc-lms-card--homework{display:flex;flex-direction:column;gap:var(--space-sm)}

.rc-lms-dropzone{
  border:2px dashed var(--border);border-radius:var(--radius-md);padding:calc(var(--space-md) * 1.3) var(--space-md);
  text-align:center;cursor:pointer;transition:border-color .2s ease, background-color .2s ease, transform .15s ease;
  color:var(--muted);font-size:.9rem;
  display:flex;flex-direction:column;align-items:center;gap:2px;
}
.rc-lms-dropzone:hover{border-color:var(--accent)}
.rc-lms-dropzone.is-dragover{border-color:var(--accent);background:rgba(122,100,225,.08);transform:scale(1.015)}
.rc-lms-dropzone__icon{width:42px;height:42px;margin-bottom:8px;color:var(--accent);transition:transform .2s ease}
.rc-lms-dropzone__icon svg{width:100%;height:100%;display:block}
.rc-lms-dropzone.is-dragover .rc-lms-dropzone__icon{transform:scale(1.1)}
.rc-lms-dropzone__text{margin:0;color:var(--ink);font-weight:500}
.rc-lms-dropzone__browse{color:var(--accent);text-decoration:underline}
.rc-lms-dropzone__hint{font-size:.78rem;opacity:.65;margin:3px 0 0}

.rc-lms-upload-progress{height:6px;border-radius:3px;background:var(--border);overflow:hidden}
.rc-lms-upload-progress__bar{height:100%;width:0;background:var(--accent);transition:width .2s ease}

.rc-lms-upload-error{color:#F1A9A9;font-size:.85rem;margin:0}

.rc-lms-file-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.rc-lms-file-list li{
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);
  background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:.5em .8em;font-size:.85rem;
  animation:rc-lms-file-in .25s ease;
}
.rc-lms-file-list li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rc-lms-file-list--static .rc-lms-file-row{opacity:.85}
.rc-lms-file-list__remove{
  background:none;border:none;color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer;
  padding:0 .2em;transition:color .15s ease;flex-shrink:0;
}
.rc-lms-file-list__remove:hover{color:#F1A9A9}
.rc-lms-file-list li.is-removing{animation:rc-lms-file-out .2s ease forwards}

@keyframes rc-lms-file-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@keyframes rc-lms-file-out{to{opacity:0;transform:translateX(8px);max-height:0;padding:0;margin:0;border-width:0}}
.rc-lms-reviews{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--border)}
.rc-lms-reviews__title{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 var(--space-sm)}
.rc-lms-review-session{margin-bottom:var(--space-md)}
.rc-lms-review-session__head{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:6px}
.rc-lms-review-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
li.rc-lms-review-list__row{display:flex;align-items:center;gap:var(--space-sm);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5em .8em;font-size:.85rem}\ntr.rc-lms-review-list__row{background:transparent}
.rc-lms-review-list__name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rc-lms-review-upload-btn{cursor:pointer;margin:0}
.rc-lms-review-list__files{list-style:none;padding:0 0 0 0}
.rc-lms-review-file-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.rc-lms-review-file-list li{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.4em .6em;font-size:.8rem}
.rc-lms-review-file-list li.is-removing{animation:rc-lms-file-out .2s ease forwards}
.rc-lms-review-file__actions{display:flex;align-items:center;gap:2px;flex-shrink:0;margin-left:auto}
.rc-lms-review-file__download,.rc-lms-review-file__delete{
  flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;
  background:none;border:none;color:var(--muted);cursor:pointer;padding:0;transition:color .15s ease;
}
.rc-lms-review-file__download svg,.rc-lms-review-file__delete svg{width:15px;height:15px;display:block}
.rc-lms-review-file__download:hover{color:var(--accent)}
.rc-lms-review-file__delete:hover{color:#F1A9A9}


.rc-lms-card--downloads{display:flex;flex-direction:column;gap:var(--space-sm)}
.rc-lms-download-row{padding:.6em 0;border-bottom:1px solid var(--border)}
.rc-lms-download-row:last-child{border-bottom:none}
.rc-lms-download-row__date{font-size:.85rem;color:var(--muted);margin:0 0 6px}
.rc-lms-download-row__items{display:flex;flex-direction:column;gap:8px}
.rc-lms-download-row__pending{font-size:.85rem}
.rc-lms-card--membership{display:flex;flex-direction:column;gap:var(--space-sm)}
.rc-lms-plan-picker{display:flex;flex-direction:column;gap:8px}
.rc-lms-plan-option{
  display:flex;flex-direction:column;gap:2px;text-align:left;
  background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:10px 14px;cursor:pointer;font-family:inherit;color:var(--ink);
  transition:border-color .15s ease,background .15s ease;
}
.rc-lms-plan-option:hover{border-color:var(--accent)}
.rc-lms-plan-option.is-selected{border-color:var(--accent);background:rgba(122,100,225,.08)}
.rc-lms-plan-option__label{font-weight:600;font-size:.9rem}
.rc-lms-plan-option__price{font-weight:700;font-size:1.05rem}
.rc-lms-plan-option__unit{font-weight:400;font-size:.8rem;color:var(--muted)}
.rc-lms-plan-option__sub{font-size:.78rem;color:var(--muted)}
.rc-lms-paypal-button{margin-top:var(--space-sm);max-width:320px}
.rc-lms-paypal-status{border-radius:var(--radius-sm);padding:.7em 1em;font-size:.85rem;margin:var(--space-sm) 0 0;background:rgba(75,226,154,.1);color:#9DEFC4;border:1px solid rgba(75,226,154,.3)}
.rc-lms-paypal-status--error{background:rgba(226,84,75,.12);color:#F1A9A9;border:1px solid rgba(226,84,75,.3)}
.rc-lms-lockable{position:relative}
.rc-lms-lockable.is-locked .rc-lms-card{pointer-events:none;user-select:none;filter:grayscale(.5)}
.rc-lms-lockable.is-locked .rc-lms-card > *{opacity:.6}
.rc-lms-lock-overlay{
  position:absolute;inset:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  background:rgba(8,7,13,.78);
  backdrop-filter:blur(1.5px);
  -webkit-backdrop-filter:blur(1.5px);
  border-radius:var(--radius-md);
  color:var(--ink);
  font-size:.85rem;
  font-weight:600;
  text-align:center;
  letter-spacing:.01em;
}
.rc-lms-lock-overlay svg{width:22px;height:22px;opacity:.95}

.rc-lms-test-mode{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:.8em 1.1em;margin-bottom:var(--space-md)}
.rc-lms-test-mode--active{background:rgba(226,84,75,.1);border-color:rgba(226,84,75,.35)}
.rc-lms-test-mode__label{font-size:.85rem;color:var(--muted)}
.rc-lms-test-mode--active .rc-lms-test-mode__label{color:#F1A9A9;font-weight:600}
.rc-lms-card--calendar{display:flex;flex-direction:column;gap:var(--space-sm)}
.rc-lms-calendar__weekdays,.rc-lms-calendar__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.rc-lms-calendar__weekdays{margin-top:4px}
.rc-lms-calendar__weekdays span{text-align:center;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.rc-lms-calendar__cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.85rem;border-radius:var(--radius-sm);color:var(--ink)}
.rc-lms-calendar__cell--empty{visibility:hidden}
.rc-lms-calendar__cell--today{border:1px solid var(--accent);font-weight:600}
.rc-lms-calendar__cell--session{background:rgba(122,100,225,.22);color:var(--accent);font-weight:600}
.rc-lms-calendar__cell--exception{background:rgba(226,84,75,.2);color:#F1A9A9;font-weight:600}
.rc-lms-calendar__legend{display:flex;align-items:center;gap:4px 14px;flex-wrap:wrap;font-size:.78rem;margin-top:4px}
.rc-lms-calendar__legend-item{display:inline-flex;align-items:center;white-space:nowrap}
.rc-lms-calendar__dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}
.rc-lms-calendar__dot--session{background:var(--accent)}
.rc-lms-calendar__dot--exception{background:#E2544B}
.rc-lms-calendar__cell--projected{border:1px dashed rgba(122,100,225,.45);color:var(--muted)}
.rc-lms-calendar__dot--projected{background:transparent;border:1px dashed var(--accent);box-sizing:border-box}

/* Rich file rows (homework uploads, downloads, reviews) */
.rc-lms-file-row{
  display:flex;align-items:center;gap:var(--space-sm);
  background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:.6em .8em;font-size:.85rem;
  animation:rc-lms-file-in .25s ease;
  text-decoration:none;color:inherit;
}
a.rc-lms-file-row--link{transition:border-color .15s ease, background-color .15s ease}
a.rc-lms-file-row--link:hover{border-color:var(--accent);background:rgba(122,100,225,.06)}
.rc-lms-file-row--pending{opacity:.6}
.rc-lms-file-row__icon{
  flex-shrink:0;width:34px;height:34px;border-radius:var(--radius-sm);
  background:rgba(122,100,225,.12);color:var(--accent);
  display:flex;align-items:center;justify-content:center;padding:7px;
}
.rc-lms-file-row__icon svg{width:100%;height:100%;display:block}
.rc-lms-file-row__icon img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.rc-lms-file-feedback{display:block;margin-top:.35em;font-size:.78rem;color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
.rc-lms-file-row--pending .rc-lms-file-row__icon{background:rgba(255,255,255,.05);color:var(--muted)}
.rc-lms-file-row__meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rc-lms-file-row__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--ink)}
.rc-lms-file-row__sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;color:var(--muted)}
.rc-lms-file-row__status{flex-shrink:0;width:22px;height:22px;display:flex;align-items:center;justify-content:center;color:var(--accent)}
.rc-lms-file-row__status--done{color:#4BE29A}
.rc-lms-file-row__status svg{width:100%;height:100%;display:block}
.rc-lms-file-row__status--progress{position:relative;color:var(--accent)}
.rc-lms-file-row__ring{width:22px;height:22px;transform:rotate(-90deg)}
.rc-lms-file-row__ring-bg{fill:none;stroke:var(--border);stroke-width:3}
.rc-lms-file-row__ring-fg{
  fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;
  stroke-dasharray:97.4;stroke-dashoffset:97.4;transition:stroke-dashoffset .2s ease;
}
.rc-lms-file-row__remove{
  background:none;border:none;color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer;
  padding:0 .2em;transition:color .15s ease;flex-shrink:0;
}
.rc-lms-file-row__remove:hover{color:#F1A9A9}
.rc-lms-file-row.is-removing{animation:rc-lms-file-out .2s ease forwards}

/* Compact drag-capable mini-uploader (teacher review upload control) */
.rc-lms-mini-uploader{
  display:inline-flex;align-items:center;gap:6px;cursor:pointer;
  border:1px solid var(--border);border-radius:var(--radius-pill);
  padding:.35em .8em .35em .5em;font-size:.8rem;font-weight:500;
  background:var(--bg);color:var(--ink);transition:border-color .15s ease, background-color .15s ease;
  margin:0;
}
.rc-lms-mini-uploader:hover{border-color:var(--accent)}
.rc-lms-mini-uploader__icon{width:18px;height:18px;flex-shrink:0;color:var(--accent);display:flex}
.rc-lms-mini-uploader__icon svg{width:100%;height:100%;display:block}
.rc-lms-mini-uploader--done .rc-lms-mini-uploader__icon{color:#4BE29A}
.rc-lms-mini-uploader--uploading{opacity:.75;pointer-events:none}
.rc-lms-mini-uploader__spinner{animation:rc-lms-spin .8s linear infinite}

@keyframes rc-lms-spin{to{transform:rotate(360deg)}}

/* Homework card in its pre-session blackout window: still visible, disabled */
.rc-lms-card--homework-closed .rc-lms-dropzone{
  opacity:.5;pointer-events:none;filter:grayscale(.4);
}
/* Bulk teacher uploader: drop or select a folder of per-student
   subfolders after class; matched rows reuse .rc-lms-file-row, this is
   just the extra bit for an unmatched folder awaiting manual assignment. */
.rc-lms-bulk-assign{display:flex;align-items:center;gap:6px;flex-shrink:0}
.rc-lms-bulk-assign__select{
  background:var(--bg);color:var(--ink);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:.3em .5em;font-size:.8rem;max-width:140px;
}
.rc-lms-file-row--pending .rc-lms-file-row__name{color:var(--muted)}
.rc-lms-bulk-results{margin-top:var(--space-sm)}

.rc-lms-notice--info{background:rgba(122,100,225,.12);color:#C9BFF5;border:1px solid rgba(122,100,225,.3)}

.rc-lms-recording-manager{margin:6px 0 var(--space-sm)}
.rc-lms-recording-manager__list{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-direction:column;gap:4px}
.rc-lms-recording-manager__item{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.4em .7em;font-size:.85rem}
.rc-lms-recording-manager__item a{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.rc-lms-recording-remove{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:0 4px}
.rc-lms-recording-remove:hover{color:#F1A9A9}
.rc-lms-recording-manager__add{display:flex;gap:6px;flex-wrap:wrap}
.rc-lms-recording-input{flex:1;min-width:180px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5em .7em;color:var(--ink);font-family:var(--font-body);font-size:.85rem}
.rc-lms-recording-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(122,100,225,.25)}

.rc-lms-recording-manager__extra{font-size:.78rem;color:var(--muted);white-space:nowrap}

/* Calendar day hover tooltips (session/exception/today) */
.rc-lms-calendar__cell[data-tip]{position:relative;cursor:default}
.rc-lms-calendar__cell[data-tip]::after{
  content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);left:50%;
  transform:translateX(-50%) translateY(2px);background:var(--surface);color:var(--ink);
  border:1px solid var(--border);font-size:.72rem;font-weight:600;white-space:nowrap;
  padding:6px 10px;border-radius:var(--radius-sm);box-shadow:0 8px 20px rgba(0,0,0,.4);
  opacity:0;visibility:hidden;transition:opacity .12s ease,transform .12s ease;pointer-events:none;z-index:6;
}
.rc-lms-calendar__cell[data-tip]::before{
  content:"";position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);
  border:5px solid transparent;border-top-color:var(--surface);
  opacity:0;visibility:hidden;transition:opacity .12s ease;pointer-events:none;z-index:6;
}
.rc-lms-calendar__cell[data-tip]:hover::after,
.rc-lms-calendar__cell[data-tip]:hover::before{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}

/* Downloads split into two columns: Drawover files / Recordings */
.rc-lms-downloads-split{display:grid;grid-template-columns:1fr 1fr;gap:0}
.rc-lms-downloads-col{padding-right:var(--space-md)}
.rc-lms-downloads-col + .rc-lms-downloads-col{padding-right:0;padding-left:var(--space-md);border-left:1px dashed var(--border)}
.rc-lms-downloads-col__label{
  display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:700;color:var(--muted);
  text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px;
}
.rc-lms-downloads-col__label svg{width:16px;height:16px;flex-shrink:0;color:var(--accent)}
@media (max-width:800px){
  .rc-lms-downloads-split{grid-template-columns:1fr}
  .rc-lms-downloads-col + .rc-lms-downloads-col{border-left:none;padding-left:0;margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px dashed var(--border)}
}

/* ---- sidebar nav + bento layout (student dashboard) ---- */
.rc-lms-section--shell{padding-top:calc(var(--nav-height, 76px) + var(--space-md, 20px))}
.rc-container.rc-lms-shell{max-width:1600px}
.rc-lms-shell{display:grid;grid-template-columns:240px 1fr;gap:26px;align-items:start}
.rc-lms-sidenav{position:sticky;top:calc(var(--nav-height, 76px) + 20px);z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:18px 14px;display:flex;flex-direction:column;gap:2px}
.rc-lms-sidenav__item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;color:var(--muted);font-weight:600;font-size:.88rem;cursor:pointer;border:none;background:transparent;text-align:left;width:100%;font-family:inherit;text-decoration:none}
.rc-lms-sidenav__item:hover{background:var(--surface-3,rgba(255,255,255,.04));color:var(--ink)}
.rc-lms-sidenav__item.is-active{background:var(--accent-soft,rgba(122,100,225,.14));color:var(--accent)}
.rc-lms-sidenav__icon{width:18px;height:18px;flex:none;color:inherit}
.rc-lms-sidenav__divider{height:1px;background:var(--border);margin:10px 4px}

/* ---------- Discord CTA ---------- */
.rc-lms-discord-btn{
  position:relative;
  display:flex;align-items:center;gap:10px;
  padding:11px 16px;
  margin:6px 0 4px;
  border-radius:var(--radius-pill,999px);
  background:linear-gradient(135deg,#5865F2,#4752C4);
  color:#fff;
  font-weight:700;font-size:.86rem;
  text-decoration:none;
  overflow:hidden;
  box-shadow:0 4px 14px rgba(88,101,242,.35);
  transition:transform .25s ease, box-shadow .25s ease;
}
.rc-lms-discord-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(88,101,242,.5);
}
.rc-lms-discord-btn__icon{
  flex:none;width:20px;height:20px;
  display:flex;align-items:center;justify-content:center;
  transform:rotate(-35deg) scale(.82);
  opacity:.82;
  transition:transform .45s cubic-bezier(.34,1.56,.64,1), opacity .3s ease;
}
.rc-lms-discord-btn__icon svg{width:100%;height:100%}
.rc-lms-discord-btn:hover .rc-lms-discord-btn__icon{
  transform:rotate(0deg) scale(1);
  opacity:1;
}
.rc-lms-discord-btn__text{
  display:inline-block;
  transition:transform .3s ease;
}
.rc-lms-discord-btn:hover .rc-lms-discord-btn__text{
  transform:translateX(3px);
}
.rc-lms-discord-wrap{position:relative}

.rc-lms-discord-bubble{
  position:absolute;
  bottom:calc(100% + 18px);
  left:14px;
  width:300px;
  max-width:calc(100vw - 48px);
  z-index:9999;
  background:#09FAD0;
  border-radius:16px;
  padding:16px 30px 16px 16px;
  box-shadow:0 14px 34px rgba(0,0,0,.5);
  animation:rc-discord-bubble-in .5s cubic-bezier(.34,1.56,.64,1) forwards;
}
.rc-lms-discord-bubble.is-hidden{display:none}
.rc-lms-discord-bubble::before{
  content:'';
  position:absolute;
  bottom:-7px;left:26px;
  width:14px;height:14px;
  background:#09FAD0;
  transform:rotate(45deg);
}
.rc-lms-discord-bubble p{margin:0;font-size:.82rem;line-height:1.45;color:#2B2B2B;font-weight:600}
.rc-lms-discord-bubble__sticker{
  position:absolute;
  top:-40px;left:-8px;
  width:56px;height:56px;
  object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.4));
  animation:rc-discord-sticker-float 2.6s ease-in-out infinite;
}
.rc-lms-discord-bubble__close{
  position:absolute;top:8px;right:8px;
  width:22px;height:22px;border-radius:50%;
  border:none;background:transparent;color:#2B2B2B;
  font-size:1.05rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s ease, color .15s ease;
}
.rc-lms-discord-bubble__close:hover{background:rgba(0,0,0,.1);color:#000}

@keyframes rc-discord-bubble-in{
  from{opacity:0;transform:translateY(-6px) scale(.92)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes rc-discord-sticker-float{
  0%,100%{transform:translateY(0) rotate(-4deg)}
  50%{transform:translateY(-6px) rotate(4deg)}
}

@media (max-width:480px){
  .rc-lms-discord-bubble{width:calc(100vw - 64px)}
}

/* "Your certificate is ready" sidebar bubble - same shape/behaviour as
   the Discord welcome bubble, festive gold instead of Discord's teal. */
.rc-lms-cert-bubble-wrap{position:relative}
.rc-lms-cert-bubble{
  position:absolute;
  bottom:calc(100% + 18px);
  left:14px;
  width:300px;
  max-width:calc(100vw - 48px);
  z-index:9999;
  background:#FFC857;
  border-radius:16px;
  padding:16px 30px 16px 16px;
  box-shadow:0 14px 34px rgba(0,0,0,.5);
  animation:rc-discord-bubble-in .5s cubic-bezier(.34,1.56,.64,1) forwards;
}
.rc-lms-cert-bubble.is-hidden{display:none}
.rc-lms-cert-bubble::before{
  content:'';
  position:absolute;
  bottom:-7px;left:26px;
  width:14px;height:14px;
  background:#FFC857;
  transform:rotate(45deg);
}
.rc-lms-cert-bubble p{margin:0;font-size:.82rem;line-height:1.45;color:#2B2B2B;font-weight:600}
.rc-lms-cert-bubble__sticker{
  position:absolute;
  top:-40px;left:-8px;
  width:56px;height:56px;
  object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.4));
  animation:rc-discord-sticker-float 2.6s ease-in-out infinite;
}
.rc-lms-cert-bubble__close{
  position:absolute;top:8px;right:8px;
  width:22px;height:22px;border-radius:50%;
  border:none;background:transparent;color:#2B2B2B;
  font-size:1.05rem;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s ease, color .15s ease;
}
.rc-lms-cert-bubble__close:hover{background:rgba(0,0,0,.1);color:#000}
@media (max-width:480px){
  .rc-lms-cert-bubble{width:calc(100vw - 64px)}
}
.rc-lms-sidenav__profile{display:flex;align-items:center;gap:10px;padding:12px 10px;margin-top:8px;border-top:1px solid var(--border)}
.rc-lms-sidenav__profile img{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}
.rc-lms-sidenav__profile div{flex:1;min-width:0}
.rc-lms-sidenav__profile b{display:block;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.rc-lms-sidenav__profile span{font-size:.74rem;color:var(--muted)}
.rc-lms-sidenav__logout{color:var(--muted);display:flex}
.rc-lms-sidenav__logout:hover{color:#F1A9A9}

.rc-lms-main{display:flex;flex-direction:column;gap:22px;min-width:0}
.rc-lms-pane{display:flex;flex-direction:column;gap:22px}
.rc-lms-pane[hidden]{display:none}
.rc-lms-pane__header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}

.rc-lms-bento{display:grid;grid-template-columns:repeat(12,1fr);gap:18px;align-items:stretch}
.rc-lms-bento > .rc-lms-card,.rc-lms-bento > .rc-lms-lockable{display:flex;flex-direction:column}
.rc-lms-lockable > .rc-lms-card{height:100%;flex:1}
.rc-lms-span-3{grid-column:span 3}
.rc-lms-span-4{grid-column:span 4}
.rc-lms-span-5{grid-column:span 5}
.rc-lms-span-6{grid-column:span 6}
.rc-lms-span-7{grid-column:span 7}
.rc-lms-span-8{grid-column:span 8}
.rc-lms-span-12{grid-column:span 12}
.rc-lms-bento > .rc-lms-card,.rc-lms-bento > .rc-lms-lockable{margin:0}

.rc-lms-join-card{background:linear-gradient(135deg,var(--surface-2,rgba(255,255,255,.03)),var(--surface));position:relative;overflow:hidden}
.rc-lms-join-card::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 0%,var(--accent-soft,rgba(122,100,225,.14)),transparent 60%);pointer-events:none}
.rc-lms-join-card > *{position:relative}
.rc-lms-join-card__countdown{font-family:var(--font-heading,inherit);color:var(--accent);font-size:1.7rem}

.rc-lms-homework-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;margin-top:14px}
@media (max-width:900px){.rc-lms-homework-grid{grid-template-columns:1fr}}

.rc-lms-notes-block{display:flex;flex-direction:column;height:100%}
.rc-lms-notes-block textarea{flex:1 1 auto;min-height:96px;resize:none;width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 13px;color:var(--ink);font-family:inherit;font-size:.9rem}
.rc-lms-notes-block textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft,rgba(122,100,225,.14))}
.rc-lms-notes-block label{font-size:.82rem;color:var(--muted);font-weight:600;display:block;margin-bottom:6px}
.rc-lms-notes-block__foot{display:flex;justify-content:flex-end;margin-top:8px;flex:none}

/* ---- settings pane ---- */
.rc-lms-avatar-row{display:flex;align-items:center;gap:18px}
.rc-lms-avatar-row img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--border);flex:none}
.rc-lms-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rc-lms-form-row--full{grid-template-columns:1fr}
.rc-lms-form-stack{display:flex;flex-direction:column;gap:14px}
.rc-lms-form-foot{display:flex;justify-content:flex-end;margin-top:6px}
@media (max-width:700px){.rc-lms-form-row{grid-template-columns:1fr}}

/* ---- teacher: group tabs + session picker + student table ---- */
.rc-lms-section__header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.rc-lms-section__header .rc-lms-section__title{margin-bottom:0}
.rc-lms-section__header .rc-lms-group-tabs{margin-bottom:0}
.rc-lms-group-tabs{display:flex;gap:6px;background:var(--surface);border:1px solid var(--border);padding:4px;border-radius:12px;margin-bottom:18px;overflow-x:auto}
.rc-lms-group-tab{border:none;background:transparent;color:var(--muted);font-family:inherit;font-weight:600;font-size:.85rem;padding:9px 16px;border-radius:9px;cursor:pointer;white-space:nowrap}
.rc-lms-group-tab.is-active{background:var(--accent);color:#fff}
.rc-lms-group-pane{margin-bottom:34px}
.rc-lms-group-pane[hidden]{display:none}
.rc-lms-card__unit{font-size:.9rem;font-weight:600}

.rc-lms-session-picker{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;margin-bottom:16px}
.rc-lms-session-chip{flex:none;padding:8px 14px;border-radius:10px;background:var(--bg);border:1px solid var(--border);color:var(--muted);font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap}
.rc-lms-session-chip.is-active{background:var(--accent);border-color:var(--accent);color:#fff}
.rc-lms-session-pane[hidden]{display:none}

.rc-lms-session-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;margin-bottom:18px}
@media (max-width:900px){.rc-lms-session-layout{grid-template-columns:1fr}}
.rc-lms-session-layout__title{font-size:.9rem;font-weight:600;margin:0 0 10px}

.rc-lms-student-table{margin-top:6px;table-layout:fixed}
.rc-lms-student-table th:nth-child(1),.rc-lms-student-table td:nth-child(1){width:22%}
.rc-lms-student-table th:nth-child(2),.rc-lms-student-table td:nth-child(2){width:13%}
.rc-lms-student-table th:nth-child(3),.rc-lms-student-table td:nth-child(3){width:17%}
.rc-lms-student-table th:nth-child(4),.rc-lms-student-table td:nth-child(4){width:48%}
.rc-lms-student-table .rc-lms-badge{white-space:nowrap}
.rc-lms-student-cell{display:flex;align-items:center;gap:10px;min-width:0}
.rc-lms-student-cell span,.rc-lms-student-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rc-lms-note-cell{color:var(--muted);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rc-lms-note-cell--empty{color:var(--muted);opacity:.7}

@media (max-width:980px){
  .rc-lms-shell{grid-template-columns:1fr}
  .rc-lms-sidenav{position:static}
  .rc-lms-bento .rc-lms-span-3,.rc-lms-bento .rc-lms-span-4,.rc-lms-bento .rc-lms-span-5,.rc-lms-bento .rc-lms-span-6,.rc-lms-bento .rc-lms-span-7,.rc-lms-bento .rc-lms-span-8{grid-column:span 12}
}


.rc-lms-section__header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

.rc-lms-fab{flex:none;width:40px;height:40px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:1.3rem;line-height:1;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}
.rc-lms-fab:hover{background:var(--accent-hover, var(--accent))}

.rc-lms-modal{position:fixed;inset:0;z-index:300;display:flex;align-items:flex-start;justify-content:center;padding:calc(var(--nav-height, 76px) + 24px) 20px 40px;overflow-y:auto}
.rc-lms-modal[hidden]{display:none}
.rc-lms-modal__backdrop{position:fixed;inset:0;background:rgba(6,5,10,.72);backdrop-filter:blur(2px)}
.rc-lms-modal__panel{position:relative;z-index:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);max-width:920px;width:100%;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.rc-lms-modal__panel--wide{max-width:1300px}
.rc-lms-modal__panel--narrow{max-width:480px}
.rc-lms-modal__close{position:absolute;top:18px;right:18px;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--bg);color:var(--muted);font-size:1.2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.rc-lms-modal__close:hover{color:var(--ink);border-color:var(--accent)}
.rc-lms-modal__title{margin-top:.1em}
@media (max-width:600px){.rc-lms-modal{padding-left:12px;padding-right:12px}.rc-lms-modal__panel{padding:var(--space-md)}}
.rc-lms-recording-password{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin:6px 0 0;padding:.5em .8em;background:var(--bg);border:1px solid var(--border);
  border-radius:var(--radius-sm);font-size:.8rem;
}
.rc-lms-recording-password__text{
  color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:text;user-select:text;
}
.rc-lms-copy-btn{
  flex-shrink:0;display:inline-flex;align-items:center;gap:6px;
  background:none;border:1px solid var(--border);border-radius:999px;color:var(--muted);
  cursor:pointer;transition:color .15s ease, border-color .15s ease;padding:.4em .9em;
  font-size:.78rem;font-weight:500;white-space:nowrap;
}
.rc-lms-copy-btn:hover{color:var(--accent);border-color:var(--accent)}
.rc-lms-copy-btn svg{width:14px;height:14px;display:block;flex-shrink:0}
.rc-lms-copy-btn__icon-check{display:none}
.rc-lms-copy-btn.is-copied{color:#4BE29A;border-color:#4BE29A}
.rc-lms-copy-btn.is-copied .rc-lms-copy-btn__icon-copy{display:none}
.rc-lms-copy-btn.is-copied .rc-lms-copy-btn__icon-check{display:block}

.rc-lms-hw-review-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:12px;max-height:280px;overflow-y:auto}
.rc-lms-hw-review-student__name{font-size:.8rem;margin:0 0 6px;color:var(--ink)}
.rc-lms-hw-review__actions{display:flex;align-items:center;gap:2px;flex-shrink:0}
.rc-lms-hw-review__download,.rc-lms-hw-review__delete{
  flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;
  background:none;border:none;color:var(--muted);cursor:pointer;padding:0;transition:color .15s ease;
}
.rc-lms-hw-review__download svg,.rc-lms-hw-review__delete svg{width:15px;height:15px;display:block}
.rc-lms-hw-review__download:hover{color:var(--accent)}
.rc-lms-hw-review__delete:hover{color:#F1A9A9}
.rc-lms-hw-review-list li.is-removing{animation:rc-lms-file-out .2s ease forwards}

/* Class Material: student folder list + teacher upload/management */
.rc-lms-material-folders{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}
.rc-lms-material-folder{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 .9em;min-width:0}
.rc-lms-material-folder__summary{display:flex;align-items:center;gap:8px;padding:.7em 0;cursor:pointer;list-style:none}
.rc-lms-material-folder__summary::-webkit-details-marker{display:none}
.rc-lms-material-folder__icon{width:15px;height:15px;flex-shrink:0;color:var(--accent)}
.rc-lms-material-folder__name{flex:1;font-weight:600;color:var(--ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rc-lms-material-folder__chevron{width:13px;height:13px;flex-shrink:0;color:var(--muted);transition:transform .18s ease}
.rc-lms-material-folder[open]>.rc-lms-material-folder__summary .rc-lms-material-folder__chevron{transform:rotate(90deg)}
.rc-lms-material-folder__summary .rc-lms-review-file__delete{margin-left:auto}
.rc-lms-material-folder__files,
ul.rc-lms-material-file-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0 0 .8em 16px;list-style:none}
.rc-lms-material-folder .rc-lms-file-row{background:var(--surface, var(--bg))}
.rc-lms-material-folder__files .rc-lms-file-row__icon,
ul.rc-lms-material-file-list .rc-lms-file-row__icon{width:22px;height:22px;padding:4px}
@media (max-width:700px){
  .rc-lms-material-folders{grid-template-columns:1fr}
  .rc-lms-material-folder__files,
  ul.rc-lms-material-file-list{grid-template-columns:1fr}
}

/* ---------- Homework: upload immediately, submit to finalize ---------- */
.rc-lms-homework-submit{display:flex;justify-content:flex-end;margin-top:var(--space-md)}
.rc-lms-homework-submit .rc-btn{position:relative}
.rc-lms-hw-submit__spinner{
  display:none;width:14px;height:14px;border-radius:50%;
  border:2px solid rgba(13,11,20,.35);border-top-color:#0D0B14;
  margin-left:8px;animation:rc-lms-spin .7s linear infinite;vertical-align:-2px;
}
#rc-hw-submit.is-loading .rc-lms-hw-submit__spinner{display:inline-block}
#rc-hw-submit.is-loading .rc-lms-hw-submit__label{opacity:.85}
#rc-hw-submit[disabled]{opacity:.5;cursor:not-allowed}

/* ---------- Homework: submit success popup ---------- */
.rc-lms-hw-success{position:fixed;inset:0;z-index:320;display:flex;align-items:center;justify-content:center;padding:20px}
.rc-lms-hw-success[hidden]{display:none}
.rc-lms-hw-success__backdrop{position:fixed;inset:0;background:rgba(6,5,10,.72);backdrop-filter:blur(2px)}
.rc-lms-hw-success__panel{
  position:relative;z-index:1;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:var(--space-xl) var(--space-lg);max-width:420px;width:100%;box-shadow:0 24px 60px rgba(0,0,0,.45);
  text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);
  animation:rc-lms-hw-success-pop .5s cubic-bezier(.34,1.56,.64,1);
}
.rc-lms-hw-success__icon{width:96px;height:96px;object-fit:contain;animation:rc-lms-hw-success-float 4s ease-in-out infinite;margin-bottom:6px}
.rc-lms-hw-success__panel h2{font-family:var(--font-heading);font-weight:500;font-size:1.6rem;margin:0}
.rc-lms-hw-success__panel p{color:var(--muted);max-width:32ch;margin:0 0 6px}

@keyframes rc-lms-hw-success-pop{
  0%{opacity:0;transform:scale(.9) translateY(12px)}
  100%{opacity:1;transform:scale(1) translateY(0)}
}
@keyframes rc-lms-hw-success-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

@media (prefers-reduced-motion: reduce){
  .rc-lms-hw-success__panel,.rc-lms-hw-success__icon{animation:none;opacity:1;transform:none}
}
/* ---------- Homework: permanently-submitted state ---------- */
.rc-lms-card--homework-submitted{display:flex;flex-direction:column;align-items:flex-start}
.rc-lms-homework-submitted{
  display:flex;align-items:center;gap:14px;margin-top:10px;
  padding:14px 16px;border-radius:var(--radius-sm);background:rgba(75,226,154,.08);
  border:1px solid rgba(75,226,154,.25);
}
.rc-lms-homework-submitted__icon{
  flex:none;width:30px;height:30px;color:#4BE29A;
}
.rc-lms-homework-submitted__icon svg{width:100%;height:100%;display:block}
.rc-lms-homework-submitted p{margin:0;color:var(--ink)}
/* ---------- Assignment Briefing ---------- */
.rc-lms-briefing-upload-form{
  display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-sm);margin-top:14px;
}
.rc-lms-briefing-upload-form .rc-field{flex:1 1 220px;min-width:180px}
.rc-lms-briefing-upload-form input[type="file"]{
  font-size:.82rem;color:var(--muted);
}
.rc-lms-briefing-upload-form .rc-btn{flex-shrink:0}

.rc-lms-briefing-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.rc-lms-briefing-list__item{
  display:flex;align-items:center;gap:var(--space-sm);
  background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:.6em .8em;font-size:.9rem;
}
.rc-lms-briefing-list:not(.rc-lms-briefing-list--admin) .rc-lms-briefing-list__item{
  cursor:pointer;transition:border-color .15s ease, background-color .15s ease, transform .15s ease;
}
.rc-lms-briefing-list:not(.rc-lms-briefing-list--admin) .rc-lms-briefing-list__item:hover{
  border-color:var(--accent);background:rgba(122,100,225,.08);transform:translateY(-1px);
}
.rc-lms-briefing-list__item.is-disabled{opacity:.55;cursor:not-allowed}
.rc-lms-briefing-list__icon{
  flex-shrink:0;width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(122,100,225,.14);color:var(--accent);
}
.rc-lms-briefing-list__icon svg{width:17px;height:17px;display:block}
.rc-lms-briefing-list__title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:500}
.rc-lms-briefing-list__play{
  flex-shrink:0;width:22px;height:22px;color:var(--muted);transition:color .15s ease, transform .15s ease;
}
.rc-lms-briefing-list__play svg{width:100%;height:100%;display:block}
.rc-lms-briefing-list__item:hover .rc-lms-briefing-list__play{color:var(--accent);transform:translateX(2px)}
.rc-lms-briefing-list--admin .rc-lms-briefing-list__item{padding-right:.5em}

.rc-lms-modal__panel--briefing{max-width:860px}
.rc-lms-briefing-player{
  margin-top:var(--space-sm);background:#000;border-radius:var(--radius-sm);overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.rc-lms-briefing-player video{display:block;width:100%;max-height:70vh}
.rc-lms-briefing-player img{display:block;width:100%;max-height:70vh;object-fit:contain}
/* ---- Teacher dashboard: sidebar navigation between panels ---- */
.rc-lms-wrap-wide{max-width:1500px}

.rc-teacher-layout{display:flex;align-items:flex-start;gap:28px;width:100%}

.rc-teacher-nav{flex:none;width:200px;display:flex;flex-direction:column;gap:2px;position:sticky;top:calc(var(--nav-height, 76px) + var(--space-md, 20px));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px}

.rc-teacher-nav__item{text-align:left;border:none;background:transparent;color:var(--muted);font-family:inherit;font-weight:600;font-size:.9rem;padding:11px 14px;border-radius:9px;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}

.rc-teacher-nav__item:hover{color:#fff;background:rgba(255,255,255,.06)}

.rc-teacher-nav__item.is-active{color:#fff;background:var(--accent)}

.rc-teacher-panels{flex:1;min-width:0}

.rc-teacher-panel[hidden]{display:none}

@media (max-width:860px){
  .rc-teacher-layout{flex-direction:column}
  .rc-teacher-nav{position:static;width:100%;flex-direction:row;overflow-x:auto;gap:4px}
  .rc-teacher-nav__item{flex:none}
}
