:root{--color-primary: #003f5c;--color-primary-light: #2f4b7c;--color-primary-dark: #00283d;--color-secondary: #58508d;--color-accent: #bc5090;--color-warning: #ff6361;--color-success: #003d82;--color-white: #ffffff;--color-gray-50: #f8f9fa;--color-gray-100: #e9ecef;--color-gray-200: #dee2e6;--color-gray-300: #ced4da;--color-gray-400: #adb5bd;--color-gray-500: #6c757d;--color-gray-600: #495057;--color-gray-700: #343a40;--color-gray-800: #212529;--color-gray-900: #0d1117;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", Monaco, Inconsolata, "Roboto Mono", monospace;--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;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--border-radius: .375rem;--border-width: 1px;--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);--max-width: 1200px;--header-height: 4rem;--footer-height: 3rem}*,*:before,*:after{box-sizing:border-box}html{height:100%;line-height:1.6;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;padding:0;height:100%;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:1.6;color:var(--color-gray-900);background-color:var(--color-gray-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{margin:0 0 var(--spacing-md) 0;font-weight:600;line-height:1.2;color:var(--color-gray-900)}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)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}p{margin:0 0 var(--spacing-md) 0}button,input,select,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer;border:none;border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);font-weight:500;transition:all .2s ease-in-out}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background-color:var(--color-gray-200);color:var(--color-gray-700)}.btn-secondary:hover:not(:disabled){background-color:var(--color-gray-300)}input,select,textarea{border:var(--border-width) solid var(--color-gray-300);border-radius:var(--border-radius);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-white);transition:border-color .2s ease-in-out}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #003f5c1a}.security-warning{background-color:var(--color-warning);color:var(--color-white);padding:var(--spacing-md);border-radius:var(--border-radius);margin-bottom:var(--spacing-md)}.security-notice{background-color:var(--color-primary);color:var(--color-white);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius);font-size:var(--font-size-sm)}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-xl);text-align:center}.no-js-warning{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-xl);text-align:center;background-color:var(--color-warning);color:var(--color-white)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (max-width: 768px){:root{--font-size-3xl: 1.5rem;--font-size-2xl: 1.25rem;--spacing-xl: 1rem;--spacing-2xl: 1.5rem}body{font-size:var(--font-size-sm)}}
