/* ============================================================
   Slog TERMINAL — konzola (v75)
   ------------------------------------------------------------
   Temno najprej: fosforna zelena na skoraj črnem, jantarna za drugo
   serijo, rahle vrstice zaslona in sij. Svetla različica je "izpis"
   (črno črnilo na sivkastem papirju, polni črni okvirji). Povsod Martian
   Mono, robovi 0, okviri 1 px, brez senc; kljukice so [ ] / [x],
   razdelki imajo naslov v zgornjem robu okvirja, vrh je ukazna vrstica.

   PRAVILA kot pri papir.css: vse pod [data-skin="terminal"], selektor
   zrcali osnovnega (+1 specifičnost), paleta enkrat kot --tm-* in nato
   preslikana na žetone aplikacije IN instrument plošče.
   ============================================================ */

@font-face {
  font-family: 'Martian Mono';
  src: url('../../fonts/martian-latin.woff2') format('woff2');
  font-weight: 300 750; font-stretch: 75% 100%; font-style: normal; font-display: swap;
  unicode-range: U+0020-007E, U+00A0-00FF, U+2013-2026, U+20AC, U+2190-2192, U+2212;
}
@font-face {
  font-family: 'Martian Mono';
  src: url('../../fonts/martian-ext.woff2') format('woff2');
  font-weight: 300 750; font-stretch: 75% 100%; font-style: normal; font-display: swap;
  unicode-range: U+0106-0107, U+010C-010D, U+0110-0111, U+0160-0161, U+017D-017E;
}

/* ---------- Paleta: izpis (svetlo) ---------- */
:root[data-skin="terminal"] {
  --tm-bg: #f4f3ec;      --tm-bg2: #ebeae1;
  --tm-surface: #fbfaf5; --tm-surface2: #efeee6;
  --tm-text: #121411;    --tm-text2: #3e4239;   --tm-muted: #767a6e;
  --tm-rule: #c9c9bd;    --tm-rule2: #121411;
  --tm-accent: #0b7a3b;  --tm-accent2: #12a352; --tm-accentink: #f4f3ec;
  --tm-good: #0b7a3b;    --tm-warn: #9a5a00;    --tm-flame: #b54708; --tm-chrome: #9a5a00;
  --tm-danger: #b42318;
  --tm-h0: #e3e2d8; --tm-h1: #b7dcc2; --tm-h2: #6fbf8a; --tm-h3: #0b7a3b; --tm-h4: #054a23;
  --tm-gold: #b8860b;
  --tm-wk1: #0b7a3b; --tm-wk2: #0a5f8a; --tm-wk3: #9a5a00;
  --tm-wk4: #a3245e; --tm-wk5: #6a3fb0; --tm-wk6: #8a6d00;
  --tm-seg: #dcdbd0;
  --tm-glow: none;
  --tm-glow-box: none;
  --tm-scan: none;
}

/* ---------- Paleta: konzola (temno) ---------- */
:root[data-skin="terminal"][data-theme="dark"] {
  --tm-bg: #0b0e0b;      --tm-bg2: #080a08;
  --tm-surface: #0f130f; --tm-surface2: #141a14;
  --tm-text: #d4e7cf;    --tm-text2: #93ab8d;   --tm-muted: #5f735b;
  --tm-rule: #1e2a1e;    --tm-rule2: #33473a;
  --tm-accent: #4ff08b;  --tm-accent2: #9dffbf; --tm-accentink: #04140a;
  --tm-good: #4ff08b;    --tm-warn: #ffb547;    --tm-flame: #ff8a3d; --tm-chrome: #ffb547;
  --tm-danger: #ff5e5e;
  --tm-h0: #121912; --tm-h1: #1f4a2c; --tm-h2: #2f8a4c; --tm-h3: #45d07a; --tm-h4: #b6ffd0;
  --tm-gold: #ffd166;
  --tm-wk1: #4ff08b; --tm-wk2: #5ac8ff; --tm-wk3: #ffb547;
  --tm-wk4: #ff7ab8; --tm-wk5: #c99bff; --tm-wk6: #ffd166;
  --tm-seg: #18221a;
  --tm-glow: 0 0 7px color-mix(in srgb, #4ff08b 55%, transparent);
  --tm-glow-box: 0 0 14px color-mix(in srgb, #4ff08b 30%, transparent);
  --tm-scan: repeating-linear-gradient(0deg, rgba(0,0,0,.22) 0 1px, transparent 1px 3px);
}
@media (prefers-color-scheme: dark) {
  :root[data-skin="terminal"][data-theme="auto"] {
    --tm-bg: #0b0e0b;      --tm-bg2: #080a08;
    --tm-surface: #0f130f; --tm-surface2: #141a14;
    --tm-text: #d4e7cf;    --tm-text2: #93ab8d;   --tm-muted: #5f735b;
    --tm-rule: #1e2a1e;    --tm-rule2: #33473a;
    --tm-accent: #4ff08b;  --tm-accent2: #9dffbf; --tm-accentink: #04140a;
    --tm-good: #4ff08b;    --tm-warn: #ffb547;    --tm-flame: #ff8a3d; --tm-chrome: #ffb547;
    --tm-danger: #ff5e5e;
    --tm-h0: #121912; --tm-h1: #1f4a2c; --tm-h2: #2f8a4c; --tm-h3: #45d07a; --tm-h4: #b6ffd0;
    --tm-gold: #ffd166;
    --tm-wk1: #4ff08b; --tm-wk2: #5ac8ff; --tm-wk3: #ffb547;
    --tm-wk4: #ff7ab8; --tm-wk5: #c99bff; --tm-wk6: #ffd166;
    --tm-seg: #18221a;
    --tm-glow: 0 0 7px color-mix(in srgb, #4ff08b 55%, transparent);
    --tm-glow-box: 0 0 14px color-mix(in srgb, #4ff08b 30%, transparent);
    --tm-scan: repeating-linear-gradient(0deg, rgba(0,0,0,.22) 0 1px, transparent 1px 3px);
  }
}

/* ---------- Preslikava na žetone (koren IN instrument plošča) ---------- */
:root[data-skin="terminal"],
[data-skin="terminal"] .panel {
  --font: 'Martian Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  --display: 'Martian Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  --mono: 'Martian Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  --rk: 0;
  --rk-round: 0;
  --check-ink: var(--tm-accentink);

  --bg: var(--tm-bg); --bg-2: var(--tm-bg2);
  --surface: var(--tm-surface); --surface-2: var(--tm-surface2);
  --text: var(--tm-text); --text-2: var(--tm-text2); --muted: var(--tm-muted);
  --border: var(--tm-rule); --border-2: var(--tm-rule2);
  --accent: var(--tm-accent); --accent-2: var(--tm-accent2); --accent-ink: var(--tm-accentink);
  --good: var(--tm-good); --warn: var(--tm-warn); --flame: var(--tm-flame);
  --chrome: var(--tm-chrome);
  --shadow: none; --shadow-lg: none;
  --ring-track: var(--tm-seg); --heat-0: var(--tm-h0);
  --h0: var(--tm-h0); --h1: var(--tm-h1); --h2: var(--tm-h2); --h3: var(--tm-h3); --h4: var(--tm-h4);
  --bar-mute: var(--tm-seg); --axis: var(--tm-rule2);
  --g-track: var(--tm-rule); --g-year: var(--tm-muted);
  --gold: var(--tm-gold);
  --wk1: var(--tm-wk1); --wk2: var(--tm-wk2); --wk3: var(--tm-wk3);
  --wk4: var(--tm-wk4); --wk5: var(--tm-wk5); --wk6: var(--tm-wk6);
  --p-surface: var(--tm-bg); --p-surface-2: var(--tm-surface2);
  --p-ink: var(--tm-text); --p-muted: var(--tm-muted); --p-grid: transparent;
}
[data-skin="terminal"] .sheet .panel { --p-surface: var(--tm-surface); }

:root[data-skin="terminal"] { background: var(--tm-bg); }
[data-skin="terminal"] body {
  font-family: var(--font); font-size: 14px;
  background-color: var(--bg);
  background-image: var(--tm-scan);
  background-attachment: fixed;
  font-variant-numeric: tabular-nums slashed-zero;
}
[data-skin="terminal"] ::selection { background: var(--accent); color: var(--accent-ink); }
@keyframes tmBlink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }

/* Oznake: stisnjene verzalke (Martian Mono ima os širine). */
[data-skin="terminal"] :is(.panel-title, .panel-sub, .panel-tag, .stat-lbl, .stat-unit, .cat-name,
  .cat-count, .mood-lbl, .set-group, .field label, .hb-lbl, .reg-tpl-label, .wr-lbl, .ws-lbl,
  .wr-fact-lbl, .ms-group-lbl, .mg-kpi-l, .cal-dow, .ins-section-title, .heatmap-legend,
  .hero-label, .date-label, .ml-legend, .mg-sum) {
  font-family: var(--mono); font-stretch: 82%; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase;
}

/* ============ PRIJAVA ============ */
[data-skin="terminal"] .login-bg { display: none; }
[data-skin="terminal"] .login-card {
  background: var(--bg); border: 1px solid var(--border-2); box-shadow: var(--tm-glow-box);
  text-align: left; padding: 26px 22px 22px;
}
[data-skin="terminal"] .login-logo {
  width: auto; height: auto; margin: 0 0 14px; display: block; background: none; box-shadow: none;
  color: var(--accent); font-size: 18px; font-weight: 700; text-shadow: var(--tm-glow);
}
[data-skin="terminal"] .login-logo::before { content: '['; }
[data-skin="terminal"] .login-logo::after { content: ']'; }
[data-skin="terminal"] .login-card h1 { font-size: 24px; font-weight: 700; letter-spacing: -.02em; text-transform: uppercase; }
[data-skin="terminal"] .login-card h1::after {
  content: ''; display: inline-block; width: .55em; height: .85em; margin-left: .15em;
  background: var(--accent); vertical-align: -.06em; animation: tmBlink 1.1s steps(1) infinite;
}
[data-skin="terminal"] .login-sub { font-size: 12.5px; margin: 6px 0 20px; }
[data-skin="terminal"] .login-sub::before { content: '# '; color: var(--accent); }
[data-skin="terminal"] .login-card input {
  -webkit-appearance: none; appearance: none;
  background: transparent; border: 1px solid var(--border-2); font-family: var(--font); font-size: 15px;
}
[data-skin="terminal"] .login-card input:focus { border-color: var(--accent); box-shadow: var(--tm-glow-box); }
[data-skin="terminal"] .login-error { color: var(--tm-danger); }
[data-skin="terminal"] .login-error::before { content: 'ERR: '; }
[data-skin="terminal"] .login-link { text-align: left; padding-left: 0; text-decoration: none; font-size: 12.5px; }
[data-skin="terminal"] .login-link::before { content: '> '; color: var(--accent); }
[data-skin="terminal"] .reg-tpl { background: none; border: 1px solid var(--border-2); }
[data-skin="terminal"] .reg-tpl.on { background: none; border-color: var(--accent); box-shadow: var(--tm-glow-box); }
[data-skin="terminal"] .reg-tpl.on b::before { content: '* '; color: var(--accent); }

/* ============ GUMBI ============ */
[data-skin="terminal"] .btn-primary {
  background: var(--accent); color: var(--accent-ink); box-shadow: var(--tm-glow-box);
  font-family: var(--font); font-weight: 700; font-size: 13.5px; letter-spacing: .1em; text-transform: uppercase;
}
[data-skin="terminal"] .btn-primary::before { content: '> '; }
[data-skin="terminal"] .btn-primary:active { filter: none; background: var(--accent-2); }
[data-skin="terminal"] .btn-ghost {
  background: none; border: 1px solid var(--border-2); color: var(--text);
  font-size: 13px; text-transform: uppercase; letter-spacing: .06em;
}
[data-skin="terminal"] .btn-danger { color: var(--tm-danger); border-color: var(--tm-danger); }
[data-skin="terminal"] .icon-btn {
  background: none; border: 1px solid var(--border-2); color: var(--text); width: 34px; height: 34px; font-size: 15px;
}
[data-skin="terminal"] .icon-btn:hover { background: var(--surface-2); color: var(--accent); }

/* ============ GLAVA: ukazna vrstica ============ */
[data-skin="terminal"] .topbar { padding: 6px 0 12px; border-bottom: 1px solid var(--border-2); }
[data-skin="terminal"] .greeting {
  font-family: var(--font); font-weight: 700; font-size: 22px; letter-spacing: -.02em;
  text-transform: uppercase; line-height: 1.15;
}
[data-skin="terminal"] .greeting::before {
  content: '~$ status'; display: block; margin-bottom: 7px;
  font-size: 11px; font-weight: 500; letter-spacing: .02em; text-transform: none;
  color: var(--accent); text-shadow: var(--tm-glow);
}
[data-skin="terminal"] .greeting[data-user]::before { content: attr(data-user) '@checklist:~$ status'; }
[data-skin="terminal"] .month-view .greeting::before { content: '~$ cal --mesec'; }
[data-skin="terminal"] .greeting::after {
  content: ''; display: inline-block; width: .5em; height: .82em; margin-left: .14em;
  background: var(--accent); vertical-align: -.04em; box-shadow: var(--tm-glow);
  animation: tmBlink 1.1s steps(1) infinite;
}
[data-skin="terminal"] .subgreet { font-size: 12px; color: var(--text-2); margin-top: 5px; }
[data-skin="terminal"] .subgreet:not(:empty)::before { content: '> '; color: var(--muted); }
[data-skin="terminal"] .datenav { margin-top: 10px; gap: 6px; }
[data-skin="terminal"] .datenav .icon-btn {
  width: auto; height: auto; border: 0; padding: 2px 0; font-size: 0; color: var(--accent);
}
[data-skin="terminal"] .datenav #prev-day::before { content: '[<]'; font-size: 12.5px; }
[data-skin="terminal"] .datenav #next-day::before { content: '[>]'; font-size: 12.5px; }
[data-skin="terminal"] .date-label { font-size: 12px; color: var(--text); padding: 2px 4px; }
[data-skin="terminal"] .today-pill {
  background: none; border: 1px solid var(--accent); color: var(--accent);
  font-size: 11px; text-transform: uppercase; letter-spacing: .08em; padding: 3px 8px;
}

/* ============ HERO: segmentirana vrstica ============ */
[data-skin="terminal"] .hero {
  position: relative; background: none; border: 1px solid var(--border-2); box-shadow: none;
  text-align: left; align-items: stretch; gap: 12px; padding: 20px 14px 14px; margin: 22px 0 22px;
}
[data-skin="terminal"] .hero::before {
  content: 'DANES'; position: absolute; top: -.75em; left: 10px; padding: 0 6px;
  background: var(--bg); color: var(--accent); font-size: 11px; font-weight: 600;
  font-stretch: 82%; letter-spacing: .12em;
}
[data-skin="terminal"] .ring-slot { width: 100%; aspect-ratio: auto; }
[data-skin="terminal"] .hb-big {
  font-size: 64px; font-weight: 700; line-height: .95; letter-spacing: -.05em;
  color: var(--accent); text-shadow: var(--tm-glow);
}
[data-skin="terminal"] .hb-big span { font-size: .45em; margin-left: .06em; letter-spacing: 0; }
[data-skin="terminal"] .hb-row { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 11px; }
[data-skin="terminal"] .hb-lbl { flex: 0 0 4.5ch; color: var(--muted); }
[data-skin="terminal"] .hb-bar { flex: 1; display: flex; align-items: center; gap: 2px; min-width: 0; color: var(--muted); }
[data-skin="terminal"] .hb-bar::before { content: '['; margin-right: 3px; }
[data-skin="terminal"] .hb-bar::after  { content: ']'; margin-left: 3px; }
[data-skin="terminal"] .hb-bar i { flex: 1; height: 11px; background: var(--tm-seg); }
[data-skin="terminal"] .hb-bar i.on { background: var(--accent); box-shadow: var(--tm-glow); }
[data-skin="terminal"] .hb-row.yr .hb-bar i.on { background: var(--chrome); box-shadow: none; }
[data-skin="terminal"] .hb-val { flex: 0 0 4.5ch; text-align: right; color: var(--text-2); }
[data-skin="terminal"] .hero-meta { justify-content: flex-start; column-gap: 12px; }
[data-skin="terminal"] .hero-count { font-family: var(--font); font-size: 17px; font-weight: 700; letter-spacing: 0; }
[data-skin="terminal"] .hero-label { font-size: 10.5px; color: var(--muted); }
[data-skin="terminal"] .hero-streak { border-left-color: var(--border-2); font-size: 12px; }
@media (min-width: 560px) {
  [data-skin="terminal"] .hero { flex-direction: row; align-items: flex-end; gap: 24px; }
  [data-skin="terminal"] .ring-slot { flex: 1 1 auto; width: auto; }
  [data-skin="terminal"] .hero-meta { flex: 0 0 auto; text-align: right; padding-bottom: 2px; }
  [data-skin="terminal"] .hero-streak { justify-content: flex-end; }
}

/* ============ SEZNAM: goste vrstice [ ] / [x] ============ */
[data-skin="terminal"] .cat-group { margin-bottom: 18px; }
[data-skin="terminal"] .cat-head { margin: 0 0 2px; padding: 0 0 6px; border-bottom: 1px solid var(--border-2); }
[data-skin="terminal"] .cat-name { color: var(--text); font-size: 11.5px; }
[data-skin="terminal"] .cat-name::before { content: '## '; color: var(--accent); }
[data-skin="terminal"] .cat-dot { width: 8px; height: 8px; }
[data-skin="terminal"] .cat-count { font-size: 11px; color: var(--muted); }

[data-skin="terminal"] .habit {
  background: none; border: 0; border-bottom: 1px dashed var(--border); border-radius: 0; box-shadow: none;
  margin: 0; padding: 10px 0; gap: 10px; align-items: baseline; font-size: 14px;
}
[data-skin="terminal"] .habit:active { transform: none; background: var(--surface-2); }
[data-skin="terminal"] .habit:hover { background: color-mix(in srgb, var(--accent) 5%, transparent); }
[data-skin="terminal"] .habit.done { opacity: 1; }
[data-skin="terminal"] .habit.done .habit-name { color: var(--muted); text-decoration: line-through; text-decoration-color: var(--muted); }
[data-skin="terminal"] .habit.nocount { opacity: .6; }
[data-skin="terminal"] .check {
  width: auto; height: auto; margin: 0; padding: 0; border: 0; background: none;
  color: var(--muted); font-family: var(--font); font-size: 14px; font-weight: 600; line-height: 1.25;
}
[data-skin="terminal"] .check svg { display: none; }
[data-skin="terminal"] .check::before { content: '[ ]'; white-space: pre; }
[data-skin="terminal"] .habit.done .check { background: none; color: var(--accent); text-shadow: var(--tm-glow); }
[data-skin="terminal"] .habit.done .check::before { content: '[x]'; }
[data-skin="terminal"] .habit.partial .check { background: none; color: var(--accent); }
[data-skin="terminal"] .habit.partial .check::before { content: '[~]'; }
[data-skin="terminal"] .habit.skipped .check { background: none; color: var(--muted); }
[data-skin="terminal"] .habit.skipped .check::before { content: '[-]'; }
[data-skin="terminal"] .check:active { transform: none; color: var(--accent); }
/* Števec nima kljukice: poravnaj z imeni (širina "[ ]" + razmik). */
[data-skin="terminal"] .habit.counter .habit-body { padding-left: calc(3ch + 10px); }
[data-skin="terminal"] .habit-name { font-size: 14px; font-weight: 500; line-height: 1.35; letter-spacing: -.01em; }
[data-skin="terminal"] .habit-sub { gap: 4px 8px; margin-top: 5px; }
[data-skin="terminal"] .habit-note { font-size: 12px; color: var(--text-2); }
[data-skin="terminal"] .habit-note::before { content: '// '; color: var(--muted); }
[data-skin="terminal"] .habit-menu { color: var(--muted); font-size: 14px; }

/* Značke: [OZNAKA vrednost] */
[data-skin="terminal"] :is(.streak-badge, .week-badge, .badge-once, .effort-badge,
  .abst-badge, .timer-badge, .skip-badge, .badge-nocount) {
  background: none; border: 0; padding: 0; border-radius: 0; line-height: 1.3;
  font-family: var(--mono); font-stretch: 85%; font-size: 11px; font-weight: 600;
  letter-spacing: .05em; text-transform: uppercase; color: var(--text-2);
}
[data-skin="terminal"] :is(.streak-badge, .week-badge, .badge-once, .effort-badge,
  .abst-badge, .timer-badge, .skip-badge, .badge-nocount)::before { content: '['; color: var(--muted); }
[data-skin="terminal"] :is(.streak-badge, .week-badge, .badge-once, .effort-badge,
  .abst-badge, .timer-badge, .skip-badge, .badge-nocount)::after { content: ']'; color: var(--muted); }
[data-skin="terminal"] .habit-sub .streak-badge { color: var(--accent); }
[data-skin="terminal"] .habit-sub .week-badge.req { color: var(--flame); }
[data-skin="terminal"] .habit-sub .week-badge.full { color: var(--good); }
[data-skin="terminal"] .habit-sub .effort-badge { color: var(--warn); }
[data-skin="terminal"] .habit-sub .timer-badge.on { color: var(--accent); text-shadow: var(--tm-glow); }
[data-skin="terminal"] .habit-sub .skip-badge.on { color: var(--text); }

[data-skin="terminal"] .overdue-group .habit { border-bottom-color: color-mix(in srgb, var(--flame) 45%, var(--border)); }
[data-skin="terminal"] .lock-banner { background: none; border: 1px dashed var(--warn); font-size: 12.5px; }
[data-skin="terminal"] .lock-btn { background: var(--warn); color: var(--bg); text-transform: uppercase; font-size: 11px; }
[data-skin="terminal"] .add-inline { border: 1px dashed var(--border-2); font-size: 13px; }

[data-skin="terminal"] .stepper { background: none; border: 1px solid var(--border-2); padding: 2px; }
[data-skin="terminal"] .step-btn { background: none; box-shadow: none; color: var(--accent); font-family: var(--font); }
[data-skin="terminal"] .step-val { font-size: 12px; color: var(--text); }
[data-skin="terminal"] .ctr-total { font-family: var(--font); font-size: 17px; font-weight: 700; color: var(--accent); text-shadow: var(--tm-glow); }
[data-skin="terminal"] .ctr-minus { background: none; border: 1px solid var(--border-2); color: var(--text); font-family: var(--font); }
[data-skin="terminal"] .ctr-plus {
  background: none; border: 1px solid var(--accent); color: var(--accent); box-shadow: var(--tm-glow-box);
  font-family: var(--font); font-size: 13px;
}
[data-skin="terminal"] .ctr-plus:active { background: var(--accent); color: var(--accent-ink); }

[data-skin="terminal"] .mood-entry {
  position: relative; margin: 24px 0 18px; padding: 18px 12px 12px;
  background: none; border: 1px solid var(--border-2);
}
[data-skin="terminal"] .mood-scale button {
  background: none; border: 1px solid var(--border-2); color: var(--text-2);
  font-family: var(--font); font-size: 13px; font-weight: 600;
}
[data-skin="terminal"] .mood-scale button.on { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); box-shadow: var(--tm-glow-box); }
[data-skin="terminal"] .mood-scale.is-moti button.on { background: var(--chrome); border-color: var(--chrome); color: var(--bg); box-shadow: none; }

/* ============ RAZDELKI: okvir z naslovom v robu ============ */
[data-skin="terminal"] .stats { margin-top: 30px; }
[data-skin="terminal"] .panel {
  background: none; border: 1px solid var(--border-2); border-radius: 0; box-shadow: none;
  padding: 20px 12px 12px; margin: 0 0 26px; overflow: visible; color: var(--text);
}
[data-skin="terminal"] .panel::before,
[data-skin="terminal"] .panel::after { display: none; }
[data-skin="terminal"] .panel.in { animation: none; }
[data-skin="terminal"] .panel-head { margin: -29px -6px 14px; align-items: center; }
[data-skin="terminal"] .panel-title,
[data-skin="terminal"] .panel-tag { background: var(--bg); padding: 0 6px; }
[data-skin="terminal"] .sheet .panel-title,
[data-skin="terminal"] .sheet .panel-tag { background: var(--surface); }
[data-skin="terminal"] .panel-title { color: var(--accent); font-size: 11.5px; text-shadow: var(--tm-glow); }
[data-skin="terminal"] .panel-tag { color: var(--text-2); font-size: 10.5px; opacity: 1; }
[data-skin="terminal"] .panel-sub { color: var(--muted); font-size: 10px; }

[data-skin="terminal"] .stat-cards { gap: 8px; }
[data-skin="terminal"] .stat-card { background: none; border: 1px solid var(--border); min-height: 0; padding: 10px 11px; }
[data-skin="terminal"] .stat-ic { display: none; }
[data-skin="terminal"] .stat-val { font-family: var(--font); font-size: 30px; font-weight: 700; letter-spacing: -.04em; margin-top: 8px; color: var(--text); }
[data-skin="terminal"] .stat-unit { font-size: 9.5px; }

[data-skin="terminal"] .seg { background: none; padding: 0; gap: 6px; flex-wrap: wrap; }
[data-skin="terminal"] .seg button {
  border: 1px solid var(--border-2); background: none; color: var(--text-2);
  font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; padding: 8px 6px;
}
[data-skin="terminal"] .seg button.on {
  background: var(--accent); border-color: var(--accent); color: var(--accent-ink); box-shadow: var(--tm-glow-box);
}
[data-skin="terminal"] .seg-sm button { font-size: 10.5px; padding: 4px 7px; }
[data-skin="terminal"] .seg-effort button small { color: inherit; opacity: .75; }

[data-skin="terminal"] .meter { height: 8px; background: var(--tm-seg); }
[data-skin="terminal"] .meter-fill { background: var(--accent); box-shadow: var(--tm-glow); }
[data-skin="terminal"] .year-txt { color: var(--accent); font-size: 11px; }
[data-skin="terminal"] .trend-line { stroke-width: 1.5; filter: drop-shadow(0 0 3px color-mix(in srgb, var(--accent) 60%, transparent)); }
[data-skin="terminal"] .trend-fill { fill: color-mix(in srgb, var(--accent) 10%, transparent); }
[data-skin="terminal"] .hm-cell { rx: 0; ry: 0; }
[data-skin="terminal"] .hm-cell.hm-today { stroke: var(--text); }
[data-skin="terminal"] .hm-cell.hm-full { filter: drop-shadow(0 0 2px color-mix(in srgb, var(--gold) 70%, transparent)); }

[data-skin="terminal"] .chart-tip {
  background: var(--bg); color: var(--text); border: 1px solid var(--accent); box-shadow: var(--tm-glow-box);
  font-family: var(--font); font-size: 11.5px;
}
[data-skin="terminal"] .app-footer { font-size: 11px; color: var(--muted); }
[data-skin="terminal"] .app-footer::before { content: '-- '; }
[data-skin="terminal"] .app-footer::after { content: ' --'; }

/* ============ MESEČNI PREGLED ============ */
[data-skin="terminal"] .mg-kpi-v { font-family: var(--font); font-size: 26px; font-weight: 700; letter-spacing: -.04em; }
[data-skin="terminal"] .mg-meter { height: 8px; background: var(--tm-seg); }
[data-skin="terminal"] .mg-meter-fill { background: var(--accent); }
[data-skin="terminal"] .mg-name { font-size: 11px; color: var(--text); }
[data-skin="terminal"] .mg-d { font-family: var(--font); font-size: 10px; }
[data-skin="terminal"] .mg-c.done { background: color-mix(in srgb, var(--accent) 18%, transparent); border-color: var(--accent); }
[data-skin="terminal"] .mg-c.missed { border: 1px dashed var(--border-2); }
[data-skin="terminal"] .month-nav { margin: 4px 0 18px; }
[data-skin="terminal"] .mn-b { background: none; border: 1px solid var(--border); font-family: var(--font); font-size: 10px; }
[data-skin="terminal"] .mn-b.on { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
[data-skin="terminal"] .mn-y { background: none; border: 1px solid var(--border-2); font-family: var(--font); }

/* ============ FAB, OBVESTILO, ČASOVNIK ============ */
[data-skin="terminal"] .fab {
  background: var(--bg); color: var(--accent); border: 1px solid var(--accent); box-shadow: var(--tm-glow-box);
}
[data-skin="terminal"] .fab:active { transform: none; background: var(--accent); color: var(--accent-ink); }
/* Obvestilo = statusna vrstica čez celo dno. */
[data-skin="terminal"] .toast {
  left: 0; right: 0; transform: none; max-width: none; bottom: 0;
  padding: 11px 16px calc(11px + env(safe-area-inset-bottom));
  background: var(--accent); color: var(--accent-ink);
  font-family: var(--font); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  animation: tmToast .18s ease-out;
}
[data-skin="terminal"] .toast::before { content: '> '; }
@keyframes tmToast { from { opacity: 0; } to { opacity: 1; } }
[data-skin="terminal"] .toast-undo { background: var(--accent-ink); color: var(--accent); text-transform: uppercase; }
[data-skin="terminal"] .timer-bar {
  background: var(--bg); border: 1px solid var(--accent); border-top: 0; box-shadow: var(--tm-glow-box);
}
[data-skin="terminal"] .tb-dot { border-radius: 0; animation: tmBlink 1.1s steps(1) infinite; }
[data-skin="terminal"] .tb-time { color: var(--accent); text-shadow: var(--tm-glow); }
[data-skin="terminal"] .tb-stop { background: none; border: 1px solid var(--border-2); font-family: var(--font); text-transform: uppercase; font-size: 11px; }

/* ============ SHEETI, OBRAZCI, MENI ============ */
[data-skin="terminal"] .modal-root { background: color-mix(in srgb, #000 55%, transparent); backdrop-filter: none; }
[data-skin="terminal"] .sheet {
  background: var(--surface); border: 1px solid var(--border-2); border-bottom: 0; box-shadow: none;
}
@media (min-width: 560px) {
  [data-skin="terminal"] .sheet { border-bottom: 1px solid var(--border-2); box-shadow: var(--tm-glow-box); }
}
[data-skin="terminal"] .sheet-grip { width: 34px; height: 3px; background: var(--border-2); }
[data-skin="terminal"] .sheet h2 { font-family: var(--font); font-weight: 700; font-size: 18px; text-transform: uppercase; letter-spacing: .02em; }
[data-skin="terminal"] .sheet h2::before { content: '# '; color: var(--accent); }
[data-skin="terminal"] .sheet-x { background: none; border: 1px solid var(--border-2); color: var(--text); font-family: var(--font); }
[data-skin="terminal"] .sheet-desc { font-size: 12.5px; }
/* Verzalke so širše: naslov + gumb v vrstici ne smeta zlesti pod × (absolutno desno zgoraj). */
[data-skin="terminal"] .sheet-h2row { padding-right: 40px; }
[data-skin="terminal"] .sheet-h2row h2 { white-space: nowrap; font-size: 16px; }
[data-skin="terminal"] .btn-ghost.btn-sm { font-size: 10.5px; padding: 6px 8px; }
[data-skin="terminal"] .field label { color: var(--text-2); font-size: 10.5px; }
[data-skin="terminal"] .field label::before { content: '> '; color: var(--accent); }
[data-skin="terminal"] .field input[type=text],
[data-skin="terminal"] .field input[type=date],
[data-skin="terminal"] .field input[type=email],
[data-skin="terminal"] .field input[type=password],
[data-skin="terminal"] .field input[type=number],
[data-skin="terminal"] .field textarea,
[data-skin="terminal"] .field select,
[data-skin="terminal"] .set-input,
[data-skin="terminal"] .set-num,
[data-skin="terminal"] .inl-in,
[data-skin="terminal"] .inl-in-lg,
[data-skin="terminal"] .idea-schedule .idea-date {
  -webkit-appearance: none; appearance: none;
  background: transparent; border: 1px solid var(--border-2); font-family: var(--font); font-size: 14px;
}
[data-skin="terminal"] .field input:focus,
[data-skin="terminal"] .field textarea:focus,
[data-skin="terminal"] .field select:focus,
[data-skin="terminal"] .set-input:focus,
[data-skin="terminal"] .inl-in:focus,
[data-skin="terminal"] .inl-in-lg:focus { outline: none; border-color: var(--accent); box-shadow: var(--tm-glow-box); }
[data-skin="terminal"] .field-hint { font-size: 11px; }
[data-skin="terminal"] .field-hint::before { content: '// '; }
[data-skin="terminal"] .chip { border: 1px solid var(--border-2); font-size: 12px; }
[data-skin="terminal"] .menu-list { gap: 0; }
[data-skin="terminal"] .menu-item { border-bottom: 1px dashed var(--border); font-size: 14px; padding: 12px 6px; }
[data-skin="terminal"] .menu-item:hover { background: var(--surface-2); color: var(--accent); }
[data-skin="terminal"] .menu-item.danger { color: var(--tm-danger); }
[data-skin="terminal"] .menu-version { font-size: 11px; }
[data-skin="terminal"] .set-group { color: var(--accent); border-top: 1px solid var(--border-2); }
[data-skin="terminal"] .set-group::before { content: '## '; }
[data-skin="terminal"] .set-group:first-child { border-top: 0; }
[data-skin="terminal"] .set-row { border-bottom-style: dashed; }
[data-skin="terminal"] .set-title { font-size: 14px; font-weight: 600; }
[data-skin="terminal"] .set-desc2 { font-size: 12px; }
[data-skin="terminal"] .slider { background: var(--tm-seg); border: 1px solid var(--border-2); }
[data-skin="terminal"] .slider::before { box-shadow: none; background: var(--text-2); top: 2px; left: 2px; }
[data-skin="terminal"] .switch input:checked + .slider { background: var(--accent); border-color: var(--accent); }
[data-skin="terminal"] .switch input:checked + .slider::before { background: var(--accent-ink); }
[data-skin="terminal"] #set-acc { opacity: .35; }
[data-skin="terminal"] .idea-add-btn { background: none; border: 1px solid var(--accent); color: var(--accent); box-shadow: none; }

[data-skin="terminal"] :is(.wr-card, .ws-item, .wr-fact, .ms-row) { background: none; border: 1px solid var(--border); }
[data-skin="terminal"] :is(.wr-val, .ws-val) { font-family: var(--font); font-weight: 700; letter-spacing: -.04em; }
[data-skin="terminal"] .ms-row.on { border-color: var(--accent); }
[data-skin="terminal"] :is(.nudge, .corr) { background: none; border: 1px solid var(--border); border-left: 3px solid var(--muted); }
[data-skin="terminal"] .nudge-act { border-color: var(--accent); color: var(--accent); text-transform: uppercase; font-size: 11.5px; }
[data-skin="terminal"] .chip-alert { background: none; font-size: 12.5px; }
[data-skin="terminal"] .retro-btn { background: none; border: 1px solid var(--border-2); font-size: 13px; }
[data-skin="terminal"] .token-box { background: none; }

[data-skin="terminal"] .cal-title { font-family: var(--font); font-size: 15px; text-transform: uppercase; }
[data-skin="terminal"] .cal-cell { font-family: var(--font); font-size: 13px; border: 1px solid transparent; }
[data-skin="terminal"] .cal-cell.today { border-color: var(--accent); }
[data-skin="terminal"] .cal-cell.sel { background: var(--accent); color: var(--accent-ink); box-shadow: var(--tm-glow-box); }
[data-skin="terminal"] .cal-cell.sel .cal-dot { background: var(--accent-ink); }

/* ============ PRAZNOVANJE ============ */
[data-skin="terminal"] .certified-box {
  background: var(--bg); color: var(--accent); border: 1px solid var(--accent); box-shadow: var(--tm-glow-box);
}
[data-skin="terminal"] .certified-check {
  background: none; color: var(--accent); border: 1px solid var(--accent); box-shadow: none; font-family: var(--font);
}
[data-skin="terminal"] .certified-txt { font-family: var(--font); color: var(--accent); text-shadow: var(--tm-glow); letter-spacing: .2em; }
[data-skin="terminal"] .certified-sub { color: var(--text-2); font-family: var(--font); }
[data-skin="terminal"] .milestone-pop .certified-box { border-color: var(--gold); color: var(--gold); }
[data-skin="terminal"] .milestone-pop .ms-check { background: none; color: var(--gold); border-color: var(--gold); box-shadow: none; }
[data-skin="terminal"] .milestone-pop .certified-txt { color: var(--gold); text-shadow: none; }

/* ============ GOSTOTA ============ */
[data-skin="terminal"][data-density="compact"] .habit { padding: 6px 0; }
[data-skin="terminal"][data-density="airy"]    .habit { padding: 14px 0; }
[data-skin="terminal"][data-density="compact"] .panel { padding: 18px 10px 10px; margin-bottom: 22px; }
[data-skin="terminal"][data-density="airy"]    .panel { padding: 24px 14px 16px; margin-bottom: 32px; }

/* ============ PREDOGLED V IZBIRNIKU ============ */
.skin-prev-terminal {
  --pv-bg: #0b0e0b; --pv-ink: #d4e7cf; --pv-acc: #4ff08b; --pv-line: #1e2a1e; --pv-line2: #5f735b;
  --pv-font: 'Martian Mono', ui-monospace, Menlo, monospace; --pv-r: 0px; --pv-cr: 0px;
  background-image: repeating-linear-gradient(0deg, rgba(0,0,0,.22) 0 1px, transparent 1px 3px);
}
.skin-prev-terminal .sp-num { color: #4ff08b; font-size: 21px; text-shadow: 0 0 7px rgba(79,240,139,.55); }
.skin-prev-terminal .sp-num::after { content: ''; display: inline-block; width: .45em; height: .8em; margin-left: .12em; background: #4ff08b; vertical-align: -.04em; }
.skin-prev-terminal .sp-row i { border-color: #5f735b; }
