/* SKGA_JOURNAL_GROUP_MATRIX_5396177 — group-grade grid */
.jgm177{display:grid;gap:16px;min-width:0}
.jgm177-top h2{margin:12px 0 5px;font-size:clamp(22px,2.5vw,29px)}
.jgm177-top p{margin:4px 0 0}
.jgm177-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px;align-items:end;padding:16px}
.jgm177-filters label{font-weight:700;font-size:12px;display:grid;gap:7px;min-width:0}
.jgm177-filters select,.jgm177-editor select,.jgm177-editor textarea{width:100%;box-sizing:border-box;min-width:0;min-height:40px;border-radius:9px;padding:8px 10px;border:1px solid var(--border,#c9d0d9);background:var(--card,#fff);color:inherit;font:inherit}
.jgm177-filters>button{min-height:40px;white-space:nowrap}
.jgm177-body{min-width:0}
.jgm177-toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:0 0 10px}
.jgm177-toolbar strong{display:block;font-size:16px}.jgm177-toolbar small{display:block;margin-top:4px;color:var(--muted,#78838f)}
.jgm177-scroll{max-width:100%;width:100%;overflow:auto;max-height:min(72vh,840px);padding:0!important;border:1px solid var(--border,#d7dbe3);position:relative;scrollbar-gutter:stable}
.jgm177-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%;font-size:12px}
.jgm177-table th,.jgm177-table td{border-right:1px solid var(--border,#e0e4e9);border-bottom:1px solid var(--border,#e0e4e9);padding:4px;text-align:center;height:43px;min-width:73px;box-sizing:border-box}
.jgm177-table thead th{background:var(--card,#fff);position:sticky;top:0;z-index:2;padding:8px 4px;height:48px;white-space:nowrap;font-weight:750}
.jgm177-table thead small{display:block;color:var(--muted,#758296);font-weight:500;font-size:10px}
.jgm177-table .jgm177-sticky{position:sticky;left:0;z-index:3;min-width:240px;max-width:240px;text-align:left;white-space:normal;padding:8px 10px;background:var(--card,#fff);font-size:12px;line-height:1.3;box-shadow:2px 0 0 var(--border,#dee2e6)}
.jgm177-table thead .jgm177-sticky{z-index:4}
.jgm177-table tbody tr:nth-child(even)>th,.jgm177-table tbody tr:nth-child(even)>td{background:color-mix(in srgb,var(--card,#fff) 93%,#7489a0)}
.jgm177-table .jgm177-cell{font:inherit;font-weight:800;display:block;border:1px solid transparent;border-radius:7px;width:100%;min-width:48px;height:32px;color:inherit;background:transparent;cursor:pointer}
.jgm177-table .jgm177-cell:hover,.jgm177-table .jgm177-cell:focus-visible{border-color:#ad5656;outline:2px solid rgba(173,86,86,.17);outline-offset:0}
.jgm177-cell.bad,.jgm177-cell.absent{background:rgba(202,64,64,.14);color:#b72a2a}
.jgm177-cell.excused{background:rgba(218,154,39,.17);color:#a76a10}
.jgm177-cell.graded{background:rgba(50,142,101,.12);color:#167347}
.jgm177-cell.present{color:#5f7182}
.jgm177-legend{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted,#7a8796);font-size:11px;margin-top:10px}
.jgm177-dot{width:10px;height:10px;display:inline-block;border-radius:50%;vertical-align:middle;margin-right:4px}
.jgm177-dot.absence{background:#b72a2a}.jgm177-dot.excused{background:#d89b2b}
.jgm177-empty{text-align:center;color:var(--muted,#748395);padding:30px 15px}
.jgm177-scrim{position:fixed;inset:0;background:rgba(8,12,18,.52);z-index:100050;display:flex;align-items:center;justify-content:center;padding:16px}
.jgm177-editor{width:min(100%,440px);max-height:95vh;overflow-y:auto;border-radius:16px;border:1px solid var(--border,#cfd5dc);background:var(--card,#fff);color:inherit;padding:20px;display:grid;gap:14px;box-shadow:0 15px 60px rgba(0,0,0,.3)}
.jgm177-editor-title{display:flex;align-items:start;justify-content:space-between;gap:12px}
.jgm177-editor-title h3{margin:0 0 5px;font-size:18px}
.jgm177-editor-title small{color:var(--muted,#77818c)}
.jgm177-editor>label{display:grid;gap:6px;font-size:12px;font-weight:700}
.jgm177-editor textarea{min-height:70px;resize:vertical}
.jgm177-editor-actions{display:flex;justify-content:flex-end;gap:8px}
.jgm177-edit-status{min-height:16px;font-size:12px;color:var(--muted,#788493)}
.jgm177-edit-status[data-kind=error]{color:#d34242}
html[data-theme=dark] .jgm177-filters select,html[data-theme=dark] .jgm177-editor select,html[data-theme=dark] .jgm177-editor textarea{background:#252930;border-color:#424751}
html[data-theme=dark] .jgm177-cell.absent,html[data-theme=dark] .jgm177-cell.bad{color:#ffaaaa}
html[data-theme=dark] .jgm177-cell.excused{color:#ffd185}
html[data-theme=dark] .jgm177-cell.graded{color:#86d5aa}
html[data-theme=dark] .jgm177-cell.present{color:#b4c2d2}
@media(max-width:780px){.jgm177-filters{grid-template-columns:1fr 1fr}.jgm177-filters>button{grid-column:1/-1}.jgm177-table .jgm177-sticky{min-width:180px;max-width:180px}}
@media(max-width:480px){.jgm177-filters{grid-template-columns:1fr}.jgm177-filters>button{grid-column:auto}.jgm177-table .jgm177-sticky{min-width:154px;max-width:154px;font-size:11px}.jgm177-table th,.jgm177-table td{min-width:68px}.jgm177-editor{padding:14px}}

.jgm177-warning{margin:0;color:var(--muted,#69788a);font-size:11px;line-height:1.4}


/* 5396178: compact editor; explicit colors because Portfolio2 does not set --card in dark mode. */
.jgm177-scrim {background:rgba(7,10,15,.55);}
.jgm177-editor {
  width:min(440px,calc(100vw - 24px)); max-height:min(90vh,760px); overflow:auto;
  grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;
  background:#fff; color:#1f2937; border-color:#d6dce4;
  color-scheme:light; padding:18px;
}
.jgm177-editor-title,.jgm177-editor .jgm177-comment-field,.jgm177-editor .jgm177-warning,
.jgm177-editor .jgm177-edit-status,.jgm177-editor .jgm177-editor-actions{grid-column:1/-1;}
.jgm177-editor-title h3{color:#1f2937;line-height:1.3;}
.jgm177-editor-title small{color:#64748b;line-height:1.4;}
.jgm177-editor>label{color:#334155;min-width:0;}
.jgm177-editor select,.jgm177-editor textarea{background:#fff;color:#1f2937;border:1px solid #cbd5e1;min-height:40px;}
.jgm177-editor textarea#jgm177Comment {
  display:block!important; width:100%; height:78px!important; min-height:78px!important;
  max-height:150px; resize:vertical; padding:9px 11px; line-height:1.45;
  white-space:pre-wrap; overflow:auto; box-shadow:none;
}
.jgm177-editor textarea#jgm177Comment::placeholder{color:#94a3b8;}
.jgm177-editor .jgm177-warning,.jgm177-editor .jgm177-edit-status{color:#64748b;}
html[data-theme="dark"] .jgm177-editor {
  background:#1b1e23!important; color:#f4f5f7!important;
  border-color:#3b414a!important; color-scheme:dark;
  box-shadow:0 22px 65px rgba(0,0,0,.58);
}
html[data-theme="dark"] .jgm177-editor-title h3,
html[data-theme="dark"] .jgm177-editor>label{color:#f4f5f7!important;}
html[data-theme="dark"] .jgm177-editor-title small,
html[data-theme="dark"] .jgm177-editor .jgm177-warning,
html[data-theme="dark"] .jgm177-editor .jgm177-edit-status{color:#aeb8c5!important;}
html[data-theme="dark"] .jgm177-editor select,
html[data-theme="dark"] .jgm177-editor textarea#jgm177Comment{
  background:#121519!important; color:#f4f5f7!important; border-color:#414853!important;
}
html[data-theme="dark"] .jgm177-editor textarea#jgm177Comment::placeholder{color:#858f9e!important;}
@media(max-width:480px){
  .jgm177-editor{grid-template-columns:1fr;padding:14px;}
  .jgm177-editor>label{grid-column:1/-1;}
  .jgm177-scrim{align-items:center;padding:12px;}
}


/* Portfolio2 5396179: readable semester matrix in both themes.
   Explicit backgrounds override the ambiguous --card token and global table striping. */
.jgm177-table {
  font-size:13px;
  font-variant-numeric:tabular-nums;
  color:#273444;
}
.jgm177-table th, .jgm177-table td {
  height:43px;
  min-width:78px;
  border-color:#e0e6ee;
  background:#fff;
}
.jgm177-table tbody tr:nth-child(even)>th,
.jgm177-table tbody tr:nth-child(even)>td {background:#f2f5f9;}
.jgm177-table thead th {
  background:#eaf0f6;
  color:#273444;
  font-size:12px;
  border-bottom:2px solid #bbc8d6;
}
.jgm177-table thead small {color:#556879;font-size:11px;}
.jgm177-table .jgm177-sticky {background:#fff;color:#273444;min-width:250px;max-width:250px;}
.jgm177-table tbody tr:nth-child(even)>.jgm177-sticky {background:#f2f5f9;}
.jgm177-table thead .jgm177-sticky {background:#eaf0f6;}
.jgm177-table tbody tr:hover>td,
.jgm177-table tbody tr:hover>th.jgm177-sticky {background:#e4eef8;}
.jgm177-table .jgm177-cell {min-height:34px;font-weight:750;font-size:13px;color:#4b5b6b;}
.jgm177-table .jgm177-cell:hover,
.jgm177-table .jgm177-cell:focus-visible {background:#d9e8f8;outline:2px solid #a55a57;}
.jgm177-table .jgm179-new-day {border-left:2px solid #99a9bd;}
.jgm177-scroll {border-color:#cbd5e1;scrollbar-color:#8a95a4 transparent;}
html[data-theme="dark"] .jgm177-table {color:#e2e8f1;}
html[data-theme="dark"] .jgm177-table th,
html[data-theme="dark"] .jgm177-table td {
  background:#1b2027!important;
  color:#e2e8f1;
  border-color:#37414c;
}
html[data-theme="dark"] .jgm177-table tbody tr:nth-child(even)>th,
html[data-theme="dark"] .jgm177-table tbody tr:nth-child(even)>td {background:#252b34!important;}
html[data-theme="dark"] .jgm177-table thead th,
html[data-theme="dark"] .jgm177-table thead .jgm177-sticky {
  background:#29313c!important;
  color:#f1f5f9!important;
  border-bottom-color:#536071;
}
html[data-theme="dark"] .jgm177-table thead small {color:#b1becf!important;}
html[data-theme="dark"] .jgm177-table tbody tr:hover>td,
html[data-theme="dark"] .jgm177-table tbody tr:hover>th.jgm177-sticky {background:#303b49!important;}
html[data-theme="dark"] .jgm177-table .jgm179-new-day {border-left:2px solid #71829a!important;}
html[data-theme="dark"] .jgm177-table .jgm177-sticky {box-shadow:2px 0 0 #586676;}
html[data-theme="dark"] .jgm177-table .jgm177-cell {color:#dbe5f2;}
html[data-theme="dark"] .jgm177-table .jgm177-cell.empty {color:#97a5b5;}
html[data-theme="dark"] .jgm177-table .jgm177-cell:hover,
html[data-theme="dark"] .jgm177-table .jgm177-cell:focus-visible {
  background:#39485b;
  border-color:#93a8bf;
  outline:2px solid #93a8bf;
}
html[data-theme="dark"] .jgm177-scroll {border-color:#3c4653;scrollbar-color:#586675 #181c22;}
@media(max-width:780px){
  .jgm177-table .jgm177-sticky {min-width:185px;max-width:185px;}
  .jgm177-table th,.jgm177-table td {min-width:72px;}
}
@media(max-width:480px){
  .jgm177-table .jgm177-sticky {min-width:155px;max-width:155px;font-size:11px;}
  .jgm177-table th,.jgm177-table td {min-width:69px;}
}


/* Portfolio2 5396180: in-cell editing, blank value = present (UI default). */
.jgm180-toolbar-right{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
#jgm180Status{font-size:12px;color:var(--muted,#8795a6);max-width:440px;line-height:1.35}
#jgm180Status[data-kind=error]{color:#e66a6a}
#jgm180Status[data-kind=ok]{color:#61ba8b}
.jgm177-table .jgm177-cell.empty,.jgm177-table .jgm177-cell.present{color:transparent}
.jgm177-table .jgm177-cell.empty:hover,.jgm177-table .jgm177-cell.present:hover{background:rgba(93,142,196,.12)}
.jgm180-inline{display:flex;align-items:center;gap:2px;min-width:60px;width:100%;height:34px}
.jgm180-input{box-sizing:border-box;width:100%;min-width:27px;flex:1;height:32px;padding:2px 3px;text-align:center;font-weight:800;font-size:14px;border-radius:6px;border:2px solid #347fb5;background:#fff;color:#142437;outline:0}
.jgm180-input:focus{box-shadow:0 0 0 2px rgba(49,128,191,.25)}
.jgm180-input.jgm180-invalid{border-color:#dc4343;box-shadow:0 0 0 2px rgba(220,67,67,.17)}
.jgm180-more{flex:0 0 23px;height:29px;padding:0;border:1px solid #8d9aab;border-radius:6px;color:#334155;background:#e9eff5;cursor:pointer;font-weight:800}
.jgm180-more:hover{background:#dbe7f2}
html[data-theme="dark"] .jgm180-input{background:#101822;color:#f5f8fb;border-color:#78a8d6}
html[data-theme="dark"] .jgm180-input.jgm180-invalid{border-color:#ff8585}
html[data-theme="dark"] .jgm180-more{background:#344052;color:#eef4fb;border-color:#63758b}
html[data-theme="dark"] .jgm180-more:hover{background:#43536a}
@media(max-width:780px){.jgm180-toolbar-right{justify-content:flex-start}.jgm180-more{flex-basis:21px}}
