.app{min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden;background:var(--color-bg-secondary)}.main-content{min-height:100vh;display:flex;flex-direction:column}.content-area{flex:1;max-width:1200px;margin:0 auto;padding:2rem;width:100%}.content-area h2{color:var(--color-text-primary);font-size:2rem;font-weight:600;margin:0 0 1rem;text-align:center}.content-area p{color:var(--color-text-secondary);font-size:1.1rem;line-height:1.6;text-align:center;margin:0 0 2rem;max-width:600px;margin-left:auto;margin-right:auto}.placeholder-content{background:var(--color-bg-primary);border-radius:12px;padding:3rem;box-shadow:0 4px 6px var(--color-shadow-5);text-align:center;margin-top:2rem}.placeholder-content p{font-size:1.2rem;margin:1rem 0}.placeholder-content p:first-child{font-size:2rem;margin-bottom:1rem}.placeholder-content p:last-child{color:var(--color-success);font-weight:500}@media (max-width: 768px){.content-area{padding:1rem}.content-area h2{font-size:1.5rem}.content-area p{font-size:1rem}.placeholder-content{padding:2rem}.placeholder-content p:first-child{font-size:1.5rem}}.calculation-status{margin:var(--spacing-xl) 0;padding:var(--spacing-lg);background:var(--color-bg-secondary);border-radius:8px;text-align:center}.status-message{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.spinner{width:32px;height:32px;border:3px solid var(--color-bg-tertiary);border-top:3px solid #ff9900;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-display{margin:var(--spacing-xl) 0;padding:1.25rem;background:var(--color-error-light);border:1px solid var(--color-error);border-radius:8px;color:var(--color-error)}.error-display h3{margin:0 0 .75rem;color:var(--color-error)}.error-display p{margin:0;line-height:1.5}.result-display{margin:var(--spacing-xl) 0;padding:var(--spacing-lg);background:var(--color-bg-primary);border:1px solid var(--color-bg-hover);border-radius:8px;box-shadow:0 2px 8px var(--color-shadow-10)}.result-display h3{margin:0 0 1.25rem;color:var(--color-text-primary);font-size:24px;font-weight:600}.result-summary{background:linear-gradient(135deg,var(--color-success) 0%,#20c997 100%);color:var(--color-text-inverse);padding:1.25rem;border-radius:8px;margin-bottom:var(--spacing-lg);text-align:center}.availability-result{display:flex;justify-content:center;align-items:center;gap:.75rem;margin-bottom:var(--spacing-sm)}.availability-label{font-size:18px;font-weight:500}.availability-value{font-size:32px;font-weight:700;text-shadow:0 2px 4px var(--color-shadow-20)}.availability-decimal{font-size:14px;opacity:.9}.result-explanation,.result-recommendations{margin-bottom:1.25rem;padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:6px}.result-explanation h4,.result-recommendations h4{margin:0 0 .75rem;color:var(--color-text-primary);font-size:16px;font-weight:600}.result-explanation p,.result-recommendations p{margin:0;color:var(--color-text-secondary);line-height:1.6}.result-details{margin-top:1.25rem;border:1px solid var(--color-bg-hover);border-radius:6px}.result-details summary{padding:.75rem var(--spacing-md);background:var(--color-bg-secondary);cursor:pointer;font-weight:600;color:var(--color-text-secondary);border-radius:6px 6px 0 0}.result-details summary:hover{background:var(--color-bg-hover)}.result-details pre{margin:0;padding:var(--spacing-md);background:var(--color-bg-secondary);border-radius:0 0 6px 6px;overflow-x:auto;font-size:12px;line-height:1.4;color:var(--color-text-secondary)}@media (max-width: 768px){.availability-result{flex-direction:column;gap:var(--spacing-sm)}.availability-value{font-size:28px}.result-display{margin:1.25rem 0;padding:var(--spacing-md)}}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-purple-40) 0%,#764ba2 100%);color:var(--color-text-inverse);text-align:center;padding:1.25rem}.loading-content{max-width:500px;width:100%}.loading-content h2{margin:1.25rem 0;font-size:2rem;font-weight:300}.loading-content p{margin:.625rem 0;font-size:1.1rem;opacity:.9}.loading-spinner{width:50px;height:50px;border:4px solid var(--color-white-30);border-top:4px solid var(--color-text-inverse);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.25rem}.loading-progress{margin:1.25rem 0}.progress-bar{width:100%;height:8px;background:var(--color-white-20);border-radius:4px;overflow:hidden;margin-bottom:var(--spacing-sm)}.progress-fill{height:100%;background:var(--color-text-inverse);border-radius:4px;transition:width .3s ease}.progress-text{font-size:.9rem;opacity:.8}.loading-warnings{margin-top:1.25rem;padding:.9375rem;background:var(--color-warning-40);border:1px solid rgba(255,193,7,.4);border-radius:8px;text-align:left}.loading-warnings h4{margin:0 0 .625rem;color:#ffc107}.loading-warnings ul{margin:0;padding-left:1.25rem}.loading-warnings li{margin:.3125rem 0;font-size:.9rem}.error-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-error) 0%,#c82333 100%);color:var(--color-text-inverse);padding:1.25rem}.error-content{max-width:600px;width:100%;text-align:center}.error-content h2{margin:0 0 1.25rem;font-size:2rem;font-weight:300}.error-details{background:var(--color-shadow-20);border-radius:8px;padding:1.25rem;margin:1.25rem 0;text-align:left}.error-details h3,.error-details h4{margin:0 0 .625rem;color:var(--color-text-inverse)}.error-message{background:var(--color-white-10);padding:.625rem;border-radius:4px;font-family:monospace;font-size:.9rem;word-break:break-word}.error-warnings,.error-recommendations{margin:.9375rem 0}.error-warnings ul,.error-recommendations ul{margin:.625rem 0;padding-left:1.25rem}.error-warnings li,.error-recommendations li{margin:.3125rem 0;font-size:.9rem}.error-actions{display:flex;gap:.9375rem;justify-content:center;margin-top:1.875rem}.retry-button,.reload-button{padding:.75rem var(--spacing-lg);border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.retry-button{background:var(--color-success);color:var(--color-text-inverse)}.retry-button:hover{background:#218838;transform:translateY(-1px)}.reload-button{background:var(--color-text-muted);color:var(--color-text-inverse)}.reload-button:hover{background:#5a6268;transform:translateY(-1px)}@media (max-width: 768px){.loading-content,.error-content{padding:0 .625rem}.loading-content h2,.error-content h2{font-size:1.5rem}.error-actions{flex-direction:column;align-items:center}.retry-button,.reload-button{width:200px}}.login-form-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);padding:1rem}.login-form-card{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--color-shadow-10);padding:2rem;width:100%;max-width:400px}.login-form-title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);text-align:center;margin:0 0 .5rem}.login-form-subtitle{color:var(--color-text-muted);text-align:center;margin:0 0 2rem;font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-weight:500;color:var(--color-text-primary);font-size:.9rem}.form-input{padding:.75rem;border:2px solid var(--color-border-light);border-radius:var(--radius-md);font-size:1rem;transition:var(--transition-base);background:var(--color-bg-primary);color:var(--color-text-primary)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--color-focus-shadow-subtle)}.form-input:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary);box-shadow:var(--color-focus-shadow)}.form-input:disabled{background-color:var(--color-bg-disabled);cursor:not-allowed;opacity:.6}.form-input-error{border-color:var(--color-error)}.form-input-error:focus{border-color:var(--color-error);box-shadow:var(--color-error-shadow-subtle)}.password-input-container{position:relative;display:flex;align-items:center}.password-toggle{position:absolute;right:.75rem;background:none;border:none;cursor:pointer;padding:.25rem;font-size:1rem;color:var(--color-text-muted);transition:var(--transition-base)}.password-toggle:hover:not(:disabled){color:var(--color-text-primary)}.password-toggle:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm);box-shadow:var(--color-focus-shadow)}.password-toggle:disabled{cursor:not-allowed;opacity:.5}.error-message{background-color:var(--color-error-bg);color:var(--color-error-dark);padding:.75rem;border-radius:var(--radius-md);font-size:.9rem;border:1px solid var(--color-error-border)}.login-button{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-active) 100%);color:#fff;border:none;padding:.875rem;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition-base);box-shadow:0 2px 4px var(--color-shadow-20)}.login-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px var(--color-shadow-25);filter:brightness(1.1)}.login-button:active:not(:disabled){transform:translateY(0);filter:brightness(.95)}.login-button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-shadow)}.login-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;filter:none}[data-theme=dark] .login-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 2px 8px #3b82f666}[data-theme=dark] .login-button:hover:not(:disabled){box-shadow:0 4px 12px #3b82f680}[data-theme=dark] .login-button:focus-visible{outline-color:#60a5fa;box-shadow:0 0 0 4px #60a5fa66}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .login-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 2px 8px #3b82f666}:root:not([data-theme=light]) .login-button:hover:not(:disabled){box-shadow:0 4px 12px #3b82f680}:root:not([data-theme=light]) .login-button:focus-visible{outline-color:#60a5fa;box-shadow:0 0 0 4px #60a5fa66}}.demo-credentials{text-align:center;padding-top:1rem;border-top:1px solid var(--color-border-light)}.demo-text{color:var(--color-text-muted);font-size:.85rem;margin:0 0 .5rem}.demo-button{background:var(--color-bg-secondary);color:var(--color-text-secondary);border:1px solid var(--color-border-light);padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.85rem;cursor:pointer;transition:var(--transition-base)}.demo-button:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-medium)}.demo-button:disabled{opacity:.6;cursor:not-allowed}.demo-button:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;box-shadow:var(--color-focus-shadow)}@media (max-width: 480px){.login-form-container{padding:.5rem}.login-form-card{padding:1.5rem}.login-form-title{font-size:1.25rem}}.error-boundary{width:100%;height:100%;display:flex;align-items:center;justify-content:center;min-height:25rem;padding:1.25rem;box-sizing:border-box}.error-boundary-fallback{max-width:37.5rem;width:100%;text-align:center;padding:2.5rem 1.25rem;background:var(--color-bg-primary);border-radius:.75rem;box-shadow:0 8px 32px var(--color-shadow-10);border:1px solid var(--color-bg-hover)}.error-boundary-fallback__content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}.error-boundary-fallback__icon{font-size:4rem;line-height:1;opacity:.8}.error-boundary-fallback__title{margin:0;font-size:1.75rem;font-weight:600;color:var(--color-text-primary);line-height:1.2}.error-boundary-fallback__message{margin:0;font-size:var(--spacing-md);color:var(--color-text-muted);line-height:1.5;max-width:31.25rem}.error-boundary-fallback__retry-info{padding:var(--spacing-md);background:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:.5rem;color:var(--color-warning);font-size:.875rem;line-height:1.5}.error-boundary-fallback__retry-info p{margin:0}.error-boundary-fallback__retry-info p:not(:last-child){margin-bottom:var(--spacing-sm)}.error-boundary-fallback__actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.error-boundary-fallback__action{padding:.75rem var(--spacing-lg);border:2px solid var(--color-divider);background:var(--color-bg-primary);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;border-radius:.5rem;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-width:7.5rem}.error-boundary-fallback__action:hover{background:var(--color-bg-secondary);border-color:var(--color-text-muted);transform:translateY(-1px)}.error-boundary-fallback__action:focus{outline:3px solid var(--color-primary);outline-offset:2px}.error-boundary-fallback__action:active{transform:translateY(0)}.error-boundary-fallback__action--primary{background:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.error-boundary-fallback__action--primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.error-boundary-fallback__details{margin-top:var(--spacing-lg);text-align:left;border:1px solid var(--color-divider);border-radius:.5rem;overflow:hidden}.error-boundary-fallback__details summary{padding:.75rem var(--spacing-md);background:var(--color-bg-secondary);cursor:pointer;font-weight:500;color:var(--color-text-secondary);border-bottom:1px solid var(--color-divider);-webkit-user-select:none;-moz-user-select:none;user-select:none}.error-boundary-fallback__details summary:hover{background:var(--color-bg-hover)}.error-boundary-fallback__details summary:focus{outline:2px solid var(--color-primary);outline-offset:-2px}.error-boundary-fallback__details[open] summary{border-bottom:1px solid var(--color-divider)}.error-boundary-fallback__error-info{padding:var(--spacing-md);background:var(--color-bg-primary)}.error-boundary-fallback__error-info h3{margin:0 0 var(--spacing-sm) 0;font-size:.875rem;font-weight:600;color:var(--color-text-secondary)}.error-boundary-fallback__error-info h3:not(:first-child){margin-top:var(--spacing-md)}.error-boundary-fallback__error-info pre{margin:0;padding:.75rem;background:var(--color-bg-secondary);border:1px solid var(--color-divider);border-radius:.25rem;font-size:.75rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-all;max-height:12.5rem;overflow-y:auto;line-height:1.4}@media (max-width: 768px){.error-boundary{min-height:18.75rem;padding:var(--spacing-md)}.error-boundary-fallback{padding:var(--spacing-lg) var(--spacing-md)}.error-boundary-fallback__icon{font-size:3rem}.error-boundary-fallback__title{font-size:var(--spacing-lg)}.error-boundary-fallback__message{font-size:.875rem}.error-boundary-fallback__actions{flex-direction:column;align-items:stretch}.error-boundary-fallback__action{width:100%;min-width:auto}}@media (max-width: 480px){.error-boundary-fallback__content{gap:var(--spacing-md)}.error-boundary-fallback__icon{font-size:2.5rem}.error-boundary-fallback__title{font-size:1.25rem}.error-boundary-fallback__message{font-size:.8125rem}}@media (prefers-contrast: high){.error-boundary-fallback{border:2px solid var(--color-text-primary)}.error-boundary-fallback__action,.error-boundary-fallback__details{border-width:2px}}@media (prefers-reduced-motion: reduce){.error-boundary-fallback__action{transition:none}.error-boundary-fallback__action:hover,.error-boundary-fallback__action:active{transform:none}}[data-theme=dark] .error-boundary-fallback{background:var(--color-bg-primary);border-color:var(--color-border-primary)}[data-theme=dark] .error-boundary-fallback__title{color:var(--color-text-primary)}[data-theme=dark] .error-boundary-fallback__message{color:var(--color-text-secondary)}[data-theme=dark] .error-boundary-fallback__action{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border-color:var(--color-border-secondary)}[data-theme=dark] .error-boundary-fallback__action:hover{background:var(--color-bg-hover);border-color:var(--color-text-muted)}[data-theme=dark] .error-boundary-fallback__action--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}[data-theme=dark] .error-boundary-fallback__action--primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}[data-theme=dark] .error-boundary-fallback__details{border-color:var(--color-border-primary)}[data-theme=dark] .error-boundary-fallback__details summary{background:var(--color-bg-secondary);color:var(--color-text-primary);border-color:var(--color-border-primary)}[data-theme=dark] .error-boundary-fallback__details summary:hover{background:var(--color-bg-hover)}[data-theme=dark] .error-boundary-fallback__error-info{background:var(--color-bg-primary)}[data-theme=dark] .error-boundary-fallback__error-info h3{color:var(--color-text-primary)}[data-theme=dark] .error-boundary-fallback__error-info pre{background:var(--color-bg-secondary);border-color:var(--color-border-primary);color:var(--color-text-primary)}[data-theme=dark] .error-boundary-fallback__retry-info{background:var(--color-warning-light);border-color:var(--color-warning);color:var(--color-warning)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .error-boundary-fallback{background:var(--color-bg-primary);border-color:var(--color-border-primary)}:root:not([data-theme=light]) .error-boundary-fallback__title{color:var(--color-text-primary)}:root:not([data-theme=light]) .error-boundary-fallback__message{color:var(--color-text-secondary)}}@media print{.error-boundary-fallback{box-shadow:none;border:2px solid var(--color-text-primary)}.error-boundary-fallback__actions{display:none}.error-boundary-fallback__details[open]{border:none}.error-boundary-fallback__details summary{display:none}.error-boundary-fallback__error-info{padding:0}}.loading-indicator{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem}.loading-indicator-inline{display:inline-flex;flex-direction:row;padding:0}.loading-spinner{position:relative;display:inline-block}.spinner-circle{border-radius:50%;border-style:solid;border-color:var(--color-primary-hover);border-top-color:transparent;animation:loading-spin .8s linear infinite}.loading-indicator-small .spinner-circle{width:1rem;height:1rem;border-width:2px}.loading-indicator-medium .spinner-circle{width:2rem;height:2rem;border-width:3px}.loading-indicator-large .spinner-circle{width:3rem;height:3rem;border-width:4px}.loading-text{font-size:.875rem;color:#6b7280;color:var(--color-text-secondary, #6b7280);text-align:center}.loading-indicator-small .loading-text{font-size:.75rem}.loading-indicator-large .loading-text{font-size:1rem}.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}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner-circle{animation:none;border-top-color:var(--color-primary-hover);opacity:.5}}*,*:before,*:after{box-sizing:border-box}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--color-text-primary);background-color:var(--color-bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:var(--color-text-link);text-decoration:inherit}a:hover{color:var(--color-primary-hover)}html{width:100%;max-width:100vw;overflow-x:hidden}body{margin:0;min-width:320px;min-height:100vh;width:100%;max-width:100vw;overflow-x:hidden;color:var(--color-text-primary);background-color:var(--color-bg-primary)}#root{width:100%;max-width:100vw;min-width:0;overflow-x:hidden}h1{font-size:3.2em;line-height:1.1;color:var(--color-text-primary)}h2,h3,h4,h5,h6{color:var(--color-text-primary)}p,span,div,label,small{color:inherit}button{border-radius:8px;border:1px solid var(--color-border-secondary);padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;transition:border-color .25s,background-color .25s}button:hover{border-color:var(--color-primary);background-color:var(--color-bg-hover)}button:focus,button:focus-visible{outline:2px solid var(--color-primary-alt);outline-offset:2px}button:disabled{background-color:var(--color-bg-disabled);color:var(--color-text-muted);cursor:not-allowed}input,textarea,select{color:var(--color-text-primary);background-color:var(--color-bg-primary);border:1px solid var(--color-border-secondary);border-radius:4px;padding:.5em .75em;font-size:1em;font-family:inherit;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{color:var(--color-text-primary);background-color:var(--color-bg-primary);border-color:var(--color-primary-alt);outline:none;box-shadow:0 0 0 2px var(--color-primary-alt-20)}input:disabled,textarea:disabled,select:disabled{color:var(--color-text-secondary);background-color:var(--color-bg-disabled);border-color:var(--color-border-secondary);cursor:not-allowed}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--color-text-muted)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.availability-preview span,.availability-preview p,.availability-preview div,.availability-preview--compressed .availability-label,.availability-preview--compressed .availability-value,.editing-indicator span,.editing-indicator p,.btn-primary span{color:var(--color-text-inverse)}*:focus{outline:none}*:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:4px}button:focus-visible,.btn:focus-visible,[role=button]:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-shadow)}a:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:2px;box-shadow:0 0 0 4px var(--color-focus-shadow-light)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px;border-color:var(--color-focus);box-shadow:0 0 0 4px var(--color-focus-shadow-light)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-shadow)}[role=combobox]:focus-visible,[role=listbox]:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-shadow-light)}[role=option]:focus-visible{outline:3px solid var(--color-focus);outline-offset:-2px;background-color:var(--color-focus-shadow-subtle)}[role=menuitem]:focus-visible,[role=menuitemcheckbox]:focus-visible,[role=menuitemradio]:focus-visible{outline:3px solid var(--color-focus);outline-offset:-2px;background-color:var(--color-focus-shadow-subtle)}[role=tab]:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-shadow)}[role=button][class*=card]:focus-visible,[role=button][class*=item]:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-shadow-light)}button.btn-danger:focus-visible,button[class*=delete]:focus-visible,button[class*=remove]:focus-visible,.delete-button:focus-visible,.remove-button:focus-visible{outline:3px solid #dc2626;outline-offset:2px;box-shadow:0 0 0 4px #dc262633}*:disabled:focus-visible,[aria-disabled=true]:focus-visible{outline:none;box-shadow:none}@media (prefers-contrast: high){*:focus-visible{outline-width:4px;outline-offset:3px}button:focus-visible,.btn:focus-visible,[role=button]:focus-visible{outline-width:4px;box-shadow:0 0 0 6px var(--color-focus-shadow)}input:focus-visible,textarea:focus-visible,select:focus-visible{outline-width:4px;box-shadow:0 0 0 6px var(--color-focus-shadow-light)}}@media (prefers-reduced-motion: reduce){*:focus-visible{transition:none}}@media (prefers-color-scheme: dark){*:focus-visible{outline-color:#60a5fa}button:focus-visible,.btn:focus-visible,[role=button]:focus-visible{outline-color:#60a5fa;box-shadow:0 0 0 4px #60a5fa4d}input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:#60a5fa;border-color:#60a5fa;box-shadow:0 0 0 4px #60a5fa40}button.btn-danger:focus-visible,button[class*=delete]:focus-visible,button[class*=remove]:focus-visible,.delete-button:focus-visible,.remove-button:focus-visible{outline-color:#f87171;box-shadow:0 0 0 4px #f871714d}}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-focus);color:#fff;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;border-radius:0 0 4px;z-index:10000;font-weight:600}.skip-link:focus{top:0;outline:3px solid #1e40af;outline-offset:2px}.focus-within-indicator:focus-within{box-shadow:0 0 0 3px var(--color-focus-shadow-light);border-color:var(--color-focus)}.combo-box-input:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-color:var(--color-focus);box-shadow:0 0 0 4px var(--color-focus-shadow-light)}.combo-box-option:focus-visible{outline:3px solid var(--color-focus);outline-offset:-2px;background-color:var(--color-focus-shadow-subtle)}.service-item-button:focus-visible{outline:3px solid var(--color-focus);outline-offset:-2px;box-shadow:0 0 0 4px var(--color-focus-shadow-light)}.workload-name-input:focus-visible,.region-selector:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-color:var(--color-focus);box-shadow:0 0 0 4px var(--color-focus-shadow-light)}.workload-action-button:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-shadow)}.configuration-option input:focus-visible,.configuration-option select:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-shadow-light)}@media print{*:focus-visible{outline:none;box-shadow:none}}:root{--color-text-primary: #213547;--color-text-secondary: #666666;--color-text-tertiary: #737373;--color-text-muted: #6b7280;--color-text-inverse: #ffffff;--color-text-link: #0056b3;--color-bg-primary: #ffffff;--color-bg-secondary: #f8f9fa;--color-bg-tertiary: #f5f5f5;--color-bg-hover: #e9ecef;--color-bg-disabled: #f3f4f6;--color-border-primary: #e0e0e0;--color-border-secondary: #d1d5db;--color-border-light: #e5e7eb;--color-border-focus: #1976d2;--color-focus: #2563eb;--color-focus-shadow: rgba(37, 99, 235, .2);--color-focus-shadow-light: rgba(37, 99, 235, .15);--color-focus-shadow-subtle: rgba(37, 99, 235, .1);--color-divider: #dee2e6;--color-primary: #1976d2;--color-primary-hover: #1565c0;--color-primary-active: #0d47a1;--color-primary-light: #e3f2fd;--color-primary-alt: #0066cc;--color-aws-orange: #ff9900;--color-aws-orange-10: rgba(255, 153, 0, .1);--color-aws-orange-20: rgba(255, 153, 0, .2);--color-aws-orange-30: rgba(255, 153, 0, .3);--color-error: #c62828;--color-error-dark: #b71c1c;--color-error-light: #ffebee;--color-success: #2e7d32;--color-success-dark: #1b5e20;--color-success-light: #e8f5e9;--color-success-bg: #f0f9f4;--color-success-border: #81c784;--color-warning: #bf360c;--color-warning-dark: #856404;--color-warning-light: #fff3e0;--color-info: #01579b;--color-info-light: #e1f5fe;--color-shadow-2: rgba(0, 0, 0, .02);--color-shadow-4: rgba(0, 0, 0, .04);--color-shadow-5: rgba(0, 0, 0, .05);--color-shadow-6: rgba(0, 0, 0, .06);--color-shadow-10: rgba(0, 0, 0, .1);--color-shadow-15: rgba(0, 0, 0, .15);--color-shadow-20: rgba(0, 0, 0, .2);--color-shadow-25: rgba(0, 0, 0, .25);--color-shadow-30: rgba(0, 0, 0, .3);--color-shadow-40: rgba(0, 0, 0, .4);--color-shadow-50: rgba(0, 0, 0, .5);--color-primary-2: rgba(25, 118, 210, .02);--color-primary-5: rgba(25, 118, 210, .05);--color-primary-8: rgba(25, 118, 210, .08);--color-primary-10: rgba(25, 118, 210, .1);--color-primary-15: rgba(25, 118, 210, .15);--color-primary-20: rgba(25, 118, 210, .2);--color-primary-25: rgba(25, 118, 210, .25);--color-primary-30: rgba(25, 118, 210, .3);--color-primary-40: rgba(25, 118, 210, .4);--color-primary-shadow: rgba(25, 118, 210, .2);--color-primary-alt-2: rgba(0, 102, 204, .02);--color-primary-alt-5: rgba(0, 102, 204, .05);--color-primary-alt-8: rgba(0, 102, 204, .08);--color-primary-alt-10: rgba(0, 102, 204, .1);--color-primary-alt-15: rgba(0, 102, 204, .15);--color-primary-alt-20: rgba(0, 102, 204, .2);--color-primary-alt-40: rgba(0, 102, 204, .4);--color-error-5: rgba(211, 47, 47, .05);--color-error-10: rgba(211, 47, 47, .1);--color-error-20: rgba(211, 47, 47, .2);--color-error-shadow: rgba(211, 47, 47, .2);--color-success-30: rgba(40, 167, 69, .3);--color-success-40: rgba(40, 167, 69, .4);--color-blue-10: rgba(59, 130, 246, .1);--color-blue-20: rgba(59, 130, 246, .2);--color-blue-25: rgba(0, 123, 255, .25);--color-blue-30: rgba(0, 123, 255, .3);--color-blue-40: rgba(0, 123, 255, .4);--color-white-5: rgba(255, 255, 255, .05);--color-white-10: rgba(255, 255, 255, .1);--color-white-20: rgba(255, 255, 255, .2);--color-white-30: rgba(255, 255, 255, .3);--color-white-50: rgba(255, 255, 255, .5);--color-white-80: rgba(255, 255, 255, .8);--color-purple-20: rgba(102, 126, 234, .2);--color-purple-40: rgba(102, 126, 234, .4);--color-cyan-10: rgba(66, 153, 225, .1);--color-cyan-20: rgba(66, 153, 225, .2);--color-warning-40: rgba(255, 193, 7, .4);--color-gradient-start: #667eea;--color-gradient-end: #764ba2;--color-surface-secondary: #f0f0f0;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--shadow-sm: 0 1px 2px var(--color-shadow-5);--shadow-md: 0 2px 4px var(--color-shadow-10);--shadow-lg: 0 4px 8px var(--color-shadow-15);--shadow-xl: 0 8px 16px var(--color-shadow-20);--shadow-focus: 0 0 0 4px var(--color-primary-shadow);--shadow-focus-error: 0 0 0 4px var(--color-error-shadow);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-theme: .2s ease-in-out;--font-family-base: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-base: 1rem;--font-size-sm: .875rem;--font-size-xs: .75rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--line-height-base: 1.5;--line-height-tight: 1.25;--line-height-loose: 1.75;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080}[data-theme=dark]{--color-text-primary: #f3f4f6;--color-text-secondary: #d1d5db;--color-text-tertiary: #9ca3af;--color-text-muted: #6b7280;--color-text-inverse: #111827;--color-text-link: #60a5fa;--color-bg-primary: #1f2937;--color-bg-secondary: #111827;--color-bg-tertiary: #374151;--color-bg-hover: #374151;--color-bg-disabled: #1f2937;--color-border-primary: #374151;--color-border-secondary: #4b5563;--color-border-light: #374151;--color-border-focus: #60a5fa;--color-focus: #60a5fa;--color-focus-shadow: rgba(96, 165, 250, .3);--color-focus-shadow-light: rgba(96, 165, 250, .2);--color-focus-shadow-subtle: rgba(96, 165, 250, .1);--color-divider: #374151;--color-primary: #60a5fa;--color-primary-hover: #93c5fd;--color-primary-active: #3b82f6;--color-primary-light: rgba(59, 130, 246, .15);--color-primary-alt: #60a5fa;--color-aws-orange: #ff9900;--color-aws-orange-10: rgba(255, 153, 0, .15);--color-aws-orange-20: rgba(255, 153, 0, .25);--color-aws-orange-30: rgba(255, 153, 0, .35);--color-error: #f87171;--color-error-dark: #ef4444;--color-error-light: rgba(248, 113, 113, .15);--color-success: #4ade80;--color-success-dark: #22c55e;--color-success-light: rgba(74, 222, 128, .15);--color-success-bg: rgba(74, 222, 128, .12);--color-success-border: rgba(74, 222, 128, .4);--color-warning: #fbbf24;--color-warning-dark: #f59e0b;--color-warning-light: rgba(251, 191, 36, .15);--color-info: #38bdf8;--color-info-light: rgba(56, 189, 248, .15);--color-shadow-2: rgba(0, 0, 0, .1);--color-shadow-4: rgba(0, 0, 0, .15);--color-shadow-5: rgba(0, 0, 0, .2);--color-shadow-6: rgba(0, 0, 0, .22);--color-shadow-10: rgba(0, 0, 0, .3);--color-shadow-15: rgba(0, 0, 0, .4);--color-shadow-20: rgba(0, 0, 0, .5);--color-shadow-25: rgba(0, 0, 0, .55);--color-shadow-30: rgba(0, 0, 0, .6);--color-shadow-40: rgba(0, 0, 0, .7);--color-shadow-50: rgba(0, 0, 0, .75);--color-primary-shadow: rgba(59, 130, 246, .3);--color-error-shadow: rgba(248, 113, 113, .3);--color-primary-2: rgba(96, 165, 250, .04);--color-primary-5: rgba(96, 165, 250, .08);--color-primary-8: rgba(96, 165, 250, .12);--color-primary-10: rgba(96, 165, 250, .15);--color-primary-15: rgba(96, 165, 250, .2);--color-primary-20: rgba(96, 165, 250, .25);--color-primary-25: rgba(96, 165, 250, .3);--color-primary-30: rgba(96, 165, 250, .35);--color-primary-40: rgba(96, 165, 250, .45);--color-primary-alt-2: rgba(96, 165, 250, .04);--color-primary-alt-5: rgba(96, 165, 250, .08);--color-primary-alt-8: rgba(96, 165, 250, .12);--color-primary-alt-10: rgba(96, 165, 250, .15);--color-primary-alt-15: rgba(96, 165, 250, .2);--color-primary-alt-20: rgba(96, 165, 250, .25);--color-primary-alt-40: rgba(96, 165, 250, .45);--color-error-5: rgba(248, 113, 113, .1);--color-error-10: rgba(248, 113, 113, .15);--color-error-20: rgba(248, 113, 113, .25);--color-success-30: rgba(74, 222, 128, .35);--color-success-40: rgba(74, 222, 128, .45);--color-blue-10: rgba(96, 165, 250, .15);--color-blue-20: rgba(96, 165, 250, .25);--color-blue-25: rgba(96, 165, 250, .3);--color-blue-30: rgba(96, 165, 250, .35);--color-blue-40: rgba(96, 165, 250, .45);--color-purple-20: rgba(139, 92, 246, .25);--color-purple-40: rgba(139, 92, 246, .45);--color-cyan-10: rgba(96, 165, 250, .15);--color-cyan-20: rgba(96, 165, 250, .25);--color-warning-40: rgba(251, 191, 36, .45);--color-gradient-start: #818cf8;--color-gradient-end: #a78bfa;--color-surface-secondary: #374151}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--color-text-primary: #f3f4f6;--color-text-secondary: #d1d5db;--color-text-tertiary: #9ca3af;--color-text-muted: #6b7280;--color-text-inverse: #111827;--color-text-link: #60a5fa;--color-bg-primary: #1f2937;--color-bg-secondary: #111827;--color-bg-tertiary: #374151;--color-bg-hover: #374151;--color-bg-disabled: #1f2937;--color-border-primary: #374151;--color-border-secondary: #4b5563;--color-border-light: #374151;--color-border-focus: #60a5fa;--color-focus: #60a5fa;--color-focus-shadow: rgba(96, 165, 250, .3);--color-focus-shadow-light: rgba(96, 165, 250, .2);--color-focus-shadow-subtle: rgba(96, 165, 250, .1);--color-divider: #374151;--color-primary: #60a5fa;--color-primary-hover: #93c5fd;--color-primary-active: #3b82f6;--color-primary-light: rgba(59, 130, 246, .15);--color-primary-alt: #60a5fa;--color-aws-orange: #ff9900;--color-aws-orange-10: rgba(255, 153, 0, .15);--color-aws-orange-20: rgba(255, 153, 0, .25);--color-aws-orange-30: rgba(255, 153, 0, .35);--color-error: #f87171;--color-error-dark: #ef4444;--color-error-light: rgba(248, 113, 113, .15);--color-success: #4ade80;--color-success-dark: #22c55e;--color-success-light: rgba(74, 222, 128, .15);--color-warning: #fbbf24;--color-warning-dark: #f59e0b;--color-warning-light: rgba(251, 191, 36, .15);--color-info: #38bdf8;--color-info-light: rgba(56, 189, 248, .15);--color-shadow-2: rgba(0, 0, 0, .1);--color-shadow-4: rgba(0, 0, 0, .15);--color-shadow-5: rgba(0, 0, 0, .2);--color-shadow-6: rgba(0, 0, 0, .22);--color-shadow-10: rgba(0, 0, 0, .3);--color-shadow-15: rgba(0, 0, 0, .4);--color-shadow-20: rgba(0, 0, 0, .5);--color-shadow-25: rgba(0, 0, 0, .55);--color-shadow-30: rgba(0, 0, 0, .6);--color-shadow-40: rgba(0, 0, 0, .7);--color-shadow-50: rgba(0, 0, 0, .75);--color-primary-shadow: rgba(96, 165, 250, .3);--color-error-shadow: rgba(248, 113, 113, .3);--color-primary-2: rgba(96, 165, 250, .04);--color-primary-5: rgba(96, 165, 250, .08);--color-primary-8: rgba(96, 165, 250, .12);--color-primary-10: rgba(96, 165, 250, .15);--color-primary-15: rgba(96, 165, 250, .2);--color-primary-20: rgba(96, 165, 250, .25);--color-primary-25: rgba(96, 165, 250, .3);--color-primary-30: rgba(96, 165, 250, .35);--color-primary-40: rgba(96, 165, 250, .45);--color-primary-alt-2: rgba(96, 165, 250, .04);--color-primary-alt-5: rgba(96, 165, 250, .08);--color-primary-alt-8: rgba(96, 165, 250, .12);--color-primary-alt-10: rgba(96, 165, 250, .15);--color-primary-alt-15: rgba(96, 165, 250, .2);--color-primary-alt-20: rgba(96, 165, 250, .25);--color-primary-alt-40: rgba(96, 165, 250, .45);--color-error-5: rgba(248, 113, 113, .1);--color-error-10: rgba(248, 113, 113, .15);--color-error-20: rgba(248, 113, 113, .25);--color-success-30: rgba(74, 222, 128, .35);--color-success-40: rgba(74, 222, 128, .45);--color-blue-10: rgba(96, 165, 250, .15);--color-blue-20: rgba(96, 165, 250, .25);--color-blue-25: rgba(96, 165, 250, .3);--color-blue-30: rgba(96, 165, 250, .35);--color-blue-40: rgba(96, 165, 250, .45);--color-purple-20: rgba(139, 92, 246, .25);--color-purple-40: rgba(139, 92, 246, .45);--color-cyan-10: rgba(96, 165, 250, .15);--color-cyan-20: rgba(96, 165, 250, .25);--color-warning-40: rgba(251, 191, 36, .45);--color-gradient-start: #818cf8;--color-gradient-end: #a78bfa;--color-surface-secondary: #374151}}
