/* ==========================================================================
   OEdu console — the Indian school's section as the roster (india.js).
   Drawn from the console's own tokens, so light and dark come for free.
   ========================================================================== */

body.is-console .en-years { margin: 0 0 14px; }
body.is-console .en-pick { display: grid; gap: 2px; max-height: 340px; overflow: auto; border: .5px solid var(--cx-sep); border-radius: 10px; padding: 6px; background: var(--cx-bg); }
body.is-console .en-pickrow { display: flex; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 7px; font-size: 13.5px; color: var(--cx-label); cursor: pointer; }
body.is-console .en-pickrow:hover { background: var(--cx-fill); }
body.is-console .en-pickrow input { width: 16px; height: 16px; accent-color: var(--cx-accent); margin: 0; }

/* The class register (register.js) */
body.is-console .rg-head { margin: 0 0 10px; font-size: 17px; font-weight: 600; letter-spacing: -.01em; color: var(--cx-label); }
body.is-console .rg-head small { display: block; margin-top: 3px; font-size: 12.5px; font-weight: 400; color: var(--cx-label-2); letter-spacing: 0; }
body.is-console .rg-nav { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0 0 12px; }
body.is-console .rg-total { margin-left: auto; font-size: 12.5px; color: var(--cx-label-2); font-variant-numeric: tabular-nums; }
body.is-console .rg-banner { margin: 0 0 12px; padding: 9px 12px; border-radius: 9px; background: var(--cx-fill); color: var(--cx-label); font-size: 13px; line-height: 1.45; }
body.is-console .rg-list { display: grid; border: .5px solid var(--cx-sep); border-radius: 10px; overflow: hidden; background: var(--cx-bg); }
body.is-console .rg-row { display: grid; grid-template-columns: 34px minmax(130px, 1.2fr) auto minmax(120px, .9fr); align-items: center; gap: 10px; padding: 7px 12px; border-bottom: .5px solid var(--cx-sep); }
body.is-console .rg-row:last-child { border-bottom: 0; }
body.is-console .rg-roll { font-size: 12.5px; color: var(--cx-label-2); font-variant-numeric: tabular-nums; text-align: right; }
body.is-console .rg-name { font-size: 14px; font-weight: 500; color: var(--cx-label); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.is-console .rg-marks { display: inline-flex; gap: 4px; }
body.is-console .rg-mk { min-width: 34px; height: 30px; padding: 0 8px; border-radius: 8px; border: .5px solid var(--cx-sep); background: var(--cx-bg); color: var(--cx-label-2); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
body.is-console .rg-mk:hover { background: var(--cx-fill); }
body.is-console .rg-mk:focus-visible { outline: 2px solid var(--cx-accent); outline-offset: 2px; }
body.is-console .rg-mk.on.rg-green { background: var(--cx-green); border-color: var(--cx-green); color: #fff; }
body.is-console .rg-mk.on.rg-red { background: var(--cx-red); border-color: var(--cx-red); color: #fff; }
body.is-console .rg-mk.on.rg-orange { background: var(--cx-orange); border-color: var(--cx-orange); color: #fff; }
body.is-console .rg-mk.on.rg-muted { background: var(--cx-label-2); border-color: var(--cx-label-2); color: #fff; }
body.is-console .rg-reason { min-width: 0; width: 100%; height: 28px; font-size: 12.5px; }
body.is-console .rg-force { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; font-size: 13px; color: var(--cx-label); }
body.is-console .rg-bar { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; }
body.is-console .rg-card { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 14px 16px; margin: 0 0 14px; border: .5px solid var(--cx-sep); border-radius: 12px; background: var(--cx-bg); }
body.is-console .rg-card > div { flex: 1; min-width: 160px; }
body.is-console .rg-card b { font-size: 17px; letter-spacing: -.01em; }
body.is-console .rg-sub { margin: 0 0 28px; }

/* Competencies and the progress card (hpc.js) */
body.is-console .hp-bar { display: inline-block; width: 90px; height: 6px; border-radius: 3px; background: var(--cx-fill); vertical-align: middle; overflow: hidden; margin-right: 6px; }
body.is-console .hp-bar i { display: block; height: 100%; background: var(--cx-green); }
body.is-console .hp-grid { overflow: auto; max-height: 56vh; border: .5px solid var(--cx-sep); border-radius: 10px; background: var(--cx-bg); }
body.is-console .hp-t { border-collapse: collapse; width: 100%; font-size: 13px; }
body.is-console .hp-t th { position: sticky; top: 0; background: var(--cx-fill); font-weight: 600; font-size: 11.5px; color: var(--cx-label-2); padding: 8px 6px; text-align: center; min-width: 110px; vertical-align: bottom; }
body.is-console .hp-t th:first-child, body.is-console .hp-t td:first-child { text-align: left; min-width: 150px; position: sticky; left: 0; background: var(--cx-bg); }
body.is-console .hp-t th:first-child { background: var(--cx-fill); z-index: 2; }
body.is-console .hp-t td { padding: 5px 6px; border-top: .5px solid var(--cx-sep); text-align: center; }
body.is-console .hp-n small { color: var(--cx-label-2); margin-right: 4px; }
body.is-console .hp-sel { height: 28px; width: 56px; border-radius: 7px; border: .5px solid var(--cx-sep); background: var(--cx-bg); color: var(--cx-label); font: inherit; font-size: 13px; }
body.is-console .hp-sum td { font-weight: 600; background: var(--cx-fill); }

/* The exam cycle (exams.js) */
body.is-console .ex-bands { display: grid; gap: 6px; margin: 0 0 10px; }
body.is-console .ex-band { display: grid; grid-template-columns: 90px 1fr 90px 34px; gap: 8px; align-items: center; }
body.is-console .ex-band input { height: 30px; padding: 0 9px; border-radius: 8px; border: .5px solid var(--cx-sep); background: var(--cx-bg); color: var(--cx-label); font: inherit; font-size: 13px; min-width: 0; }
body.is-console .ex-sheet { border: .5px solid var(--cx-sep); border-radius: 10px; overflow: hidden; background: var(--cx-bg); margin: 0 0 12px; }
body.is-console .ex-row { display: grid; grid-template-columns: 34px minmax(120px, 1.4fr) repeat(var(--n, 2), minmax(64px, .7fr)) 36px 62px 56px; align-items: center; gap: 8px; padding: 6px 12px; border-bottom: .5px solid var(--cx-sep); font-size: 13.5px; }
body.is-console .ex-row:last-child { border-bottom: 0; }
body.is-console .ex-head { font-size: 11.5px; font-weight: 600; letter-spacing: .02em; color: var(--cx-label-2); background: var(--cx-fill); }
body.is-console .ex-c { text-align: center; font-variant-numeric: tabular-nums; }
body.is-console .ex-in { width: 100%; height: 30px; padding: 0 6px; text-align: center; border-radius: 8px; border: .5px solid var(--cx-sep); background: var(--cx-bg); color: var(--cx-label); font: inherit; font-size: 13.5px; font-variant-numeric: tabular-nums; }
body.is-console .ex-in:focus { outline: none; box-shadow: 0 0 0 3px var(--cx-accent-soft); }
body.is-console .ex-in:disabled { background: var(--cx-fill); color: var(--cx-label-2); }
body.is-console .ex-t { font-weight: 600; color: var(--cx-label); }
body.is-console .ex-g { font-weight: 600; color: var(--cx-label); }
body.is-console .ex-bad { color: var(--cx-red); }
body.is-console .ex-fail { color: var(--cx-red); }
body.is-console .ex-acts { margin: 14px 0 0; }
body.is-console .ex-card { border: .5px solid var(--cx-sep); border-radius: 12px; padding: 12px 14px; margin: 0 0 12px; background: var(--cx-bg); }
body.is-console .ex-card-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin: 0 0 8px; font-size: 14.5px; }
body.is-console .ex-lines { display: grid; grid-template-columns: minmax(120px, 1.4fr) 90px 60px 90px; gap: 3px 10px; font-size: 13px; color: var(--cx-label); margin: 0 0 10px; }
body.is-console .ex-lines span:nth-child(4n) { color: var(--cx-label-2); font-size: 12px; }
body.is-console .ex-card-f { display: grid; grid-template-columns: 1fr 180px; gap: 8px; margin: 0 0 8px; }
body.is-console .ex-remark { height: 30px; padding: 0 10px; border-radius: 8px; border: .5px solid var(--cx-sep); background: var(--cx-bg); color: var(--cx-label); font: inherit; font-size: 13px; min-width: 0; }
body.is-console .ex-cos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; }
body.is-console .ex-cosel { min-width: 0; width: 100%; font-size: 12.5px; }
