/*
 * Roote console (super admin).
 *
 * The console is Roote's own room, not a school's, so it wears Roote's
 * back-office material (Brand-Assets/DESIGN.md): the night ground of the
 * Roote website with its two route glows, surfaces of faint glass, Sora
 * headings, a white pill for the primary action, and the blue-to-green
 * route only as a line (the current-page marker, figure ticks, bars). It
 * has a daylight twin: paper and navy ink. Night is the default; the choice
 * is kept under "console-theme", apart from the schools' own "theme".
 *
 * The page markup keeps the shared components (panel, table, badge, btn,
 * input); this file re-tokens them inside body.console and adds the shell.
 */

@font-face { font-family: "Sora"; font-weight: 600; font-display: swap; src: url("../fonts/sora-600.woff2") format("woff2"); }
@font-face { font-family: "Sora"; font-weight: 700; font-display: swap; src: url("../fonts/sora-700.woff2") format("woff2"); }

/* ---- Daylight ---- */
body.console {
  --c-bg: #F3F6FA;
  --c-bg-2: #E9EEF5;
  --c-glass: rgba(2, 34, 68, 0.035);
  --c-glass-2: rgba(2, 34, 68, 0.065);
  --c-card: #FFFFFF;
  --c-hair: rgba(2, 34, 68, 0.1);
  --c-hair-2: rgba(2, 34, 68, 0.18);
  --c-ink: #021C2D;
  --c-soft: #41566B;
  --c-faint: #627689;
  --c-link: #0156BE;
  --c-solid: #021C2D;
  --c-solid-ink: #FFFFFF;
  --c-solid-hover: #0A3157;
  --c-rail: rgba(255, 255, 255, 0.78);
  --c-bar: rgba(243, 246, 250, 0.82);
  --c-glow-a: rgba(1, 102, 223, 0.10);
  --c-glow-b: rgba(33, 185, 118, 0.08);
  --c-shadow: 0 1px 2px rgba(2, 28, 45, 0.05), 0 1.5rem 3rem -2rem rgba(2, 28, 45, 0.28);
  --c-route: linear-gradient(90deg, #0166DF, #21B976);
  --c-display: "Sora", "Plus Jakarta Sans", system-ui, sans-serif;
  --c-ease: cubic-bezier(0.23, 1, 0.32, 1);
  --c-rail-w: 16.5rem;

  /* The shared components read these. */
  --ground: var(--c-bg);
  --ground-2: var(--c-bg-2);
  --surface: var(--c-card);
  --surface-2: var(--c-glass);
  --ink: var(--c-ink);
  --ink-2: var(--c-soft);
  --ink-3: var(--c-faint);
  --line: var(--c-hair);
  --line-strong: var(--c-hair-2);
  --school-brand: #0A3157;
  --school-accent: #21B976;
  --brand: #0166DF;
  --brand-ink: #0156BE;
  --brand-tint: rgba(1, 102, 223, 0.08);
  --brand-tint-2: rgba(1, 102, 223, 0.14);
  --on-brand: #FFFFFF;
  --pos: #0C7A5B; --warn: #9A6700; --neg: #B4321F; --info: #0156BE;
  background: var(--c-bg);
  color: var(--c-ink);
}

/* ---- Night: the ground of roote.co.tz ---- */
:root[data-theme="dark"] body.console {
  --c-bg: #030E18;
  --c-bg-2: #071827;
  --c-glass: rgba(255, 255, 255, 0.035);
  --c-glass-2: rgba(255, 255, 255, 0.07);
  --c-card: rgba(255, 255, 255, 0.04);
  --c-hair: rgba(255, 255, 255, 0.09);
  --c-hair-2: rgba(255, 255, 255, 0.17);
  --c-ink: #EDF4FA;
  --c-soft: #A3B6C8;
  --c-faint: #7C93A9;
  --c-link: #6FB1FF;
  --c-solid: #FFFFFF;
  --c-solid-ink: #030E18;
  --c-solid-hover: #E3EEF9;
  --c-rail: rgba(5, 18, 30, 0.72);
  --c-bar: rgba(3, 14, 24, 0.66);
  --c-glow-a: rgba(1, 102, 223, 0.20);
  --c-glow-b: rgba(33, 185, 118, 0.13);
  --c-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 1.5rem 3rem -2rem rgba(0, 0, 0, 0.7);
  --brand: #6FB1FF;
  --brand-ink: #6FB1FF;
  --brand-tint: rgba(111, 177, 255, 0.1);
  --brand-tint-2: rgba(111, 177, 255, 0.16);
  --on-brand: #030E18;
  --pos: #5FE0A6; --warn: #F2B94B; --neg: #FF7A6B; --info: #6FB1FF;
  --pos-bg: rgba(95, 224, 166, 0.1); --warn-bg: rgba(242, 185, 75, 0.1); --neg-bg: rgba(255, 122, 107, 0.1); --info-bg: rgba(111, 177, 255, 0.1);
  --pos-line: rgba(95, 224, 166, 0.3); --warn-line: rgba(242, 185, 75, 0.3); --neg-line: rgba(255, 122, 107, 0.3); --info-line: rgba(111, 177, 255, 0.3);
}

/* The two route glows behind everything, fixed so they do not scroll away. */
body.console::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(48rem 30rem at 12% -8%, var(--c-glow-a), transparent 70%),
    radial-gradient(40rem 28rem at 105% 18%, var(--c-glow-b), transparent 70%),
    var(--c-bg);
}

/* ---- Shell: a glass rail on the left, the work on the right ---- */
.c-shell { display: grid; grid-template-columns: var(--c-rail-w) minmax(0, 1fr); min-height: 100dvh; }
.c-rail {
  position: sticky; top: 0; height: 100dvh; overflow-y: auto;
  display: flex; flex-direction: column; gap: 1.25rem;
  padding: 1.25rem 0.875rem 1rem;
  background: var(--c-rail);
  border-right: 1px solid var(--c-hair);
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  scrollbar-width: thin;
}
.c-brand { display: flex; align-items: center; gap: 0.75rem; padding: 0.25rem 0.5rem; color: var(--c-ink); text-decoration: none; }
.c-brand img { width: 2.1rem; height: auto; }
.c-brand b { font-family: var(--c-display); font-size: 1.02rem; letter-spacing: -0.02em; display: block; line-height: 1.15; }
.c-brand small { display: block; color: var(--c-faint); font-size: 0.75rem; letter-spacing: 0; }

.c-nav { display: grid; gap: 1.1rem; }
.c-nav-group { display: grid; gap: 0.15rem; }
.c-nav-label { padding: 0 0.75rem 0.35rem; color: var(--c-faint); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.01em; }
.c-nav a {
  position: relative; display: flex; align-items: center; gap: 0.7rem;
  padding: 0.55rem 0.75rem; border-radius: 0.75rem;
  color: var(--c-soft); font-size: 0.9rem; font-weight: 500; text-decoration: none;
  transition: background-color 160ms var(--c-ease), color 160ms var(--c-ease);
}
.c-nav a .i { width: 1.15rem; height: 1.15rem; flex: none; opacity: 0.85; }
.c-nav a .c-count { margin-left: auto; min-width: 1.4rem; padding: 0 0.4rem; border-radius: 999px; background: var(--c-glass-2); color: var(--c-ink); font-size: 0.72rem; font-weight: 700; text-align: center; line-height: 1.35rem; }
.c-nav a .c-count.is-warn { background: var(--warn-bg, rgba(242, 185, 75, 0.12)); color: var(--warn); }
@media (hover: hover) and (pointer: fine) { .c-nav a:hover { background: var(--c-glass); color: var(--c-ink); } }
.c-nav a[aria-current="page"] { background: var(--c-glass-2); color: var(--c-ink); font-weight: 600; }
/* The route as the current-page marker: a short line that draws itself. */
.c-nav a[aria-current="page"]::before {
  content: ""; position: absolute; left: -0.875rem; top: 22%; bottom: 22%; width: 3px; border-radius: 0 3px 3px 0;
  background: linear-gradient(180deg, #0166DF, #21B976);
  animation: c-draw-y 0.6s var(--c-ease) both;
}
@keyframes c-draw-y { from { transform: scaleY(0); } to { transform: scaleY(1); } }

.c-rail-foot { margin-top: auto; display: grid; gap: 0.5rem; padding-top: 0.75rem; border-top: 1px solid var(--c-hair); }
.c-me { display: flex; align-items: center; gap: 0.65rem; padding: 0.35rem 0.5rem; }
.c-avatar { display: grid; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: 999px; background: var(--c-solid); color: var(--c-solid-ink); font-weight: 700; font-size: 0.78rem; flex: none; }
.c-me b { display: block; font-size: 0.86rem; line-height: 1.2; }
.c-me small { display: block; color: var(--c-faint); font-size: 0.74rem; }
.c-rail-actions { display: flex; gap: 0.4rem; }
.c-rail-actions > * { flex: 1; }

/* ---- Top bar ---- */
.c-main { min-width: 0; display: flex; flex-direction: column; }
.c-top {
  position: sticky; top: 0; z-index: 20;
  display: flex; align-items: center; gap: 0.75rem;
  padding: 0.75rem clamp(1rem, 2.2vw, 2.25rem);
  background: var(--c-bar);
  border-bottom: 1px solid var(--c-hair);
  backdrop-filter: blur(16px) saturate(1.2);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
}
.c-crumbs { display: flex; align-items: center; gap: 0.5rem; min-width: 0; color: var(--c-faint); font-size: 0.86rem; }
.c-crumbs b { color: var(--c-ink); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.c-crumbs a { color: var(--c-faint); text-decoration: none; }
.c-search { position: relative; margin-left: auto; width: min(22rem, 34vw); }
.c-search .i { position: absolute; left: 0.85rem; top: 50%; transform: translateY(-50%); width: 1rem; height: 1rem; color: var(--c-faint); pointer-events: none; }
.c-search input {
  width: 100%; height: 2.4rem; padding: 0 0.9rem 0 2.4rem; border-radius: 999px;
  border: 1px solid var(--c-hair); background: var(--c-glass); color: var(--c-ink); font: inherit; font-size: 0.88rem;
  transition: border-color 160ms var(--c-ease), background-color 160ms var(--c-ease);
}
.c-search input::placeholder { color: var(--c-faint); }
.c-search input:focus { outline: none; border-color: var(--c-link); background: var(--c-card); box-shadow: 0 0 0 3px var(--brand-tint-2); }
.c-menu-btn { display: none; }

.c-content { width: 100%; max-width: 92rem; margin: 0 auto; padding: clamp(1.25rem, 2.4vw, 2.5rem) clamp(1rem, 2.4vw, 2.5rem) 4rem; }

/* ---- Type ---- */
body.console .page-title, body.console h1 { font-family: var(--c-display); letter-spacing: -0.035em; line-height: 1.05; font-weight: 700; }
body.console .page-title { font-size: clamp(1.75rem, 1.2rem + 1.4vw, 2.6rem); }
body.console .page-sub { color: var(--c-soft); max-width: 46rem; }
body.console .panel-title, body.console h2 { font-family: var(--c-display); letter-spacing: -0.02em; font-weight: 600; }
body.console .c-content a:not(.btn):not(.c-figure):not(.c-chips a) { color: var(--c-link); }
body.console .c-nav a, body.console .c-brand, body.console a.c-figure { color: inherit; }
body.console .c-nav a { color: var(--c-soft); }
body.console .c-nav a[aria-current="page"] { color: var(--c-ink); }
body.console .faint, body.console .muted { color: var(--c-faint); }

/* ---- Material for the shared components ---- */
body.console .panel {
  background: var(--c-card);
  border: 1px solid var(--c-hair);
  border-radius: 1.25rem;
  box-shadow: var(--c-shadow);
}
:root[data-theme="dark"] body.console .panel { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
body.console .panel-head { border-bottom-color: var(--c-hair); }
body.console .table th { color: var(--c-faint); font-weight: 600; font-size: 0.78rem; letter-spacing: 0.01em; background: transparent; }
body.console .table td, body.console .table th { border-color: var(--c-hair); }
@media (hover: hover) and (pointer: fine) { body.console .table tbody tr:hover td { background: var(--c-glass); } }
body.console .input, body.console .select, body.console textarea.input { background: var(--c-glass); border-color: var(--c-hair-2); color: var(--c-ink); }
body.console .input:focus, body.console .select:focus { border-color: var(--c-link); box-shadow: 0 0 0 3px var(--brand-tint-2); }
body.console .select option { background: var(--c-bg-2); color: var(--c-ink); }

/* Buttons are pills; the primary is solid ink by day, white by night, and carries its arrow in a circle. */
body.console .btn { border-radius: 999px; border-color: var(--c-hair-2); background: var(--c-glass); color: var(--c-ink); transition: transform 140ms var(--c-ease), background-color 160ms var(--c-ease); }
body.console .btn:active { transform: scale(0.97); }
@media (hover: hover) and (pointer: fine) { body.console .btn:hover { background: var(--c-glass-2); } }
body.console .btn-primary { background: var(--c-solid); color: var(--c-solid-ink); border-color: transparent; font-weight: 700; }
@media (hover: hover) and (pointer: fine) { body.console .btn-primary:hover { background: var(--c-solid-hover); } }
body.console .btn-ghost { background: transparent; border-color: transparent; }
.c-arrow { display: inline-grid; place-items: center; width: 1.6rem; height: 1.6rem; margin: -0.2rem -0.55rem -0.2rem 0.15rem; border-radius: 999px; background: var(--c-solid-ink); color: var(--c-solid); }
.c-arrow .i { width: 0.85rem; height: 0.85rem; }

body.console .badge { border-radius: 999px; background: var(--c-glass-2); color: var(--c-soft); border: 1px solid var(--c-hair); }
body.console .badge-pos { background: var(--pos-bg); color: var(--pos); border-color: var(--pos-line, transparent); }
body.console .badge-warn { background: var(--warn-bg); color: var(--warn); border-color: var(--warn-line, transparent); }
body.console .badge-neg { background: var(--neg-bg); color: var(--neg); border-color: var(--neg-line, transparent); }
body.console .tabs a[aria-current="page"] { color: var(--c-ink); border-color: var(--c-ink); }
body.console code, body.console .mono { color: var(--c-soft); }

/* ---- Console pieces ---- */
/* A greeting band: big tight heading, the date, and the route drawing under it. */
.c-hero { display: grid; gap: 0.6rem; margin-bottom: 1.75rem; }
.c-hero h1 { font-size: clamp(2rem, 1.3rem + 2vw, 3.4rem); margin: 0; }
.c-hero p { color: var(--c-soft); margin: 0; max-width: 44rem; }
.c-route { display: block; height: 2px; width: min(18rem, 60%); border-radius: 2px; background: var(--c-route); transform-origin: left; animation: c-draw-x 1.1s var(--c-ease) 0.15s both; }
@keyframes c-draw-x { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* Figures: tiles of different widths, each with a short route tick over the number. */
.c-figures { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.c-figure { grid-column: span 3; position: relative; padding: 1.15rem 1.25rem 1.2rem; border-radius: 1.25rem; background: var(--c-card); border: 1px solid var(--c-hair); box-shadow: var(--c-shadow); display: grid; gap: 0.35rem; align-content: start; color: inherit; text-decoration: none; }
.c-figure.is-wide { grid-column: span 6; }
.c-figure .c-label { color: var(--c-soft); font-size: 0.84rem; font-weight: 500; }
.c-figure .c-value { font-family: var(--c-display); font-size: clamp(1.9rem, 1.4rem + 1.2vw, 2.7rem); font-weight: 700; letter-spacing: -0.04em; line-height: 1; font-variant-numeric: tabular-nums; }
.c-figure .c-value small { font-size: 0.45em; letter-spacing: 0; color: var(--c-faint); font-weight: 600; margin-left: 0.25rem; }
.c-figure .c-note { color: var(--c-faint); font-size: 0.8rem; }
.c-figure::before { content: ""; position: absolute; left: 1.25rem; top: 0; width: 2.25rem; height: 2px; background: var(--c-route); border-radius: 0 0 2px 2px; }
@media (hover: hover) and (pointer: fine) { a.c-figure { transition: transform 200ms var(--c-ease), border-color 200ms var(--c-ease); } a.c-figure:hover { transform: translateY(-2px); border-color: var(--c-hair-2); } }

/* A stacked bar for the mix of licences, with its legend. */
.c-mix { display: flex; height: 0.6rem; border-radius: 999px; overflow: hidden; background: var(--c-glass-2); margin-top: 0.4rem; }
.c-mix > span { display: block; height: 100%; }
.c-legend { display: flex; flex-wrap: wrap; gap: 0.3rem 1rem; margin-top: 0.5rem; color: var(--c-soft); font-size: 0.78rem; }
.c-legend i { display: inline-block; width: 0.55rem; height: 0.55rem; border-radius: 2px; margin-right: 0.35rem; vertical-align: 0.05em; }
.c-tone-1 { background: #21B976; } .c-tone-2 { background: #0166DF; } .c-tone-3 { background: #6FB1FF; } .c-tone-4 { background: #F2B94B; } .c-tone-5 { background: #FF7A6B; } .c-tone-6 { background: var(--c-hair-2); }

/* Work areas below the figures: a wide column and a narrow one. */
.c-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 1rem; align-items: start; }
.c-stack { display: grid; gap: 1rem; align-content: start; }
.c-list { list-style: none; margin: 0; padding: 0; }
.c-list li { display: flex; align-items: center; gap: 0.85rem; padding: 0.8rem 1.25rem; border-top: 1px solid var(--c-hair); }
.c-list li:first-child { border-top: 0; }
.c-list .c-dot { width: 0.5rem; height: 0.5rem; border-radius: 999px; flex: none; background: var(--c-hair-2); }
.c-list .c-dot.is-neg { background: var(--neg); } .c-list .c-dot.is-warn { background: var(--warn); } .c-list .c-dot.is-pos { background: var(--pos); } .c-list .c-dot.is-info { background: var(--info); }
.c-list .c-main-txt { min-width: 0; flex: 1; }
.c-list .c-main-txt b { display: block; font-weight: 600; }
.c-list .c-main-txt span { display: block; color: var(--c-faint); font-size: 0.8rem; }
.c-list .c-side { color: var(--c-faint); font-size: 0.8rem; white-space: nowrap; text-align: right; }
.c-empty { padding: 1.5rem 1.25rem; color: var(--c-faint); }

/* A score ring for health. */
.c-ring { --v: 0; width: 5.5rem; height: 5.5rem; border-radius: 999px; display: grid; place-items: center; flex: none;
  background: conic-gradient(from -90deg, #0166DF, #21B976 calc(var(--v) * 1%), var(--c-glass-2) 0); }
.c-ring b { display: grid; place-items: center; width: 4.4rem; height: 4.4rem; border-radius: 999px; background: var(--c-bg); font-family: var(--c-display); font-size: 1.35rem; letter-spacing: -0.03em; }
:root[data-theme="dark"] .c-ring b { background: #071827; }

/* Filter chips for directories. */
.c-chips { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1rem; }
.c-chips a { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.4rem 0.85rem; border-radius: 999px; border: 1px solid var(--c-hair); background: var(--c-glass); color: var(--c-soft); font-size: 0.84rem; font-weight: 500; text-decoration: none; }
.c-chips a b { color: var(--c-ink); font-weight: 700; }
.c-chips a[aria-current="true"] { background: var(--c-solid); color: var(--c-solid-ink); border-color: transparent; }
.c-chips a[aria-current="true"] b { color: inherit; }

/* A small monogram tile for a customer. */
.c-mono { display: inline-grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: 0.7rem; flex: none; color: #fff; font-weight: 700; font-size: 0.8rem; letter-spacing: 0.02em; }

/* Arrivals pull into focus once. */
@media (prefers-reduced-motion: no-preference) {
  .c-rise { animation: c-rise 0.8s var(--c-ease) both; }
  .c-rise:nth-child(2) { animation-delay: 60ms; } .c-rise:nth-child(3) { animation-delay: 120ms; } .c-rise:nth-child(4) { animation-delay: 180ms; } .c-rise:nth-child(5) { animation-delay: 240ms; } .c-rise:nth-child(6) { animation-delay: 300ms; }
}
@keyframes c-rise { from { opacity: 0; transform: translateY(26px); filter: blur(10px); } to { opacity: 1; transform: none; filter: none; } }
@media (prefers-reduced-motion: reduce) { .c-route, .c-nav a[aria-current="page"]::before { animation: none; } }

/* ---- Smaller screens: the rail becomes a drawer ---- */
@media (max-width: 64rem) {
  .c-figure { grid-column: span 6; }
  .c-figure.is-wide { grid-column: span 12; }
  .c-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 56rem) {
  .c-shell { grid-template-columns: minmax(0, 1fr); }
  .c-rail { position: fixed; z-index: 60; left: 0; top: 0; bottom: 0; width: min(18rem, 86vw); transform: translateX(-102%); transition: transform 320ms cubic-bezier(0.32, 0.72, 0, 1); background: var(--c-bg-2); }
  .c-shell.is-open .c-rail { transform: none; box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.45); }
  .c-menu-btn { display: inline-flex; }
  .c-search { width: auto; flex: 1; }
}
@media (max-width: 40rem) {
  .c-figure { grid-column: span 6; padding: 1rem; }
  .c-figure.is-wide, .c-figure.is-ring, .c-figure.is-wide-sm { grid-column: span 12; }
  .c-figure .c-value { font-size: 1.75rem; }
  .c-crumbs { display: none; }
}

/* ---- Shared page pieces in the console ---- */
/* Sentence-case labels only (house rule: no all-capitals). */
body.console .plan-meta dt, body.console .sub-head, body.console .plan-h, body.console .gate-h { text-transform: none; letter-spacing: 0; font-size: 0.8rem; font-weight: 500; color: var(--c-faint); }
body.console .plan-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.85rem 1.25rem; }
body.console .plan-meta dd { margin: 0.15rem 0 0; font-weight: 600; }

/* Panels flow down columns, so short and tall ones sit together without gaps. */
body.console .console-grid { display: block; columns: 3 21rem; column-gap: 1rem; }
body.console .console-grid > * { break-inside: avoid; margin: 0 0 1rem; display: block; width: 100%; }

/* Figure tiles on every page match the overview. */
body.console .kpis { gap: 1rem; }
body.console .panel.kpi { position: relative; padding: 1.15rem 1.25rem; }
body.console .panel.kpi::before { content: ""; position: absolute; left: 1.25rem; top: 0; width: 2.25rem; height: 2px; background: var(--c-route); border-radius: 0 0 2px 2px; }
body.console .panel.kpi .figure-label { color: var(--c-soft); font-size: 0.84rem; }
body.console .panel.kpi .figure { font-family: var(--c-display); letter-spacing: -0.04em; font-weight: 700; }

/* A form that opens in place: its toggle reads as a quiet pill button. */
body.console details > summary { list-style: none; cursor: pointer; }
body.console details > summary::-webkit-details-marker { display: none; }
body.console details.panel-body > summary { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.45rem 0.95rem; border-radius: 999px; border: 1px solid var(--c-hair-2); background: var(--c-glass); font-size: 0.86rem; }
body.console details.panel-body > summary::before { content: "+"; font-weight: 700; color: var(--c-link); }
body.console details.panel-body[open] > summary { margin-bottom: 1rem; }
body.console details.panel-body[open] > summary::before { content: "−"; }
body.console .btn-danger { background: var(--neg-bg); color: var(--neg); border-color: var(--neg-line); }
