:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-primary:#3b71e8;--color-primary-action:#295dcc;--color-primary-hover:#214ead;--color-primary-light:#eef3ff;--color-primary-ring:#3b71e833;--color-bg-page:#f4f6f8;--color-bg-surface:#fff;--color-bg-surface-hover:#fafbfc;--color-bg-banner:linear-gradient(135deg, #3b71e8 0%, #2551b3 100%);--color-border:#e4e7ed;--color-border-strong:#c0c4cc;--color-text-primary:#1c1f23;--color-text-secondary:#5c6370;--color-text-placeholder:#6f7783;--color-text-disabled:#c0c4cc;--color-text-inverse:#fff;--color-success:#087a55;--color-success-bg:#ecfdf5;--color-warning:#935500;--color-warning-bg:#fff7ed;--color-danger:#d9363e;--color-danger-bg:#fef2f2;--color-danger-border:#fca5a5;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;--font-family-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-12:12px;--font-size-13:13px;--font-size-14:14px;--font-size-15:15px;--font-size-16:16px;--font-size-18:18px;--font-size-20:20px;--font-size-24:24px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-pill:9999px;--shadow-sm:0 2px 8px #1c1f230a;--shadow-md:0 8px 24px #1c1f230f;--shadow-lg:0 16px 32px #1c1f2314;--shadow-hover:0 12px 28px #3b71e81f;--transition-fast:.18s cubic-bezier(.22, 1, .36, 1);--transition-smooth:.22s cubic-bezier(.22, 1, .36, 1);--header-height:64px;--content-max-width:1440px;--identity-sidebar-width:320px}*,:before,:after{box-sizing:border-box}html{background:var(--color-bg-page);min-width:320px}html.is-scroll-locked,html.is-scroll-locked body{overflow:hidden}body{color:var(--color-text-primary);background:var(--color-bg-page);font-family:var(--font-family);font-size:var(--font-size-14);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}svg{display:block}[hidden],.is-hidden{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.surface-card{background:var(--color-bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid #1c1f2308;overflow:hidden}.card-header{min-height:68px;padding:var(--space-6) var(--space-6) var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.card-title{font-size:var(--font-size-18);margin:0;font-weight:600;line-height:28px}.card-body{padding:0 var(--space-6) var(--space-6)}.button{min-height:40px;padding:0 var(--space-5);border-radius:var(--radius-pill);font-size:var(--font-size-14);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-weight:500;line-height:20px;display:inline-flex}.button:focus-visible,.icon-button:focus-visible,.portal-user__profile-trigger:focus-visible,.app-entry:focus-visible,.featured-banner:focus-visible,.profile-drawer__panel:focus-visible,.organization-modal__panel:focus-visible,.organization-option:focus-within{outline:2px solid var(--color-primary-action);outline-offset:3px}.button:disabled{cursor:not-allowed;opacity:.62}.button--primary{color:var(--color-text-inverse);background:var(--color-primary-action);box-shadow:0 4px 12px #295dcc38}.button--primary:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:0 6px 16px #295dcc47}.button--primary:active:not(:disabled){transform:translateY(0)}.button--outline{color:var(--color-text-primary);background:var(--color-bg-surface);border-color:var(--color-border)}.button--outline:hover:not(:disabled){color:var(--color-primary-action);background:var(--color-primary-light);border-color:var(--color-primary-action)}.button--text{padding-inline:var(--space-3);color:var(--color-text-secondary);background:0 0}.button--text:hover:not(:disabled){color:var(--color-primary-action);background:var(--color-primary-light)}.button--block{width:100%}.button__spinner{border:2px solid #ffffff73;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}.button__spinner--muted{border-color:currentColor #4b515b40 #4b515b40;width:14px;height:14px}.form-field{gap:var(--space-2);display:grid}.form-label{font-size:var(--font-size-14);font-weight:500;line-height:22px}.text-input{width:100%;height:44px;padding:0 var(--space-4);color:var(--color-text-primary);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);outline:none}.text-input::placeholder{color:var(--color-text-placeholder)}.text-input:hover{border-color:var(--color-border-strong)}.text-input:focus{border-color:var(--color-primary-action);box-shadow:0 0 0 3px var(--color-primary-light)}.text-input[aria-invalid=true]{background:var(--color-danger-bg);border-color:var(--color-danger)}.input-with-action{position:relative}.input-with-action .text-input{padding-right:52px}.input-action-button{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--color-text-placeholder);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:4px;right:4px}.input-action-button:hover:not(:disabled){color:var(--color-primary-action);background:var(--color-primary-light)}.input-action-button:focus-visible{outline:2px solid var(--color-primary-action);outline-offset:1px}.input-action-button:disabled{cursor:not-allowed;opacity:.62}.field-message{margin:var(--space-1) 0 0;color:var(--color-danger);font-size:var(--font-size-12);line-height:18px}.field-message:empty,.field-hint:empty{display:none}.field-hint{margin:var(--space-1) 0 0;color:var(--color-warning);font-size:var(--font-size-12);line-height:18px}.alert{padding:var(--space-3) var(--space-4);align-items:flex-start;gap:var(--space-2);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);color:var(--color-danger);background:var(--color-danger-bg);font-size:var(--font-size-14);line-height:22px;display:flex}.alert--warning{color:var(--color-warning);background:var(--color-warning-bg);border-color:#b96c083d}.tag{min-height:24px;padding:2px var(--space-3);justify-content:center;align-items:center;gap:var(--space-1);border-radius:var(--radius-pill);color:var(--color-primary-action);background:var(--color-primary-light);font-size:var(--font-size-12);white-space:nowrap;font-weight:500;line-height:18px;display:inline-flex}.tag--neutral{color:var(--color-text-secondary);background:var(--color-bg-page)}.tag--success{color:var(--color-success);background:var(--color-success-bg)}.tag--banner{color:var(--color-text-inverse);background:#fff3;border:1px solid #ffffff57}.icon-button{width:40px;height:40px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.user-avatar{width:36px;height:36px;color:var(--color-primary-action);background:var(--color-primary-light);font-size:var(--font-size-14);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.profile-grid{gap:var(--space-5) var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.profile-field{align-content:start;gap:6px;min-width:0;display:grid}.profile-grid--drawer{gap:var(--space-6) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.profile-field dt{color:var(--color-text-secondary);font-size:var(--font-size-13);line-height:20px}.profile-field dd{align-items:center;gap:var(--space-2);min-height:24px;color:var(--color-text-primary);font-size:var(--font-size-15);overflow-wrap:anywhere;flex-wrap:wrap;margin:0;line-height:24px;display:flex}.profile-field--name dd{font-size:var(--font-size-16);font-weight:600}.profile-account{padding:2px var(--space-2);background:var(--color-bg-page);font-family:var(--font-family-mono);font-size:var(--font-size-13);border-radius:4px}.missing-value{color:var(--color-text-placeholder)}.profile-details-trigger svg{transition:transform .18s cubic-bezier(.22,1,.36,1)}.profile-details-trigger.button--outline{color:var(--color-primary-action);background:var(--color-primary-light);border-color:#0000;box-shadow:inset 0 0 0 1px #0000}.profile-details-trigger.button--outline:hover:not(:disabled){color:var(--color-primary-hover);background:var(--color-primary-light);box-shadow:inset 0 0 0 1px var(--color-primary-ring);border-color:#0000}.profile-details-trigger:hover svg{transform:translate(2px)}.apps-section__heading{align-items:baseline;gap:var(--space-3);display:flex}.apps-section__count{color:var(--color-text-placeholder);font-size:var(--font-size-12);line-height:18px}.apps-toolbar{margin-bottom:var(--space-6);align-items:center;gap:var(--space-4);display:flex}.app-search{flex:1;width:min(100%,520px);position:relative}.app-search__icon{top:50%;left:var(--space-4);color:var(--color-text-placeholder);pointer-events:none;position:absolute;transform:translateY(-50%)}.app-search__input{border:1px solid var(--color-border);border-radius:var(--radius-pill);width:100%;height:42px;color:var(--color-text-primary);background:var(--color-bg-page);appearance:none;outline:none;padding:0 44px;transition:border-color .18s cubic-bezier(.22,1,.36,1),box-shadow .18s cubic-bezier(.22,1,.36,1),background-color .18s cubic-bezier(.22,1,.36,1)}.app-search__input::-webkit-search-cancel-button{display:none}.app-search__input:focus{border-color:var(--color-primary-action);background:var(--color-bg-surface);box-shadow:0 0 0 3px var(--color-primary-light)}.app-search:focus-within .app-search__icon{color:var(--color-primary-action)}@media (hover:hover){.app-search:hover .app-search__input:not(:focus){border-color:var(--color-border-strong);background:var(--color-bg-surface);box-shadow:var(--shadow-sm)}}.app-search__clear{width:30px;height:30px;color:var(--color-text-secondary);position:absolute;top:6px;right:7px}.app-search__clear:hover{color:var(--color-text-primary);background:var(--color-border)}.app-search__shortcut{border:1px solid var(--color-border);border-bottom:2px solid var(--color-border-strong);min-width:24px;height:24px;color:var(--color-text-placeholder);background:var(--color-bg-surface);font-family:var(--font-family-mono);font-size:var(--font-size-12);border-radius:6px;justify-content:center;align-items:center;line-height:20px;display:inline-flex;position:absolute;top:9px;right:10px;box-shadow:0 1px 1px #1c1f230d}.apps-toolbar__result{color:var(--color-text-placeholder);font-size:var(--font-size-12);white-space:nowrap;line-height:18px}.app-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.app-entry{min-width:0;min-height:116px;padding:var(--space-6);align-items:flex-start;gap:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);cursor:pointer;transition:border-color .18s cubic-bezier(.22,1,.36,1),box-shadow .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:visible}.app-entry:hover{background:var(--color-bg-surface-hover);box-shadow:var(--shadow-hover);border-color:#cbd8f8;transform:translateY(-1px)}.app-entry:active{transform:translateY(0)scale(.99)}.app-entry__icon{width:52px;height:52px;color:var(--app-accent,var(--color-primary-action));background:var(--app-accent-bg,var(--color-primary-light));transition:transform var(--transition-fast), background-color var(--transition-fast);border-radius:14px;flex:none;justify-content:center;align-items:center;display:inline-flex}.app-entry__content{flex:1;min-width:0}.app-entry__title-row{min-width:0;padding-right:var(--space-5);align-items:center;gap:var(--space-2);display:flex}.app-entry__title-row .tag{min-height:22px;padding-inline:var(--space-2)}.app-entry__title{min-width:0;color:var(--color-text-primary);font-size:var(--font-size-16);text-overflow:ellipsis;white-space:nowrap;margin:0 0 6px;font-weight:600;line-height:24px;overflow:hidden}.app-entry__description{color:var(--color-text-secondary);font-size:var(--font-size-13);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:20px;display:-webkit-box;overflow:hidden}.app-entry__external{top:var(--space-4);right:var(--space-4);color:var(--color-text-placeholder);opacity:.58;transition:color var(--transition-fast), opacity var(--transition-fast);position:absolute}.app-entry:hover .app-entry__external,.app-entry:focus-visible .app-entry__external{color:var(--color-primary-action);opacity:1}.app-entry:focus-visible .app-entry__external,.app-entry:focus-visible .app-entry__icon{transition-duration:0s}@media (hover:none) and (pointer:coarse){.app-entry__external{opacity:.58}.app-entry:active{background:var(--color-bg-surface-hover);border-color:#cbd8f8}.app-entry:active .app-entry__external{opacity:1}}.featured-banner{width:100%;min-height:140px;padding:var(--space-6) var(--space-8);align-items:center;gap:var(--space-6);border-radius:var(--radius-lg);color:var(--color-text-inverse);background:var(--color-bg-banner);cursor:pointer;transition:box-shadow .2s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.22,1,.36,1);display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #3b71e833}.featured-banner:before{content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#ffffff29,#0000 50%),radial-gradient(circle at 80% 120%,#ffffff1c,#0000 42%);position:absolute;inset:0}.featured-banner:hover{transform:translateY(-2px);box-shadow:0 16px 40px #3b71e84d}.featured-banner:active{transform:translateY(0)scale(.995)}.featured-banner__icon,.featured-banner__content,.featured-banner__external{z-index:1;position:relative}.featured-banner__icon{width:64px;height:64px;color:var(--color-text-inverse);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff2e;border:1px solid #ffffff57;border-radius:16px;flex:none;justify-content:center;align-items:center;display:inline-flex}.featured-banner__content{flex:1;min-width:0}.featured-banner__title-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:6px;display:flex}.featured-banner__title{font-size:var(--font-size-20);margin:0;font-weight:600;line-height:30px}.featured-banner__description{color:#fffffff0;max-width:100%;font-size:var(--font-size-14);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-weight:500;line-height:22px;display:-webkit-box;overflow:hidden}.featured-banner__external{min-width:112px;height:40px;padding:0 var(--space-4);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);color:var(--color-text-inverse);font-size:var(--font-size-13);transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);background:#ffffff26;border:1px solid #ffffff4d;flex:none;font-weight:600;display:inline-flex}.featured-banner:hover .featured-banner__external{color:var(--color-primary-action);background:var(--color-bg-surface);border-color:var(--color-bg-surface)}.featured-banner:focus-visible .featured-banner__external{transition-duration:0s}.profile-drawer{z-index:80;justify-content:flex-end;display:flex;position:fixed;inset:0}.profile-drawer__backdrop{opacity:1;background:#141b286b;transition:opacity .18s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}.profile-drawer__panel{z-index:1;background:var(--color-bg-surface);opacity:1;filter:blur();outline:none;width:min(440px,100vw - 24px);height:100%;transition:transform .22s cubic-bezier(.22,1,.36,1),opacity .18s cubic-bezier(.22,1,.36,1),filter .18s cubic-bezier(.22,1,.36,1);position:relative;overflow-y:auto;transform:translate(0);box-shadow:-16px 0 40px #1c1f2329}.profile-drawer__header{min-height:96px;padding:var(--space-6);justify-content:space-between;align-items:flex-start;gap:var(--space-4);z-index:2;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;display:flex;position:sticky;top:0}.profile-drawer__grabber{display:none}.profile-drawer__eyebrow{margin:0 0 var(--space-1);color:var(--color-primary-action);font-size:var(--font-size-12);font-weight:600;line-height:18px}.profile-drawer__title{font-size:var(--font-size-20);margin:0;line-height:30px}.profile-drawer__close{color:var(--color-text-secondary);background:var(--color-bg-page);transition:color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);flex:none}.profile-drawer__close:hover{color:var(--color-text-primary);background:var(--color-border)}.profile-drawer__close:active{transform:scale(.97)}.profile-drawer__body{padding:var(--space-6)}.profile-drawer__description{margin:0 0 var(--space-8);padding:var(--space-4);border-radius:var(--radius-sm);color:var(--color-text-secondary);background:var(--color-bg-page);font-size:var(--font-size-13);line-height:21px}.profile-drawer-enter-from .profile-drawer__backdrop,.profile-drawer-leave-to .profile-drawer__backdrop{opacity:0}.profile-drawer-enter-from .profile-drawer__panel{opacity:0;filter:blur(2px);transform:translate(24px)}.profile-drawer-leave-active .profile-drawer__panel{transition-duration:.16s}.profile-drawer-leave-to .profile-drawer__panel{opacity:0;filter:blur(2px);transform:translate(12px)}.profile-drawer.is-static:not(.is-open) .profile-drawer__backdrop{opacity:0}.profile-drawer.is-static:not(.is-open) .profile-drawer__panel{opacity:0;filter:blur(2px);transform:translate(24px)}.profile-drawer.is-instant *,.profile-drawer.is-instant :before,.profile-drawer.is-instant :after{transition-duration:0s!important}@media (width<=640px){.apps-toolbar{align-items:stretch;gap:var(--space-1);flex-direction:column}.app-search{width:100%}.app-search__shortcut{display:none}.apps-toolbar__result{padding-left:44px}.featured-banner__external{width:36px;min-width:36px;height:36px;padding:0}.featured-banner__action-label{display:none}.featured-banner__title{font-size:var(--font-size-16);line-height:24px}.featured-banner__description{font-size:var(--font-size-13);line-height:20px}.profile-drawer{align-items:flex-end}.profile-drawer__panel{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;height:auto;max-height:88vh;transform:translateY(0);box-shadow:0 -16px 40px #1c1f2329}.profile-drawer__panel.is-dragging{filter:none;-webkit-user-select:none;user-select:none}.profile-drawer__header{padding-top:var(--space-8)}.profile-drawer__grabber{width:48px;height:24px;top:var(--space-1);cursor:grab;touch-action:none;display:block;position:absolute;left:50%;transform:translate(-50%)}.profile-drawer__grabber:before{content:"";border-radius:var(--radius-pill);background:var(--color-border-strong);width:36px;height:4px;position:absolute;top:8px;left:6px}.profile-drawer__grabber:active{cursor:grabbing}.profile-drawer-enter-from .profile-drawer__panel,.profile-drawer.is-static:not(.is-open) .profile-drawer__panel{transform:translateY(24px)}.profile-drawer-leave-to .profile-drawer__panel{transform:translateY(12px)}}.state-panel{min-height:280px;padding:var(--space-16) var(--space-6);text-align:center;border-radius:var(--radius-lg);background:var(--color-bg-surface-hover);flex-direction:column;justify-content:center;align-items:center;display:flex}.state-panel__icon{width:72px;height:72px;margin-bottom:var(--space-5);color:var(--color-text-placeholder);background:var(--color-bg-page);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.state-panel--error .state-panel__icon{color:var(--color-danger);background:var(--color-danger-bg)}.state-panel__title{margin:0 0 var(--space-2);font-size:var(--font-size-16);font-weight:600;line-height:24px}.state-panel__description{max-width:360px;margin:0 0 var(--space-6);color:var(--color-text-secondary);font-size:var(--font-size-14);line-height:22px}.skeleton{background:var(--color-border);border-radius:6px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffff94,#0000);animation:2s linear infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton--line{width:100%;height:14px}.skeleton--line-short{width:55%}.skeleton--icon{border-radius:14px;flex:none;width:52px;height:52px}.app-entry--skeleton{pointer-events:none}.app-entry--skeleton .app-entry__content{align-content:center;gap:var(--space-2);display:grid}.toast-region{width:min(100% - 32px,520px);top:var(--space-6);z-index:100;gap:var(--space-3);pointer-events:none;display:grid;position:fixed;left:50%;transform:translate(-50%)}.toast{padding:var(--space-3) var(--space-6);align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);color:var(--color-text-inverse);font-size:var(--font-size-14);opacity:0;transition:opacity var(--transition-smooth), transform var(--transition-smooth);background:#2c3036;margin:0 auto;font-weight:500;display:flex;transform:translateY(-16px)scale(.96);box-shadow:0 8px 16px #00000026}.toast.is-visible{opacity:1;transform:translateY(0)scale(1)}.toast--error{background:var(--color-danger)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-shell{min-height:100vh}.page-view{min-height:100vh;animation:.22s cubic-bezier(.22,1,.36,1) backwards page-enter}@keyframes page-enter{0%{opacity:0;filter:blur(2px);transform:translateY(4px)}to{opacity:1;filter:blur();transform:translateY(0)}}.login-page{padding:var(--space-6);background:radial-gradient(circle at 92% 4%,#eef3ff 0%,#0000 38%),radial-gradient(circle at 8% 100%,#e8ebef 0%,#f4f6f8 48%);place-items:center;display:grid}.login-card{width:min(100%,440px);padding:var(--space-12);border-radius:var(--radius-lg);background:var(--color-bg-surface);box-shadow:var(--shadow-lg);border:1px solid #ffffff94}.login-brand{margin-bottom:var(--space-8);text-align:center}.login-logo{width:56px;height:56px;margin:0 auto var(--space-6);color:var(--color-primary-action);background:var(--color-primary-light);border-radius:16px;place-items:center;display:grid}.login-title{font-size:var(--font-size-24);margin:0;font-weight:700;line-height:34px}.login-subtitle{margin:var(--space-2) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-14);line-height:22px}.login-form{gap:var(--space-6);display:grid}.login-form .form-field{gap:0}.login-form .form-label{margin-bottom:var(--space-2)}.login-form .alert{margin-bottom:var(--space-1)}.login-security-note{margin:var(--space-6) 0 0;color:var(--color-text-placeholder);font-size:var(--font-size-12);justify-content:center;align-items:center;gap:6px;line-height:18px;display:flex}.portal-page{background:var(--color-bg-page)}.portal-header{min-height:var(--header-height);padding:0 var(--space-8);justify-content:space-between;align-items:center;gap:var(--space-6);z-index:20;border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffdb;display:flex;position:sticky;top:0}.portal-brand{align-items:center;gap:var(--space-3);min-width:0;display:flex}.portal-logo{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-inverse);background:var(--color-primary);flex:none;place-items:center;display:grid}.portal-brand__title{font-size:var(--font-size-18);text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:28px;overflow:hidden}.portal-user{align-items:center;gap:var(--space-4);display:flex}.portal-user__profile-trigger{min-height:44px;padding:4px 4px 4px var(--space-3);align-items:center;gap:var(--space-3);border-radius:var(--radius-pill);color:inherit;cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:0;display:inline-flex}.portal-user__profile-trigger:hover:not(:disabled){background:var(--color-primary-light)}.portal-user__profile-trigger:hover:not(:disabled) .portal-user__name{color:var(--color-primary-action)}.portal-user__profile-trigger:disabled{cursor:default;opacity:.62}.portal-user__name{color:var(--color-text-secondary);font-size:var(--font-size-13);transition:color var(--transition-fast)}.portal-user__divider{background:var(--color-border);width:1px;height:20px}.portal-logout{min-width:84px}.portal-main{width:100%;max-width:var(--content-max-width);padding:var(--space-8);grid-template-columns:minmax(0, 1fr) var(--identity-sidebar-width);align-items:start;gap:var(--space-6);margin:0 auto;display:grid}.portal-content{gap:var(--space-6);grid-area:1/1;min-width:0;display:grid}.portal-top-row{display:contents}.banner-region{flex-direction:column;min-width:0;display:flex}.identity-card{min-width:0;top:calc(var(--header-height) + var(--space-8));grid-area:1/2;position:sticky}.portal-top-row>.banner-region{grid-area:1/1}.portal-top-row>.identity-card{grid-row:1/span 2}.portal-main>.apps-section{grid-area:2/1}.identity-card__eyebrow{margin:0 0 var(--space-1);color:var(--color-text-secondary);font-size:var(--font-size-12);font-weight:500;line-height:18px}.identity-card__header{align-items:flex-start}.identity-card__body{gap:var(--space-6);display:grid}.identity-card .profile-grid{gap:var(--space-4);grid-template-columns:1fr}.identity-card__footer{padding-top:var(--space-5);gap:var(--space-3);border-top:1px solid var(--color-border);display:grid}.identity-card__sync-note{color:var(--color-text-placeholder);font-size:var(--font-size-12);text-align:center;margin:0;line-height:18px}.identity-card .state-panel{min-height:320px;padding:var(--space-8) var(--space-3)}.identity-card .state-panel__icon{width:56px;height:56px;margin-bottom:var(--space-4)}.identity-skeleton{gap:var(--space-4);grid-template-columns:1fr;display:grid}.identity-skeleton__item{gap:var(--space-2);display:grid}.banner-skeleton{min-height:140px;padding:var(--space-6) var(--space-8);align-items:center;gap:var(--space-6);border:1px dashed var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-surface);display:flex}.banner-skeleton__content{gap:var(--space-3);width:min(72%,620px);display:grid}.apps-section{min-height:480px;overflow:visible}.apps-section__body{min-height:394px;padding-top:var(--space-2)}.apps-section__status{align-items:center;gap:6px;display:flex}.session-check{min-height:100vh;color:var(--color-text-secondary);background:var(--color-bg-page);place-items:center;display:grid}.session-check__content{justify-items:center;gap:var(--space-4);display:grid}.session-check__spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary-action);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}.organization-modal{z-index:100;padding:var(--space-6);place-items:center;display:grid;position:fixed;inset:0}.organization-modal__backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#141c2b8a;position:absolute;inset:0}.organization-modal__panel{border-radius:var(--radius-lg);background:var(--color-bg-surface);border:1px solid #ffffffc2;grid-template-rows:auto minmax(0,1fr);width:min(100%,620px);max-height:min(760px,100vh - 48px);display:grid;position:relative;overflow:hidden;box-shadow:0 28px 80px #141c2b3d}.organization-modal__header{padding:var(--space-8) var(--space-8) var(--space-6);align-items:start;gap:var(--space-4);border-bottom:1px solid var(--color-border);background:linear-gradient(#f7f9ff 0%,#fff 100%);grid-template-columns:auto minmax(0,1fr);display:grid}.organization-modal__mark{width:48px;height:48px;color:var(--color-primary-action);background:var(--color-primary-light);border-radius:15px;place-items:center;display:grid}.organization-modal__eyebrow{margin:0 0 var(--space-1);color:var(--color-primary-action);font-size:var(--font-size-12);letter-spacing:.04em;font-weight:600}.organization-modal__title{font-size:var(--font-size-20);margin:0;line-height:30px}.organization-modal__description{margin:var(--space-2) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-14);line-height:22px}.organization-modal__form{min-height:0;padding:var(--space-6) var(--space-8) var(--space-8);gap:var(--space-5);grid-template-rows:minmax(0,1fr) auto auto;display:grid}.organization-list{align-content:start;gap:var(--space-3);scrollbar-gutter:stable;min-height:0;max-height:390px;padding:3px;display:grid;overflow-y:auto}.organization-option{min-height:82px;padding:var(--space-4);align-items:center;gap:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);grid-template-columns:auto auto minmax(0,1fr) auto;display:grid}.organization-option:hover:not(.organization-option--disabled){background:var(--color-bg-surface-hover);border-color:#295dcc6b;transform:translateY(-1px)}.organization-option--selected{border-color:var(--color-primary-action);background:var(--color-primary-light);box-shadow:0 0 0 3px var(--color-primary-ring)}.organization-option--disabled{cursor:not-allowed;opacity:.58}.organization-option__radio{width:18px;height:18px;accent-color:var(--color-primary-action);margin:0}.organization-option__icon{border-radius:var(--radius-md);width:42px;height:42px;color:var(--color-primary-action);font-size:var(--font-size-16);background:#fff;border:1px solid #295dcc24;place-items:center;font-weight:700;display:grid}.organization-option__content{gap:var(--space-1);min-width:0;display:grid}.organization-option__name-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.organization-option__name-row strong{font-size:var(--font-size-15);text-overflow:ellipsis;white-space:nowrap;line-height:24px;overflow:hidden}.organization-option__meta{color:var(--color-text-secondary);font-size:var(--font-size-12);flex-wrap:wrap;align-items:center;gap:0;line-height:18px;display:flex}.organization-option__meta span+span:before{content:"·";color:var(--color-border-strong);margin:0 6px}.organization-option__check{color:var(--color-primary-action);opacity:0;transition:opacity var(--transition-fast), transform var(--transition-fast);transform:scale(.8)}.organization-option--selected .organization-option__check{opacity:1;transform:scale(1)}.organization-modal__alert{margin:0}.organization-modal__footer{justify-content:flex-end;align-items:center;gap:var(--space-3);display:flex}.organization-modal__footer .button--primary{min-width:148px}.organization-modal-enter-active,.organization-modal-leave-active{transition:opacity var(--transition-smooth)}.organization-modal-enter-active .organization-modal__panel,.organization-modal-leave-active .organization-modal__panel{transition:opacity var(--transition-smooth), transform var(--transition-smooth)}.organization-modal-enter-from,.organization-modal-leave-to{opacity:0}.organization-modal-enter-from .organization-modal__panel,.organization-modal-leave-to .organization-modal__panel{opacity:0;transform:translateY(10px)scale(.985)}@media (width<=1024px){.portal-main{padding:var(--space-6);grid-template-columns:1fr}.portal-content{grid-area:1/1}.portal-main>.identity-card{grid-area:2/1;position:static}.portal-top-row>.banner-region{grid-area:1/1}.portal-main>.apps-section{grid-area:2/1}.portal-top-row>.identity-card{grid-area:3/1;position:static}}@media (width<=640px){.login-page{padding:var(--space-4)}.login-card{padding:var(--space-8) var(--space-6)}.organization-modal{padding:var(--space-3);align-items:end}.organization-modal__panel{border-radius:var(--radius-lg) var(--radius-lg) var(--radius-md) var(--radius-md);max-height:calc(100vh - 24px)}.organization-modal__header{padding:var(--space-6) var(--space-5) var(--space-5)}.organization-modal__mark{width:42px;height:42px}.organization-modal__form{padding:var(--space-5)}.organization-option{min-height:76px;padding:var(--space-3);grid-template-columns:auto minmax(0,1fr) auto}.organization-option__radio{opacity:0;pointer-events:none;position:absolute}.organization-option__icon{width:38px;height:38px}.organization-modal__footer{grid-template-columns:1fr 1.35fr;display:grid}.organization-modal__footer .button{width:100%;padding-inline:var(--space-3)}.portal-header{padding:0 var(--space-4)}.portal-brand__title{font-size:var(--font-size-16)}.portal-user{gap:var(--space-2)}.portal-user__profile-trigger{width:44px;height:44px;padding:4px}.portal-user__name,.portal-user__divider{display:none}.portal-main{padding:var(--space-4)}.featured-banner{min-height:116px;padding:var(--space-4);gap:var(--space-3)}.featured-banner__icon,.featured-banner__icon-placeholder{border-radius:var(--radius-md);width:44px;height:44px}.featured-banner__content{margin-left:0}.banner-skeleton{min-height:116px;padding:var(--space-4)}.app-grid{gap:var(--space-4);grid-template-columns:1fr}.app-entry{min-height:108px;padding:var(--space-5)}.card-header{flex-direction:column;align-items:flex-start}.identity-card__header{flex-direction:row}.apps-section__status{align-self:flex-start}}@media (prefers-reduced-motion:reduce){.organization-modal-enter-active,.organization-modal-leave-active,.organization-modal-enter-active .organization-modal__panel,.organization-modal-leave-active .organization-modal__panel{transition-duration:1ms}.organization-option{transform:none!important}}.passport-login-page{--passport-canvas:#f5f5f7;--passport-surface:#fff;--passport-border:#e8e8ec;--passport-border-strong:#d2d5dc;--passport-primary:#2563eb;--passport-primary-hover:#1d4ed8;--passport-primary-active:#1e40af;--passport-primary-soft:#eff6ff;--passport-primary-ring:#2563eb29;--passport-text-main:#111827;--passport-text-body:#374151;--passport-text-muted:#6b7280;--passport-text-light:#9ca3af;--passport-danger:#ef4444;--passport-danger-soft:#fef2f2;--passport-warning:#f59e0b;--passport-warning-soft:#fffbeb;--passport-control-radius:10px;--passport-card-radius:20px;--passport-control-height:44px;--passport-motion:.16s cubic-bezier(.4, 0, .2, 1);min-height:100vh;color:var(--passport-text-main);background:var(--passport-surface);grid-template-columns:minmax(400px,.88fr) minmax(520px,1.12fr);place-items:stretch stretch;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,PingFang SC,Arial,sans-serif;display:grid}.passport-login-visual{isolation:isolate;color:#fff;background:linear-gradient(145deg,#172554 0%,#1e3a8a 42%,#2563eb 100%);flex-direction:column;justify-content:center;padding:clamp(48px,6vw,88px);display:flex;position:relative;overflow:hidden}.passport-login-visual:before,.passport-login-visual:after{z-index:-1;aspect-ratio:1;content:"";border-radius:50%;position:absolute}.passport-login-visual:before{background:#ffffff0a;border:1px solid #ffffff1f;width:58%;top:-22%;right:-18%}.passport-login-visual:after{border:1px solid #ffffff1a;width:52%;bottom:-30%;left:-12%}.passport-visual-copy{z-index:1;max-width:520px;position:relative}.passport-brand-lockup{align-items:center;gap:12px;width:max-content;margin-bottom:44px;display:flex}.passport-brand-mark{flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.passport-brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.passport-brand-lockup strong{color:#fff;letter-spacing:.02em;font-size:15px;font-weight:650}.passport-eyebrow{color:var(--passport-text-muted);letter-spacing:.06em;margin:0;font-size:11px;font-weight:650}.passport-eyebrow--light{color:#aeb7c5}.passport-visual-copy h2{color:#fff;letter-spacing:-.035em;white-space:pre-line;margin:14px 0 18px;font-size:clamp(34px,3.8vw,50px);font-weight:700;line-height:1.08}.passport-visual-copy>p{color:#c5ccd7;max-width:480px;margin:0;font-size:14px;line-height:1.7}.passport-auth-panel{background:var(--passport-canvas);justify-content:center;align-items:center;padding:clamp(40px,5vw,72px);display:flex}.passport-login-page .passport-auth-card.login-card{border-radius:var(--passport-card-radius);background:var(--passport-surface);border:0;width:min(480px,100%);padding:36px 40px;box-shadow:0 28px 80px #11182733,0 8px 24px #1118271a}.passport-login-page .login-brand{text-align:left;margin-bottom:26px}.passport-login-page .login-title{color:var(--passport-text-main);letter-spacing:-.02em;margin:8px 0 6px;font-size:26px;font-weight:650;line-height:1.25}.passport-login-page .login-subtitle{color:var(--passport-text-muted);margin:0;font-size:13px;line-height:1.7}.passport-login-page .login-form{gap:18px}.passport-login-page .passport-auth-fields{gap:18px;display:grid}.passport-login-page .form-field,.passport-login-page .login-form .form-field{gap:8px}.passport-login-page .form-label,.passport-login-page .login-form .form-label{color:var(--passport-text-body);margin:0;font-size:13px;font-weight:600;line-height:20px}.passport-login-page .text-input{min-height:var(--passport-control-height);height:var(--passport-control-height);border:1.5px solid var(--passport-border);border-radius:var(--passport-control-radius);color:var(--passport-text-main);background:var(--passport-surface);transition:border-color var(--passport-motion), box-shadow var(--passport-motion), background-color var(--passport-motion);padding:0 12px;box-shadow:0 1px 2px #1118270a}.passport-login-page .text-input::placeholder{color:var(--passport-text-light)}.passport-login-page .text-input:hover:not(:disabled){border-color:var(--passport-border-strong)}.passport-login-page .text-input:focus{border-color:var(--passport-primary);background:var(--passport-surface);box-shadow:0 0 0 4px var(--passport-primary-ring)}.passport-login-page .text-input[aria-invalid=true]{border-color:var(--passport-danger);background:var(--passport-surface)}.passport-login-page .input-with-action .text-input{padding-right:52px}.passport-login-page .input-action-button{color:var(--passport-text-light);border-radius:8px}.passport-login-page .input-action-button:hover:not(:disabled){color:var(--passport-primary);background:var(--passport-primary-soft)}.passport-login-page .field-message,.passport-login-page .field-hint{margin:-2px 0 0;font-size:12px;line-height:18px}.passport-login-page .field-message{color:var(--passport-danger)}.passport-login-page .field-hint{color:var(--passport-warning)}.passport-login-page .alert{border-radius:var(--passport-control-radius);color:var(--passport-danger);background:var(--passport-danger-soft);border:0;margin:0;padding:9px 11px;font-size:12px;line-height:20px}.passport-login-page .alert--warning{color:#92400e;background:var(--passport-warning-soft)}.passport-login-page .passport-auth-actions{gap:10px;display:grid}.passport-login-page .button{min-height:var(--passport-control-height);border-radius:var(--passport-control-radius);font-size:14px;font-weight:600}.passport-login-page .button--primary{color:#fff;background:var(--passport-primary);box-shadow:none}.passport-login-page .button--primary:hover:not(:disabled){background:var(--passport-primary-hover);box-shadow:none;transform:none}.passport-login-page .button--primary:active:not(:disabled){background:var(--passport-primary-active)}.passport-login-page .button--text{min-height:34px;color:var(--passport-primary);background:0 0;padding:5px 7px;font-size:12px;font-weight:600}.passport-login-page .button--text:hover:not(:disabled){color:var(--passport-primary-hover);background:var(--passport-primary-soft)}.passport-login-page .button:focus-visible,.passport-login-page .input-action-button:focus-visible{outline:2px solid var(--passport-primary);outline-offset:3px}.passport-login-page .passport-mfa-input{letter-spacing:.28em;text-align:center;font-size:20px}.passport-login-page .login-security-note{color:var(--passport-text-muted);margin:20px 0 0;font-size:12px}@media (width<=1180px){.passport-login-page{grid-template-columns:minmax(350px,.82fr) minmax(500px,1.18fr)}}@media (width<=880px){.passport-login-page{grid-template-columns:1fr}.passport-login-visual{min-height:250px;padding:34px}.passport-brand-lockup{margin-bottom:22px}.passport-visual-copy h2{font-size:30px}}@media (width<=620px){.passport-login-visual{min-height:190px;padding:24px}.passport-brand-lockup{margin-bottom:16px}.passport-visual-copy h2{margin-bottom:0;font-size:28px}.passport-visual-copy>p{display:none}.passport-auth-panel{padding:24px 16px 32px}.passport-login-page .passport-auth-card.login-card{padding:24px 20px}}@media (prefers-reduced-motion:reduce){.passport-login-page,.passport-login-page *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.featured-banner[data-v-8b6b6a5d]{isolation:isolate;background:#172554}.featured-banner__art[data-v-8b6b6a5d]{z-index:0;object-fit:cover;object-position:center right;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.featured-banner[data-v-8b6b6a5d]:before{z-index:1;background:linear-gradient(90deg,#172554fa 0%,#1e3a8ae0 40%,#17255433 76%,#1725540a 100%)}.featured-banner__icon[data-v-8b6b6a5d],.featured-banner__content[data-v-8b6b6a5d],.featured-banner__external[data-v-8b6b6a5d]{z-index:2}.featured-banner--static[data-v-8b6b6a5d]{cursor:default}.featured-banner--static[data-v-8b6b6a5d]:hover,.featured-banner--static[data-v-8b6b6a5d]:active{transform:none;box-shadow:0 10px 30px #3b71e833}@media (width<=640px){.featured-banner__art[data-v-8b6b6a5d]{object-position:64% center}.featured-banner[data-v-8b6b6a5d]:before{background:linear-gradient(90deg,#172554fa 0%,#1e3a8aeb 58%,#17255459 100%)}}
