/* Teacher Remarks entry — admin (Examinations) and Teacher App. Inherits each host's theme variables. */
.csh-trm{ --trm-card:var(--card,#121B30); --trm-line:var(--line,#24314C); --trm-text:var(--text,#E8EDF9); --trm-mute:var(--slate,#92A3C4); --trm-acc:var(--brass,#4C8DFF); --trm-bg:var(--bg,var(--paper,#0A1220)); color:var(--trm-text); }
.csh-trm, .csh-trm *{ font-family:'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif !important; box-sizing:border-box; }
.csh-trm-back{ background:none; border:none; color:var(--trm-mute); font-weight:700; font-size:13px; cursor:pointer; padding:0 0 10px; }
.csh-trm-head h3{ margin:0 0 4px; font-size:17px; font-weight:800; color:var(--trm-text); }
.csh-trm-head p{ margin:0 0 14px; font-size:12.5px; color:var(--trm-mute); font-weight:500; line-height:1.55; max-width:820px; }
.csh-trm-head p b{ color:var(--trm-text); }
.csh-trm-pick{ display:grid; grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)); gap:10px 12px; margin-bottom:14px; max-width:1000px; }
.csh-trm-fld{ display:flex; flex-direction:column; gap:5px; min-width:0; }
.csh-trm-fld > span{ font-size:10.5px; text-transform:uppercase; letter-spacing:.07em; color:var(--trm-mute); font-weight:700; }
.csh-trm select{ width:100%; max-width:none !important; min-height:38px; padding:8px 10px; border-radius:8px; border:1px solid var(--trm-line); background:var(--trm-card); color:var(--trm-text); font-size:13.5px; font-weight:700; box-shadow:none; }
.csh-trm-msg{ padding:28px 16px; text-align:center; border:1px dashed var(--trm-line); border-radius:12px; color:var(--trm-mute); font-size:13px; font-weight:600; background:var(--trm-card); }
.csh-trm-msg.bad{ color:var(--danger,#E5637A); border-color:var(--danger,#E5637A); }
.csh-trm-bar{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; background:var(--trm-card); border:1px solid var(--trm-line); border-radius:12px; padding:10px 12px; margin-bottom:10px; position:sticky; top:32px; z-index:5; }
.csh-trm-bar.bottom{ position:static; margin:10px 0 0; justify-content:space-between; }
.csh-trm-prog{ flex:1; min-width:180px; }
.csh-trm-prog b{ font-size:12.5px; font-weight:800; }
.csh-trm-meter{ height:5px; background:var(--trm-line); border-radius:3px; margin-top:5px; overflow:hidden; }
.csh-trm-meter i{ display:block; height:100%; background:var(--ok,#3FB68B); border-radius:3px; transition:width .25s; }
.csh-trm-note{ font-size:11.5px; color:var(--trm-mute); font-weight:500; }
.csh-trm-btn{ font-size:13px; font-weight:700; border-radius:8px; padding:9px 14px; cursor:pointer; border:1px solid var(--trm-line); background:transparent; color:var(--trm-text); white-space:nowrap; }
.csh-trm-btn.primary{ background:var(--trm-acc); border-color:var(--trm-acc); color:#fff; }
.csh-trm-btn:disabled{ opacity:.5; cursor:default; }
.csh-trm-list{ display:grid; grid-template-columns:repeat(auto-fill, minmax(380px, 1fr)); gap:10px; }
@media (max-width:640px){ .csh-trm-list{ grid-template-columns:1fr; } .csh-trm-bar{ position:static; } .csh-trm-bar .csh-trm-btn{ flex:1; } }
.csh-trm-row{ background:var(--trm-card); border:1px solid var(--trm-line); border-left:3px solid var(--trm-line); border-radius:10px; padding:10px 12px; display:flex; flex-direction:column; gap:8px; }
.csh-trm-row.dirty{ border-left-color:var(--warn,#E8B84B); }
.csh-trm-row .who{ display:flex; align-items:center; gap:10px; }
.csh-trm-row .who em{ font-style:normal; min-width:30px; height:30px; padding:0 6px; border-radius:8px; background:var(--trm-bg); border:1px solid var(--trm-line); display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; color:var(--trm-acc); }
.csh-trm-row .who > div{ flex:1; min-width:0; }
.csh-trm-row .who b{ display:block; font-size:13.5px; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.csh-trm-row .who small{ display:block; font-size:11.5px; color:var(--trm-mute); font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.csh-trm-row .res{ display:flex; align-items:center; gap:5px; font-size:12px; font-weight:800; white-space:nowrap; }
.csh-trm-row .res i{ font-style:normal; font-size:11px; padding:2px 7px; border-radius:6px; background:rgba(76,141,255,.16); color:var(--trm-acc); }
.csh-trm-row .res.none{ color:var(--trm-mute); font-weight:600; font-size:11px; }
.csh-trm-row textarea{ width:100%; resize:vertical; min-height:54px; padding:8px 10px; border-radius:8px; border:1px solid var(--trm-line); background:var(--trm-bg); color:var(--trm-text); font-size:13.5px; font-weight:500; line-height:1.45; }
.csh-trm-row textarea:focus{ outline:none; border-color:var(--trm-acc); }
.csh-trm-row textarea::placeholder{ color:var(--trm-mute); opacity:.75; font-style:italic; }
.csh-trm-row .foot{ display:flex; align-items:center; gap:8px; }
.csh-trm-row .chips{ display:flex; gap:4px; flex-wrap:wrap; flex:1; }
.csh-trm-row .chips button{ font-size:10.5px; font-weight:800; padding:3px 8px; border-radius:20px; border:1px solid var(--trm-line); background:transparent; color:var(--trm-mute); cursor:pointer; }
.csh-trm-row .chips button:hover{ color:var(--trm-text); border-color:var(--trm-acc); }
.csh-trm-row .state{ font-size:11px; font-weight:700; color:var(--ok,#3FB68B); white-space:nowrap; }
.csh-trm-row.dirty .state{ color:var(--warn,#E8B84B); }
.csh-trm-row .len{ font-size:10.5px; color:var(--trm-mute); font-weight:600; white-space:nowrap; }
.csh-trm-bulk{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin:-2px 0 10px; font-size:12px; font-weight:700; color:var(--trm-mute); }
.csh-trm-bulk select{ width:auto !important; min-height:34px; }
.csh-trm-row .acts{ display:flex; flex-direction:column; gap:5px; border-top:1px dashed var(--trm-line); padding-top:8px; }
.csh-trm-row .act{ display:flex; align-items:center; gap:8px; }
.csh-trm-row .act > span{ flex:0 0 96px; font-size:12px; font-weight:700; color:var(--trm-text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.csh-trm-row .act .lv{ flex:1; min-width:0; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:3px; }
.csh-trm-row .act .lv button{ min-width:0; overflow:hidden; text-overflow:ellipsis; font-size:10.5px; font-weight:700; padding:5px 2px; border-radius:6px; border:1px solid var(--trm-line); background:transparent; color:var(--trm-mute); cursor:pointer; white-space:nowrap; }
.csh-trm-row .act .lv button:hover{ border-color:var(--trm-acc); color:var(--trm-text); }
.csh-trm-row .act .lv button.on{ background:var(--trm-acc); border-color:var(--trm-acc); color:#fff; }
.csh-trm-row .act .lv button.on[data-lv="needs"]{ background:var(--danger,#E5637A); border-color:var(--danger,#E5637A); }
.csh-trm-row .act .lv button.on[data-lv="fair"]{ background:var(--warn,#E8B84B); border-color:var(--warn,#E8B84B); color:#1d2433; }
.csh-trm-row .act .lv button.on[data-lv="excellent"]{ background:var(--ok,#3FB68B); border-color:var(--ok,#3FB68B); }
@media (max-width:640px){ .csh-trm-row .act > span{ flex-basis:78px; font-size:11.5px; } .csh-trm-row .act .lv button{ font-size:9.5px; padding:6px 1px; } }
/* Admin: manage activities */
.csh-trm-actbar{ margin:-4px 0 14px; }
.csh-trm-acts-panel{ margin-top:10px; border:1px solid var(--trm-line); border-left:3px solid var(--trm-acc); border-radius:10px; padding:12px 14px; background:var(--trm-card); display:flex; flex-direction:column; gap:10px; max-width:640px; }
.csh-trm-acts-panel[hidden]{ display:none; }
.csh-trm-acts-panel .chk{ display:flex; gap:8px; align-items:center; font-size:12.5px; font-weight:700; cursor:pointer; }
.csh-trm-acts-panel .chk input{ width:16px; height:16px; accent-color:var(--trm-acc); margin:0; }
.csh-trm-acts-panel .list{ display:flex; flex-direction:column; gap:6px; }
.csh-trm-acts-panel .it{ display:flex; align-items:center; gap:8px; border:1px solid var(--trm-line); border-radius:8px; padding:6px 6px 6px 9px; font-size:13px; font-weight:700; background:var(--trm-bg); }
.csh-trm-acts-panel .it em{ font-style:normal; width:20px; height:20px; border-radius:5px; background:var(--trm-card); color:var(--trm-acc); font-size:10.5px; display:flex; align-items:center; justify-content:center; }
.csh-trm-acts-panel .it button{ margin-left:auto; width:26px; height:26px; border-radius:6px; border:1px solid var(--trm-line); background:transparent; color:var(--trm-mute); cursor:pointer; padding:0; }
.csh-trm-acts-panel .it button + button{ margin-left:0; }
.csh-trm-acts-panel .it button.del{ color:var(--danger,#E5637A); }
.csh-trm-acts-panel .it button:disabled{ opacity:.3; }
.csh-trm-acts-panel .add{ display:flex; gap:8px; }
.csh-trm-acts-panel .add input{ flex:1; min-height:36px; padding:7px 10px; border-radius:8px; border:1px solid var(--trm-line); background:var(--trm-bg); color:var(--trm-text); }
.csh-trm-acts-panel small{ font-size:11.5px; color:var(--trm-mute); font-weight:500; }
