.dos-ghsd-logo{height:50px;margin-right:8px;vertical-align:middle;cursor:pointer}.header{background-color:var(--color-black-pearl);color:#fff;padding:var(--spacing-md) 0;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:50;border-bottom:4px solid #981b1e}.header-content{max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-lg);justify-content:flex-start}.menu-button{background:transparent;border:2px solid transparent;color:#fff;padding:var(--spacing-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:background-color var(--transition-fast),border-color var(--transition-fast)}.menu-button:hover{background-color:#ffffff1a}.menu-button:focus{outline:none;border-color:#fff;box-shadow:0 0 0 3px #ffffff4d}.menu-icon{font-size:var(--font-size-2xl);line-height:1}.header-title{font-family:var(--font-serif);font-size:var(--font-size-2xl);font-weight:700;margin:0;color:#fff;flex-grow:1}.header-actions{display:flex;align-items:center;gap:var(--spacing-md)}@media (max-width: 768px){.header-title{font-size:var(--font-size-xl)}}.navigation{background-color:var(--color-tarawera);color:#fff;min-height:calc(100vh - 72px);height:100%;position:sticky;top:25px;transition:width var(--transition-base);overflow-y:auto;overflow-x:hidden;flex-shrink:0}.navigation-open{width:250px}.navigation-closed{width:60px}.navigation-list{list-style:none;padding:0;margin:0}.navigation-list .navigation-link:first-child{margin-top:0;padding-top:var(--spacing-md)}.navigation-item{margin:0}.navigation-link{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);color:#fff;text-decoration:none;transition:background-color var(--transition-fast);border-left:4px solid transparent}.navigation-link:hover{background-color:#ffffff1a}.navigation-link:focus{outline:none;background-color:#ffffff26;box-shadow:inset 0 0 0 2px #ffffff80}.navigation-link-active{background-color:#ffffff26;border-left-color:var(--color-alizarin-crimson);font-weight:600}.navigation-icon{font-size:var(--font-size-xl);min-width:24px;display:flex;align-items:center;justify-content:center}.navigation-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navigation-closed .navigation-label{display:none}.navigation-closed .navigation-icon{margin:0 auto}.navigation::-webkit-scrollbar{width:8px}.navigation::-webkit-scrollbar-track{background:#0000001a}.navigation::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.navigation::-webkit-scrollbar-thumb:hover{background:#ffffff80}@media (max-width: 768px){.navigation{position:fixed;left:0;top:72px;z-index:40;box-shadow:2px 0 8px #0003}.navigation-closed{transform:translate(-100%)}}.layout{min-height:100vh;display:flex;flex-direction:column}.layout-body{display:flex;flex:1;overflow:hidden;background-color:var(--color-tarawera)}.main-content{flex:1;overflow-y:auto;padding:var(--spacing-xl);background-color:var(--color-surface)}.main-content:focus{outline:none}@media (max-width: 768px){.main-content{padding:var(--spacing-md)}}.home-page{max-width:1200px;margin:0 auto}.hero-section{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);background:linear-gradient(135deg,var(--color-matisse) 0%,var(--color-smalt) 100%);color:#fff;border-radius:var(--radius-lg);margin-bottom:var(--spacing-2xl)}.hero-section h1{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-md);color:#fff}.hero-subtitle{font-size:var(--font-size-xl);opacity:.95;max-width:700px;margin:0 auto}.features-section{margin-bottom:var(--spacing-2xl)}.features-section h2{text-align:center;margin-bottom:var(--spacing-xl);color:var(--color-primary)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg)}.feature-card{background:#fff;padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000001a;transition:transform var(--transition-base),box-shadow var(--transition-base)}.feature-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.feature-icon{font-size:3rem;display:block;margin-bottom:var(--spacing-md)}.feature-card h3{color:var(--color-primary);margin-bottom:var(--spacing-sm)}.feature-card p{color:var(--color-text-secondary);line-height:1.6;margin:0}.getting-started-section{background:#fff;padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000001a}.getting-started-section h2{text-align:center;margin-bottom:var(--spacing-xl);color:var(--color-primary)}.steps-container{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:800px;margin:0 auto}.step{display:flex;gap:var(--spacing-lg);align-items:flex-start}.step-number{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--color-matisse) 0%,var(--color-smalt) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:700;font-family:var(--font-serif)}.step-content h3{margin-top:0;margin-bottom:var(--spacing-sm);color:var(--color-primary)}.step-content p{margin:0;color:var(--color-text-secondary);line-height:1.6}@media (max-width: 768px){.hero-section h1{font-size:var(--font-size-3xl)}.hero-subtitle{font-size:var(--font-size-lg)}.features-grid{grid-template-columns:1fr}.step{flex-direction:column;align-items:center;text-align:center}}.dashboard-page{max-width:1400px;margin:0 auto}.page-header{margin-bottom:var(--spacing-2xl)}.page-header h1{margin-bottom:var(--spacing-sm);color:var(--color-primary)}.page-description{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin:0}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.metric-card{background:#fff;padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000001a;display:flex;gap:var(--spacing-lg);align-items:flex-start;transition:transform var(--transition-base),box-shadow var(--transition-base)}.metric-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.metric-icon{font-size:2.5rem;flex-shrink:0}.metric-content{flex:1}.metric-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-xs) 0;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.metric-value{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-primary);margin:0 0 var(--spacing-xs) 0;font-family:var(--font-serif)}.metric-change{font-size:var(--font-size-sm);margin:0;font-weight:500}.metric-change.positive{color:var(--color-success)}.metric-change.negative{color:var(--color-error)}.metric-change.neutral{color:var(--color-text-secondary)}.dashboard-content{display:flex;flex-direction:column;gap:var(--spacing-xl)}.dashboard-section{background:#fff;padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000001a}.dashboard-section h2{color:var(--color-primary);margin-top:0}.info-box{background:var(--color-surface);padding:var(--spacing-lg);border-radius:var(--radius-md);border-left:4px solid var(--color-primary);margin-top:var(--spacing-lg)}.info-box h3{margin-top:0;color:var(--color-primary)}.info-box ul{margin:var(--spacing-md) 0 0 var(--spacing-lg);line-height:1.8}.info-box li{color:var(--color-text-secondary)}.action-buttons{display:flex;gap:var(--spacing-md);flex-wrap:wrap}@media (max-width: 768px){.dashboard-grid{grid-template-columns:1fr}.metric-card{flex-direction:column;text-align:center}.action-buttons{flex-direction:column}.action-buttons button{width:100%}}.tableau-page{max-width:1400px;margin:0 auto}.tableau-info-section{margin-top:var(--spacing-2xl);background:#fff;padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000001a}.tableau-info-section h2{color:var(--color-primary);margin-top:0}.info-card a{color:var(--color-primary);font-weight:500}.foundry-chat-container{display:flex;flex-direction:column;height:calc(100vh - 200px);max-height:900px;background:#fff;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000001a;overflow:hidden}.foundry-chat-header{padding:var(--spacing-lg);background-color:var(--color-primary);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md)}.foundry-chat-header h2{font-family:var(--font-serif);margin:0;color:#fff}.foundry-chat-description{margin:var(--spacing-xs) 0 0 0;opacity:.9;font-size:var(--font-size-sm)}.foundry-chat-header .btn-outline{border-color:#fff;color:#fff;background:transparent}.foundry-chat-header .btn-outline:hover:not(:disabled){background:#fff;color:var(--color-primary)}.foundry-chat-error{padding:var(--spacing-md);background-color:#fff3cd;border-bottom:2px solid #ffc107;color:#856404}.foundry-chat-error strong{display:block;margin-bottom:var(--spacing-xs)}.error-help{margin:var(--spacing-xs) 0 0 0;font-size:var(--font-size-sm);opacity:.9}.foundry-chat-messages{flex:1;overflow-y:auto;padding:var(--spacing-lg);background-color:var(--color-surface)}.foundry-message{margin-bottom:var(--spacing-lg);padding:var(--spacing-md);border-radius:var(--radius-md);max-width:80%;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.foundry-message-user{margin-left:auto;background-color:var(--color-primary);color:#fff}.foundry-message-assistant{margin-right:auto;background-color:#fff;border:1px solid var(--color-border);color:var(--color-text-primary)}.foundry-message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);font-size:var(--font-size-sm)}.foundry-message-role{font-weight:600}.foundry-message-user .foundry-message-role{color:#fff}.foundry-message-assistant .foundry-message-role{color:var(--color-primary)}.foundry-message-time{opacity:.7;font-size:var(--font-size-xs)}.foundry-message-content{line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.typing-indicator{display:flex;gap:4px;padding:var(--spacing-sm) 0}.typing-indicator span{width:8px;height:8px;border-radius:50%;background-color:var(--color-primary);animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.foundry-chat-input-form{padding:var(--spacing-lg);background:#fff;border-top:2px solid var(--color-border);display:flex;gap:var(--spacing-md);align-items:flex-end}.foundry-chat-input{flex:1;min-height:60px;max-height:120px;resize:vertical;font-family:var(--font-sans);font-size:var(--font-size-base)}.foundry-send-button{min-width:100px;padding:var(--spacing-md) var(--spacing-lg)}.foundry-chat-messages::-webkit-scrollbar{width:8px}.foundry-chat-messages::-webkit-scrollbar-track{background:var(--color-surface)}.foundry-chat-messages::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.foundry-chat-messages::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width: 768px){.foundry-chat-container{height:calc(100vh - 150px)}.foundry-message{max-width:90%}.foundry-chat-header{flex-direction:column;align-items:flex-start}.foundry-chat-input-form{flex-direction:column;align-items:stretch}.foundry-send-button{width:100%}}.chat-page{max-width:1400px;margin:0 auto}.chat-info-section{margin-top:var(--spacing-2xl);background:#fff;padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000001a}.chat-info-section h2{color:var(--color-primary);margin-top:0}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg);margin-top:var(--spacing-xl)}.info-card{background:var(--color-surface);padding:var(--spacing-lg);border-radius:var(--radius-md);border-left:4px solid var(--color-primary)}.info-card h3{margin-top:0;color:var(--color-primary);font-size:var(--font-size-lg)}.info-card ul{margin:var(--spacing-md) 0 0 var(--spacing-lg);line-height:1.8}.info-card li{color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}@media (max-width: 768px){.info-grid{grid-template-columns:1fr}}:root{--color-black-pearl: #0a2240;--color-tarawera: #0a314d;--color-merlot: #981b1e;--color-alizarin-crimson: #d01319;--color-smalt: #002d74;--color-matisse: #205493;--color-primary: var(--color-matisse);--color-primary-dark: var(--color-smalt);--color-secondary: var(--color-alizarin-crimson);--color-secondary-dark: var(--color-merlot);--color-background: #ffffff;--color-surface: #f8f9fa;--color-text-primary: var(--color-black-pearl);--color-text-secondary: var(--color-tarawera);--color-border: #d1d5db;--color-error: var(--color-alizarin-crimson);--color-success: #059669;--color-warning: #d97706;--font-serif: "EB Garamond", Georgia, serif;--font-sans: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--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;--font-size-4xl: 2.25rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--focus-ring: 0 0 0 3px rgba(32, 84, 147, .4)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:700;line-height:1.2;margin-bottom:var(--spacing-md);color:var(--color-text-primary)}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-base)}p{margin-bottom:var(--spacing-md)}a{color:var(--color-primary);text-decoration:underline;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}a:focus{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.skip-to-main{position:absolute;top:-40px;left:0;background:var(--color-primary);color:#fff;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;z-index:100}.skip-to-main:focus{top:0}button{font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}button:focus{outline:none;box-shadow:var(--focus-ring)}button:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-secondary);color:#fff}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-dark)}.btn-outline{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary);color:#fff}input,textarea,select{font-family:var(--font-sans);font-size:var(--font-size-base);padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast);width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}label{display:block;margin-bottom:var(--spacing-xs);font-weight:600;color:var(--color-text-primary)}#root{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.spinner{border:4px solid var(--color-surface);border-top:4px solid var(--color-primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.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}:focus:not(:focus-visible){outline:none;box-shadow:none}:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (prefers-contrast: high){:root{--color-border: #000000}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{body{background:#fff;color:#000}.no-print{display:none!important}}
