.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--border-radius-md);font-weight:var(--font-weight-medium);font-size:var(--font-size-md);transition:all var(--transition-fast) ease;border:var(--border-width-thin) solid transparent;cursor:pointer}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-secondary);color:var(--color-white)}.btn-secondary:hover{background-color:var(--color-secondary-dark)}.btn-outline{background-color:transparent;border-color:var(--color-primary);color:var(--color-primary)}.btn-outline:hover{background-color:var(--color-primary);color:var(--color-white)}.btn-cta{background-color:var(--color-cta);color:var(--color-white);font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-md)}.btn-cta:hover{background-color:var(--color-cta-dark);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-text{background-color:transparent;border-color:transparent;color:var(--color-primary);padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.btn-text:hover{background-color:var(--color-gray-100);color:var(--color-primary-dark)}.spinner{display:inline-block;width:1em;height:1em;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-sm{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-sm)}.btn-lg{padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-lg)}.card{background-color:var(--card-background);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-6)}.card-header{margin-bottom:var(--spacing-4)}.card-footer{margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:var(--border-width-thin) solid var(--border-color)}.form-group{margin-bottom:var(--spacing-4)}.form-label{display:block;margin-bottom:var(--spacing-2);font-weight:var(--font-weight-medium);color:var(--text-color)}.form-input{width:100%;padding:var(--spacing-2) var(--spacing-3);border:var(--border-width-thin) solid var(--border-color);border-radius:var(--border-radius-md);font-size:var(--font-size-md);line-height:var(--line-height-normal);color:var(--text-color);background-color:var(--background-color);transition:border-color var(--transition-fast) ease}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.2)}.form-input-error{border-color:var(--color-danger)}.form-error-message{color:var(--color-danger);font-size:var(--font-size-sm);margin-top:var(--spacing-1)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.badge-primary{background-color:var(--color-primary);color:var(--color-white)}.badge-secondary{background-color:var(--color-secondary);color:var(--color-white)}.badge-success{background-color:var(--color-success);color:var(--color-white)}.badge-danger{background-color:var(--color-danger);color:var(--color-white)}.badge-warning{background-color:var(--color-warning);color:var(--color-gray-900)}.badge-info{background-color:var(--color-info);color:var(--color-white)}.alert{padding:var(--spacing-4);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-4)}.alert-success{background-color:rgba(var(--color-success-rgb),.1);border-left:var(--border-width-thick) solid var(--color-success);color:var(--color-success-dark)}.alert-danger{background-color:rgba(var(--color-danger-rgb),.1);border-left:var(--border-width-thick) solid var(--color-danger);color:var(--color-danger-dark)}.alert-warning{background-color:rgba(var(--color-warning-rgb),.1);border-left:var(--border-width-thick) solid var(--color-warning);color:var(--color-warning-dark)}.alert-info{background-color:rgba(var(--color-info-rgb),.1);border-left:var(--border-width-thick) solid var(--color-info);color:var(--color-info-dark)}.message-content a{color:#1d47b9;text-decoration:underline;cursor:pointer}.message-content a:hover{text-decoration:none}.message-content p{margin:.5rem 0}.message-content p:first-child{margin-top:0}.message-content p:last-child{margin-bottom:0}.message-content ul,.message-content ol{padding-left:1.5rem;margin:.5rem 0}.message-content ul{list-style-type:disc}.message-content ol{list-style-type:decimal}.message-content li{margin:.25rem 0}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-family-base);font-size:var(--font-size-md);line-height:var(--line-height-normal);color:var(--text-color);background-color:var(--background-color)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--text-color);margin-bottom:var(--spacing-4)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-md)}p{margin-bottom:var(--spacing-4)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast) ease}a:hover{color:var(--color-primary-dark)}button{cursor:pointer;font-family:var(--font-family-base)}img{max-width:100%;height:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:root{--color-primary: #0047ab;--color-primary-light: #3694ff;--color-primary-dark: #003380;--color-secondary: #6b7280;--color-secondary-light: #9ca3af;--color-secondary-dark: #4b5563;--color-success: #10b981;--color-success-light: #34d399;--color-success-dark: #059669;--color-warning: #f59e0b;--color-warning-light: #fbbf24;--color-warning-dark: #d97706;--color-danger: #ef4444;--color-danger-light: #f87171;--color-danger-dark: #dc2626;--color-info: #3b82f6;--color-info-light: #60a5fa;--color-info-dark: #2563eb;--color-cta: #db6002;--color-cta-light: #ff882e;--color-cta-dark: #b34d02;--color-white: #ffffff;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-black: #000000;--background-color: var(--color-white);--text-color: var(--color-gray-900);--text-color-light: var(--color-gray-500);--border-color: var(--color-gray-200);--card-background: var(--color-gray-50);--card-shadow: rgba(0, 0, 0, .1);--font-family-base: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--font-family-heading: var(--font-family-base);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 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;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-loose: 1.75;--spacing-0: 0;--spacing-px: 1px;--spacing-0-5: .125rem;--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;--spacing-20: 5rem;--spacing-24: 6rem;--border-radius-sm: .125rem;--border-radius-md: .25rem;--border-radius-lg: .5rem;--border-radius-xl: .75rem;--border-radius-full: 9999px;--border-width-thin: 1px;--border-width-medium: 2px;--border-width-thick: 4px;--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 -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s;--transition-normal: .3s;--transition-slow: .5s;--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070}[data-theme=dark]{--background-color: var(--color-gray-900);--text-color: var(--color-gray-100);--text-color-light: var(--color-gray-400);--border-color: var(--color-gray-700);--card-background: var(--color-gray-800);--card-shadow: rgba(0, 0, 0, .3);--color-primary-light: #5babff;--color-primary: #3694ff;--color-primary-dark: #1a7dff}.m-0{margin:0}.m-1{margin:var(--spacing-1)}.m-2{margin:var(--spacing-2)}.m-3{margin:var(--spacing-3)}.m-4{margin:var(--spacing-4)}.m-5{margin:var(--spacing-5)}.m-6{margin:var(--spacing-6)}.mt-0{margin-top:0}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-3{margin-top:var(--spacing-3)}.mt-4{margin-top:var(--spacing-4)}.mt-5{margin-top:var(--spacing-5)}.mt-6{margin-top:var(--spacing-6)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-3{margin-bottom:var(--spacing-3)}.mb-4{margin-bottom:var(--spacing-4)}.mb-5{margin-bottom:var(--spacing-5)}.mb-6{margin-bottom:var(--spacing-6)}.ml-0{margin-left:0}.ml-1{margin-left:var(--spacing-1)}.ml-2{margin-left:var(--spacing-2)}.ml-3{margin-left:var(--spacing-3)}.ml-4{margin-left:var(--spacing-4)}.ml-5{margin-left:var(--spacing-5)}.ml-6{margin-left:var(--spacing-6)}.mr-0{margin-right:0}.mr-1{margin-right:var(--spacing-1)}.mr-2{margin-right:var(--spacing-2)}.mr-3{margin-right:var(--spacing-3)}.mr-4{margin-right:var(--spacing-4)}.mr-5{margin-right:var(--spacing-5)}.mr-6{margin-right:var(--spacing-6)}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:var(--spacing-1);margin-right:var(--spacing-1)}.mx-2{margin-left:var(--spacing-2);margin-right:var(--spacing-2)}.mx-3{margin-left:var(--spacing-3);margin-right:var(--spacing-3)}.mx-4{margin-left:var(--spacing-4);margin-right:var(--spacing-4)}.mx-5{margin-left:var(--spacing-5);margin-right:var(--spacing-5)}.mx-6{margin-left:var(--spacing-6);margin-right:var(--spacing-6)}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:var(--spacing-1);margin-bottom:var(--spacing-1)}.my-2{margin-top:var(--spacing-2);margin-bottom:var(--spacing-2)}.my-3{margin-top:var(--spacing-3);margin-bottom:var(--spacing-3)}.my-4{margin-top:var(--spacing-4);margin-bottom:var(--spacing-4)}.my-5{margin-top:var(--spacing-5);margin-bottom:var(--spacing-5)}.my-6{margin-top:var(--spacing-6);margin-bottom:var(--spacing-6)}.p-0{padding:0}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-5{padding:var(--spacing-5)}.p-6{padding:var(--spacing-6)}.pt-0{padding-top:0}.pt-1{padding-top:var(--spacing-1)}.pt-2{padding-top:var(--spacing-2)}.pt-3{padding-top:var(--spacing-3)}.pt-4{padding-top:var(--spacing-4)}.pt-5{padding-top:var(--spacing-5)}.pt-6{padding-top:var(--spacing-6)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--spacing-1)}.pb-2{padding-bottom:var(--spacing-2)}.pb-3{padding-bottom:var(--spacing-3)}.pb-4{padding-bottom:var(--spacing-4)}.pb-5{padding-bottom:var(--spacing-5)}.pb-6{padding-bottom:var(--spacing-6)}.pl-0{padding-left:0}.pl-1{padding-left:var(--spacing-1)}.pl-2{padding-left:var(--spacing-2)}.pl-3{padding-left:var(--spacing-3)}.pl-4{padding-left:var(--spacing-4)}.pl-5{padding-left:var(--spacing-5)}.pl-6{padding-left:var(--spacing-6)}.pr-0{padding-right:0}.pr-1{padding-right:var(--spacing-1)}.pr-2{padding-right:var(--spacing-2)}.pr-3{padding-right:var(--spacing-3)}.pr-4{padding-right:var(--spacing-4)}.pr-5{padding-right:var(--spacing-5)}.pr-6{padding-right:var(--spacing-6)}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:var(--spacing-1);padding-right:var(--spacing-1)}.px-2{padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.px-3{padding-left:var(--spacing-3);padding-right:var(--spacing-3)}.px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.px-5{padding-left:var(--spacing-5);padding-right:var(--spacing-5)}.px-6{padding-left:var(--spacing-6);padding-right:var(--spacing-6)}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:var(--spacing-1);padding-bottom:var(--spacing-1)}.py-2{padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}.py-3{padding-top:var(--spacing-3);padding-bottom:var(--spacing-3)}.py-4{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.py-5{padding-top:var(--spacing-5);padding-bottom:var(--spacing-5)}.py-6{padding-top:var(--spacing-6);padding-bottom:var(--spacing-6)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-thin{font-weight:var(--font-weight-thin)}.font-light{font-weight:var(--font-weight-light)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.leading-none{line-height:var(--line-height-none)}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.leading-loose{line-height:var(--line-height-loose)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.text-info{color:var(--color-info)}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}.bg-success{background-color:var(--color-success)}.bg-danger{background-color:var(--color-danger)}.bg-warning{background-color:var(--color-warning)}.bg-info{background-color:var(--color-info)}.bg-white{background-color:var(--color-white)}.bg-transparent{background-color:transparent}.flex{display:flex}.inline-flex{display:inline-flex}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.w-full{width:100%}.w-auto{width:auto}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.w-3\/4{width:75%}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100dvh}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--border-radius-sm)}.rounded-md{border-radius:var(--border-radius-md)}.rounded-lg{border-radius:var(--border-radius-lg)}.rounded-xl{border-radius:var(--border-radius-xl)}.rounded-full{border-radius:var(--border-radius-full)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.static{position:static}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.transition{transition:all var(--transition-normal) ease}.transition-fast{transition:all var(--transition-fast) ease}.transition-slow{transition:all var(--transition-slow) ease}
