/* A quiet, Apple-inspired access layer. The workspace stays intact beneath it. */
body.auth-pending,body.auth-locked{min-height:100vh;background:#f5f5f7}
body.auth-pending :is(#sidebar,.workspace,#overlay-root,#toast-root,.skip-link),body.auth-locked :is(#sidebar,.workspace,#overlay-root,#toast-root,.skip-link){display:none!important}
#auth-root{position:relative;z-index:10000}
#auth-root:empty{display:none}
.auth-page{min-height:100svh;padding:30px 5.1% 23px;display:flex;flex-direction:column;background:radial-gradient(ellipse at 78% 28%,#edf3ff80 0,transparent 48%),#f5f5f7;color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC",sans-serif}
.auth-brand{display:flex;align-items:center;gap:10px;font-size:20px;letter-spacing:-.75px;font-weight:650;line-height:1.1}
.auth-brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#007aff;color:white;box-shadow:0 3px 10px #007aff12}
.auth-brand-mark svg{width:27px;height:27px}.auth-brand-light{font-weight:350}
.auth-login-layout{margin:auto;display:grid;grid-template-columns:minmax(320px,420px) minmax(340px,485px);width:100%;max-width:1020px;gap:86px;align-items:center;padding:64px 0 74px}
.auth-login-card{padding:0 5px}
.auth-symbol{width:52px;height:52px;background:#e7effc;border:1px solid #d9e5f8;border-radius:16px;display:grid;place-items:center;color:#0071e3;margin-bottom:28px;box-shadow:inset 0 1px 0 #ffffffad}
.auth-symbol svg{width:26px;height:26px}
.auth-eyebrow{margin:0 0 16px;font-size:9px;font-weight:600;letter-spacing:1.75px;color:#86868b}
.auth-login-card h1{font-size:43px;line-height:1.18;letter-spacing:-1.8px;font-weight:650;margin:0;color:#1d1d1f}
.auth-login-card h1 span{color:#86868b}
.auth-intro{margin:21px 0 0;font-size:13px;line-height:1.8;letter-spacing:.1px;color:#6e6e73}
.auth-provider-block{margin-top:34px}
.auth-provider-description{min-height:40px;max-width:380px;margin:0 0 15px;font-size:11px;color:#86868b;line-height:1.85}
.auth-button{font:inherit;display:flex;align-items:center;justify-content:center;gap:10px;min-height:47px;width:100%;border-radius:12px;border:1px solid transparent;padding:12px 17px;text-decoration:none;cursor:pointer;font-size:13px;font-weight:500;line-height:20px;box-sizing:border-box;transition:background-color 160ms ease,border-color 160ms ease,box-shadow 180ms ease,transform 140ms ease}
.auth-button svg{width:21px;height:21px;flex-shrink:0}.auth-button>svg:last-child:not(:first-child){width:17px;height:17px;margin-left:auto}.auth-button>svg:first-child:not(:last-child){margin-right:auto}
.auth-primary{background:#007aff;color:white;border-color:#007aff;box-shadow:0 2px 6px #007aff0c}
.auth-primary:hover{background:#0071ed;border-color:#0071ed;color:#fff}.auth-primary:active:not(:disabled){transform:scale(.99)}
.auth-primary:disabled{background:#e5e5ea;color:#8e8e93;border-color:#dedee3;opacity:1;cursor:not-allowed;box-shadow:none}.auth-primary:disabled>svg:first-child{filter:grayscale(1);opacity:.65}
.auth-demo{margin-top:10px;background:white;border-color:#d9d9df;color:#3a3a3c;box-shadow:0 1px 2px #00000002}.auth-demo:hover{background:#fafafa;border-color:#b8b8be}.auth-demo:disabled{opacity:.6;cursor:wait}
.auth-demo-caption{text-align:center;font-size:10px;color:#929297;margin:10px 0 0;line-height:1.6}
.auth-feedback{color:#b5522a;font-size:11px;line-height:1.7;margin:0;min-height:0}.auth-feedback.visible{margin-top:15px;padding:11px 13px;background:#fff6eb;border:1px solid #f3e4cf;border-radius:9px}
.auth-link-button{appearance:none;border:0;background:transparent;color:#0071e3;padding:9px 0;font-size:11px;cursor:pointer}
.auth-session-note{display:flex;align-items:flex-start;gap:10px;padding-top:24px;margin-top:25px;border-top:1px solid #dedee3b3;color:#86868b}.auth-session-note>svg{width:18px;height:18px;flex-shrink:0;margin-top:1px;color:#8e8e93}.auth-session-note strong{display:block;font-weight:500;font-size:11px;line-height:1.6;color:#6e6e73}.auth-session-note small{display:block;font-size:10px;line-height:1.7;margin-top:4px;color:#929297}
.auth-scene{position:relative;isolation:isolate;min-width:0;min-height:530px;border-radius:32px;border:1px solid #ffffffc9;background:linear-gradient(145deg,#fffafc 0%,#eef3fc 46%,#e9f0fc 100%);overflow:hidden;box-shadow:0 24px 70px #4966950a,inset 0 1px 0 #fff;padding:47px 34px}
.auth-scene-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#b3c0da14 1px,transparent 1px),linear-gradient(90deg,#b3c0da14 1px,transparent 1px);background-size:39px 39px;mask-image:linear-gradient(transparent,#0008 70%,transparent)}
.auth-orbit{position:absolute;z-index:-1;border:1px solid #ffffffd9;border-radius:50%;width:500px;height:500px;left:100px;top:200px;box-shadow:0 0 0 30px #ffffff24,0 0 0 60px #ffffff14}
.auth-orbit-two{left:-280px;top:-300px;width:620px;height:620px;box-shadow:0 0 0 24px #ffffff20}
.auth-scene-label{color:#95a1b7;font-size:8px;letter-spacing:2.8px;font-weight:600;margin-bottom:17px}.auth-scene-title{font-size:27px;line-height:1.45;letter-spacing:-.9px;color:#60718d;font-weight:500}
.auth-scene-window{position:relative;margin:45px -7px 0 7px;background:#ffffffeb;border:1px solid #fff;border-radius:14px;box-shadow:0 17px 48px #6886b121,0 2px 9px #6886b10b;transform:perspective(1100px) rotateY(-7deg) rotateX(3deg) rotateZ(-2deg);overflow:hidden}
.auth-window-bar{display:flex;gap:4px;height:26px;align-items:center;padding:0 11px;border-bottom:1px solid #eceff5;background:#fafbff}
.auth-window-bar i{width:5px;height:5px;border-radius:50%;background:#e3e8f0}.auth-window-bar i:first-child{background:#f3ccc8}.auth-window-bar i:nth-child(2){background:#f5e4b6}.auth-window-bar i:nth-child(3){background:#c3e5d0}.auth-window-bar span{margin-left:auto;margin-right:auto;font-size:6px;color:#a5afc1}
.auth-window-body{display:flex;min-height:211px}.auth-window-side{width:43px;flex-shrink:0;background:#f7f8fc;border-right:1px solid #f0f2f7;padding:18px 9px}.auth-window-side b{display:block;width:23px;height:6px;background:#e5e9f2;border-radius:3px;margin-bottom:13px}.auth-window-side b:nth-child(2){background:#bedaff}
.auth-window-content{padding:17px 17px 13px;width:100%}.auth-window-heading{width:62px;height:7px;background:#adbdd3;border-radius:4px;margin-bottom:13px}.auth-window-cards{display:flex;gap:7px}.auth-window-cards span{height:31px;flex:1;border:1px solid #edf0f6;border-radius:5px;background:linear-gradient(#f8faff,#fff)}.auth-window-cards span:before{content:'';display:block;width:24px;height:5px;background:#dee6f2;border-radius:3px;margin:8px}
.auth-window-chart{height:77px;border-bottom:1px solid #edf0f6;padding-top:8px;margin-top:6px;background:repeating-linear-gradient(0deg,transparent 0,transparent 23px,#f0f2f6 24px)}.auth-window-chart svg{width:100%;height:100%;overflow:visible}.auth-window-rows{margin-top:9px}.auth-window-rows span{display:block;height:5px;background:linear-gradient(90deg,#e9edf5 23%,transparent 23%,transparent 65%,#e9edf5 65%,#e9edf5 73%,transparent 73%,transparent 84%,#e9edf5 84%);margin-bottom:8px;border-radius:3px}
.auth-scene-footer{color:#9ba8bd;font-size:10px;margin:30px 0 0;letter-spacing:.8px}.auth-page-footer{display:flex;justify-content:space-between;font-size:10px;color:#a1a1a6;gap:20px;line-height:1.7}
.auth-spinner{width:13px;height:13px;border:1.5px solid #b4c8e0;border-right-color:#007aff;border-radius:50%;animation:auth-spin 800ms linear infinite}
@keyframes auth-spin{to{transform:rotate(360deg)}}
.auth-lock-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:24px;background:#f5f5f78c;backdrop-filter:blur(14px) saturate(90%);-webkit-backdrop-filter:blur(14px) saturate(90%)}
.auth-expiry-card{background:#ffffffed;border:1px solid #fff;border-radius:25px;box-shadow:0 20px 80px #1d1d1f17;max-width:420px;width:100%;padding:36px;text-align:center}.auth-expiry-card .auth-symbol{margin:0 auto 24px}.auth-expiry-card .auth-eyebrow{font-size:8px;letter-spacing:1.6px}.auth-expiry-card h2{font-size:25px;letter-spacing:-.8px;margin:0;font-weight:600}.auth-expiry-card p{font-size:12px;line-height:1.95;color:#6e6e73;margin:15px 0 26px}.auth-expiry-card .auth-button{justify-content:space-between}.auth-expiry-card small{display:block;color:#929297;font-size:10px;line-height:1.7;margin-top:16px}
.auth-profile-trigger{border:1px solid #dce6f6;cursor:pointer;flex-shrink:0}.auth-profile-trigger:hover{background:#d7e5fa!important}
.auth-profile-layer{position:fixed;inset:0;z-index:11000}.auth-profile-backdrop{position:absolute;inset:0;background:#1d1d1f12;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.auth-profile-card{position:absolute;right:28px;top:66px;width:340px;max-width:calc(100vw - 32px);background:#fffffff2;border:1px solid #fff;border-radius:22px;box-shadow:0 18px 70px #1d1d1f24;padding:29px 25px 23px;text-align:center;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.auth-profile-close{position:absolute;right:11px;top:9px;border:0;width:27px;height:27px;border-radius:50%;font-size:20px;line-height:24px;color:#929297;background:transparent;cursor:pointer}.auth-profile-close:hover{background:#ededf2}.auth-profile-avatar{width:50px;height:50px;display:grid;place-items:center;background:#e4edfc;color:#4970aa;border-radius:50%;margin:0 auto 13px;font-size:19px;font-weight:500}.auth-profile-card h2{font-size:19px;margin:0 0 9px;letter-spacing:-.4px;font-weight:600;overflow-wrap:anywhere}.auth-identity-badge{background:#edf3fe;color:#567db3;padding:4px 8px;border-radius:6px;font-size:10px}.auth-profile-session{display:flex;align-items:center;gap:11px;text-align:left;padding:17px 0 13px;margin:22px 0 0;border-top:1px solid #e5e5ea}.auth-profile-session>svg{width:19px;height:19px;color:#8e8e93;flex-shrink:0}.auth-profile-session strong{font-size:11px;font-weight:500;color:#515154;display:block}.auth-profile-session small{font-size:10px;color:#86868b;display:block;margin-top:5px;line-height:1.6}.auth-profile-card>p{font-size:10px;color:#929297;text-align:left;margin:0 0 19px 30px;line-height:1.7}.auth-logout{background:#fff;border-color:#eadbda;color:#c84b48;min-height:39px;font-size:12px}.auth-logout:hover{background:#fff5f4;border-color:#dfbfbc}.auth-profile-feedback{font-size:11px;line-height:1.7;color:#b5522a;text-align:left}.auth-profile-feedback:not(:empty){padding:10px 12px;border:1px solid #f3e4cf;background:#fff6eb;border-radius:8px;margin-bottom:14px}.auth-logout-confirm[hidden]{display:none!important}.auth-logout-confirm>p{font-size:11px;color:#6e6e73;line-height:1.8;margin:0 0 15px}.auth-logout-confirm>div{display:flex;gap:9px}.auth-quiet{background:#f5f5f7;border-color:#e5e5ea;color:#515154;min-height:39px;font-size:12px}
.auth-network-banner{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:12000;display:flex;align-items:center;gap:16px;max-width:calc(100vw - 32px);background:#fff9edf5;border:1px solid #ecdcc5;color:#8b6c3c;border-radius:12px;box-shadow:0 6px 22px #00000010;padding:13px 17px;font-size:11px;line-height:1.7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.auth-network-banner button{border:0;background:transparent;color:#0071e3;font-size:11px;white-space:nowrap;cursor:pointer}.auth-network-banner span{min-width:0}
@media(min-width:1500px){.auth-login-layout{gap:120px;max-width:1080px}.auth-scene{min-height:570px;padding-top:56px}.auth-scene-window{margin-top:55px}.auth-login-card h1{font-size:47px}}
@media(max-width:1100px){.auth-login-layout{gap:45px;grid-template-columns:minmax(300px,390px) minmax(310px,440px);padding:50px 0 60px}.auth-scene{min-height:500px;padding:39px 27px}.auth-login-card h1{font-size:39px}.auth-scene-title{font-size:25px}}
@media(max-width:800px){.auth-page{padding:25px 6% 20px}.auth-login-layout{grid-template-columns:minmax(0,410px);justify-content:center;padding:48px 0 64px;gap:0}.auth-scene{display:none}.auth-login-card{padding:0}.auth-login-card h1{font-size:40px}.auth-symbol{margin-bottom:24px}.auth-brand{font-size:18px}.auth-brand-mark{width:31px;height:31px;border-radius:10px}.auth-brand-mark svg{width:25px;height:25px}.auth-provider-block{margin-top:29px}.auth-provider-description{min-height:0}.auth-profile-card{top:60px;right:16px}.auth-page-footer{font-size:9px}}
@media(max-width:420px){.auth-page{padding:23px 23px 18px}.auth-login-layout{padding:42px 0 48px}.auth-login-card h1{font-size:36px;letter-spacing:-1.4px}.auth-intro{font-size:12px;margin-top:18px}.auth-session-note{margin-top:23px;padding-top:21px}.auth-provider-description{font-size:11px}.auth-expiry-card{padding:30px 24px}.auth-expiry-card h2{font-size:23px}.auth-network-banner{bottom:16px;padding:12px 14px;gap:10px}}
@media(prefers-reduced-motion:reduce){.auth-button,.auth-spinner{animation:none;transition:none}.auth-button:active:not(:disabled){transform:none}}
@media(prefers-contrast:more){.auth-provider-description,.auth-page-footer,.auth-demo-caption,.auth-session-note small,.auth-profile-session small{color:#626268}.auth-button:disabled{color:#626268;border-color:#bdbdc5}.auth-login-card h1 span{color:#626268}}
.auth-complete-page{min-height:100svh;display:grid;place-items:center;background:radial-gradient(ellipse at 60% 25%,#edf3ff 0,transparent 55%),#f5f5f7;padding:28px}.auth-complete-card{width:100%;max-width:390px;text-align:center;padding:36px 29px;background:#ffffffc9;border:1px solid #fff;border-radius:24px;box-shadow:0 16px 60px #2b477d0b}.auth-complete-card .auth-symbol{margin:0 auto 25px}.auth-complete-card h1{font-size:28px;font-weight:600;letter-spacing:-.7px;margin:0}.auth-complete-card>p:not(.auth-eyebrow){font-size:12px;color:#6e6e73;line-height:1.9;margin:18px 0 27px}.auth-complete-card .auth-primary{justify-content:space-between}.auth-complete-card>.auth-link-button{padding:15px 10px 0}

#auth-root .auth-button[hidden],.auth-profile-layer .auth-button[hidden]{display:none!important}
