*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:             #f0f2f5;
  --surface:        #ffffff;
  --surface2:       #f8f9fa;
  --border:         #e0e4ea;
  --border-strong:  #c8cdd5;
  --text:           #1a1d23;
  --text-muted:     #6b7280;
  --text-subtle:    #9ca3af;

  --primary:        #3b5bdb;
  --primary-hover:  #2f4ac7;
  --primary-light:  #eef2ff;
  --danger:         #c92a2a;
  --danger-hover:   #a61e1e;
  --danger-light:   #fff5f5;
  --success:        #2b8a3e;
  --success-light:  #e6f7ec;
  --warning:        #d97706;
  --warning-light:  #fffbeb;
  --info:           #0369a1;
  --info-light:     #e0f2fe;

  --r:    6px;
  --r-sm: 4px;
  --r-lg: 10px;

  --shadow-sm: 0 1px 2px rgba(0,0,0,.06);
  --shadow:    0 1px 4px rgba(0,0,0,.10), 0 0 0 1px rgba(0,0,0,.04);
  --shadow-lg: 0 4px 16px rgba(0,0,0,.12);

  --header-h: 56px;
  --font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

body {
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  font-size: 14px;
  line-height: 1.5;
  min-height: 100vh;
}

a { color: var(--primary); text-decoration: none; }
a:hover { text-decoration: underline; }

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border-strong); border-radius: 3px; }

.hidden { display: none !important; }
