.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--hub-bg-auth)}.login-page--split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;justify-content:stretch;padding:0;background:var(--hub-surface)}.login-brand{position:relative;display:flex;align-items:center;justify-content:center;padding:clamp(40px,6vw,72px) clamp(32px,5vw,56px);min-height:100%;color:#fff;background:#152447;overflow:hidden;isolation:isolate}.login-brand-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-size:cover;background-position:center center;background-repeat:no-repeat;pointer-events:none}.login-brand-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(105deg,#0f172ae0,#0f172a80 42%,#0f172a1f)}.login-brand-inner{position:relative;z-index:2;width:100%;max-width:420px}.login-brand-mark{display:flex;align-items:center;gap:12px;margin-bottom:clamp(28px,5vw,40px)}.login-brand-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:#ffffff26;border:1px solid rgba(255,255,255,.22);color:#fff;box-shadow:0 10px 28px #00000047,0 2px 8px #0000002e,inset 0 1px #fff3}.login-brand-title{font-size:1.125rem;font-weight:700;letter-spacing:-.02em;text-shadow:0 1px 2px rgba(0,0,0,.25),0 6px 20px rgba(0,0,0,.35)}.login-brand-headline{font-size:clamp(1.65rem,2.5vw + 1rem,2.125rem);font-weight:700;line-height:1.2;letter-spacing:-.03em;margin-bottom:16px;text-shadow:0 1px 0 rgba(0,0,0,.2),0 4px 12px rgba(0,0,0,.35),0 14px 36px rgba(0,0,0,.3)}.login-brand-desc{font-size:1rem;line-height:1.6;color:#ffffffeb;margin-bottom:clamp(32px,5vw,48px);text-shadow:0 1px 3px rgba(0,0,0,.45),0 8px 24px rgba(0,0,0,.25)}.login-email-summary{font-size:.9375rem;color:var(--hub-text-secondary);margin:0;line-height:1.5}.login-email-summary strong{color:var(--hub-text);word-break:break-all}.login-brand-features{display:flex;flex-wrap:wrap;gap:12px;list-style:none;margin:0;padding:0}.login-brand-features li{flex:1 1 auto;min-width:140px;padding:12px 16px;text-align:center;font-size:.8125rem;font-weight:600;letter-spacing:.02em;border-radius:var(--hub-radius-sm);background:#ffffff24;border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 24px #00000038,0 2px 6px #00000026,inset 0 1px #ffffff2e;text-shadow:0 1px 3px rgba(0,0,0,.35);transition:transform .2s ease,box-shadow .2s ease}.login-brand-features li:hover{transform:translateY(-2px);box-shadow:0 14px 32px #00000047,0 4px 10px #0000002e,inset 0 1px #ffffff38}.login-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(24px,4vw,48px) clamp(20px,4vw,40px);background:var(--hub-surface)}.login-page--split .login-card{width:100%;max-width:420px;margin:0}.login-label-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;width:100%}.login-inline-link{font-size:.8125rem;font-weight:600;color:var(--hub-primary);text-decoration:none;white-space:nowrap}.login-inline-link:hover{color:var(--hub-primary-hover);text-decoration:underline}.login-footer--panel{margin-top:20px;width:100%;max-width:420px;text-align:center}@media (max-width: 900px){.login-page--split{grid-template-columns:1fr;grid-template-rows:auto 1fr}.login-brand{min-height:unset;padding:36px 24px 32px;text-align:center}.login-brand-inner{max-width:520px;margin:0 auto}.login-brand-mark{justify-content:center;margin-bottom:20px}.login-brand-headline{margin-bottom:12px}.login-brand-desc{margin-bottom:24px}.login-brand-features{justify-content:center}.login-brand-features li{min-width:120px;flex:1 1 calc(33.333% - 12px)}.login-panel{padding-top:8px;padding-bottom:40px}.login-brand-bg{background-position:center top}.login-brand-scrim{background:linear-gradient(180deg,#0f172a33,#0f172a8c 45%,#0f172ae6)}}@media (prefers-reduced-motion: reduce){.login-brand-features li:hover{transform:none}}.login-card{width:100%;max-width:400px;background:var(--hub-surface);border:1px solid var(--hub-border);border-radius:var(--hub-radius);padding:40px 36px;box-shadow:var(--hub-shadow-card)}.login-header{text-align:center;margin-bottom:28px}.login-header h1{font-size:1.625rem;font-weight:700;color:var(--hub-text);margin-bottom:8px;letter-spacing:-.02em}.login-header p{font-size:.9375rem;color:var(--hub-text-secondary)}.login-form{display:flex;flex-direction:column;gap:18px}.login-form label{display:flex;flex-direction:column;gap:8px}.login-form label span{font-size:.8125rem;font-weight:600;color:var(--hub-text)}.login-form input{padding:12px 14px;border:1px solid var(--hub-border);border-radius:var(--hub-radius-sm);background:var(--hub-surface);color:var(--hub-text);font-size:1rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}.login-form input::placeholder{color:var(--hub-muted)}.login-form input:focus{outline:none;border-color:var(--hub-primary);box-shadow:0 0 0 3px var(--hub-primary-ring)}.login-error{padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--hub-radius-sm);color:#b91c1c;font-size:.875rem;line-height:1.45}.login-info{padding:12px 14px;background:var(--hub-primary-soft, #eff6ff);border:1px solid var(--hub-border, #e2e8f0);border-radius:var(--hub-radius-sm);color:var(--hub-text);font-size:.9375rem;line-height:1.55;margin-bottom:8px}.login-btn{padding:14px;background:var(--hub-primary);border:none;border-radius:var(--hub-radius-sm);color:#fff;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;margin-top:4px;transition:background .15s,transform .05s}.login-btn:hover:not(:disabled){background:var(--hub-primary-hover)}.login-btn:active:not(:disabled){transform:scale(.99)}.login-btn:disabled{opacity:.65;cursor:not-allowed}.login-sso-hint{margin:0 0 16px;padding:12px 14px;font-size:.8125rem;line-height:1.5;color:var(--hub-text-secondary);background:var(--hub-bg);border:1px solid var(--hub-border);border-radius:var(--hub-radius-sm)}.login-sso-hint code{font-size:.78em}.login-sso{text-align:center;margin:0}.login-sso-link{display:inline-block;padding:10px 20px;background:var(--hub-primary-soft);border:1px solid rgba(56,116,255,.35);border-radius:var(--hub-radius-sm);color:var(--hub-primary);text-decoration:none;font-weight:600;font-size:.9375rem}.login-sso-link:hover{background:#3874ff2e;color:var(--hub-primary-hover)}.login-sso-checking{text-align:center;margin:0;font-size:.875rem;color:var(--hub-muted)}.login-sso-none{margin:0 0 8px;font-size:.8125rem;line-height:1.45;color:var(--hub-muted);text-align:center}.login-forgot{text-align:center;margin-top:4px;font-size:.875rem}.login-forgot a{color:var(--hub-muted);text-decoration:none;font-weight:500}.login-forgot a:hover{color:var(--hub-primary);text-decoration:underline}.login-link-btn{background:none;border:none;padding:0;font:inherit;font-size:.875rem;font-weight:500;color:var(--hub-muted);cursor:pointer;text-decoration:none}.login-link-btn:hover{color:var(--hub-primary);text-decoration:underline}.forgot-body{color:var(--hub-text-secondary);font-size:.9375rem;line-height:1.55;margin-bottom:20px;text-align:center}.login-footer{text-align:center;margin-top:24px;font-size:.75rem;color:var(--hub-muted);letter-spacing:.02em}.launcher-page{min-height:100vh;background:var(--hub-bg);display:flex;flex-direction:column}.launcher-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:20px 28px;background:var(--hub-top-bar-gradient);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 4px 20px #0f172a33}.launcher-brand h1{font-size:1.375rem;font-weight:700;color:#fff;margin-bottom:4px;letter-spacing:-.02em}.launcher-brand p{font-size:.875rem;color:#ffffffd9}.launcher-user{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.user-email{font-size:.875rem;color:#ffffffeb;font-weight:500;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{padding:8px 16px;background:#ffffff1f;border:1px solid rgba(255,255,255,.35);border-radius:var(--hub-radius-sm);color:#fff;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s}.logout-btn:hover{background:#ffffff38;color:#fff;border-color:#ffffff80}.user-mgmt-btn{padding:8px 16px;background:#ffffff24;border:1px solid rgba(255,255,255,.3);border-radius:var(--hub-radius-sm);color:#fff;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s}.user-mgmt-btn:hover{background:#ffffff3d;color:#fff;border-color:#ffffff73}.launcher-main{flex:1;max-width:1040px;width:100%;margin:0 auto;padding:32px 24px 48px}.launcher-loading,.launcher-empty{text-align:center;color:var(--hub-muted);margin-bottom:24px;font-size:.9375rem}.launcher-error{text-align:center;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--hub-radius-sm);padding:12px 16px;margin-bottom:24px;font-size:.9375rem}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}.app-grid--launching .app-card-shell--idle-while-other .app-card-face--front.app-card{pointer-events:none}.app-grid--launching .app-card-shell--idle-while-other .app-card-icon,.app-grid--launching .app-card-shell--idle-while-other .app-card-name,.app-grid--launching .app-card-shell--idle-while-other .app-card-desc,.app-grid--launching .app-card-shell--idle-while-other .app-card-trial,.app-grid--launching .app-card-shell--idle-while-other .app-card-no-access,.app-grid--launching .app-card-shell--idle-while-other .app-card-fingerprint-btn,.app-grid--launching .app-card-shell--idle-while-other .app-card-tour-btn{opacity:.72}.app-grid--launching .app-card-shell--idle-while-other .app-card-book-btn{pointer-events:auto}.app-card-shell{perspective:1100px;min-height:300px}.app-card-flip{position:relative;width:100%;min-height:300px;transform-style:preserve-3d;transition:transform var(--launch-flip-ms, .65s) cubic-bezier(.4,0,.2,1);transform-origin:center center}.app-card-flip--flipped{transform:rotateY(180deg)}.app-card-face{backface-visibility:hidden;-webkit-backface-visibility:hidden}.app-card-face--front{transform:rotateY(0)}.app-card-face--back{transform:rotateY(180deg)}.app-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 28px 24px;background:#fff;border:none;border-radius:16px;color:inherit;font-family:inherit;box-shadow:0 4px 14px #0f172a0f,0 1px 3px #0f172a0a;transition:box-shadow .2s ease;width:100%;box-sizing:border-box}.app-card-face--front.app-card{position:relative;min-height:300px}.app-card-shell:not(.app-card-shell--disabled):not(.app-card-shell--idle-while-other):hover .app-card-face--front.app-card{box-shadow:0 12px 32px #0f172a1a,0 4px 12px #3874ff14}.app-card-face--back.app-card{position:absolute;top:0;right:0;bottom:0;left:0;justify-content:center}.app-card--granted{background:linear-gradient(150deg,#0d9488,#059669 42%,#047857);color:#fff;box-shadow:0 8px 28px #05966959,0 2px 8px #0f172a14}.app-card-granted-inner{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px}.app-card-granted-icon{color:#fff;filter:drop-shadow(0 2px 6px rgba(0,0,0,.15))}.app-card-granted-title{font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin:0}.app-card-granted-sub{font-size:.875rem;margin:0;color:#ffffffe6}.app-card-actions{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;margin-top:auto;padding-top:12px;width:100%}.app-card-fingerprint-btn,.app-card-book-btn,.app-card-tour-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:none;border-radius:14px;background:var(--hub-primary-soft);color:var(--hub-primary);cursor:pointer;transition:background .15s,color .15s,transform .12s;flex-shrink:0}.app-card-no-access-btns{display:flex;flex-direction:column;align-items:stretch;gap:8px;flex:1;min-width:0;max-width:11rem}.app-card-no-access-btns .app-card-tour-btn,.app-card-poc-btn{width:100%;min-width:0;max-width:none;height:44px;padding:0 12px;font-size:.8125rem;font-weight:700;font-family:inherit;letter-spacing:-.01em;white-space:nowrap}.app-card-no-access-btns .app-card-tour-btn{border:none;background:var(--hub-primary-soft);color:var(--hub-primary)}.app-card-poc-btn{display:flex;align-items:center;justify-content:center;border:1px solid var(--hub-primary, #3874ff);border-radius:14px;background:#fff;color:var(--hub-primary, #3874ff);cursor:pointer;transition:background .15s,color .15s,transform .12s;flex-shrink:0}.app-card-poc-btn:hover:not(:disabled){background:var(--hub-primary-soft, rgba(56, 116, 255, .12));color:var(--hub-primary-hover, #2563eb);transform:scale(1.02)}.app-card-poc-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.app-card-poc-error{margin:6px 0 0;font-size:.75rem;color:#b91c1c;text-align:center}.app-card-poc-success{margin:6px 0 0;font-size:.75rem;color:#15803d;text-align:center}.app-card-fingerprint-btn:hover:not(:disabled),.app-card-book-btn:hover:not(:disabled),.app-card-tour-btn:hover:not(:disabled),.app-card-poc-btn:hover:not(:disabled){background:#3874ff38;color:var(--hub-primary-hover);transform:scale(1.06)}.app-card-fingerprint-btn:active:not(:disabled),.app-card-book-btn:active:not(:disabled),.app-card-tour-btn:active:not(:disabled),.app-card-poc-btn:active:not(:disabled){transform:scale(.98)}.app-card-fingerprint-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.app-card-book-btn:disabled,.app-card-tour-btn:disabled,.app-card-poc-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.app-card-fingerprint-btn:focus-visible,.app-card-book-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--hub-primary-ring)}.app-card-flip--scanning .app-card-fingerprint-btn{color:var(--hub-primary-hover);background:#3874ff33}.app-features-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0f172a6b;display:flex;justify-content:flex-end;align-items:stretch;animation:app-features-overlay-in .2s ease}@keyframes app-features-overlay-in{0%{opacity:0}to{opacity:1}}.app-features-pane{width:min(440px,100vw);max-height:100vh;overflow-y:auto;background:var(--hub-surface);box-shadow:-12px 0 48px #0f172a24;border-left:1px solid var(--hub-border);padding:24px 22px 32px;box-sizing:border-box;animation:app-features-pane-in .28s cubic-bezier(.22,1,.36,1)}@keyframes app-features-pane-in{0%{transform:translate(100%);opacity:.9}to{transform:translate(0);opacity:1}}.app-features-pane-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.app-features-pane-head h2{margin:0;font-size:1.25rem;font-weight:700;color:var(--hub-text);letter-spacing:-.02em;line-height:1.25}.app-features-close{flex-shrink:0;width:36px;height:36px;border:none;border-radius:var(--hub-radius-sm);background:var(--hub-bg);color:var(--hub-muted);font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.app-features-close:hover{background:var(--hub-border);color:var(--hub-text)}.app-features-intro{margin:0 0 18px;font-size:.875rem;color:var(--hub-text-secondary)}.app-features-loading{margin:0;font-size:.875rem;color:var(--hub-text-secondary)}.app-features-grid{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.app-feature-card{display:flex;flex-direction:row;gap:14px;align-items:flex-start;padding:14px 16px;background:var(--hub-bg);border:1px solid var(--hub-border);border-radius:var(--hub-radius-sm);box-shadow:0 1px 2px #0f172a0a}.app-feature-card-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--hub-primary-soft);color:var(--hub-primary)}.app-feature-card-icon-img{width:44px;height:44px;object-fit:contain;border-radius:8px;display:block}.app-feature-card-text{margin:0;font-size:.9375rem;line-height:1.45;color:var(--hub-text);padding-top:2px}@media (max-width: 520px){.app-features-pane{width:100%;border-left:none}}@media (prefers-reduced-motion: reduce){.app-features-overlay,.app-features-pane{animation:none}}.app-card-scan-overlay{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;overflow:hidden;z-index:2;background:#ffffff73}.app-card-scan-line{position:absolute;left:8%;right:8%;height:4px;top:12%;border-radius:4px;background:linear-gradient(90deg,transparent,rgba(56,116,255,.15),var(--hub-primary),rgba(56,116,255,.15),transparent);box-shadow:0 0 16px #3874ffa6;animation:app-card-scan-sweep .55s ease-in-out infinite alternate}@keyframes app-card-scan-sweep{0%{top:10%;opacity:.85}to{top:88%;opacity:1}}@media (prefers-reduced-motion: reduce){.app-card-scan-line{animation-duration:.35s}}.app-card-icon{width:72px;height:72px;border-radius:14px;background:var(--hub-primary-soft);border:none;display:flex;align-items:center;justify-content:center;margin-bottom:18px;flex-shrink:0;box-sizing:border-box;overflow:hidden}.app-card-logo-img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;display:block}.app-card-initial{font-size:1.75rem;font-weight:700;color:var(--hub-primary);line-height:1;letter-spacing:-.02em}.app-card-name{font-size:1.125rem;font-weight:700;color:var(--hub-text);margin:0 0 8px;letter-spacing:-.02em;line-height:1.25}.app-card-desc{font-size:.875rem;color:var(--hub-text-secondary);line-height:1.5;margin:0 0 8px;max-width:22ch}.app-card-trial{font-size:.75rem;color:#b45309;font-weight:600}.app-card-shell--disabled .app-card-icon,.app-card-shell--disabled .app-card-name,.app-card-shell--disabled .app-card-desc,.app-card-shell--disabled .app-card-trial,.app-card-shell--disabled .app-card-no-access,.app-card-shell--disabled .app-card-scan-overlay{opacity:.55;filter:grayscale(.35)}.app-card-shell--disabled .app-card-actions{position:relative;z-index:2}.app-card-shell--disabled .app-card-fingerprint-btn:disabled{opacity:.45;filter:grayscale(.35)}.app-card-shell--disabled .app-card-book-btn,.app-card-shell--disabled .app-card-tour-btn,.app-card-shell--disabled .app-card-poc-btn{opacity:1;filter:none;pointer-events:auto;cursor:pointer}.app-card-shell--disabled .app-card-face--front.app-card{cursor:default}.app-card-shell--disabled:hover .app-card-face--front.app-card{box-shadow:0 4px 14px #0f172a0f,0 1px 3px #0f172a0a}.app-card-no-access{font-size:.75rem;color:var(--hub-muted);margin-top:4px;font-weight:600}.app-resources-empty{margin:0;font-size:.875rem;color:var(--hub-text-secondary)}.app-resources-groups{display:flex;flex-direction:column;gap:20px}.app-resources-group-title{margin:0 0 8px;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--hub-text-secondary)}.app-resources-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.app-resource-link{font-size:.9375rem;font-weight:600;color:var(--hub-primary, #2563eb);text-decoration:underline;text-underline-offset:2px}.app-resource-link:hover{color:var(--hub-primary-dark, #1d4ed8)}.um-page{min-height:100vh;display:flex;flex-direction:column;padding:0 0 48px;margin:0;max-width:100vw;overflow-x:hidden;box-sizing:border-box;background:var(--hub-bg)}.um-page-body{max-width:min(960px,100%);margin:0 auto;padding:24px 24px 0;width:100%;min-width:0;box-sizing:border-box}.um-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;width:100%;margin-bottom:0;padding:20px 28px;background:var(--hub-top-bar-gradient);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 4px 20px #0f172a33}.um-header h1{font-size:1.375rem;font-weight:700;color:#fff;margin:0;letter-spacing:-.02em}.um-header .um-back-btn{background:#ffffff1f;border:1px solid rgba(255,255,255,.35);color:#fff}.um-header .um-back-btn:hover{background:#ffffff38;color:#fff;border-color:#ffffff80}.um-back-btn{padding:8px 16px;background:var(--hub-surface);border:1px solid var(--hub-border-strong);border-radius:var(--hub-radius-sm);color:var(--hub-text-secondary);font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer}.um-back-btn:hover{background:var(--hub-bg);color:var(--hub-text)}.um-message{padding:12px 16px;border-radius:var(--hub-radius-sm);margin-bottom:20px;font-size:.9rem}.um-message-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.um-message-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.um-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.um-tab{padding:10px 18px;background:var(--hub-surface);border:1px solid var(--hub-border);border-radius:var(--hub-radius-sm);color:var(--hub-text-secondary);cursor:pointer;font-size:.875rem;font-weight:600;font-family:inherit;transition:border-color .15s,background .15s}.um-tab:hover{background:var(--hub-bg);color:var(--hub-text)}.um-tab.active{background:var(--hub-primary-soft);border-color:#3874ff66;color:var(--hub-primary)}.um-section{background:var(--hub-surface);border:1px solid var(--hub-border);border-radius:var(--hub-radius);padding:24px;margin-bottom:24px;box-shadow:var(--hub-shadow)}.um-section h2{font-size:1.125rem;color:var(--hub-text);margin:0 0 8px;font-weight:700}.um-section h3{font-size:1rem;color:var(--hub-text-secondary);margin:20px 0 12px;font-weight:600}.um-hint{font-size:.85rem;color:var(--hub-muted);margin:0 0 16px;line-height:1.5}.um-sample-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:16px}.um-sample-label{font-size:.8125rem;font-weight:600;color:var(--hub-text-secondary)}.um-sample-btn{padding:8px 14px;background:var(--hub-surface);border:1px solid var(--hub-border-strong);border-radius:var(--hub-radius-sm);color:var(--hub-text);cursor:pointer;font-size:.8125rem;font-weight:600;font-family:inherit}.um-sample-btn:hover{background:var(--hub-bg);border-color:var(--hub-primary);color:var(--hub-primary)}.um-upload{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:8px}.um-upload input[type=file]{color:var(--hub-text-secondary);font-size:.875rem}.um-upload button{padding:8px 16px;background:var(--hub-primary);border:none;border-radius:var(--hub-radius-sm);color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;font-family:inherit}.um-upload button:hover:not(:disabled){background:var(--hub-primary-hover)}.um-upload button:disabled{opacity:.55;cursor:not-allowed}.um-divider{border:none;border-top:1px solid var(--hub-border);margin:24px 0}.um-form label{display:block;font-size:.8125rem;font-weight:600;color:var(--hub-text);margin-top:12px;margin-bottom:6px}.um-form input[type=text],.um-form input[type=email],.um-form input[type=password],.um-form select{width:100%;max-width:360px;padding:10px 12px;background:var(--hub-surface);border:1px solid var(--hub-border);border-radius:var(--hub-radius-sm);color:var(--hub-text);font-size:.9rem;font-family:inherit}.um-form input:focus,.um-form select:focus{outline:none;border-color:var(--hub-primary);box-shadow:0 0 0 3px var(--hub-primary-ring)}.um-form button{margin-top:16px;padding:10px 20px;background:var(--hub-primary);border:none;border-radius:var(--hub-radius-sm);color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;font-family:inherit}.um-form button:hover:not(:disabled){background:var(--hub-primary-hover)}.um-form button:disabled{opacity:.55;cursor:not-allowed}.um-checkboxes{display:flex;gap:16px;flex-wrap:wrap;margin-top:6px}.um-checkboxes label{display:inline-flex;align-items:center;gap:8px;margin-top:0;font-weight:500;color:var(--hub-text-secondary);cursor:pointer}.um-user-list{margin-top:8px;width:100%;max-width:100%;min-width:0}.um-user-list h3{font-size:1rem;color:var(--hub-text);margin-bottom:12px;font-weight:700}.um-user-list-sub{font-weight:500;color:var(--hub-muted);font-size:.875rem}.um-user-search-row{margin-bottom:14px;max-width:100%}.um-user-search-label{display:block;font-size:.8125rem;font-weight:600;color:var(--hub-text-secondary);margin-bottom:6px}.um-user-search-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;max-width:100%}.um-user-search-input{flex:1;min-width:0;max-width:420px;padding:10px 12px;background:var(--hub-surface);border:1px solid var(--hub-border);border-radius:var(--hub-radius-sm);color:var(--hub-text);font-size:.9rem;font-family:inherit}.um-user-search-input:focus{outline:none;border-color:var(--hub-primary);box-shadow:0 0 0 3px var(--hub-primary-ring)}.um-user-search-clear{padding:8px 14px;background:var(--hub-surface);border:1px solid var(--hub-border-strong);border-radius:var(--hub-radius-sm);color:var(--hub-text);font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer}.um-user-search-clear:hover{background:var(--hub-bg);border-color:var(--hub-primary);color:var(--hub-primary)}.um-user-search-hint{margin:8px 0 0;font-size:.75rem;color:var(--hub-muted);line-height:1.4}.um-table-scroll{width:100%;max-width:100%;overflow-x:scroll;overflow-y:hidden;-webkit-overflow-scrolling:touch;border:1px solid var(--hub-border);border-radius:var(--hub-radius-sm);background:var(--hub-surface);box-shadow:var(--hub-shadow)}.um-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.8125rem;background:transparent;border:none;border-radius:0;overflow:visible;box-shadow:none}.um-table th,.um-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--hub-border);color:var(--hub-text)}.um-table th{color:var(--hub-text-secondary);font-weight:600;background:#f8fafc}.um-table .um-col-actions{position:sticky;left:0;z-index:2;background:#fff;box-shadow:1px 0 0 var(--hub-border, #e2e8f0)}.um-table thead .um-col-actions{background:#f8fafc;z-index:3}.um-table tbody tr:hover .um-col-actions{background:#f8fafc}.um-table tbody tr:last-child td{border-bottom:none}.um-table tbody tr:hover{background:#f8fafc}.um-table-loading{text-align:center;color:var(--hub-muted);padding:20px!important}.um-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 20px;margin-top:14px;padding:8px 0}.um-page-btn{padding:8px 16px;background:var(--hub-surface);border:1px solid var(--hub-border-strong);border-radius:var(--hub-radius-sm);color:var(--hub-text);font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer}.um-page-btn:hover:not(:disabled){background:var(--hub-bg);border-color:var(--hub-primary);color:var(--hub-primary)}.um-page-btn:disabled{opacity:.45;cursor:not-allowed}.um-page-info{font-size:.8125rem;color:var(--hub-text-secondary);font-weight:600}.um-edit-btn{padding:6px 12px;font-size:.8125rem;font-weight:600;font-family:inherit;color:var(--hub-primary, #1d4ed8);background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--hub-radius-sm, 6px);cursor:pointer;white-space:nowrap}.um-edit-btn:hover{background:#dbeafe;border-color:#93c5fd}.um-table-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch}.um-unlock-btn{padding:6px 12px;font-size:.8125rem;font-weight:600;font-family:inherit;color:#9a3412;background:#fff7ed;border:1px solid #fdba74;border-radius:var(--hub-radius-sm, 6px);cursor:pointer;white-space:nowrap}.um-unlock-btn:hover:not(:disabled){background:#ffedd5;border-color:#fb923c}.um-unlock-btn:disabled{opacity:.65;cursor:not-allowed}.um-modal-actions .um-unlock-btn{margin-right:auto}.um-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}.um-modal{width:min(520px,100%);max-height:min(90vh,720px);overflow:auto;background:var(--hub-surface, #fff);border-radius:12px;box-shadow:0 20px 50px #0f172a40;display:flex;flex-direction:column}.um-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--hub-border, #e2e8f0)}.um-modal-header h2{margin:0;font-size:1.125rem;font-weight:700;color:var(--hub-text, #0f172a)}.um-modal-close{border:none;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--hub-muted, #64748b);padding:0 4px}.um-modal-close:hover{color:var(--hub-text, #0f172a)}.um-modal-body{padding:16px 20px}.um-modal-body .um-form input:disabled{opacity:.75;background:#f8fafc;cursor:not-allowed}.um-modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px 18px;border-top:1px solid var(--hub-border, #e2e8f0)}.um-modal-cancel{padding:8px 14px;font-family:inherit;font-weight:600;font-size:.875rem;border-radius:var(--hub-radius-sm, 6px);border:1px solid var(--hub-border-strong, #cbd5e1);background:var(--hub-surface, #fff);color:var(--hub-text-secondary, #475569);cursor:pointer}.um-modal-save{padding:8px 16px;font-family:inherit;font-weight:600;font-size:.875rem;border-radius:var(--hub-radius-sm, 6px);border:none;background:var(--hub-primary, #1d4ed8);color:#fff;cursor:pointer}.um-modal-save:disabled,.um-modal-cancel:disabled{opacity:.55;cursor:not-allowed}.audit-page{min-height:100vh;display:flex;flex-direction:column;padding:0 0 48px;margin:0;max-width:100vw;overflow-x:hidden;box-sizing:border-box;background:var(--hub-bg)}.audit-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;width:100%;padding:20px 28px;background:var(--hub-top-bar-gradient);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 4px 20px #0f172a33}.audit-header h1{font-size:1.375rem;font-weight:700;color:#fff;margin:0}.audit-back-btn{padding:8px 16px;background:#ffffff1f;border:1px solid rgba(255,255,255,.35);border-radius:var(--hub-radius-sm);color:#fff;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer}.audit-back-btn:hover{background:#ffffff38}.audit-body{max-width:min(1200px,100%);margin:0 auto;padding:24px 24px 0;width:100%;min-width:0;box-sizing:border-box}.audit-intro{font-size:.9rem;color:var(--hub-muted);margin:0 0 20px;line-height:1.5}.audit-count{font-size:1rem;color:var(--hub-text);margin:0 0 12px;font-weight:700}.audit-count-sub{font-weight:500;color:var(--hub-muted);font-size:.875rem}.audit-table-scroll{width:100%;max-width:100%;overflow-x:auto;border:1px solid var(--hub-border);border-radius:var(--hub-radius-sm);background:var(--hub-surface);box-shadow:var(--hub-shadow)}.audit-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.8125rem}.audit-table th,.audit-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--hub-border);color:var(--hub-text);vertical-align:top}.audit-table th{background:#f8fafc;color:var(--hub-text-secondary);font-weight:600;white-space:nowrap}.audit-table tbody tr:last-child td{border-bottom:none}.audit-cell-time{white-space:nowrap;font-variant-numeric:tabular-nums}.audit-cell-mono{font-family:ui-monospace,monospace;font-size:.75rem;word-break:break-all;max-width:220px}.audit-cell-details code{font-size:.7rem;word-break:break-word;white-space:pre-wrap}.audit-cell-ip{font-size:.75rem;white-space:nowrap}.audit-loading,.audit-empty{text-align:center;color:var(--hub-muted);padding:24px!important}.audit-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 20px;margin-top:14px;padding:8px 0}.audit-page-btn{padding:8px 16px;background:var(--hub-surface);border:1px solid var(--hub-border-strong);border-radius:var(--hub-radius-sm);color:var(--hub-text);font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer}.audit-page-btn:hover:not(:disabled){border-color:var(--hub-primary);color:var(--hub-primary)}.audit-page-btn:disabled{opacity:.45;cursor:not-allowed}.audit-page-info{font-size:.8125rem;color:var(--hub-text-secondary);font-weight:600}.saml-page{min-height:100vh;display:flex;flex-direction:column;padding:0 0 48px;margin:0;max-width:none;background:var(--hub-bg)}.saml-page-body{max-width:960px;margin:0 auto;padding:24px 24px 0;width:100%}.saml-intro{font-size:.875rem;line-height:1.55;color:var(--hub-text-secondary);margin:0 0 20px;padding:14px 16px;background:var(--hub-primary-soft);border:1px solid var(--hub-border);border-radius:var(--hub-radius-sm)}.saml-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;width:100%;margin-bottom:0;padding:20px 28px;background:var(--hub-top-bar-gradient);border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 4px 20px #0f172a33}.saml-header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.saml-header h1{font-size:1.375rem;font-weight:700;color:#fff;margin:0;letter-spacing:-.02em}.saml-header .saml-back-btn{background:#ffffff1f;border:1px solid rgba(255,255,255,.35);color:#fff}.saml-header .saml-back-btn:hover{background:#ffffff38;color:#fff;border-color:#ffffff80}.saml-back-btn{padding:8px 16px;background:var(--hub-surface);border:1px solid var(--hub-border-strong);border-radius:var(--hub-radius-sm);color:var(--hub-text-secondary);font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer}.saml-back-btn:hover{background:var(--hub-bg);color:var(--hub-text)}.saml-message{padding:12px 16px;border-radius:var(--hub-radius-sm);margin-bottom:20px;font-size:.9rem}.saml-message-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.saml-message-error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.saml-form-section,.saml-list-section{margin-bottom:28px}.saml-form-section h2,.saml-list-section h2{font-size:1.0625rem;font-weight:700;color:var(--hub-text);margin-bottom:16px}.saml-form{display:flex;flex-direction:column;gap:20px;margin-bottom:24px;background:var(--hub-surface);border:1px solid var(--hub-border);border-radius:var(--hub-radius);padding:24px;box-shadow:var(--hub-shadow)}.saml-form-card{padding:18px 20px;border:1px solid var(--hub-border);border-radius:var(--hub-radius-sm);background:var(--hub-bg)}.saml-form-card--entra{border-color:#3874ff73;background:var(--hub-primary-soft);box-shadow:0 0 0 1px #3874ff1f}.saml-form-card-title{margin:0 0 4px;font-size:.9375rem;font-weight:700;color:var(--hub-text)}.saml-form-card-desc{margin:0 0 14px;font-size:.8125rem;line-height:1.5;color:var(--hub-text-secondary)}.saml-idp-details-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.saml-idp-details-head .saml-form-card-title{margin:0}.saml-auto-filled-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#047857;background:#d1fae5;border:1px solid #6ee7b7;padding:3px 8px;border-radius:999px}.saml-issuer-callout{margin:0 0 14px;padding:12px 14px;font-size:.8125rem;line-height:1.5;color:#1e3a5f;background:#3874ff1a;border:1px solid rgba(56,116,255,.28);border-radius:var(--hub-radius-sm)}.saml-issuer-callout strong{color:var(--hub-text)}.saml-form label{display:flex;flex-direction:column;gap:6px}.saml-form label span{font-size:.8125rem;font-weight:600;color:var(--hub-text)}.saml-form input[type=text],.saml-form input[type=url],.saml-form textarea{padding:10px 12px;border:1px solid var(--hub-border);border-radius:var(--hub-radius-sm);background:var(--hub-surface);color:var(--hub-text);font-size:.9rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}.saml-form textarea{resize:vertical;min-height:100px}.saml-form input:focus,.saml-form textarea:focus{outline:none;border-color:var(--hub-primary);box-shadow:0 0 0 3px var(--hub-primary-ring)}.saml-checkbox-label{flex-direction:row;align-items:center}.saml-checkbox-label input{margin-right:10px;width:auto}.saml-form-actions{display:flex;gap:12px;margin-top:8px;flex-wrap:wrap}.saml-submit-btn{padding:10px 20px;background:var(--hub-primary);border:none;border-radius:var(--hub-radius-sm);color:#fff;font-weight:600;font-family:inherit;cursor:pointer}.saml-submit-btn:hover:not(:disabled){background:var(--hub-primary-hover)}.saml-submit-btn:disabled{opacity:.65;cursor:not-allowed}.saml-cancel-btn{padding:10px 20px;background:var(--hub-surface);border:1px solid var(--hub-border-strong);border-radius:var(--hub-radius-sm);color:var(--hub-text-secondary);font-family:inherit;font-weight:600;cursor:pointer}.saml-cancel-btn:hover{background:var(--hub-bg);color:var(--hub-text)}.saml-loading,.saml-empty{color:var(--hub-muted);font-size:.9375rem}.saml-list{list-style:none;padding:0;margin:0}.saml-list-item{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:14px 18px;background:var(--hub-surface);border:1px solid var(--hub-border);border-radius:var(--hub-radius-sm);margin-bottom:10px;box-shadow:var(--hub-shadow)}.saml-domain-name{font-weight:700;color:var(--hub-text)}.saml-meta{font-size:.8rem;color:var(--hub-muted)}.saml-item-actions{margin-left:auto;display:flex;gap:8px}.saml-edit-btn{padding:6px 12px;background:var(--hub-primary-soft);border:1px solid rgba(56,116,255,.35);border-radius:var(--hub-radius-sm);color:var(--hub-primary);font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer}.saml-edit-btn:hover{background:#3874ff33}.saml-delete-btn{padding:6px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--hub-radius-sm);color:#b91c1c;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer}.saml-delete-btn:hover{background:#fee2e2}.saml-azure-panel{margin-bottom:28px;padding:22px 24px;background:var(--hub-surface);border:1px solid var(--hub-border);border-radius:var(--hub-radius);box-shadow:var(--hub-shadow)}.saml-azure-panel h2{font-size:1.0625rem;font-weight:700;color:var(--hub-text);margin:0 0 8px}.saml-azure-lead{margin:0 0 18px;font-size:.875rem;line-height:1.55;color:var(--hub-text-secondary)}.saml-azure-warning{margin:0 0 16px;padding:12px 14px;font-size:.8125rem;line-height:1.5;color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:var(--hub-radius-sm)}.saml-azure-warning code{font-size:.75rem}.saml-azure-row--note{background:var(--hub-surface)}.saml-azure-note-body{margin:0;font-size:.8125rem;line-height:1.55;color:var(--hub-text-secondary)}.saml-azure-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}.saml-azure-row{margin:0;padding:14px 16px;background:var(--hub-bg);border:1px solid var(--hub-border);border-radius:var(--hub-radius-sm)}.saml-azure-row-head{margin-bottom:10px}.saml-azure-label{display:block;font-size:.8125rem;font-weight:700;color:var(--hub-text)}.saml-azure-desc{display:block;margin-top:4px;font-size:.75rem;line-height:1.45;color:var(--hub-muted)}.saml-azure-row-value{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px}.saml-azure-code{flex:1;min-width:0;display:block;padding:8px 10px;font-size:.78rem;line-height:1.4;word-break:break-all;background:var(--hub-surface);border:1px solid var(--hub-border);border-radius:6px;color:var(--hub-text)}.saml-copy-btn{flex-shrink:0;padding:8px 14px;font-size:.8125rem;font-weight:600;font-family:inherit;border-radius:var(--hub-radius-sm);border:1px solid var(--hub-border-strong);background:var(--hub-surface);color:var(--hub-text-secondary);cursor:pointer}.saml-copy-btn:hover{border-color:var(--hub-primary);color:var(--hub-primary)}.saml-azure-claims{margin-top:18px;padding:12px 14px;font-size:.8125rem;line-height:1.55;color:var(--hub-text-secondary);background:var(--hub-primary-soft);border:1px solid var(--hub-border);border-radius:var(--hub-radius-sm)}.saml-azure-claims code{font-size:.75rem;word-break:break-all}.saml-fetch-block{padding:16px;background:var(--hub-bg);border:1px dashed var(--hub-border-strong);border-radius:var(--hub-radius-sm)}.saml-fetch-title{margin:0 0 6px;font-size:.8125rem;font-weight:700;color:var(--hub-text)}.saml-fetch-help{margin:0 0 12px;font-size:.78rem;line-height:1.5;color:var(--hub-muted)}.saml-fetch-row{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.saml-fetch-label-wrap{flex:1;min-width:220px;display:flex;flex-direction:column;gap:6px}.saml-fetch-label-wrap>span{font-size:.8125rem;font-weight:600;color:var(--hub-text)}.saml-fetch-help--card{margin-top:12px;margin-bottom:0}.saml-fetch-input{flex:1;min-width:220px;padding:10px 12px;border:1px solid var(--hub-border);border-radius:var(--hub-radius-sm);background:var(--hub-surface);color:var(--hub-text);font-size:.9rem;font-family:inherit}.saml-fetch-input:focus{outline:none;border-color:var(--hub-primary);box-shadow:0 0 0 3px var(--hub-primary-ring)}.saml-fetch-btn{padding:10px 18px;font-size:.875rem;font-weight:600;font-family:inherit;border:none;border-radius:var(--hub-radius-sm);background:var(--hub-text);color:#fff;cursor:pointer}.saml-fetch-btn:hover:not(:disabled){opacity:.9}.saml-fetch-btn:disabled{opacity:.5;cursor:not-allowed}.saml-fetch-ok{margin:10px 0 0;font-size:.78rem;color:#047857}.saml-field-badge{margin-left:8px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--hub-primary);vertical-align:middle}.saml-issuer-label-wrap .saml-issuer-label-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.saml-inline-btn{padding:4px 10px;font-size:.75rem;font-weight:600;font-family:inherit;border:1px solid var(--hub-primary);border-radius:6px;background:var(--hub-primary-soft);color:var(--hub-primary);cursor:pointer}.saml-inline-btn:hover{background:#3874ff38}.saml-field-hint{font-size:.75rem;font-weight:400;color:var(--hub-muted);margin-top:4px}.int-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:8px}.int-card{background:var(--hub-surface);border:1px solid var(--hub-border);border-radius:var(--hub-radius);padding:22px 22px 20px;box-shadow:var(--hub-shadow)}.int-card h2{margin:0 0 8px;font-size:1.1rem;font-weight:700;color:var(--hub-text);letter-spacing:-.02em}.int-card-desc{margin:0 0 16px;font-size:.875rem;line-height:1.55;color:var(--hub-text-secondary)}.int-card-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.int-btn-primary{padding:9px 16px;background:var(--hub-primary);border:none;border-radius:var(--hub-radius-sm);color:#fff;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer}.int-btn-primary:hover{background:var(--hub-primary-hover)}.int-btn-outline{padding:9px 16px;background:var(--hub-surface);border:1px solid var(--hub-border-strong);border-radius:var(--hub-radius-sm);color:var(--hub-text);font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer}.int-btn-outline:hover{background:var(--hub-bg)}.int-form-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--hub-border)}.int-form-section h3{margin:0 0 14px;font-size:.95rem;font-weight:700;color:var(--hub-text)}.int-field{margin-bottom:14px}.int-field label{display:block;font-size:.8125rem;font-weight:600;color:var(--hub-text);margin-bottom:6px}.int-field input[type=text],.int-field input[type=password],.int-field select{width:100%;max-width:420px;padding:10px 12px;border:1px solid var(--hub-border);border-radius:var(--hub-radius-sm);font-size:.9375rem;font-family:inherit;box-sizing:border-box}.int-field input:focus,.int-field select:focus{outline:none;border-color:var(--hub-primary);box-shadow:0 0 0 3px var(--hub-primary-ring)}.int-check-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.int-check-row input{margin-top:3px}.int-check-row span{font-size:.875rem;color:var(--hub-text-secondary);line-height:1.45}.int-products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px 16px;margin-top:8px}.int-note{font-size:.8125rem;color:var(--hub-muted);line-height:1.5;margin-top:12px}.int-header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.int-hub-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;max-width:920px}.int-hub-card{display:block;width:100%;margin:0;padding:24px 22px 22px;text-align:left;cursor:pointer;font-family:inherit;background:var(--hub-surface);border:1px solid var(--hub-border);border-radius:var(--hub-radius);box-shadow:var(--hub-shadow);transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease}.int-hub-card:hover{border-color:var(--hub-primary);box-shadow:0 8px 28px #00000014;transform:translateY(-1px)}.int-hub-card:focus-visible{outline:2px solid var(--hub-primary);outline-offset:2px}.int-hub-card-icon{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:#fff}.int-hub-card-icon--azure{background:linear-gradient(135deg,#0078d4,#005a9e)}.int-hub-card-icon--saml{background:linear-gradient(135deg,#5b21b6,#4c1d95)}.int-hub-card-title{margin:0 0 8px;font-size:1.15rem;font-weight:700;color:var(--hub-text);letter-spacing:-.02em}.int-hub-card-desc{margin:0 0 14px;font-size:.875rem;line-height:1.55;color:var(--hub-text-secondary)}.int-hub-card-cta{font-size:.875rem;font-weight:600;color:var(--hub-primary)}.int-azure-settings-card{max-width:720px}.ca-client-apps-user-list,.ca-client-apps-table-wrap{max-width:100%;min-width:0}.ca-client-apps-table-wrap .um-table.ca-client-apps-table th,.ca-client-apps-table-wrap .um-table.ca-client-apps-table td{word-break:break-word;overflow-wrap:anywhere;vertical-align:top}.ca-client-apps-table-wrap .um-table.ca-client-apps-table th.ca-table-actions-col,.ca-client-apps-table-wrap .um-table.ca-client-apps-table td.ca-table-actions-col{width:1%;white-space:nowrap;position:sticky;left:0;z-index:2;box-shadow:4px 0 10px -6px #0f172a40}.ca-client-apps-table-wrap .um-table.ca-client-apps-table thead th.ca-table-actions-col{background:#f8fafc;z-index:3}.ca-client-apps-table-wrap .um-table.ca-client-apps-table tbody td.ca-table-actions-col{background:var(--hub-surface, #fff)}.ca-client-apps-table-wrap .um-table.ca-client-apps-table tbody tr:hover td.ca-table-actions-col{background:#f8fafc}.ca-client-apps-table .ca-cell-text{max-width:min(22rem,40vw)}@media (min-width: 1100px){.ca-client-apps-table .ca-cell-text{max-width:28rem}}.ca-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px;overflow-y:auto}.ca-modal{background:var(--hub-surface, #fff);border-radius:var(--hub-radius-sm, 8px);border:1px solid var(--hub-border-strong, #e2e8f0);max-width:560px;width:100%;margin-top:48px;margin-bottom:48px;box-shadow:0 20px 50px #0f172a33}.ca-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--hub-border, #e2e8f0)}.ca-modal-header h2{margin:0;font-size:1.125rem;font-weight:700;color:var(--hub-text, #0f172a)}.ca-modal-close{flex-shrink:0;padding:6px 12px;background:transparent;border:1px solid var(--hub-border-strong, #cbd5e1);border-radius:6px;cursor:pointer;font-size:.875rem;font-family:inherit}.ca-modal-close:hover{background:var(--hub-bg, #f8fafc)}.ca-modal-body{padding:20px}.ca-field{margin-bottom:14px}.ca-field label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--hub-text-secondary, #64748b);margin-bottom:4px}.ca-field input[type=text],.ca-field input[type=number],.ca-field input[type=url],.ca-field textarea{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--hub-border-strong, #cbd5e1);border-radius:6px;font-size:.9rem;font-family:inherit}.ca-field textarea{min-height:72px;resize:vertical}.ca-field-readonly{font-size:.9rem;color:var(--hub-text, #334155);word-break:break-word}.ca-field-readonly code{font-size:.85rem}.ca-field-hint{margin:6px 0 0;font-size:.8125rem;color:var(--hub-text-secondary, #64748b);line-height:1.45;font-weight:400;text-transform:none;letter-spacing:normal}.ca-modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--hub-border, #e2e8f0)}.ca-btn{padding:8px 16px;border-radius:6px;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;border:1px solid transparent}.ca-btn-primary{background:var(--hub-accent, #2563eb);color:#fff;border-color:var(--hub-accent, #2563eb)}.ca-btn-primary:hover:not(:disabled){filter:brightness(1.05)}.ca-btn-primary:disabled{opacity:.6;cursor:not-allowed}.ca-btn-secondary{background:var(--hub-surface, #fff);border-color:var(--hub-border-strong, #cbd5e1);color:var(--hub-text, #334155)}.ca-btn-secondary:hover{background:var(--hub-bg, #f8fafc)}.ca-table-actions{white-space:nowrap}.ca-actions-inline{display:inline-flex;align-items:center;flex-wrap:wrap;gap:2px}.ca-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--hub-accent, #2563eb);cursor:pointer;font-family:inherit;transition:background .15s ease,color .15s ease,border-color .15s ease}.ca-icon-btn:hover{background:#2563eb1a;border-color:#2563eb40;color:var(--hub-accent, #1d4ed8)}.ca-icon-btn:focus-visible{outline:2px solid var(--hub-accent, #2563eb);outline-offset:2px}.ca-modal--wide{max-width:720px}.ca-features-hint{font-size:.875rem;color:var(--hub-text-secondary, #64748b);margin:0 0 16px;line-height:1.5}.ca-features-editor-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:12px}.ca-features-editor-row{border:1px solid var(--hub-border, #e2e8f0);border-radius:8px;padding:12px;background:var(--hub-bg, #f8fafc)}.ca-features-editor-row-main{display:grid;grid-template-columns:1fr min(16rem,42%);gap:12px;align-items:start}.ca-features-editor-label--icon{display:flex;flex-direction:column;gap:4px}.ca-features-editor-label-text{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--hub-text-secondary, #64748b)}@media (max-width: 720px){.ca-features-editor-row-main{grid-template-columns:1fr}}.ca-features-editor-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--hub-text-secondary, #64748b)}.ca-features-editor-label textarea,.ca-features-editor-label select{display:block;width:100%;margin-top:4px;box-sizing:border-box;padding:8px 10px;border:1px solid var(--hub-border-strong, #cbd5e1);border-radius:6px;font-size:.9rem;font-family:inherit}.ca-features-editor-row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.ca-btn-compact{padding:4px 10px;min-width:2.25rem}.ca-features-empty{font-size:.875rem;color:var(--hub-muted, #94a3b8);margin:0 0 12px}.ca-features-loading{margin:0;font-size:.875rem;color:var(--hub-text-secondary, #64748b)}.ca-features-cell{white-space:nowrap}.ca-features-count{display:block;font-size:.8125rem;color:var(--hub-text-secondary, #64748b);margin-bottom:6px}.ca-features-manage-btn{display:inline-block}.ca-field--section{margin-top:20px;padding-top:16px;border-top:1px solid var(--hub-border, #e2e8f0)}.ca-section-title{margin:0 0 12px;font-size:1rem;font-weight:700;color:var(--hub-text, #0f172a)}.ca-features-readonly-list{margin:0;padding-left:1.25rem;font-size:.9rem;color:var(--hub-text, #334155);line-height:1.5}.ca-features-editor-block{margin-top:4px}.ca-resources-editor{display:flex;flex-direction:column;gap:16px}.ca-resources-add-category{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ca-resources-add-category input{flex:1 1 220px;min-width:0}.ca-resources-category{border:1px solid var(--hub-border, #e2e8f0);border-radius:var(--hub-radius-sm, 8px);padding:12px 14px;background:#f8fafc}.ca-resources-category-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.ca-resources-category-title{margin:0;flex:1 1 auto;font-size:.95rem;font-weight:700}.ca-resources-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ca-resources-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 10px;background:#fff;border:1px solid var(--hub-border, #e2e8f0);border-radius:6px}.ca-resources-row-name{font-weight:600;flex:1 1 160px}.ca-resources-row-meta{font-size:.8rem;color:var(--hub-text-secondary, #64748b)}.ca-resources-empty-cat{margin:0;font-size:.85rem;color:var(--hub-text-secondary, #64748b)}.ca-resources-upload{margin-top:8px;padding-top:16px;border-top:1px solid var(--hub-border, #e2e8f0);display:flex;flex-direction:column;gap:10px}.ca-resources-readonly-cat{margin-bottom:12px}.ca-resources-readonly-cat ul{margin:6px 0 0;padding-left:1.25rem}.sec-body{background:var(--hub-surface);border:1px solid var(--hub-border);border-radius:var(--hub-radius);padding:24px;box-shadow:var(--hub-shadow)}.sec-h2{font-size:1.125rem;color:var(--hub-text);margin:0 0 8px;font-weight:700}.sec-desc{font-size:.9rem;color:var(--hub-text-secondary);line-height:1.55;margin:0 0 20px;max-width:560px}.sec-desc-tight{margin-bottom:12px}.sec-actions-request-otp{margin-top:0;margin-bottom:4px}.sec-muted{color:var(--hub-muted);font-size:.9rem}.sec-card{margin-top:8px}.sec-status-on,.sec-status-off{font-size:.95rem;color:var(--hub-text);margin:0 0 16px}.sec-form label span{display:block;font-size:.8125rem;font-weight:600;color:var(--hub-text);margin-top:12px;margin-bottom:6px}.sec-form input[type=text],.sec-form input[type=password]{width:100%;max-width:360px;padding:10px 12px;background:var(--hub-surface);border:1px solid var(--hub-border);border-radius:var(--hub-radius-sm);color:var(--hub-text);font-size:.9rem;font-family:inherit}.sec-form input:focus{outline:none;border-color:var(--hub-primary);box-shadow:0 0 0 3px var(--hub-primary-ring)}.sec-btn-primary{margin-top:16px;padding:10px 20px;background:var(--hub-primary);border:none;border-radius:var(--hub-radius-sm);color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;font-family:inherit}.sec-btn-primary:hover:not(:disabled){background:var(--hub-primary-hover)}.sec-btn-primary:disabled{opacity:.55;cursor:not-allowed}.sec-btn-secondary{margin-top:0;padding:10px 20px;background:transparent;border:1px solid var(--hub-border);border-radius:var(--hub-radius-sm);color:var(--hub-text);cursor:pointer;font-size:.875rem;font-weight:600;font-family:inherit}.sec-btn-secondary:hover:not(:disabled){border-color:var(--hub-primary);color:var(--hub-primary)}.sec-btn-secondary:disabled{opacity:.55;cursor:not-allowed}.sec-btn-danger{margin-top:16px;padding:10px 20px;background:#b91c1c;border:none;border-radius:var(--hub-radius-sm);color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;font-family:inherit}.sec-btn-danger:hover:not(:disabled){background:#991b1b}.sec-btn-danger:disabled{opacity:.55;cursor:not-allowed}.sec-setup{margin-top:16px}.sec-qr-wrap{margin-bottom:16px;padding:12px;background:var(--hub-bg);border-radius:var(--hub-radius-sm);display:inline-block}.sec-manual{font-size:.875rem;color:var(--hub-text-secondary);margin:0 0 12px;word-break:break-all}.sec-key{font-size:.8rem;padding:2px 6px;background:var(--hub-bg);border-radius:4px;color:var(--hub-text)}.sec-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:8px}.sec-actions .um-back-btn{margin-top:0}*{margin:0;padding:0;box-sizing:border-box}:root{--hub-primary: #3874ff;--hub-primary-hover: #2d5fd4;--hub-primary-soft: rgba(56, 116, 255, .12);--hub-primary-ring: rgba(56, 116, 255, .25);--hub-bg: #f9fafb;--hub-bg-auth: linear-gradient(145deg, #f0f4ff 0%, #f8fafc 42%, #eef2ff 100%);--hub-surface: #ffffff;--hub-text: #0f172a;--hub-text-secondary: #475569;--hub-muted: #64748b;--hub-border: #e2e8f0;--hub-border-strong: #cbd5e1;--hub-radius: 12px;--hub-radius-sm: 8px;--hub-shadow: 0 1px 3px rgba(15, 23, 42, .06), 0 4px 24px rgba(15, 23, 42, .06);--hub-shadow-card: 0 4px 24px rgba(15, 23, 42, .08);--hub-font: "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--hub-top-bar-gradient: linear-gradient(155deg, #152447 0%, #1e3a7a 38%, #2a4bb8 72%, var(--hub-primary) 100%)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--hub-font);background:var(--hub-bg);min-height:100vh;color:var(--hub-text);line-height:1.5}#root{min-height:100vh}.hub-app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;background:var(--hub-bg);color:var(--hub-muted);font-size:.95rem}.hub-app-loading:before{content:"";width:36px;height:36px;border:3px solid var(--hub-border);border-top-color:var(--hub-primary);border-radius:50%;animation:hub-spin .75s linear infinite}@keyframes hub-spin{to{transform:rotate(360deg)}}a{color:var(--hub-primary)}a:hover{color:var(--hub-primary-hover)}
