:root{--ceres-primary: #1B365D;--ceres-secondary: #2E7D8A;--ceres-accent: #4A90A4;--ceres-header-start: #029fd3;--ceres-header-end: #3cb8e1;--ceres-light: #f8f8f8;--ceres-dark: #2C3E50;--ceres-white: #FFFFFF;--ceres-text: #2C3E50;--ceres-text-light: #6C757D;--ceres-border: #E1E5E9;--ceres-hover: #143A5C;--ceres-success: #28A745;--ceres-warning: #FFC107;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;font-weight:400;font-size:16px;color:var(--ceres-text);background-color:var(--ceres-light);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--ceres-light);color:var(--ceres-text)}a{font-weight:500;color:var(--ceres-primary);text-decoration:none;transition:color .2s ease}a:hover{color:var(--ceres-secondary)}h1{font-size:2.5em;line-height:1.2;font-weight:600;color:var(--ceres-primary);margin:0}h2{font-size:1.8em;line-height:1.3;font-weight:500;color:var(--ceres-primary);margin:0 0 1rem}h3{font-size:1.4em;line-height:1.3;font-weight:500;color:var(--ceres-dark);margin:0 0 1rem}h4{font-size:1.1em;line-height:1.3;font-weight:600;color:var(--ceres-primary);margin:0 0 .5rem}p{margin:0 0 1rem;color:var(--ceres-text-light)}button{border-radius:6px;border:1px solid var(--ceres-primary);padding:12px 24px;font-size:.95em;font-weight:500;font-family:inherit;background-color:var(--ceres-primary);color:var(--ceres-white);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #1b365d1a}button:hover{background-color:var(--ceres-hover);transform:translateY(-1px);box-shadow:0 4px 8px #1b365d26}button:focus,button:focus-visible{outline:2px solid var(--ceres-accent);outline-offset:2px}button.secondary{background-color:var(--ceres-white);color:var(--ceres-primary);border:1px solid var(--ceres-border)}button.secondary:hover{background-color:var(--ceres-light);border-color:var(--ceres-primary)}.ceres-container{min-height:100vh;display:flex;flex-direction:column}.ceres-header{background:#334255;color:var(--ceres-white);padding:1.5rem 0;box-shadow:0 4px 12px #33425526}.ceres-header-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.ceres-logo-area{display:flex;align-items:center;gap:1rem}.ceres-logo-img{height:40px;width:auto;transition:opacity .2s ease}.ceres-logo-img:hover{opacity:.9}.ceres-logo-svg{color:var(--ceres-white);filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.ceres-logo{font-size:1.8rem;font-weight:700;color:var(--ceres-white);text-decoration:none;letter-spacing:-.5px}.ceres-env-indicator{background:#fff3;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.ceres-logout-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:var(--ceres-white);padding:.5rem 1.25rem;border-radius:6px;font-size:.9rem;transition:all .2s ease}.ceres-logout-btn:hover{background:#fff3;transform:translateY(-1px)}.ceres-main{flex:1;max-width:1200px;margin:0 auto;padding:3rem 2rem;width:100%}.ceres-welcome{text-align:center;margin-bottom:3rem;padding:2rem;background:var(--ceres-white);border-radius:12px;box-shadow:0 4px 20px #1b365d14}.ceres-welcome h2{margin-bottom:.5rem}.ceres-tagline{font-size:1.1rem;color:var(--ceres-text-light);font-style:italic;margin-bottom:1rem}.ceres-description{color:var(--ceres-text-light);line-height:1.6}.ceres-apps-section{margin-top:2rem}.ceres-section-title{text-align:center;margin-bottom:2rem;font-size:1.6rem;color:var(--ceres-primary)}.ceres-apps-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:1.5rem}.ceres-app-card{background:var(--ceres-white);border:1px solid var(--ceres-border);border-radius:12px;padding:1.5rem;transition:all .3s ease;box-shadow:0 2px 8px #1b365d0f;position:relative;overflow:hidden}.ceres-app-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--ceres-primary),var(--ceres-secondary));transform:scaleX(0);transition:transform .3s ease}.ceres-app-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #1b365d1f;border-color:var(--ceres-accent)}.ceres-app-card:hover:before{transform:scaleX(1)}.ceres-app-link{color:inherit;text-decoration:none;display:block;height:100%;transition:transform .2s ease}.ceres-app-link:hover{transform:translateY(-2px)}.ceres-app-link .ceres-app-title{color:var(--ceres-primary);font-weight:600;font-size:1.2rem;margin-bottom:.75rem;transition:color .2s ease}.ceres-app-link:hover .ceres-app-title{color:var(--ceres-secondary)}.ceres-app-subtitle{color:var(--ceres-secondary);font-size:1rem;font-weight:500;margin:0}.ceres-app-description{color:var(--ceres-text-light);line-height:1.6;margin:0}.ceres-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--ceres-light)}.ceres-loading-spinner{width:40px;height:40px;border:4px solid var(--ceres-border);border-top:4px solid var(--ceres-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.ceres-loading-text{color:var(--ceres-text-light);font-size:1.1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.ceres-header-content{flex-direction:column;text-align:center;gap:1rem}.ceres-main{padding:2rem 1rem}.ceres-welcome{padding:1.5rem}.ceres-apps-grid{grid-template-columns:1fr;gap:1rem}.ceres-logo{font-size:1.5rem}}.service-banner{background:linear-gradient(135deg,#f59e0b,#f97316);color:#fff;padding:1rem 0;box-shadow:0 2px 8px #f59e0b4d;animation:slideDown .3s ease-out;position:relative;z-index:100}.service-banner-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:flex-start;gap:1rem}.service-banner-icon{flex-shrink:0;margin-top:.125rem}.service-banner-text{flex:1;line-height:1.6;font-size:.95rem}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.service-banner{padding:.875rem 0}.service-banner-content{padding:0 1rem}.service-banner-text{font-size:.875rem}}.ceres-error-container{max-width:600px;margin:4rem auto;padding:3rem;background:var(--ceres-white);border-radius:12px;box-shadow:0 4px 20px #1b365d14;text-align:center}.ceres-error-icon{font-size:4rem;margin-bottom:1.5rem}.ceres-error-title{color:var(--ceres-primary);font-size:1.8rem;margin-bottom:1rem}.ceres-error-message{color:var(--ceres-text-light);font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.ceres-error-actions{display:flex;justify-content:center;gap:1rem}.ceres-error-btn{background:var(--ceres-primary);color:var(--ceres-white);border:none;padding:.75rem 2rem;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.ceres-error-btn:hover{background:var(--ceres-secondary);transform:translateY(-2px);box-shadow:0 4px 12px #1b365d26}@media (max-width: 768px){.ceres-error-container{margin:2rem 1rem;padding:2rem 1.5rem}.ceres-error-icon{font-size:3rem}.ceres-error-title{font-size:1.5rem}.ceres-error-message{font-size:1rem}}.simulation-panel{background-color:#049fd3;color:var(--ceres-white);width:100%;position:relative;z-index:999}.simulation-panel-header{padding:12px 20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.simulation-panel-header:hover{background-color:#037bb5}.simulation-panel-title{font-size:14px;font-weight:600;margin:0;color:var(--ceres-white)}.simulation-panel-toggle{background:none;border:none;color:var(--ceres-white);font-size:16px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;transition:transform .2s ease}.simulation-panel-toggle.expanded{transform:rotate(180deg)}.simulation-panel-content{max-height:0;overflow:hidden;transition:max-height .3s ease-out;background-color:var(--ceres-white);border-top:none}.simulation-panel-content.expanded{max-height:400px;border-top:1px solid rgba(149,155,161,.3)}.simulation-form{max-width:600px;padding:20px;margin:0}.form-group{margin-bottom:16px}.form-label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--ceres-text)}.radio-group{display:flex;gap:20px;margin-bottom:16px}.radio-option{display:flex;align-items:center;gap:6px}.radio-option input[type=radio]{margin:0}.radio-option label{font-size:14px;color:var(--ceres-text);cursor:pointer;margin:0}.form-input{width:100%;padding:8px 12px;border:1px solid var(--ceres-border);border-radius:4px;font-size:14px;background-color:var(--ceres-white);color:var(--ceres-text);transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus{outline:none;border-color:var(--ceres-primary);box-shadow:0 0 0 2px #1b365d33}.form-input.error{border-color:#e74c3c;box-shadow:0 0 0 2px #e74c3c33}.error-message{color:#e74c3c;font-size:12px;margin-top:4px;display:block}.form-actions{display:flex;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--ceres-border)}.btn-primary{border-radius:25px;border:none;padding:12px 24px;font-size:.95em;font-weight:500;font-family:inherit;background-color:#3cb8e1;color:var(--ceres-white);cursor:pointer;transition:opacity .2s ease;box-shadow:none}.btn-primary:hover{opacity:.8;background-color:#3cb8e1;transform:none;box-shadow:none}.btn-primary:focus,.btn-primary:focus-visible{outline:2px solid var(--ceres-accent);outline-offset:2px}.btn-secondary{background-color:transparent;color:var(--ceres-text);border:1px solid var(--ceres-border);padding:10px 20px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}.btn-secondary:hover{background-color:var(--ceres-light);border-color:var(--ceres-primary)}.simulation-header{display:flex;justify-content:space-between;align-items:center;background-color:#fff3cd;border:1px solid #ffeaa7;padding:10px 20px;font-size:14px;font-weight:500;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:1000}.simulation-info{display:flex;align-items:center;gap:8px}.simulation-icon{font-size:16px;margin-right:4px}.simulation-label{color:#856404;font-weight:600}.simulation-value{color:#533f03;font-family:monospace;background-color:#fdf4d4;padding:2px 6px;border-radius:3px;border:1px solid #f0d56a}.exit-simulation-btn{background-color:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:background-color .2s}.exit-simulation-btn:hover{background-color:#c82333}.exit-simulation-btn:focus{outline:2px solid #dc3545;outline-offset:2px}
