@tailwind base;@tailwind components;@tailwind utilities;:root{--brand-primary: #41d87e;--brand-primary-hover: #2dd370;--brand-primary-light: #56e891;--brand-primary-mist: #bdf9ce;--brand-primary-soft: #47c77a1f;--brand-primary-ink: #0b0c0b;--brand-primary-text: #24774d;--announcement: #b8e8c8;--announcement-ink: #153d25;--page-background: #f6f6f2;--surface: #ffffff;--surface-soft: #f5f4f1;--surface-muted: #fcfcfc;--surface-selected: #47c77a1f;--text-primary: #161616;--text-secondary: rgba(41, 55, 56, .7);--text-muted: #757c75;--border-subtle: rgba(41, 55, 56, .12);--border-strong: #e1e5df;--warning-text: #8a5a12;--focus-ring: 0 0 0 3px rgba(65, 216, 126, .24);--font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}.dark{--page-background: #0e110e;--surface: #151a15;--surface-soft: #1c241d;--surface-muted: #171d17;--surface-selected: #1f3b2a;--text-primary: #f2f5ef;--text-secondary: #b7c0b6;--text-muted: #899385;--border-subtle: #2b322a;--border-strong: #343e32;--warning-text: #e5c04a}@media (min-width: 1280px){#app{zoom:1.1}}@layer base{*{@apply border-gray-200 dark:border-dark-700;}html{@apply scroll-smooth antialiased;color-scheme:light;background:var(--page-background)}.dark{color-scheme:dark}body{@apply text-gray-900 dark:text-gray-100;@apply min-h-screen;background:var(--page-background);font-family:var(--font-sans)}@supports (-moz-appearance:none){*{scrollbar-width:thin;scrollbar-color:transparent transparent}*:hover,*:focus-within{scrollbar-color:rgba(156,163,175,.5) transparent}.dark *:hover,.dark *:focus-within{scrollbar-color:rgba(75,85,99,.5) transparent}}::-webkit-scrollbar{@apply h-2 w-2;}::-webkit-scrollbar-track{@apply bg-transparent;}::-webkit-scrollbar-thumb{@apply rounded-full bg-transparent;transition:background-color .2s ease}*:hover::-webkit-scrollbar-thumb{@apply bg-gray-300/50 dark:bg-dark-600/50;}*:hover::-webkit-scrollbar-thumb:hover{@apply bg-gray-400 dark:bg-dark-500;}::selection{@apply bg-primary-500/20 text-primary-900 dark:text-primary-100;}}@layer components{.btn{@apply inline-flex items-center justify-center gap-2;@apply rounded-[10px] px-4 py-2.5 text-sm font-semibold;@apply transition-colors duration-150 ease-out;@apply focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-500/45 focus-visible:ring-offset-2;@apply disabled:transform-none disabled:cursor-not-allowed disabled:opacity-50;@apply active:translate-y-px;}.btn-primary{background:var(--brand-primary);color:var(--brand-primary-ink);border:1px solid transparent}.btn-primary:hover{background:var(--brand-primary-hover)}.btn-primary:disabled{background:#c8e9d4;color:#6d7a70}.btn-secondary{@apply bg-white dark:bg-dark-800;@apply text-gray-700 dark:text-gray-200;@apply border border-gray-200 dark:border-dark-600;@apply shadow-sm hover:bg-gray-50 dark:hover:bg-dark-700;@apply hover:border-gray-300 dark:hover:border-dark-500;}.btn-ghost{@apply bg-transparent text-gray-600 dark:text-gray-300;@apply hover:bg-gray-100 dark:hover:bg-dark-800;}.btn-danger{@apply bg-red-600 text-white;@apply hover:bg-red-700;}.btn-success{@apply bg-emerald-600 text-white;@apply hover:bg-emerald-700;}.btn-warning{@apply bg-amber-500 text-gray-950;@apply hover:bg-amber-600;}.btn-stripe{@apply bg-[#635bff] text-white shadow-md shadow-[#635bff]/25;@apply hover:bg-[#5851ea] hover:shadow-lg hover:shadow-[#635bff]/30;@apply dark:bg-[#7a73ff] dark:shadow-[#7a73ff]/20;@apply dark:hover:bg-[#635bff];}.btn-airwallex{@apply bg-[#14171A] text-white shadow-md shadow-emerald-500/20;@apply hover:bg-[#20252a] hover:shadow-lg hover:shadow-emerald-500/25;@apply dark:bg-[#7AF0C4] dark:text-gray-950 dark:shadow-emerald-500/20;@apply dark:hover:bg-[#62d9ad];}.btn-alipay{@apply bg-[#00AEEF] text-white shadow-md shadow-[#00AEEF]/25;@apply hover:bg-[#009dd6] hover:shadow-lg hover:shadow-[#00AEEF]/30;@apply active:bg-[#008cbe];@apply dark:shadow-[#00AEEF]/20;}.btn-wxpay{@apply bg-[#2BB741] text-white shadow-md shadow-[#2BB741]/25;@apply hover:bg-[#24a038] hover:shadow-lg hover:shadow-[#2BB741]/30;@apply active:bg-[#1d8a2f];@apply dark:shadow-[#2BB741]/20;}.btn-sm{@apply rounded-[10px] px-3 py-1.5 text-xs;}.btn-md{@apply rounded-[10px] px-4 py-2 text-sm;}.btn-lg{@apply rounded-2xl px-6 py-3 text-base;}.btn-icon{@apply rounded-[10px] p-2.5;}.input{@apply w-full rounded-[10px] px-4 py-2.5 text-sm;@apply bg-white dark:bg-dark-800;@apply border border-gray-200 dark:border-dark-600;@apply text-gray-900 dark:text-gray-100;@apply placeholder:text-gray-400 dark:placeholder:text-dark-400;@apply transition-colors duration-150;@apply focus:border-primary-500 focus:outline-none focus:ring-2 focus:ring-primary-500/25;@apply disabled:cursor-not-allowed disabled:bg-gray-100 dark:disabled:bg-dark-900;}.dark .input[type=date],.dark .input[type=time],.dark .input[type=datetime-local],.dark .input[type=month],.dark .input[type=week]{color-scheme:dark}.input-error{@apply border-red-500 focus:border-red-500 focus:ring-red-500/30;}.input-label{@apply mb-1.5 block text-sm font-medium text-gray-700 dark:text-gray-300;}.input-hint{@apply mt-1 text-xs text-gray-500 dark:text-dark-400;}.input-error-text{@apply mt-1 text-xs text-red-500;}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.glass{background:var(--page-background);@apply dark:bg-dark-950;}.glass-card{background:var(--surface);@apply rounded-2xl;border:1px solid var(--border-subtle);@apply shadow-card;}.card{@apply rounded-2xl;border:1px solid var(--border-subtle);background:var(--surface);@apply shadow-card;@apply transition-all duration-200;}.dark .card{background:color-mix(in srgb,var(--surface) 86%,transparent)}.card-hover{@apply hover:-translate-y-px hover:shadow-card-hover;@apply hover:border-gray-200 dark:hover:border-dark-600;}.card-glass{background:var(--surface);border:1px solid var(--border-subtle);@apply shadow-card;}.card-header{@apply border-b border-gray-100 dark:border-dark-700;@apply px-6 py-4;}.card-body{@apply p-6;}.card-footer{@apply border-t border-gray-100 dark:border-dark-700;@apply px-6 py-4;}.stat-card{@apply card p-5;@apply flex items-start gap-4;}.stat-icon{@apply h-12 w-12 rounded-xl;@apply flex items-center justify-center;@apply text-xl;}.stat-icon-primary{@apply bg-primary-100 text-primary-600 dark:bg-primary-900/30 dark:text-primary-400;}.stat-icon-success{@apply bg-emerald-100 text-emerald-600 dark:bg-emerald-900/30 dark:text-emerald-400;}.stat-icon-warning{@apply bg-amber-100 text-amber-600 dark:bg-amber-900/30 dark:text-amber-400;}.stat-icon-danger{@apply bg-red-100 text-red-600 dark:bg-red-900/30 dark:text-red-400;}.stat-value{@apply text-2xl font-bold text-gray-900 dark:text-white truncate;}.stat-label{@apply text-sm text-gray-500 dark:text-dark-400;}.stat-trend{@apply mt-1 flex items-center gap-1 text-xs font-medium;}.stat-trend-up{@apply text-emerald-600 dark:text-emerald-400;}.stat-trend-down{@apply text-red-600 dark:text-red-400;}.table-container{@apply overflow-x-auto rounded-xl border border-gray-200 dark:border-dark-700;}.table{@apply w-full text-sm;}.table th{@apply px-4 py-3 text-left text-xs font-semibold;@apply text-gray-600 dark:text-dark-300;@apply bg-gray-50 dark:bg-dark-800/50;@apply border-b border-gray-200 dark:border-dark-700;}.table td{@apply px-4 py-3 text-[13px];@apply text-gray-700 dark:text-gray-300;@apply border-b border-gray-100 dark:border-dark-800;}.table tr:last-child td{@apply border-b-0;}.table tbody tr{@apply transition-colors duration-150;@apply hover:bg-gray-50 dark:hover:bg-dark-800/30;}.badge{@apply inline-flex items-center gap-1;@apply rounded-md px-2 py-0.5 text-xs font-medium;}.badge-primary{@apply bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400;}.badge-success{@apply bg-emerald-100 text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400;}.badge-warning{@apply bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400;}.badge-danger{@apply bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400;}.badge-gray{@apply bg-gray-100 text-gray-700 dark:bg-dark-700 dark:text-dark-300;}.badge-purple{@apply bg-purple-100 text-purple-700 dark:bg-purple-900/30 dark:text-purple-400;}.dropdown{@apply absolute z-50;@apply bg-white dark:bg-dark-800;@apply rounded-xl;@apply border border-gray-200 dark:border-dark-700;@apply shadow-lg;@apply py-1;@apply origin-top-right animate-scale-in;}.dropdown-item{@apply px-4 py-2 text-sm;@apply text-gray-700 dark:text-gray-300;@apply hover:bg-gray-100 dark:hover:bg-dark-700;@apply cursor-pointer transition-colors;@apply flex items-center gap-2;}.modal-overlay{@apply fixed inset-0 z-50;@apply bg-black/45;@apply flex items-center justify-center p-2 sm:p-4;}.modal-content{@apply w-full;@apply max-h-[95vh] sm:max-h-[90vh];@apply bg-white dark:bg-dark-800;@apply rounded-2xl shadow-2xl;@apply border border-gray-200 dark:border-dark-700;@apply flex flex-col;}.modal-header{@apply border-b border-gray-200 px-4 py-3 dark:border-dark-700;@apply sm:px-6 sm:py-4;@apply flex items-center justify-between;@apply flex-shrink-0;}.modal-title{@apply text-lg font-semibold text-gray-900 dark:text-white;}.modal-body{@apply px-4 py-3;@apply sm:px-6 sm:py-4;@apply flex-1 overflow-y-auto;}.modal-footer{@apply border-t border-gray-200 px-4 py-3 dark:border-dark-700;@apply sm:px-6 sm:py-4;@apply flex items-center justify-end gap-3;@apply flex-shrink-0;}body.modal-open{overflow:hidden}.modal-enter-active{transition:opacity .25s ease-out}.modal-leave-active{transition:opacity .2s ease-in}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-active .modal-content{transition:transform .25s ease-out,opacity .25s ease-out}.modal-leave-active .modal-content{transition:transform .2s ease-in,opacity .2s ease-in}.modal-enter-from .modal-content,.modal-leave-to .modal-content{transform:scale(.95);opacity:0}.modal-enter-to .modal-content,.modal-leave-from .modal-content{transform:scale(1);opacity:1}@media (prefers-reduced-motion: reduce){.modal-enter-active,.modal-leave-active,.modal-enter-active .modal-content,.modal-leave-active .modal-content{transition-duration:1ms;transition-delay:0ms}.modal-enter-from .modal-content,.modal-leave-to .modal-content{transform:none}}.dialog-overlay{@apply fixed inset-0 z-50;@apply bg-black/40 dark:bg-black/60;@apply flex items-center justify-center p-4;}.dialog-container{@apply flex w-full flex-col;@apply max-h-[90vh];@apply rounded-2xl bg-white dark:bg-dark-800;@apply shadow-xl;}.dialog-header{@apply border-b border-gray-100 px-6 py-4 dark:border-dark-700;@apply flex items-center justify-between;}.dialog-body{@apply overflow-y-auto px-6 py-4;}.dialog-footer{@apply border-t border-gray-100 px-6 py-4 dark:border-dark-700;@apply bg-gray-50/60 dark:bg-dark-900/40;@apply flex items-center justify-end gap-3;}.toast{@apply fixed right-4 top-4 z-[100];@apply min-w-[320px] max-w-md;@apply bg-white dark:bg-dark-800;@apply rounded-xl shadow-lg;@apply border-l-4;@apply p-4;@apply animate-slide-in-right;}.toast-success{@apply border-l-emerald-500;}.toast-error{@apply border-l-red-500;}.toast-warning{@apply border-l-amber-500;}.toast-info{@apply border-l-primary-500;}.sidebar{@apply fixed inset-y-0 left-0 z-40;@apply w-64 bg-white dark:bg-dark-900;@apply border-r border-gray-200 dark:border-dark-800;@apply flex flex-col;@apply transition-transform duration-300;transition-property:width,transform;background:var(--surface)}.sidebar-header{@apply h-16 px-6;@apply flex items-center gap-3;@apply border-b border-gray-100 dark:border-dark-800;transition:padding .2s ease,gap .2s ease}.sidebar-nav{@apply flex-1 overflow-y-auto px-3 py-4;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;overscroll-behavior:contain}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{border-radius:999px;background:var(--border-strong)}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-link{@apply flex items-center gap-3 rounded-[10px] py-2.5;@apply overflow-hidden;@apply text-sm font-medium;@apply text-gray-600 dark:text-dark-300;@apply transition-colors duration-150;@apply hover:bg-gray-100 dark:hover:bg-dark-800;@apply hover:text-gray-900 dark:hover:text-white;padding-left:1.0625rem;padding-right:.875rem}.sidebar-link-active{background:var(--surface-selected);color:var(--brand-primary-text);@apply hover:bg-primary-100/70 dark:hover:bg-primary-900/30 dark:text-primary-300;}.sidebar-section{@apply mb-6;}.sidebar-section-title{@apply mb-2 px-3;@apply text-xs font-semibold uppercase tracking-wider;@apply text-gray-400 dark:text-dark-500;}.page-header{@apply mb-6;}.page-title{@apply text-2xl font-bold text-gray-900 dark:text-white;}.page-description{@apply mt-1 text-sm text-gray-500 dark:text-dark-400;}.empty-state{@apply flex flex-col items-center justify-center px-4 py-12;@apply text-center;}.empty-state-icon{@apply mb-4 h-16 w-16;@apply text-gray-300 dark:text-dark-600;}.empty-state-title{@apply mb-1 text-lg font-medium text-gray-900 dark:text-white;}.empty-state-description{@apply max-w-sm text-sm text-gray-500 dark:text-dark-400;}.spinner{@apply h-5 w-5 rounded-full border-2 border-current border-t-transparent;@apply animate-spin;}.skeleton{@apply animate-pulse rounded bg-gray-200 dark:bg-dark-700;}.divider{@apply my-4 h-px bg-gray-200 dark:bg-dark-700;}.tabs{@apply flex gap-1 p-1;@apply rounded-xl bg-gray-100 dark:bg-dark-800;}.tab{@apply rounded-lg px-4 py-2 text-sm font-medium;@apply text-gray-600 dark:text-dark-400;@apply transition-all duration-200;@apply hover:text-gray-900 dark:hover:text-white;}.tab-active{@apply bg-white dark:bg-dark-700;@apply text-gray-900 dark:text-white;@apply shadow-sm;}.progress{@apply h-2 overflow-hidden rounded-full bg-gray-200 dark:bg-dark-700;}.progress-bar{background:var(--brand-primary);@apply h-full transition-all duration-300;}.switch{@apply relative h-6 w-11 cursor-pointer rounded-full;@apply bg-gray-300 dark:bg-dark-600;@apply transition-colors duration-200;}.switch-active{@apply bg-primary-500;}.switch-thumb{@apply absolute left-0.5 top-0.5 h-5 w-5 rounded-full;@apply bg-white shadow-sm;@apply transition-transform duration-200;}.switch-active .switch-thumb{@apply translate-x-5;}.code{@apply font-mono text-sm;@apply bg-gray-100 dark:bg-dark-800;@apply rounded px-1.5 py-0.5;@apply text-primary-600 dark:text-primary-400;}.code-block{@apply font-mono text-sm;@apply bg-gray-900 text-gray-100;@apply overflow-x-auto rounded-xl p-4;}.tour-step-description{@apply space-y-3 text-sm leading-relaxed text-gray-700 dark:text-gray-200;}.tour-step-description ul{@apply list-disc pl-5;}.tour-step-description ol{@apply list-decimal pl-5;}.tour-step-description li+li{@apply mt-1;}.tour-info-box{@apply rounded-md border-l-4 border-blue-500 bg-blue-50 px-3 py-2 text-xs text-blue-900;@apply dark:border-blue-400 dark:bg-blue-950/40 dark:text-blue-200;}.tour-success-box{@apply rounded-md border-l-4 border-emerald-500 bg-emerald-50 px-3 py-2 text-xs text-emerald-900;@apply dark:border-emerald-400 dark:bg-emerald-950/40 dark:text-emerald-200;}.tour-warning-box{@apply rounded-md border-l-4 border-amber-500 bg-amber-50 px-3 py-2 text-xs text-amber-900;@apply dark:border-amber-400 dark:bg-amber-950/40 dark:text-amber-200;}.tour-error-box{@apply rounded-md border-l-4 border-red-500 bg-red-50 px-3 py-2 text-xs text-red-900;@apply dark:border-red-400 dark:bg-red-950/40 dark:text-red-200;}.table-wrapper{overflow-x:auto}.table-wrapper thead.sticky{box-shadow:0 1px 3px #0000001a}}@layer utilities{.text-gradient{color:var(--text-primary);-webkit-text-fill-color:var(--text-primary);background:none}.glass{background:var(--page-background)}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.safe-top{padding-top:env(safe-area-inset-top)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}}
