/* Gjallar UX v1 — deliberately scoped to the customer identity hub.
   Second mockup navigation, tighter information density, soft glass/hollow layers. */
html[data-vor-service="gjallar"] {
    --gj-navy: #172538;
    --gj-navy-soft: #22344a;
    --gj-navy-hover: rgba(255,255,255,.085);
    --gj-navy-muted: #9eafc2;
    --gj-hollow: color-mix(in srgb, var(--vor-accent) 11%, transparent);
    --gj-edge: color-mix(in srgb, var(--vor-border) 82%, transparent);
    --vor-frame-width: 218px;
    --vor-frame-topbar: 54px;
    --vor-radius-md: 8px;
    --vor-radius-lg: 11px;
}
html[data-theme="dark"][data-vor-service="gjallar"] {
    --gj-navy: #0c1724;
    --gj-navy-soft: #142437;
    --gj-navy-hover: rgba(255,255,255,.075);
    --gj-navy-muted: #91a3ba;
    --gj-hollow: color-mix(in srgb, var(--vor-accent) 18%, transparent);
}
html[data-vor-service="gjallar"] body {
    background: radial-gradient(ellipse 62% 45% at 80% -5%, color-mix(in srgb,var(--vor-accent) 4%,transparent),transparent), var(--vor-bg);
}
html[data-vor-service="gjallar"] .gjallar-sidebar {
    background: linear-gradient(162deg,var(--gj-navy) 0%, var(--gj-navy-soft) 100%);
    border-right: 1px solid rgba(255,255,255,.09);
    color: #e6edf6;
    box-shadow: 8px 0 38px rgba(9,24,40,.035);
}
html[data-vor-service="gjallar"] .gjallar-sidebar .vor-app-brand {
    min-height: 64px;
    border-bottom:1px solid rgba(255,255,255,.085) !important;
    padding-inline:17px;
}
html[data-vor-service="gjallar"] .gjallar-sidebar .vor-app-brand-mark,
html[data-vor-service="gjallar"] .gj-mobile-nav .vor-app-brand-mark {
    width:31px;height:31px;flex-basis:31px;
    background:rgba(157,189,255,.11) !important;
    border:1px solid rgba(173,200,255,.26) !important;
    color:#c7dcff !important;
    border-radius:9px;
    font-size:11px;
}
html[data-vor-service="gjallar"] .gjallar-sidebar .vor-app-brand-copy strong {font-size:13.5px;color:#f8fbff;}
html[data-vor-service="gjallar"] .gjallar-sidebar .vor-app-brand-copy small {color:var(--gj-navy-muted);font-size:10px;}
html[data-vor-service="gjallar"] .gj-shell-workspace {
    margin:14px 12px 6px;padding:12px 12px 11px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:9px;
    background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.018));
    box-shadow:inset 0 1px rgba(255,255,255,.075);
    display:grid;gap:3px;
}
.gj-shell-workspace-label {font-size:10px;color:var(--gj-navy-muted);letter-spacing:.02em;}
.gj-shell-workspace strong {font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em;}
html[data-vor-service="gjallar"] .gjallar-sidebar .vor-app-nav {padding:9px 10px 12px;gap:3px;}
html[data-vor-service="gjallar"] .gjallar-sidebar .vor-app-nav-label {
    color:#91a4ba;font-size:10px;font-weight:650;padding:14px 9px 7px;letter-spacing:.045em;
}
html[data-vor-service="gjallar"] .gjallar-sidebar .vor-app-nav-item {
    min-height:32px;color:#cbd7e5;border-radius:7px;gap:11px;padding:0 11px;
    font-size:12px;font-weight:540;transition:background .18s ease,color .18s ease,transform .18s ease;
}
html[data-vor-service="gjallar"] .gjallar-sidebar .vor-app-nav-item:hover {
    background:var(--gj-navy-hover);color:white;transform:translateX(2px);
}
html[data-vor-service="gjallar"] .gjallar-sidebar .vor-app-nav-item.is-active {
    background:rgba(145,188,255,.15);color:#fff;font-weight:680;
    box-shadow:inset 0 0 0 1px rgba(172,205,255,.08);
}
html[data-vor-service="gjallar"] .gjallar-sidebar .vor-app-nav-item.is-active::before {background:#90beff;left:0;width:2px;}
html[data-vor-service="gjallar"] .gjallar-sidebar .vor-app-nav-dot {
    width:16px;height:16px;flex:0 0 16px;border-radius:0;background:transparent;
    color:#97afcf;opacity:1;
}
html[data-vor-service="gjallar"] .gjallar-sidebar .vor-app-nav-item.is-active .vor-app-nav-dot {color:#c4dcff;}
html[data-vor-service="gjallar"] .gj-sidebar-footer {
    margin-top:auto;padding:14px 13px;border-top:1px solid rgba(255,255,255,.1);
    display:grid;gap:12px;
}
html[data-vor-service="gjallar"] .gj-sidebar-profile {color:#f5f8ff;text-decoration:none;gap:9px;}
html[data-vor-service="gjallar"] .gj-sidebar-profile strong {color:#f8fbff;font-size:12px;}
html[data-vor-service="gjallar"] .gj-sidebar-profile small {color:var(--gj-navy-muted);font-size:10px;}
html[data-vor-service="gjallar"] .gj-sidebar-profile .vor-app-avatar {background:rgba(161,190,255,.18);color:#f4f7ff;border:1px solid rgba(255,255,255,.13);}
html[data-vor-service="gjallar"] .gj-shell-footer-caption {display:flex;align-items:center;gap:7px;font-size:10px;color:var(--gj-navy-muted);}
html[data-vor-service="gjallar"] .gj-shell-footer-caption i {width:6px;height:6px;border-radius:100%;background:#70d6ae;box-shadow:0 0 0 3px rgba(112,214,174,.1);}
html[data-vor-service="gjallar"] .gjallar-topbar {
    min-height:54px;height:54px;
    background:color-mix(in srgb, var(--vor-surface-raised) 88%, transparent);
    backdrop-filter:blur(16px) saturate(1.12);
    -webkit-backdrop-filter:blur(16px) saturate(1.12);
    border-bottom:1px solid var(--gj-edge);
    box-shadow:0 1px 10px rgba(20,30,50,.025);
    padding:0 20px;
}
html[data-vor-service="gjallar"] .gj-topbar-left {min-width:0;gap:16px;}
html[data-vor-service="gjallar"] .gj-topbar-actions {gap:10px;}
.gj-switcher-wrap,.gj-account-wrap {position:relative;}
.gj-switcher-trigger {
    display:flex;align-items:center;gap:9px;border:1px solid var(--vor-border);
    border-radius:8px;background:var(--vor-surface-raised);color:var(--vor-text);
    height:34px;padding:0 10px 0 6px;font-weight:650;font-size:12px;
    cursor:pointer;transition:box-shadow .16s ease,border-color .16s ease;
}
.gj-switcher-trigger:hover,.gj-switcher-trigger[aria-expanded="true"] {
    border-color:color-mix(in srgb,var(--vor-accent) 36%,var(--vor-border));
    box-shadow:0 0 0 3px var(--gj-hollow);
}
.gj-switcher-mark,.gj-switcher-item-mark {
    display:grid;place-items:center;min-width:25px;width:25px;height:25px;border-radius:6px;
    font-size:10px;font-weight:780;letter-spacing:-.035em;
    background:color-mix(in srgb,var(--vor-accent) 12%,var(--vor-surface));
    color:var(--vor-accent);
}
.gj-chevron {font-size:14px;color:var(--vor-text-faint);}
.gj-quick-trigger {
    display:flex;align-items:center;gap:10px;width:min(355px,32vw);height:34px;
    border:1px solid var(--vor-border);border-radius:8px;padding:0 9px;
    background:color-mix(in srgb,var(--vor-surface-muted) 60%,transparent);
    color:var(--vor-text-faint);font-size:11.5px;text-align:left;cursor:pointer;
    transition:background-color .17s,border-color .17s;
}
.gj-quick-trigger:hover {background:var(--vor-surface-raised);border-color:var(--vor-border-strong);}
.gj-quick-search-symbol {font-size:20px;line-height:1;color:var(--vor-text-faint);}
.gj-quick-trigger kbd {margin-left:auto;white-space:nowrap;padding:2px 5px;border:1px solid var(--vor-border);border-radius:4px;font-size:10px;color:var(--vor-text-faint);}
.gj-theme-button {
    display:grid;place-items:center;border:1px solid var(--vor-border);border-radius:8px;
    width:31px;height:31px;background:transparent;color:var(--vor-text-soft);cursor:pointer;
}
.gj-theme-button:hover {background:var(--vor-surface-muted);}
html[data-vor-service="gjallar"] .gj-account-trigger {gap:9px;padding:4px 7px;border-radius:9px;height:42px;}
html[data-vor-service="gjallar"] .gj-account-trigger:hover,
html[data-vor-service="gjallar"] .gj-account-trigger[aria-expanded="true"] {background:var(--vor-surface-muted);}
html[data-vor-service="gjallar"] .gj-account-trigger .vor-app-avatar {border-radius:50%;border:1px solid var(--vor-border);background:color-mix(in srgb,var(--vor-accent) 14%,var(--vor-surface));}
html[data-vor-service="gjallar"] .gj-account-trigger strong {font-size:11.7px;}
html[data-vor-service="gjallar"] .gj-account-trigger small {max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.gj-menu-popover {
    position:absolute;top:calc(100% + 9px);left:0;z-index:650;
    min-width:235px;padding:6px;background:var(--vor-surface-raised);
    border:1px solid var(--vor-border);border-radius:11px;
    box-shadow:0 18px 42px rgba(16,28,46,.14),inset 0 1px rgba(255,255,255,.1);
    backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
    animation:gj-pop .17s cubic-bezier(.2,.75,.15,1);
}
.gj-menu-popover[hidden],.gj-command-overlay[hidden] {display:none !important;}
.gj-popover-heading {padding:8px 10px 10px;color:var(--vor-text-faint);font-size:10.5px;font-weight:720;text-transform:uppercase;letter-spacing:.035em;}
.gj-menu-popover a {display:flex;align-items:center;gap:10px;min-height:34px;padding:7px 10px;border-radius:7px;color:var(--vor-text);font-size:12px;text-decoration:none;transition:background .14s ease;}
.gj-menu-popover a:hover {background:var(--vor-surface-muted);}
.gj-switcher-item.is-current {background:var(--gj-hollow);}
.gj-switcher-item small {margin-left:auto;font-size:10px;color:var(--vor-text-faint);}
.gj-menu-popover .gj-switcher-manage {margin-top:5px;border-top:1px solid var(--vor-border);border-radius:0;color:var(--vor-accent);}
.gj-popover-empty {padding:9px 11px;color:var(--vor-text-faint);font-size:12px;}
.gj-account-menu {left:auto;right:0;min-width:220px;}
.gj-popover-account {display:flex;flex-direction:column;gap:3px;padding:11px 10px;border-bottom:1px solid var(--vor-border);margin-bottom:5px;}
.gj-popover-account small {font-size:10.5px;color:var(--vor-text-faint);}
.gj-popover-divider {height:1px;margin:5px 0;background:var(--vor-border);}
.gj-command-overlay {position:fixed;inset:0;z-index:2000;display:flex;justify-content:center;align-items:flex-start;padding:11vh 16px 16px;}
.gj-command-backdrop {position:absolute;inset:0;background:rgba(12,22,34,.44);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
.gj-command-panel {position:relative;width:min(580px,100%);background:var(--vor-surface-raised);border:1px solid var(--vor-border);border-radius:14px;box-shadow:0 24px 90px rgba(5,18,36,.23);overflow:hidden;animation:gj-pop .2s ease;}
.gj-command-input-wrap {display:flex;align-items:center;gap:12px;padding:10px 15px;border-bottom:1px solid var(--vor-border);}
.gj-command-input-wrap > span {font-size:23px;color:var(--vor-text-faint);}
.gj-command-input-wrap input {flex:1;min-width:0;border:0 !important;outline:0 !important;background:transparent !important;color:var(--vor-text);box-shadow:none !important;height:30px;font-size:13px;}
.gj-command-input-wrap button {border:1px solid var(--vor-border);border-radius:5px;background:var(--vor-surface-muted);color:var(--vor-text-faint);font-size:10px;padding:4px 7px;cursor:pointer;}
.gj-command-results {max-height:min(420px,54vh);overflow:auto;padding:7px;}
.gj-command-result {display:flex;align-items:center;gap:11px;padding:9px;border-radius:8px;text-decoration:none;color:var(--vor-text);}
.gj-command-result:hover,.gj-command-result.is-selected {background:var(--vor-surface-muted);}
.gj-command-kind {display:grid;place-items:center;background:var(--gj-hollow);border-radius:7px;width:30px;height:30px;color:var(--vor-accent);font-weight:760;font-size:13px;}
.gj-command-result > span:last-child {display:flex;flex-direction:column;gap:2px;}
.gj-command-result strong {font-size:12px;}
.gj-command-result small {font-size:10.5px;color:var(--vor-text-faint);}
.gj-command-empty,.gj-command-footer {color:var(--vor-text-faint);font-size:11px;padding:12px;}
.gj-command-footer {border-top:1px solid var(--vor-border);padding:8px 14px;}
body.gj-command-open {overflow:hidden;}
html[data-vor-service="gjallar"] .gj-page {margin-left:var(--vor-frame-width);max-width:none;padding:15px 20px 36px;}
html[data-vor-service="gjallar"] .gj-home-head,
html[data-vor-service="gjallar"] .gj-page-title {margin-bottom:11px;}
html[data-vor-service="gjallar"] .gj-home-head h1,
html[data-vor-service="gjallar"] .gj-page-title h1 {font-size:clamp(20px,2vw,24px);line-height:1.2;letter-spacing:-.036em;}
html[data-vor-service="gjallar"] .gj-page-title p {font-size:12px;color:var(--vor-text-soft);max-width:720px;margin:7px 0 0;}
html[data-vor-service="gjallar"] .gj-section {
    padding:0 0 10px;margin:0 0 17px;
    border:1px solid var(--vor-border);border-radius:11px;
    background:color-mix(in srgb,var(--vor-surface-raised) 95%,transparent);
    box-shadow:0 1px 3px rgba(15,28,44,.025),inset 0 1px rgba(255,255,255,.04);
}
html[data-vor-service="gjallar"] .gj-section-head {padding:10px 14px 9px;margin-bottom:0;gap:12px;border-bottom:1px solid var(--vor-border);}
html[data-vor-service="gjallar"] .gj-section-head h2 {font-size:14.5px;letter-spacing:-.02em;}
html[data-vor-service="gjallar"] .gj-section-head span {color:var(--vor-text-faint);font-size:11px;}
html[data-vor-service="gjallar"] .gj-signal-strip {grid-template-columns:repeat(6,minmax(0,1fr));margin-top:12px;border-radius:11px;box-shadow:0 1px 3px rgba(15,30,55,.03);}
html[data-vor-service="gjallar"] .gj-signal-strip > div {padding:9px 12px;min-width:0;}
html[data-vor-service="gjallar"] .gj-signal-strip strong {font-size:16px;letter-spacing:-.03em;overflow-wrap:anywhere;}
html[data-vor-service="gjallar"] .gj-capacity-line {margin-bottom:11px;border-radius:0 0 10px 10px;}
html[data-vor-service="gjallar"] .gj-kicker {color:var(--vor-accent);font-size:10px;letter-spacing:.04em;}
html[data-vor-service="gjallar"] .gj-service-list {padding:8px 14px 12px;}
html[data-vor-service="gjallar"] .gj-service-row {border-radius:8px;min-height:54px;transition:background .18s ease,transform .18s ease,border-color .18s ease;}
html[data-vor-service="gjallar"] .gj-service-row:hover {transform:translateY(-1px);background:var(--vor-surface-muted);}
html[data-vor-service="gjallar"] .gj-service-mark {border-radius:9px;}
html[data-vor-service="gjallar"] .gj-user-list .gj-user-row {grid-template-columns:38px minmax(160px,1.1fr) minmax(115px,.55fr) minmax(85px,.5fr) minmax(100px,.65fr) minmax(100px,.65fr) auto;gap:12px;padding:7px 5px;border-bottom:1px solid var(--vor-border);}
html[data-vor-service="gjallar"] .gj-user-list .gj-user-row:last-child {border-bottom:0;}
html[data-vor-service="gjallar"] .gj-user-avatar {position:relative;overflow:hidden;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e5eafd;color:#43548e;border:1px solid rgba(50,80,140,.09);font-weight:720;}
html[data-vor-service="gjallar"] .gj-user-avatar img {width:100%;height:100%;object-fit:cover;}
.gj-user-avatar.tone-1 {background:#e7f5ee;color:#317b5e;}.gj-user-avatar.tone-2 {background:#f4eafb;color:#8654ac;}.gj-user-avatar.tone-3 {background:#fff1df;color:#a67330;}.gj-user-avatar.tone-4 {background:#e5f3f9;color:#367a99;}
.gj-user-extra {color:var(--vor-text-soft);font-size:11px;white-space:nowrap;}
.gj-user-extra small {display:block;color:var(--vor-text-faint);font-size:10px;margin-top:3px;}
.gj-user-presence {display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--vor-text-soft);}
.gj-user-presence i {width:6px;height:6px;border-radius:50%;background:#bbc3ce;}
.gj-user-presence.is-online i {background:#35ae80;}
.gj-chip {font-size:10px;font-weight:650;display:inline-flex;align-items:center;padding:4px 8px;border:1px solid transparent;border-radius:6px;white-space:nowrap;}
.gj-chip.is-active {background:#e9f7ed;color:#2d8154;}.gj-chip.is-disabled {background:#fce9eb;color:#b2505c;}.gj-chip.is-neutral {background:var(--vor-surface-muted);color:var(--vor-text-soft);border-color:var(--vor-border);}
html[data-theme="dark"] .gj-chip.is-active {background:#18372e;color:#87d6ae;}
html[data-theme="dark"] .gj-chip.is-disabled {background:#3e232b;color:#e8a5b2;}
html[data-vor-service="gjallar"] .gj-profile-content {padding:16px 18px;}
html[data-vor-service="gjallar"] .gj-user-roles {display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
html[data-vor-service="gjallar"] .gj-role-chip {font-size:10px;}
html[data-vor-service="gjallar"] .gj-pages {padding:8px 16px 4px;}
html[data-vor-service="gjallar"] .gj-ux-page {max-width:none;}
.gj-ux-workspace,.gj-ux-section {min-width:0;}
.gj-ux-workspace {background:var(--vor-surface-raised);border:1px solid var(--vor-border);border-radius:11px;overflow:hidden;box-shadow:var(--vor-shadow);}
.gj-ux-loading,.gj-ux-empty {padding:20px;font-size:12px;color:var(--vor-text-soft);}
.gj-access-service-tabs {display:flex;gap:5px;padding:12px 16px 0;flex-wrap:wrap;border-bottom:1px solid var(--vor-border);}
.gj-access-service-tab {border:0;background:transparent;color:var(--vor-text-soft);cursor:pointer;font-size:12px;font-weight:600;padding:11px 13px;border-radius:7px 7px 0 0;border-bottom:2px solid transparent;transition:background .18s ease;}
.gj-access-service-tab:hover {background:var(--vor-surface-muted);}
.gj-access-service-tab.is-active {color:var(--vor-accent);border-bottom-color:var(--vor-accent);}
.gj-access-workspace-layout {display:grid;grid-template-columns:240px minmax(0,1fr);min-height:440px;}
.gj-access-roles {border-right:1px solid var(--vor-border);padding:16px 11px;}
.gj-access-roles h3 {font-size:11px;font-weight:710;color:var(--vor-text-soft);margin:0 0 10px 9px;}
.gj-access-role-list {display:grid;gap:4px;}
.gj-access-role-button {border:1px solid transparent;border-radius:8px;background:transparent;text-align:left;color:var(--vor-text);padding:11px 12px;cursor:pointer;font-size:12px;font-weight:650;display:grid;gap:3px;}
.gj-access-role-button small {font-size:10px;font-weight:450;color:var(--vor-text-faint);}
.gj-access-role-button:hover {background:var(--vor-surface-muted);}
.gj-access-role-button.is-selected {background:var(--gj-hollow);border-color:color-mix(in srgb,var(--vor-accent) 24%,var(--vor-border));}
.gj-access-role-button.is-create {color:var(--vor-accent);border:1px dashed var(--vor-border-strong);margin-top:8px;}
.gj-access-editor {padding:20px 23px;min-width:0;}
.gj-access-editor-head {display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;}
.gj-access-editor h2 {font-size:19px;margin:0;}
.gj-access-editor h3 {font-size:13px;margin:15px 0 11px;}
.gj-access-note {font-size:11.5px;color:var(--vor-text-soft);max-width:720px;}
.gj-permission-matrix {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.gj-permission-entry {display:flex;align-items:flex-start;gap:9px;min-height:54px;padding:10px 11px;border:1px solid var(--vor-border);border-radius:8px;background:var(--vor-surface);cursor:pointer;transition:background .15s;}
.gj-permission-entry:hover {background:var(--vor-surface-muted);}
.gj-permission-entry input {margin-top:3px;accent-color:var(--vor-accent);}
.gj-permission-entry span {display:grid;gap:4px;}
.gj-permission-entry strong {font-size:11.5px;font-weight:650;}
.gj-permission-entry small {font-size:10px;color:var(--vor-text-faint);}
.gj-access-footnote {padding:10px 16px;margin:0;border-top:1px solid var(--vor-border);font-size:11px;color:var(--vor-text-soft);}
.gj-activity-list {padding:3px 15px 10px;}
.gj-activity-row {display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--vor-border);}
.gj-activity-row:last-child {border-bottom:0;}
.gj-activity-row > div {display:grid;gap:3px;min-width:0;flex:1;}
.gj-activity-row strong {font-size:12px;}
.gj-activity-row small {font-size:10.5px;color:var(--vor-text-soft);}
.gj-activity-row time {font-size:10.5px;color:var(--vor-text-faint);white-space:nowrap;}
.gj-event-symbol {width:30px;height:30px;flex:0 0 30px;border:1px solid var(--vor-border);border-radius:8px;display:grid;place-items:center;color:var(--vor-accent);background:var(--gj-hollow);}
.gj-ux-profile-layout {display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:17px;align-items:start;}
.gj-ux-profile-form {padding:17px 20px 20px;}
.gj-ux-profile-form .gj-form-grid {margin-top:19px;}
.gj-ux-avatar-row {display:flex;align-items:center;gap:14px;}
.gj-profile-photo {width:76px;height:76px;border:1px solid var(--vor-border);border-radius:17px;background:var(--gj-hollow);display:grid;place-items:center;overflow:hidden;font-size:22px;font-weight:720;color:var(--vor-accent);flex:0 0 76px;}
.gj-profile-photo img,.vor-app-avatar img {width:100%;height:100%;object-fit:cover;display:block;}
.gj-ux-avatar-row > div {display:flex;align-items:flex-start;flex-direction:column;gap:6px;}
.gj-ux-avatar-row strong {font-size:12px;}
.gj-ux-avatar-row span:not(.gj-profile-photo) {color:var(--vor-text-faint);font-size:11px;}
.gj-ux-profile-side .gj-account-sheet {display:grid;padding:12px 17px 20px;gap:12px;border:0;background:transparent;}
.gj-ux-profile-side .gj-account-sheet > div {padding:0;}
.gj-ux-form-footer {display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:17px;border-top:1px solid var(--vor-border);padding-top:14px;}
.gj-feedback {font-size:11px;}.gj-feedback.is-success {color:#2d986d;}.gj-feedback.is-error {color:#bd5a64;}
.gj-ux-plan-intro {padding:20px 22px;border:1px solid var(--vor-border);background:linear-gradient(125deg,var(--vor-surface-raised),color-mix(in srgb,var(--vor-accent) 7%,var(--vor-surface-raised)));border-radius:11px;margin-bottom:16px;}
.gj-ux-plan-intro > span {font-size:11px;color:var(--vor-text-soft);}
.gj-ux-plan-intro h2 {font-size:23px;margin:5px 0;}
.gj-ux-plan-intro p {font-size:11.5px;color:var(--vor-text-soft);margin:0;}
.gj-ux-plans {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.gj-ux-plan-card {border:1px solid var(--vor-border);border-radius:10px;background:var(--vor-surface-raised);padding:15px 17px;min-width:0;}
.gj-ux-plan-card-head {display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--vor-border);padding-bottom:12px;margin-bottom:10px;}
.gj-ux-plan-card h3 {font-size:13px;margin:0;}
.gj-ux-plan-limits {display:grid;gap:7px;}
.gj-ux-plan-limits > div {display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;}
.gj-ux-plan-limits span {color:var(--vor-text-soft);}
.gj-ux-integrations {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;}
.gj-ux-integration {display:flex;align-items:center;gap:12px;border:1px solid var(--vor-border);border-radius:9px;padding:13px;}
.gj-ux-integration-mark {width:35px;height:35px;flex:0 0 35px;border:1px solid var(--vor-border);border-radius:9px;background:var(--gj-hollow);color:var(--vor-accent);display:grid;place-items:center;font-weight:800;}
.gj-ux-integration > div {display:grid;gap:4px;flex:1;min-width:0;}
.gj-ux-integration strong {font-size:12px;}.gj-ux-integration small {font-size:10.5px;color:var(--vor-text-soft);}
@keyframes gj-pop {from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (max-width:1120px) {
    html[data-vor-service="gjallar"] .gj-signal-strip {grid-template-columns:repeat(3,minmax(0,1fr));}
    html[data-vor-service="gjallar"] .gj-user-list .gj-user-row {grid-template-columns:36px minmax(145px,1fr) minmax(120px,1fr) 110px auto;}
    .gj-user-extra.is-last,.gj-user-extra.is-country {display:none;}
    .gj-ux-plans {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:850px) {
    .gj-quick-trigger {width:37px;justify-content:center;}
    .gj-quick-trigger > span:last-of-type,.gj-quick-trigger kbd {display:none;}
    .gj-ux-profile-layout {grid-template-columns:1fr;}
    .gj-access-workspace-layout {grid-template-columns:195px minmax(0,1fr);}
    .gj-permission-matrix {grid-template-columns:1fr;}
}
@media (max-width:760px) {
    html[data-vor-service="gjallar"] .gj-page {margin-left:0;padding:17px 13px 32px;}
    html[data-vor-service="gjallar"] .gjallar-topbar {padding:0 10px;}
    .gj-mobile-nav {background:var(--gj-navy) !important;color:#e8eff8 !important;}
    .gj-mobile-nav .vor-app-brand-copy strong {color:#fff;}
    .gj-mobile-nav .vor-app-nav-item {color:#d9e5ef;}
    .gj-mobile-nav .vor-app-nav-item.is-active {background:rgba(170,200,255,.15);color:white;}
    .gj-switcher-trigger {height:33px;}
    html[data-vor-service="gjallar"] .gj-account-trigger .vor-app-user-trigger-copy {display:none;}
    html[data-vor-service="gjallar"] .gj-signal-strip {grid-template-columns:repeat(2,minmax(0,1fr));}
    html[data-vor-service="gjallar"] .gj-user-list .gj-user-row {grid-template-columns:34px minmax(0,1fr) auto;}
    .gj-user-extra,.gj-user-presence {display:none;}
    .gj-ux-integrations,.gj-ux-plans {grid-template-columns:1fr;}
    .gj-access-workspace-layout {grid-template-columns:1fr;}
    .gj-access-roles {border-right:0;border-bottom:1px solid var(--vor-border);padding:12px;}
    .gj-access-role-list {display:flex;flex-wrap:wrap;gap:6px;}
    .gj-access-role-button {padding:9px 11px;}
    .gj-access-editor {padding:16px;}
    .gj-activity-row time {font-size:10px;white-space:normal;max-width:110px;text-align:right;}
}
@media (prefers-reduced-motion:reduce) {
    html[data-vor-service="gjallar"] * {animation-duration:.01ms !important;transition-duration:.01ms !important;}
}
/* Override historic Gjallar !important sizing without modifying shared frames. */
html[data-vor-service="gjallar"] .gj-page {
    margin-left:var(--vor-frame-width) !important;
    margin-right:0 !important;
    padding:23px 28px 56px !important;
    max-width:none !important;
    width:auto !important;
}
html[data-vor-service="gjallar"] body {font-size:13px;line-height:1.45;}
html[data-vor-service="gjallar"] .gj-home-head h1,
html[data-vor-service="gjallar"] .gj-page-title h1 {font-size:25px !important;font-weight:685 !important;}
html[data-vor-service="gjallar"] .gj-section h2 {font-size:14.5px !important;}
html[data-vor-service="gjallar"] .gj-kicker {font-size:10px;letter-spacing:.035em;font-weight:690;color:var(--vor-accent);}
html[data-vor-service="gjallar"] .gj-page-title p {font-size:12px;}
html[data-vor-service="gjallar"] .gj-service-list,
html[data-vor-service="gjallar"] .gj-user-list {border-radius:9px;}
html[data-vor-service="gjallar"] .gj-service-row {min-height:62px;padding:8px 12px;gap:12px;}
html[data-vor-service="gjallar"] .gj-service-mark {width:34px;height:34px;border-radius:9px;font-weight:760;}
html[data-vor-service="gjallar"] .gj-user-identity strong {font-size:12.5px;}
html[data-vor-service="gjallar"] .gj-user-identity small {font-size:10.5px;}
html[data-vor-service="gjallar"] .gj-page-title.gj-page-title-row {display:flex;max-width:none;}
html[data-vor-service="gjallar"] .gj-ux-profile-side .gj-account-sheet {max-width:none;border:0;background:transparent;}
html[data-vor-service="gjallar"] .gj-ux-profile-side .gj-account-sheet > div {min-height:45px;padding:9px 0;grid-template-columns:110px minmax(0,1fr);}
html[data-vor-service="gjallar"] .gj-ux-profile-side .gj-account-sheet strong {font-size:12px;}
.gj-user-row-actions {display:flex;gap:5px;align-items:center;justify-content:flex-end;flex-wrap:wrap;}
.gj-user-status {display:grid;gap:5px;justify-items:start;min-width:0;}
.gj-user-profile-hero {display:flex;align-items:center;gap:12px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--vor-border);}
.gj-user-profile-hero .gj-user-avatar {width:52px;height:52px;font-size:17px;border-radius:13px;}
.gj-user-profile-hero strong {font-size:17px;}
@media(max-width:1120px) {
    html[data-vor-service="gjallar"] .gj-user-list .gj-user-row {grid-template-columns:36px minmax(140px,1fr) minmax(100px,.8fr) minmax(95px,.55fr) auto;}
}
@media(max-width:760px) {
    html[data-vor-service="gjallar"] .gj-page {margin-left:0 !important;margin-right:0 !important;padding:16px 13px 35px !important;}
    html[data-vor-service="gjallar"] .gj-page-title.gj-page-title-row {display:flex;flex-direction:column;align-items:flex-start;}
    html[data-vor-service="gjallar"] .gj-user-list .gj-user-row {grid-template-columns:34px minmax(0,1fr) auto;}
    .gj-user-row-actions {grid-column:3;grid-row:1;}
    .gj-user-status {grid-column:2;grid-row:2;display:flex;align-items:center;}
    html[data-vor-service="gjallar"] .gj-user-roles {grid-column:2;grid-row:3;}
}
/* Dashboard cards: compact discovery without turning the hub into a tile launcher. */
html[data-vor-service="gjallar"] .gj-platform-cards {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    padding:15px;
    border:0;
    border-radius:0;
    background:transparent;
}
html[data-vor-service="gjallar"] .gj-platform-cards .gj-service-row {
    display:grid;
    grid-template-columns:35px minmax(0,1fr);
    grid-template-rows:auto auto;
    gap:10px 11px;
    align-content:start;
    min-height:138px;
    padding:15px;
    border:1px solid var(--vor-border);
    border-radius:10px;
    background:var(--vor-surface-raised);
    box-shadow:inset 0 1px color-mix(in srgb,white 26%,transparent);
    transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
html[data-vor-service="gjallar"] .gj-platform-cards .gj-service-row:hover {
    border-color:color-mix(in srgb,var(--vor-accent) 32%,var(--vor-border));
    background:color-mix(in srgb,var(--vor-accent) 3%,var(--vor-surface-raised));
    box-shadow:0 7px 24px rgba(19,30,54,.065),inset 0 0 0 1px var(--gj-hollow);
}
html[data-vor-service="gjallar"] .gj-platform-cards .gj-service-main {min-width:0;}
html[data-vor-service="gjallar"] .gj-platform-cards .gj-service-main strong {font-size:12.5px;}
html[data-vor-service="gjallar"] .gj-platform-cards .gj-service-main small {font-size:10.5px;line-height:1.45;}
html[data-vor-service="gjallar"] .gj-platform-cards .gj-service-access {grid-column:1 / 3;font-size:10.5px;}
html[data-vor-service="gjallar"] .gj-platform-cards .gj-service-limit {grid-column:1 / 3;font-size:10px;overflow-wrap:anywhere;}
html[data-vor-service="gjallar"] .gj-platform-cards .gj-service-open {grid-column:2;text-align:right;grid-row:2;font-size:11px;margin-top:auto;}
html[data-vor-service="gjallar"] .gj-platform-cards .gj-service-row.is-disabled-service {opacity:.68;}
html[data-vor-service="gjallar"] .gj-user-filter {min-width:145px;max-width:160px;min-height:32px;}
@media(max-width:1130px) {html[data-vor-service="gjallar"] .gj-platform-cards {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px) {html[data-vor-service="gjallar"] .gj-platform-cards {grid-template-columns:1fr;}}

/* Consistent compact information rhythm for Gjallar v1.1. */
html[data-vor-service="gjallar"] .gj-page {row-gap:10px;}
html[data-vor-service="gjallar"] .gj-section {border-radius:9px;}
html[data-vor-service="gjallar"] .gj-section-head h2 {font-size:13.5px;font-weight:740;}
html[data-vor-service="gjallar"] .gj-service-list {padding:5px 10px 8px;}
html[data-vor-service="gjallar"] .gj-service-row {min-height:54px;gap:10px;}
html[data-vor-service="gjallar"] .gj-user-row {min-height:48px;}
html[data-vor-service="gjallar"] .gj-signal-strip {margin-top:8px;}
html[data-vor-service="gjallar"] .gj-capacity-line {margin-bottom:10px;}
html[data-vor-service="gjallar"] .gj-user-list {padding-block:3px;}
html[data-vor-service="gjallar"] .gj-section-tools :is(input,select) {min-height:32px;font-size:12px;}
html[data-vor-service="gjallar"] .gj-page :is(.btn-blue-light,.btn-cyan-light,.btn-indigo-light,.btn-purple-light) {border-radius:9px;}
@media(max-width:680px) {html[data-vor-service="gjallar"] .gj-page {padding:12px 12px 28px;}}


/* VOR v0.2.42.4 — Gjallar authentication, isolated from signed-in shell */
.gj-auth { --gj-auth-accent:#729afa; --gj-auth-ink:#e8edf5; --gj-auth-line:#303a47; min-height:100dvh; padding:24px; display:grid; place-items:center; color:var(--vor-text); background:var(--vor-bg); }
.gj-auth *, .gj-auth *::before, .gj-auth *::after { box-sizing:border-box; }
.gj-auth-shell { display:grid; grid-template-columns:minmax(370px,1.05fr) minmax(360px,.95fr); width:min(1080px,100%); min-height:654px; background:var(--vor-surface); border:1px solid var(--vor-border); border-radius:9px; overflow:hidden; box-shadow:0 18px 50px rgba(0,0,0,.09); }
.gj-auth-intro { background:#19212d; color:var(--gj-auth-ink); padding:38px 44px 24px; display:flex; flex-direction:column; justify-content:space-between; border-right:1px solid #2b3745; }
.gj-auth-brand { display:inline-flex; align-items:center; gap:12px; width:max-content; color:inherit; text-decoration:none; }
.gj-auth-brand:hover { color:#fff; }
.gj-auth-brand-icon { width:39px;height:39px;border-radius:7px; display:grid;place-items:center;background:#293953;border:1px solid #425773; }
.gj-auth-brand-icon img { max-width:30px; max-height:30px; object-fit:contain; }
.gj-auth-brand strong { display:block; font-size:18px; letter-spacing:.035em; line-height:1.1; font-weight:770; }
.gj-auth-brand small { display:block; margin-top:2px;color:#97a5b5;font-size:10.5px;letter-spacing:.03em; }
.gj-auth-overline, .gj-auth-step, .gj-auth-topline { font-size:10px; letter-spacing:.12em; font-weight:750; }
.gj-auth-overline { display:flex;align-items:center;gap:10px;color:#9daec4; }
.gj-auth-overline i { width:6px;height:6px;border-radius:50%;background:#8aafff; }
.gj-auth-message { padding:56px 0 40px; }
.gj-auth-message h1 { margin:17px 0; color:#f0f4f9;font-size:clamp(31px,3.2vw,42px);font-weight:740;line-height:1.14;letter-spacing:-.055em; }
.gj-auth-message h1 span { color:#9abbff; }
.gj-auth-message>p { max-width:360px;color:#aab6c6;font-size:13.5px;line-height:1.65; margin:0 0 30px; }
.gj-auth-feature-list { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.gj-auth-feature-list>div { min-width:0;display:flex;align-items:center;gap:10px;padding:13px 12px;background:#222d3b;border:1px solid #344253;border-radius:6px; }
.gj-auth-feature-mark { flex:0 0 27px;width:27px;height:27px;display:grid;place-items:center;border-radius:5px;background:#354b6a;color:#bcd3ff;font-size:12px;font-weight:750; }
.gj-auth-feature-list strong,.gj-auth-setup-points strong { display:block;color:#e8edf5;font-size:12.5px;font-weight:650; }
.gj-auth-feature-list small,.gj-auth-setup-points small { display:block;margin-top:2px;color:#98a7ba;font-size:10.5px; }
.gj-auth-intro-foot { display:flex;justify-content:space-between;gap:15px;color:#79889c;font-size:9px;font-weight:660;letter-spacing:.075em;border-top:1px solid #303b4b;padding-top:18px; }
.gj-auth-content { padding:32px clamp(28px,5vw,66px) 20px;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;min-width:0; }
.gj-auth-topline { display:flex;align-items:center;gap:9px;color:var(--vor-text-faint); }
.gj-auth-top-mark { width:7px;height:7px;background:var(--gj-auth-accent);border-radius:2px; }
.gj-auth-card { margin:auto 0; padding:35px 0 25px; }
.gj-auth-step { color:var(--vor-accent); }
.gj-auth-card h2 { font-size:27px;font-weight:740;letter-spacing:-.04em;margin:9px 0 7px;line-height:1.2;color:var(--vor-text); }
.gj-auth-muted { color:var(--vor-text-soft);font-size:12.5px;margin:0 0 23px;line-height:1.6; }
.gj-auth-form { display:grid;gap:16px; }
.gj-auth-field { display:grid;gap:7px; }
.gj-auth-field label { color:var(--vor-text);font-size:12px;font-weight:650; }
.gj-auth-field input { font-family:inherit; font-size:13px; height:43px;width:100%;border:1px solid var(--vor-border-strong);background:var(--vor-surface);color:var(--vor-text);border-radius:5px;outline:0;padding:0 12px;transition:border-color .15s,box-shadow .15s; }
.gj-auth-field input::placeholder { color:var(--vor-text-faint);opacity:.8; }
.gj-auth-field input:focus { border-color:var(--gj-auth-accent);box-shadow:0 0 0 3px rgba(114,154,250,.16); }
.gj-auth-password { position:relative; }
.gj-auth-password input { padding-right:67px; }
.gj-auth-password button { position:absolute;right:5px;top:5px;height:33px;border:0;background:transparent;color:var(--vor-accent);padding:0 10px;cursor:pointer;border-radius:4px;font-size:11.5px;font-weight:650; }
.gj-auth-password button:hover { background:var(--vor-surface-muted); }
.gj-auth-submit { margin-top:4px; display:flex;align-items:center;justify-content:space-between;gap:20px;height:45px;padding:0 16px;color:#101a2a;background:#91b3ff;border:1px solid #91b3ff;border-radius:5px;cursor:pointer; font-family:inherit;font-weight:740;font-size:12.5px;transition:background .15s; }
.gj-auth-submit:hover { background:#b4cbff; }
.gj-auth-submit[disabled] { opacity:.66;cursor:wait; }
.gj-auth-submit span,.gj-auth-secondary span { font-size:17px; }
.gj-auth-divider { display:flex;gap:12px;align-items:center;color:var(--vor-text-faint);font-size:10px;font-weight:710;letter-spacing:.07em;margin:20px 0 12px;white-space:nowrap; }
.gj-auth-divider:before,.gj-auth-divider:after { content:'';height:1px;background:var(--vor-border);flex:1; }
.gj-auth-secondary { display:flex;align-items:center;justify-content:space-between;padding:11px 13px;background:var(--vor-surface-muted);border:1px solid var(--vor-border);border-radius:5px;font-size:12px;font-weight:650;text-decoration:none;color:var(--vor-text); }
.gj-auth-secondary:hover { border-color:var(--vor-border-strong);background:var(--vor-nav-hover);color:var(--vor-text); }
.gj-auth-footnote { font-size:11px;line-height:1.6;margin:16px 0 0;color:var(--vor-text-faint); }
.gj-auth-legal { display:flex;justify-content:space-between;gap:16px;padding-top:14px;border-top:1px solid var(--vor-border);font-size:10px;color:var(--vor-text-faint); }
.gj-auth-alert { background:#fff1f2;color:#9f2335;border:1px solid #fecdd3;padding:10px 12px;margin:0 0 14px;border-radius:5px;font-size:12px; }
html[data-theme=dark] .gj-auth-alert { background:#422229;border-color:#733440;color:#ffc5cd; }
.gj-auth-setup-points { display:grid;gap:12px; }
.gj-auth-setup-points>div { display:flex;gap:13px;align-items:center;padding:14px 0;border-top:1px solid #303b4b; }
.gj-auth-setup-num { font-size:11px;font-weight:750;color:#98b7ff;letter-spacing:.04em; }
@media (max-width:850px) { .gj-auth {padding:0;} .gj-auth-shell {min-height:100dvh;border:0;border-radius:0;grid-template-columns:1fr;} .gj-auth-intro {padding:25px 28px 22px;} .gj-auth-message {padding:28px 0 5px;} .gj-auth-message h1 {font-size:30px;} .gj-auth-feature-list,.gj-auth-setup-points {display:none;} .gj-auth-intro-foot {display:none;} .gj-auth-content {min-height:540px;padding:28px max(28px,6vw) 24px;} .gj-auth-card {max-width:490px;width:100%;margin:10px auto;} }
@media (max-width:400px) { .gj-auth-content {padding:24px 22px;} .gj-auth-intro {padding:24px 22px;} .gj-auth-message h1 {font-size:27px;} .gj-auth-legal {font-size:9px;} }
@media (prefers-reduced-motion:reduce) { .gj-auth * {transition:none!important;} }
