.cvme-ag-admin h1,.cvme-ag-front h2{color:#0b1f3a;font-weight:900}.cvme-ag-hero{background:#eaf3ff;border:1px solid #cfe0f5;border-radius:22px;padding:28px;display:flex;justify-content:space-between;gap:24px;align-items:center;margin:20px 0}.cvme-ag-hero h2{font-size:30px;margin:4px 0 8px;color:#0b1f3a}.cvme-ag-hero p{font-size:16px;color:#42526e}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:#064191;font-weight:900;font-size:12px}.cvme-ag-stats{background:#fff;border:1px solid #d9e2ec;border-radius:18px;padding:18px;min-width:180px;display:grid;grid-template-columns:1fr;gap:4px;text-align:center}.cvme-ag-stats strong{font-size:32px;color:#064191}.cvme-ag-stats span{font-size:12px;font-weight:800;color:#526173;text-transform:uppercase;letter-spacing:.05em}.cvme-ag-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin:20px 0}.cvme-ag-card,.cvme-ag-panel,.cvme-ag-note,.cvme-ag-assignment{background:#fff;border:1px solid #d9e2ec;border-radius:18px;padding:22px;box-shadow:0 10px 28px rgba(6,65,145,.08)}.cvme-ag-card{text-decoration:none;color:#0b1f3a}.cvme-ag-card h3{margin:0 0 8px;font-size:20px}.cvme-ag-panel{margin:20px 0}.cvme-ag-admin label,.cvme-ag-submit label{display:block;font-weight:800;color:#0b1f3a;margin:12px 0}.cvme-ag-admin input,.cvme-ag-admin textarea,.cvme-ag-admin select,.cvme-ag-submit textarea,.cvme-ag-submit input[type=file]{display:block;width:100%;max-width:100%;border:1px solid #cbd7e6;border-radius:12px;padding:10px 12px;margin-top:6px;background:#fff}.cvme-ag-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.cvme-ag-review{padding:14px;background:#f8fbff;border-radius:12px}.cvme-ag-response{background:#fff;border:1px solid #e1e8f2;border-radius:12px;padding:12px}.cvme-ag-front{max-width:1100px;margin:0 auto;padding:24px}.cvme-ag-assignment{margin:22px 0}.cvme-ag-assignment-head{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #edf2f7;padding-bottom:14px;margin-bottom:16px}.cvme-ag-assignment-head h3{margin:0;color:#0b1f3a;font-size:26px}.cvme-ag-assignment-head span{background:#eaf3ff;color:#064191;border-radius:999px;padding:8px 14px;font-weight:900}.cvme-ag-assignment h4{color:#064191;margin:20px 0 8px;font-size:18px}.cvme-ag-submit button{background:#064191;color:#fff;border:0;border-radius:999px;padding:13px 24px;font-weight:900;cursor:pointer}.cvme-ag-success{border-left:5px solid #22c55e;background:#ecfdf5;padding:14px 16px;border-radius:12px;margin:16px 0}.cvme-ag-grade{background:#f8fafc;border:1px solid #d9e2ec;border-radius:14px;padding:16px;margin-top:16px}.cvme-ag-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #d9e2ec;border-radius:14px;overflow:hidden}.cvme-ag-table th,.cvme-ag-table td{border-bottom:1px solid #edf2f7;text-align:left;padding:12px}.cvme-ag-table th{background:#eaf3ff;color:#0b1f3a}@media(max-width:700px){.cvme-ag-hero,.cvme-ag-assignment-head{display:block}.cvme-ag-front{padding:12px}}

.cvme-ag-embedded {
    width: 100%;
}

.cvme-ag-empty {
    margin: 0;
    padding: 18px;
    border: 1px dashed rgba(148, 163, 184, 0.55);
    border-radius: 18px;
    background: #f8fafc;
    color: #475569;
    font-weight: 800;
    text-align: center;
}

.cvme-student-day-map{margin:18px 0 24px}
.cvme-student-day-map-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.cvme-student-day-card{background:#fff;border:1px solid #d9e2ec;border-radius:18px;padding:18px;box-shadow:0 14px 30px rgba(15,23,42,.05)}
.cvme-student-day-card h3{margin:0 0 12px;color:#0b1f3a;font-size:18px}
.cvme-student-day-card p{margin:0 0 12px;color:#334155;line-height:1.45}
.cvme-student-day-card span{color:#64748b;font-weight:700}
@media(max-width:900px){.cvme-student-day-map-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.cvme-student-day-map-grid{grid-template-columns:1fr}}

.cvme-student-daily-guide {
    margin: 0 0 18px;
}
.cvme-student-guide-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.cvme-student-guide-card {
    background: #ffffff;
    border: 1px solid #d9e2ec;
    border-radius: 18px;
    padding: 20px 22px;
    box-shadow: 0 14px 30px rgba(15, 23, 42, .05);
}
.cvme-student-guide-card h3 {
    margin: 0 0 12px;
    color: #0b1f3a;
    font-size: 22px;
    font-weight: 900;
}
.cvme-student-guide-card ul {
    margin: 0;
    padding-left: 20px;
}
.cvme-student-guide-card li {
    margin: 0 0 10px;
    color: #334155;
    line-height: 1.55;
}
@media(max-width:900px){.cvme-student-guide-grid{grid-template-columns:1fr}}

.cvme-ag-assignment-group{border:1px solid #d7e2f1;border-radius:22px;margin:16px 0;background:#fff;overflow:hidden;box-shadow:0 14px 30px rgba(11,31,58,.06)}
.cvme-ag-assignment-group>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:#eef5ff;color:#082344;font-weight:900;list-style:none}
.cvme-ag-assignment-group>summary::-webkit-details-marker{display:none}
.cvme-ag-assignment-group>summary span{background:#fff;border:1px solid #d7e2f1;border-radius:999px;padding:6px 12px;font-size:13px;color:#46576f}
.cvme-ag-submission-review{margin:18px;border:1px solid #d7e2f1;border-radius:20px;padding:18px;background:#fff}
.cvme-ag-stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.cvme-ag-stats-row>div{border:1px solid #d7e2f1;border-radius:18px;background:#eef5ff;padding:16px;text-align:center}
.cvme-ag-stats-row strong{display:block;font-size:30px;color:#064191;line-height:1}
.cvme-ag-stats-row span{display:block;margin-top:6px;color:#46576f;font-weight:800}
.cvme-ag-button{display:inline-flex;border-radius:999px;background:#064191;color:#fff!important;padding:10px 16px;font-weight:900;text-decoration:none}
.cvme-ag-quiz-shell{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.cvme-ag-quiz-shell>div{border:1px solid #d7e2f1;border-radius:18px;background:#fff;padding:16px}
.cvme-ag-quiz-shell strong{display:block;color:#082344;margin-bottom:6px}
.cvme-ag-quiz-shell span{color:#46576f}
@media(max-width:800px){.cvme-ag-stats-row,.cvme-ag-quiz-shell{grid-template-columns:1fr}.cvme-ag-assignment-group>summary{align-items:flex-start;flex-direction:column}}

/* v0.1.5 compact student assignment accordions */
.cvme-ag-compact-assignments .cvme-ag-assignment-list{
    padding:16px;
    display:grid;
    gap:14px;
}
.cvme-ag-assignment-compact{
    margin:0;
    padding:0;
    overflow:hidden;
}
.cvme-ag-assignment-compact>summary,
.cvme-ag-assignment-summary{
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:18px 20px;
    list-style:none;
    border-bottom:1px solid #edf2f7;
}
.cvme-ag-assignment-compact>summary::-webkit-details-marker{display:none}
.cvme-ag-assignment-summary h3{
    margin:4px 0 0;
    font-size:20px;
    line-height:1.15;
}
.cvme-ag-assignment-badges{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.cvme-ag-assignment-badges span,
.cvme-ag-assignment-badges em{
    border-radius:999px;
    padding:7px 12px;
    font-size:12px;
    font-weight:900;
    font-style:normal;
    white-space:nowrap;
}
.cvme-ag-assignment-badges span{background:#eaf3ff;color:#064191}
.cvme-ag-assignment-badges em{background:#f1f5f9;color:#334155}
.cvme-ag-assignment-body{
    padding:0 20px 20px;
}
@media(max-width:700px){
    .cvme-ag-assignment-compact>summary,
    .cvme-ag-assignment-summary{align-items:flex-start;flex-direction:column}
    .cvme-ag-assignment-badges{justify-content:flex-start}
}

/* v0.1.7 instructor gradebook cleanup */
.cvme-ag-instructor-workqueue,
.cvme-ag-gradebook-roster{
    max-width:1280px;
    padding:18px 0;
}
.cvme-ag-instructor-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    background:linear-gradient(135deg,#ffffff,#eef5ff);
    border:1px solid #d7e2f1;
    border-radius:22px;
    padding:20px 22px;
    box-shadow:0 14px 32px rgba(6,65,145,.07);
    margin:0 0 18px;
}
.cvme-ag-instructor-toolbar h3{
    margin:4px 0 6px;
    color:#0b1f3a;
    font-size:24px;
    line-height:1.15;
    font-weight:900;
}
.cvme-ag-instructor-toolbar p{margin:0;color:#46576f;font-weight:650;line-height:1.45}
.cvme-ag-toolbar-note{
    flex:0 0 auto;
    border:1px solid #d7e2f1;
    background:#fff;
    color:#064191;
    border-radius:999px;
    padding:10px 14px;
    font-weight:900;
    white-space:nowrap;
}
.cvme-ag-stats-row-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.cvme-ag-instructor-class-group>summary>div,
.cvme-ag-student-grade-group>summary>div{
    display:flex;
    flex-direction:column;
    gap:3px;
}
.cvme-ag-instructor-class-group>summary small,
.cvme-ag-student-grade-group>summary small{
    color:#64748b;
    font-weight:800;
}
.cvme-ag-instructor-card-list{
    display:grid;
    gap:12px;
    padding:16px;
    background:#f8fafc;
}
.cvme-ag-instructor-submission-card,
.cvme-ag-student-grade-group{
    border:1px solid #d7e2f1;
    border-radius:20px;
    background:#fff;
    overflow:hidden;
    box-shadow:0 10px 24px rgba(15,23,42,.05);
}
.cvme-ag-instructor-submission-card>summary,
.cvme-ag-student-grade-group>summary{
    list-style:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:16px 18px;
}
.cvme-ag-instructor-submission-card>summary::-webkit-details-marker,
.cvme-ag-student-grade-group>summary::-webkit-details-marker{display:none}
.cvme-ag-submission-title{
    display:flex;
    flex-direction:column;
    gap:4px;
    min-width:0;
}
.cvme-ag-submission-title strong{color:#0b1f3a;font-size:17px;font-weight:950}
.cvme-ag-submission-title span{color:#334155;font-weight:850;line-height:1.25}
.cvme-ag-submission-title em{color:#64748b;font-size:12px;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.cvme-ag-submission-meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
}
.cvme-ag-status-badge,
.cvme-ag-score-pill,
.cvme-ag-date-pill{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:7px 11px;
    font-size:12px;
    font-weight:950;
    white-space:nowrap;
}
.cvme-ag-status-submitted{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}
.cvme-ag-status-graded{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}
.cvme-ag-status-late{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.cvme-ag-status-rejected{background:#fef2f2;color:#7f1d1d;border:1px solid #fca5a5}
.cvme-ag-score-pill{background:#eef5ff;color:#064191;border:1px solid #d7e2f1}
.cvme-ag-date-pill{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}
.cvme-ag-status-card-submitted{border-left:6px solid #fb923c}
.cvme-ag-status-card-graded{border-left:6px solid #22c55e}
.cvme-ag-status-card-late{border-left:6px solid #ef4444}
.cvme-ag-status-card-rejected{border-left:6px solid #991b1b}
.cvme-ag-submission-body-grid{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
    gap:18px;
    padding:0 18px 18px;
}
.cvme-ag-submission-work,
.cvme-ag-grade-panel{
    border:1px solid #e2e8f0;
    background:#ffffff;
    border-radius:18px;
    padding:16px;
}
.cvme-ag-submission-work h4,
.cvme-ag-grade-panel h4{
    margin:0 0 12px;
    color:#064191;
    font-size:16px;
    font-weight:950;
}
.cvme-ag-current-score{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    background:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:14px;
    padding:12px 14px;
    margin-bottom:12px;
}
.cvme-ag-current-score strong{color:#0b1f3a}
.cvme-ag-current-score span{color:#064191;font-weight:950}
.cvme-ag-grade-form textarea,
.cvme-ag-grade-form input,
.cvme-ag-grade-form select{
    width:100%;
    border:1px solid #cbd7e6;
    border-radius:12px;
    padding:10px 12px;
    background:#fff;
    margin-top:6px;
}
.cvme-ag-gradebook-table-wrap{
    padding:16px;
    overflow-x:auto;
    background:#f8fafc;
}
.cvme-ag-gradebook-table td:nth-child(3){font-weight:800;color:#0b1f3a}
.cvme-ag-gradebook-table .cvme-ag-status-badge{font-size:11px;padding:6px 9px}
@media(max-width:1000px){
    .cvme-ag-stats-row-five{grid-template-columns:repeat(2,minmax(0,1fr))}
    .cvme-ag-submission-body-grid{grid-template-columns:1fr}
    .cvme-ag-instructor-toolbar{align-items:flex-start;flex-direction:column}
    .cvme-ag-toolbar-note{white-space:normal}
}
@media(max-width:700px){
    .cvme-ag-instructor-submission-card>summary,
    .cvme-ag-student-grade-group>summary{align-items:flex-start;flex-direction:column}
    .cvme-ag-submission-meta{justify-content:flex-start}
}

/* v0.1.8 instructor dashboard clarity */
.cvme-ag-roster-toolbar {
    background: linear-gradient(135deg,#f8fafc,#eef5ff);
}
.cvme-ag-student-summary-pills {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}
.cvme-ag-student-summary-pills em,
.cvme-ag-student-summary-pills b {
    display: inline-flex;
    align-items: center;
    border: 1px solid #d7e2f1;
    background: #ffffff;
    border-radius: 999px;
    padding: 7px 11px;
    font-size: 12px;
    font-style: normal;
    font-weight: 950;
    color: #475569;
    white-space: nowrap;
}
.cvme-ag-student-summary-pills em {
    background: #064191;
    border-color: #064191;
    color: #ffffff;
}
.cvme-ag-student-grade-group[open] > summary .cvme-ag-student-summary-pills em {
    background: #0b1f3a;
    border-color: #0b1f3a;
}
.cvme-ag-gradebook-roster .cvme-ag-student-grade-group > summary:hover,
.cvme-ag-instructor-submission-card > summary:hover,
.cvme-ag-instructor-class-group > summary:hover {
    background: #eef5ff;
}
@media(max-width:700px){
    .cvme-ag-student-summary-pills{justify-content:flex-start}
}

/* v0.2.4 release controls + cohort gradebook matrix */
.cvme-ag-release-controls,
.cvme-ag-gradebook-matrix-wrap{
    max-width:1400px;
}
.cvme-ag-release-group>summary>div{
    display:flex;
    flex-direction:column;
    gap:3px;
}
.cvme-ag-release-group>summary small{
    color:#64748b;
    font-weight:850;
}
.cvme-ag-release-day-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    padding:16px;
    background:#f8fafc;
    border-bottom:1px solid #e2e8f0;
}
.cvme-ag-release-day-actions form,
.cvme-ag-inline-form{
    margin:0;
}
.cvme-ag-mini-button,
.cvme-ag-inline-form button{
    border:0;
    border-radius:999px;
    padding:9px 13px;
    font-weight:950;
    cursor:pointer;
    background:#064191;
    color:#fff;
}
.cvme-ag-mini-closed{background:#475569}
.cvme-ag-mini-locked{background:#0b1f3a}
.cvme-ag-inline-form{
    display:flex;
    gap:8px;
    align-items:center;
    flex-wrap:wrap;
}
.cvme-ag-inline-form select{
    border:1px solid #cbd7e6;
    border-radius:999px;
    padding:8px 10px;
    min-width:125px;
    background:#fff;
}
.cvme-ag-assignment-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    padding:7px 11px;
    font-size:12px;
    font-weight:950;
    white-space:nowrap;
}
.cvme-ag-assignment-status-open{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}
.cvme-ag-assignment-status-active{background:#ecfdf5;color:#166534;border:1px solid #bbf7d0}
.cvme-ag-assignment-status-reopened{background:#eef5ff;color:#064191;border:1px solid #bfdbfe}
.cvme-ag-assignment-status-locked{background:#f1f5f9;color:#334155;border:1px solid #cbd5e1}
.cvme-ag-assignment-status-closed{background:#fff7ed;color:#9a3412;border:1px solid #fed7aa}
.cvme-ag-assignment-status-draft{background:#f8fafc;color:#64748b;border:1px dashed #cbd5e1}
.cvme-ag-gradebook-scroll{
    overflow:auto;
    max-width:100%;
    border:1px solid #d7e2f1;
    border-radius:20px;
    box-shadow:0 14px 32px rgba(6,65,145,.07);
    background:#fff;
}
.cvme-ag-matrix-table{
    min-width:980px;
    border:0;
    border-radius:0;
}
.cvme-ag-matrix-table th,
.cvme-ag-matrix-table td{
    vertical-align:middle;
    min-width:145px;
}
.cvme-ag-matrix-table thead th{
    position:sticky;
    top:0;
    z-index:3;
    background:#eaf3ff;
}
.cvme-ag-matrix-table .cvme-ag-sticky-col{
    position:sticky;
    left:0;
    z-index:4;
    min-width:220px;
    background:#ffffff;
    box-shadow:8px 0 14px rgba(15,23,42,.05);
}
.cvme-ag-matrix-table thead .cvme-ag-sticky-col{
    background:#eaf3ff;
    z-index:5;
}
.cvme-ag-matrix-table th strong,
.cvme-ag-matrix-table th small,
.cvme-ag-matrix-table th em,
.cvme-ag-matrix-class{
    display:block;
}
.cvme-ag-matrix-table th strong{
    color:#0b1f3a;
    font-weight:950;
    line-height:1.2;
}
.cvme-ag-matrix-table th small,
.cvme-ag-matrix-table th em{
    color:#64748b;
    font-size:12px;
    font-style:normal;
    line-height:1.25;
    margin-top:3px;
}
.cvme-ag-matrix-class{
    color:#064191;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.05em;
    font-weight:950;
    margin-bottom:4px;
}
.cvme-ag-matrix-cell strong,
.cvme-ag-matrix-cell span{
    display:block;
    text-align:center;
}
.cvme-ag-matrix-cell strong{
    font-size:14px;
    color:#0b1f3a;
}
.cvme-ag-matrix-cell span{
    font-size:11px;
    color:#64748b;
    font-weight:850;
    margin-top:3px;
}
.cvme-ag-matrix-graded{background:#ecfdf5}
.cvme-ag-matrix-submitted{background:#fff7ed}
.cvme-ag-matrix-late{background:#fef2f2}
.cvme-ag-matrix-rejected{background:#fef2f2;color:#7f1d1d}
.cvme-ag-matrix-empty{background:#f8fafc}
.cvme-ag-matrix-assignment-open strong,
.cvme-ag-matrix-assignment-reopened strong{color:#9a3412}
.cvme-ag-matrix-assignment-locked strong,
.cvme-ag-matrix-assignment-closed strong{color:#64748b}
.cvme-ag-history-drawer{
    margin-top:18px;
    border:1px solid #d7e2f1;
    border-radius:22px;
    background:#fff;
    overflow:hidden;
}
.cvme-ag-history-drawer>summary{
    cursor:pointer;
    list-style:none;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:18px 22px;
    background:#f8fafc;
}
.cvme-ag-history-drawer>summary::-webkit-details-marker{display:none}
.cvme-ag-history-drawer>summary strong{display:block;color:#0b1f3a;font-size:18px;font-weight:950}
.cvme-ag-history-drawer>summary small{display:block;color:#64748b;font-weight:850;margin-top:3px}
.cvme-ag-history-drawer>summary span{border-radius:999px;background:#064191;color:#fff;padding:8px 12px;font-size:12px;font-weight:950}
@media(max-width:900px){
    .cvme-ag-release-day-actions{flex-direction:column;align-items:flex-start}
    .cvme-ag-matrix-table .cvme-ag-sticky-col{position:static;box-shadow:none}
    .cvme-ag-matrix-table thead th{position:static}
}
