/* VOR Core v1.2 — all seven shells; controlled service accents. */
:root { --vor-shell-accent: #729afa; }
html[data-vor-service="gjallar"] { --vor-shell-accent: #729afa; }
html[data-vor-service="yggdrasil"] { --vor-shell-accent: #7566d4; }
html[data-vor-service="huginn"] { --vor-shell-accent: #ed8651; }
html[data-vor-service="muninn"] { --vor-shell-accent: #568fdd; }
html[data-vor-service="idun"] { --vor-shell-accent: #167d79; }
html[data-vor-service="ratatoskr"] { --vor-shell-accent: #27825c; }
html[data-vor-service="mimir"] { --vor-shell-accent: #ad853e; }
.vor-app-brand-mark, .gj-service-mark, .gj-switcher-mark, .gj-switcher-item-mark,
.hu-service-mark, .ygg-auth-mark { display:inline-flex; align-items:center; justify-content:center; overflow:hidden; }
.vor-service-icon { display:block; width:78%; height:78%; object-fit:contain; flex:none; }
.vor-app-brand-mark .vor-service-icon { width:84%;height:84%; }
.vor-core-service-switcher { position:relative; flex:0 0 auto; z-index:21; }
.vor-core-switch-trigger { display:inline-flex; align-items:center; gap:9px; border:1px solid color-mix(in srgb, var(--vor-shell-accent) 20%, #cbd2da); border-radius:11px; padding:5px 10px 5px 6px; background:var(--surface,#fff); color:var(--text,#252b32); min-height:36px; cursor:pointer; font:inherit; font-size:13px; font-weight:650; }
.vor-core-switch-trigger:focus-visible, .vor-core-switch-item:focus-visible { outline:2px solid var(--vor-shell-accent);outline-offset:2px; }
.vor-core-switch-trigger:hover { border-color:var(--vor-shell-accent); }
.vor-core-switch-logo { display:inline-grid; place-items:center; flex:none; height:27px; width:27px; border-radius:8px; background:color-mix(in srgb, var(--vor-shell-accent) 13%, transparent); }
.vor-core-switch-logo img { display:block; width:24px; height:24px; object-fit:contain; }
.vor-core-chevron { color:var(--vor-shell-accent);margin-left:5px; }
.vor-core-switch-menu { position:absolute; left:0; top:calc(100% + 8px); width:245px; max-height:min(70vh, 440px); overflow:auto; background:var(--surface,#fff);border:1px solid #dfe3e8; border-radius:12px; box-shadow:0 16px 36px #11182724; padding:7px; z-index:100; }
.vor-core-switch-menu[hidden] { display:none!important; }
.vor-core-switch-heading { display:block; color:#808994; font-size:11px; font-weight:750; padding:7px 9px; letter-spacing:.04em;text-transform:uppercase; }
.vor-core-switch-items { display:grid;gap:2px; }
.vor-core-switch-item { display:flex;align-items:center;gap:10px; padding:7px 8px; border-radius:8px; color:inherit; text-decoration:none; font-size:13px; }
.vor-core-switch-item:hover, .vor-core-switch-item.is-current { background:color-mix(in srgb, var(--vor-shell-accent) 11%, transparent); }
.vor-core-switch-item-label {flex:1;font-weight:600;}
.vor-core-switch-current {font-size:10px;color:var(--vor-shell-accent);font-weight:700;}
.vor-core-switch-empty { font-size:12px;line-height:1.5;padding:9px;color:#79828e;margin:0; }
.vor-core-switch-loading { display:flex;align-items:center;gap:8px;padding:9px; }
.vor-core-skeleton { display:block; background:linear-gradient(95deg,#e6e9ef 0%,#f5f6f9 50%,#e6e9ef 100%);background-size:200% 100%;animation:vor-core-shimmer 1.35s linear infinite;border-radius:7px; }
.vor-core-skeleton.is-icon {width:25px;height:25px;flex:none;} .vor-core-skeleton.is-text {width:130px;height:13px;}
@keyframes vor-core-shimmer {to{background-position-x:-200%;}}
html[data-theme="dark"] .vor-core-switch-trigger,html[data-theme="dark"] .vor-core-switch-menu {background:#2b3039;color:#f2f3f6;border-color:#474e58;}
html[data-theme="dark"] .vor-core-skeleton {background:linear-gradient(95deg,#343b47,#49515f,#343b47);background-size:200% 100%;}
html[data-theme="dark"] .vor-core-switch-heading {color:#c5cad2;}
/* Avoid unstyled or oversized legacy inputs, regardless of route. */
.vor-app-main :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),textarea,select),
.vor-app-content :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),textarea,select) {box-sizing:border-box;max-width:100%;min-height:32px;border-radius:8px;}
:where(.vor-app-main,.vor-app-content) :where(button,input,select,textarea,a):focus-visible { outline:2px solid var(--vor-shell-accent);outline-offset:2px; }
@media(max-width:630px) {.vor-core-switch-label {max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} .vor-core-switch-menu{width:218px;} }
@media(prefers-reduced-motion:reduce) { .vor-core-skeleton{animation:none;} }

/* Uniform controls on legacy VOR pages without flattening original buttons. */
.vor-core-input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.vor-core-select, .vor-core-textarea {
  box-sizing:border-box; min-height:32px; max-width:100%; border:1px solid #d7dde6;
  background:var(--surface,#fff);color:inherit;border-radius:8px;padding:6px 10px;
  font:inherit;font-size:13px;
}
.vor-core-input[type="checkbox"], .vor-core-input[type="radio"] { accent-color:var(--vor-shell-accent); }
.vor-core-input:focus, .vor-core-select:focus, .vor-core-textarea:focus { outline:2px solid color-mix(in srgb,var(--vor-shell-accent) 55%,transparent);outline-offset:0;border-color:var(--vor-shell-accent); }
.vor-core-login-logo img{width:85%;height:85%;object-fit:contain;}
/* Skeletons remain attached to their content, and never replace working controls. */
.vor-core-loading-state[aria-busy="true"]:not(:has(.vor-skeleton))::before,
.vor-core-skeleton-inline:empty::before {
 content:"";display:block;width:min(90%,280px);height:11px;margin:5px 0 8px;border-radius:6px;
 background:linear-gradient(95deg,#e8ebf0 0%,#f5f7fa 50%,#e8ebf0 100%);
 background-size:200% 100%;animation:vor-core-shimmer 1.35s linear infinite;
}
html[data-theme="dark"] :is(.vor-core-input,.vor-core-select,.vor-core-textarea){background:#303741;color:#f2f4f7;border-color:#46505d;}
html[data-theme="dark"] :is(.vor-core-loading-state,.vor-core-skeleton-inline):before{background:linear-gradient(95deg,#333943,#4b5361,#333943);background-size:200% 100%;}
