:root{--primary-font: "Open-Dyslexic";font-family:var(--primary-font),Arial,Verdana,Inter,Helvetica,sans-serif;line-height:1.5;font-weight:400;color:#213547f2;background-color:var(--brand-surface);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--brand-indigo: #1f0452;--brand-royal: #002693;--brand-forest: #355e3b;--brand-gold: #d4af37;--brand-on-gradient: #d6d6f5;--brand-surface: #ffffff;--brand-shadow: rgba(0, 0, 0, .3);--brand-accent: var(--brand-royal);--brand-on-accent: #ffffff;--annulet-dark: #0b0b14}html,body{height:100%;margin:0;background:var(--brand-surface)}a{font-weight:500;color:var(--brand-royal);text-decoration:inherit}h1{font-size:3.2em;line-height:1.1}.brand-gradient-bg{background:linear-gradient(45deg,var(--brand-indigo),var(--brand-royal),var(--brand-forest),var(--brand-gold));background-size:800% 800%;animation:gradientShift 12s ease-in-out infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}header.brand,footer.brand{color:var(--brand-on-gradient)}.sso-brand-footer a{color:var(--brand-on-gradient);text-decoration:none}.sso-brand-footer a:hover{color:var(--brand-on-gradient);text-shadow:0 0 6px rgba(255,255,255,.85),0 0 10px rgba(255,255,255,.55)}.sso-brand-header,.sso-brand-footer{padding:10px 16px}.sso-brand-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;position:sticky;top:0;z-index:1000;height:70px}.sso-brand-footer{justify-content:center;text-align:center}.sso-brand-header svg,.sso-brand-footer svg{width:18px;height:18px}.sso-header-left{cursor:pointer;justify-self:start}.sso-header-center{display:flex;justify-content:center}.sso-header-right{display:flex;justify-content:flex-end;justify-self:end}.sso-header-title{text-align:center;margin:0;font-size:1.25rem;text-shadow:1px 1px 2px rgba(0,0,0,.35);color:var(--brand-on-gradient)}.header-logo{height:42px;position:relative;top:3px}.brand-solid-button{padding:.75em;color:var(--brand-on-accent);--annulet-svg-stroke: var(--brand-on-accent);background-color:var(--brand-accent);border:1px solid color-mix(in oklab,var(--brand-accent),black 20%);box-shadow:inset 0 2px 8px color-mix(in oklab,var(--brand-accent),black 35%)}.brand-solid-button:hover{filter:drop-shadow(0 0 8px color-mix(in oklab,var(--brand-accent),white 25%));border-color:color-mix(in oklab,var(--brand-accent),white 10%)}button.active-menu{padding:.75em;color:var(--brand-on-accent);--annulet-svg-stroke: var(--brand-on-accent);background-color:var(--brand-accent);filter:none;box-shadow:inset 0 2px 8px color-mix(in oklab,var(--brand-accent),black 35%);border-color:color-mix(in oklab,var(--brand-accent),black 20%);border-bottom-left-radius:0;border-bottom-right-radius:0;margin-bottom:0}button.active-menu:hover{filter:drop-shadow(0 0 8px color-mix(in oklab,var(--brand-accent),white 25%));border-color:color-mix(in oklab,var(--brand-accent),white 10%)}.menu-container{position:absolute;right:0;background-color:var(--brand-surface);border:1px solid color-mix(in oklab,var(--brand-accent),black 25%);border-radius:15px 0 15px 15px;box-shadow:0 12px 20px #0000002e,0 2px 6px #00000014;z-index:1000;padding-top:6px;margin-top:10px}.menu-items{display:flex;flex-direction:column;padding-bottom:6px;min-width:280px}.menu-items button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:calc(100% - 20px);border:none;background-color:var(--brand-surface)!important;border-bottom:1px solid color-mix(in oklab,var(--brand-accent),black 25%);color:var(--annulet-dark)!important;--annulet-svg-stroke: var(--annulet-dark);border-radius:0;margin:0 10px;padding:12px 14px;line-height:1.2;box-shadow:none!important}.menu-items button svg{width:20px;height:20px;flex:0 0 20px}.menu-items button:hover{color:var(--brand-accent);--annulet-svg-stroke: var(--brand-accent)}.menu-items button:last-child{border-bottom:none}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button svg{vertical-align:middle}button:hover{border-color:var(--brand-royal)}@media (max-width: 768px){.sso-brand-header{padding:6px 12px;grid-template-columns:auto 1fr auto;gap:8px}.header-logo{height:32px}.sso-header-title{font-size:1rem}}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}:root{--background-color: var(--annulet-body-bg-color);--text-color: var(--annulet-text-primary);--card-background: var(--annulet-card-bg-color);--heading-color: var(--annulet-text-secondary);--text-primary: var(--annulet-text-primary);--text-secondary: var(--annulet-text-secondary);--border-color: #ccc;--selected-text-color: var(--annulet-selected-dark)}#root{display:flex;flex-direction:column;width:100%;max-width:none;padding:0;margin:0;height:100vh;min-height:0;overflow:hidden;background:transparent;font-family:var(--annulet-font-family);color:var(--text-color)}.app-content{flex:1;min-height:0;min-width:0;overflow:auto}body{background-color:var(--background-color)}.sso-brand-header,.sso-brand-footer{position:sticky;z-index:20;flex-shrink:0}.sso-brand-header{top:0}.sso-brand-footer{bottom:0}svg{color:currentColor;height:1.5em;width:1.5em;display:inline}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{background-color:var(--card-background);border-radius:1rem;padding:1rem;box-shadow:0 .25rem .5rem #0000001a}.login-card{text-align:left;display:inline-block}.login-card.connected-card{display:inline-flex;flex-direction:column;gap:1rem;justify-items:center}.login-card button{border:1px solid darkgreen;color:#006400;background-color:#fff}.login-card .button-primary{background-color:#006400;color:#fff}h2,h3{margin:0;padding:0}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--annulet-text-primary)}.form-group input[type=text],.form-group input[type=file],.form-group select{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;color:var(--annulet-text-primary)}.form-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.form-actions button{padding:.5rem 1rem;border:1px solid var(--text-color);border-radius:.25rem;cursor:pointer}
