@layer components,utilities;@layer components{.button{--btn-bg: var(--color-primary-600);--btn-bg-hover: var(--color-primary-700);--btn-bg-active: var(--color-primary-800);--btn-text: var(--color-primary-600);--btn-border: var(--color-primary-600);--btn-hover-bg: var(--color-primary-50);--btn-active-bg: var(--color-primary-100);--btn-disabled-bg: var(--color-primary-300);--btn-disabled-text: var(--color-primary-300);--btn-disabled-border: var(--color-primary-300);--btn-focus-ring: var(--color-primary-500);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.25;text-decoration:none;border:2px solid transparent;border-radius:.5rem;cursor:pointer;transition-property:color,background-color,border-color,box-shadow;transition-duration:.15s;transition-timing-function:ease-out;outline:none}.button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--btn-focus-ring)}.button:disabled{cursor:not-allowed}.button--primary{--btn-bg: var(--color-primary-600);--btn-bg-hover: var(--color-primary-700);--btn-bg-active: var(--color-primary-800);--btn-text: var(--color-primary-600);--btn-border: var(--color-primary-600);--btn-hover-bg: var(--color-primary-50);--btn-active-bg: var(--color-primary-100);--btn-disabled-bg: var(--color-primary-300);--btn-disabled-text: var(--color-primary-300);--btn-disabled-border: var(--color-primary-300);--btn-focus-ring: var(--color-primary-500)}.button--secondary{--btn-bg: var(--color-secondary-600);--btn-bg-hover: var(--color-secondary-700);--btn-bg-active: var(--color-secondary-800);--btn-text: var(--color-secondary-600);--btn-border: var(--color-secondary-600);--btn-hover-bg: var(--color-secondary-50);--btn-active-bg: var(--color-secondary-100);--btn-disabled-bg: var(--color-secondary-300);--btn-disabled-text: var(--color-secondary-300);--btn-disabled-border: var(--color-secondary-300);--btn-focus-ring: var(--color-secondary-500)}.button--success{--btn-bg: var(--color-success-600);--btn-bg-hover: var(--color-success-700);--btn-bg-active: var(--color-success-800);--btn-text: var(--color-success-600);--btn-border: var(--color-success-600);--btn-hover-bg: var(--color-success-50);--btn-active-bg: var(--color-success-100);--btn-disabled-bg: var(--color-success-300);--btn-disabled-text: var(--color-success-300);--btn-disabled-border: var(--color-success-300);--btn-focus-ring: var(--color-success-500)}.button--danger{--btn-bg: var(--color-danger-600);--btn-bg-hover: var(--color-danger-700);--btn-bg-active: var(--color-danger-800);--btn-text: var(--color-danger-600);--btn-border: var(--color-danger-600);--btn-hover-bg: var(--color-danger-50);--btn-active-bg: var(--color-danger-100);--btn-disabled-bg: var(--color-danger-300);--btn-disabled-text: var(--color-danger-300);--btn-disabled-border: var(--color-danger-300);--btn-focus-ring: var(--color-danger-500)}.button--black{--btn-bg: var(--color-black);--btn-bg-hover: var(--color-secondary-900);--btn-bg-active: var(--color-secondary-950);--btn-text: var(--color-black);--btn-border: var(--color-black);--btn-hover-bg: var(--color-secondary-50);--btn-active-bg: var(--color-secondary-100);--btn-disabled-bg: var(--color-secondary-400);--btn-disabled-text: var(--color-secondary-400);--btn-disabled-border: var(--color-secondary-400);--btn-focus-ring: var(--color-secondary-500)}.button--filled{background-color:var(--btn-bg);color:#fff}.button--filled:hover:not(:disabled){background-color:var(--btn-bg-hover)}.button--filled:active:not(:disabled){background-color:var(--btn-bg-active)}.button--filled:disabled{background-color:var(--btn-disabled-bg)}.button--border{background-color:transparent;border-color:var(--btn-border);color:var(--btn-text)}.button--border:hover:not(:disabled){background-color:var(--btn-hover-bg)}.button--border:active:not(:disabled){background-color:var(--btn-active-bg)}.button--border:disabled{border-color:var(--btn-disabled-border);color:var(--btn-disabled-text)}.button--text-only{background-color:transparent;color:var(--btn-text)}.button--text-only:hover:not(:disabled){background-color:var(--btn-hover-bg)}.button--text-only:active:not(:disabled){background-color:var(--btn-active-bg)}.button--text-only:disabled{color:var(--btn-disabled-text)}.button--icon-only{padding:.5rem}.border-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.25;color:var(--color-secondary-900);background-color:#fffc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:2px solid var(--color-primary-200);border-radius:.5rem;cursor:pointer;transition:all .15s ease-out;outline:none}.border-button:hover:not(:disabled){background-color:#fff;border-color:var(--color-primary-400);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.border-button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-primary-500)}.border-button:disabled{cursor:not-allowed;opacity:.5}.border-button__icon{color:var(--color-primary-600);flex-shrink:0}.border-button__count{margin-left:.25rem;font-size:.75rem;font-weight:500;color:var(--color-primary-700)}.border-button__badge{margin-left:.25rem;padding:.125rem .375rem;font-size:.625rem;font-weight:600;color:#fff;background-color:var(--color-primary-500);border-radius:.25rem}.gradient-button{position:relative;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1.25;color:#fff;background:linear-gradient(to bottom right,var(--color-primary-700),var(--color-primary-500));border:none;border-radius:.5rem;box-shadow:0 1px 3px #0000001a,0 4px 6px -4px var(--color-primary-600);cursor:pointer;transition:all .3s ease-out;outline:none}@media(min-width:768px){.gradient-button{font-size:1rem}}.gradient-button:hover:not(:disabled){background:linear-gradient(to bottom right,var(--color-primary-800),var(--color-primary-600));box-shadow:0 4px 6px -1px #0000001a,0 6px 8px -4px var(--color-primary-600)}.gradient-button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-primary-500)}.gradient-button:disabled{cursor:not-allowed;opacity:.6}.gradient-button--purple{background:linear-gradient(to bottom right,#312785,#773ac1)}.gradient-button--purple:hover:not(:disabled){background:linear-gradient(to bottom right,#261675,#8843db)}.gradient-button--full-width{width:100%}.gradient-button--flex{flex:1}.gradient-button__spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.badge{display:inline-flex;align-items:center;justify-content:center;font-weight:500;border-radius:9999px}.badge--sm{padding:.125rem .375rem;font-size:.625rem}.badge--md{padding:.125rem .5rem;font-size:.75rem}.badge--lg{padding:.25rem .625rem;font-size:.875rem}.badge--rounded-md{border-radius:.375rem}.badge--primary{background-color:var(--color-primary-100);color:var(--color-primary-700)}.badge--secondary{background-color:var(--color-secondary-100);color:var(--color-secondary-700)}.badge--success{background-color:var(--color-success-100);color:var(--color-success-700)}.badge--danger{background-color:var(--color-danger-100);color:var(--color-danger-700)}.badge--primary-solid{background-color:var(--color-primary-400);color:#fff}.badge--secondary-solid{background-color:var(--color-secondary-400);color:#fff}.badge--success-solid{background-color:var(--color-success-400);color:#fff}.badge--danger-solid{background-color:var(--color-danger-400);color:#fff}.badge--disabled{background-color:var(--color-secondary-200);color:var(--color-secondary-500)}.badge--disabled-solid{background-color:var(--color-secondary-300);color:#fff}.card{border-radius:.75rem;border:1px solid var(--color-secondary-200);background-color:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.card__header{display:flex;flex-direction:column;gap:.375rem;padding:1.5rem}.card__title{font-weight:600;line-height:1;letter-spacing:-.025em}.card__description{font-size:.875rem;color:var(--color-secondary-500)}.card__content{padding:1.5rem;padding-top:0}.card__footer{display:flex;align-items:center;padding:1.5rem;padding-top:0}.helper-text{font-size:.75rem;color:var(--color-secondary-600)}.error-banner{padding:1rem 1.25rem;background-color:var(--color-danger-50);border:1px solid var(--color-danger-300);border-radius:.75rem}.error-banner__header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.error-banner__icon{flex-shrink:0;color:var(--color-danger-600)}.error-banner__title{font-size:.9375rem;font-weight:600;color:var(--color-danger-800)}.error-banner__message{font-size:.875rem;line-height:1.5;color:var(--color-danger-700)}.error-banner__link{display:inline-block;margin-top:.75rem;font-size:.875rem;font-weight:500;color:var(--color-primary-600);transition:color .15s ease}.error-banner__link:hover{color:var(--color-primary-700);text-decoration:underline}.pill{display:inline-flex;align-items:center;justify-content:center;padding:.375rem .75rem;font-size:.75rem;font-weight:500;color:var(--color-secondary-700);background-color:var(--color-secondary-100);border:none;border-radius:9999px;cursor:pointer;transition:all .2s ease-out;outline:none}@media(min-width:768px){.pill{padding:.5rem 1rem;font-size:.875rem}}.pill:hover{background-color:var(--color-secondary-200);color:var(--color-secondary-900)}.pill:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-primary-500)}.pill--active{background-color:var(--color-primary-600);color:#fff;box-shadow:0 1px 2px #0000000d}.pill--active:hover{background-color:var(--color-primary-700);color:#fff}}@layer utilities{@media(min-width:768px)and (max-width:795px){.nav-text-narrow{font-size:.75rem}}}
