/* ═══════════════════════════════════════════════════════════════════════════
   RxTrail — Design Tokens
   Βάσει 03_RxTrail_UI_UX_Προδιαγραφή.md §2
   ΚΑΜΙΑ hardcoded τιμή εκτός αυτού του αρχείου.
   ═══════════════════════════════════════════════════════════════════════════ */

:root {
  /* ── Θεμέλιο ─────────────────────────────────────────────────────────── */
  --paper:        #F7F9F8;   /* φόντο εφαρμογής — ψυχρό λευκό γάζας */
  --surface:      #FFFFFF;   /* κάρτες, sheets */
  --ink:          #14232C;   /* κύριο κείμενο — μελάνι */
  --ink-soft:     #4A5B66;   /* δευτερεύον κείμενο */
  --ink-faint:    #8A99A3;   /* meta, timestamps */
  --line:         #E3E9EC;   /* διαχωριστικά, borders */

  /* ── Ενέργεια (primary) — «Πέλαγος» ──────────────────────────────────── */
  --sea:          #0E6E7E;   /* κύρια κουμπιά, ενεργά states, links */
  --sea-deep:     #0A525E;   /* pressed */
  --sea-mist:     #E1F0F2;   /* επιλεγμένα backgrounds, chips */

  /* ── Καταστάσεις περιστατικού — 1:1 με το state machine ──────────────── */
  --st-new:       #B7791F;   /* NEW — κεχριμπάρι: φρέσκο, θέλει κίνηση */
  --st-assessed:  #7C5CBF;   /* ASSESSED — μωβ: γνώση αποκτήθηκε */
  --st-atdoctor:  #2B6CB0;   /* AT_DOCTOR — μπλε: σε αναμονή τρίτου */
  --st-prescribed:#0E7E5A;   /* PRESCRIBED — πράσινο σκούρο: σχεδόν εκεί */
  --st-active:    #1D9E75;   /* ACTIVE — πράσινο ζωής */
  --st-atrisk:    #D4610A;   /* AT_RISK — πορτοκαλί συναγερμού */
  --st-lost:      #98A4AC;   /* LOST — γκρι, χωρίς δράμα */
  --st-closed:    #5A6B75;   /* CLOSED — μολυβί, αξιοπρέπεια */

  /* ── Λειτουργικά ─────────────────────────────────────────────────────── */
  --danger:       #C23A3A;
  --warn-bg:      #FCF3E5;
  --success-bg:   #E7F6F0;

  /* ── Σκιές — μόνο 2 επίπεδα ──────────────────────────────────────────── */
  --shadow-card:  0 1px 3px rgba(20,35,44,.08);
  --shadow-float: 0 8px 28px rgba(20,35,44,.16);

  /* ── Γεωμετρία ───────────────────────────────────────────────────────── */
  --r-card: 14px;
  --r-btn: 12px;
  --r-chip: 999px;
  --r-sheet: 20px 20px 0 0;
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 24px;
  --sp-6: 32px;

  /* ── Κίνηση ──────────────────────────────────────────────────────────── */
  --t-fast: 140ms;
  --t-base: 220ms;
  --t-slow: 360ms;
  --ease: cubic-bezier(.32,.72,.28,1);

  /* ── Τυπογραφία ──────────────────────────────────────────────────────── */
  --font-ui:   'Commissioner', system-ui, -apple-system, sans-serif;
  --font-data: 'IBM Plex Mono', 'SF Mono', 'Fira Code', monospace;

  /* Κλίμακα */
  --fs-hero: 28px; --lh-hero: 1.15; --w-hero: 700;
  --fs-h2: 20px; --lh-h2: 1.25; --w-h2: 650;
  --fs-body: 16px; --lh-body: 1.5; --w-body: 450;
  --fs-why: 15px; --lh-why: 1.4; --w-why: 500;
  --fs-meta: 13px; --lh-meta: 1.4; --w-meta: 450;
  --fs-data: 15px; --w-data: 500;
  --fs-clock: 13px; --w-clock: 600;

  /* ── Layout ──────────────────────────────────────────────────────────── */
  --bottom-nav-h: 64px;
  --header-h: 56px;
  --fab-size: 60px;
  --tap-target: 48px;
  --safe-bottom: env(safe-area-inset-bottom, 0px);
}

/* ── Reset ──────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-ui);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  font-weight: var(--w-body);
  color: var(--ink);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: hidden;
  height: 100vh;
  height: 100dvh;
}

/* ── Focus ──────────────────────────────────────────────────────────────── */
:focus-visible {
  outline: 2px solid var(--sea);
  outline-offset: 2px;
}

/* ── Reduced motion ─────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 1ms !important;
    transition-duration: 1ms !important;
  }
}
