/* Syntal SSO 4.1.1 — Hub visual system. Presentation only; backend/ACL behavior unchanged. */
:root{
  --hub-bg:#f3f5f9;--hub-surface:rgba(255,255,255,.96);--hub-surface-soft:rgba(249,250,253,.96);
  --hub-ink:#111521;--hub-muted:#70788a;--hub-line:#e4e7ee;--hub-line-strong:#d8dce6;
  --hub-purple:#6858db;--hub-blue:#4d8fe7;--hub-cyan:#5ecdea;--hub-pink:#db6fa7;
  --hub-shadow:0 14px 38px rgba(52,59,86,.10),0 2px 8px rgba(52,59,86,.05);
  --hub-shadow-soft:0 8px 24px rgba(52,59,86,.08),0 2px 6px rgba(52,59,86,.04);
  --hub-shadow-hover:0 16px 34px rgba(52,59,86,.13),0 7px 18px color-mix(in srgb,var(--item-color,#6858db) 20%,transparent);
  color-scheme:light dark;
}
@media(prefers-color-scheme:dark){:root{
  --hub-bg:#0d1119;--hub-surface:rgba(22,27,38,.97);--hub-surface-soft:rgba(28,34,47,.97);
  --hub-ink:#f3f5fa;--hub-muted:#9ca5b7;--hub-line:#2a3140;--hub-line-strong:#384153;
  --hub-shadow:0 18px 46px rgba(0,0,0,.34),0 2px 10px rgba(0,0,0,.24);
  --hub-shadow-soft:0 10px 28px rgba(0,0,0,.25),0 2px 8px rgba(0,0,0,.18);
}}

html,body{background:var(--hub-bg)}
body.hub-control-shell,body.hub-auth-shell{color:var(--hub-ink);background:
  radial-gradient(circle at 13% 8%,rgba(105,88,219,.09),transparent 25%),
  radial-gradient(circle at 86% 10%,rgba(94,205,234,.10),transparent 24%),
  radial-gradient(circle at 75% 84%,rgba(219,111,167,.055),transparent 26%),var(--hub-bg)}
body.hub-control-shell:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(circle at 20% 72%,rgba(105,88,219,.055) 0 1px,transparent 1.5px);background-size:24px 24px;mask-image:linear-gradient(to bottom,transparent,black 28%,black 72%,transparent);opacity:.42}
.hub-control-shell .ambient-layer{opacity:.48}.hub-control-shell .ambient-orb{filter:blur(110px);opacity:.16}.hub-control-shell .ambient-grid{opacity:.06}

/* floating primary island */
.hub-nav-wrap{position:fixed;z-index:90;top:17px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;pointer-events:none;width:max-content;max-width:calc(100vw - 18px)}
.hub-nav-island{pointer-events:auto;position:relative;z-index:3;display:flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid rgba(255,255,255,.78);border-radius:22px;background:color-mix(in srgb,var(--hub-surface) 97%,transparent);box-shadow:0 14px 32px rgba(47,55,81,.12),inset 0 0 0 1px rgba(230,233,241,.72);backdrop-filter:blur(24px) saturate(1.22);max-width:calc(100vw - 18px);overflow-x:auto;scrollbar-width:none}
.hub-nav-island::-webkit-scrollbar{display:none}.hub-nav-divider{width:1px;height:24px;background:var(--hub-line);margin:0 2px;flex:0 0 auto}
.hub-nav-item{--nav-color:#6858db;position:relative;flex:0 0 auto;width:41px;height:41px;padding:0;border:0;border-radius:13px;display:grid;place-items:center;background:transparent;color:#7d8698;transition:transform .28s cubic-bezier(.2,.8,.2,1),background .26s ease,color .26s ease,box-shadow .28s ease;text-decoration:none;cursor:pointer}
.hub-nav-item:hover,.hub-nav-item:focus-visible{transform:translateY(-3px);background:color-mix(in srgb,var(--nav-color) 14%,var(--hub-surface));color:var(--nav-color);box-shadow:0 9px 17px rgba(45,50,73,.11),0 6px 15px color-mix(in srgb,var(--nav-color) 24%,transparent)}
.hub-nav-item.active{background:color-mix(in srgb,var(--nav-color) 12%,var(--hub-surface));color:var(--nav-color)}
.hub-nav-item.active:after{content:"";position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);width:19px;height:2px;border-radius:999px;background:var(--nav-color);box-shadow:0 0 10px color-mix(in srgb,var(--nav-color) 35%,transparent)}
.hub-nav-symbol{width:22px;height:22px;display:grid;place-items:center}.hub-nav-symbol svg,.hub-icon-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.hub-user-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#668fd2,#6559c9);color:white;font-size:12px;font-weight:800;box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.hub-avatar-item:hover{background:rgba(101,118,216,.09)}
.hub-command-item{appearance:none}

.hub-hover-island{--hover-color:#6858db;pointer-events:none;position:absolute;z-index:1;top:100%;left:50%;display:flex;align-items:center;gap:8px;min-height:37px;margin-top:7px;padding:7px 12px;border:1px solid rgba(255,255,255,.72);border-radius:14px;background:color-mix(in srgb,var(--hub-surface) 98%,transparent);box-shadow:0 10px 25px rgba(49,56,81,.11);backdrop-filter:blur(22px) saturate(1.18);opacity:0;transform:translate(-50%,-13px) scale(.94);transform-origin:50% 0;transition:opacity .22s ease,transform .36s cubic-bezier(.18,.84,.26,1);white-space:nowrap}
.hub-hover-island.is-visible{opacity:1;transform:translate(-50%,0) scale(1)}
.hub-hover-icon{width:19px;height:19px;display:grid;place-items:center;color:var(--hover-color)}.hub-hover-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hub-hover-avatar{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:var(--hover-color);color:white;font-size:9px}.hub-hover-island strong{font-size:10.5px;letter-spacing:-.01em}

/* shell below island */
.hub-workspace-frame.workspace-frame{margin-left:0!important;min-width:0;padding-top:88px}.hub-has-subnav .hub-workspace-frame.workspace-frame{padding-top:132px}
.hub-shell-actions.hub-island-actions{display:flex;align-items:center;gap:5px;min-width:0;flex:0 0 auto}.hub-island-logout-form{display:flex;align-items:center;margin:0;padding:0}.hub-org-nav-avatar{border-radius:10px;background:linear-gradient(145deg,#5c9ee8,#665bd3);font-size:11px}.hub-org-nav-item:hover .hub-org-nav-avatar,.hub-org-nav-item:focus-visible .hub-org-nav-avatar{box-shadow:0 5px 13px rgba(77,143,231,.22)}.hub-logout-nav-item{appearance:none}.hub-logout-nav-item:hover,.hub-logout-nav-item:focus-visible{color:#dc5f78}.hub-actions-divider{margin-left:1px}

.hub-subnav-wrap{pointer-events:none;display:flex;justify-content:center;width:max-content;max-width:calc(100vw - 18px);margin:0;padding:0;animation:hub-subnav-arrive .34s cubic-bezier(.18,.84,.26,1) both}.hub-subnav-island{pointer-events:auto;width:max-content;max-width:calc(100vw - 18px);display:flex;align-items:center;gap:3px;padding:5px;border:1px solid rgba(255,255,255,.72);border-radius:15px;background:color-mix(in srgb,var(--hub-surface) 98%,transparent);box-shadow:0 10px 25px rgba(49,56,81,.10),inset 0 0 0 1px rgba(230,233,241,.52);backdrop-filter:blur(22px) saturate(1.16);overflow-x:auto;scrollbar-width:none}.hub-subnav-island::-webkit-scrollbar{display:none}.hub-subnav-island a{padding:8px 11px;border-radius:10px;color:var(--hub-muted);font-size:10.5px;font-weight:700;white-space:nowrap;transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}.hub-subnav-island a:hover{background:var(--hub-surface-soft);color:var(--hub-ink);transform:translateY(-1px);box-shadow:0 5px 12px rgba(47,55,81,.07)}.hub-subnav-island a.active{background:linear-gradient(145deg,rgba(104,88,219,.12),rgba(77,143,231,.07));color:var(--hub-purple);box-shadow:inset 0 0 0 1px rgba(104,88,219,.08)}
@keyframes hub-subnav-arrive{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.hub-workspace-content.workspace-content{padding:24px 30px 48px;max-width:1500px;margin:0 auto}

/* Hub content language */
.hub-control-shell .page-header.workspace-hero{padding:6px 0 19px;margin-bottom:17px;border-bottom:0}.hub-control-shell .eyebrow{color:var(--hub-purple);font-size:9px;letter-spacing:.12em}.hub-control-shell .eyebrow i{background:linear-gradient(180deg,var(--hub-purple),var(--hub-cyan))}.hub-control-shell .page-header h1{font-size:31px;letter-spacing:-.045em;margin:6px 0 6px}.hub-control-shell .page-header p{font-size:11.5px;max-width:720px;color:var(--hub-muted)}
.hub-control-shell .card,.hub-control-shell .list-card,.hub-control-shell .table-card,.hub-control-shell .matrix-card,.hub-control-shell .catalog-intro,.hub-control-shell .toolbar,.hub-control-shell .application-availability{background:var(--hub-surface)!important;border:1px solid var(--hub-line)!important;border-radius:18px!important;box-shadow:var(--hub-shadow-soft)!important}
.hub-control-shell .card{padding:19px}.hub-control-shell .card h2{font-size:14px}.hub-control-shell .card-head{margin-bottom:11px}.hub-control-shell .card-head p{font-size:10.5px;color:var(--hub-muted)}
.hub-control-shell .stats-grid{gap:10px}.hub-control-shell .stat.workspace-stat{position:relative;overflow:hidden;padding:17px;background:linear-gradient(145deg,var(--hub-surface),var(--hub-surface-soft));border:1px solid var(--hub-line);border-radius:17px;box-shadow:var(--hub-shadow-soft);transition:transform .25s ease,box-shadow .25s ease}.hub-control-shell .stat.workspace-stat:after{content:"";position:absolute;width:74px;height:74px;right:-28px;bottom:-34px;border-radius:50%;background:radial-gradient(circle,rgba(104,88,219,.11),transparent 68%)}.hub-control-shell .stat.workspace-stat:hover{transform:translateY(-3px);box-shadow:var(--hub-shadow)}.hub-control-shell .stat.workspace-stat strong{font-size:27px}.hub-control-shell .stat.workspace-stat span,.hub-control-shell .stat.workspace-stat small{font-size:9.5px}
.hub-control-shell .entity-card,.hub-control-shell .trust-card,.hub-control-shell .app-catalog-card{--item-color:var(--hub-purple);border:1px solid var(--hub-line)!important;border-radius:17px!important;background:var(--hub-surface)!important;box-shadow:var(--hub-shadow-soft)!important;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease!important}.hub-control-shell .entity-card:not(.static):hover,.hub-control-shell .trust-card:hover,.hub-control-shell .app-catalog-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--item-color) 18%,var(--hub-line))!important;box-shadow:var(--hub-shadow-hover)!important}
.hub-control-shell .app-catalog-card:nth-child(4n+2){--item-color:#2f9be8}.hub-control-shell .app-catalog-card:nth-child(4n+3){--item-color:#1ab89a}.hub-control-shell .app-catalog-card:nth-child(4n){--item-color:#e45d9f}.hub-control-shell .entity-avatar{background:linear-gradient(145deg,color-mix(in srgb,var(--hub-purple) 72%,white),color-mix(in srgb,var(--hub-blue) 82%,white));border-radius:12px;box-shadow:0 7px 16px rgba(91,86,190,.16)}
.hub-control-shell table{font-size:10.5px}.hub-control-shell th{background:var(--hub-surface-soft)!important;color:var(--hub-muted)!important}.hub-control-shell tbody tr{transition:background .18s ease}.hub-control-shell tbody tr:hover{background:color-mix(in srgb,var(--hub-purple) 3.5%,var(--hub-surface))!important}
.hub-control-shell button,.hub-control-shell .button{border-radius:12px!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease}.hub-control-shell button:hover,.hub-control-shell .button:hover{transform:translateY(-2px);box-shadow:0 9px 19px rgba(49,55,79,.10)}.hub-control-shell button.primary,.hub-control-shell .button.primary{background:linear-gradient(135deg,#6d5cde,#568ae2)!important;border-color:transparent!important;color:white!important;box-shadow:0 8px 19px rgba(101,89,210,.20)!important}.hub-control-shell button.primary:hover,.hub-control-shell .button.primary:hover{box-shadow:0 12px 24px rgba(101,89,210,.27)!important}
.hub-control-shell input,.hub-control-shell select,.hub-control-shell textarea{background:var(--hub-surface-soft)!important;border:1px solid var(--hub-line-strong)!important;border-radius:11px!important}.hub-control-shell input:focus,.hub-control-shell select:focus,.hub-control-shell textarea:focus{border-color:color-mix(in srgb,var(--hub-purple) 58%,var(--hub-line-strong))!important;box-shadow:0 0 0 4px rgba(104,88,219,.09)!important}
.hub-control-shell .badge{border-radius:999px;background:var(--hub-surface-soft);border-color:var(--hub-line);font-size:9.5px}.hub-control-shell code{background:var(--hub-surface-soft)}
.hub-control-shell .flash{border-radius:14px!important;background:var(--hub-surface)!important;box-shadow:var(--hub-shadow-soft)!important}.hub-control-shell .empty-state{border-radius:16px;background:linear-gradient(145deg,var(--hub-surface-soft),var(--hub-surface));border-color:var(--hub-line)}
.hub-control-shell .workspace-tabs.detail-tabs{border-radius:15px;background:var(--hub-surface);box-shadow:var(--hub-shadow-soft)}
.hub-control-shell dialog,.hub-control-shell .command-palette{border-radius:20px!important;background:var(--hub-surface)!important;border-color:var(--hub-line)!important;box-shadow:0 28px 90px rgba(25,31,49,.25)!important}
.hub-control-shell .command-result{border-radius:11px}.hub-control-shell .command-result:hover{background:var(--hub-surface-soft)}

/* authentication surfaces */
.hub-auth-shell .ambient-layer{opacity:.65}.hub-auth-shell .auth-page{position:relative;overflow:hidden;display:grid;place-items:center;min-height:100vh;padding:30px;background:transparent}.hub-auth-shell .auth-page:before,.hub-auth-shell .auth-page:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.hub-auth-shell .auth-page:before{width:430px;height:430px;left:-170px;top:10%;background:radial-gradient(circle at 60% 40%,rgba(105,88,219,.19),rgba(94,205,234,.09) 40%,transparent 70%)}.hub-auth-shell .auth-page:after{width:510px;height:510px;right:-220px;bottom:-100px;background:radial-gradient(circle at 40% 40%,rgba(219,111,167,.14),rgba(94,205,234,.08) 42%,transparent 70%)}.hub-auth-shell .auth-card{z-index:1;width:min(475px,100%);padding:30px;border:1px solid rgba(255,255,255,.72)!important;border-radius:24px!important;background:color-mix(in srgb,var(--hub-surface) 96%,transparent)!important;backdrop-filter:blur(28px) saturate(1.18);box-shadow:0 30px 80px rgba(47,54,79,.16),0 4px 18px rgba(47,54,79,.06)!important}.hub-auth-shell .auth-star{background:linear-gradient(145deg,#6d5cde,#58cbe4)!important;box-shadow:0 9px 20px rgba(103,91,211,.24)}.hub-auth-shell .auth-card h1{font-size:30px;letter-spacing:-.045em}.hub-auth-shell .auth-card>p{color:var(--hub-muted)}.hub-auth-shell .auth-card input{background:var(--hub-surface-soft)!important;border:1px solid var(--hub-line-strong)!important;border-radius:12px!important}.hub-auth-shell .auth-card input:focus{border-color:var(--hub-purple)!important;box-shadow:0 0 0 4px rgba(104,88,219,.09)!important}.hub-auth-shell .auth-card .primary{background:linear-gradient(135deg,#6d5cde,#578be4)!important;border-color:transparent!important;box-shadow:0 10px 22px rgba(101,89,210,.22)}.hub-auth-shell .auth-card .button{border-radius:12px!important;background:var(--hub-surface)!important;border-color:var(--hub-line)!important}.hub-auth-shell .auth-divider span{background:var(--hub-surface)!important;color:var(--hub-muted)}

@media(max-width:900px){.hub-workspace-content.workspace-content{padding:22px 16px 42px}.hub-control-shell .page-header h1{font-size:28px}}
@media(max-width:640px){.hub-nav-wrap{top:8px;gap:5px}.hub-nav-island{padding:5px 6px;border-radius:18px;gap:3px}.hub-nav-item{width:38px;height:38px;border-radius:12px}.hub-nav-divider{height:21px}.hub-workspace-frame.workspace-frame{padding-top:70px}.hub-has-subnav .hub-workspace-frame.workspace-frame{padding-top:112px}.hub-subnav-island{border-radius:13px;max-width:calc(100vw - 10px)}.hub-subnav-island a{padding:7px 9px;font-size:10px}.hub-workspace-content.workspace-content{padding:18px 11px 36px}.hub-shell-actions.hub-island-actions{gap:3px}.hub-control-shell .page-header h1{font-size:26px}.hub-control-shell .page-header.workspace-hero{padding-top:2px}.hub-hover-island{top:100%;margin-top:5px}.hub-hover-island.is-visible{transform:translate(-50%,0) scale(1)}.hub-auth-shell .auth-page{padding:13px}.hub-auth-shell .auth-card{padding:23px 18px;border-radius:20px!important}}
@media(max-width:420px){.hub-nav-divider{display:none}.hub-nav-island{max-width:calc(100vw - 10px)}.hub-nav-item{width:36px;height:36px}.hub-user-avatar{width:29px;height:29px}.hub-shell-actions.hub-island-actions{gap:2px}}
@media(prefers-reduced-motion:reduce){.hub-nav-item,.hub-hover-island,.hub-control-shell .entity-card,.hub-control-shell .trust-card,.hub-control-shell .app-catalog-card,.hub-control-shell button,.hub-control-shell .button{transition:none!important}.hub-subnav-wrap{animation:none!important}.hub-hover-island{transform:translate(-50%,0) scale(1)}}


/* v4.1.1 premium graphics patch — visual-only enhancement */
.hub-workspace-content{position:relative;isolation:isolate;--hub-scene-a:#6858db;--hub-scene-b:#5ecdea;--hub-scene-c:#db6fa7}
body[data-nav-category="directory"] .hub-workspace-content{--hub-scene-a:#2f9be8;--hub-scene-b:#6c72ee;--hub-scene-c:#62dfc2}
body[data-nav-category="applications"] .hub-workspace-content{--hub-scene-a:#f3a552;--hub-scene-b:#7e64e8;--hub-scene-c:#59c8e8}
body[data-nav-category="access"] .hub-workspace-content{--hub-scene-a:#a568ed;--hub-scene-b:#5b8df0;--hub-scene-c:#e66ca9}
body[data-nav-category="trust"] .hub-workspace-content{--hub-scene-a:#23c49f;--hub-scene-b:#61a1ef;--hub-scene-c:#8968ef}
body[data-nav-category="operations"] .hub-workspace-content{--hub-scene-a:#e461a2;--hub-scene-b:#8a67ef;--hub-scene-c:#55c5e9}
body[data-nav-category="system"] .hub-workspace-content{--hub-scene-a:#74839d;--hub-scene-b:#6c68e8;--hub-scene-c:#53c1e4}
body[data-nav-category="billing"] .hub-workspace-content{--hub-scene-a:#4f9ae8;--hub-scene-b:#68d0bc;--hub-scene-c:#a86fe7}

.hub-category-art{position:absolute;z-index:-1;top:-5px;right:25px;width:min(29vw,390px);height:192px;display:grid;place-items:center;pointer-events:none;transform:translate3d(var(--hub-art-x,0),var(--hub-art-y,0),0);transition:transform .55s cubic-bezier(.2,.8,.2,1);opacity:.98}
.hub-category-art img{position:relative;z-index:2;width:100%;height:100%;object-fit:contain;filter:saturate(1.03) contrast(1.015);user-select:none}
.hub-category-halo{position:absolute;border-radius:999px;filter:blur(25px);opacity:.16;mix-blend-mode:multiply}.halo-one{width:144px;height:86px;background:var(--hub-scene-a);left:19%;top:25%}.halo-two{width:122px;height:82px;background:var(--hub-scene-b);right:12%;bottom:9%}
.hub-art-chip{position:absolute;z-index:3;width:8px;height:8px;border:2px solid rgba(255,255,255,.82);border-radius:50%;box-shadow:0 5px 16px color-mix(in srgb,var(--hub-scene-a) 50%,transparent);animation:hub-chip-float 6s ease-in-out infinite}.hub-art-chip.chip-a{left:10%;bottom:25%;background:var(--hub-scene-a)}.hub-art-chip.chip-b{right:9%;top:23%;background:var(--hub-scene-b);animation-delay:-2.4s}
@keyframes hub-chip-float{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-9px) scale(1.08)}}

.hub-control-shell .page-header.workspace-hero{position:relative;min-height:154px;padding:18px min(31vw,420px) 24px 0!important;display:flex;align-items:center;overflow:visible}
.hub-control-shell .page-header.workspace-hero .page-copy{position:relative;z-index:2;max-width:760px}
.hub-control-shell .page-header.workspace-hero .page-actions{position:relative;z-index:4;align-self:center}
.hub-control-shell .page-header.workspace-hero:before{content:"";position:absolute;z-index:-1;inset:0 -10px 0 -14px;border-radius:28px;background:linear-gradient(110deg,color-mix(in srgb,var(--hub-surface) 82%,transparent),color-mix(in srgb,var(--hub-surface) 33%,transparent) 62%,transparent);border:1px solid color-mix(in srgb,var(--hub-line) 68%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.38);mask-image:linear-gradient(90deg,#000 0 82%,transparent 100%)}
.hub-control-shell .page-header h1{font-size:clamp(31px,3vw,44px);line-height:1.02;letter-spacing:-.055em;text-wrap:balance}
.hub-control-shell .page-header p{font-size:12px;line-height:1.65;max-width:640px}
.hub-control-shell .eyebrow{display:inline-flex;align-items:center;gap:7px;padding:5px 9px 5px 7px;border-radius:999px;background:color-mix(in srgb,var(--hub-scene-a) 8%,var(--hub-surface));border:1px solid color-mix(in srgb,var(--hub-scene-a) 13%,var(--hub-line));box-shadow:0 5px 14px color-mix(in srgb,var(--hub-scene-a) 8%,transparent)}
.hub-control-shell .eyebrow i{width:6px;height:6px;border-radius:50%;background:linear-gradient(180deg,var(--hub-scene-a),var(--hub-scene-b));box-shadow:0 0 10px color-mix(in srgb,var(--hub-scene-a) 42%,transparent)}

.hub-control-shell .cp-health{position:relative;overflow:hidden;border-radius:19px;background:linear-gradient(135deg,color-mix(in srgb,var(--hub-surface) 94%,transparent),color-mix(in srgb,var(--hub-surface-soft) 88%,transparent));border:1px solid var(--hub-line);box-shadow:var(--hub-shadow-soft);padding:8px}
.hub-control-shell .cp-health:before{content:"";position:absolute;width:230px;height:120px;right:-70px;top:-55px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--hub-scene-b) 17%,transparent),transparent 68%);pointer-events:none}
.hub-control-shell .cp-health-item{position:relative;z-index:1;border-radius:13px;transition:background .22s ease,transform .22s ease}.hub-control-shell .cp-health-item:hover{background:color-mix(in srgb,var(--hub-scene-a) 5%,transparent);transform:translateY(-1px)}

.hub-control-shell .stat.workspace-stat:before{content:"";position:absolute;inset:auto -38px -49px auto;width:112px;height:112px;border:1px solid color-mix(in srgb,var(--hub-scene-a) 16%,transparent);border-radius:50%;box-shadow:0 0 0 14px color-mix(in srgb,var(--hub-scene-b) 4%,transparent);pointer-events:none}
.hub-control-shell .stat.workspace-stat:nth-child(2){--hub-scene-a:#2f9be8}.hub-control-shell .stat.workspace-stat:nth-child(3){--hub-scene-a:#a35bea}.hub-control-shell .stat.workspace-stat:nth-child(4){--hub-scene-a:#1ab89a}
.hub-control-shell .stat.workspace-stat i{box-shadow:0 0 0 5px color-mix(in srgb,var(--hub-scene-a) 8%,transparent),0 0 18px color-mix(in srgb,var(--hub-scene-a) 18%,transparent)}

.hub-control-shell .empty-state{position:relative;overflow:hidden;min-height:104px;display:flex;flex-direction:column;justify-content:center}.hub-control-shell .empty-state:after{content:"";position:absolute;width:115px;height:115px;right:-38px;top:-42px;border-radius:38px;transform:rotate(26deg);background:linear-gradient(145deg,color-mix(in srgb,var(--hub-scene-a) 9%,transparent),color-mix(in srgb,var(--hub-scene-b) 5%,transparent));border:1px solid color-mix(in srgb,var(--hub-scene-a) 10%,transparent)}.hub-control-shell .empty-star{position:relative;z-index:1;color:var(--hub-scene-a);text-shadow:0 6px 18px color-mix(in srgb,var(--hub-scene-a) 35%,transparent)}

.hub-control-shell .card,.hub-control-shell .list-card,.hub-control-shell .table-card,.hub-control-shell .matrix-card{position:relative;overflow:hidden}.hub-control-shell .card:before,.hub-control-shell .list-card:before,.hub-control-shell .table-card:before,.hub-control-shell .matrix-card:before{content:"";position:absolute;pointer-events:none;inset:0;border-radius:inherit;background:linear-gradient(120deg,rgba(255,255,255,.16),transparent 24%,transparent 76%,color-mix(in srgb,var(--hub-scene-a) 2.5%,transparent));opacity:.62}

.hub-auth-shell .auth-page{grid-template-columns:minmax(0,1fr) minmax(340px,475px);gap:clamp(35px,8vw,120px);padding-inline:max(30px,8vw)}
.hub-auth-art{position:relative;z-index:1;width:min(550px,44vw);justify-self:end;display:grid;place-items:center;min-height:430px;pointer-events:none}.hub-auth-art img{width:100%;max-height:430px;object-fit:contain;filter:saturate(1.04)}.hub-auth-art span{position:absolute;left:10%;bottom:12%;font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--hub-muted);padding:8px 12px;border-radius:999px;background:color-mix(in srgb,var(--hub-surface) 72%,transparent);border:1px solid var(--hub-line);backdrop-filter:blur(16px)}
.hub-auth-shell .auth-card{justify-self:start;position:relative}.hub-auth-shell .auth-card:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.8),color-mix(in srgb,var(--hub-purple) 18%,transparent),color-mix(in srgb,var(--hub-cyan) 22%,transparent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}

@media(prefers-color-scheme:dark){.hub-category-halo{mix-blend-mode:screen;opacity:.12}.hub-control-shell .page-header.workspace-hero:before{background:linear-gradient(110deg,color-mix(in srgb,var(--hub-surface) 91%,transparent),color-mix(in srgb,var(--hub-surface-soft) 58%,transparent) 62%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.055)}.hub-category-art img{filter:saturate(1.12) brightness(.93) contrast(1.04)}.hub-auth-art img{filter:saturate(1.12) brightness(.92)}}
@media(max-width:1050px){.hub-control-shell .page-header.workspace-hero{padding-right:300px!important}.hub-category-art{width:300px;right:8px}.hub-auth-shell .auth-page{grid-template-columns:1fr}.hub-auth-art{display:none}.hub-auth-shell .auth-card{justify-self:center}}
@media(max-width:760px){.hub-control-shell .page-header.workspace-hero{min-height:128px;padding:14px 118px 18px 0!important}.hub-category-art{width:170px;height:126px;right:-20px;top:2px;opacity:.72}.hub-control-shell .page-header h1{font-size:30px}.hub-control-shell .page-header p{font-size:11px;line-height:1.55}.hub-control-shell .page-header.workspace-hero:before{inset:0 -4px 0 -6px;border-radius:22px}.hub-art-chip{display:none}}
@media(max-width:520px){.hub-category-art{opacity:.24;width:150px;right:-42px}.hub-control-shell .page-header.workspace-hero{padding-right:42px!important;min-height:120px}.hub-control-shell .page-header.workspace-hero:before{mask-image:none}.hub-auth-shell .auth-page{display:grid;grid-template-columns:1fr;padding:13px}.hub-auth-shell .auth-card{justify-self:stretch}}
@media(prefers-reduced-motion:reduce){.hub-art-chip{animation:none}.hub-category-art{transition:none!important}}

/* Syntal SSO 4.1.1 — authentication polish + public identity landing */
.auth-home-link{position:fixed;z-index:20;top:22px;left:26px;display:flex;align-items:center;gap:9px;padding:8px 11px 8px 8px;border:1px solid color-mix(in srgb,var(--hub-line) 76%,transparent);border-radius:14px;background:color-mix(in srgb,var(--hub-surface) 82%,transparent);backdrop-filter:blur(20px) saturate(1.2);box-shadow:var(--hub-shadow-soft);color:var(--hub-ink);text-decoration:none;font-size:11px;letter-spacing:-.01em}.auth-home-link span{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:linear-gradient(145deg,#715fdf,#4f99e7);color:#fff;font-size:14px;box-shadow:0 7px 18px rgba(94,83,207,.22)}.auth-home-link strong{font-weight:760}
.hub-auth-shell .auth-page{min-height:100svh;align-items:center}.hub-auth-shell .auth-card-polished{width:min(520px,100%);padding:31px 32px 25px;overflow:hidden}.hub-auth-shell .auth-card-register{width:min(620px,100%)}.auth-card-glow{position:absolute;pointer-events:none;width:210px;height:210px;border-radius:50%;right:-105px;top:-115px;background:radial-gradient(circle,color-mix(in srgb,var(--hub-purple) 17%,transparent),transparent 70%);filter:blur(2px)}
.auth-brand-link{width:max-content;color:var(--hub-ink)!important;text-decoration:none}.auth-brand-copy{display:flex;flex-direction:column;line-height:1}.auth-brand-copy strong{font-size:13px;letter-spacing:-.015em}.auth-brand-copy small{font-size:8px;margin-top:4px;text-transform:uppercase;letter-spacing:.18em;color:var(--hub-muted);font-weight:750}.auth-heading-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;margin-bottom:22px}.auth-heading-row h1{font-size:32px!important;margin:7px 0 7px!important;line-height:1.02;letter-spacing:-.05em!important}.auth-heading-row p{max-width:445px;margin:0;color:var(--hub-muted);font-size:11px;line-height:1.55}.auth-heading-row p strong{color:var(--hub-ink)}.auth-kicker{display:inline-flex;align-items:center;gap:7px;font-size:8px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--hub-muted)}.auth-kicker i{width:6px;height:6px;border-radius:50%;background:linear-gradient(145deg,var(--hub-purple),var(--hub-cyan));box-shadow:0 0 10px color-mix(in srgb,var(--hub-purple) 42%,transparent)}.auth-security-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--hub-purple) 10%,var(--hub-surface)),color-mix(in srgb,var(--hub-cyan) 8%,var(--hub-surface)));border:1px solid color-mix(in srgb,var(--hub-purple) 15%,var(--hub-line));color:var(--hub-purple);box-shadow:0 9px 22px color-mix(in srgb,var(--hub-purple) 11%,transparent)}.auth-security-mark svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.auth-flash{margin:0 0 15px!important;border-radius:12px!important;font-size:10px!important}.auth-form-polished{gap:0!important}.auth-field{margin-bottom:13px!important;color:var(--hub-muted)!important}.auth-field>span:first-child{display:block;font-size:9px;font-weight:800;letter-spacing:.02em;margin-bottom:6px}.auth-input-shell{position:relative;display:flex;align-items:center;min-height:46px;border:1px solid var(--hub-line-strong);border-radius:13px;background:color-mix(in srgb,var(--hub-surface-soft) 97%,transparent);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.auth-input-shell:focus-within{border-color:color-mix(in srgb,var(--hub-purple) 68%,var(--hub-line-strong));box-shadow:0 0 0 4px color-mix(in srgb,var(--hub-purple) 8%,transparent),0 8px 20px color-mix(in srgb,var(--hub-purple) 7%,transparent);background:var(--hub-surface)}.auth-input-shell>svg{flex:0 0 auto;width:17px;height:17px;margin-left:13px;color:var(--hub-muted);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.auth-input-shell input{height:44px!important;min-width:0;margin:0!important;padding:9px 10px!important;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;color:var(--hub-ink)!important;font-size:11px!important}.auth-input-shell input::placeholder{color:color-mix(in srgb,var(--hub-muted) 70%,transparent)}.auth-input-shell.is-readonly{opacity:.8}.auth-input-action{flex:0 0 auto;min-height:27px!important;margin-right:8px;padding:4px 7px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--hub-muted);box-shadow:none!important;font-size:8px!important;text-transform:uppercase;letter-spacing:.08em}.auth-input-action:hover{background:color-mix(in srgb,var(--hub-purple) 7%,transparent)!important;color:var(--hub-purple)}
.auth-form-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-1px 1px 14px;font-size:9px}.auth-form-meta a{font-weight:750}.auth-form-meta span{color:var(--hub-muted)}.auth-primary{width:100%;min-height:46px!important;border-radius:13px!important;display:flex!important;justify-content:center;gap:9px;font-size:11px!important;letter-spacing:-.01em;box-shadow:0 12px 24px rgba(88,82,201,.22)!important;background:linear-gradient(135deg,#6a58dc,#4d8fe7)!important;border-color:transparent!important}.auth-primary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}.auth-primary:hover svg{transform:translateX(3px)}.auth-passkey{min-height:44px!important;display:flex!important;gap:9px!important;background:color-mix(in srgb,var(--hub-surface) 95%,transparent)!important}.auth-passkey svg{width:17px;height:17px;fill:none;stroke:var(--hub-purple);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.auth-divider{margin:16px 0!important}.auth-divider span{font-size:8px!important;letter-spacing:.11em!important}.auth-new-user{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px;padding:13px 13px 13px 15px;border:1px solid var(--hub-line);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--hub-purple) 4%,var(--hub-surface-soft)),color-mix(in srgb,var(--hub-cyan) 3%,var(--hub-surface-soft)))}.auth-new-user div{min-width:0}.auth-new-user strong,.auth-new-user span{display:block}.auth-new-user strong{font-size:10px}.auth-new-user span{margin-top:3px;color:var(--hub-muted);font-size:8.5px;line-height:1.35}.auth-secondary-action{flex:0 0 auto;min-height:34px!important;padding:7px 10px!important;font-size:9px!important}.auth-card-footer{display:flex;justify-content:center;gap:6px;margin-top:18px;color:var(--hub-muted);font-size:8px}.auth-card-footer a{color:var(--hub-muted)}.auth-card-footer a:hover{color:var(--hub-purple)}
.auth-register-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}.auth-register-grid .auth-field-wide{grid-column:1/-1}.auth-strength{display:grid!important;grid-template-columns:repeat(4,1fr);gap:4px;margin:-2px 1px 14px}.auth-strength>span{height:3px;border-radius:99px;background:var(--hub-line-strong);transition:background .18s ease,box-shadow .18s ease}.auth-strength small{grid-column:1/-1;margin-top:3px;font-size:7.5px;line-height:1.35;color:var(--hub-muted)}.auth-strength[data-strength="1"]>span:nth-child(1){background:#df6e7f}.auth-strength[data-strength="2"]>span:nth-child(-n+2){background:#db9a4b}.auth-strength[data-strength="3"]>span:nth-child(-n+3){background:#5aaacb}.auth-strength[data-strength="4"]>span{background:#32a881;box-shadow:0 0 8px rgba(50,168,129,.16)}
.hub-auth-art{align-content:center;justify-items:center;min-height:560px}.hub-auth-art img{position:relative;z-index:1;width:min(470px,90%);margin-top:100px}.hub-auth-art-copy{position:absolute;z-index:3;top:6%;left:4%;max-width:440px}.hub-auth-art-copy .auth-art-kicker{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--hub-purple)}.hub-auth-art-copy h2{margin:11px 0 12px;font-size:clamp(36px,4vw,56px);line-height:.95;letter-spacing:-.065em;color:var(--hub-ink)}.hub-auth-art-copy p{max-width:390px;margin:0;color:var(--hub-muted);font-size:12px;line-height:1.65}.auth-art-signals{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}.auth-art-signals span{position:static!important;display:flex!important;align-items:center;gap:6px;padding:7px 9px!important;font-size:8px!important;letter-spacing:.04em!important;text-transform:none!important}.auth-art-signals i{width:5px;height:5px;border-radius:50%;background:linear-gradient(145deg,var(--hub-purple),var(--hub-cyan))}

/* public landing */
.hub-public-shell{overflow-x:hidden;background:var(--hub-bg)!important}.hub-public-shell .ambient-layer{opacity:.7}.public-page{position:relative;z-index:1;width:100%;min-height:100vh}.sso-public{width:min(1260px,calc(100% - 32px));margin:0 auto;padding:18px 0 30px}.sso-public-nav{position:sticky;z-index:50;top:14px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;min-height:58px;padding:7px 9px 7px 14px;border:1px solid rgba(255,255,255,.72);border-radius:20px;background:color-mix(in srgb,var(--hub-surface) 86%,transparent);backdrop-filter:blur(25px) saturate(1.25);box-shadow:0 14px 38px rgba(50,57,84,.1),inset 0 0 0 1px color-mix(in srgb,var(--hub-line) 55%,transparent)}.sso-public-brand{display:flex;align-items:center;width:max-content;gap:8px;color:var(--hub-ink);text-decoration:none}.sso-public-brand>span{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:linear-gradient(145deg,#6d59df,#4b96e7);color:#fff;box-shadow:0 8px 18px rgba(93,81,207,.22)}.sso-public-brand strong{font-size:12px}.sso-public-brand small{padding-left:7px;border-left:1px solid var(--hub-line);font-size:8px;text-transform:uppercase;letter-spacing:.16em;color:var(--hub-muted);font-weight:780}.sso-public-nav nav{display:flex;align-items:center;gap:4px}.sso-public-nav nav a{padding:8px 10px;border-radius:10px;color:var(--hub-muted);font-size:9px;font-weight:700}.sso-public-nav nav a:hover{background:var(--hub-surface-soft);color:var(--hub-ink)}.sso-public-actions{justify-self:end;display:flex;gap:6px}.sso-public-actions .button{min-height:37px!important;font-size:9px!important;padding:8px 12px!important}.sso-public-actions .primary,.sso-public-cta .primary,.sso-final-cta .primary{background:linear-gradient(135deg,#6957db,#4a91e6)!important;border-color:transparent!important}
.sso-public-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr);align-items:center;gap:35px;min-height:690px;padding:60px 26px 22px}.sso-public-copy{position:relative;z-index:2;padding-left:16px}.sso-public-eyebrow{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid color-mix(in srgb,var(--hub-purple) 13%,var(--hub-line));border-radius:999px;background:color-mix(in srgb,var(--hub-purple) 5%,var(--hub-surface));font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--hub-muted);box-shadow:0 6px 17px rgba(73,74,111,.06)}.sso-public-eyebrow i{width:6px;height:6px;border-radius:50%;background:linear-gradient(145deg,#6f5cde,#58c9e4);box-shadow:0 0 10px rgba(101,89,218,.28)}.sso-public-copy h1{margin:18px 0 17px;font-size:clamp(54px,6vw,86px);line-height:.9;letter-spacing:-.077em;color:var(--hub-ink);text-wrap:balance}.sso-public-copy h1 span{background:linear-gradient(100deg,#6858dc,#4d8fe7 52%,#52b8d8);-webkit-background-clip:text;background-clip:text;color:transparent}.sso-public-copy>p{max-width:590px;margin:0;color:var(--hub-muted);font-size:13px;line-height:1.7}.sso-public-cta{display:flex;gap:8px;margin-top:25px}.sso-public-cta .button{min-height:45px!important;padding:10px 15px!important;border-radius:13px!important;font-size:10px!important}.sso-public-cta .primary span{font-size:15px;margin-left:3px}.sso-public-proof{display:flex;gap:15px;flex-wrap:wrap;margin-top:22px;color:var(--hub-muted);font-size:8px;font-weight:700}.sso-public-proof span{display:flex;align-items:center;gap:5px}.sso-public-proof i{display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:color-mix(in srgb,#2fad8a 11%,var(--hub-surface));color:#28a27f;font-style:normal;font-size:8px}
.sso-identity-stage{position:relative;min-height:600px;display:grid;place-items:center;perspective:900px}.sso-identity-stage>img{position:relative;z-index:2;width:min(720px,110%);transform:translate(var(--public-x,0),var(--public-y,0));transition:transform .18s ease-out;filter:drop-shadow(0 32px 65px rgba(64,73,117,.08))}.sso-stage-halo{position:absolute;border-radius:50%;filter:blur(3px);pointer-events:none}.sso-stage-halo.halo-a{width:410px;height:410px;background:radial-gradient(circle,rgba(106,88,220,.13),transparent 67%);left:9%;top:14%}.sso-stage-halo.halo-b{width:360px;height:360px;background:radial-gradient(circle,rgba(82,192,224,.12),transparent 67%);right:3%;bottom:8%}.sso-stage-float{position:absolute;z-index:4;display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid rgba(255,255,255,.73);border-radius:14px;background:color-mix(in srgb,var(--hub-surface) 89%,transparent);backdrop-filter:blur(20px) saturate(1.2);box-shadow:0 14px 30px rgba(48,55,82,.12);animation:sso-float 5.8s ease-in-out infinite}.sso-stage-float>span,.sso-stage-float>b{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:linear-gradient(145deg,#6c59dd,#4b96e7);color:white;font-size:10px}.sso-stage-float strong,.sso-stage-float small{display:block;white-space:nowrap}.sso-stage-float strong{font-size:9px}.sso-stage-float small{margin-top:2px;color:var(--hub-muted);font-size:7px}.sso-stage-float>i{margin-left:7px;padding:4px 6px;border-radius:99px;background:rgba(47,173,138,.09);color:#2a9c7e;font-size:6px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.float-user{left:2%;top:26%}.float-app{right:0;top:30%;animation-delay:-1.8s}.float-app>b{background:linear-gradient(145deg,#ef9d48,#df6eac)}.float-policy{right:7%;bottom:20%;animation-delay:-3.4s}.float-policy>span{background:linear-gradient(145deg,#2ead91,#55b9db)}@keyframes sso-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-9px) rotate(.35deg)}}
.sso-signal-strip{display:flex;align-items:center;justify-content:center;gap:21px;min-height:72px;margin:0 24px;border-top:1px solid var(--hub-line);border-bottom:1px solid var(--hub-line);color:var(--hub-muted);font-size:7.5px;font-weight:820;letter-spacing:.14em}.sso-signal-strip i{width:3px;height:3px;border-radius:50%;background:color-mix(in srgb,var(--hub-purple) 55%,var(--hub-line))}
.sso-public-section{padding:105px 26px}.sso-section-heading{max-width:750px;margin-bottom:35px}.sso-section-heading>span,.sso-security-copy>.sso-public-eyebrow+*{} .sso-section-heading>span{font-size:8px;font-weight:820;letter-spacing:.15em;text-transform:uppercase;color:var(--hub-purple)}.sso-section-heading h2,.sso-security-copy h2,.sso-final-cta h2{margin:10px 0 12px;font-size:clamp(36px,4.2vw,58px);line-height:.96;letter-spacing:-.062em;color:var(--hub-ink)}.sso-section-heading p,.sso-security-copy>p,.sso-final-cta p{max-width:650px;margin:0;color:var(--hub-muted);font-size:11px;line-height:1.7}.sso-section-heading.centered{text-align:center;margin:0 auto 42px}.sso-section-heading.centered p{margin-inline:auto}
.sso-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.sso-feature-card{position:relative;min-height:360px;padding:23px;border:1px solid var(--hub-line);border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--hub-surface) 97%,transparent),color-mix(in srgb,var(--hub-surface-soft) 94%,transparent));overflow:hidden;box-shadow:var(--hub-shadow-soft);transition:transform .25s ease,box-shadow .25s ease}.sso-feature-card:hover{transform:translateY(-4px);box-shadow:var(--hub-shadow)}.sso-feature-card:after{content:"";position:absolute;width:200px;height:200px;right:-75px;top:-80px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--feature,#6b5adb) 13%,transparent),transparent 68%)}.feature-directory{--feature:#2f9be8}.feature-access{--feature:#8d5bdd}.feature-apps{--feature:#ef9c47}.feature-icon{position:relative;z-index:2;display:grid;place-items:center;width:42px;height:42px;margin-bottom:43px;border:1px solid color-mix(in srgb,var(--feature) 18%,var(--hub-line));border-radius:13px;background:color-mix(in srgb,var(--feature) 7%,var(--hub-surface));color:var(--feature)}.feature-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sso-feature-card>span{position:relative;z-index:2;font-size:7px;font-weight:820;letter-spacing:.13em;text-transform:uppercase;color:var(--feature)}.sso-feature-card h3{position:relative;z-index:2;max-width:330px;margin:8px 0 10px;font-size:19px;line-height:1.08;letter-spacing:-.04em}.sso-feature-card p{position:relative;z-index:2;max-width:330px;margin:0;color:var(--hub-muted);font-size:9px;line-height:1.55}.feature-art{position:absolute;z-index:1;right:20px;top:78px;width:125px;height:84px}.mini-people b{position:absolute;width:40px;height:40px;border-radius:50%;border:5px solid var(--hub-surface);background:linear-gradient(145deg,color-mix(in srgb,var(--feature) 76%,white),var(--feature));box-shadow:0 9px 18px rgba(48,84,122,.12)}.mini-people b:nth-child(1){left:0;top:18px}.mini-people b:nth-child(2){left:33px;top:0}.mini-people b:nth-child(3){left:66px;top:22px}.mini-people i{position:absolute;left:23px;right:8px;bottom:0;height:1px;background:color-mix(in srgb,var(--feature) 24%,transparent)}.mini-access i{position:absolute;inset:5px 22px 0;border-radius:27px 27px 35px 35px;background:linear-gradient(145deg,color-mix(in srgb,var(--feature) 17%,var(--hub-surface)),color-mix(in srgb,var(--feature) 5%,var(--hub-surface)));border:1px solid color-mix(in srgb,var(--feature) 24%,var(--hub-line))}.mini-access b{position:absolute;z-index:2;width:9px;height:9px;border-radius:50%;background:var(--feature);box-shadow:0 0 0 6px color-mix(in srgb,var(--feature) 8%,transparent)}.mini-access b:nth-child(2){left:21px;top:19px}.mini-access b:nth-child(3){right:17px;top:27px}.mini-access b:nth-child(4){left:57px;bottom:8px}.mini-apps{display:grid;grid-template-columns:repeat(2,39px);gap:6px;justify-content:end}.mini-apps b{display:grid;place-items:center;height:39px;border-radius:11px;background:var(--hub-surface);border:1px solid color-mix(in srgb,var(--feature) 18%,var(--hub-line));color:var(--feature);font-size:9px;box-shadow:0 7px 15px rgba(60,70,100,.07)}
.sso-security-section{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(0,1.1fr);align-items:center;gap:65px}.sso-security-visual{position:relative;display:grid;place-items:center;min-height:540px}.sso-security-visual img{position:relative;z-index:2;width:min(520px,90%);filter:drop-shadow(0 30px 60px rgba(61,69,103,.1))}.security-ring{position:absolute;border:1px solid color-mix(in srgb,var(--hub-purple) 15%,transparent);border-radius:50%}.ring-one{width:430px;height:430px}.ring-two{width:520px;height:520px;border-color:color-mix(in srgb,var(--hub-cyan) 13%,transparent)}.sso-security-copy{padding-right:25px}.sso-security-copy h2{margin-top:17px}.sso-security-list{margin-top:27px;border-top:1px solid var(--hub-line)}.sso-security-list>div{display:grid;grid-template-columns:35px 145px 1fr;gap:11px;align-items:start;padding:16px 0;border-bottom:1px solid var(--hub-line)}.sso-security-list span{font-size:8px;color:var(--hub-purple);font-weight:800}.sso-security-list strong{font-size:10px}.sso-security-list p{margin:0;color:var(--hub-muted);font-size:8.5px;line-height:1.5}
.sso-integration-board{position:relative;min-height:390px;border:1px solid var(--hub-line);border-radius:28px;background:radial-gradient(circle at center,color-mix(in srgb,var(--hub-purple) 7%,var(--hub-surface)) 0,var(--hub-surface) 43%,color-mix(in srgb,var(--hub-cyan) 2%,var(--hub-surface)) 100%);box-shadow:var(--hub-shadow-soft);overflow:hidden}.sso-integration-board:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,color-mix(in srgb,var(--hub-purple) 14%,transparent) 0 1px,transparent 1.4px);background-size:24px 24px;mask-image:radial-gradient(circle at center,#000,transparent 72%);opacity:.38}.sso-integration-board>svg{position:absolute;inset:0;width:100%;height:100%;z-index:1}.sso-integration-board>svg path{fill:none;stroke:color-mix(in srgb,var(--hub-purple) 25%,var(--hub-line));stroke-width:1.2;stroke-dasharray:5 6}.integration-core,.integration-node{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--hub-line);background:color-mix(in srgb,var(--hub-surface) 93%,transparent);box-shadow:var(--hub-shadow-soft);backdrop-filter:blur(15px)}.integration-core{left:50%;top:50%;width:150px;height:150px;transform:translate(-50%,-50%);border-radius:42px}.integration-core>span{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:linear-gradient(145deg,#6a57dc,#4e98e7);color:#fff;box-shadow:0 9px 22px rgba(92,80,205,.22)}.integration-core strong{margin-top:10px;font-size:10px}.integration-core small{margin-top:3px;color:var(--hub-muted);font-size:7px}.integration-node{width:120px;height:72px;border-radius:19px}.integration-node b{font-size:11px;color:var(--hub-purple)}.integration-node small{margin-top:4px;color:var(--hub-muted);font-size:7px}.node-a{left:12%;top:10%}.node-b{right:12%;top:10%}.node-c{left:12%;bottom:10%}.node-d{right:12%;bottom:10%}
.sso-final-cta{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin:55px 26px 85px;padding:38px 40px;border:1px solid color-mix(in srgb,var(--hub-purple) 12%,var(--hub-line));border-radius:30px;background:linear-gradient(125deg,color-mix(in srgb,var(--hub-purple) 8%,var(--hub-surface)),color-mix(in srgb,var(--hub-cyan) 5%,var(--hub-surface)) 72%,var(--hub-surface));box-shadow:var(--hub-shadow)}.sso-final-cta>div:first-child>span{font-size:8px;text-transform:uppercase;letter-spacing:.14em;color:var(--hub-purple);font-weight:800}.sso-final-cta h2{font-size:42px;margin-bottom:9px}.sso-final-cta>div:last-child{display:flex;gap:7px;flex:0 0 auto}.sso-final-cta .button{min-height:42px!important;font-size:9px!important}.sso-public-footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px 7px;border-top:1px solid var(--hub-line);color:var(--hub-muted);font-size:8px}.sso-public-footer p{margin:0;text-align:center}.sso-public-footer>span{justify-self:end}
@media(prefers-color-scheme:dark){.auth-home-link,.sso-public-nav,.sso-stage-float{border-color:rgba(255,255,255,.07)}.sso-identity-stage>img{filter:saturate(1.07) brightness(.92) drop-shadow(0 32px 65px rgba(0,0,0,.18))}.sso-security-visual img{filter:saturate(1.08) brightness(.93) drop-shadow(0 30px 60px rgba(0,0,0,.18))}.sso-stage-float>i{color:#5bc3a5}.sso-public-copy h1 span{filter:saturate(1.12)}}
@media(max-width:1050px){.hub-auth-art-copy{display:none}.hub-auth-art img{margin-top:0}.sso-public-hero{grid-template-columns:1fr;min-height:auto;padding-top:100px}.sso-public-copy{max-width:770px}.sso-identity-stage{min-height:550px}.sso-feature-grid{grid-template-columns:1fr 1fr}.sso-feature-card:last-child{grid-column:1/-1}.sso-security-section{grid-template-columns:1fr;gap:10px}.sso-security-visual{min-height:450px}.sso-security-copy{padding-right:0}.sso-public-nav{grid-template-columns:1fr auto}.sso-public-nav nav{display:none}}
@media(max-width:720px){.auth-home-link{top:10px;left:10px}.hub-auth-shell .auth-card-polished,.hub-auth-shell .auth-card-register{padding:24px 18px 20px}.auth-register-grid{grid-template-columns:1fr}.auth-register-grid .auth-field-wide{grid-column:auto}.auth-heading-row h1{font-size:28px!important}.auth-security-mark{width:38px;height:38px}.auth-new-user{align-items:flex-start;flex-direction:column}.auth-secondary-action{width:100%}.sso-public{width:min(100% - 18px,1260px)}.sso-public-nav{top:8px;min-height:52px;border-radius:17px;padding-left:10px}.sso-public-brand small{display:none}.sso-public-actions .button:first-child{display:none}.sso-public-actions .button{padding:7px 9px!important}.sso-public-hero{padding:88px 8px 20px}.sso-public-copy{padding-left:4px}.sso-public-copy h1{font-size:clamp(48px,15vw,68px)}.sso-public-copy>p{font-size:11px}.sso-public-proof{gap:9px}.sso-identity-stage{min-height:430px}.sso-identity-stage>img{width:125%}.sso-stage-float{padding:7px 8px}.float-user{left:0}.float-app{right:-3%}.float-policy{right:2%;bottom:14%}.sso-signal-strip{gap:9px;margin:0 4px;overflow:hidden;justify-content:flex-start;padding:0 8px;white-space:nowrap}.sso-public-section{padding:78px 8px}.sso-feature-grid{grid-template-columns:1fr}.sso-feature-card:last-child{grid-column:auto}.sso-feature-card{min-height:315px}.sso-security-visual{min-height:350px}.ring-one{width:310px;height:310px}.ring-two{width:350px;height:350px}.sso-security-list>div{grid-template-columns:28px 1fr}.sso-security-list p{grid-column:2}.sso-integration-board{min-height:480px}.integration-core{width:125px;height:125px}.integration-node{width:100px;height:64px}.node-a{left:5%;top:8%}.node-b{right:5%;top:8%}.node-c{left:5%;bottom:8%}.node-d{right:5%;bottom:8%}.sso-integration-board>svg{display:none}.sso-final-cta{margin:20px 8px 55px;padding:27px 22px;align-items:flex-start;flex-direction:column}.sso-final-cta h2{font-size:34px}.sso-final-cta>div:last-child{width:100%}.sso-final-cta .button{flex:1}.sso-public-footer{grid-template-columns:1fr auto}.sso-public-footer p{display:none}}
@media(max-width:430px){.sso-public-actions .primary{font-size:8px!important}.sso-public-hero{padding-top:70px}.sso-public-copy h1{font-size:46px}.sso-public-cta{display:grid;grid-template-columns:1fr 1fr}.sso-public-cta .button{padding-inline:9px!important}.sso-public-proof span:nth-child(3){display:none}.sso-identity-stage{min-height:360px}.sso-stage-float{transform:scale(.88)}.float-app{top:24%}.float-policy{bottom:9%}.sso-section-heading h2,.sso-security-copy h2{font-size:36px}.feature-art{opacity:.8}.auth-form-meta span{display:none}}
@media(prefers-reduced-motion:reduce){.sso-stage-float{animation:none}.sso-identity-stage>img{transition:none}.sso-feature-card{transition:none}}

/* Syntal SSO 4.1.1 — responsive composition correction */
.hub-auth-shell .auth-page{
  width:100%;
  min-height:100svh;
  padding-block:42px;
}
.hub-auth-art{
  min-height:650px;
  align-content:stretch;
  overflow:visible;
}
.hub-auth-art-copy{
  top:7%;
  left:4%;
  max-width:430px;
}
.hub-auth-art img{
  position:absolute;
  z-index:1;
  left:50%;
  bottom:2%;
  width:min(430px,86%);
  max-height:300px;
  margin-top:0;
  transform:translateX(-50%);
  object-fit:contain;
}
.auth-home-link{position:absolute}
.auth-input-shell input{padding-right:58px!important}
.auth-input-shell:not(:has(.auth-input-action)) input{padding-right:10px!important}
.auth-input-action{right:8px;max-width:46px;overflow:hidden;text-overflow:clip}
.auth-register-grid .auth-field-password{grid-column:1/-1}

.sso-identity-stage{
  overflow:visible;
  isolation:isolate;
}
.sso-identity-stage>img{
  max-width:100%;
  height:auto;
}
.sso-security-visual img{
  aspect-ratio:8/5;
  height:auto;
  object-fit:contain;
}

@media(max-width:1050px){
  .hub-auth-shell .auth-page{
    align-items:start;
    justify-items:center;
    padding-top:88px;
    padding-bottom:34px;
  }
  .hub-auth-shell .auth-card{justify-self:center}
}

@media(max-width:720px){
  .auth-home-link{top:12px;left:12px}
  .hub-auth-shell .auth-page{
    align-items:start;
    padding:76px 13px 24px;
  }
  .hub-auth-shell .auth-card-polished,
  .hub-auth-shell .auth-card-register{
    width:100%;
    margin:0;
  }
  .auth-register-grid .auth-field-password{grid-column:auto}
  .auth-input-shell input{padding-right:54px!important}
  .auth-input-shell:not(:has(.auth-input-action)) input{padding-right:10px!important}

  .sso-public-hero{overflow:visible}
  .sso-identity-stage{
    min-height:410px;
    width:100%;
    overflow:visible;
    padding-inline:8px;
  }
  .sso-identity-stage>img{
    width:108%;
    max-width:108%;
    margin-inline:auto;
  }
  .sso-stage-float{
    max-width:calc(100% - 16px);
    box-sizing:border-box;
  }
  .float-user{left:2%}
  .float-app{right:2%}
  .float-policy{right:4%;bottom:12%}

  .sso-signal-strip{
    min-height:92px;
    padding:13px 8px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px 10px;
    overflow:visible;
    white-space:normal;
    text-align:center;
  }
  .sso-signal-strip i{display:none}
  .sso-signal-strip span{
    display:grid;
    place-items:center;
    min-height:26px;
  }

  .sso-security-visual{
    min-height:390px;
    overflow:hidden;
  }
  .sso-security-visual img{
    width:min(420px,92%);
    aspect-ratio:8/5;
  }
  .ring-one{width:min(310px,78vw);height:min(310px,78vw)}
  .ring-two{width:min(350px,88vw);height:min(350px,88vw)}
}

@media(max-width:430px){
  .hub-auth-shell .auth-page{padding:72px 10px 22px}
  .auth-home-link{top:10px;left:10px}
  .auth-home-link strong{font-size:10px}
  .hub-auth-shell .auth-card-polished,.hub-auth-shell .auth-card-register{padding:22px 16px 18px}
  .auth-heading-row{gap:10px}
  .auth-heading-row h1{font-size:26px!important}
  .auth-heading-row p{font-size:10px}
  .auth-security-mark{width:36px;height:36px;border-radius:12px}
  .auth-input-shell>svg{margin-left:11px;width:16px;height:16px}
  .auth-input-shell input{font-size:10.5px!important;padding-left:8px!important;padding-right:50px!important}
  .auth-input-action{right:6px;font-size:8px!important;padding-inline:5px!important}

  .sso-public-hero{padding-top:72px}
  .sso-identity-stage{
    min-height:350px;
    padding-inline:2px;
  }
  .sso-identity-stage>img{
    width:104%;
    max-width:104%;
  }
  .sso-stage-float{
    transform:none;
    animation:none;
    padding:6px 7px;
    gap:6px;
  }
  .sso-stage-float>span,.sso-stage-float>b{width:24px;height:24px;border-radius:8px}
  .sso-stage-float strong{font-size:8px}
  .sso-stage-float small{font-size:6.5px}
  .sso-stage-float>i{margin-left:3px;padding:3px 5px;font-size:5.5px}
  .float-user{left:1%;top:27%}
  .float-app{right:1%;top:23%}
  .float-policy{right:2%;bottom:10%}

  .sso-signal-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
    min-height:118px;
  }
  .sso-security-visual{min-height:330px}
  .sso-security-visual img{width:92%}
  .ring-one{width:260px;height:260px}
  .ring-two{width:300px;height:300px}
}

/* Final viewport containment pass */
body.hub-auth-shell{padding:0!important;min-height:100svh;overflow-x:clip}
.hub-auth-shell .auth-page:has(.auth-card-register){grid-template-columns:minmax(0,1fr) minmax(540px,620px);gap:clamp(32px,5vw,80px)}
.hub-auth-shell .auth-page:has(.auth-card-register) .auth-card-register{width:100%}

@media(max-width:1050px){
  .hub-auth-shell .auth-page:has(.auth-card-register){grid-template-columns:1fr}
}

@media(max-width:720px){
  .sso-stage-halo.halo-a{
    width:min(410px,94vw);height:min(410px,94vw);
    left:50%;top:14%;transform:translateX(-50%);
  }
  .sso-stage-halo.halo-b{
    width:min(360px,86vw);height:min(360px,86vw);
    left:50%;right:auto;bottom:8%;transform:translateX(-50%);
  }
}

/* Auth art copy must not inherit the legacy floating-chip rule. */
.hub-auth-art-copy .auth-art-kicker{
  position:static!important;
  display:inline-flex!important;
  align-items:center;
  left:auto!important;
  bottom:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}

/* Syntal SSO 4.1.1 — auth input single-border correction */
.hub-auth-shell .auth-card .auth-input-shell input{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  border-radius:0!important;
}
.hub-auth-shell .auth-card .auth-input-shell input:focus,
.hub-auth-shell .auth-card .auth-input-shell input:focus-visible{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

/* Syntal SSO 4.1.1 — transparent-art auth + public redesign
   Artwork files contain alpha only. All page atmosphere is rendered by HTML/CSS. */
.hub-auth-shell .auth-page{
  grid-template-columns:minmax(430px,1fr) minmax(440px,620px);
  gap:clamp(42px,6vw,96px);
  width:min(1460px,100%);
  margin-inline:auto;
  padding:54px clamp(28px,5vw,76px);
  align-items:center;
  overflow:visible;
}
.hub-auth-shell .auth-page:has(.auth-card-login){grid-template-columns:minmax(430px,1fr) minmax(420px,520px)}
.hub-auth-shell .auth-page:has(.auth-card-register){grid-template-columns:minmax(430px,1fr) minmax(540px,620px);gap:clamp(42px,5vw,82px)}

.hub-auth-art{
  position:relative;
  width:100%;
  min-height:680px;
  justify-self:stretch;
  display:block;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--hub-line) 72%,transparent);
  border-radius:36px;
  background:
    radial-gradient(circle at 22% 18%,color-mix(in srgb,var(--hub-purple) 11%,transparent),transparent 31%),
    radial-gradient(circle at 83% 72%,color-mix(in srgb,var(--hub-cyan) 12%,transparent),transparent 34%),
    linear-gradient(145deg,color-mix(in srgb,var(--hub-surface) 80%,transparent),color-mix(in srgb,var(--hub-surface-soft) 54%,transparent));
  box-shadow:inset 0 1px rgba(255,255,255,.55),0 24px 70px rgba(47,56,88,.055);
  isolation:isolate;
}
.hub-auth-art:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(115deg,rgba(255,255,255,.17),transparent 28%,transparent 74%,rgba(98,205,234,.04));
}
.hub-auth-art .hub-auth-grid{
  position:absolute!important;
  inset:0!important;
  z-index:-1;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background-image:
    linear-gradient(color-mix(in srgb,var(--hub-line) 42%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--hub-line) 42%,transparent) 1px,transparent 1px)!important;
  background-size:44px 44px!important;
  mask-image:linear-gradient(to bottom,transparent 2%,#000 22%,#000 82%,transparent 100%);
  opacity:.25;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
.hub-auth-art .hub-auth-glow{
  position:absolute!important;
  z-index:-1;
  width:320px;
  height:320px;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  filter:blur(18px);
  opacity:.34;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
.hub-auth-art .auth-glow-a{left:-100px!important;top:165px!important;bottom:auto!important;background:radial-gradient(circle,var(--hub-purple),transparent 70%)!important}
.hub-auth-art .auth-glow-b{left:auto!important;right:-105px!important;bottom:25px!important;background:radial-gradient(circle,var(--hub-cyan),transparent 70%)!important}

.hub-auth-art-copy{
  position:relative;
  z-index:4;
  top:auto;
  left:auto;
  max-width:520px;
  padding:46px 48px 0;
}
.hub-auth-art-copy .auth-art-kicker{
  position:static!important;
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  color:var(--hub-purple)!important;
  font-size:9px!important;
  font-weight:820!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
.hub-auth-art-copy .auth-art-kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:linear-gradient(145deg,var(--hub-purple),var(--hub-cyan));box-shadow:0 0 15px color-mix(in srgb,var(--hub-purple) 46%,transparent)}
.hub-auth-art-copy h2{margin:14px 0 14px;font-size:clamp(42px,4vw,64px);line-height:.92;letter-spacing:-.072em;text-wrap:balance}
.hub-auth-art-copy p{max-width:440px;font-size:12px;line-height:1.7}
.hub-auth-art .auth-art-signals{position:static!important;display:flex!important;gap:7px;flex-wrap:wrap;margin-top:21px;padding:0!important;border:0!important;background:none!important;backdrop-filter:none!important;box-shadow:none!important}
.hub-auth-art .auth-art-signals span{
  position:static!important;
  display:flex!important;
  align-items:center;
  gap:6px;
  left:auto!important;
  bottom:auto!important;
  padding:7px 9px!important;
  border:1px solid color-mix(in srgb,var(--hub-line) 82%,transparent)!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--hub-surface) 70%,transparent)!important;
  color:var(--hub-muted)!important;
  font-size:8px!important;
  font-weight:720!important;
  letter-spacing:.03em!important;
  text-transform:none!important;
  backdrop-filter:blur(12px)!important;
  box-shadow:none!important;
}
.hub-auth-art .auth-art-signals i{position:static!important;width:5px;height:5px;padding:0!important;border:0!important;border-radius:50%!important;background:linear-gradient(145deg,var(--hub-purple),var(--hub-cyan))!important;box-shadow:none!important}

.hub-auth-art-stage{
  position:absolute;
  z-index:2;
  left:24px;
  right:24px;
  bottom:12px;
  height:390px;
  display:grid;
  place-items:center;
  pointer-events:none;
}
.hub-auth-art-stage:before{
  content:"";
  position:absolute;
  width:min(520px,88%);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--hub-purple) 10%,transparent),color-mix(in srgb,var(--hub-cyan) 5%,transparent) 44%,transparent 72%);
  filter:blur(2px);
}
.hub-auth-art-stage .auth-orbit{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  bottom:auto!important;
  padding:0!important;
  border-radius:50%!important;
  background:none!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
  transform:translate(-50%,-50%) rotate(-9deg);
}
.hub-auth-art-stage .auth-orbit-one{width:72%;height:38%;border:1px solid color-mix(in srgb,var(--hub-purple) 18%,transparent)!important}
.hub-auth-art-stage .auth-orbit-two{width:58%;height:58%;border:1px dashed color-mix(in srgb,var(--hub-cyan) 19%,transparent)!important;transform:translate(-50%,-50%) rotate(31deg)}
.hub-auth-art-stage .auth-artwork,
.hub-auth-art-stage img{
  position:relative!important;
  z-index:2;
  left:auto!important;
  bottom:auto!important;
  width:min(650px,100%)!important;
  max-width:100%!important;
  max-height:390px!important;
  height:auto!important;
  margin:0!important;
  transform:none!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  filter:drop-shadow(0 28px 45px rgba(62,76,130,.12)) saturate(1.04)!important;
}
.hub-auth-art-stage .auth-artwork-login{width:min(690px,104%)!important;max-height:410px!important}
.hub-auth-art-stage .auth-artwork-register{width:min(650px,98%)!important}

.hub-auth-shell .auth-card-polished{
  border-radius:26px!important;
  border:1px solid color-mix(in srgb,var(--hub-line) 80%,transparent)!important;
  background:color-mix(in srgb,var(--hub-surface) 95%,transparent)!important;
  backdrop-filter:blur(26px) saturate(1.08);
  box-shadow:0 26px 70px rgba(45,54,82,.11),0 4px 15px rgba(45,54,82,.045)!important;
}
.hub-auth-shell .auth-card-polished:before{opacity:.55}
.auth-security-mark{background:transparent!important;box-shadow:none!important;border-color:color-mix(in srgb,var(--hub-purple) 15%,var(--hub-line))}
.auth-card-glow{opacity:.62}

/* Public hero: artwork is transparent; atmosphere is HTML/CSS only. */
.sso-public-hero{
  position:relative;
  min-height:690px;
  overflow:visible;
}
.sso-public-hero:before{
  content:"";
  position:absolute;
  z-index:-1;
  width:680px;
  height:680px;
  right:-120px;
  top:-80px;
  border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--hub-cyan) 10%,transparent),color-mix(in srgb,var(--hub-purple) 7%,transparent) 38%,transparent 70%);
  filter:blur(4px);
}
.sso-identity-stage{
  position:relative;
  min-height:600px;
  display:grid;
  place-items:center;
  overflow:visible;
  isolation:isolate;
}
.sso-stage-grid{
  position:absolute;
  inset:8% 2% 7%;
  z-index:-2;
  border-radius:42px;
  background-image:
    linear-gradient(color-mix(in srgb,var(--hub-line) 43%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--hub-line) 43%,transparent) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(ellipse at center,#000 8%,rgba(0,0,0,.65) 48%,transparent 76%);
  opacity:.26;
}
.sso-identity-art-shell{
  position:relative;
  z-index:2;
  width:min(710px,100%);
  display:grid;
  place-items:center;
}
.sso-identity-art-shell:before{
  content:"";
  position:absolute;
  width:78%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--hub-purple) 12%,transparent),color-mix(in srgb,var(--hub-cyan) 6%,transparent) 42%,transparent 70%);
  filter:blur(8px);
}
.sso-identity-art-shell img{
  position:relative;
  z-index:2;
  width:100%;
  height:auto;
  display:block;
  background:transparent;
  border:0;
  filter:drop-shadow(0 34px 52px rgba(61,73,126,.10)) saturate(1.02);
  transform:translate(var(--public-x,0),var(--public-y,0));
  transition:transform .18s ease-out;
}
.sso-stage-badge{
  position:absolute;
  z-index:4;
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px 12px;
  border:1px solid color-mix(in srgb,var(--hub-line) 78%,transparent);
  border-radius:15px;
  background:color-mix(in srgb,var(--hub-surface) 82%,transparent);
  backdrop-filter:blur(18px) saturate(1.15);
  box-shadow:0 16px 32px rgba(47,56,84,.09);
}
.sso-stage-badge>span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:linear-gradient(145deg,#6659e8,#4ebce8);color:#fff;font-size:10px;box-shadow:0 7px 16px rgba(91,90,215,.18)}
.sso-stage-badge strong,.sso-stage-badge small{display:block;white-space:nowrap}.sso-stage-badge strong{font-size:9px}.sso-stage-badge small{margin-top:2px;color:var(--hub-muted);font-size:7px}.badge-passkey{left:2%;top:24%}.badge-policy{right:1%;bottom:17%}.badge-policy>span{background:linear-gradient(145deg,#32b99d,#5ba7e9)}

.sso-security-visual{
  min-height:560px;
  isolation:isolate;
  overflow:visible;
}
.sso-security-visual:before{
  content:"";
  position:absolute;
  z-index:-2;
  width:78%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--hub-purple) 10%,transparent),color-mix(in srgb,var(--hub-cyan) 6%,transparent) 45%,transparent 71%);
  filter:blur(8px);
}
.sso-security-visual:after{
  content:"";
  position:absolute;
  z-index:-1;
  width:66%;
  aspect-ratio:1;
  border:1px dashed color-mix(in srgb,var(--hub-purple) 17%,transparent);
  border-radius:50%;
  transform:rotate(19deg);
}
.sso-security-visual img{
  width:min(500px,88%)!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  filter:drop-shadow(0 30px 50px rgba(62,77,131,.10)) saturate(1.03)!important;
}
.security-ring{z-index:-1}
.ring-one{width:410px;height:410px;transform:rotate(-10deg)}
.ring-two{width:490px;height:490px;transform:rotate(22deg)}

/* Inline SVG normalization: no accidental black fills or square backgrounds. */
.hub-auth-shell .auth-card svg,
.sso-public .feature-icon svg,
.sso-public .integration-board>svg{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.sso-public .integration-board>svg path{fill:none;stroke:color-mix(in srgb,var(--hub-purple) 20%,var(--hub-line));stroke-width:1.2;vector-effect:non-scaling-stroke}
.hub-auth-shell .auth-card svg *{vector-effect:non-scaling-stroke}

@media(prefers-color-scheme:dark){
  .hub-auth-art{border-color:rgba(255,255,255,.07);background:radial-gradient(circle at 20% 17%,rgba(104,88,219,.11),transparent 30%),radial-gradient(circle at 82% 75%,rgba(94,205,234,.09),transparent 34%),linear-gradient(145deg,rgba(24,29,40,.91),rgba(18,23,33,.78))}
  .hub-auth-art:after{background:linear-gradient(115deg,rgba(255,255,255,.025),transparent 30%,transparent 72%,rgba(94,205,234,.025))}
  .hub-auth-art-stage img,.sso-identity-art-shell img,.sso-security-visual img{filter:drop-shadow(0 30px 55px rgba(0,0,0,.24)) saturate(1.06) brightness(.96)!important}
  .hub-auth-shell .auth-card-polished{background:color-mix(in srgb,var(--hub-surface) 95%,transparent)!important}
}

@media(max-width:1120px){
  .hub-auth-shell .auth-page,
  .hub-auth-shell .auth-page:has(.auth-card-login),
  .hub-auth-shell .auth-page:has(.auth-card-register){grid-template-columns:1fr;max-width:760px;padding-top:86px}
  .hub-auth-art{display:none}
  .hub-auth-shell .auth-card{justify-self:center;width:min(620px,100%)}
}
@media(max-width:900px){
  .sso-identity-stage{min-height:520px}
  .sso-identity-art-shell{width:min(650px,100%)}
  .badge-passkey{left:3%;top:18%}.badge-policy{right:3%;bottom:12%}
}
@media(max-width:720px){
  .hub-auth-shell .auth-page,
  .hub-auth-shell .auth-page:has(.auth-card-login),
  .hub-auth-shell .auth-page:has(.auth-card-register){padding:76px 12px 24px}
  .sso-public-hero{padding-top:88px;min-height:auto}
  .sso-identity-stage{min-height:410px;padding-inline:0}
  .sso-identity-art-shell{width:106%;max-width:106%}
  .sso-stage-grid{inset:7% 0 5%;border-radius:28px;background-size:34px 34px}
  .sso-stage-badge{padding:7px 8px;gap:6px;border-radius:12px}
  .sso-stage-badge>span{width:24px;height:24px;border-radius:8px}.sso-stage-badge strong{font-size:8px}.sso-stage-badge small{font-size:6.5px}
  .badge-passkey{left:1%;top:18%}.badge-policy{right:1%;bottom:9%}
  .sso-security-visual{min-height:390px;overflow:visible}
  .sso-security-visual img{width:min(390px,88%)!important}
  .ring-one{width:min(300px,74vw);height:min(300px,74vw)}
  .ring-two{width:min(350px,86vw);height:min(350px,86vw)}
}
@media(max-width:430px){
  .hub-auth-shell .auth-card-polished,.hub-auth-shell .auth-card-register{border-radius:22px!important}
  .sso-identity-stage{min-height:350px}
  .sso-identity-art-shell{width:108%;max-width:108%}
  .sso-stage-badge small{display:none}
  .badge-passkey{top:17%}.badge-policy{bottom:8%}
  .sso-security-visual{min-height:330px}
  .sso-security-visual img{width:88%!important}
}
@media(prefers-reduced-motion:reduce){.sso-identity-art-shell img{transition:none}}

/* hard containment for decorative layers */
html{overflow-x:clip}
.hub-auth-shell .auth-page:before,.hub-auth-shell .auth-page:after{display:none!important}
.auth-card-glow{right:-26px;top:-92px}
.sso-public-hero:before{right:0;width:min(680px,58vw)}
@media(max-width:720px){
  .sso-public-hero:before{right:0;width:92vw;height:92vw;top:0}
  .sso-security-visual .ring-one,.sso-security-visual .ring-two{transform:none}
  .sso-security-visual .ring-two{width:min(330px,80vw);height:min(330px,80vw)}
}
