:root{--color-forest: #2C5F2D;--color-moss: #97BC62;--color-light-green: #EBF5E8;--color-white: #FFFFFF;--color-bg-lightest: #F8F9FA;--color-bg-light: #E9ECEF;--color-border-light: #DEE2E6;--color-border: #CED4DA;--color-gray-light: #ADB5BD;--color-gray: #6C757D;--color-gray-dark: #495057;--color-text: #343A40;--color-text-dark: #212529;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, sans-serif;--transition: all .2s ease}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;width:100%}body{font-family:var(--font-family);background-color:var(--color-bg-lightest);color:var(--color-text-dark);line-height:1.5;margin:0;width:100%;overflow-x:hidden}#root{min-height:100vh;width:100%}button{font-family:var(--font-family);cursor:pointer;border:none;transition:var(--transition)}input,textarea,select{font-family:var(--font-family);transition:var(--transition);max-width:100%}img,svg,video,canvas{max-width:100%;height:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-light)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-lg)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-light)}a{color:var(--color-forest);text-decoration:none;transition:var(--transition)}a:hover{color:var(--color-moss)}h1,h2,h3,h4,h5,h6{color:var(--color-text-dark);line-height:1.2}h1{font-size:32px;font-weight:700;margin-bottom:var(--spacing-md)}h2{font-size:28px;font-weight:700;margin-bottom:var(--spacing-md)}h3{font-size:20px;font-weight:600;margin-bottom:var(--spacing-sm)}p{color:var(--color-gray-dark);margin-bottom:var(--spacing-md)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-6{grid-template-columns:repeat(6,1fr)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.text-center{text-align:center}.text-sm{font-size:14px}.text-base{font-size:16px}.text-lg{font-size:18px}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-gray{color:var(--color-gray)}.text-gray-dark{color:var(--color-gray-dark)}.text-forest{color:var(--color-forest)}.text-moss{color:var(--color-moss)}.bg-forest{background-color:var(--color-forest);color:var(--color-white)}.bg-moss{background-color:var(--color-moss);color:var(--color-white)}.bg-light-green{background-color:var(--color-light-green)}.bg-white{background-color:var(--color-white)}.border{border:1px solid var(--color-border-light)}.border-b{border-bottom:1px solid var(--color-border-light)}.border-gray{border-color:var(--color-border-light)}.shadow{box-shadow:0 1px 3px #0000001a}.shadow-md{box-shadow:0 4px 12px #0000001a}.shadow-lg,.hover-shadow:hover{box-shadow:0 10px 25px #00000026}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.mx-auto{margin-left:auto;margin-right:auto}.mt-md{margin-top:var(--spacing-md)}.mb-md{margin-bottom:var(--spacing-md)}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.cursor-pointer{cursor:pointer}.disabled{opacity:.6;cursor:not-allowed}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll table{min-width:640px}@media(max-width:767px){h1{font-size:30px}h2{font-size:24px}h3{font-size:18px}.container{padding:0 16px}}
