/* ==========================================================
   Student CRM (admin only) – Azuma style
   ========================================================== */

.admin-dashboard.active { height: 100vh; overflow-y: auto; }

/* Header tabs (Agency / Student CRM) */
.sc-tabs {
    display: inline-flex; gap: 4px; padding: 4px;
    background: #111114; border: 1px solid #2B2B30; border-radius: 10px;
}
.sc-tab {
    display: inline-flex; align-items: center; gap: 8px;
    background: transparent; border: none; color: #B1B1BA;
    font-family: inherit; font-size: 13px; font-weight: 600;
    padding: 8px 14px; border-radius: 7px; cursor: pointer;
    transition: all 0.2s ease;
}
.sc-tab:hover { color: #fff; background: rgba(255,255,255,0.04); }
.sc-tab.active { color: #fff; background: #202024; box-shadow: inset 0 0 0 1px #393940; }
.sc-tab i { font-size: 15px; }

/* Sub navigation */
.sc-topbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; gap: 16px; flex-wrap: wrap; }
.sc-subtitle { color: #B1B1BA; font-size: 13px; margin-top: 4px; }

/* KPI cards */
.sc-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 24px; }
.sc-kpi {
    background: #111114; border: 1px solid #2B2B30; border-radius: 12px;
    padding: 18px 20px; position: relative; overflow: hidden;
}
.sc-kpi::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
    background: var(--kpi-color, #393940); opacity: 0.7;
}
.sc-kpi-label {
    font-size: 11px; text-transform: uppercase; letter-spacing: 0.6px;
    color: #B1B1BA; font-weight: 600; display: flex; align-items: center; gap: 6px;
}
.sc-kpi-label i { color: var(--kpi-color, #393940); font-size: 14px; }
.sc-kpi-value { font-size: 30px; font-weight: 800; color: #fff; margin-top: 8px; letter-spacing: -0.5px; }
.sc-kpi-sub { font-size: 12px; color: #8D8D9A; margin-top: 4px; }

/* Panels */
.sc-grid-2 { display: grid; grid-template-columns: 1.4fr 1fr; gap: 16px; margin-bottom: 16px; }
.sc-panel { background: #111114; border: 1px solid #2B2B30; border-radius: 12px; overflow: hidden; }
.sc-panel-head {
    display: flex; justify-content: space-between; align-items: center;
    padding: 14px 18px; border-bottom: 1px solid #2B2B30;
}
.sc-panel-title { font-size: 13px; font-weight: 700; color: #fff; display: flex; align-items: center; gap: 8px; }
.sc-panel-title i { color: #393940; font-size: 16px; }
.sc-panel-body { padding: 8px; }
.sc-empty { color: #8D8D9A; font-size: 13px; padding: 18px 12px; text-align: center; }

/* Action / list rows */
.sc-row {
    display: flex; align-items: center; gap: 12px; padding: 10px 12px;
    border-radius: 8px; cursor: pointer; transition: background 0.15s;
}
.sc-row:hover { background: rgba(255,255,255,0.03); }
.sc-row-main { flex: 1; min-width: 0; }
.sc-row-title { font-size: 13px; font-weight: 600; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-row-sub { font-size: 12px; color: #B1B1BA; margin-top: 2px; }
.sc-row-right { font-size: 12px; color: #B1B1BA; white-space: nowrap; }

.sc-avatar {
    width: 32px; height: 32px; border-radius: 50%; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    font-size: 11px; font-weight: 700; color: #fff;
    background: linear-gradient(135deg, #121214, #121214);
}
.sc-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }

/* Badges */
.sc-badge {
    display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 600;
    padding: 3px 9px; border-radius: 999px; white-space: nowrap;
    border: 1px solid transparent;
}
.sc-badge.green { color: #34d399; background: rgba(16,185,129,0.08); border-color: rgba(16,185,129,0.25); }
.sc-badge.orange { color: #fbbf24; background: rgba(245,158,11,0.08); border-color: rgba(245,158,11,0.25); }
.sc-badge.red { color: #f87171; background: rgba(239,68,68,0.08); border-color: rgba(239,68,68,0.25); }
.sc-badge.grey { color: #B1B1BA; background: rgba(255,255,255,0.04); border-color: #2B2B30; }
.sc-badge.violet { color: #575762; background: rgba(57, 57, 64,0.08); border-color: rgba(57, 57, 64,0.25); }

/* Phase distribution bars */
.sc-phase-bar { padding: 10px 12px; }
.sc-phase-bar-top { display: flex; justify-content: space-between; font-size: 12px; color: #E1E1E4; margin-bottom: 6px; }
.sc-phase-bar-top span:last-child { color: #B1B1BA; }
.sc-track { height: 6px; background: #1C1C1F; border-radius: 999px; overflow: hidden; }
.sc-fill { height: 100%; background: linear-gradient(90deg, #121214, #393940); border-radius: 999px; transition: width 0.4s ease; }
.sc-fill.green { background: linear-gradient(90deg, #059669, #34d399); }

/* Wins wall */
.sc-wins { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; padding: 12px; }
.sc-win {
    background: linear-gradient(135deg, rgba(245,158,11,0.06), rgba(57, 57, 64,0.04));
    border: 1px solid rgba(245,158,11,0.18); border-radius: 10px; padding: 12px 14px; cursor: pointer;
}
.sc-win-title { font-size: 13px; font-weight: 700; color: #fff; display: flex; gap: 8px; align-items: center; }
.sc-win-title i { color: #fbbf24; }
.sc-win-sub { font-size: 12px; color: #B1B1BA; margin-top: 4px; }

/* Students table */
.sc-toolbar { display: flex; gap: 10px; align-items: center; margin-bottom: 14px; flex-wrap: wrap; }
.sc-search {
    flex: 1; min-width: 220px; background: #17171A; border: 1px solid #2B2B30; border-radius: 8px;
    color: #fff; padding: 10px 14px; font-family: inherit; font-size: 13px; outline: none;
}
.sc-search:focus { border-color: #393940; }
.sc-filter {
    background: transparent; border: 1px solid #2B2B30; color: #B1B1BA; border-radius: 999px;
    padding: 7px 14px; font-size: 12px; font-weight: 600; cursor: pointer; font-family: inherit;
}
.sc-filter.active, .sc-filter:hover { color: #fff; border-color: #393940; background: rgba(57, 57, 64,0.1); }

.sc-table { width: 100%; border-collapse: collapse; }
.sc-table th {
    text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: 0.6px;
    color: #8D8D9A; font-weight: 600; padding: 12px 16px; border-bottom: 1px solid #2B2B30;
}
.sc-table td { padding: 14px 16px; border-bottom: 1px solid #1E1E22; font-size: 13px; color: #E1E1E4; vertical-align: middle; }
.sc-table tbody tr { cursor: pointer; transition: background 0.15s; }
.sc-table tbody tr:hover { background: rgba(255,255,255,0.025); }
.sc-table tbody tr:last-child td { border-bottom: none; }
.sc-progress-cell { min-width: 140px; }
.sc-progress-label { font-size: 11px; color: #B1B1BA; margin-bottom: 5px; }

/* ==========================================================
   Student Dossier modal
   ========================================================== */
#student-modal { width: 1100px; max-width: 95vw; height: 90vh; }
#student-modal .modal-body { display: grid; grid-template-columns: 1.6fr 1fr; gap: 28px; padding: 24px; }
.sc-modal-head-left { display: flex; align-items: center; gap: 14px; flex: 1; min-width: 0; }
.sc-name-input {
    background: transparent; border: none; color: #fff; font-size: 20px; font-weight: 700;
    outline: none; font-family: inherit; min-width: 0; flex: 1;
}
.sc-select-mini {
    background: #17171A; border: 1px solid #2B2B30; color: #fff; border-radius: 8px;
    padding: 7px 10px; font-family: inherit; font-size: 12px; font-weight: 600; outline: none; cursor: pointer;
}

.sc-section { margin-bottom: 28px; }
.sc-section-title {
    font-size: 11px; text-transform: uppercase; letter-spacing: 0.6px; color: #B1B1BA; font-weight: 700;
    display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px;
}
.sc-section-title > span { display: flex; align-items: center; gap: 8px; }
.sc-section-title i { color: #393940; font-size: 14px; }

/* Timeline */
.sc-timeline { position: relative; }
.sc-tl-item { position: relative; padding-left: 40px; padding-bottom: 18px; }
.sc-tl-item::before {
    content: ''; position: absolute; left: 13px; top: 28px; bottom: 0; width: 2px; background: #2B2B30;
}
.sc-tl-item:last-child::before { display: none; }
.sc-tl-item.done::before { background: linear-gradient(#10b981, #2B2B30); }
.sc-tl-node {
    position: absolute; left: 0; top: 0; width: 28px; height: 28px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700;
    background: #17171A; border: 2px solid #2B2B30; color: #8D8D9A;
}
.sc-tl-item.done .sc-tl-node { background: rgba(16,185,129,0.15); border-color: #10b981; color: #34d399; }
.sc-tl-item.current .sc-tl-node {
    background: rgba(57, 57, 64,0.18); border-color: #393940; color: #fff;
    box-shadow: 0 0 0 5px rgba(57, 57, 64,0.12);
}
.sc-tl-item.current.overdue .sc-tl-node { border-color: #ef4444; box-shadow: 0 0 0 5px rgba(239,68,68,0.12); }
.sc-tl-card {
    background: #111114; border: 1px solid #2B2B30; border-radius: 10px; padding: 12px 14px;
    cursor: pointer; transition: border-color 0.2s;
}
.sc-tl-card:hover { border-color: #393940; }
.sc-tl-item.current .sc-tl-card { border-color: rgba(57, 57, 64,0.45); background: linear-gradient(180deg, rgba(57, 57, 64,0.05), #111114); cursor: default; }
.sc-tl-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.sc-tl-name { font-size: 14px; font-weight: 700; color: #fff; }
.sc-tl-item.upcoming .sc-tl-name { color: #B1B1BA; }
.sc-tl-dates { font-size: 12px; color: #B1B1BA; margin-top: 4px; display: flex; gap: 14px; flex-wrap: wrap; }
.sc-tl-dates b { color: #E1E1E4; font-weight: 600; }
.sc-tl-dates .late { color: #f87171; }
.sc-tl-body { margin-top: 12px; padding-top: 12px; border-top: 1px solid #1E1E22; }

.sc-task { display: flex; align-items: center; gap: 10px; padding: 7px 4px; border-radius: 6px; }
.sc-task:hover { background: rgba(255,255,255,0.025); }
.sc-task input[type="checkbox"] { width: 16px; height: 16px; accent-color: #393940; cursor: pointer; flex-shrink: 0; }
.sc-task span { font-size: 13px; color: #E1E1E4; flex: 1; }
.sc-task.done span { color: #8D8D9A; text-decoration: line-through; }
.sc-task .sc-x { opacity: 0; background: none; border: none; color: #8D8D9A; cursor: pointer; font-size: 14px; }
.sc-task:hover .sc-x { opacity: 1; }
.sc-task .sc-x:hover { color: #f87171; }
.sc-add-task { display: flex; gap: 8px; margin-top: 8px; }
.sc-input {
    width: 100%; background: #17171A; border: 1px solid #2B2B30; border-radius: 8px; color: #fff;
    padding: 10px 12px; font-family: inherit; font-size: 13px; outline: none; transition: border-color 0.2s;
}
.sc-input:focus { border-color: #393940; background: #1C1C20; }
.sc-input::placeholder { color: #B1B1BA; opacity: 0.55; }
textarea.sc-input { resize: vertical; min-height: 70px; line-height: 1.5; }
.sc-tl-actions { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; gap: 8px; }
.sc-btn-sm { padding: 6px 12px !important; font-size: 12px !important; }

/* Activity feed */
.sc-composer { background: #111114; border: 1px solid #2B2B30; border-radius: 10px; padding: 12px; margin-bottom: 16px; }
.sc-composer-types { display: flex; gap: 6px; margin-bottom: 10px; flex-wrap: wrap; }
.sc-type {
    background: transparent; border: 1px solid #2B2B30; color: #B1B1BA; border-radius: 999px;
    padding: 5px 11px; font-size: 12px; font-weight: 600; cursor: pointer; font-family: inherit;
    display: inline-flex; align-items: center; gap: 5px;
}
.sc-type.active { color: #fff; border-color: #393940; background: rgba(57, 57, 64,0.12); }
.sc-composer-foot { display: flex; gap: 8px; margin-top: 8px; }

.sc-feed-item { display: flex; gap: 12px; padding: 12px 4px; border-bottom: 1px solid #1C1C1F; }
.sc-feed-item:last-child { border-bottom: none; }
.sc-feed-icon {
    width: 30px; height: 30px; border-radius: 8px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
    font-size: 15px; background: rgba(57, 57, 64,0.1); color: #393940;
}
.sc-feed-icon.call { background: rgba(59,130,246,0.1); color: #60a5fa; }
.sc-feed-icon.homework { background: rgba(245,158,11,0.1); color: #fbbf24; }
.sc-feed-icon.feedback { background: rgba(27, 27, 31,0.1); color: #333339; }
.sc-feed-icon.phase, .sc-feed-icon.payment { background: rgba(16,185,129,0.1); color: #34d399; }
.sc-feed-icon.win { background: rgba(245,158,11,0.12); color: #fbbf24; }
.sc-feed-meta { font-size: 11px; color: #8D8D9A; margin-bottom: 3px; }
.sc-feed-meta b { color: #B1B1BA; font-weight: 600; }
.sc-feed-text { font-size: 13px; color: #E1E1E4; line-height: 1.5; white-space: pre-wrap; word-break: break-word; }
.sc-feed-link { display: inline-flex; align-items: center; gap: 5px; margin-top: 6px; font-size: 12px; color: #393940; text-decoration: none; }
.sc-feed-link:hover { color: #4A4A53; }
.sc-feed-del { margin-left: auto; background: none; border: none; color: #8D8D9A; cursor: pointer; opacity: 0; align-self: flex-start; }
.sc-feed-item:hover .sc-feed-del { opacity: 1; }
.sc-feed-del:hover { color: #f87171; }

/* Side cards */
.sc-card { background: #111114; border: 1px solid #2B2B30; border-radius: 12px; padding: 16px; margin-bottom: 16px; }
.sc-field { margin-bottom: 12px; }
.sc-field:last-child { margin-bottom: 0; }
.sc-label {
    font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; color: #B1B1BA; font-weight: 600;
    margin-bottom: 6px; display: flex; justify-content: space-between; align-items: center;
}
.sc-link-btn {
    background: transparent; border: 1px solid #2B2B30; color: #B1B1BA; border-radius: 6px;
    font-size: 11px; padding: 2px 8px; cursor: pointer; font-family: inherit; text-transform: none; letter-spacing: 0;
}
.sc-link-btn:hover { color: #fff; border-color: #393940; }
.sc-two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.sc-pay-summary { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px; }
.sc-pay-big { font-size: 22px; font-weight: 800; color: #fff; }
.sc-pay-small { font-size: 12px; color: #B1B1BA; }
.sc-inst { display: grid; grid-template-columns: 22px 1fr 1fr 22px; gap: 8px; align-items: center; margin-top: 8px; }
.sc-inst input[type="checkbox"] { width: 16px; height: 16px; accent-color: #10b981; cursor: pointer; }
.sc-inst .sc-input { padding: 7px 9px; font-size: 12px; }
.sc-inst.paid .sc-input { color: #8D8D9A; }
.sc-inst.overdue .sc-input { border-color: rgba(239,68,68,0.5); }
.sc-inst .sc-x { background: none; border: none; color: #8D8D9A; cursor: pointer; }
.sc-inst .sc-x:hover { color: #f87171; }

.sc-win-row { display: grid; grid-template-columns: 26px 1fr 130px; gap: 8px; align-items: center; padding: 6px 0; }
.sc-win-row i { font-size: 16px; color: #393940; }
.sc-win-row.reached i { color: #fbbf24; }
.sc-win-row span { font-size: 13px; color: #E1E1E4; }
.sc-win-row .sc-input { padding: 6px 8px; font-size: 12px; }

.sc-save-hint { font-size: 12px; color: #8D8D9A; display: flex; align-items: center; gap: 6px; margin-right: auto; }
.sc-save-hint i { color: #10b981; }

/* Settings */
.sc-set-phase { background: #111114; border: 1px solid #2B2B30; border-radius: 12px; padding: 16px; margin-bottom: 12px; }
.sc-set-head { display: grid; grid-template-columns: 32px 1fr 140px 36px; gap: 10px; align-items: center; margin-bottom: 10px; }
.sc-set-num { width: 28px; height: 28px; border-radius: 50%; background: rgba(57, 57, 64,0.15); color: #575762; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; }

/* Toast */
.sc-toast {
    position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%) translateY(20px);
    background: #17171A; border: 1px solid #393940; color: #fff; padding: 10px 18px; border-radius: 10px;
    font-size: 13px; z-index: 10000; opacity: 0; transition: all 0.25s ease; pointer-events: none;
    box-shadow: 0 10px 30px rgba(0,0,0,0.4);
}
.sc-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.sc-toast.error { border-color: rgba(239,68,68,0.5); }

@media (max-width: 1100px) {
    .sc-kpis { grid-template-columns: repeat(2, 1fr); }
    .sc-grid-2 { grid-template-columns: 1fr; }
    #student-modal .modal-body { grid-template-columns: 1fr; }
}

#student-modal .modal-header { gap: 16px; }
#student-modal .modal-header .close-btn { margin-left: 4px; }

/* ---------- Workflow settings (redesign) ---------- */
.sc-wf-wrap { max-width: 1400px; }
.sc-wf-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: start; }
.sc-wf-side { position: sticky; top: 0; }
.sc-wf-grid .sc-tl-item { padding-bottom: 20px; }
.sc-wf-grid .sc-tl-item::before { background: linear-gradient(#39394055, #2B2B30); }

.sc-step { background: #111114; border: 1px solid #2B2B30; border-radius: 14px; padding: 18px 20px; }
.sc-step-head { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.sc-step-icon {
    --c: #393940;
    width: 40px; height: 40px; border-radius: 10px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center; font-size: 20px;
    color: var(--c); background: color-mix(in srgb, var(--c) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--c) 28%, transparent);
}
.sc-step-title { font-size: 15px; font-weight: 700; color: #fff; }
.sc-step-sub { font-size: 12px; color: #B1B1BA; margin-top: 2px; }

.sc-stepper { display: inline-flex; align-items: center; background: #17171A; border: 1px solid #2B2B30; border-radius: 10px; overflow: hidden; }
.sc-stepper button { background: transparent; border: none; color: #B1B1BA; width: 32px; height: 34px; cursor: pointer; font-size: 13px; transition: all .15s; }
.sc-stepper button:hover { color: #fff; background: rgba(57, 57, 64,0.12); }
.sc-stepper div { padding: 0 10px; font-size: 12px; color: #B1B1BA; white-space: nowrap; min-width: 64px; text-align: center; }
.sc-stepper div b { color: #fff; font-size: 14px; margin-right: 2px; }
.sc-stepper.big button { height: 40px; width: 38px; }
.sc-stepper.big div b { font-size: 18px; }

.sc-week { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 8px; padding: 14px; background: #17171A; border: 1px solid #1E1E22; border-radius: 10px; margin-bottom: 16px; }
.sc-week-col { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.sc-week-bar { width: 100%; max-width: 46px; height: 42px; background: #111114; border-radius: 6px; display: flex; align-items: flex-end; overflow: hidden; }
.sc-week-bar div { width: 100%; background: linear-gradient(180deg, #393940, #121214); border-radius: 6px; }
.sc-week-label { font-size: 11px; font-weight: 700; color: #E1E1E4; }
.sc-week-count { font-size: 10px; color: #8D8D9A; }

.sc-edit-list { display: flex; flex-direction: column; gap: 6px; }
.sc-edit-row {
    display: flex; align-items: center; gap: 10px; padding: 6px 6px 6px 8px;
    background: #17171A; border: 1px solid #222226; border-radius: 10px; transition: border-color .15s;
}
.sc-edit-row:hover, .sc-edit-row:focus-within { border-color: #393940; }
.sc-edit-input { flex: 1; min-width: 0; background: transparent; border: none; outline: none; color: #E1E1E4; font-family: inherit; font-size: 13px; padding: 7px 4px; }
.sc-edit-input::placeholder { color: #8D8D9A; }
.sc-day-pill {
    display: inline-flex; align-items: center; gap: 2px; flex-shrink: 0;
    background: rgba(57, 57, 64,0.12); border: 1px solid rgba(57, 57, 64,0.3); border-radius: 999px; padding: 3px 4px 3px 10px;
    font-size: 11px; font-weight: 700; color: #575762; cursor: text;
}
.sc-day-pill input { width: 28px; background: transparent; border: none; outline: none; color: #fff; font-family: inherit; font-size: 12px; font-weight: 800; text-align: center; -moz-appearance: textfield; }
.sc-day-pill input::-webkit-outer-spin-button, .sc-day-pill input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.sc-check-dot { width: 22px; height: 22px; border-radius: 6px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-size: 12px; color: #60a5fa; background: rgba(59,130,246,0.1); border: 1px solid rgba(59,130,246,0.25); margin-left: 2px; }
.sc-icon-btn { background: transparent; border: none; color: #8D8D9A; width: 30px; height: 30px; border-radius: 8px; cursor: pointer; opacity: 0; transition: all .15s; flex-shrink: 0; }
.sc-edit-row:hover .sc-icon-btn { opacity: 1; }
.sc-icon-btn:hover { color: #f87171; background: rgba(239,68,68,0.1); }
.sc-add-row {
    width: 100%; margin-top: 8px; padding: 10px; border-radius: 10px; cursor: pointer; font-family: inherit;
    background: transparent; border: 1px dashed #393940; color: #B1B1BA; font-size: 12px; font-weight: 600; transition: all .15s;
}
.sc-add-row:hover { color: #fff; border-color: #393940; background: rgba(57, 57, 64,0.06); }

.sc-cadence { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px; background: #17171A; border: 1px solid #1E1E22; border-radius: 10px; flex-wrap: wrap; }
.sc-cadence-main { display: flex; align-items: center; gap: 14px; font-size: 14px; color: #E1E1E4; font-weight: 600; }
.sc-cadence-stat { text-align: right; }
.sc-cadence-stat b { display: block; font-size: 22px; color: #34d399; font-weight: 800; }
.sc-cadence-stat span { font-size: 11px; color: #B1B1BA; }
.sc-hint { font-size: 12px; color: #B1B1BA; margin-top: 12px; display: flex; gap: 8px; align-items: flex-start; line-height: 1.5; }
.sc-hint i { color: #393940; font-size: 14px; margin-top: 1px; }
.sc-hint b { color: #E1E1E4; }

.sc-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; background: #17171A; border: 1px solid #2B2B30; border-radius: 10px; }
.sc-seg button { background: transparent; border: none; color: #B1B1BA; padding: 8px; border-radius: 7px; font-family: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.sc-seg button.active { background: #26262B; color: #fff; box-shadow: inset 0 0 0 1px #393940; }
.sc-affix { display: flex; align-items: center; background: #17171A; border: 1px solid #2B2B30; border-radius: 10px; overflow: hidden; transition: border-color .15s; }
.sc-affix:focus-within { border-color: #393940; }
.sc-affix span { padding: 0 12px; color: #B1B1BA; font-weight: 700; font-size: 15px; }
.sc-affix input { flex: 1; min-width: 0; background: transparent; border: none; outline: none; color: #fff; font-family: inherit; font-size: 18px; font-weight: 800; padding: 10px 12px 10px 0; }
.sc-affix.right input { padding: 10px 0 10px 14px; }

.sc-example { margin-top: 18px; padding: 14px; border-radius: 10px; background: linear-gradient(135deg, rgba(245,158,11,0.06), rgba(57, 57, 64,0.05)); border: 1px solid rgba(245,158,11,0.18); }
.sc-example-title { font-size: 11px; text-transform: uppercase; letter-spacing: .6px; color: #B1B1BA; font-weight: 700; margin-bottom: 8px; }
.sc-example-row { display: flex; justify-content: space-between; font-size: 12px; color: #B1B1BA; padding: 4px 0; }
.sc-example-row b { color: #E1E1E4; font-weight: 600; }
.sc-example-total { display: flex; justify-content: space-between; align-items: baseline; margin-top: 8px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,0.06); font-size: 13px; color: #fff; font-weight: 600; }
.sc-example-total b { font-size: 20px; color: #fbbf24; font-weight: 800; }
.sc-get { display: flex; align-items: center; gap: 10px; font-size: 13px; color: #E1E1E4; padding: 7px 0; }
.sc-get i { color: #393940; font-size: 16px; }

@media (max-width: 1100px) { .sc-wf-grid { grid-template-columns: 1fr; } .sc-wf-side { position: static; } }

/* ==========================================================
   v5: auto-sync, day tracking, Discord
   ========================================================== */
.sc-sync { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; color: #B1B1BA; padding: 7px 12px; border: 1px solid #2B2B30; border-radius: 999px; background: #111114; }
.sc-sync-dot { width: 7px; height: 7px; border-radius: 50%; background: #10b981; box-shadow: 0 0 0 0 rgba(16,185,129,0.6); animation: scPulse 2.2s infinite; }
@keyframes scPulse { 0% { box-shadow: 0 0 0 0 rgba(16,185,129,0.55); } 70% { box-shadow: 0 0 0 7px rgba(16,185,129,0); } 100% { box-shadow: 0 0 0 0 rgba(16,185,129,0); } }

/* Segmented day track */
.sc-seg-track { display: flex; gap: 4px; width: 100%; }
.sc-seg-track span { flex: 1; height: 8px; border-radius: 4px; background: #202024; transition: background .2s; }
.sc-seg-track span.done { background: linear-gradient(90deg, #2E2E33, #393940); }
.sc-seg-track span.today { background: #575762; box-shadow: 0 0 0 2px rgba(87, 87, 98,0.18), 0 0 14px rgba(57, 57, 64,0.65); }
.sc-seg-track span.late { background: #ef4444; box-shadow: 0 0 10px rgba(239,68,68,0.45); }

/* Dashboard: where we are today */
.sc-today-row { display: grid; grid-template-columns: 36px minmax(180px, 1.1fr) minmax(160px, 1fr) 150px; align-items: center; gap: 16px; padding: 12px 14px; border-radius: 10px; cursor: pointer; transition: background .15s; }
.sc-today-row:hover { background: rgba(255,255,255,0.025); }
.sc-today-row + .sc-today-row { border-top: 1px solid rgba(43, 43, 48,0.6); }
.sc-today-name { min-width: 0; }
.sc-today-name .sc-row-sub { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-today-count { text-align: right; line-height: 1.2; }
.sc-today-count b { display: block; font-size: 18px; font-weight: 800; color: #fff; letter-spacing: -0.3px; }
.sc-today-count b span { font-size: 13px; color: #8D8D9A; font-weight: 600; }
.sc-today-count em { display: block; font-style: normal; font-size: 11.5px; font-weight: 600; color: #B1B1BA; margin-top: 2px; }

/* Clients table */
.sc-stage-sub { font-size: 11.5px; color: #B1B1BA; margin-top: 5px; padding-left: 2px; }
.sc-stage-sub.late { color: #f87171; }

/* Dossier hero */
.sc-hero {
    --tone: #393940;
    position: relative; overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--tone) 35%, #2B2B30);
    background: radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--tone) 16%, transparent) 0%, transparent 55%), linear-gradient(180deg, #141416, #0F0F11);
    border-radius: 16px; padding: 20px 22px; margin-bottom: 22px;
}
.sc-hero.prod { --tone: #10b981; }
.sc-hero.warn { --tone: #f59e0b; }
.sc-hero.late { --tone: #ef4444; }
.sc-hero.muted { --tone: #8D8D9A; }
.sc-hero-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 16px; }
.sc-hero-kicker { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .8px; color: color-mix(in srgb, var(--tone) 70%, #fff); display: flex; align-items: center; gap: 6px; }
.sc-hero-day { font-size: 40px; font-weight: 800; color: #fff; letter-spacing: -1.2px; line-height: 1.05; margin-top: 6px; }
.sc-hero-day span { font-size: 18px; color: #8D8D9A; font-weight: 600; letter-spacing: -0.2px; }
.sc-hero-left { text-align: right; }
.sc-hero-left b { display: block; font-size: 34px; font-weight: 800; line-height: 1; color: color-mix(in srgb, var(--tone) 55%, #fff); letter-spacing: -1px; }
.sc-hero-left b small { font-size: 18px; color: #8D8D9A; font-weight: 600; }
.sc-hero-left span { display: block; font-size: 12px; color: #B1B1BA; font-weight: 600; margin-top: 4px; }
.sc-hero .sc-seg-track span { height: 10px; }
.sc-hero-days { display: flex; gap: 4px; margin-top: 6px; }
.sc-hero-days span { flex: 1; text-align: center; font-size: 10px; font-weight: 600; color: #666673; }
.sc-hero-days span.on { color: #575762; }
.sc-hero-grid { display: grid; grid-template-columns: 1fr 1fr 2fr; gap: 10px; margin-top: 16px; }
.sc-hero-grid.three { grid-template-columns: repeat(3, 1fr); margin-top: 0; }
.sc-hero-cell { background: rgba(9, 9, 10,0.55); border: 1px solid #25252A; border-radius: 10px; padding: 10px 12px; min-width: 0; }
.sc-hero-cell span { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .6px; color: #B1B1BA; font-weight: 700; }
.sc-hero-cell b { display: block; font-size: 15px; color: #fff; font-weight: 700; margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-hero-cell em { display: block; font-style: normal; font-size: 11.5px; color: #8D8D9A; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-hero-cell.late { border-color: rgba(239,68,68,0.4); }
.sc-hero-cell.late b { color: #f87171; }
.sc-hero-cell.warn b { color: #fbbf24; }
.sc-hero-note { font-size: 13px; color: #B1B1BA; margin-top: 8px; }

/* Discord card */
.sc-discord .sc-input { font-size: 12.5px; }
.sc-howto { margin-top: 8px; font-size: 12px; color: #B1B1BA; }
.sc-howto summary { cursor: pointer; list-style: none; display: inline-flex; align-items: center; gap: 6px; color: #8b93ff; font-weight: 600; }
.sc-howto summary::-webkit-details-marker { display: none; }
.sc-howto ol { margin: 8px 0 0; padding: 10px 12px 10px 28px; background: #17171A; border: 1px solid #2B2B30; border-radius: 8px; line-height: 1.7; }
.sc-howto b { color: #E1E1E4; }
.sc-toggle { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; }
.sc-toggle input { display: none; }
.sc-toggle-ui { position: relative; width: 36px; height: 20px; flex-shrink: 0; border-radius: 999px; background: #25252A; border: 1px solid #393940; transition: all .2s; margin-top: 1px; }
.sc-toggle-ui::after { content: ''; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%; background: #B1B1BA; transition: all .2s; }
.sc-toggle input:checked + .sc-toggle-ui { background: #5865F2; border-color: #5865F2; }
.sc-toggle input:checked + .sc-toggle-ui::after { left: 18px; background: #fff; }
.sc-toggle-text b { display: block; font-size: 13px; color: #fff; font-weight: 600; }
.sc-toggle-text em { display: block; font-style: normal; font-size: 11.5px; color: #8D8D9A; margin-top: 1px; }
.sc-dc-hour { display: flex; align-items: center; gap: 10px; padding-left: 48px; font-size: 12px; color: #B1B1BA; }
.sc-dc-hour select { width: auto; padding: 6px 10px; font-size: 12px; }
.sc-dc-hour.off { opacity: .4; pointer-events: none; }

@media (max-width: 900px) {
    .sc-today-row { grid-template-columns: 36px 1fr 110px; }
    .sc-today-track { display: none; }
    .sc-hero-grid, .sc-hero-grid.three { grid-template-columns: 1fr; }
}

/* ==========================================================
   v6: readability layer (bigger type, more contrast, calmer layout)
   ========================================================== */
#admin-tab-students, #student-modal { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
/* CRM: centred column so lines stay short on wide screens (header included) */
.admin-dashboard.crm-mode > * { max-width: 1320px; margin-left: auto; margin-right: auto; }

/* Labels: a touch larger, less tracking */
.sc-kpi-label, .sc-label, .sc-example-title, .sc-hero-kicker, .sc-table th { font-size: 12px; letter-spacing: 0.4px; }
.sc-hero-cell span { font-size: 11px; letter-spacing: 0.4px; }

/* Navigation */
.sc-tab { font-size: 14px; padding: 9px 16px; }
.sc-sync { font-size: 13px; }

/* KPI cards */
.sc-kpis { gap: 18px; margin-bottom: 28px; }
.sc-kpi { padding: 20px 22px; border-radius: 14px; }
.sc-kpi-value { font-size: 34px; margin-top: 10px; }
.sc-kpi-sub { font-size: 13.5px; margin-top: 6px; line-height: 1.45; }

/* Panels */
.sc-grid-2 { gap: 18px; margin-bottom: 18px; }
.sc-panel { border-radius: 14px; }
.sc-panel-head { padding: 16px 22px; }
.sc-panel-title { font-size: 15px; gap: 10px; }
.sc-panel-title i { font-size: 18px; }
.sc-panel-head > span { font-size: 13px !important; }
.sc-panel-body { padding: 8px 10px; }
.sc-empty { font-size: 14px; padding: 26px 16px; line-height: 1.55; }

/* Rows */
.sc-row { gap: 14px; padding: 13px 14px; border-radius: 10px; }
.sc-row + .sc-row { border-top: 1px solid rgba(43, 43, 48,0.55); }
.sc-row-title { font-size: 15px; letter-spacing: -0.1px; }
.sc-row-sub { font-size: 13.5px; margin-top: 3px; line-height: 1.45; }
.sc-row-right { font-size: 13.5px; }
.sc-avatar { width: 38px; height: 38px; font-size: 13px; }
.sc-badge { font-size: 12.5px; padding: 4px 11px; gap: 6px; }

/* Where we are today: calmer, track no longer stretches across the screen */
.sc-today-row { grid-template-columns: 38px minmax(0, 1fr) minmax(200px, 300px) 150px; gap: 20px; padding: 16px 14px; }
.sc-today-count b { font-size: 22px; }
.sc-today-count b span { font-size: 15px; }
.sc-today-count em { font-size: 13px; margin-top: 3px; }

/* Wins */
.sc-win { padding: 14px 16px; }
.sc-win-title { font-size: 14.5px; }
.sc-win-sub { font-size: 13px; }

/* Clients table */
.sc-search { font-size: 14px; padding: 12px 16px; }
.sc-filter { font-size: 13px; padding: 8px 15px; }
.sc-table td { font-size: 14px; padding-top: 16px; padding-bottom: 16px; }
.sc-progress-label { font-size: 13px !important; }
.sc-stage-sub { font-size: 13px; }

/* Dossier */
#student-modal .sc-section-title { font-size: 12.5px; }
.sc-name-input { font-size: 20px !important; }
.sc-tl-name { font-size: 15.5px; }
.sc-tl-dates { font-size: 13px; }
.sc-task span { font-size: 14px; line-height: 1.45; }
.sc-input { font-size: 14px; }
.sc-type { font-size: 13px; }
.sc-feed-meta { font-size: 12.5px; }
.sc-feed-text { font-size: 14px; line-height: 1.6; }
.sc-feed-link { font-size: 13px; }
.sc-pay-small, .sc-hint, .sc-howto, .sc-dc-hour { font-size: 13px; }
.sc-win-row span { font-size: 14px; }
.sc-hero-cell b { font-size: 16px; }
.sc-hero-cell em, .sc-hero-left span { font-size: 13px; }
.sc-hero-days span { font-size: 11px; }

/* Workflow settings */
.sc-step-title { font-size: 16px; }
.sc-step-sub { font-size: 13px; }
.sc-edit-input, .sc-get, .sc-seg button { font-size: 14px; }
.sc-example-row { font-size: 13px; }
.sc-week-label { font-size: 12px; }
.sc-week-count { font-size: 11.5px; }
.sc-toggle-text b { font-size: 14px; }
.sc-toggle-text em { font-size: 12.5px; }
.sc-add-row { font-size: 13px; }

@media (max-width: 1100px) {
    .sc-today-row { grid-template-columns: 38px minmax(0, 1fr) 130px; }
    .sc-today-track { display: none; }
}

/* ==========================================================
   v7: calm, basic dossier (tabs, single column, flat blocks)
   ========================================================== */
#student-modal { width: 780px; max-width: 95vw; height: 88vh; }
#student-modal .modal-header { padding: 20px 26px; }
#student-modal .modal-body { display: block; padding: 22px 26px 28px; overflow-y: auto; }
#student-modal .modal-footer { padding: 14px 26px; }
.sc-dm-sub { font-size: 13.5px; color: #8D8D9A; margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-name-input { font-size: 20px !important; font-weight: 700; }

.sc-dm-tabs { display: flex; gap: 4px; padding: 0 22px; border-bottom: 1px solid #202024; flex-shrink: 0; }
.sc-dm-tabs button {
    position: relative; background: none; border: none; color: #8D8D9A; font-family: inherit;
    font-size: 14.5px; font-weight: 600; padding: 13px 12px; cursor: pointer;
    border-bottom: 2px solid transparent; margin-bottom: -1px; display: inline-flex; align-items: center; gap: 7px;
}
.sc-dm-tabs button:hover { color: #E1E1E4; }
.sc-dm-tabs button.active { color: #fff; border-bottom-color: #393940; }
.sc-dm-dot { display: none; width: 7px; height: 7px; border-radius: 50%; background: #ef4444; }

.sc-pane { display: none; }
.sc-pane.active { display: block; }

/* Flat blocks */
.sc-block { padding: 0 0 22px; margin-bottom: 22px; border-bottom: 1px solid #1C1C1F; }
.sc-block:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.sc-block-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 12px; }
.sc-block-head > span { font-size: 15.5px; font-weight: 700; color: #fff; }
.sc-block-head > em { font-style: normal; font-size: 13.5px; color: #8D8D9A; }
.sc-block-head > em.late { color: #f87171; }
.sc-block-foot { margin-top: 16px; display: flex; justify-content: flex-end; align-items: center; gap: 10px; }
.sc-block-foot.space { justify-content: space-between; }
.sc-block.muted .sc-block-head > span { font-size: 14px; color: #B1B1BA; }
.sc-line { font-size: 14px; color: #B1B1BA; padding: 5px 0; line-height: 1.5; }
.sc-p { font-size: 14px; color: #B1B1BA; line-height: 1.55; margin: 0 0 10px; }
.sc-text-btn { background: none; border: none; color: #41414A; font-family: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; padding: 0 0 0 6px; }
.sc-text-btn:hover { color: #575762; text-decoration: underline; }

/* Status card */
.sc-status { background: #111114; border: 1px solid #25252A; border-radius: 12px; padding: 18px 20px; margin-bottom: 26px; }
.sc-status-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; }
.sc-status-label { font-size: 13px; font-weight: 600; color: #8D8D9A; }
.sc-status-main { font-size: 28px; font-weight: 800; color: #fff; letter-spacing: -0.5px; margin-top: 2px; }
.sc-status-right { text-align: right; }
.sc-status-right b { display: block; font-size: 16px; font-weight: 700; color: #E1E1E4; }
.sc-status-right span { display: block; font-size: 13px; color: #8D8D9A; margin-top: 2px; }
.sc-status-right.warn b { color: #fbbf24; }
.sc-status-right.late b { color: #f87171; }
.sc-status-right.good b { color: #34d399; }
.sc-status .sc-bar { margin-top: 16px; }
.sc-status-meta { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 14px; padding-top: 14px; border-top: 1px solid #1E1E22; font-size: 13.5px; color: #8D8D9A; }
.sc-status-meta b { color: #E1E1E4; font-weight: 600; }
.sc-status-meta b.late { color: #f87171; }

/* Simple progress bar (dashboard + dossier) */
.sc-bar { height: 6px; border-radius: 999px; background: #202024; overflow: hidden; width: 100%; }
.sc-bar > div { height: 100%; border-radius: 999px; background: #393940; }
.sc-bar.warn > div { background: #f59e0b; }
.sc-bar.late > div { background: #ef4444; }

/* Checklist */
#student-modal .sc-task { padding: 9px 6px; gap: 12px; border-radius: 8px; }
#student-modal .sc-task span { font-size: 14.5px; color: #E1E1E4; }
#student-modal .sc-task.done span { color: #747482; }
#student-modal .sc-task em { font-style: normal; font-size: 13px; color: #747482; white-space: nowrap; }
#student-modal .sc-task em.late { color: #f87171; }
#student-modal .sc-add-task { margin-top: 10px; }
#student-modal .sc-add-task .sc-input { padding: 9px 12px; }

/* Key-value row */
.sc-kv { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.sc-kv > div { background: #111114; border: 1px solid #202024; border-radius: 10px; padding: 12px 14px; }
.sc-kv span { display: block; font-size: 13px; color: #8D8D9A; }
.sc-kv b { display: block; font-size: 20px; font-weight: 700; color: #fff; margin-top: 2px; }
.sc-kv b.warn { color: #fbbf24; }
.sc-kv b.late { color: #f87171; }

.sc-settings-line { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 14px; font-size: 13.5px; color: #8D8D9A; }
.sc-settings-line .sc-input { width: auto; padding: 7px 10px; font-size: 13.5px; }

/* Labels inside the dossier: normal case, easier to read */
#student-modal .sc-label { text-transform: none; letter-spacing: 0; font-size: 13px; font-weight: 600; color: #B1B1BA; }
#student-modal .sc-link-btn { font-size: 12.5px; border: none; color: #41414A; padding: 0; }
#student-modal .sc-link-btn:hover { color: #575762; text-decoration: underline; }
#student-modal .sc-two { gap: 14px; }
#student-modal .sc-field { margin-bottom: 14px; }

/* Billing months */
.sc-month { padding: 12px 0; border-top: 1px solid #1C1C1F; }
.sc-month:first-of-type { border-top: none; padding-top: 0; }
.sc-month-row { display: grid; grid-template-columns: 1fr 130px 80px; gap: 12px; align-items: center; }
.sc-month-row.sub { margin-top: 8px; }
.sc-month-name { font-size: 14.5px; font-weight: 600; color: #fff; }
.sc-month-row.sub .sc-month-name { font-weight: 500; color: #B1B1BA; font-size: 13.5px; }
.sc-month-name em { display: block; font-style: normal; font-size: 13px; font-weight: 500; color: #8D8D9A; margin-top: 2px; }
.sc-month-name em.late { color: #f87171; }
.sc-month-name em.good { color: #34d399; }
.sc-month-row .sc-input { padding: 8px 10px; }
.sc-check { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #E1E1E4; cursor: pointer; }
.sc-check input { width: 17px; height: 17px; accent-color: #10b981; cursor: pointer; }

/* Contact */
#student-modal .sc-composer-types { margin-bottom: 10px; }
#student-modal .sc-feed-icon, #student-modal .sc-feed-icon.call, #student-modal .sc-feed-icon.phase, #student-modal .sc-feed-icon.payment, #student-modal .sc-feed-icon.win { background: #17171A; color: #8D8D9A; }
#student-modal .sc-feed-item { padding: 14px 0; }

/* Wins */
#student-modal .sc-win-row { grid-template-columns: 1fr 160px; padding: 5px 0; }
#student-modal .sc-win-row span { font-size: 14.5px; color: #B1B1BA; }
#student-modal .sc-win-row.reached span { color: #fff; font-weight: 600; }

.sc-save-hint { font-size: 13px; }

/* Dashboard: calmer track */
.sc-today-track .sc-bar { height: 6px; }

@media (max-width: 700px) {
    .sc-kv { grid-template-columns: 1fr; }
    .sc-month-row { grid-template-columns: 1fr 100px 70px; }
}

/* ==========================================================
   v8: understated & luxe. Inter, solid buttons, custom checkboxes,
   no gradients/glows. Applies to the whole Client CRM.
   ========================================================== */
#admin-tab-students, #student-modal, .sc-toast {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-feature-settings: normal;
    letter-spacing: -0.006em;
    color: #EAEAED;
}
#admin-tab-students input, #admin-tab-students select, #admin-tab-students textarea, #admin-tab-students button,
#student-modal input, #student-modal select, #student-modal textarea, #student-modal button { font-family: inherit; letter-spacing: inherit; }

/* Buttons: solid, quiet */
#admin-tab-students .btn, #student-modal .btn {
    font-size: 14px; font-weight: 600; border-radius: 8px; padding: 10px 16px; box-shadow: none; transform: none;
}
#admin-tab-students .btn-primary, #student-modal .btn-primary {
    background: #202024; border: 1px solid #36363D; color: #fff;
}
#admin-tab-students .btn-primary:hover, #student-modal .btn-primary:hover { background: #28282D; border-color: #4B4B55; box-shadow: none; transform: none; }
#admin-tab-students .btn-outline, #student-modal .btn-outline { background: transparent; border: 1px solid #27272C; color: #D5D5DA; }
#admin-tab-students .btn-outline:hover, #student-modal .btn-outline:hover { background: #151518; border-color: #36363D; }
#student-modal .btn-ghost-danger { background: transparent; border: 1px solid transparent; color: #e37b7b; }
#student-modal .btn-ghost-danger:hover { background: rgba(239,68,68,0.08); border-color: rgba(239,68,68,0.25); }

/* Checkboxes */
#admin-tab-students input[type="checkbox"], #student-modal input[type="checkbox"] {
    -webkit-appearance: none; appearance: none; margin: 0; flex-shrink: 0; cursor: pointer;
    width: 18px; height: 18px; border-radius: 5px; border: 1.5px solid #44444C; background: #121215;
    display: inline-grid; place-content: center; transition: background .15s, border-color .15s;
}
#admin-tab-students input[type="checkbox"]:hover, #student-modal input[type="checkbox"]:hover { border-color: #6F6F7E; }
#admin-tab-students input[type="checkbox"]::before, #student-modal input[type="checkbox"]::before {
    content: ''; width: 10px; height: 10px; background: #fff; transform: scale(0); transition: transform .12s ease;
    clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}
#admin-tab-students input[type="checkbox"]:checked, #student-modal input[type="checkbox"]:checked { background: #313137; border-color: #313137; }
#admin-tab-students input[type="checkbox"]:checked::before, #student-modal input[type="checkbox"]:checked::before { transform: scale(1); }
#student-modal .sc-check input[type="checkbox"]:checked { background: #10b981; border-color: #10b981; }
#admin-tab-students .sc-toggle input[type="checkbox"] { display: none; }

/* Inputs */
#admin-tab-students .sc-input, #student-modal .sc-input, #admin-tab-students .sc-search {
    background: #121215; border: 1px solid #25252A; border-radius: 8px; color: #EAEAED; font-size: 14px; padding: 10px 12px;
}
#admin-tab-students .sc-input:focus, #student-modal .sc-input:focus, #admin-tab-students .sc-search:focus { border-color: #121214; background: #141417; }
#admin-tab-students .sc-input::placeholder, #student-modal .sc-input::placeholder, #admin-tab-students .sc-search::placeholder { color: #676774; opacity: 1; }
.sc-select-mini { background: #121215; border-color: #25252A; font-size: 13.5px; padding: 8px 10px; }

/* Avatars & badges */
.sc-avatar { background: #2A2A30; font-weight: 600; letter-spacing: 0; }
.sc-badge { font-size: 12.5px; font-weight: 500; padding: 3px 10px; border-radius: 6px; border: none; }
.sc-badge .sc-dot { width: 6px; height: 6px; }
.sc-badge.green { background: rgba(16,185,129,0.12); color: #4ade80; }
.sc-badge.orange { background: rgba(245,158,11,0.12); color: #fbbf24; }
.sc-badge.red { background: rgba(239,68,68,0.12); color: #f87171; }
.sc-badge.grey { background: #1E1E22; color: #ADADB7; }
.sc-badge.violet { background: rgba(49, 49, 55,0.14); color: #575762; }

/* Top navigation */
.sc-tabs { background: transparent; border: 1px solid #222226; }
.sc-tab { font-weight: 500; }
.sc-tab.active { background: #1B1B1E; box-shadow: none; font-weight: 600; }
.sc-sync { background: transparent; border: none; color: #868694; padding: 0; }
.sc-sync-dot { animation: none; box-shadow: none; width: 6px; height: 6px; }

/* KPI cards: quiet */
.sc-kpi { background: #111113; border: 1px solid #222226; border-radius: 12px; }
.sc-kpi::before { display: none; }
.sc-kpi-label { text-transform: none; letter-spacing: 0; font-size: 13.5px; font-weight: 500; color: #A0A0AB; }
.sc-kpi-label i { display: none; }
.sc-kpi-value { font-size: 30px; font-weight: 700; letter-spacing: -0.02em; margin-top: 6px; }
.sc-kpi-sub { color: #868694; font-size: 13px; }

/* Panels */
.sc-panel { background: #111113; border: 1px solid #222226; border-radius: 12px; }
.sc-panel-head { border-bottom: 1px solid #1D1D21; }
.sc-panel-title { font-size: 15.5px; font-weight: 700; letter-spacing: -0.01em; }
.sc-panel-title i { display: none; }
.sc-row-title { font-weight: 600; }
.sc-row-sub { color: #9797A3; }
.sc-row:hover, .sc-today-row:hover { background: #141417; }
.sc-today-count b { font-weight: 700; }
.sc-today-count em { font-weight: 500; }
.sc-win { background: #141417; border: 1px solid #222226; }
.sc-win-title i { color: #fbbf24; }
.sc-empty { color: #868694; }

/* Clients table */
.sc-table th { text-transform: none; letter-spacing: 0; font-size: 13px; font-weight: 500; color: #868694; }
.sc-filter { font-weight: 500; border-color: #25252A; }
.sc-filter.active, .sc-filter:hover { background: #1B1B1E; border-color: #36363D; color: #fff; }
.sc-fill { background: #313137; }
.sc-fill.green { background: #10b981; }

/* Workflow settings */
.sc-step, .sc-discord { background: #111113; border-color: #222226; }
.sc-step-icon { background: #18181B; border-color: #25252A; }
.sc-tl-node { box-shadow: none !important; }
.sc-week-bar > div { background: #313137 !important; box-shadow: none !important; }
.sc-example { background: #141417 !important; border-color: #222226 !important; }
.sc-example-title, .sc-label { text-transform: none; letter-spacing: 0; font-size: 13px; font-weight: 500; color: #A0A0AB; }
.sc-toggle input:checked + .sc-toggle-ui { background: #313137; border-color: #313137; }

/* Progress bars */
.sc-bar { background: #202024; height: 5px; }
.sc-bar > div { background: #313137; }
.sc-bar.amber > div, .sc-bar.warn > div { background: #f59e0b; }
.sc-bar.red > div, .sc-bar.late > div { background: #ef4444; }

/* ---------- Dossier: one view, two columns ---------- */
#student-modal { width: 1080px; max-width: 95vw; height: 90vh; background: #0E0E10; border-color: #222226; border-radius: 14px; }
#student-modal .modal-header { padding: 20px 28px; border-bottom: 1px solid #1D1D21; }
#student-modal .modal-body { display: block; padding: 0; overflow-y: auto; }
#student-modal .modal-footer { padding: 14px 28px; border-top: 1px solid #1D1D21; }
.sc-name-input { font-size: 21px !important; font-weight: 700 !important; letter-spacing: -0.015em; }
.sc-dm-sub { color: #868694; font-size: 13.5px; }

.sc-dm-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); min-height: 100%; }
.sc-dm-col { padding: 26px 28px 30px; min-width: 0; }
.sc-dm-col.side { border-left: 1px solid #1D1D21; }

/* Section heading: bold title with a muted line under it */
.sc-block { padding: 0 0 26px; margin: 0 0 26px; border-bottom: 1px solid #1A1A1D; }
.sc-block:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
.sc-block-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; column-gap: 12px; margin-bottom: 16px; }
.sc-block-head > span { grid-column: 1; font-size: 17px; font-weight: 700; color: #fff; letter-spacing: -0.015em; }
.sc-block-head > em { grid-column: 1; grid-row: 2; font-style: normal; font-size: 13.5px; color: #868694; margin-top: 3px; }
.sc-block-head > em.late { color: #f87171; }
.sc-block-head > button { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.sc-block.muted .sc-block-head > span { font-size: 15px; color: #C4C4CB; }
.sc-sublabel { font-size: 13px; font-weight: 600; color: #A0A0AB; margin: 20px 0 6px; }

/* Status note (tinted box like the info boxes elsewhere in the tool) */
.sc-note { --c: 139,108,246; background: rgba(var(--c), 0.07); border: 1px solid rgba(var(--c), 0.28); border-radius: 10px; padding: 16px 18px; margin-bottom: 26px; font-size: 14.5px; color: #D5D5DA; }
.sc-note.violet { --c: 139,108,246; }
.sc-note.amber { --c: 245,158,11; }
.sc-note.red { --c: 239,68,68; }
.sc-note.green { --c: 16,185,129; }
.sc-note b { color: rgb(var(--c)); font-weight: 700; }
.sc-note.violet b { color: #41414A; }
.sc-note-top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; font-size: 16px; color: #fff; font-weight: 600; }
.sc-note-right { font-size: 15px; font-weight: 700; color: rgb(var(--c)); white-space: nowrap; }
.sc-note.violet .sc-note-right { color: #575762; }
.sc-note-sub { font-size: 13.5px; color: #A0A0AB; margin-top: 4px; }
.sc-note .sc-bar { margin-top: 14px; background: rgba(255,255,255,0.06); }

/* Checklist */
#student-modal .sc-task { padding: 9px 4px; gap: 12px; border-radius: 6px; }
#student-modal .sc-task:hover { background: #121215; }
#student-modal .sc-task span { font-size: 14.5px; color: #E3E3E6; }
#student-modal .sc-task.done span { color: #676774; text-decoration: line-through; text-decoration-color: #44444C; }
#student-modal .sc-task em { font-style: normal; font-size: 13px; color: #676774; }
#student-modal .sc-task em.late { color: #f08a8a; }
#student-modal .sc-label { font-size: 13px; font-weight: 500; color: #A0A0AB; }
#student-modal .sc-link-btn { color: #41414A; font-size: 13px; font-weight: 500; }
.sc-text-btn { color: #41414A; font-weight: 500; }

/* Key figures */
.sc-kv { gap: 8px; }
.sc-kv > div { background: #121215; border: 1px solid #202024; border-radius: 8px; padding: 10px 12px; }
.sc-kv span { font-size: 12.5px; color: #868694; }
.sc-kv b { font-size: 17px; font-weight: 700; letter-spacing: -0.01em; }

/* Billing months in the side column */
.sc-dm-col.side .sc-month-row { grid-template-columns: minmax(0, 1fr) 104px 74px; gap: 10px; }
.sc-month-name { font-size: 14px; }
.sc-check { font-size: 13.5px; color: #D5D5DA; }

/* Contact moments */
#student-modal .sc-composer-types { gap: 6px; }
#student-modal .sc-type { border-radius: 6px; border-color: #25252A; color: #A0A0AB; font-weight: 500; padding: 6px 11px; font-size: 13px; }
#student-modal .sc-type.active { background: #1B1B1E; border-color: #36363D; color: #fff; }
#student-modal .sc-composer-foot { margin-bottom: 8px; }
#student-modal .sc-feed-item { border-bottom-color: #1A1A1D; }
#student-modal .sc-feed-meta { color: #868694; }
#student-modal .sc-feed-meta b { color: #D5D5DA; }

/* Wins */
#student-modal .sc-win-row { grid-template-columns: 1fr 150px; }

@media (max-width: 900px) {
    .sc-dm-grid { grid-template-columns: 1fr; }
    .sc-dm-col.side { border-left: none; border-top: 1px solid #1D1D21; }
}
.sc-block-head { row-gap: 0; }
.sc-block:last-child { border-bottom: 1px solid #1A1A1D; margin-bottom: 26px; padding-bottom: 26px; }
.sc-dm-col > .sc-block:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }

/* ==========================================================
   v10: same look as the tool's own video modal.
   Plus Jakarta Sans, uppercase bold labels with outline icons,
   bordered group boxes, coloured stat tiles, "Open Link" pills.
   ========================================================== */
#admin-tab-students, #student-modal, .sc-toast {
    font-family: 'Plus Jakarta Sans', sans-serif; font-feature-settings: normal; letter-spacing: 0; color: #F2F2F5;
}

/* Buttons */
#admin-tab-students .btn, #student-modal .btn { font-size: 14px; font-weight: 600; border-radius: 8px; padding: 10px 18px; box-shadow: none; transform: none; }
#admin-tab-students .btn-primary, #student-modal .btn-primary { background: #313137; border: 1px solid #313137; color: #fff; }
#admin-tab-students .btn-primary:hover, #student-modal .btn-primary:hover { background: #3B3B42; border-color: #3B3B42; box-shadow: none; transform: none; }
#admin-tab-students .btn-outline, #student-modal .btn-outline { background: rgba(255,255,255,0.03); border: 1px solid #393940; color: #F2F2F5; }
#admin-tab-students .btn-outline:hover, #student-modal .btn-outline:hover { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.15); }

/* "Open Link" pill */
#admin-tab-students .sc-link-btn, #student-modal .sc-link-btn {
    display: inline-flex; align-items: center; gap: 5px; margin-left: auto; flex-shrink: 0;
    padding: 4px 10px; border-radius: 7px; cursor: pointer; line-height: 1.4;
    background: rgba(255,255,255,0.03); border: 1px solid #393940; color: #F2F2F5;
    font-family: inherit; font-size: 11.5px; font-weight: 600; text-transform: none; letter-spacing: 0;
}
#admin-tab-students .sc-link-btn:hover, #student-modal .sc-link-btn:hover { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.15); }
#admin-tab-students .sc-link-btn i, #student-modal .sc-link-btn i { font-size: 12px; }
.sc-text-btn { color: #50505B; font-weight: 600; font-size: 13.5px; }
.sc-text-btn:hover { color: #CFCFD5; text-decoration: underline; }

/* Labels: uppercase, bold, light */
#admin-tab-students .sc-label, #student-modal .sc-label, .sc-example-title {
    display: flex; align-items: center; justify-content: flex-start; gap: 8px; margin-bottom: 9px;
    font-size: 12.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; color: #E1E1E4;
}
#admin-tab-students .sc-label i, #student-modal .sc-label i { font-size: 14px; color: #B1B1BA; }

/* Inputs: roomy and rounded, like the video modal */
#admin-tab-students .sc-input, #student-modal .sc-input, #admin-tab-students .sc-search {
    background: rgba(255,255,255,0.025); border: 1px solid rgba(255,255,255,0.07); border-radius: 12px;
    color: #F2F2F5; font-size: 15px; padding: 12px 16px; line-height: 1.4; box-shadow: none;
}
#admin-tab-students .sc-input:hover, #student-modal .sc-input:hover, #admin-tab-students .sc-search:hover { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.1); }
#admin-tab-students .sc-input:focus, #student-modal .sc-input:focus, #admin-tab-students .sc-search:focus {
    background: rgba(255,255,255,0.045); border-color: #393940; box-shadow: 0 0 0 1px #393940;
}
#admin-tab-students .sc-input::placeholder, #student-modal .sc-input::placeholder, #admin-tab-students .sc-search::placeholder { color: #63636F; opacity: 1; }
#student-modal .sc-settings-line .sc-input, #student-modal .sc-month .sc-input, #student-modal .sc-win-row .sc-input { padding: 9px 12px; font-size: 14px; border-radius: 10px; }
.sc-select-mini { background: rgba(255,255,255,0.03); border: 1px solid #393940; border-radius: 8px; color: #F2F2F5; font-size: 13.5px; font-weight: 600; padding: 8px 12px; }

/* ---------- Dossier ---------- */
#student-modal { background: #111114; border: 1px solid #2B2B30; border-radius: 16px; }
#student-modal .modal-header { background: transparent; padding: 20px 28px; border-bottom: 1px solid #2B2B30; }
#student-modal .modal-footer { background: transparent; padding: 14px 28px; border-top: 1px solid #2B2B30; }
.sc-name-input { font-size: 20px !important; font-weight: 700 !important; letter-spacing: 0; color: #fff !important; }
.sc-dm-sub { color: #8B8B98; font-size: 13.5px; margin-top: 2px; }
.sc-dm-grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.sc-dm-col { padding: 28px 28px 32px; }
.sc-dm-col.side { padding-left: 0; border-left: none; }

/* Section = bordered group box (like the Due date / Upload date box) */
.sc-block, .sc-block:last-child, .sc-dm-col > .sc-block:last-child {
    background: rgba(0,0,0,0.2); border: 1px solid #2B2B30; border-radius: 12px;
    padding: 20px; margin: 0 0 20px; box-shadow: none; overflow: visible;
}
.sc-dm-col > :last-child .sc-block:last-child, .sc-dm-col > .sc-block:last-child { margin-bottom: 0; }
.sc-block-head {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 12px; row-gap: 0;
    margin: 0 0 16px; padding: 0; background: none; border: none;
}
.sc-block-head > span { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.4px; color: #F2F2F5; }
.sc-block-head > em { grid-column: 1; grid-row: 2; margin: 4px 0 0 24px; font-style: normal; font-size: 13px; font-weight: 500; color: #8B8B98; text-transform: none; letter-spacing: 0; }
.sc-block-head > em.late { color: #f87171; }
.sc-block-head > button { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.sc-hi { display: inline-block; width: auto; height: auto; background: none; border: none; border-radius: 0; font-size: 16px; color: #B1B1BA; }
.sc-block.muted { background: transparent; border-color: #222226; }
.sc-block.muted .sc-block-head > span { color: #B1B1BA; font-size: 13px; }
.sc-block.muted .sc-hi { color: #80808F; }
.sc-block .sc-sublabel { font-size: 12.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.4px; color: #E1E1E4; margin: 24px 0 8px; }
#student-modal .sc-field { margin-bottom: 18px; }
#student-modal .sc-field:last-child { margin-bottom: 0; }
.sc-line { font-size: 14px; color: #C4C4CB; }
.sc-p { font-size: 14px; color: #C4C4CB; }

/* Status note: tinted tile */
.sc-note { background: rgba(var(--c), 0.05); border: 1px solid rgba(var(--c), 0.25); border-radius: 12px; padding: 18px 20px; margin-bottom: 20px; }
.sc-note-top { font-size: 16px; font-weight: 700; color: #fff; }
.sc-note b { font-weight: 800; }
.sc-note-right { font-weight: 700; font-size: 14.5px; }
.sc-note-sub { color: #B1B1BA; font-size: 13.5px; margin-top: 6px; }

/* Coloured stat tiles (Leads / Calls / Customers / Revenue style) */
.sc-kv { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.sc-kv > div {
    --t: #393940;
    background: color-mix(in srgb, var(--t) 5%, transparent);
    border: 1px solid color-mix(in srgb, var(--t) 24%, transparent);
    border-radius: 8px; padding: 12px 14px; min-width: 0;
}
.sc-kv span { display: flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: var(--t); margin-bottom: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-kv span i { font-size: 13px; }
.sc-kv b { display: block; font-size: 22px; font-weight: 700; color: #fff; letter-spacing: -0.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-kv b.late { color: #f87171; }
.sc-kv b.warn { color: #fbbf24; }

/* Checklist */
#student-modal .sc-task { padding: 12px 2px; gap: 12px; border-radius: 0; border-top: 1px solid #202024; }
#student-modal .sc-block-head + .sc-task { border-top: none; padding-top: 0; }
#student-modal .sc-task:hover { background: transparent; }
#student-modal .sc-task:hover span { color: #fff; }
#student-modal .sc-task span { font-size: 14.5px; font-weight: 500; color: #F2F2F5; }
#student-modal .sc-task.done span { color: #63636F; text-decoration: line-through; text-decoration-color: #44444C; }
#student-modal .sc-task em.sc-day {
    font-style: normal; font-size: 11.5px; font-weight: 600; padding: 3px 9px; border-radius: 7px;
    background: rgba(255,255,255,0.03); border: 1px solid #393940; color: #B1B1BA;
}
#student-modal .sc-task em.sc-day.late { background: rgba(239,68,68,0.06); border-color: rgba(239,68,68,0.3); color: #f87171; }
#student-modal .sc-task em.sc-day.done { opacity: .5; }
#student-modal .sc-add-task { margin-top: 14px; }
#student-modal .sc-block-foot { margin-top: 18px; }

/* Checkboxes */
#admin-tab-students input[type="checkbox"], #student-modal input[type="checkbox"] { width: 18px; height: 18px; border-radius: 5px; border: 1.5px solid #44444C; background: rgba(255,255,255,0.03); }
#admin-tab-students input[type="checkbox"]:checked, #student-modal input[type="checkbox"]:checked { background: #313137; border-color: #313137; }
#student-modal .sc-check input[type="checkbox"]:checked { background: #10b981; border-color: #10b981; }
#admin-tab-students .sc-toggle input[type="checkbox"] { display: none; }

/* Billing months */
#student-modal .sc-month { border-top: 1px solid #202024; }
#student-modal .sc-month-name { font-size: 14px; font-weight: 700; color: #F2F2F5; }
.sc-check { font-size: 13.5px; font-weight: 600; color: #E1E1E4; }

/* Contact moments */
#student-modal .sc-composer-types { gap: 8px; margin-bottom: 12px; }
#student-modal .sc-type { border-radius: 8px; background: rgba(255,255,255,0.03); border: 1px solid #393940; color: #B1B1BA; font-weight: 600; padding: 7px 12px; font-size: 13px; }
#student-modal .sc-type:hover { color: #fff; border-color: rgba(255,255,255,0.15); }
#student-modal .sc-type.active { background: rgba(57, 57, 64,0.1); border-color: #393940; color: #fff; }
#student-modal .sc-composer-foot { margin: 10px 0 8px; gap: 10px; }
#student-modal .sc-feed-item { border-bottom: none; border-top: 1px solid #202024; }
#student-modal .sc-feed-item:first-of-type { margin-top: 18px; }
#student-modal .sc-feed-meta { color: #8B8B98; font-size: 12.5px; }
#student-modal .sc-feed-meta b { color: #E1E1E4; font-weight: 700; }

/* Wins */
#student-modal .sc-win-row { grid-template-columns: 1fr 150px; border-top: 1px solid #202024; }
#student-modal .sc-win-row span { font-size: 14px; font-weight: 500; color: #E1E1E4; }

/* ---------- Dashboard ---------- */
.sc-tabs { background: rgba(255,255,255,0.02); border: 1px solid #2B2B30; border-radius: 10px; }
.sc-tab { font-weight: 600; color: #8B8B98; }
.sc-tab:hover { color: #fff; }
.sc-tab.active { background: #212125; color: #fff; box-shadow: none; }

.sc-kpi {
    --kpi-color: #393940;
    background: color-mix(in srgb, var(--kpi-color) 5%, #111114);
    border: 1px solid color-mix(in srgb, var(--kpi-color) 25%, transparent);
    border-radius: 12px; box-shadow: none;
}
.sc-kpi::before { display: none; }
.sc-kpi-label { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: var(--kpi-color); }
.sc-kpi-label i { display: inline-block; font-size: 14px; }
.sc-kpi-value { font-size: 30px; font-weight: 700; color: #fff; letter-spacing: -0.02em; margin-top: 8px; }
.sc-kpi-sub { color: #8B8B98; font-size: 13px; }

.sc-panel { background: #111114; border: 1px solid #2B2B30; border-radius: 12px; box-shadow: none; }
.sc-panel-head { background: transparent; border-bottom: 1px solid #2B2B30; }
.sc-panel-title { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.4px; color: #F2F2F5; }
.sc-panel-title i { display: inline-block; width: auto; height: auto; background: none; border: none; border-radius: 0; font-size: 16px; color: #B1B1BA; }
.sc-row-title { font-weight: 600; font-size: 14.5px; }
.sc-row-sub { color: #8B8B98; }
.sc-row:hover, .sc-today-row:hover { background: rgba(255,255,255,0.025); }
.sc-today-count b { font-weight: 700; }
.sc-win { background: rgba(0,0,0,0.2); border: 1px solid #2B2B30; border-radius: 12px; }
.sc-empty { color: #8B8B98; }

/* Clients table */
.sc-table th { text-transform: uppercase; letter-spacing: 0.5px; font-size: 11.5px; font-weight: 700; color: #8B8B98; }
.sc-filter { font-weight: 600; background: rgba(255,255,255,0.03); border: 1px solid #393940; border-radius: 8px; color: #B1B1BA; }
.sc-filter.active, .sc-filter:hover { background: rgba(57, 57, 64,0.1); border-color: #393940; color: #fff; }

/* Workflow settings */
.sc-step, .sc-discord { background: #111114; border: 1px solid #2B2B30; border-radius: 12px; box-shadow: none; }
.sc-step-icon { background: rgba(255,255,255,0.03); border: 1px solid #393940; color: #B1B1BA; box-shadow: none; }
.sc-step-title { font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.4px; color: #F2F2F5; }
.sc-step-sub { color: #8B8B98; }
.sc-example { background: rgba(0,0,0,0.2) !important; border-color: #2B2B30 !important; }

/* ==========================================================
   v11: flat, exactly like the video modal. No box per section:
   label + field on the modal background, generous spacing.
   Only grouped fields / lists sit in a bordered box.
   ========================================================== */
#student-modal { background: #111114; }
.sc-dm-grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); column-gap: 40px; padding: 30px 32px 36px; }
.sc-dm-col, .sc-dm-col.side { padding: 0; }

.sc-block, .sc-block:last-child, .sc-dm-col > .sc-block:last-child,
.sc-block.muted {
    background: none; border: none; border-radius: 0; padding: 0; margin: 0 0 44px; box-shadow: none;
}
.sc-dm-col > :last-child, .sc-dm-col > .sc-block:last-child, .sc-dm-col > :last-child > .sc-block { margin-bottom: 0; }

/* Section label = the tool's label: uppercase, bold, light, small outline icon */
.sc-block-head { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; }
.sc-block-head > span { flex: 1; min-width: 0; display: flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 700; letter-spacing: 0.2px; text-transform: uppercase; color: #E1E1E4; }
.sc-block-head > em { margin: 0 0 0 auto; font-size: 12.5px; font-weight: 500; color: #8B8B98; white-space: nowrap; }
.sc-block-head > button { margin-left: auto; }
.sc-hi { font-size: 15px; color: #E1E1E4; }
.sc-block.muted .sc-block-head > span { color: #8B8B98; font-size: 13px; }
.sc-block.muted .sc-hi { color: #8B8B98; }

/* Field labels match the section labels (same as TOPIC NOTES / SCRIPT DELIVERY) */
#student-modal .sc-label, #student-modal .sc-block .sc-sublabel {
    display: flex; align-items: center; gap: 7px; margin: 0 0 10px;
    font-size: 13px; font-weight: 700; letter-spacing: 0.2px; text-transform: uppercase; color: #E1E1E4;
}
#student-modal .sc-label i, #student-modal .sc-sublabel i { font-size: 14px; color: #E1E1E4; }
#student-modal .sc-block .sc-sublabel { margin-top: 28px; }
#student-modal .sc-field { margin-bottom: 28px; }
#student-modal .sc-field:last-child { margin-bottom: 0; }

/* Inputs exactly like the tool's form inputs */
#student-modal .sc-input {
    background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.06); border-top-color: rgba(255,255,255,0.1);
    border-radius: 12px; padding: 14px 18px; font-size: 15px; color: #F2F2F5;
}
#student-modal .sc-input:hover { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.1); }
#student-modal .sc-input:focus { background: rgba(255,255,255,0.05); border-color: #393940; box-shadow: 0 0 0 1px #393940; }
#student-modal .sc-settings-line .sc-input, #student-modal .sc-month .sc-input, #student-modal .sc-win-row .sc-input { padding: 9px 12px; font-size: 14px; border-radius: 10px; }

/* Bordered group box (Due date / Upload date) */
.sc-group { background: rgba(0,0,0,0.2); border: 1px solid #2B2B30; border-radius: 12px; padding: 18px 16px; }
.sc-group .sc-field { margin-bottom: 22px; }
.sc-group .sc-field:last-child { margin-bottom: 0; }
#student-modal .sc-group .sc-input { padding: 10px 14px; font-size: 14px; border-radius: 10px; background: rgba(255,255,255,0.03); }

/* List box (Assignees box) */
.sc-listbox { background: rgba(255,255,255,0.02); border: 1px solid #2B2B30; border-radius: 12px; padding: 4px 16px; }
#student-modal .sc-listbox .sc-task { padding: 12px 0; border-top: 1px solid #202024; }
#student-modal .sc-listbox .sc-task:first-child { border-top: none; }
#student-modal .sc-listbox .sc-month { padding: 14px 0; border-top: 1px solid #202024; }
#student-modal .sc-listbox .sc-month:first-child { border-top: none; }
#student-modal .sc-listbox .sc-win-row { padding: 10px 0; border-top: 1px solid #202024; }
#student-modal .sc-listbox .sc-win-row:first-child { border-top: none; }
#student-modal .sc-add-task { margin-top: 14px; }

/* Stat tiles like Leads / Calls / Customers / Revenue */
.sc-kv { gap: 12px; }
.sc-kv > div { background: color-mix(in srgb, var(--t) 6%, #111114); border: 1px solid color-mix(in srgb, var(--t) 28%, transparent); border-radius: 8px; padding: 12px; }
.sc-kv span { font-size: 10.5px; letter-spacing: 0.5px; margin-bottom: 4px; }
.sc-kv b { font-size: 22px; font-weight: 700; }

/* Production settings line, plain text */
#student-modal .sc-settings-line { margin-top: 18px; font-size: 14px; color: #B1B1BA; }
.sc-block.muted .sc-line { padding: 4px 0; color: #B1B1BA; }

/* Status note on top */
.sc-note { margin-bottom: 40px; }


/* ==========================================================
   v16: refined finish. Same layout as v11, but:
   - slightly larger, heavier type (500 body / 700 headings)
   - muted, matte colour palette (no neon)
   - clear hierarchy: section titles white, field labels softer
   - more breathing room between elements
   - far fewer decorative icons (Discord logo stays)
   ========================================================== */
#admin-tab-students, #student-modal, .sc-toast {
    --ink: #F3F3F4;      /* primary text */
    --ink-2: #C6C6CC;    /* secondary text / field labels */
    --ink-3: #92929E;    /* muted text */
    --line: #25252A;     /* hairlines */
    --line-2: #323239;   /* control borders */
    --fill: rgba(255,255,255,0.025);
    --accent: #202024;   /* muted violet */
    --accent-ink: #B1B1BA;
    --green: #5FB88F;
    --red: #E07A7A;
    --amber: #D9A54A;
    --blue: #7FA6E0;
    font-weight: 500;
}

/* ---------- Fewer icons: keep only meaningful ones ---------- */
.sc-tab i,
#admin-tab-students .sc-kpi-label i,
#admin-tab-students .sc-panel-title i,
#admin-tab-students .btn i,
#admin-tab-students .sc-step:not(.sc-discord) .sc-step-icon,
#admin-tab-students .sc-get i,
#admin-tab-students .sc-link-btn i,
#student-modal .sc-hi,
#student-modal .sc-label i,
#student-modal .sc-sublabel i,
#student-modal .sc-kv span i,
#student-modal .sc-type i,
#student-modal .sc-link-btn i,
#student-modal .btn i { display: none !important; }

/* ---------- Buttons ---------- */
#admin-tab-students .btn, #student-modal .btn {
    font-size: 14.5px; font-weight: 600; padding: 11px 20px; border-radius: 10px; gap: 8px; letter-spacing: 0;
}
#admin-tab-students .btn-primary, #student-modal .btn-primary { background: var(--accent); border: 1px solid var(--accent); color: #fff; }
#admin-tab-students .btn-primary:hover, #student-modal .btn-primary:hover { background: #29292E; border-color: #29292E; }
#admin-tab-students .btn-outline, #student-modal .btn-outline { background: var(--fill); border: 1px solid var(--line-2); color: var(--ink); }
#admin-tab-students .btn-outline:hover, #student-modal .btn-outline:hover { background: rgba(255,255,255,0.05); border-color: #42424B; }
#student-modal .btn-ghost-danger { color: var(--red); }
#admin-tab-students .sc-link-btn, #student-modal .sc-link-btn {
    padding: 5px 12px; border-radius: 8px; font-size: 12.5px; font-weight: 600;
    background: var(--fill); border: 1px solid var(--line-2); color: var(--ink-2);
}
#admin-tab-students .sc-link-btn:hover, #student-modal .sc-link-btn:hover { color: var(--ink); border-color: #42424B; background: rgba(255,255,255,0.05); }
#admin-tab-students .sc-text-btn, #student-modal .sc-text-btn { color: var(--accent-ink); font-weight: 600; }

/* ---------- Badges: matte ---------- */
#admin-tab-students .sc-badge, #student-modal .sc-badge { font-size: 12.5px; font-weight: 600; padding: 4px 10px; border-radius: 6px; gap: 6px; }
#admin-tab-students .sc-badge.green, #student-modal .sc-badge.green { color: var(--green); background: rgba(95,184,143,0.08); border-color: rgba(95,184,143,0.22); }
#admin-tab-students .sc-badge.orange, #student-modal .sc-badge.orange { color: var(--amber); background: rgba(217,165,74,0.08); border-color: rgba(217,165,74,0.22); }
#admin-tab-students .sc-badge.red, #student-modal .sc-badge.red { color: var(--red); background: rgba(224,122,122,0.08); border-color: rgba(224,122,122,0.22); }
#admin-tab-students .sc-badge.violet, #student-modal .sc-badge.violet { color: var(--accent-ink); background: rgba(32, 32, 36,0.10); border-color: rgba(32, 32, 36,0.28); }
#admin-tab-students .sc-badge.grey, #student-modal .sc-badge.grey { color: var(--ink-2); background: var(--fill); border-color: var(--line-2); }

/* Status text colours */
#admin-tab-students em.late, #admin-tab-students b.late, #admin-tab-students .sc-stage-sub.late,
#student-modal em.late, #student-modal b.late, #student-modal span.late { color: var(--red); }
#admin-tab-students b.warn, #student-modal b.warn { color: var(--amber); }
#student-modal em.good { color: var(--green); }

/* ---------- Avatars: calm, no bright gradient ---------- */
#admin-tab-students .sc-avatar, #student-modal .sc-avatar {
    background: #232327; border: 1px solid #34343B; color: #D9D9DD; font-weight: 700;
}

/* ---------- Inputs & checkboxes ---------- */
#admin-tab-students .sc-input, #student-modal .sc-input, #admin-tab-students .sc-search {
    background: var(--fill); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px;
    font-size: 15px; font-weight: 500; color: var(--ink);
}
#admin-tab-students .sc-input:focus, #student-modal .sc-input:focus, #admin-tab-students .sc-search:focus {
    border-color: var(--accent); box-shadow: 0 0 0 3px rgba(32, 32, 36,0.15); background: rgba(255,255,255,0.035);
}
#admin-tab-students .sc-input::placeholder, #student-modal .sc-input::placeholder, #admin-tab-students .sc-search::placeholder { color: #666673; font-weight: 500; }
#admin-tab-students input[type="checkbox"], #student-modal input[type="checkbox"] { border-color: #42424B; }
#admin-tab-students input[type="checkbox"]:checked, #student-modal input[type="checkbox"]:checked { background: var(--accent); border-color: var(--accent); }
#student-modal .sc-check input[type="checkbox"]:checked { background: var(--green); border-color: var(--green); }
.sc-select-mini { font-size: 14px; font-weight: 600; padding: 9px 12px; border-radius: 10px; border-color: var(--line-2); }

/* ---------- Progress bars ---------- */
#admin-tab-students .sc-bar, #student-modal .sc-bar { height: 6px; background: rgba(255,255,255,0.06); }
#admin-tab-students .sc-bar > div, #student-modal .sc-bar > div { background: var(--accent); }
#admin-tab-students .sc-bar.warn > div, #admin-tab-students .sc-bar.amber > div, #student-modal .sc-bar.warn > div, #student-modal .sc-bar.amber > div { background: #C9963F; }
#admin-tab-students .sc-bar.late > div, #admin-tab-students .sc-bar.red > div, #student-modal .sc-bar.late > div, #student-modal .sc-bar.red > div { background: #C96565; }
#admin-tab-students .sc-fill { background: var(--accent); }
#admin-tab-students .sc-fill.green { background: #4E9F7B; }

/* ==========================================================
   Navigation
   ========================================================== */
.sc-tabs { padding: 4px; gap: 4px; border-radius: 12px; border: 1px solid #25252A; background: rgba(255,255,255,0.015); }
.sc-tab { font-size: 14.5px; font-weight: 600; padding: 9px 18px; border-radius: 8px; color: #92929E; gap: 0; }
.sc-tab:hover { color: #F3F3F4; background: rgba(255,255,255,0.03); }
.sc-tab.active { background: #202024; color: #F3F3F4; box-shadow: none; }
#admin-tab-students .sc-topbar { margin-bottom: 30px; }
#admin-tab-students .sc-sync { font-size: 13px; font-weight: 500; color: var(--ink-3); }
#admin-tab-students .sc-sync-dot { background: var(--green); }

/* ==========================================================
   Dashboard
   ========================================================== */
#admin-tab-students .sc-kpis { gap: 20px; margin-bottom: 28px; }
#admin-tab-students .sc-kpi {
    padding: 22px 24px; border-radius: 14px;
    background: color-mix(in srgb, var(--kpi-color) 4%, #111114);
    border: 1px solid color-mix(in srgb, var(--kpi-color) 20%, #25252A);
}
#admin-tab-students .sc-kpi-label { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; color: var(--kpi-color); }
#admin-tab-students .sc-kpi-value { font-size: 32px; font-weight: 700; color: var(--ink); margin-top: 10px; letter-spacing: -0.02em; }
#admin-tab-students .sc-kpi-sub { font-size: 13.5px; font-weight: 500; color: var(--ink-3); margin-top: 6px; line-height: 1.5; }

#admin-tab-students .sc-grid-2 { gap: 20px; margin-bottom: 20px; }
#admin-tab-students .sc-panel { border-radius: 14px; border: 1px solid var(--line); background: #111114; }
#admin-tab-students .sc-panel-head { padding: 18px 24px; border-bottom: 1px solid var(--line); }
#admin-tab-students .sc-panel-title { font-size: 13.5px; font-weight: 700; letter-spacing: 0.08em; color: var(--ink); gap: 0; }
#admin-tab-students .sc-panel-head > span { font-size: 13px !important; font-weight: 500; color: var(--ink-3) !important; }
#admin-tab-students .sc-panel-body { padding: 8px 12px; }
#admin-tab-students .sc-empty { font-size: 14px; font-weight: 500; color: var(--ink-3); padding: 30px 16px; }

#admin-tab-students .sc-row { padding: 16px 14px; gap: 16px; }
#admin-tab-students .sc-row + .sc-row, #admin-tab-students .sc-today-row + .sc-today-row { border-top: 1px solid var(--line); }
#admin-tab-students .sc-row-title { font-size: 15px; font-weight: 600; color: var(--ink); }
#admin-tab-students .sc-row-sub { font-size: 13.5px; font-weight: 500; color: var(--ink-3); margin-top: 3px; }
#admin-tab-students .sc-row-right { font-size: 14px; font-weight: 600; color: var(--ink-2); }
#admin-tab-students .sc-today-row { padding: 18px 14px; gap: 24px; }
#admin-tab-students .sc-today-count b { font-size: 22px; font-weight: 700; color: var(--ink); }
#admin-tab-students .sc-today-count b span { color: var(--ink-3); font-weight: 600; }
#admin-tab-students .sc-today-count em { font-size: 13px; font-weight: 600; }
#admin-tab-students .sc-win { background: rgba(255,255,255,0.015); border: 1px solid var(--line); border-radius: 12px; padding: 16px 18px; }
#admin-tab-students .sc-win-title { font-size: 14.5px; font-weight: 600; }
#admin-tab-students .sc-win-title i { color: var(--amber); }

/* ==========================================================
   Clients table
   ========================================================== */
#admin-tab-students .sc-toolbar { gap: 10px; margin-bottom: 18px; }
#admin-tab-students .sc-search { padding: 13px 16px; }
#admin-tab-students .sc-filter { font-size: 13.5px; font-weight: 600; padding: 9px 15px; border-radius: 9px; background: var(--fill); border: 1px solid var(--line-2); color: var(--ink-2); }
#admin-tab-students .sc-filter:hover { color: var(--ink); border-color: #42424B; background: rgba(255,255,255,0.04); }
#admin-tab-students .sc-filter.active { color: var(--ink); background: #202024; border-color: #42424B; }
#admin-tab-students .sc-table th { font-size: 11.5px; font-weight: 700; letter-spacing: 0.08em; color: var(--ink-3); padding: 15px 20px; border-bottom: 1px solid var(--line); }
#admin-tab-students .sc-table td { font-size: 14.5px; font-weight: 500; color: var(--ink-2); padding: 18px 20px; border-bottom: 1px solid var(--line); }
#admin-tab-students .sc-table tbody tr:hover { background: rgba(255,255,255,0.02); }
#admin-tab-students .sc-progress-label { font-size: 13px !important; font-weight: 500; color: var(--ink-2) !important; margin-bottom: 7px; }
#admin-tab-students .sc-stage-sub { font-size: 13px; font-weight: 500; color: var(--ink-3); margin-top: 6px; }

/* ==========================================================
   Workflow settings
   ========================================================== */
#admin-tab-students .sc-wf-grid { gap: 28px; }
#admin-tab-students .sc-step, #admin-tab-students .sc-discord { padding: 24px; border-radius: 14px; background: #111114; border: 1px solid var(--line); }
#admin-tab-students .sc-step-head { gap: 14px; margin-bottom: 20px; }
#admin-tab-students .sc-step-title { font-size: 13.5px; font-weight: 700; letter-spacing: 0.08em; color: var(--ink); }
#admin-tab-students .sc-step-sub { font-size: 13.5px; font-weight: 500; color: var(--ink-3); margin-top: 4px; }
#admin-tab-students .sc-discord .sc-step-icon { background: rgba(88,101,242,0.10); border: 1px solid rgba(88,101,242,0.30); color: #8C96F5; }

/* Timeline rail */
#admin-tab-students .sc-wf-grid .sc-tl-item { padding-bottom: 24px; }
#admin-tab-students .sc-wf-grid .sc-tl-item::before { background: var(--line); }
#admin-tab-students .sc-tl-node { background: #17171A; border: 1.5px solid #42424B; color: var(--ink); font-size: 13px; font-weight: 700; box-shadow: none !important; }
#admin-tab-students .sc-tl-item.current .sc-tl-node { background: rgba(32, 32, 36,0.14); border-color: var(--accent); color: var(--ink); }

/* Day chart */
#admin-tab-students .sc-week { padding: 18px 16px; gap: 10px; background: rgba(255,255,255,0.015); border: 1px solid var(--line); margin-bottom: 18px; }
#admin-tab-students .sc-week-bar { background: rgba(255,255,255,0.04); border-radius: 6px; }
#admin-tab-students .sc-week-bar > div { background: rgba(32, 32, 36,0.75) !important; }
#admin-tab-students .sc-week-label { font-size: 12.5px; font-weight: 700; color: var(--ink); }
#admin-tab-students .sc-week-count { font-size: 12px; font-weight: 500; color: var(--ink-3); }

/* Editable rows */
#admin-tab-students .sc-edit-list { gap: 8px; }
#admin-tab-students .sc-edit-row { padding: 8px 8px 8px 12px; gap: 12px; background: rgba(255,255,255,0.02); border: 1px solid var(--line); border-radius: 10px; }
#admin-tab-students .sc-edit-row:hover, #admin-tab-students .sc-edit-row:focus-within { border-color: var(--line-2); }
#admin-tab-students .sc-edit-input { font-size: 14.5px; font-weight: 500; color: var(--ink); }
#admin-tab-students .sc-day-pill { background: rgba(255,255,255,0.04); border: 1px solid var(--line-2); color: var(--ink-3); font-size: 11.5px; font-weight: 600; border-radius: 7px; }
#admin-tab-students .sc-day-pill input { color: var(--ink); font-weight: 700; }
#admin-tab-students .sc-check-dot { background: rgba(32, 32, 36,0.12); border-color: rgba(32, 32, 36,0.32); color: var(--accent-ink); }
#admin-tab-students .sc-add-row { margin-top: 10px; padding: 12px; font-size: 13.5px; font-weight: 600; color: var(--ink-3); border: 1px dashed var(--line-2); }
#admin-tab-students .sc-add-row:hover { color: var(--ink); border-color: #42424B; background: rgba(255,255,255,0.02); }

/* Cadence & steppers */
#admin-tab-students .sc-cadence { padding: 18px 20px; background: rgba(255,255,255,0.015); border: 1px solid var(--line); }
#admin-tab-students .sc-cadence-main { font-size: 14.5px; font-weight: 600; }
#admin-tab-students .sc-cadence-stat b { color: var(--green); font-weight: 700; }
#admin-tab-students .sc-cadence-stat span { font-size: 12px; font-weight: 500; color: var(--ink-3); }
#admin-tab-students .sc-stepper { background: var(--fill); border: 1px solid var(--line-2); }
#admin-tab-students .sc-stepper button:hover { background: rgba(255,255,255,0.05); }
#admin-tab-students .sc-hint { font-size: 13px; font-weight: 500; color: var(--ink-3); margin-top: 14px; }
#admin-tab-students .sc-hint i { color: var(--ink-3); }
#admin-tab-students .sc-hint b { color: var(--ink); }

/* Pricing side */
#admin-tab-students .sc-label { font-size: 12px; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--ink-2); margin-bottom: 10px; }
#admin-tab-students .sc-label span, #admin-tab-students .sc-label em { text-transform: none; letter-spacing: 0; font-weight: 500; color: var(--ink-3); }
#admin-tab-students .sc-field { margin-bottom: 20px; }
#admin-tab-students .sc-seg { padding: 4px; background: var(--fill); border: 1px solid var(--line-2); border-radius: 10px; }
#admin-tab-students .sc-seg button { font-size: 14px; font-weight: 600; color: var(--ink-3); border-radius: 7px; }
#admin-tab-students .sc-seg button.active { background: #202024; color: var(--ink); box-shadow: inset 0 0 0 1px #42424B; }
#admin-tab-students .sc-affix { background: var(--fill); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; }
#admin-tab-students .sc-affix:focus-within { border-color: var(--accent); }
#admin-tab-students .sc-affix span { color: var(--ink-3); font-weight: 600; }
#admin-tab-students .sc-affix input { font-size: 18px; font-weight: 700; color: var(--ink); }
#admin-tab-students .sc-example { margin-top: 20px; padding: 18px; background: rgba(255,255,255,0.015) !important; border: 1px solid var(--line) !important; border-radius: 12px; }
#admin-tab-students .sc-example-title { font-size: 12px; font-weight: 700; letter-spacing: 0.07em; color: var(--ink-2); margin-bottom: 10px; }
#admin-tab-students .sc-example-row { font-size: 13.5px; font-weight: 500; color: var(--ink-3); padding: 5px 0; }
#admin-tab-students .sc-example-row b { color: var(--ink); font-weight: 600; }
#admin-tab-students .sc-example-total { font-size: 14px; font-weight: 600; margin-top: 10px; padding-top: 12px; border-top: 1px solid var(--line); }
#admin-tab-students .sc-example-total b { color: var(--amber); font-weight: 700; }

/* "Every new client gets": simple bullets */
#admin-tab-students .sc-get { position: relative; gap: 0; padding: 8px 0 8px 18px; font-size: 14.5px; font-weight: 500; color: var(--ink-2); }
#admin-tab-students .sc-get::before { content: ''; position: absolute; left: 2px; top: 50%; width: 5px; height: 5px; margin-top: -2.5px; border-radius: 50%; background: var(--accent); }

/* Discord toggles */
#admin-tab-students .sc-toggle-text b { font-size: 14.5px; font-weight: 600; color: var(--ink); }
#admin-tab-students .sc-toggle-text em { font-size: 13px; font-weight: 500; color: var(--ink-3); line-height: 1.45; margin-top: 2px; }
#admin-tab-students .sc-toggle input:checked + .sc-toggle-ui { background: var(--accent); border-color: var(--accent); }
#admin-tab-students .sc-howto summary { color: var(--accent-ink); font-weight: 600; }

/* ==========================================================
   Client dossier
   ========================================================== */
#student-modal { background: #111113; border: 1px solid var(--line); border-radius: 16px; }
#student-modal .modal-header { padding: 22px 32px; border-bottom: 1px solid var(--line); }
#student-modal .modal-footer { padding: 16px 32px; border-top: 1px solid var(--line); }
#student-modal .sc-name-input { font-size: 21px !important; font-weight: 700 !important; color: var(--ink) !important; }
#student-modal .sc-dm-sub { font-size: 13.5px; font-weight: 500; color: var(--ink-3); margin-top: 3px; }
#student-modal .sc-save-hint { font-size: 13px; font-weight: 500; color: var(--ink-3); }
#student-modal .sc-save-hint i { color: var(--green); }

#student-modal .sc-dm-grid { padding: 34px 36px 42px; column-gap: 48px; }

/* Sections */
#student-modal .sc-block, #student-modal .sc-block:last-child, #student-modal .sc-block.muted { margin: 0 0 44px; }
#student-modal .sc-dm-col > :last-child, #student-modal .sc-dm-col > .sc-block:last-child { margin-bottom: 0; }
#student-modal .sc-block-head { margin: 0 0 14px; gap: 12px; }
#student-modal .sc-block-head > span { font-size: 13.5px; font-weight: 700; letter-spacing: 0.08em; color: var(--ink); gap: 0; }
#student-modal .sc-block-head > em { font-size: 13px; font-weight: 500; color: var(--ink-3); }
#student-modal .sc-block.muted .sc-block-head > span { color: var(--ink-2); }

/* Field labels: one step softer than section titles */
#student-modal .sc-label, #student-modal .sc-block .sc-sublabel {
    font-size: 12px; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; color: var(--ink-2); gap: 8px; margin: 0 0 10px;
}
#student-modal .sc-block .sc-sublabel { margin-top: 26px; }
#student-modal .sc-field { margin-bottom: 24px; }
#student-modal .sc-field:last-child { margin-bottom: 0; }
#student-modal .sc-two { gap: 16px; }
#student-modal .sc-line, #student-modal .sc-p { font-size: 14.5px; font-weight: 500; color: var(--ink-2); line-height: 1.6; }

/* Inputs in the dossier */
#student-modal .sc-input { padding: 13px 16px; font-size: 15px; border-radius: 10px; background: var(--fill); border: 1px solid rgba(255,255,255,0.08); }
#student-modal .sc-input:hover { background: rgba(255,255,255,0.035); border-color: rgba(255,255,255,0.11); }
#student-modal .sc-group .sc-input, #student-modal .sc-settings-line .sc-input, #student-modal .sc-month .sc-input, #student-modal .sc-win-row .sc-input { padding: 10px 13px; font-size: 14.5px; }

/* Status note on top */
#student-modal .sc-note { padding: 20px 22px; margin-bottom: 40px; border-radius: 12px; background: rgba(var(--c), 0.06); border: 1px solid rgba(var(--c), 0.22); }
#student-modal .sc-note.violet { --c: 150,138,224; }
#student-modal .sc-note.amber { --c: 217,165,74; }
#student-modal .sc-note.red { --c: 224,122,122; }
#student-modal .sc-note.green { --c: 95,184,143; }
#student-modal .sc-note-top { font-size: 16.5px; font-weight: 600; color: var(--ink); }
#student-modal .sc-note b, #student-modal .sc-note.violet b { color: rgb(var(--c)); font-weight: 700; }
#student-modal .sc-note-right, #student-modal .sc-note.violet .sc-note-right { font-size: 14.5px; font-weight: 700; color: rgb(var(--c)); }
#student-modal .sc-note-sub { font-size: 13.5px; font-weight: 500; color: var(--ink-2); margin-top: 6px; }
#student-modal .sc-note .sc-bar { margin-top: 16px; background: rgba(255,255,255,0.06); }
#student-modal .sc-note.amber .sc-bar > div { background: #C9963F; }
#student-modal .sc-note.red .sc-bar > div { background: #C96565; }
#student-modal .sc-note.green .sc-bar > div { background: #4E9F7B; }

/* Boxes */
#student-modal .sc-listbox { padding: 4px 18px; background: rgba(255,255,255,0.015); border: 1px solid var(--line); border-radius: 12px; }
#student-modal .sc-group { padding: 20px 18px; background: rgba(255,255,255,0.015); border: 1px solid var(--line); border-radius: 12px; }

/* Checklist */
#student-modal .sc-listbox .sc-task { padding: 14px 0; gap: 14px; border-top: 1px solid var(--line); }
#student-modal .sc-listbox .sc-task:first-child { border-top: none; }
#student-modal .sc-task span { font-size: 14.5px; font-weight: 500; color: var(--ink); line-height: 1.45; }
#student-modal .sc-task.done span { color: var(--ink-3); text-decoration-color: #42424B; }
#student-modal .sc-task em.sc-day { font-size: 12px; font-weight: 600; padding: 3px 9px; border-radius: 6px; background: var(--fill); border: 1px solid var(--line-2); color: var(--ink-3); }
#student-modal .sc-task em.sc-day.late { color: var(--red); background: rgba(224,122,122,0.07); border-color: rgba(224,122,122,0.25); }
#student-modal .sc-add-task { margin-top: 16px; gap: 10px; }
#student-modal .sc-block-foot { margin-top: 20px; }

/* Stat tiles (Collected / Open / Next due, Finished / Planned / In production) */
#student-modal .sc-kv { gap: 12px; margin-bottom: 4px; }
#student-modal .sc-kv > div {
    padding: 14px 16px; border-radius: 10px;
    background: color-mix(in srgb, var(--t) 5%, #111113);
    border: 1px solid color-mix(in srgb, var(--t) 22%, #25252A);
}
#student-modal .sc-kv span { font-size: 11.5px; font-weight: 700; letter-spacing: 0.07em; color: var(--t); margin-bottom: 6px; }
#student-modal .sc-kv b { font-size: 22px; font-weight: 700; color: var(--ink); }
#student-modal .sc-kv b.late { color: var(--red); }
#student-modal .sc-kv b.warn { color: var(--amber); }
#student-modal .sc-kv + .sc-two, #student-modal .sc-kv + .sc-field, #student-modal .sc-kv + div { margin-top: 24px; }

/* Billing months */
#student-modal .sc-listbox .sc-month { padding: 16px 0; border-top: 1px solid var(--line); }
#student-modal .sc-listbox .sc-month:first-child { border-top: none; }
#student-modal .sc-month-row.sub { margin-top: 10px; }
#student-modal .sc-month-name { font-size: 14.5px; font-weight: 600; color: var(--ink); }
#student-modal .sc-month-row.sub .sc-month-name { font-size: 14px; font-weight: 600; color: var(--ink-2); }
#student-modal .sc-month-name em { font-size: 13px; font-weight: 500; color: var(--ink-3); margin-top: 3px; }
#student-modal .sc-check { font-size: 14px; font-weight: 600; color: var(--ink-2); }

/* Contact moments */
#student-modal .sc-composer-types { gap: 8px; margin-bottom: 14px; }
#student-modal .sc-type { font-size: 13.5px; font-weight: 600; padding: 8px 14px; border-radius: 8px; background: var(--fill); border: 1px solid var(--line-2); color: var(--ink-3); gap: 0; }
#student-modal .sc-type:hover { color: var(--ink); border-color: #42424B; }
#student-modal .sc-type.active { background: #202024; border-color: #42424B; color: var(--ink); }
#student-modal .sc-composer-foot { margin: 12px 0 8px; gap: 10px; }
#student-modal .sc-feed-item { padding: 16px 0; border-top: 1px solid var(--line); }
#student-modal .sc-feed-meta { font-size: 12.5px; font-weight: 500; color: var(--ink-3); }
#student-modal .sc-feed-meta b { color: var(--ink); font-weight: 700; }
#student-modal .sc-feed-text { font-size: 14.5px; font-weight: 500; color: var(--ink-2); line-height: 1.6; }
#student-modal .sc-feed-link { color: var(--accent-ink); font-weight: 600; }
#student-modal .sc-feed-icon { background: rgba(255,255,255,0.04); color: var(--ink-3); border-radius: 8px; }

/* Wins */
#student-modal .sc-listbox .sc-win-row { padding: 12px 0; border-top: 1px solid var(--line); }
#student-modal .sc-listbox .sc-win-row:first-child { border-top: none; }
#student-modal .sc-win-row span { font-size: 14.5px; font-weight: 500; color: var(--ink-2); }
#student-modal .sc-win-row.reached span { color: var(--ink); font-weight: 600; }

/* Production settings line */
#student-modal .sc-settings-line { margin-top: 20px; font-size: 14px; font-weight: 500; color: var(--ink-2); gap: 10px; }

/* Toast */
.sc-toast { font-size: 14px; font-weight: 600; background: #19191C; border-color: #323239; border-radius: 10px; }

/* v16 fixes */
#student-modal .sc-month-name em.late { color: var(--red); }
#student-modal .sc-month-name em.good { color: var(--green); }
#admin-tab-students .sc-discord .sc-step-head { align-items: flex-start; }
#admin-tab-students .sc-discord .sc-step-sub { line-height: 1.45; }
#admin-tab-students .sc-discord .sc-badge { display: inline-flex; }
#admin-tab-students .sc-wf-side > * + * { margin-top: 20px !important; }

/* ==========================================================
   v18: lighter palette. Same design + purple, one step lighter:
   page lifted from near-black, cards clearly above the page,
   brighter lines and muted text for readability.
   ========================================================== */
.admin-dashboard.crm-mode { background: #141417; }
#admin-tab-students, #student-modal, .sc-toast {
    --ink: #F6F6F7;
    --ink-2: #D6D6DB;
    --ink-3: #A9A9B3;
    --line: #303036;
    --line-2: #42424B;
    --fill: rgba(255,255,255,0.045);
    --card: #1D1D21;
    --card-2: #25252A;
    --accent: #27272C;
    --accent-ink: #BFBFC7;
}

/* Header tabs (outside the CRM container) */
.admin-dashboard.crm-mode .sc-tabs { background: #1D1D21; border-color: #303036; }
.admin-dashboard.crm-mode .sc-tab { color: #A9A9B3; }
.admin-dashboard.crm-mode .sc-tab.active { background: #2F2F34; color: #F6F6F7; }
.admin-dashboard.crm-mode .btn-outline { background: #1D1D21; border-color: #42424B; }
.sc-tabs { background: #1D1D21; border-color: #303036; }
.sc-tab.active { background: #2F2F34; }

/* Cards & panels */
#admin-tab-students .sc-panel,
#admin-tab-students .sc-step,
#admin-tab-students .sc-discord { background: var(--card); border-color: var(--line); }
#admin-tab-students .sc-panel-head { border-bottom-color: var(--line); }
#admin-tab-students .sc-kpi {
    background: color-mix(in srgb, var(--kpi-color) 7%, var(--card));
    border-color: color-mix(in srgb, var(--kpi-color) 30%, var(--line));
}
#admin-tab-students .sc-row:hover, #admin-tab-students .sc-today-row:hover,
#admin-tab-students .sc-table tbody tr:hover { background: rgba(255,255,255,0.035); }
#admin-tab-students .sc-win { background: var(--card-2); border-color: var(--line); }

/* Inner boxes in settings */
#admin-tab-students .sc-week,
#admin-tab-students .sc-cadence,
#admin-tab-students .sc-example { background: var(--card-2) !important; border-color: var(--line) !important; }
#admin-tab-students .sc-edit-row { background: var(--card-2); border-color: var(--line); }
#admin-tab-students .sc-edit-row:hover, #admin-tab-students .sc-edit-row:focus-within { border-color: var(--line-2); }
#admin-tab-students .sc-week-bar { background: rgba(255,255,255,0.07); }
#admin-tab-students .sc-week-bar > div { background: #2D2D33 !important; }
#admin-tab-students .sc-tl-node { background: var(--card-2); border-color: var(--line-2); }
#admin-tab-students .sc-tl-item.current .sc-tl-node { background: #303036; border-color: var(--accent); }
#admin-tab-students .sc-seg button.active, #admin-tab-students .sc-filter.active { background: #2F2F34; }
#admin-tab-students .sc-day-pill { background: rgba(255,255,255,0.06); }

/* Inputs: clearly visible fields */
#admin-tab-students .sc-input, #student-modal .sc-input, #admin-tab-students .sc-search,
#admin-tab-students .sc-affix, #admin-tab-students .sc-seg, #admin-tab-students .sc-stepper, .sc-select-mini {
    background: #25252A; border-color: #3F3F47;
}
#admin-tab-students .sc-input:hover, #student-modal .sc-input:hover { background: #2A2A2F; border-color: #4B4B55; }
#admin-tab-students .sc-input:focus, #student-modal .sc-input:focus, #admin-tab-students .sc-search:focus { background: #2A2A2F; border-color: var(--accent); }
#admin-tab-students .sc-input::placeholder, #student-modal .sc-input::placeholder, #admin-tab-students .sc-search::placeholder { color: #7B7B8A; }
#admin-tab-students input[type="checkbox"], #student-modal input[type="checkbox"] { background: #25252A; border-color: #51515B; }
#admin-tab-students input[type="checkbox"]:checked, #student-modal input[type="checkbox"]:checked { background: var(--accent); border-color: var(--accent); }

/* Buttons */
#admin-tab-students .btn-outline, #student-modal .btn-outline,
#admin-tab-students .sc-link-btn, #student-modal .sc-link-btn,
#admin-tab-students .sc-filter, #student-modal .sc-type { background: #25252A; border-color: #42424B; }
#student-modal .sc-type.active { background: #34343B; border-color: #51515B; }
#admin-tab-students .btn-primary:hover, #student-modal .btn-primary:hover { background: #323238; border-color: #323238; }

/* Avatars & bars */
#admin-tab-students .sc-avatar, #student-modal .sc-avatar { background: #2F2F35; border-color: #42424B; color: #E3E3E6; }
#admin-tab-students .sc-bar, #student-modal .sc-bar { background: rgba(255,255,255,0.09); }

/* Dossier */
#student-modal { background: #1A1A1D; border-color: #34343B; }
#student-modal .modal-header, #student-modal .modal-footer { border-color: var(--line); }
#student-modal .sc-listbox, #student-modal .sc-group { background: #212125; border-color: var(--line); }
#student-modal .sc-listbox .sc-task, #student-modal .sc-listbox .sc-month,
#student-modal .sc-listbox .sc-win-row, #student-modal .sc-feed-item { border-top-color: var(--line); }
#student-modal .sc-task em.sc-day { background: rgba(255,255,255,0.05); border-color: var(--line-2); }
#student-modal .sc-kv > div {
    background: color-mix(in srgb, var(--t) 8%, #1A1A1D);
    border-color: color-mix(in srgb, var(--t) 32%, var(--line));
}
#student-modal .sc-note { background: rgba(var(--c), 0.09); border-color: rgba(var(--c), 0.32); }
#student-modal .sc-feed-icon { background: rgba(255,255,255,0.06); }
