/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[13].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src/app/layout.tsx","import":"Kanit","arguments":[{"subsets":["thai","latin"],"weight":["300","400","500","600","700","800"],"display":"swap","variable":"--font-kanit"}],"variableName":"kanit"} ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* thai */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/_next/static/media/f8facca68d062c27-s.p.woff2) format('woff2');
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}
/* vietnamese */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/_next/static/media/cef7b1d77d754f57-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/_next/static/media/bcc230760beba904-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/_next/static/media/bf2a3d1ec1972157-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* thai */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/75717585c59e5075-s.p.woff2) format('woff2');
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}
/* vietnamese */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/158a69e2aae09d8b-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/9c064da0c6a8705d-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/a5f02fb6311fcdbc-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* thai */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/c0ec9aca5b19e917-s.p.woff2) format('woff2');
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}
/* vietnamese */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/06bc8c83090c1ec1-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/1f6d3ad4ae0f1460-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/eb67d5f0a1d7501d-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* thai */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/e947190c9bdf6068-s.p.woff2) format('woff2');
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}
/* vietnamese */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/52c95d4165d01384-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/574f1d56a01c5fcb-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/25f7d470e08d7a87-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* thai */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/dd867c03515903ae-s.p.woff2) format('woff2');
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}
/* vietnamese */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/5dfeb3c6bf0f27aa-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/5d1189028b68a613-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/61eb19e8a04bc1be-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* thai */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/_next/static/media/1ce8bc761c7de99c-s.p.woff2) format('woff2');
  unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC;
}
/* vietnamese */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/_next/static/media/a51b7baf2cdbd7ab-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/_next/static/media/d6e1b2c00650118d-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Kanit_45e8b1';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/_next/static/media/f42c4a7e6e15f653-s.p.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Kanit_Fallback_45e8b1';src: local("Arial");ascent-override: 108.49%;descent-override: 38.96%;line-gap-override: 0.00%;size-adjust: 101.39%
}.__className_45e8b1 {font-family: '__Kanit_45e8b1', '__Kanit_Fallback_45e8b1';font-style: normal
}.__variable_45e8b1 {--font-kanit: '__Kanit_45e8b1', '__Kanit_Fallback_45e8b1'
}

/*!*****************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[13].oneOf[12].use[3]!./src/app/globals.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************/
/* src/app/globals.css */
@tailwind base;
@tailwind components;
@tailwind utilities;

/* ========================================
   品牌色彩系统 - 泰国贷款落地页
   ======================================== */

:root {
  /* 主色调 - 品牌蓝 */
  --brand-primary: #2577ea;
  --brand-primary-light: #4f94f5;
  --brand-primary-dark: #1a5fc4;
  
  /* 辅助色 - 橙色 */
  --brand-secondary: #F37021;
  --brand-secondary-light: #ff8f4d;
  --brand-secondary-dark: #d45f17;
  
  /* 强调色 - 金色 */
  --brand-gold: #E5B400;
  --brand-gold-light: #ffd040;
  
  /* 中性色 */
  --color-slate-50: #f8fafc;
  --color-slate-100: #f1f5f9;
  --color-slate-200: #e2e8f0;
  --color-slate-300: #cbd5e1;
  --color-slate-400: #94a3b8;
  --color-slate-500: #64748b;
  --color-slate-600: #475569;
  --color-slate-700: #334155;
  --color-slate-800: #1e293b;
  --color-slate-900: #0f172a;
  
  /* 语义色 */
  --color-success: #10b981;
  --color-warning: #f59e0b;
  --color-error: #ef4444;
  --color-info: #3b82f6;
  
  /* 渐变 */
  --gradient-brand: linear-gradient(135deg, #2577ea 0%, #1a5fc4 100%);
  --gradient-cta: linear-gradient(135deg, #F37021 0%, #E5B400 100%);
  --gradient-hero: linear-gradient(135deg, rgba(37,119,234,0.05) 0%, rgba(243,112,33,0.03) 100%);
  
  /* 阴影 */
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
  
  /* 圆角 */
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-2xl: 1.5rem;
  --radius-full: 9999px;
  
  /* 动画 */
  --transition-fast: 150ms ease;
  --transition-base: 200ms ease;
  --transition-slow: 300ms ease;
}

/* ========================================
   基础样式
   ======================================== */

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: 'Kanit', 'Prompt', system-ui, -apple-system, sans-serif;
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(37,119,234,0.18), transparent 60%),
    radial-gradient(900px 500px at 100% 0%, rgba(243,112,33,0.15), transparent 60%),
    radial-gradient(800px 600px at 50% 110%, rgba(229,180,0,0.10), transparent 60%),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 45%, #fff8f1 100%);
  color: var(--color-slate-900);
  min-height: 100vh;
  line-height: 1.6;
}

/* ========================================
   动画系统
   ======================================== */

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideInLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* 动画类 */
.animate-fade-in { animation: fadeIn 0.5s ease forwards; }
.animate-fade-in-up { animation: fadeInUp 0.6s ease forwards; }
.animate-fade-in-down { animation: fadeInDown 0.6s ease forwards; }
.animate-slide-in-left { animation: slideInLeft 0.5s ease forwards; }
.animate-slide-in-right { animation: slideInRight 0.5s ease forwards; }
.animate-zoom-in { animation: zoomIn 0.4s ease forwards; }
.animate-pulse { animation: pulse 2s ease-in-out infinite; }
.animate-bounce { animation: bounce 1s ease infinite; }
.animate-spin { animation: spin 1s linear infinite; }

/* 延迟动画 */
.delay-100 { animation-delay: 100ms; }
.delay-200 { animation-delay: 200ms; }
.delay-300 { animation-delay: 300ms; }
.delay-400 { animation-delay: 400ms; }
.delay-500 { animation-delay: 500ms; }

/* 悬停动画 */
.hover-scale { transition: transform 0.3s ease; }
.hover-scale:hover { transform: scale(1.02); }

.hover-lift { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.hover-lift:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }

/* ========================================
   组件样式
   ======================================== */

/* 按钮 */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  font-weight: 600;
  border-radius: var(--radius-lg);
  transition: all var(--transition-base);
  cursor: pointer;
}

.btn-primary {
  background: var(--gradient-brand);
  color: white;
  box-shadow: var(--shadow-md), 0 4px 14px 0 rgba(37,119,234,0.25);
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg), 0 6px 20px 0 rgba(37,119,234,0.35);
}

.btn-secondary {
  background: var(--gradient-cta);
  color: white;
  box-shadow: var(--shadow-md), 0 4px 14px 0 rgba(243,112,33,0.25);
}

.btn-secondary:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg), 0 6px 20px 0 rgba(243,112,33,0.35);
}

.btn-outline {
  background: transparent;
  border: 2px solid var(--brand-primary);
  color: var(--brand-primary);
}

.btn-outline:hover {
  background: var(--brand-primary);
  color: white;
}

/* 卡片 */
.card {
  background: white;
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-sm);
  border: 1px solid var(--color-slate-200);
  transition: all var(--transition-base);
}

.card:hover {
  box-shadow: var(--shadow-md);
  border-color: var(--color-slate-300);
}

/* 输入框 */
.input {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 2px solid var(--color-slate-200);
  border-radius: var(--radius-lg);
  font-size: 0.9375rem;
  transition: all var(--transition-fast);
}

.input:focus {
  outline: none;
  border-color: var(--brand-primary);
  box-shadow: 0 0 0 4px rgba(37,119,234,0.1);
}

/* 徽章 */
.badge {
  display: inline-flex;
  align-items: center;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: var(--radius-full);
}

.badge-primary {
  background: rgba(37,119,234,0.1);
  color: var(--brand-primary);
}

.badge-success {
  background: rgba(16,185,129,0.1);
  color: var(--color-success);
}

.badge-warning {
  background: rgba(245,158,11,0.1);
  color: var(--color-warning);
}

.badge-error {
  background: rgba(239,68,68,0.1);
  color: var(--color-error);
}

/* ========================================
   自定义滚动条
   ======================================== */

::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--color-slate-100);
  border-radius: var(--radius-full);
}

::-webkit-scrollbar-thumb {
  background: var(--color-slate-300);
  border-radius: var(--radius-full);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-slate-400);
}

/* ========================================
   自定义 Range Slider (Loan Calculator)
   ======================================== */

input[type='range'].loan-slider {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  width: 100%;
  height: 10px;
  border-radius: 9999px;
  background: linear-gradient(
    90deg,
    var(--brand-primary) 0%,
    var(--brand-primary) var(--range-progress, 50%),
    var(--color-slate-200) var(--range-progress, 50%),
    var(--color-slate-200) 100%
  );
  outline: none;
}

input[type='range'].loan-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: white;
  border: 3px solid var(--brand-primary);
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  -webkit-transition: transform 0.15s ease;
  transition: transform 0.15s ease;
}

input[type='range'].loan-slider::-webkit-slider-thumb:hover {
  transform: scale(1.1);
}

/* ========================================
   响应式设计
   ======================================== */

@media (max-width: 768px) {
  .hide-mobile {
    display: none !important;
  }
  
  .stack-mobile {
    flex-direction: column;
    gap: 1rem;
  }
}

@media (min-width: 769px) {
  .hide-desktop {
    display: none !important;
  }
}

/* === Custom Range Slider (Loan Calculator) === */
input[type='range'].loan-slider {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  width: 100%;
  height: 10px;
  border-radius: 9999px;
  background: linear-gradient(
    90deg,
    #2577ea 0%,
    #2577ea var(--range-progress, 50%),
    #e2e8f0 var(--range-progress, 50%),
    #e2e8f0 100%
  );
  outline: none;
}
input[type='range'].loan-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #ffffff;
  border: 4px solid #2577ea;
  cursor: pointer;
  box-shadow: 0 4px 18px rgba(37,119,234,0.35);
  -webkit-transition: transform 0.15s ease;
  transition: transform 0.15s ease;
}
input[type='range'].loan-slider::-webkit-slider-thumb:hover {
  transform: scale(1.08);
}
input[type='range'].loan-slider::-moz-range-thumb {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #ffffff;
  border: 4px solid #2577ea;
  cursor: pointer;
  box-shadow: 0 4px 18px rgba(37,119,234,0.35);
}

/* === Primary CTA Button (thai gradient) === */
.btn-primary {
  background: linear-gradient(135deg, #F37021 0%, #E5B400 100%);
  color: #fff;
  border-radius: 9999px;
  padding: 14px 28px;
  font-weight: 700;
  box-shadow: 0 12px 30px -10px rgba(243, 112, 33, 0.7);
  transition: all 0.2s ease;
  letter-spacing: 0.2px;
}
.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 38px -10px rgba(243, 112, 33, 0.8);
  filter: brightness(1.05);
}
.btn-primary:active {
  transform: translateY(0);
}

.btn-blue {
  background: linear-gradient(135deg, #2577ea 0%, #3b95f5 100%);
  color: #fff;
  border-radius: 9999px;
  padding: 14px 28px;
  font-weight: 700;
  box-shadow: 0 12px 30px -10px rgba(37, 119, 234, 0.65);
  transition: all 0.2s ease;
}
.btn-blue:hover {
  transform: translateY(-2px);
  filter: brightness(1.05);
}

.card {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 24px;
  box-shadow: 0 20px 60px -20px rgba(15, 23, 42, 0.12);
}

/* 注意：.field-input 默认只给 padding-right，不写 padding-left
   原因：每个输入框左侧都有图标/前缀 (+66 等)，左内边距必须在组件中
   用 style={{ paddingLeft: 'NNpx' }} 显式指定，避免和 px-4/pl-N 的
   Tailwind 级联顺序冲突导致 iOS Safari 文字压到图标。 */
.field-input {
  @apply w-full rounded-2xl border-2 border-slate-200 bg-white/80 pr-4 py-3.5 text-[14px] sm:text-[15px] outline-none transition
    focus:border-brand-500 focus:bg-white focus:ring-4 focus:ring-brand-500/10 placeholder:text-[12.5px] sm:placeholder:text-[13px] placeholder:text-slate-400 placeholder:leading-snug placeholder:whitespace-nowrap placeholder:overflow-ellipsis placeholder:overflow-hidden;
  padding-left: 48px; /* 默认兜底：52px 左图标安全距离；每个组件可 style 覆盖 */
}

.field-label {
  @apply mb-1.5 block text-[14px] font-semibold text-slate-700;
}

/* Ensure bottom safe area on mobile */
.pb-safe-bottom {
  padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
}

/* Admin table */
.data-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 16px;
  overflow: hidden;
}
.data-table thead th {
  background: linear-gradient(135deg, #2577ea, #1d4faf);
  color: #fff;
  padding: 14px 16px;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
}
.data-table tbody tr:nth-child(even) {
  background: #f8fafc;
}
.data-table tbody td {
  padding: 12px 16px;
  font-size: 13.5px;
  color: #334155;
  border-bottom: 1px solid #e2e8f0;
}
.data-table tbody tr:hover {
  background: #eff6ff;
}

