/* Client CRM dossier (#student-modal): calmer, more premium look.
   Loaded last on purpose: only visual overrides, no layout/behaviour changes. */
#student-modal {
    --pl-bg: #F6F5F2;
    --pl-card: #FFFFFF;
    --pl-line: #ECE9E3;
    --pl-line-2: #E3DFD7;
    --pl-ink: #1A1A1D;
    --pl-ink-2: #3B3A37;
    --pl-mute: #8A877E;
    --pl-fill: #FAF9F6;
    --pl-shadow: 0 1px 2px rgba(24, 20, 10, .04), 0 10px 28px -16px rgba(24, 20, 10, .16);
}

/* ---- window ---- */
#student-modal.modal {
    background: var(--pl-bg) !important;
    border: 1px solid rgba(24, 20, 10, .07) !important;
    border-radius: 26px !important;
    box-shadow: 0 40px 90px -30px rgba(24, 20, 10, .45), 0 2px 8px rgba(24, 20, 10, .06) !important;
}
#student-modal .modal-header {
    background: linear-gradient(180deg, #FFFFFF 0%, #FCFBF9 100%);
    border-bottom: 1px solid var(--pl-line);
    padding: 22px 32px;
}
#student-modal .modal-body { background: var(--pl-bg); padding: 0; }
#student-modal .sc-dm-grid { padding: 30px 34px 42px; column-gap: 28px; }
#student-modal .sc-name-input { font-size: 20px; font-weight: 700; letter-spacing: -0.015em; color: var(--pl-ink); }
#student-modal .sc-dm-sub { color: var(--pl-mute); font-size: 13px; }
#student-modal .sc-avatar {
    background: linear-gradient(145deg, #2B2B30, #131316);
    color: #fff; border: none;
    box-shadow: 0 6px 14px -4px rgba(19, 19, 22, .4), inset 0 1px 0 rgba(255, 255, 255, .12);
}
#student-modal .sc-select-mini {
    border-radius: 999px; border: 1px solid var(--pl-line-2); background-color: #fff;
    font-weight: 600; padding: 7px 14px; color: var(--pl-ink);
}
#student-modal .close-btn { border-radius: 12px; border: 1px solid var(--pl-line); background: #fff; }
#student-modal .close-btn:hover { background: var(--pl-fill); }

/* ---- cards ---- */
#student-modal .sc-dm-grid .sc-dm-col .sc-block,
#student-modal .sc-dm-grid .sc-dm-col .sc-block:last-child {
    background: var(--pl-card) !important;
    border: 1px solid var(--pl-line) !important;
    border-radius: 20px !important;
    padding: 24px !important;
    margin: 0 0 18px !important;
    box-shadow: var(--pl-shadow) !important;
}
#student-modal .sc-dm-grid .sc-dm-col > :last-child, #student-modal .sc-dm-grid .sc-dm-col > :last-child .sc-block:last-child { margin-bottom: 0 !important; }
#student-modal .sc-dm-col.side { padding-left: 0; }
#student-modal .sc-block-head {
    border: 0 !important;
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    margin: 0 0 18px; padding: 0;
    font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--pl-mute);
}
#student-modal .sc-block-head > span { display: inline-flex; align-items: center; gap: 10px; }
#student-modal .sc-block-head .sc-hi {
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 28px; border-radius: 9px; font-size: 15px;
    background: #F3F1EC; color: #4A4741;
}
#student-modal .sc-block-head em { font-style: normal; text-transform: none; letter-spacing: 0; font-weight: 600; font-size: 12px; color: #4A5E86; background: #EEF2FA; padding: 4px 11px; border-radius: 999px; }
#student-modal .sc-group { background: #F4F7FD; border: 1px solid #E1E8F5; border-radius: 16px; padding: 16px; }
#student-modal .sc-group .sc-input { background: #fff; }

/* ---- labels + inputs ---- */
#student-modal .sc-label {
    display: flex; align-items: center; justify-content: flex-start; gap: 6px;
    margin: 0 0 7px; white-space: nowrap;
    font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--pl-mute);
}
#student-modal .sc-label i { color: #B6B2A8; font-size: 13px; }
#student-modal .sc-label .sc-link-btn, #student-modal .sc-label .sc-text-btn { margin-left: auto; }
#student-modal .sc-label .sc-lbl-sub { text-transform: none; letter-spacing: 0; font-weight: 500; color: #A9A69D; }
#student-modal .sc-field { margin-bottom: 16px; }
#student-modal .sc-input {
    height: 44px; padding: 0 14px; border-radius: 12px;
    background: var(--pl-fill); border: 1px solid var(--pl-line-2); border-top-color: var(--pl-line-2);
    font-size: 14px; color: var(--pl-ink); box-shadow: none;
    transition: border-color .15s, background .15s, box-shadow .15s;
}
#student-modal textarea.sc-input { height: auto; padding: 12px 14px; line-height: 1.55; }
#student-modal .sc-input::placeholder { color: #ABA89F; }
#student-modal .sc-input:hover { background: #fff; border-color: #D4CFC5; }
#student-modal .sc-input:focus { background: #fff; border-color: var(--pl-ink); box-shadow: 0 0 0 4px rgba(26, 26, 29, .07); }
#student-modal select.sc-input {
    -webkit-appearance: none; appearance: none; cursor: pointer; padding-right: 40px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238A877E' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
    background-repeat: no-repeat; background-position: right 14px center;
}
#student-modal .sc-link-btn {
    display: inline-flex; align-items: center; gap: 5px; padding: 4px 11px; border-radius: 999px;
    border: 1px solid var(--pl-line-2); background: #fff; color: var(--pl-ink-2);
    font-size: 12px; font-weight: 600; text-transform: none; letter-spacing: 0; text-decoration: none;
}
#student-modal .sc-link-btn:hover { background: var(--pl-fill); border-color: #CFCABF; text-decoration: none; }
#student-modal .sc-text-btn { text-transform: none; letter-spacing: 0; font-size: 12.5px; font-weight: 600; color: var(--pl-ink-2); padding: 3px 10px; border-radius: 999px; }
#student-modal .sc-text-btn:hover { background: #F0EEE9; text-decoration: none; }
#student-modal .sc-gcal-btn { border-radius: 13px; height: 46px; font-weight: 600; box-shadow: 0 8px 18px -10px rgba(66, 103, 178, .7); }

/* ---- stat tiles ---- */
#student-modal .sc-kv { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
#student-modal .sc-kv > div {
    border-radius: 16px; padding: 14px 14px 13px;
    background: color-mix(in srgb, var(--t, #888) 9%, #fff);
    border: 1px solid color-mix(in srgb, var(--t, #888) 24%, #fff);
}
#student-modal .sc-kv > div > span { display: flex; align-items: center; gap: 6px; font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: color-mix(in srgb, var(--t, #888) 62%, #3a3a3a); white-space: nowrap; }
#student-modal .sc-kv > div > b { display: block; margin-top: 8px; overflow: visible; text-overflow: clip; white-space: nowrap; font-size: 23px; line-height: 1; font-weight: 700; letter-spacing: -0.02em; color: var(--pl-ink); }
#student-modal .sc-kv > div > b.late { color: #B13A3A; }
#student-modal .sc-kv > div > b.warn { color: #A8741A; }

/* ---- billing ---- */
#student-modal #sm-payment .sc-sublabel {
    display: flex; align-items: baseline; gap: 8px;
    margin: 22px 0 14px; padding-top: 20px; border-top: 1px solid #F0EDE7;
    font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--pl-mute);
}
#student-modal #sm-payment .sc-sublabel i { color: #B6B2A8; font-size: 14px; }
#student-modal #sm-payment .sc-inv-hint { text-transform: none; letter-spacing: 0; font-weight: 500; font-size: 12px; color: #A9A69D; }
#student-modal #sm-payment .sc-hint { margin: 10px 2px 0; font-size: 12.5px; line-height: 1.5; color: var(--pl-mute); }
#student-modal .sc-inv-form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
#student-modal .sc-inv-form .full { grid-column: 1 / -1; }
#student-modal .sc-inv-form .sc-label { margin-bottom: 6px; }
#student-modal .sc-cycle { margin-top: 16px; }
#student-modal .sc-listbox { border: none; background: transparent; padding: 0; box-shadow: none; display: grid; gap: 12px; }
#student-modal .sc-month {
    padding: 16px; border: 1px solid var(--pl-line) !important; border-radius: 16px;
    background: var(--pl-fill);
}
#student-modal .sc-month:first-of-type { padding-top: 16px; }
#student-modal .sc-month-row { grid-template-columns: minmax(0, 1fr) 104px auto; gap: 12px; align-items: center; }
#student-modal .sc-month-row.sub { margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--pl-line-2); }
#student-modal .sc-month-row .sc-input { height: 40px; padding: 0 12px; font-weight: 600; }
#student-modal .sc-month-name { font-size: 14px; font-weight: 700; color: var(--pl-ink); }
#student-modal .sc-month-row.sub .sc-month-name { font-weight: 600; color: var(--pl-ink-2); font-size: 13.5px; }
#student-modal .sc-month-name em {
    display: inline-flex; align-items: center; gap: 5px; margin: 6px 6px 0 0; padding: 2px 10px; border-radius: 999px;
    font-style: normal; font-size: 11.5px; font-weight: 600; background: #EFEDE8; color: #6D6A62;
}
#student-modal .sc-month-name em.good { background: #E4F4EC; color: #1C7A50; }
#student-modal .sc-month-name em.late { background: #FCE9E9; color: #B03A3A; }
#student-modal .sc-month-name em.inv, #student-modal .sc-month-name em.period { background: transparent; padding: 0; color: var(--pl-mute); }
#student-modal .sc-check {
    display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 11px;
    background: #fff; border: 1px solid var(--pl-line-2); font-size: 13px; font-weight: 600; color: var(--pl-ink-2); cursor: pointer;
}
#student-modal .sc-check:has(input:checked) { background: #E4F4EC; border-color: #BFE3D0; color: #1C7A50; }

/* ---- goals / offer notes ---- */
#student-modal .sc-notes-view {
    border: 1px solid var(--pl-line); border-radius: 16px; background: linear-gradient(180deg, #FFFFFF, #FCFBF9);
    padding: 18px 20px; font-size: 14px; line-height: 1.7; color: var(--pl-ink-2);
}
#student-modal .sc-notes-view:hover { border-color: #D6D1C7; box-shadow: 0 8px 22px -16px rgba(24, 20, 10, .3); }
#student-modal .sc-notes-view .sc-notes-h {
    display: inline-flex; align-items: center; gap: 8px; margin: 0 0 8px; padding: 3px 11px; border-radius: 999px;
    background: #F1EFEA; color: #55524B; font-size: 10.5px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase;
}
#student-modal .sc-notes-view p { margin: 0 0 6px; }
#student-modal .sc-notes-view .sc-notes-gap { height: 18px; }

/* ---- production banner + behind cards ---- */
#student-modal .sc-note.sc-prod-banner { border-radius: 20px; box-shadow: var(--pl-shadow); }
#student-modal .sc-prod-chip { border-radius: 999px; background: #fff; }
#student-modal .sc-behind-card { border-radius: 16px; box-shadow: 0 1px 2px rgba(24, 20, 10, .04), 0 8px 20px -14px rgba(24, 20, 10, .3); }
#student-modal .sc-behind-open { border-radius: 999px; font-weight: 600; }

/* ---- composer ---- */
#student-modal #sm-composer {
    padding: 18px; border-radius: 18px; background: var(--pl-fill); border: 1px solid var(--pl-line); margin-bottom: 14px;
}
#student-modal .sc-cm-filter { gap: 4px; margin: 20px 0 14px; padding: 4px; background: #EFEDE8; border-radius: 12px; width: fit-content; }
#student-modal .sc-cm-filter button { padding: 6px 14px; border-radius: 9px; font-size: 13px; font-weight: 600; color: #6D6A62; }
#student-modal .sc-cm-filter button.active { background: #fff; color: var(--pl-ink); box-shadow: 0 1px 3px rgba(24, 20, 10, .12); }

/* ---- activity feed ---- */
#student-modal .sc-feed-item {
    gap: 14px; padding: 18px 20px; margin: 0 0 12px;
    background: var(--pl-card); border: 1px solid var(--pl-line) !important; border-radius: 18px;
    box-shadow: 0 1px 2px rgba(24, 20, 10, .03);
}
#student-modal .sc-feed-item:hover { border-color: var(--pl-line-2) !important; box-shadow: 0 10px 26px -18px rgba(24, 20, 10, .35); }
#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 {
    width: 38px; height: 38px; border-radius: 12px; flex-shrink: 0; font-size: 17px;
    display: flex; align-items: center; justify-content: center;
    background: #F1EFEA; color: #5F5C54;
}
#student-modal .sc-feed-icon.call { background: #EAF1FB; color: #3569B4; }
#student-modal .sc-feed-icon.phase, #student-modal .sc-feed-icon.payment { background: #E4F4EC; color: #1C7A50; }
#student-modal .sc-feed-icon.win { background: #FBF1DC; color: #A8741A; }
#student-modal .sc-feed-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; font-size: 12.5px; color: var(--pl-mute); margin-bottom: 6px; }
#student-modal .sc-feed-meta b { color: var(--pl-ink); font-weight: 700; font-size: 13.5px; }
#student-modal .sc-feed-text { font-size: 14.5px; line-height: 1.65; color: var(--pl-ink-2); }
#student-modal .sc-cm-sect {
    margin-top: 12px; padding: 12px 14px; border-radius: 13px; background: var(--pl-fill); border: 1px solid var(--pl-line);
    border-left: 3px solid #CFCABF; font-size: 14px; line-height: 1.6; color: var(--pl-ink-2);
}
#student-modal .sc-cm-sect > b { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; font-size: 10.5px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--pl-mute); }
#student-modal .sc-cm-sect.block { background: #FEF6F5; border-color: #F6DAD7; border-left-color: #E3958C; }
#student-modal .sc-cm-sect.block > b { color: #B5473F; }
#student-modal .sc-cm-sect.steps { border-left-color: #D9A54A; }
#student-modal .sc-cm-resolve { margin-left: auto; border-radius: 999px; }

/* ---- footer ---- */
#student-modal .modal-footer, #student-modal .sc-modal-foot { background: #fff; border-top: 1px solid var(--pl-line); }

/* production settings line: compact inline form */
#student-modal .sc-settings-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 16px; font-size: 13px; color: var(--pl-mute); }
#student-modal .sc-settings-line .sc-input { height: 36px; padding: 0 10px; font-size: 13.5px; font-weight: 600; width: auto; }
#student-modal .sc-settings-line input[type=number] { width: 60px !important; text-align: center; }

/* billing period rows: name on top, amount + paid below */
#student-modal .sc-month-row { grid-template-columns: minmax(0, 1fr) auto; row-gap: 12px; }
#student-modal .sc-month-row > .sc-month-name { grid-column: 1 / -1; }
#student-modal .sc-month-row > .sc-input { width: 100%; }
#student-modal .sc-month-row > .sc-check, #student-modal .sc-month-row > span, #student-modal .sc-month-row > .sc-share-inv { justify-self: end; }
#student-modal .sc-inv-link { white-space: nowrap; }

/* billing periods: real cards (beats the older flat list rules) */
#student-modal .sc-listbox { background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; }
#student-modal .sc-listbox .sc-month { padding: 16px !important; border: 1px solid var(--pl-line) !important; border-radius: 16px !important; background: var(--pl-fill) !important; }
#student-modal #sm-payment .sc-sublabel { margin: 24px 0 18px; }

/* activity: action buttons float in the corner so the text can use the full width */
#student-modal .sc-feed-item { position: relative; }
#student-modal .sc-feed-item .sc-cm-tools { position: absolute; top: 14px; right: 14px; }
#student-modal .sc-feed-item .sc-feed-meta { padding-right: 76px; }
