@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&display=swap";
:root{--koli-midnight:#1a2b48;--koli-coral:#ff7f7f;--koli-coral-dark:#e06a6a;--bg-primary:#f8f9fa;--bg-surface:#fff;--bg-card:#fff;--bg-subtle:#f1f3f5;--bg-divider:#e9ecef;--text-primary:#1a2b48;--text-secondary:#6c757d;--text-hint:#adb5bd;--text-inverse:#fff;--color-success:#2ecc71;--color-error:#e74c3c;--color-warning:#f39c12;--color-info:#3498db;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-xl:0 16px 48px #00000026;--shadow-glow:0 0 30px #ff7f7f33;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--font-family:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--max-width:1200px;--header-height:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}img{max-width:100%;display:block}input,select,textarea{font-family:inherit;font-size:inherit}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 20px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{border-radius:var(--radius-md);transition:all var(--transition-normal);white-space:nowrap;cursor:pointer;border:none;outline:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;display:inline-flex}.btn:focus-visible{box-shadow:0 0 0 3px #ff7f7f4d}.btn-primary{background:var(--koli-coral);color:var(--text-inverse);box-shadow:0 2px 8px #ff7f7f4d}.btn-primary:hover{background:var(--koli-coral-dark);transform:translateY(-1px);box-shadow:0 4px 16px #ff7f7f66}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-subtle);color:var(--text-primary)}.btn-secondary:hover{background:var(--bg-divider)}.btn-outline{color:var(--koli-coral);border:2px solid var(--koli-coral);background:0 0}.btn-outline:hover{background:#ff7f7f14}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-subtle);color:var(--text-primary)}.btn-lg{border-radius:var(--radius-lg);padding:16px 32px;font-size:17px}.btn-sm{padding:8px 16px;font-size:13px}.btn-icon{border-radius:var(--radius-full);width:44px;height:44px;padding:0}.btn-full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.input-group{flex-direction:column;gap:6px;display:flex}.input-group label{color:var(--text-primary);font-size:14px;font-weight:600}.input{background:var(--bg-surface);border:2px solid var(--bg-divider);border-radius:var(--radius-md);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast);outline:none;padding:12px 16px;font-size:15px}.input:focus{border-color:var(--koli-coral);box-shadow:0 0 0 3px #ff7f7f1a}.input::placeholder{color:var(--text-hint)}.input-error{border-color:var(--color-error)}.error-text{color:var(--color-error);font-size:13px;font-weight:500}.card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal);overflow:hidden}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-flat{box-shadow:none;border:1px solid var(--bg-divider)}.card-flat:hover{border-color:var(--koli-coral);transform:none}.badge{border-radius:var(--radius-full);white-space:nowrap;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-coral{color:var(--koli-coral);background:#ff7f7f1f}.badge-success{color:var(--color-success);background:#2ecc711f}.badge-warning{color:var(--color-warning);background:#f39c121f}.badge-error{color:var(--color-error);background:#e74c3c1f}.skeleton{background:linear-gradient(90deg, var(--bg-subtle) 25%, var(--bg-divider) 50%, var(--bg-subtle) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fadeIn{animation:fadeIn var(--transition-slow) ease-out}.animate-slideUp{animation:slideUp var(--transition-slow) ease-out}.animate-slideDown{animation:slideDown var(--transition-normal) ease-out}.animate-scaleIn{animation:scaleIn var(--transition-normal) ease-out}.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}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#00000080;animation:.2s ease-out fadeIn;position:fixed;inset:0}.modal{background:var(--bg-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;z-index:101;max-height:90vh;animation:.3s ease-out slideUp;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}@media (min-width:640px){.modal{border-radius:var(--radius-xl);width:90%;max-width:500px;max-height:85vh;animation:.3s ease-out scaleIn;inset:50% auto auto 50%;transform:translate(-50%,-50%)}}.modal-header{border-bottom:1px solid var(--bg-divider);background:var(--bg-surface);z-index:1;justify-content:space-between;align-items:center;padding:20px 24px;display:flex;position:sticky;top:0}.modal-body{padding:24px}.modal-footer{border-top:1px solid var(--bg-divider);background:var(--bg-surface);padding:16px 24px;position:sticky;bottom:0}.spinner{border:3px solid var(--bg-divider);border-top-color:var(--koli-coral);border-radius:50%;width:24px;height:24px;animation:.6s linear infinite spin}.spinner-lg{border-width:4px;width:40px;height:40px}.page-loading{justify-content:center;align-items:center;min-height:60vh;display:flex}.toast{background:var(--koli-midnight);color:var(--text-inverse);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);z-index:200;white-space:nowrap;padding:12px 24px;font-size:14px;font-weight:600;animation:.3s ease-out slideUp;position:fixed;bottom:100px;left:50%;transform:translate(-50%)}.hide-mobile{display:none}.hide-desktop{display:block}@media (min-width:768px){.hide-mobile{display:block}.hide-desktop{display:none}.container{padding:0 32px}}@media (min-width:1024px){.container{padding:0 40px}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--bg-divider);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-hint)}
