/* ============================================================
   PosTheme — 1:1 mapping from lib/core/theme/pos_theme.dart
   ============================================================ */
:root {
  /* Surfaces */
  --bg:            #141517;
  --surface:       #1C1D21;
  --surface-light: #242528;
  --card:          #28292E;
  --card-hover:    #303136;
  --border:        #35363C;

  /* Accents */
  --accent:       #CBA865; /* warm gold */
  --accent-light: #DDBE80;
  --accent-dim:   #3D3222;

  /* Text */
  --text-primary:   #E4E2DD;
  --text-secondary: #9B978E;
  --text-muted:     #6B6860;

  /* Status */
  --success:    #7BAF8E;
  --success-bg: #1C2921;
  --danger:     #BF7B7B;
  --danger-bg:  #2B1E1E;
  --info:       #8DA4BF;
  --info-bg:    #1D2430;
  --warning:    #D4A843;

  /* Spacing scale */
  --gap-xs: 4px;
  --gap-sm: 8px;
  --gap-md: 12px;
  --gap-lg: 16px;
  --gap-xl: 24px;

  /* Radius */
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-xl: 20px;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(0,0,0,0.3);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.4);
  --shadow-lg: 0 8px 24px rgba(0,0,0,0.5);

  /* Typography */
  --font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
               'Helvetica Neue', Arial, sans-serif;
  --font-mono: 'SF Mono', 'Roboto Mono', 'Courier New', monospace;
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; height: 100%; }
body {
  background: var(--bg);
  color: var(--text-primary);
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  overflow: hidden;
}
button, input, select, textarea {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
}
button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

/* Typography classes */
.heading-large  { font-size: 22px; font-weight: 700; color: var(--text-primary); letter-spacing: -0.3px; }
.heading-medium { font-size: 18px; font-weight: 600; color: var(--text-primary); }
.heading-small  { font-size: 15px; font-weight: 600; color: var(--text-primary); }
.body-large     { font-size: 15px; color: var(--text-primary); }
.body-medium    { font-size: 14px; color: var(--text-primary); }
.body-small     { font-size: 12px; color: var(--text-secondary); }
.label          { font-size: 11px; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; }
.mono           { font-family: var(--font-mono); }

/* Utility */
.text-accent  { color: var(--accent); }
.text-success { color: var(--success); }
.text-danger  { color: var(--danger); }
.text-info    { color: var(--info); }
.text-muted   { color: var(--text-muted); }
