/* styles/weekset.css -- the Schedule's training week (Schedule updates v1,
   the owner's design package of 3 Nov 2026; screens/weekset.js): the
   Schedule settings sheet (SH3 / SH3b / SH3c) and the + menu (SH4).

   2026-11-07 (the owner's "Schedule screens, 1c look" handoff, FINAL,
   boards 1, 59 and 74): REDRAWN IN THE 1c LOOK -- raised = tap it (the
   chips, the choices, the menu's rows, Your calendars), flat dim = words,
   solid blue = chosen, the bright blue = THE one action (Save). Every
   colour is onec.css's token (`--c1-*`) and every number the boards'
   reference (`reference/01_Main.html`, `59_L6_Tournament_Day_Menu.html`,
   `74_G1_Schedule_Settings.html`) unless a comment says otherwise. WAS
   the You page's fills (`--card-fill`, `--panel`) and blue outlines.
   These sheets' parts are shared with calconn.js and cantrain.js (their
   sheets are built on `swk-sheet`, `swk-head`, `swk-body`, `swk-mcard`,
   `swk-switch`, `swk-foot`). */

/* (2026-11-06, the owner's Schedule list, item 4: SH2's "Your week" card
   under the title is gone -- WAS `button.swk-row`, `.swk-yw`, `.swk-cap`,
   `.swk-items`, `.swk-item`, `.swk-edit`.) */
.swk-tip i { display: inline-flex; flex: none; }

/* ───────────────────────── THE SHEETS: over the calendar, the kernel's
   overlay motion raising them (`sheetwrap` / `sheet`); the sheet's dark,
   28 px corners, its top rule; the grab; the title 24/800 and its line,
   the × a 44 px round at the right. */
.sheetwrap.swk-wrap { background: rgba(2, 3, 5, .72); }
.sheet.swk-sheet { height: auto; max-height: calc(100% - 44px
                     - env(safe-area-inset-top));
  display: flex; flex-direction: column; padding: 0; overflow: hidden;
  background: var(--c1-sheet); border: 0;
  border-top: 1px solid var(--c1-sheet-line);
  border-radius: 28px 28px 0 0;
  box-shadow: 0 -20px 50px rgba(0, 0, 0, .7); color: var(--c1-ink); }
.swk-sheet > .c-grab { flex: none; padding: 10px 0 6px; }
.swk-sheet > .c-grab i { width: 40px; height: 5px; border-radius: 3px;
  background: #3d5170; }
.swk-head { flex: none; display: flex; align-items: flex-start; gap: 10px;
  padding: 6px 12px 0 20px; }
.swk-ht { flex: 1 1 auto; min-width: 0; display: flex;
  flex-direction: column; }
h3.swk-title { margin: 6px 0 0; font-size: 24px; font-weight: 800;
  line-height: 1.2; color: var(--c1-ink); }
.swk-sub { margin-top: 6px; font-size: 14px; line-height: 1.45;
  color: #9aa6b6; }
.swk-head button.c-back.c-close { flex: none; width: 44px; height: 44px;
  padding: 12px; border: 1px solid #2f4262; background: #17233a;
  color: #c3cddb; }

/* The body scrolls under the fixed Save; 16 px gutters, 16 between
   cards (board 74's `.sk`). */
.swk-body { flex: 1 1 auto; min-height: 0; overflow-y: auto;
  -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
  display: flex; flex-direction: column; gap: 16px;
  padding: 16px 16px 24px; }
.swk-body > .addnote, .swk-body > .note { margin: 0; }

/* A card: a group of rows (`--c1-card`, 22 px, no lift -- it is not
   tapped); its head a glyph tile, the title 17/800 and its question
   14 px; its controls under it. */
.swk-card { border-radius: 22px; padding: 14px 12px;
  background: var(--c1-card); border: 1px solid var(--c1-card-line); }
.swk-ch { display: flex; align-items: center; gap: 12px; padding: 0 4px; }
.swk-ic { flex: none; width: 40px; height: 40px; border-radius: 12px;
  background: #172536; display: flex; align-items: center;
  justify-content: center; }
.swk-ic svg { width: 22px; height: 22px; fill: none;
  stroke: var(--c1-icon); stroke-width: 2; stroke-linecap: round;
  stroke-linejoin: round; }
.swk-ct { flex: 1 1 auto; min-width: 0; display: flex;
  flex-direction: column; }
.swk-ct b { font-size: 17px; font-weight: 800; }
.swk-ct span { margin-top: 2px; font-size: 14px; color: #9aa6b6; }
.swk-cc { margin-top: 14px; display: flex; flex-direction: column; gap: 12px; }

/* Seven chips, raised: the letter 16/800, the three letters 12 px;
   ticked, solid blue. */
.swk-days { display: flex; gap: 6px; }
button.swk-day { flex: 1 1 0; min-width: 0; width: auto; height: 58px;
  min-height: 0; margin: 0; padding: 0; border-radius: 14px;
  background: var(--c1-tile); border: 1px solid var(--c1-tile-line);
  box-shadow: var(--c1-tile-lift); color: var(--c1-ink);
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; font: inherit; }
.swk-day b { font-size: 16px; font-weight: 800; line-height: 1.1; }
.swk-day span { margin-top: 2px; font-size: 12px; color: #9aa6b6; }
button.swk-day.on { background: var(--c1-on); border-color: var(--c1-on-line);
  box-shadow: var(--c1-on-lift); color: #ffffff; }
button.swk-day.on span { color: rgba(255, 255, 255, .92); }
button.swk-day:disabled, button.swk-opt:disabled,
button.swk-switch:disabled { opacity: .45; }
button.swk-day:active, button.swk-opt:active, button.swk-mrow:active,
button.swk-cals:active { transform: translateY(2px); box-shadow: none; }

/* A choice, raised: the ring at the left (a white disc with a blue tick
   once chosen), its title 16/800, its line 13.5 px; chosen, solid blue. */
button.swk-opt { display: flex; align-items: center; gap: 12px; width: 100%;
  min-height: 56px; margin: 0; padding: 10px 14px; border-radius: 14px;
  background: var(--c1-tile); border: 1px solid var(--c1-tile-line);
  box-shadow: var(--c1-tile-lift); color: var(--c1-ink); text-align: left;
  font: inherit; }
button.swk-opt.on { background: var(--c1-on); border-color: var(--c1-on-line);
  box-shadow: var(--c1-on-lift); color: #ffffff; }
.swk-ot { flex: 1 1 auto; min-width: 0; display: flex;
  flex-direction: column; }
.swk-ot b { font-size: 16px; font-weight: 800; line-height: 1.25; }
.swk-ot span { margin-top: 2px; font-size: 13.5px; font-weight: 400;
  line-height: 1.35; color: var(--c1-sub); }
.swk-opt.on .swk-ot span { color: rgba(255, 255, 255, .92); }
.swk-opt .ring { flex: none; width: 26px; height: 26px; border-radius: 50%;
  box-sizing: border-box; border: 2px solid #7d93b2; display: flex;
  align-items: center; justify-content: center; }
.swk-opt .ring svg { display: none; width: 14px; height: 14px; fill: none;
  stroke: #1478cc; stroke-width: 3.2; stroke-linecap: round;
  stroke-linejoin: round; }
.swk-opt.on .ring { background: #ffffff; border-color: #ffffff; }
.swk-opt.on .ring svg { display: block; }

/* The switch: 50 x 30, the knob 22; on, the app's blue with a white knob
   (board 74's `.sw`; on a solid-blue tile, a white wash -- board 24). */
button.swk-switch { flex: none; position: relative; width: 50px;
  height: 30px; min-height: 0; margin: 0; padding: 0; box-sizing: border-box;
  border: 1px solid var(--c1-tile-line); border-radius: 15px;
  background: #0b1320; }
button.swk-switch.on { background: #1f61a6; border-color: var(--c1-on-line); }
.swk-switch i { position: absolute; top: 3px; left: 3px; width: 22px;
  height: 22px; border-radius: 50%; background: #6f86a6;
  transition: left .18s ease; }
.swk-switch.on i { left: 23px; background: #ffffff; }

/* Two sessions' soft line, inside its card (a green leaf), and the
   training days' blue one (board 74's `.tip`, `.soft`). */
.swk-tip { display: flex; gap: 8px; align-items: flex-start;
  margin: 12px 4px 0; font-size: 13.5px; line-height: 1.45; color: #9aa6b6; }
.swk-tip i { margin-top: 1px; }
.swk-tip svg { width: 18px; height: 18px; fill: none; stroke: #6fcf97;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.swk-soft { margin: 0 4px; font-size: 13.5px; line-height: 1.45;
  color: var(--c1-icon); }
.swk-note { margin: 0; padding: 0 4px; font-size: 13px; line-height: 1.45;
  color: var(--c1-hint); }

/* Save, THE one bright button: fixed under the body, over a fade the body
   scrolls under; grey until something changes (`.c1-pri[disabled]`'s). */
.swk-foot { flex: none; position: relative;
  padding: 8px 20px calc(24px + env(safe-area-inset-bottom)); }
.swk-foot::before { content: ""; position: absolute; left: 0; right: 0;
  bottom: 100%; height: 32px; pointer-events: none;
  background: linear-gradient(180deg, rgba(12, 20, 32, 0), var(--c1-sheet)); }
.swk-foot > button.swk-save { width: 100%; min-height: 58px; margin: 0;
  border: 0; border-radius: 18px; background: var(--c1-pri);
  box-shadow: var(--c1-pri-lift); color: #ffffff; font-size: 17px;
  font-weight: 800; }
.swk-foot > button.swk-save:disabled { opacity: 1; background: var(--c1-tile);
  box-shadow: none; color: var(--c1-hint); }

/* A group of rows inside a sheet's body (calconn.js, cantrain.js): a card
   of rows under rules. */
.swk-mcard { padding: 4px 16px; border-radius: 22px;
  background: var(--c1-card); border: 1px solid var(--c1-card-line); }

/* ───────────────────────── SH4 · ADD OR CHANGE: three raised rows (board
   1) -- a glyph tile, the title 16/800 and its line, the round chevron.
   On a tournament day (board 59) the lead-in's advice first, then Add a
   match (gold) and Add tennis training, and the hint under them. */
/* 2026-11-05: `.sheet.swk-sheet`'s padding 0 out-ranked this -- the
   menu's last line sat on the home bar */
.sheet.swk-sheet.swk-menu {
  padding-bottom: calc(28px + env(safe-area-inset-bottom)); }
.swk-mlist { margin: 18px 16px 0; display: flex; flex-direction: column;
  gap: 10px; }
.swk-adv + .swk-mlist { margin-top: 14px; }
button.swk-mrow { display: flex; align-items: center; gap: 12px;
  width: 100%; min-height: 56px; margin: 0; padding: 10px 14px;
  border-radius: 14px; background: var(--c1-tile);
  border: 1px solid var(--c1-tile-line); box-shadow: var(--c1-tile-lift);
  color: var(--c1-ink); text-align: left; font: inherit; }
.swk-mi { flex: none; width: 40px; height: 40px; border-radius: 12px;
  background: rgba(140, 196, 245, .14); display: flex; align-items: center;
  justify-content: center; color: var(--c1-icon); }
.swk-mi svg { width: 21px; height: 21px; fill: none; stroke: currentColor;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
/* Gold is competition only. */
.swk-mi.gold { color: var(--c1-gold); background: rgba(232, 184, 75, .16); }
/* (2026-11-07, Schedule 1c board 1: WAS can't train's warm red here --
   NOW its glyph is the plain blue one, as the board draws it.) */
.swk-mi.warm { color: var(--c1-icon); }
.swk-mt { flex: 1 1 auto; min-width: 0; display: flex;
  flex-direction: column; }
.swk-mt b { font-size: 16px; font-weight: 800; line-height: 1.25; }
.swk-mt span { margin-top: 2px; font-size: 13.5px; line-height: 1.35;
  color: var(--c1-sub); }
.swk-go { flex: none; display: inline-flex; align-items: center;
  justify-content: center; width: 30px; height: 30px; border-radius: 50%;
  background: var(--c1-go); }
.swk-go svg { width: 14px; height: 14px; fill: none; stroke: #e1e8f2;
  stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.swk-mhint { margin: 12px 20px 0; font-size: 13px; line-height: 1.45;
  color: var(--c1-hint); }
/* The lead-in's advice (leadin.js `linAdviceNode`), as board 59 draws it:
   a flat card, the gold caps line, the server's words. */
.swk-adv { margin: 12px 16px 0; }
.swk-adv .lin-adv { margin: 0; padding: 12px 14px; border-radius: 16px;
  background: var(--c1-card); border: 1px solid var(--c1-card-line); }
.swk-adv .lin-eye { margin: 0; font-size: 12px; font-weight: 800;
  letter-spacing: .12em; text-transform: uppercase; color: var(--c1-gold); }
.swk-adv .lin-say { margin: 4px 0 0; font-size: 14px; line-height: 1.45;
  color: #dbe6f4; }

/* ───────────────────────── PC7 · YOUR CALENDARS: the sheet's first row,
   raised (one door) -- the glyph tile, the title and the calendars'
   names, at the right "✓ 1 connected ›" in the soft blue (board 74; WAS
   green), or "Connect ›". */
button.swk-cals { flex: none; display: flex; align-items: center; gap: 12px;
  width: 100%; min-height: 68px; margin: 0; padding: 12px 14px;
  border-radius: 18px; background: var(--c1-tile);
  border: 1px solid var(--c1-tile-line); box-shadow: var(--c1-tile-lift);
  color: var(--c1-ink); text-align: left; font: inherit; }
.swk-cals .swk-ct b { font-size: 16px; }
.swk-calsr { flex: none; display: inline-flex; align-items: center; gap: 4px;
  font-size: 14px; font-weight: 800; color: var(--c1-icon);
  white-space: nowrap; }
.swk-calsr svg { width: 18px; height: 18px; fill: none; stroke: currentColor;
  stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
