/* public/fixreq-form.css —— 報修表單本地樣式（ISSUE-36.6 自 inline 外部化）。
 *
 * 為何外部化（原本是 index.astro 的 <style set:html={INTAKE_FORM_STYLE}>）：
 *   CSP 鐵則「不開 'unsafe-inline'」。首頁是 prerender 靜態頁、無法用 per-request nonce；
 *   而 set:html 注入的 inline <style> 內容對 Astro security.csp 的自動 hash 機制是「不透明」
 *   的（實測：build 後 meta CSP 的 style-src 不含此區塊 hash → inline style 會被擋）。
 *   故移到 public/ 靜態檔，由 style-src 'self' 直接放行——零 inline、零 unsafe-inline。
 *
 * DS 鐵則（megapower.css）：不寫死色碼、不覆蓋 system font，一律走 token var(--…)。
 * input/textarea DS 無元件 class → 用 token 自製（.fixreq-*）。
 */
.fixreq-header { text-align: center; margin-bottom: var(--space-8); }
.fixreq-logo { display: block; margin: 0 auto var(--space-6); max-width: 220px; height: auto; }
.fixreq-lead { color: var(--color-text-muted); font-size: var(--text-lg); }
.fixreq-card { display: block; }
.fixreq-field { margin-bottom: var(--space-6); }
.fixreq-label {
  display: block;
  margin-bottom: var(--space-2);
  font-size: var(--text-base);
  color: var(--color-text);
}
.fixreq-required { color: var(--color-primary); margin-inline-start: 0.15em; }
.fixreq-input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.625rem var(--space-4);
  font-family: inherit;
  font-size: var(--text-base);
  line-height: var(--line-height-base);
  color: var(--color-text);
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
.fixreq-input::placeholder { color: var(--color-text-muted); }
.fixreq-input:focus-visible {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-primary-tint);
}
.fixreq-input--area { resize: vertical; min-height: 7rem; }
.fixreq-actions { margin-top: var(--space-8); }
.fixreq-actions .btn { width: 100%; }
.fixreq-error {
  margin-top: var(--space-4);
  padding: var(--space-4);
  color: var(--color-primary-hover);
  background: var(--color-primary-soft-bg);
  border-radius: var(--radius-md);
  font-size: var(--text-base);
}
.fixreq-success { text-align: center; padding: var(--space-4) 0; }
.fixreq-ticket {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  color: var(--color-primary);
}
.fixreq-footer { margin-top: var(--space-12); text-align: center; }
.fixreq-muted { color: var(--color-text-muted); font-size: var(--text-sm); }
@media (min-width: 640px) {
  .fixreq-actions .btn { width: auto; min-width: 12rem; }
}
