:root{--primary: #1BB1B5;--primary-hover: #28C9CD;--primary-dark: #138F92;--primary-darker: #0C6063;--primary-light: #E3F7F7;--primary-ghost: rgba(27, 177, 181, .12);--sidebar-bg: linear-gradient(180deg, #1A1A1A 0%, #0A0A0A 100%);--sidebar-width: 220px;--sidebar-collapsed: 64px;--sidebar-hover: rgba(27, 177, 181, .12);--sidebar-active: rgba(27, 177, 181, .22);--landing-bg: #141414;--green: #00C853;--green-light: #E8FAF0;--orange: #FF9100;--orange-light: #FFF3E0;--red: #EF4444;--red-light: #FEF2F2;--purple: #8B5CF6;--purple-light: #F3F0FF;--teal: #14B8A6;--yellow: #F59E0B;--white: #FFFFFF;--gray-50: #F8FAFC;--gray-100: #F1F5F9;--gray-200: #E2E8F0;--gray-300: #CBD5E1;--gray-400: #94A3B8;--gray-500: #64748B;--gray-600: #475569;--gray-700: #334155;--gray-800: #1E293B;--gray-900: #0F172A;--bg-page: #F4F1E8;--bg-card: #FFFFFF;--text-primary: #1A1A1A;--text-secondary: #5F5A4E;--text-tertiary: #94A3B8;--text-white: #FFFFFF;--text-link: var(--primary);--border-color: #E5DCC3;--border-light: #F1ECDE;--divider: #EEE7D2;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-base: .875rem;--fs-md: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.25rem;--fs-2xl: 1.5rem;--fs-3xl: 1.875rem;--fs-4xl: 2.25rem;--fs-5xl: 3rem;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800;--lh-tight: 1.2;--lh-snug: 1.35;--lh-normal: 1.5;--lh-relaxed: 1.65;--ls-tight: -.02em;--ls-normal: 0;--ls-wide: .02em;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--sp-20: 80px;--sp-24: 96px;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--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, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .04);--shadow-card: 0 1px 3px rgba(0, 0, 0, .05), 0 1px 2px rgba(0, 0, 0, .03);--shadow-card-hover: 0 8px 25px rgba(0, 0, 0, .1), 0 4px 10px rgba(0, 0, 0, .05);--shadow-sidebar: 4px 0 15px rgba(0, 0, 0, .08);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.45, 0, .55, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--transition-base: all var(--duration-normal) var(--ease-out);--transition-fast: all var(--duration-fast) var(--ease-out);--transition-slow: all var(--duration-slow) var(--ease-out);--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-sidebar: 300;--z-overlay: 400;--z-modal: 500;--z-toast: 600}html.dashboard-html{font-size:14.5px;--sp-3: 10px;--sp-4: 14px;--sp-5: 16px;--sp-6: 20px;--sp-8: 26px;--sp-10: 32px;--sp-12: 38px;--sp-16: 48px;--sp-20: 60px;--sp-24: 72px;--radius-sm: 5px;--radius-md: 6px;--radius-lg: 10px;--radius-xl: 13px;--radius-2xl: 16px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--fs-base);font-weight:var(--fw-regular);line-height:var(--lh-normal);color:var(--text-primary);background-color:var(--bg-page);overflow-x:hidden}html,body{width:100%;max-width:100%}img,svg,video{display:block;max-width:100%;height:auto}a{color:var(--text-link);text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--primary-hover)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;outline:none;color:inherit}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit;outline:none;min-width:0}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);color:var(--text-primary)}h1{font-size:var(--fs-4xl)}h2{font-size:var(--fs-3xl)}h3{font-size:var(--fs-2xl)}h4{font-size:var(--fs-xl)}h5{font-size:var(--fs-lg)}h6{font-size:var(--fs-md)}p{line-height:var(--lh-relaxed);color:var(--text-secondary)}::selection{background-color:var(--primary);color:var(--text-white)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-col{display:flex;flex-direction:column}.gap-1{gap:var(--sp-1)}.gap-2{gap:var(--sp-2)}.gap-3{gap:var(--sp-3)}.gap-4{gap:var(--sp-4)}.gap-6{gap:var(--sp-6)}.gap-8{gap:var(--sp-8)}.text-sm{font-size:var(--fs-sm)}.text-xs{font-size:var(--fs-xs)}.text-md{font-size:var(--fs-md)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-white{color:var(--text-white)}.fw-medium{font-weight:var(--fw-medium)}.fw-semibold{font-weight:var(--fw-semibold)}.fw-bold{font-weight:var(--fw-bold)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-5);font-size:var(--fs-base);font-weight:var(--fw-semibold);line-height:1;border-radius:var(--radius-md);transition:var(--transition-base);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:var(--text-white);box-shadow:0 4px 12px #0a7aff40;position:relative;overflow:hidden;border:none;z-index:1}.btn-primary:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transform:skew(-20deg);transition:left .6s ease;z-index:-1}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-hover),var(--primary-darker));transform:translateY(-2px);box-shadow:0 6px 20px #0a7aff59}.btn-primary:hover:after{left:200%}.btn-primary:active{transform:translateY(0)}.btn-secondary{background-color:var(--white);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background-color:var(--gray-50);border-color:var(--gray-300)}.btn-dark{background-color:var(--gray-800);color:var(--text-white)}.btn-dark:hover{background-color:var(--gray-700);transform:translateY(-1px)}.btn-sm{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}.btn-lg{padding:var(--sp-4) var(--sp-6);font-size:var(--fs-md)}.btn-block{width:100%}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-card);transition:var(--transition-base)}.card:hover{box-shadow:var(--shadow-card-hover)}.badge{display:inline-flex;align-items:center;padding:var(--sp-1) var(--sp-3);font-size:var(--fs-xs);font-weight:var(--fw-semibold);border-radius:var(--radius-full);line-height:1.3}.badge-primary{background-color:var(--primary-light);color:var(--primary)}.badge-green{background-color:var(--green-light);color:var(--green)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out) both}.animate-fade-in-up{animation:fadeInUp var(--duration-slow) var(--ease-out) both}.animate-scale-in{animation:scaleIn var(--duration-normal) var(--ease-out) both}.delay-1{animation-delay:50ms}.delay-2{animation-delay:.1s}.delay-3{animation-delay:.15s}.delay-4{animation-delay:.2s}.delay-5{animation-delay:.25s}.delay-6{animation-delay:.3s}.delay-7{animation-delay:.35s}.delay-8{animation-delay:.4s}i.bi{font-size:1.15rem;display:inline-block;vertical-align:middle;line-height:1}
