:root{--color-primary-900:#0a1f15;--color-primary-800:#1b4332;--color-primary-700:#2d6a4f;--color-primary-600:#40916c;--color-primary-500:#52b788;--color-primary-400:#74c69d;--color-primary-300:#95d5b2;--color-primary-200:#b7e4c7;--color-primary-100:#d8f3dc;--color-primary-50:#f0faf3;--color-success:#40916c;--color-warning:#ffb703;--color-error:#e63946;--color-info:#4361ee;--color-white:#fff;--color-gray-50:#f8f9fa;--color-gray-100:#f1f3f5;--color-gray-200:#e9ecef;--color-gray-300:#dee2e6;--color-gray-400:#ced4da;--color-gray-500:#adb5bd;--color-gray-600:#6c757d;--color-gray-700:#495057;--color-gray-800:#343a40;--color-gray-900:#212529;--font-family-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease;--z-dropdown:100;--z-sticky:200;--z-modal:300;--z-toast:400}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--color-white);color:var(--color-gray-900);font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:1.5}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:var(--color-gray-100)}::-webkit-scrollbar-thumb{background:var(--color-primary-300);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-400)}h1,h2,h3,h4,h5,h6{color:var(--color-gray-900);font-weight:600;line-height:1.25}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}p{line-height:1.7}a{color:var(--color-primary-600);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-700)}.page-container{animation:fadeIn .4s ease-out;display:flex;flex-direction:column;gap:var(--spacing-6);margin:0 auto;max-width:1200px;width:100%}.page-header{align-items:center;display:flex;justify-content:space-between}.grid-auto{display:grid;gap:var(--spacing-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.sr-only{height:1px;margin:-1px;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0}.sr-only,.truncate{overflow:hidden;white-space:nowrap}.truncate{text-overflow:ellipsis}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.animate-fade-in{animation:fadeIn var(--transition-normal) ease}.animate-slide-in{animation:slideIn var(--transition-normal) ease}.animate-pulse{animation:pulse 2s ease infinite}.animate-spin{animation:spin 1s linear infinite}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,var(--color-gray-100) 25%,var(--color-gray-200) 50%,var(--color-gray-100) 75%);background-size:200% 100%;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.btn{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:500;gap:var(--spacing-2);justify-content:center;line-height:1.5;padding:var(--spacing-2) var(--spacing-4);text-decoration:none;transition:all var(--transition-fast)}.btn:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.btn--primary{background-color:var(--color-primary-600);border-color:var(--color-primary-600);box-shadow:var(--shadow-sm);color:var(--color-white)}.btn--primary:focus-visible,.btn--primary:hover{background-color:var(--color-primary-700);border-color:var(--color-primary-700)}.btn--secondary{background-color:var(--color-white);border-color:var(--color-gray-300);box-shadow:var(--shadow-sm);color:var(--color-gray-700)}.btn--secondary:focus-visible,.btn--secondary:hover{background-color:var(--color-gray-50);border-color:var(--color-gray-400);color:var(--color-gray-900)}.btn--ghost{color:var(--color-gray-600)}.btn--ghost:focus-visible,.btn--ghost:hover{background-color:var(--color-gray-100);color:var(--color-gray-900)}.btn--danger{background-color:var(--color-white);border-color:#fca5a5;box-shadow:var(--shadow-sm);color:var(--color-error)}.btn--danger:focus-visible,.btn--danger:hover{background-color:#fee2e2;border-color:#f87171}.btn--sm{border-radius:var(--radius-sm);font-size:var(--font-size-xs);padding:var(--spacing-1) var(--spacing-3)}.btn--lg{border-radius:var(--radius-lg);font-size:var(--font-size-base);padding:var(--spacing-3) var(--spacing-6)}.btn--full{width:100%}.card{background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d;overflow:hidden;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),border-color .2s ease}.card--hoverable:hover{border-color:var(--color-gray-300);box-shadow:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000a;transform:translateY(-2px)}.empty-state{align-items:center;animation:fadeIn .5s ease-out;background-color:var(--color-gray-50);border:1px dashed var(--color-gray-300);border-radius:var(--radius-lg);color:var(--color-gray-500);display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-12) var(--spacing-6);text-align:center}.empty-state__icon{color:var(--color-gray-400);filter:drop-shadow(0 4px 6px rgb(0 0 0/.05));margin-bottom:var(--spacing-4)}.empty-state h3{color:var(--color-gray-900);font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-2)}.empty-state p{font-size:var(--font-size-sm);max-width:400px}.card__header{align-items:center;border-bottom:1px solid var(--color-gray-100);display:flex;justify-content:space-between;padding:var(--spacing-4) var(--spacing-5)}.card__body{padding:var(--spacing-5)}.card__footer{background-color:var(--color-gray-50);border-top:1px solid var(--color-gray-100);padding:var(--spacing-4) var(--spacing-5)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.form-label{color:var(--color-gray-700);font-weight:500}.form-label,.input{font-size:var(--font-size-sm)}.input{background-color:var(--color-white);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-gray-900);font-family:inherit;padding:var(--spacing-2) var(--spacing-3);transition:all var(--transition-fast);width:100%}.input::-moz-placeholder{color:var(--color-gray-400)}.input::placeholder{color:var(--color-gray-400)}.input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100);outline:none}.input:disabled{background-color:var(--color-gray-50);color:var(--color-gray-500);cursor:not-allowed}
