*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;color:#1a202c}code{font-family:Fira Code,Monaco,Cascadia Code,Roboto Mono,monospace}.container{max-width:1200px;margin:0 auto;padding:0 20px}.card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;padding:24px;margin-bottom:24px}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;border:none;cursor:pointer;transition:all .2s ease}.button-primary{background-color:#3b82f6;color:#fff}.button-primary:hover{background-color:#2563eb}.button-secondary{background-color:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.button-secondary:hover{background-color:#e2e8f0}.input{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:border-color .2s ease}.input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.text-sm{font-size:14px}.text-xs{font-size:12px}.text-gray-500{color:#6b7280}.text-gray-700{color:#374151}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-4{gap:16px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mt-4{margin-top:16px}.p-4{padding:16px}.rounded{border-radius:8px}.bg-gray-50{background-color:#f9fafb}.border{border:1px solid #e5e7eb}.loading{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.structure-3d{width:100%;height:400px;border:1px solid #e2e8f0;border-radius:8px;background-color:#000}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-to-main{position:absolute;top:-40px;left:6px;background:#000;color:#fff;padding:8px;border-radius:4px;text-decoration:none;z-index:10000;transition:top .2s ease}.skip-to-main:focus{top:6px;outline:2px solid #3b82f6;outline-offset:2px}.keyboard-user *:focus{outline:2px solid #3b82f6!important;outline-offset:2px!important;border-radius:4px}.keyboard-user button:focus,.keyboard-user [role=button]:focus{outline:3px solid #3b82f6!important;outline-offset:2px!important;box-shadow:0 0 0 5px #3b82f64d!important}.keyboard-user input:focus,.keyboard-user textarea:focus,.keyboard-user select:focus{outline:2px solid #3b82f6!important;outline-offset:1px!important;box-shadow:0 0 0 3px #3b82f633!important}.high-contrast{--primary-color: #000000;--secondary-color: #ffffff;--text-color: #000000;--background-color: #ffffff;--border-color: #000000}.high-contrast *{background-color:var(--background-color)!important;color:var(--text-color)!important;border-color:var(--border-color)!important}.high-contrast button,.high-contrast [role=button]{background-color:var(--background-color)!important;color:var(--text-color)!important;border:2px solid var(--border-color)!important}.high-contrast button:hover,.high-contrast [role=button]:hover{background-color:var(--text-color)!important;color:var(--background-color)!important}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reduce-motion .MuiSlide-root,.reduce-motion .MuiFade-root{transition:none!important}@media (prefers-contrast: high){*{text-shadow:none!important;box-shadow:none!important}button,[role=button]{border:2px solid currentColor!important}}.modal-focus-trap{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1300}.error-state{border:2px solid #dc2626!important;background-color:#fef2f2!important;color:#dc2626!important}.success-state{border:2px solid #059669!important;background-color:#f0fdf4!important;color:#059669!important}.warning-state{border:2px solid #d97706!important;background-color:#fffbeb!important;color:#d97706!important}.loading-state{position:relative}.loading-state:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:1}@media (max-width: 768px){button,[role=button],input,select,textarea{min-height:44px!important;min-width:44px!important}}.announcement-region{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}a:not(.button){text-decoration:underline;text-underline-offset:2px}a:not(.button):hover{text-decoration-thickness:2px}a:not(.button):focus{outline:2px solid #3b82f6;outline-offset:2px;text-decoration:none;background-color:#3b82f61a;border-radius:2px}table{border-collapse:collapse}th{text-align:left;border-bottom:2px solid #e5e7eb}td{border-bottom:1px solid #e5e7eb}.form-error{color:#dc2626;font-size:.875rem;margin-top:.25rem}.required-field:after{content:" *";color:#dc2626;font-weight:700}.accessible-content p{line-height:1.6;margin-bottom:1rem}.accessible-content h1,.accessible-content h2,.accessible-content h3,.accessible-content h4,.accessible-content h5,.accessible-content h6{margin-top:2rem;margin-bottom:.5rem}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.sr-only{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}}
