/* Koristaja töövaade.
 *
 * Kontekst: trepikoda, telefon ühes käes, kindad, kell tiksub check-in'i
 * poole. Sellest tulevad kolm otsust:
 *   - tume indigo põhi — loeb hämaras trepikojas, ei helgi päikese käes
 *     ja laseb messingkollasel koodil esile tulla;
 *   - IBM Plex Mono numbritele — 0/8 ja 1/7 peavad olema üheselt
 *     eristatavad, kui keerad neid füüsilisele kettale;
 *   - korteri number kaardi juhtelemendina, nagu ukse emailplaat.
 */

/* --- fondid ------------------------------------------------------- */
@font-face {
  font-family: "Plex Sans"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2122;
}
@font-face {
  font-family: "Plex Sans"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/ibm-plex-sans-latin-ext-400-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+1E00-1EFF, U+2020, U+20A0-20AB;
}
@font-face {
  font-family: "Plex Sans"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2122;
}
@font-face {
  font-family: "Plex Sans"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("fonts/ibm-plex-sans-latin-ext-600-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+1E00-1EFF, U+2020, U+20A0-20AB;
}
@font-face {
  font-family: "Plex Mono"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2122;
}
@font-face {
  font-family: "Plex Mono"; font-style: normal; font-weight: 500; font-display: swap;
  src: url("fonts/ibm-plex-mono-latin-ext-500-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+1E00-1EFF, U+2020, U+20A0-20AB;
}
@font-face {
  font-family: "Plex Mono"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/ibm-plex-mono-latin-700-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+2000-206F, U+2122;
}
@font-face {
  font-family: "Plex Mono"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/ibm-plex-mono-latin-ext-700-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+1E00-1EFF, U+2020, U+20A0-20AB;
}

/* --- märgid -------------------------------------------------------- */
:root {
  --enamel: #1a2438;        /* sügav indigo — lehe põhi */
  --enamel-lift: #232f48;   /* kaardid */
  --enamel-deep: #131b2b;   /* päis, süvendid */
  --linen: #f1eee6;         /* voodipesu — põhitekst */
  --steel: #909ebb;         /* teisene tekst, jooned */
  --brass: #e8ac52;         /* kood ja võti — siht */
  --signal: #f2745c;        /* täna saabuv külaline — ajasurve */
  --hairline: rgba(144, 158, 187, .24);
  --tap: 48px;              /* väikseim mugav puutepind */
  color-scheme: dark;
}

* { box-sizing: border-box; }

/* .c-btn on flex — ilma selleta jääks hidden-atribuudiga nupp nähtavaks. */
[hidden] { display: none !important; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--enamel);
  color: var(--linen);
  font-family: "Plex Sans", -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 16px;
  line-height: 1.45;
  padding-bottom: calc(2rem + env(safe-area-inset-bottom));
}

/* --- päis ---------------------------------------------------------- */
.c-head {
  position: sticky; top: 0; z-index: 10;
  /* Kolmas nupp (Vestlused) ei mahu kitsal telefonil marki kõrvale — las
     murdub teisele reale, mitte ei lükka ennast ekraanilt välja. */
  display: flex; align-items: center; justify-content: space-between; gap: .75rem;
  flex-wrap: wrap;
  padding: .85rem 1rem calc(.85rem) 1rem;
  padding-top: calc(.85rem + env(safe-area-inset-top));
  background: var(--enamel-deep);
  border-bottom: 1px solid var(--hairline);
}
.c-head__mark {
  font-family: "Plex Mono", monospace; font-weight: 700; font-size: .82rem;
  letter-spacing: .18em; text-transform: uppercase; color: var(--linen);
  text-decoration: none;
}
.c-head__mark span { color: var(--brass); }
.c-head__side { display: flex; align-items: center; gap: .5rem; }
.c-head__user {
  font-family: "Plex Mono", monospace; font-size: .72rem; letter-spacing: .08em;
  color: var(--steel); text-transform: uppercase;
}
.c-head__link {
  font-family: "Plex Mono", monospace; font-size: .72rem; letter-spacing: .1em;
  text-transform: uppercase; color: var(--linen); text-decoration: none;
  border: 1px solid var(--hairline); border-radius: 2px;
  padding: .4rem .7rem; min-height: 32px; display: inline-flex; align-items: center;
}
.c-head__link:hover { border-color: var(--steel); }

.c-main { max-width: 34rem; margin: 0 auto; padding: 1.25rem 1rem 0; }

/* --- sektsioonid --------------------------------------------------- */
.c-eyebrow {
  display: flex; align-items: baseline; gap: .6rem;
  font-family: "Plex Mono", monospace; font-size: .7rem; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase; color: var(--steel);
  margin: 2rem 0 .7rem;
}
.c-eyebrow:first-child { margin-top: 0; }
.c-eyebrow--brass { color: var(--brass); }
.c-eyebrow--now { color: var(--linen); }
.c-eyebrow--late { color: #9f8ad6; }
/* Kuupäevapäised saavad joone, et päevad oleks visuaalselt eraldi. */
.c-eyebrow--now, .c-eyebrow--late, .c-eyebrow:not(.c-eyebrow--brass) {
  border-top: 1px solid var(--hairline); padding-top: .8rem;
}
.c-eyebrow--brass { border-top: none; padding-top: 0; }
.c-eyebrow__count {
  font-weight: 500; color: var(--steel); letter-spacing: .08em;
}

/* --- töökaart ------------------------------------------------------ */
.c-job {
  display: flex; align-items: stretch; gap: .9rem;
  background: var(--enamel-lift);
  border: 1px solid var(--hairline);
  border-radius: 4px;
  padding: .85rem .9rem;
  margin-bottom: .6rem;
  color: inherit; text-decoration: none;
}
a.c-job:active { background: #2b3855; }
.c-job--wait { border-left: 3px solid var(--brass); }
.c-job--soon { border-left: 3px solid var(--signal); }
.c-job--late { border-left: 3px solid #9f8ad6; }

/* korteri number nagu ukse emailplaat; "krt" silt hoiab ära segaduse
   kuupäevaga, sest mõlemad on kahekohalised numbrid */
.c-job__door {
  display: flex; flex-direction: column; align-items: flex-end;
  font-family: "Plex Mono", monospace; font-weight: 700; font-size: 2.1rem;
  line-height: 1; letter-spacing: -.02em; color: var(--linen);
  min-width: 2.6ch; text-align: right; font-variant-numeric: tabular-nums;
  align-self: center;
}
.c-job__door small {
  font-size: .32em; font-weight: 500; letter-spacing: .18em;
  text-transform: uppercase; color: var(--steel); margin-bottom: .25em;
}
.c-job--done { opacity: .55; }
.c-job--done .c-job__door { font-size: 1.6rem; }
.c-who {
  font-family: "Plex Mono", monospace; font-size: .7rem; letter-spacing: .08em;
  text-transform: uppercase; color: var(--steel); white-space: nowrap;
}
.c-job__body { flex: 1; min-width: 0; align-self: center; }
.c-job__where {
  display: block; font-size: .82rem; color: var(--steel); margin-bottom: .1rem;
}
.c-job__line { display: block; font-size: .92rem; }
.c-job__line b { font-weight: 600; }
.c-job__due { color: var(--signal); font-weight: 600; }
.c-job__code {
  display: block; font-family: "Plex Mono", monospace; color: var(--brass);
  font-size: .92rem; font-variant-numeric: tabular-nums;
}
.c-job__aside { display: flex; align-items: center; }

.c-tag {
  display: inline-block; font-family: "Plex Mono", monospace; font-size: .64rem;
  font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  padding: .18rem .45rem; border-radius: 2px; vertical-align: .12em;
  margin-left: .4rem;
}
.c-tag--late { background: #9f8ad6; color: #14121c; }

/* --- nupud --------------------------------------------------------- */
.c-btn {
  display: flex; align-items: center; justify-content: center;
  width: 100%; min-height: var(--tap); padding: .9rem 1rem;
  border-radius: 3px; border: 1px solid transparent;
  font-family: "Plex Sans", sans-serif; font-size: 1rem; font-weight: 600;
  text-decoration: none; cursor: pointer; text-align: center;
}
.c-btn + .c-btn { margin-top: .55rem; }
.c-btn--primary { background: var(--brass); color: #131b2b; }
.c-btn--primary:active { background: #d69a45; }
.c-btn--quiet {
  background: transparent; color: var(--linen); border-color: var(--hairline);
}
.c-btn--quiet:active { background: var(--enamel-lift); }
.c-btn[disabled] { opacity: .55; }

.c-claim {
  min-height: var(--tap); padding: 0 .95rem; white-space: nowrap;
  background: transparent; color: var(--brass);
  border: 1px solid var(--brass); border-radius: 3px;
  font-family: "Plex Mono", monospace; font-size: .74rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; cursor: pointer;
}
.c-claim:active { background: var(--brass); color: var(--enamel); }
.c-claim[disabled] { opacity: .55; }
.c-claim--mine {
  display: inline-flex; align-items: center; text-decoration: none;
  color: var(--linen); border-color: var(--hairline);
}

/* --- modaal -------------------------------------------------------- */
.c-modal {
  border: 1px solid var(--hairline); border-radius: 6px;
  background: var(--enamel-lift); color: var(--linen);
  padding: 1.3rem; max-width: 20rem; width: calc(100% - 2.5rem);
  margin: auto;
}
.c-modal::backdrop { background: rgba(10, 14, 24, .72); }
.c-modal__title {
  font-family: "Plex Sans", sans-serif; font-size: 1.15rem; font-weight: 600;
  margin: 0 0 .4rem;
}
.c-modal__note { color: var(--steel); font-size: .88rem; margin: 0 0 1.1rem; }

/* --- tühi olek ----------------------------------------------------- */
.c-empty {
  border: 1px dashed var(--hairline); border-radius: 4px;
  padding: 1.1rem; color: var(--steel); font-size: .9rem;
}

/* --- paneel -------------------------------------------------------- */
.c-panel {
  background: var(--enamel-lift); border: 1px solid var(--hairline);
  border-radius: 4px; padding: 1rem; margin-bottom: .8rem;
}
.c-panel__note { color: var(--steel); font-size: .86rem; margin: 0; }

/* --- objektipäis (detailvaade) ------------------------------------- */
.c-object { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.25rem; }
.c-object__door {
  font-family: "Plex Mono", monospace; font-weight: 700; font-size: 3rem;
  line-height: .9; color: var(--linen); font-variant-numeric: tabular-nums;
}
.c-object__meta { font-size: .88rem; color: var(--steel); }
.c-object__meta b { color: var(--linen); font-weight: 600; }
.c-object__due { color: var(--signal); font-weight: 600; }

/* --- pildipesad ---------------------------------------------------- */
.c-slots { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; }
.c-slot {
  aspect-ratio: 1; border-radius: 3px; overflow: hidden;
  background: var(--enamel-deep); border: 1px solid var(--hairline);
  display: flex; align-items: center; justify-content: center;
}
.c-slot--empty { border-style: dashed; }
/* Pilt on ekraanil enne kui server on vastanud — koristaja peab kohe nägema,
   et pilt läks kohale. Kolm olekut, sest trepikojas kaob levi. */
.c-slot--sending { position: relative; }
.c-slot--sending img { opacity: .45; }
.c-slot--sending::after {
  content: "saadan…"; position: absolute; inset: auto 0 0 0;
  font-family: "Plex Mono", monospace; font-size: .62rem; text-align: center;
  padding: .15rem 0; background: rgba(8, 14, 12, .75); color: var(--linen);
}
.c-slot--saved { border-color: var(--brass); }
/* "+" pesa rea lõpus: kolm nõutud pilti on miinimum, mitte maksimum, ja
   ruudustiku ots ei tohi jätta muljet, et rohkem ei mahu. Ise ka puutepind. */
.c-slot--add { cursor: pointer; }
.c-slot--add .c-slot__num { font-size: 1.6rem; opacity: .4; }
.c-slot--add:active { background: var(--enamel-lift); }
.c-slot--failed { border-color: var(--signal); cursor: pointer; position: relative; }
.c-slot--failed img { opacity: .35; }
.c-slot--failed::after {
  content: "proovi uuesti"; position: absolute; inset: auto 0 0 0;
  font-family: "Plex Mono", monospace; font-size: .6rem; text-align: center;
  padding: .15rem 0; background: rgba(8, 14, 12, .8); color: var(--signal);
}
.c-slot img { width: 100%; height: 100%; object-fit: cover; display: block; }
.c-slot__num {
  font-family: "Plex Mono", monospace; font-size: 1.1rem; color: var(--steel);
  opacity: .55;
}
.c-extra { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .5rem; }
.c-extra img {
  width: 56px; height: 56px; object-fit: cover; border-radius: 3px;
  border: 1px solid var(--hairline);
}
.c-count {
  font-family: "Plex Mono", monospace; font-size: .8rem; color: var(--steel);
  margin: .7rem 0 .8rem; font-variant-numeric: tabular-nums;
}
.c-count b { color: var(--brass); }

/* --- kettad (signatuur) -------------------------------------------- */
.c-dial {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem;
  margin: 1.1rem 0 .4rem;
}
.c-wheel {
  position: relative; height: 5.2rem; border-radius: 3px;
  background: var(--enamel-deep); border: 1px solid var(--hairline);
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.c-wheel__digit {
  font-family: "Plex Mono", monospace; font-weight: 700; font-size: 2.5rem;
  color: var(--steel); font-variant-numeric: tabular-nums;
}
/* muutuv ketas: messing, süvend heledam, number rullub kohale */
.c-wheel--live { border-color: var(--brass); background: #1e2a42; }
.c-wheel--live .c-wheel__strip {
  position: absolute; top: 0; left: 0; right: 0;
  display: flex; flex-direction: column; align-items: center;
  transition: transform .9s cubic-bezier(.16, .84, .32, 1);
}
.c-wheel--live .c-wheel__strip span {
  height: 5.2rem; display: flex; align-items: center; justify-content: center;
  font-family: "Plex Mono", monospace; font-weight: 700; font-size: 2.5rem;
  color: var(--brass); font-variant-numeric: tabular-nums;
}
.c-wheel__mark {
  position: absolute; bottom: .3rem; left: 0; right: 0; text-align: center;
  font-family: "Plex Mono", monospace; font-size: .58rem; font-weight: 700;
  letter-spacing: .12em; color: var(--brass);
}
.c-dial__legend {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem;
  font-family: "Plex Mono", monospace; font-size: .62rem; letter-spacing: .1em;
  color: var(--steel); text-align: center; text-transform: uppercase;
}
.c-instruction {
  font-size: 1.02rem; text-align: center; margin: 1.1rem 0 0;
}
.c-instruction b { font-weight: 600; }
.c-instruction .from { font-family: "Plex Mono", monospace; color: var(--steel); }
.c-instruction .to { font-family: "Plex Mono", monospace; color: var(--brass); }
/* Kood loetakse ekraanilt kastile ette, käsi seebine, valgus kehv. Väike
   hall tekst ei kõlba selleks — number peab olema kaugelt loetav. */
.c-current {
  font-family: "Plex Mono", monospace; font-size: .74rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--steel); text-align: center;
  font-variant-numeric: tabular-nums;
}
.c-current b {
  display: block; margin-top: .2rem; font-size: 2.1rem; letter-spacing: .28em;
  color: var(--linen); text-transform: none;
}
.c-codecard {
  display: flex; flex-direction: column; align-items: center; gap: .15rem;
  margin: .9rem 0 .2rem; padding: .7rem .8rem;
  border: 1px solid var(--hairline); border-radius: 3px;
  background: var(--enamel-deep);
}
.c-codecard__label {
  font-family: "Plex Mono", monospace; font-size: .66rem; letter-spacing: .16em;
  text-transform: uppercase; color: var(--steel);
}
.c-codecard__value {
  font-family: "Plex Mono", monospace; font-size: 2.1rem; letter-spacing: .28em;
  color: var(--linen); font-variant-numeric: tabular-nums;
}

/* Link külalise sissesaamise juhendile — koristaja avab uues tabis. */
.c-guidelink {
  display: inline-flex; align-items: center; gap: .3rem;
  margin: .1rem 0 .3rem; color: var(--brass); text-decoration: none;
  font-size: .92rem; font-weight: 600;
}
.c-guidelink:active { opacity: .7; }

.c-job__aside form { margin: 0; }
.c-claim--take {
  margin-top: .3rem; font-size: .68rem; padding: .3rem .55rem;
  min-height: 0; border-color: var(--signal); color: var(--signal);
  background: transparent;
}

/* --- koodivahetuse juhend ------------------------------------------ */
.c-howto {
  background: var(--enamel-lift); border: 1px solid var(--hairline);
  border-radius: 4px; padding: .8rem .9rem; font-size: .92rem;
}
.c-checkoff {
  list-style: none; margin: 0 0 .4rem; padding: 0;
  font-size: .92rem;
}
.c-checkoff li {
  position: relative; padding: .45rem 0 .45rem 1.6rem;
  border-bottom: 1px solid var(--hairline);
}
.c-checkoff li:last-child { border-bottom: none; }
.c-checkoff li::before {
  content: "□"; position: absolute; left: 0; top: .35rem;
  color: var(--brass); font-size: 1.1rem;
}

/* --- login --------------------------------------------------------- */
.c-login { max-width: 22rem; margin: 3.5rem auto 0; padding: 0 1rem; }
.c-login__title {
  font-family: "Plex Mono", monospace; font-weight: 700; font-size: 1.05rem;
  letter-spacing: .2em; text-transform: uppercase; margin: 0 0 .3rem;
}
.c-login__title span { color: var(--brass); }
.c-login__sub { color: var(--steel); font-size: .88rem; margin: 0 0 1.6rem; }
.c-field { margin-bottom: .9rem; }
.c-field label {
  display: block; font-family: "Plex Mono", monospace; font-size: .68rem;
  letter-spacing: .12em; text-transform: uppercase; color: var(--steel);
  margin-bottom: .35rem;
}
.c-field input {
  width: 100%; min-height: var(--tap); padding: .75rem .85rem;
  background: var(--enamel-deep); color: var(--linen);
  border: 1px solid var(--hairline); border-radius: 3px;
  font-family: "Plex Sans", sans-serif; font-size: 1rem;
}
.c-field input:focus { outline: 2px solid var(--brass); outline-offset: 1px; }
.c-error {
  border-left: 3px solid var(--signal); background: rgba(242, 116, 92, .14);
  padding: .6rem .75rem; font-size: .88rem; margin-bottom: 1rem;
}

/* --- ligipääsetavus ------------------------------------------------ */
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 2px solid var(--brass); outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* ---- Toastid ------------------------------------------------------
   Kinnitus, et töö sai salvestatud. Kaovad ise: koristajal on käed
   täis ja sulgemisnuppu ei taba. */
.c-toasts {
  position: fixed; left: 0; right: 0; bottom: 1rem; z-index: 40;
  display: flex; flex-direction: column; gap: .4rem;
  padding: 0 1rem; pointer-events: auto;
  transition: opacity .4s ease, transform .4s ease;
}
.c-toasts.is-gone { opacity: 0; transform: translateY(.6rem); pointer-events: none; }
.c-toast {
  background: var(--enamel-deep); color: var(--linen);
  border: 1px solid var(--hairline); border-left: 3px solid var(--brass);
  border-radius: 4px; padding: .7rem .9rem; font-size: .92rem; line-height: 1.4;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .45);
}
.c-toast--success { border-left-color: #7fc99a; }
.c-toast--error { border-left-color: var(--signal); }

/* ---- Ajad ja kestus töökaardil ------------------------------------ */
.c-times {
  display: flex; flex-wrap: wrap; gap: .1rem .7rem;
  font-size: .78rem; color: var(--steel); margin-top: .15rem;
}
.c-times b { color: var(--linen); font-weight: 600; }
/* Kokkulepitud erand tavaajast — koristaja ei tohi sellest mööda vaadata. */
.c-times .is-deal { color: var(--brass); }
.c-dur { color: var(--steel); font-size: .78rem; }

/* ---- Checklist ----------------------------------------------------
   Üks kerimisnimekiri füüsilises järjekorras. Linnutamine on ühtlasi
   ajamõõt, seega peab see olema üks puude — mitte vorm ega salvestamine. */
.c-list { list-style: none; margin: 0 0 1.2rem; padding: 0; }
.c-task {
  display: flex; align-items: flex-start; gap: .6rem;
  padding: .55rem .2rem; border-bottom: 1px solid var(--hairline);
}
.c-task__tick {
  flex: 0 0 auto; width: 34px; height: 34px; border-radius: 3px;
  border: 1px solid var(--hairline); background: transparent;
  color: transparent; font-size: 1.05rem; line-height: 1; cursor: pointer;
}
.c-task__body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.c-task__title { line-height: 1.35; }
.c-task__hint { font-size: .78rem; color: var(--steel); }
.c-task__freq {
  font-size: .68rem; color: var(--brass); text-transform: uppercase;
  letter-spacing: .06em; margin-top: .1rem;
}
.c-task__skip { display: flex; flex-direction: column; gap: .2rem; }
.c-task__skip button {
  background: transparent; border: 0; color: var(--steel);
  font-size: .7rem; padding: .15rem .2rem; cursor: pointer;
  text-decoration: underline; text-underline-offset: 2px;
}
.c-task--done .c-task__tick { background: #7fc99a; border-color: #7fc99a; color: #131b2b; }
.c-task--done .c-task__title { color: var(--steel); text-decoration: line-through; }
.c-task--not_needed .c-task__tick { border-color: var(--steel); color: var(--steel); }
.c-task--not_needed .c-task__tick::after { content: "–"; }
.c-task--skipped .c-task__tick { border-color: var(--signal); color: var(--signal); }
.c-task--skipped .c-task__tick::after { content: "!"; }
.c-task--not_needed .c-task__title,
.c-task--skipped .c-task__title { color: var(--steel); }
.c-task--busy { opacity: .5; }

/* ---- Alguse vaade -------------------------------------------------- */
.c-lede {
  color: var(--steel); font-size: .87rem; line-height: 1.5;
  margin: 0 0 1rem;
}
.c-lede b { color: var(--linen); font-weight: 600; }
.c-note {
  width: 100%; font: inherit; background: var(--enamel-deep); color: var(--linen);
  border: 1px solid var(--hairline); border-radius: 3px; padding: .6rem .7rem;
  margin-bottom: .6rem; resize: vertical;
}
.c-btn--warn {
  background: transparent; color: var(--signal);
  border: 1px solid var(--signal);
}

/* Sektsioonipäis checklistis — ajamõõtmise ühik, mitte ainult ilu. */
.c-section {
  margin: 1.1rem 0 .2rem; font-size: .7rem; letter-spacing: .1em;
  text-transform: uppercase; color: var(--brass); font-weight: 600;
}
.c-section:first-of-type { margin-top: .4rem; }

/* Keelevalik navis (koristaja võib olla vene- või ingliskeelne). Sama
   messing-mono stiil kui c-head__link, aga kompaktne rippmenüü. */
.c-lang { margin: 0; display: inline-flex; }
.c-lang__select {
  font-family: "Plex Mono", monospace; font-size: .72rem; letter-spacing: .08em;
  text-transform: uppercase; color: var(--linen); background: transparent;
  border: 1px solid var(--hairline); border-radius: 2px;
  padding: .35rem .5rem; min-height: 32px; cursor: pointer;
}
.c-lang__select:hover { border-color: var(--steel); }
.c-lang__select option { color: #102621; }

/* Login-lehe keelevalik: kolm nuppu, sest chrome on seal peidetud. */
.c-lang--login { justify-content: center; gap: .4rem; margin: 1.6rem 0 0; }
.c-lang__opt {
  font-family: "Plex Mono", monospace; font-size: .72rem; letter-spacing: .1em;
  color: var(--steel); background: transparent;
  border: 1px solid var(--hairline); border-radius: 2px;
  padding: .35rem .6rem; cursor: pointer;
}
.c-lang__opt:hover { border-color: var(--steel); color: var(--linen); }
