:root{--color-bg: #F8FAFC;--color-bg-subtle: #F1F5F9;--color-surface: #FFFFFF;--color-surface-hover: #F8FAFC;--color-surface-elevated: #FFFFFF;--color-border: #E2E8F0;--color-border-subtle: #F1F5F9;--color-text-primary: #0F172A;--color-text-secondary: #475569;--color-text-tertiary: #94A3B8;--color-text-inverse: #FFFFFF;--color-primary: #6366F1;--color-primary-hover: #4F46E5;--color-primary-light: rgba(99, 102, 241, .08);--color-primary-glow: rgba(99, 102, 241, .15);--color-success: #10B981;--color-success-light: rgba(16, 185, 129, .08);--color-danger: #EF4444;--color-danger-light: rgba(239, 68, 68, .08);--color-warning: #F59E0B;--color-warning-light: rgba(245, 158, 11, .08);--color-info: #3B82F6;--color-info-light: rgba(59, 130, 246, .08);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .06), 0 2px 4px -2px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .06), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .06), 0 8px 10px -6px rgba(0, 0, 0, .03);--shadow-primary: 0 4px 14px rgba(99, 102, 241, .25);--shadow-success: 0 4px 14px rgba(16, 185, 129, .25);--shadow-danger: 0 4px 14px rgba(239, 68, 68, .2);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-full: 9999px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--space-4xl: 40px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1);--z-dropdown: 50;--z-sticky: 100;--z-overlay: 200;--z-modal: 300;--z-toast: 400}.dark{--color-bg: #0C111D;--color-bg-subtle: #111827;--color-surface: #161B26;--color-surface-hover: #1D2432;--color-surface-elevated: #1D2432;--color-border: #1E293B;--color-border-subtle: #1E293B;--color-text-primary: #F1F5F9;--color-text-secondary: #94A3B8;--color-text-tertiary: #64748B;--color-text-inverse: #0F172A;--color-primary: #818CF8;--color-primary-hover: #6366F1;--color-primary-light: rgba(129, 140, 248, .1);--color-primary-glow: rgba(129, 140, 248, .15);--color-success: #34D399;--color-success-light: rgba(52, 211, 153, .1);--color-danger: #F87171;--color-danger-light: rgba(248, 113, 113, .1);--color-warning: #FBBF24;--color-warning-light: rgba(251, 191, 36, .1);--color-info: #60A5FA;--color-info-light: rgba(96, 165, 250, .1);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .2);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -2px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -4px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 8px 10px -6px rgba(0, 0, 0, .2);--shadow-primary: 0 4px 14px rgba(129, 140, 248, .2);--shadow-success: 0 4px 14px rgba(52, 211, 153, .15);--shadow-danger: 0 4px 14px rgba(248, 113, 113, .15)}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full);transition:background var(--transition-base)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideOutLeft{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.6}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.animate-fadeIn{animation:fadeIn var(--transition-slow) ease-out}.animate-fadeInUp{animation:fadeInUp .4s ease-out}.animate-fadeInDown{animation:fadeInDown .4s ease-out}.animate-slideInRight{animation:slideInRight .4s ease-out}.animate-slideInLeft{animation:slideInLeft var(--transition-slow) ease-out}.animate-scaleIn{animation:scaleIn var(--transition-slow) ease-out}.animate-shimmer{background:linear-gradient(90deg,var(--color-bg-subtle) 25%,var(--color-border) 50%,var(--color-bg-subtle) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.animate-pulse-soft{animation:pulse-soft 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.glass{background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2)}.dark .glass{background:#161b26cc;border:1px solid rgba(255,255,255,.06)}.skeleton{position:relative;overflow:hidden;background:var(--color-bg-subtle);border-radius:var(--radius-md)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,var(--color-border) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-text{height:14px;width:60%;border-radius:var(--radius-sm)}.skeleton-title{height:20px;width:40%;border-radius:var(--radius-sm)}.skeleton-avatar{width:40px;height:40px;border-radius:var(--radius-full)}input:not([type=checkbox]):not([type=radio]),select,textarea{font-family:var(--font-sans);font-size:14px;transition:all var(--transition-base)}@media screen and (max-width:768px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}}input:focus,select:focus,textarea:focus{outline:none}.font-financial{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-elevated{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;line-height:1.6}.badge-success{background:var(--color-success-light);color:var(--color-success)}.badge-danger{background:var(--color-danger-light);color:var(--color-danger)}.badge-warning{background:var(--color-warning-light);color:var(--color-warning)}.badge-primary{background:var(--color-primary-light);color:var(--color-primary)}.badge-info{background:var(--color-info-light);color:var(--color-info)}.status-dot{width:6px;height:6px;border-radius:var(--radius-full);flex-shrink:0}.status-dot-active{animation:pulse-soft 2s ease-in-out infinite}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all var(--transition-base);white-space:nowrap;min-height:40px}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-success{background:var(--color-success);color:#fff;box-shadow:var(--shadow-success)}.btn-danger{background:var(--color-danger);color:#fff;box-shadow:var(--shadow-danger)}.btn-ghost{background:transparent;color:var(--color-text-secondary);padding:8px;min-height:36px}.btn-ghost:hover{background:var(--color-bg-subtle);color:var(--color-text-primary)}.btn-outline{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-outline:hover{background:var(--color-bg-subtle);border-color:var(--color-primary);color:var(--color-primary)}@media(max-width:768px){.btn{min-height:44px;padding:12px 16px}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:var(--z-overlay);animation:fadeIn var(--transition-fast) ease-out}.dark .overlay{background:#0009}.modal-container{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:16px}@media(max-width:640px){.modal-container{align-items:flex-end;padding:0}.modal-container>div{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:92vh;width:100%}}.table-premium{width:100%;text-align:left}.table-premium thead{position:sticky;top:0;z-index:10}.table-premium thead th{background:var(--color-bg-subtle);padding:12px 16px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);border-bottom:1px solid var(--color-border);white-space:nowrap}.table-premium tbody tr{border-bottom:1px solid var(--color-border-subtle);transition:background var(--transition-fast)}.table-premium tbody tr:hover{background:var(--color-surface-hover)}.table-premium tbody td{padding:14px 16px;font-size:13px;color:var(--color-text-secondary)}.table-premium.table-striped tbody tr:nth-child(2n){background:var(--color-bg-subtle)}@media(max-width:768px){.table-mobile-cards{display:block}.table-mobile-cards thead{display:none}.table-mobile-cards tbody{display:flex;flex-direction:column;gap:8px}.table-mobile-cards tbody tr{display:flex;flex-wrap:wrap;padding:12px 16px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:4px 12px;align-items:center}.table-mobile-cards tbody td{padding:2px 0;border:none}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--color-surface);border-top:1px solid var(--color-border);display:flex;justify-content:space-around;align-items:center;padding:6px 0;padding-bottom:calc(6px + env(safe-area-inset-bottom));z-index:var(--z-sticky);box-shadow:0 -2px 10px #0000000d}.dark .bottom-nav{box-shadow:0 -2px 10px #0000004d}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;border-radius:var(--radius-md);color:var(--color-text-tertiary);font-size:10px;font-weight:600;transition:all var(--transition-fast);position:relative;cursor:pointer;border:none;background:transparent;min-width:56px}.bottom-nav-item.active{color:var(--color-primary)}.bottom-nav-item.active:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);width:20px;height:3px;background:var(--color-primary);border-radius:0 0 var(--radius-full) var(--radius-full)}.sidebar-mobile-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:var(--z-overlay);animation:fadeIn var(--transition-fast) ease-out}.sidebar-mobile{position:fixed;top:0;left:0;bottom:0;width:280px;max-width:85vw;z-index:var(--z-modal);animation:slideInLeft var(--transition-slow) ease-out}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}@media print{.no-print,nav,aside,.bottom-nav{display:none!important}body{background:#fff;color:#000}.card{box-shadow:none;border:1px solid #ddd}}@supports (padding: env(safe-area-inset-bottom)){.pb-safe{padding-bottom:env(safe-area-inset-bottom)}}.truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}
