/* ==========================================================================
   main.css — Design Token + 對外介面 layout
   ========================================================================== */

:root {
  /* 主色系 — Kenny 設計稿 Lavender 主題 */
  --color-primary: #7b68ee;
  --color-primary-hover: #6a5acd;
  --color-primary-light: #ede9fe;
  --color-secondary: #6c757d;
  --color-success: #4caf50;
  --color-warning: #ffc107;
  --color-danger: #dc3545;
  --color-info: #0dcaf0;

  /* 頁面背景 */
  --color-bg: #eae6f6;
  --color-table-header: #dde4f0;

  /* 側邊欄 */
  --sidebar-bg: rgba(255, 255, 255, 0.65);
  --sidebar-text: #4a4a5a;
  --sidebar-active: #8b7fbd;
  --sidebar-hover: rgba(139, 127, 189, 0.12);
  --sidebar-user-bg: #7b6fa6;

  /* 中性色 */
  --color-white: #ffffff;
  --color-gray-50: #f8f9fa;
  --color-gray-100: #e9ecef;
  --color-gray-200: #dee2e6;
  --color-gray-300: #ced4da;
  --color-gray-400: #adb5bd;
  --color-gray-500: #6c757d;
  --color-gray-600: #495057;
  --color-gray-700: #343a40;
  --color-gray-800: #212529;

  /* 字體 */
  --font-family-base: "Noto Sans TC", "Helvetica Neue", Arial, sans-serif;
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 2rem;

  /* 間距 */
  --spacing-xs: 0.25rem;
  --spacing-sm: 0.5rem;
  --spacing-md: 1rem;
  --spacing-lg: 1.5rem;
  --spacing-xl: 2rem;
  --spacing-2xl: 3rem;

  /* 圓角 */
  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-pill: 50rem;

  /* 陰影 */
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);

  /* 觸控區域最小尺寸 */
  --touch-min-size: 48px;

  /* Z-index 層級 */
  --z-sidebar: 1020;
  --z-navbar: 1010;
  --z-modal: 1050;
  --z-toast: 1080;
}

/* 全域字體套用 */
body {
  font-family: var(--font-family-base);
  color: var(--color-gray-800);
  background-color: var(--color-bg);
}

/* 對外介面 layout */
.public-container {
  max-width: 600px;
  margin: 0 auto;
  padding: var(--spacing-lg);
}

.public-header {
  text-align: center;
  padding: var(--spacing-xl) 0;
}

.public-header h1 {
  font-family: "Noto Sans TC", "Noto Sans", var(--font-family-base);
  font-size: 28px;
  font-weight: 700;
  color: var(--color-gray-800);
  letter-spacing: 2px;
  margin-top: var(--spacing-md);
}

/* Toast 通知 */
.toast-container {
  position: fixed;
  top: var(--spacing-lg);
  right: var(--spacing-lg);
  z-index: var(--z-toast);
}
