/* Static adapters for Direct's SidebarProvider / SidebarInset components. */
[hidden]{display:none!important}
.portal-public>.site-surface-content{min-height:100dvh;display:flex;flex-direction:column}.portal-public main{width:100%;flex:1;margin:0 auto}.portal-public .site-footer{flex-shrink:0}
.portal-entry{padding:36px 0 64px;display:flex;justify-content:center}.portal-login-card{width:100%;max-width:460px;border:1px solid var(--line);border-radius:16px;padding:36px;background:#fff;box-shadow:0 12px 32px #0a0a0a08}.portal-login-card h1{font-size:28px;letter-spacing:-.035em;line-height:1.25;margin:14px 0}.portal-muted{font-size:14px;color:#6f747c;line-height:1.6}.portal-login-card .portal-muted{margin:0 0 28px}.portal-login-card .field{margin-bottom:20px}.portal-submit{width:100%;margin-top:8px}.portal-back{border:0;background:transparent;font-size:13px;color:var(--muted);padding:12px;min-height:44px;border-radius:8px;display:block;margin:12px auto 0}.portal-back:hover{background:#f2f3f4}.portal-loading{padding:48px 0 64px;color:#6f747c;font-size:14px}#portal-status{font-size:12px;color:#6f747c;margin:0 0 12px;min-height:18px}#portal-status[data-state=error],.portal-error{color:#9e3434}
body:has(.portal-workspace:not([hidden])){overflow:hidden}.portal-workspace{--workspace-gutter:clamp(20px,3vw,44px);--sidebar-width:16rem;color:#0a0a0a;background:#fafafa;min-height:100dvh;line-height:1.6;font-size:15px}
.portal-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);height:100dvh;display:flex;flex-direction:column;border-right:1px solid #e7e8eb;background:#fff;z-index:20;transition:transform .2s}
.portal-sidebar-header{display:flex;flex-direction:column;flex-shrink:0}.portal-sidebar-header .brand{align-self:flex-start}.portal-sidebar-content{flex:1;min-height:0;overflow-y:auto;padding:15px}.portal-sidebar nav{display:flex;flex-direction:column;align-items:stretch;gap:6px}
.portal-menu-button{display:flex;align-items:center;gap:12px;width:100%;min-height:46px;height:auto;padding:12px;border-radius:9px;font-size:14px;font-weight:400;line-height:1.4;text-decoration:none;color:#0a0a0a;background:transparent;border:0;text-align:left}.portal-menu-button:is(:hover,[aria-current=page]){background:#f2f3f4}.portal-menu-button>svg{width:18px;height:18px;flex:0 0 18px;color:#6f747c;stroke-width:1.6}
.portal-sidebar-footer{display:flex;flex-direction:column;border-top:1px solid #e7e8eb;padding:20px 24px;gap:6px;flex-shrink:0;overflow-wrap:anywhere}.portal-sidebar-footer>strong{font-size:14px;font-weight:500}.portal-sidebar-footer>.portal-muted{font-size:12px}.portal-sidebar-footer .portal-signout{margin-top:10px}.portal-eyebrow{font-size:10px;letter-spacing:.13em;color:#6f747c;font-weight:500}
.portal-inset{height:100dvh;display:flex;flex-direction:column;min-width:0;margin-left:var(--sidebar-width);background:#fafafa;overflow:hidden;transition:margin-left .2s}.portal-topbar{display:flex;align-items:center;flex-shrink:0;height:72px;min-height:72px;max-width:none;margin:0;background:#fff;border-bottom:1px solid #e7e8eb;padding:18px 32px;gap:14px;font-size:13px}
.portal-sidebar-trigger{display:grid;place-items:center;border:0;background:transparent;padding:7px;width:30px;height:30px;border-radius:6px;flex-shrink:0}.portal-sidebar-trigger:hover{background:#f2f3f4}.portal-sidebar-trigger>svg{width:16px;height:16px;stroke-width:2}.portal-location{min-width:0;overflow-wrap:anywhere;line-height:1.5}.portal-location>span{color:#6f747c}.portal-website-link{margin-left:auto;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.portal-website-link>svg{width:14px;height:14px}.portal-main{width:100%;max-width:1500px;flex:1;min-height:0;margin:0 auto;padding:32px var(--workspace-gutter) 24px;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}
.portal-title{margin:0 0 28px}.portal-title h1{margin:5px 0 0;font-size:30px;font-weight:550;letter-spacing:-.04em;line-height:1.25}.portal-title p{margin:12px 0 0;color:#6f747c;font-size:14px}
.portal-card{margin:20px 0;padding:26px;border:1px solid #e7e8eb;border-radius:16px;box-shadow:0 4px 18px #00000008;background:#fff;min-width:0}.portal-card h2{font-size:20px;letter-spacing:-.025em;line-height:1.4;font-weight:550;color:#0a0a0a;margin:0 0 12px}.portal-card p{font-size:14px;line-height:1.65;color:#6f747c}.portal-profile dl{display:grid;grid-template-columns:100px minmax(0,1fr);gap:18px;margin:24px 0 0;font-size:14px}.portal-profile dt{color:#6f747c}.portal-profile dd{margin:0;overflow-wrap:anywhere}.portal-users{border:1px solid #e7e8eb;border-radius:10px;overflow:hidden}.portal-user{padding:18px 20px;font-size:14px;overflow-wrap:anywhere}.portal-user+.portal-user{border-top:1px solid #e7e8eb}.portal-user p{margin:5px 0 0;font-size:13px;color:#6f747c}
.portal-inset>.portal-footer{display:block;flex-shrink:0;width:100%;max-width:1500px;margin:0 auto;padding:0 var(--workspace-gutter);background:#fafafa;border:0}.portal-footer .footer-inner{margin:0;padding:16px 0 max(16px,env(safe-area-inset-bottom));line-height:1.5;font-size:12px}.portal-footer .footer-links{font-size:12px}.portal-footer a{text-decoration:underline;text-underline-offset:3px}
.portal-workspace.is-collapsed>.portal-sidebar{transform:translateX(-100%)}.portal-workspace.is-collapsed>.portal-inset{margin-left:0}
/* Mobile SidebarReveal: the same left-side page reveal used by Direct. */
.portal-mobile-menu{--mobile-menu-width:min(78vw,320px);position:fixed;inset:0 auto 0 0;margin:0;width:var(--mobile-menu-width);max-width:none;height:100dvh;max-height:100dvh;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));border:0;border-radius:0;background:transparent;box-shadow:none;color:#0a0a0a;overflow:hidden;transform:translateX(-18%);opacity:0;transition:transform .3s cubic-bezier(.22,.7,.2,1),opacity .2s}.portal-mobile-menu[open]{display:flex;flex-direction:column}.portal-mobile-menu[data-revealed=true]{transform:translateX(0);opacity:1}.portal-mobile-menu::backdrop{background:transparent}.portal-menu-close{position:absolute;right:12px;top:max(12px,env(safe-area-inset-top));display:grid;place-items:center;width:44px;height:44px;background:transparent;border:0;border-radius:8px;color:#6f747c;z-index:1}.portal-menu-close:hover{background:#f2f3f4}.portal-menu-close>svg{width:18px;height:18px}.portal-mobile-menu #portal-mobile-content{display:flex;flex:1;min-height:0}.portal-mobile-menu .portal-sidebar{position:static;inset:auto;width:100%;height:100%;border:0;transform:none;background:transparent;transition:none}.portal-mobile-menu .portal-sidebar-header{padding:32px 44px 24px 14px;gap:12px}.portal-mobile-menu .portal-sidebar-header .brand>div{font-size:17px}.portal-mobile-menu .portal-sidebar-header .brand small{font-size:8px}.portal-mobile-menu .portal-sidebar-content{padding:0}.portal-mobile-menu .portal-sidebar-footer{padding:18px 0 max(24px,env(safe-area-inset-bottom))}
@media(max-width:800px){.portal-workspace{--workspace-gutter:16px}.portal-main{padding:24px var(--workspace-gutter)}.portal-title h1{font-size:27px}.portal-card{padding:20px 16px}}
@media(max-width:767px){.portal-workspace>.portal-sidebar{display:none}.portal-inset{margin-left:0!important;transition:transform .3s cubic-bezier(.22,.7,.2,1),border-radius .3s,box-shadow .3s}.portal-workspace:has(.portal-mobile-menu[open][data-revealed=true])>.portal-inset{transform:translateX(min(78vw,320px));border-radius:30px 0 0 30px;box-shadow:-12px 0 36px #00000012}.portal-topbar{padding:14px 16px;gap:10px;min-height:64px;height:64px}.portal-website-link{font-size:12px;padding:8px!important}.portal-location{font-size:12px}.portal-footer .footer-inner{gap:8px 14px;font-size:11px;padding-top:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.portal-footer .footer-links{font-size:11px;gap:8px 14px}.portal-entry{padding:24px 0 40px}.portal-login-card{padding:26px 24px}.portal-login-card h1{font-size:25px}.portal-profile dl{grid-template-columns:1fr;gap:8px}.portal-profile dd+dt{margin-top:12px}.portal-website-link{border:0!important;background:transparent!important;box-shadow:none!important}.portal-mobile-menu .portal-menu-button{min-height:44px}}
@media(prefers-reduced-motion:reduce){.portal-workspace *{transition:none!important;scroll-behavior:auto!important}}

/* Direct workspace theme, copied from the existing source. */
.account-workspace{background:#f7f7f8;font-size:15px;line-height:1.6}
.account-workspace [data-slot=sidebar-inset]{min-width:0;background:#fafafa}
.account-workspace .account-sidebar{border-color:#e7e8eb}
.account-workspace .account-sidebar [data-slot=sidebar-header]{padding:30px 24px 26px;gap:12px}
.account-workspace .account-sidebar [data-slot=sidebar-menu]{gap:6px}
.account-workspace .account-sidebar [data-slot=sidebar-menu-button]{height:auto;min-height:46px;padding:12px;font-size:14px;border-radius:9px;font-weight:400;gap:12px}
.account-workspace .account-sidebar [data-slot=sidebar-menu-button]>svg{width:18px;height:18px;color:#6f747c;stroke-width:1.6}
.account-workspace .account-sidebar [data-slot=sidebar-footer]{border-top:1px solid #e7e8eb;padding:20px 24px;gap:6px;overflow-wrap:anywhere}
.account-workspace .account-sidebar [data-slot=sidebar-footer]>strong{font-size:14px;font-weight:500}
.account-workspace .account-sidebar [data-slot=sidebar-footer]>.account-muted{font-size:12px}
.account-workspace .account-topbar{min-height:72px;height:auto;padding:18px 32px;border-color:#e7e8eb;font-size:13px;gap:14px}
.account-workspace .account-topbar>a{border:1px solid #e7e8eb;border-radius:9px;padding:8px 12px;font-size:13px;transition:background .18s}
.account-workspace .account-topbar>a:hover{background:#f2f3f4}
.account-workspace .account-main{padding:32px clamp(20px,3vw,44px) 24px;min-width:0}
.account-workspace .account-title{margin:0 0 28px;gap:16px}
.account-workspace .account-title h1{margin:5px 0 0;font-size:30px;font-weight:550;letter-spacing:-.04em;line-height:1.25}
.account-workspace .account-eyebrow{font-size:10px;letter-spacing:.13em;color:#6f747c;font-weight:500}
.account-workspace .account-card{margin:20px 0;padding:26px;border:1px solid #e7e8eb;border-radius:16px;box-shadow:0 4px 18px #00000008;background:#fff;min-width:0}
.account-workspace .account-card h2{font-size:20px;letter-spacing:-.025em;line-height:1.4;font-weight:550;color:#0a0a0a}
.account-workspace .account-card p{font-size:14px;line-height:1.65}
.account-workspace{min-height:100dvh}
.account-workspace [data-slot=sidebar-inset]{height:100dvh;overflow:hidden}
.account-workspace .account-topbar{flex-shrink:0}
.account-workspace .account-main{flex:1;min-height:0;margin:0 auto;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}

.account-workspace .account-main{margin:0 auto;padding-top:32px}

/* Direct administrator shell, copied from the existing source. */
.admin-workspace{--primary:#0a0a0a;--primary-foreground:#fff;--ring:#a4a9b0;--border:#e4e6ea;--sidebar-accent:#f2f3f4;color:#111;background:#fafafa;font-size:14px}
.admin-workspace>[data-slot=sidebar-inset]{background:#fafafa;min-width:0}
.admin-sidebar [data-sidebar=sidebar]{background:#fff;border-color:#e4e6ea}
.admin-sidebar [data-sidebar=header]{padding:28px 22px;gap:20px}
.admin-sidebar [data-sidebar=content]{padding:8px 14px}
.admin-sidebar [data-sidebar=menu-button]{border-radius:10px;height:44px;font-weight:400;gap:12px}
.admin-sidebar [data-sidebar=menu-button]>svg{color:#777e87;stroke-width:1.6}
.admin-sidebar [data-sidebar=menu-button]:hover,.admin-sidebar [data-sidebar=menu-button][data-active=true]{background:#f2f3f4}
.admin-sidebar [data-sidebar=footer]{border-top:1px solid #e4e6ea;padding:20px}
.admin-topbar{background:#fff;height:72px;border-color:#e4e6ea;flex-shrink:0}
.admin-topbar>a{border:1px solid #e4e6ea;border-radius:10px;padding:10px 14px;background:#fff;color:#111;box-shadow:0 1px 2px #00000003}
.admin-main{width:100%;max-width:1680px;margin:0 auto;padding:36px;min-width:0}
.admin-page-heading{min-height:96px;margin-bottom:28px;align-items:center}
.admin-page-heading h1{font-size:32px;font-weight:600;letter-spacing:-.04em;margin:8px 0;line-height:1.2}
.admin-kicker{font-size:10px;font-weight:500;letter-spacing:.14em;color:#747a83}
.admin-muted{color:#747a83}

.admin-workspace{--workspace-gutter:36px}.admin-workspace .portal-topbar{padding-inline:36px}.admin-workspace .portal-sidebar-footer{padding:20px}.admin-workspace .portal-sidebar-header .brand>div{font-size:17px}.admin-workspace .portal-sidebar-header .brand small{font-size:8px}.admin-workspace .portal-title h1{font-size:32px;font-weight:600}.admin-workspace .portal-main{padding-top:36px}@media(max-width:767px){.admin-workspace{--workspace-gutter:16px}.admin-workspace .portal-topbar{padding-inline:18px}.admin-workspace .portal-main{padding-top:28px}.admin-workspace .portal-title h1{font-size:30px}}

.portal-topbar{justify-content:flex-start}.portal-menu-button[aria-current=page]{text-decoration:none}.admin-workspace .portal-menu-button{min-height:44px}
@media(max-width:767px){.account-workspace .portal-mobile-menu .account-sidebar [data-slot=sidebar-header]{padding:max(32px,env(safe-area-inset-top)) 44px 24px 14px;gap:12px}.account-workspace .portal-mobile-menu .account-sidebar [data-slot=sidebar-footer]{padding:18px 0 max(24px,env(safe-area-inset-bottom))}.admin-workspace .portal-mobile-menu .admin-sidebar [data-sidebar=header]{padding:26px 44px 18px 12px;gap:12px}.admin-workspace .portal-mobile-menu .admin-sidebar [data-sidebar=content]{padding:0}.admin-workspace .portal-mobile-menu .admin-sidebar [data-sidebar=footer]{padding:12px 0 max(14px,env(safe-area-inset-bottom))}}

@media(max-width:767px){.portal-workspace:has(.portal-mobile-menu[open]){background:#fff}}

/* Direct enquiry layout and workspace theme values. */
.enquiries-page{display:grid;gap:20px}.enquiries-toolbar{display:flex;gap:14px;align-items:end}.enquiries-toolbar>input{flex:1;max-width:500px;height:40px}.enquiries-toolbar>button{height:40px}.enquiries-layout{display:grid;grid-template-columns:minmax(240px,330px) minmax(0,1fr);gap:24px;align-items:start}.enquiries-list{display:grid;gap:8px;min-width:0}.enquiries-list>button{display:grid;gap:9px;text-align:left;padding:18px;border:1px solid #dde3e8;border-radius:9px;background:white;overflow-wrap:anywhere}.enquiries-list>button.selected{background:#eef4f8;border-color:#7795a9}.enquiries-list>button:hover{border-color:#7795a9}.enquiries-list strong{font-size:16px;font-weight:550}.enquiries-list span{font-size:14px}.enquiries-list small{color:#6d7e88;font-size:12px}.enquiries-list>button>span:first-child{display:flex;justify-content:space-between;gap:10px}.enquiry-thread,.enquiries-empty{border:1px solid #dde3e8;border-radius:10px;padding:24px;min-width:0;background:#fff}.enquiries-empty{padding:50px 24px;color:#6d7e88}.enquiry-thread-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:20px}.enquiry-thread-heading h2{font-size:21px;line-height:1.4;margin:7px 0;overflow-wrap:anywhere}.enquiry-thread-heading p,.enquiry-thread-heading small{color:#6d7e88;font-size:13px;overflow-wrap:anywhere}.enquiry-state{display:inline-block;font-size:12px;margin-top:12px;border:1px solid #dce4e9;border-radius:5px;padding:4px 8px}.enquiry-messages{display:grid;gap:18px;margin:24px 0}.enquiry-message{border:1px solid #e2e7ea;border-radius:9px;padding:18px;min-width:0}.enquiry-message-operator{background:#f1f6fa;border-color:#d4e1eb}.enquiry-message>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px}.enquiry-message time,.enquiry-message>small{color:#6d7e88;font-size:12px}.enquiry-message p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.75;margin:14px 0}.enquiry-message>button{margin:12px 0 0}.enquiry-reply{display:grid;gap:18px;margin-top:24px}.enquiry-reply label{display:grid;gap:8px;font-size:14px}.enquiry-reply textarea{field-sizing:fixed;min-height:150px;line-height:1.6}.enquiry-reply>div{display:flex;gap:12px;flex-wrap:wrap}.enquiry-reply>button{justify-self:start}.enquiry-pages{display:flex;gap:12px;align-items:center;margin-top:16px}.account-enquiry-list{margin-top:32px}@media(max-width:900px){.enquiries-layout{grid-template-columns:1fr}.enquiries-list{max-height:360px;overflow:auto}}@media(max-width:640px){.enquiries-toolbar{flex-wrap:wrap}.enquiries-toolbar>input{flex-basis:100%;max-width:none}.enquiry-thread{padding:18px}.enquiry-thread-heading{flex-wrap:wrap}}

.manager-unread{display:inline-flex;align-items:center;gap:5px;margin-left:auto;border-radius:12px;background:#173f5c;color:white;padding:3px 7px;font-size:12px;line-height:1.3;flex-shrink:0}.manager-unread svg{width:15px;height:15px}.enquiry-client-label{display:block!important;color:#235777!important;font-size:12px!important;font-weight:600;margin:5px 0}.enquiry-unread-count{margin-left:8px;background:#173f5c;color:#fff;border-radius:10px;padding:2px 7px;font-size:12px!important}.enquiries-toolbar{flex-wrap:wrap}

.enquiry-chat-messages{max-height:55vh;overflow-y:auto;padding-right:6px;overscroll-behavior:contain}

.account-workspace :is(.account-muted,.account-card small,.account-candidates small,.account-help,.account-step,.account-phone-optional,.account-phone-dial,.enquiries-list small,.enquiry-message time,.enquiry-message>small,.enquiry-thread-heading p,.enquiry-thread-heading small,.replacement-history small,.campaign-reply-email>small,.reply-email-verification small){color:#6f747c}
.account-workspace :is(.account-status,.enquiry-state){background:#f2f3f4;color:#494e56;border-color:#e7e8eb;border-radius:7px}
.account-workspace :is(.connection-card,.enquiry-thread,.enquiries-empty,.enquiries-list>button,.account-report){border-color:#e7e8eb;border-radius:14px;box-shadow:0 4px 18px #00000006}
.account-workspace .enquiries-list>button:is(.selected,:hover){background:#f7f7f8;border-color:#a7abb2}
.account-workspace .enquiry-message{border-color:#e7e8eb;border-radius:12px}
.account-workspace .enquiry-message-operator{background:#f7f7f8}
.account-workspace :is(.manager-unread,.enquiry-unread-count){background:#0a0a0a}

/* Workload monitoring and mail log use the Direct workspace tokens. */
.workload-delivery-dialog{width:min(760px,calc(100vw - 32px))!important}.workload-delivery-item{padding:16px 0;border-bottom:1px solid #e7e8eb}.workload-delivery-item>div{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.workload-delivery-item strong{font-size:14px;font-weight:500}.workload-delivery-item small{display:block;margin-top:6px;overflow-wrap:anywhere}.workload-delivery-item p{font-size:13px;line-height:1.6;margin:8px 0}.workload-delivery-item:last-of-type{border-bottom:0}.workload-delivery-item .workload-state{font-size:12px;text-transform:capitalize;flex-shrink:0}.workload-deadline-flag{display:inline-flex;gap:6px;align-items:center;font-size:12px;margin:6px 0}.workload-deadline-flag svg{width:14px;height:14px}.workload-health-notice{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;margin:0 0 20px;border:1px solid #e7e8eb;border-radius:10px;background:#f7f7f8;font-size:13px;line-height:1.6}.workload-health-notice[hidden]{display:none}.workload-health-notice svg{width:17px;height:17px;flex-shrink:0;margin-top:2px}.workload-heading>div{flex:1;min-width:0}.research-workload-toolbar{flex-wrap:wrap}@media(max-width:640px){.workload-heading{flex-wrap:wrap}.workload-delivery-item>div{flex-wrap:wrap}.workload-delivery-dialog{width:calc(100vw - 24px)!important}}

/* Shared client/admin login layout and values from UHNWI Direct apps/admin/AdminLogin.tsx and app/admin/admin.css. */
body[data-portal] .portal-auth-public{min-height:100dvh;background:#f7f7f8}
body[data-portal] .portal-auth{min-height:100dvh;max-width:none;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;gap:30px}
body[data-portal] .portal-auth-layout{display:flex;flex-direction:column;align-items:center;gap:30px;width:100%;padding:0}
body[data-portal] .portal-auth-layout>.brand{flex:none}
body[data-portal] .portal-auth-card{width:min(100%,440px);max-width:440px;background:#fff;border:1px solid #dadde1;border-radius:12px;padding:36px;box-shadow:none}
body[data-portal] .portal-auth h1{font-size:30px;line-height:1.5;letter-spacing:-.04em;font-weight:500;margin:12px 0}
body[data-portal] .portal-auth .portal-auth-kicker{font-size:12px;letter-spacing:.14em;color:#6f747c}
body[data-portal] .portal-auth .portal-muted{font-size:14px;color:#6f747c;line-height:1.7;margin:0}
body[data-portal] .portal-auth form{display:grid;gap:20px;margin-top:28px}
body[data-portal] .portal-auth #portal-credentials{display:grid;gap:20px}
body[data-portal] .portal-auth .field{display:grid;gap:8px;margin:0;min-width:0}
body[data-portal] .portal-auth label{font-size:14px;line-height:1.5;font-weight:400;margin:0}
body[data-portal] .portal-auth [data-slot=input]{width:100%;min-width:0;height:44px;min-height:44px;padding:4px 12px;border:1px solid #dadde1;border-radius:8px;background:transparent;font-size:14px;line-height:20px;box-shadow:0 1px 2px #0000000d;outline:none}
body[data-portal] .portal-auth [data-slot=input]:focus-visible{border-color:#a7abb2;box-shadow:0 0 0 3px #a7abb280}
body[data-portal] .portal-auth [data-slot=button]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;height:36px;width:100%;margin:0;padding:8px 12px;border:0;border-radius:6px;background:#0a0a0a;color:#fff;font-size:14px;line-height:20px;font-weight:500;transition:background-color .15s}
body[data-portal] .portal-auth [data-slot=button]:hover{background:#27282a}
body[data-portal] .portal-auth [data-slot=button]:disabled{opacity:.5;cursor:not-allowed}
body[data-portal] .portal-auth [data-variant=ghost]{background:transparent;color:#6f747c;font-weight:400}
body[data-portal] .portal-auth [data-variant=ghost]:hover{background:#f2f3f4;color:#0a0a0a}
body[data-portal] .portal-auth svg{width:16px;height:16px;flex:none;pointer-events:none}
body[data-portal] .portal-auth #portal-status{font-size:12px;line-height:1.6;color:#6f747c;margin:0;min-height:0;text-align:center;overflow-wrap:anywhere}
body[data-portal] .portal-auth #portal-status:empty{display:none}
body[data-portal] .portal-auth #portal-status[data-state=error]{border:1px solid #dadde1;background:#f7f7f8;padding:12px;font-size:14px;line-height:1.6;border-radius:6px;text-align:left;color:#9e3434}
body[data-portal] .portal-auth-return{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:#6f747c;line-height:1.7;padding:4px 0}
body[data-portal] .portal-auth-return:hover{color:#0a0a0a}
@media(max-width:767px){body[data-portal] .portal-auth{padding:22px}body[data-portal] .portal-auth-card{padding:26px}body[data-portal] .portal-auth [data-slot=input]{font-size:16px}body[data-portal] .portal-auth [data-slot=button]{min-height:40px;height:40px}body[data-portal] .portal-auth-layout>.brand>div{font-size:21px}body[data-portal] .portal-auth-layout>.brand small{font-size:9px}}

/* Provider controls share Direct's login typography and compact action sizes. */
.portal-auth-providers{margin-top:28px}.portal-auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#6f747c;font-size:11px;letter-spacing:.1em}.portal-auth-divider::before,.portal-auth-divider::after{content:'';flex:1;height:1px;background:#dadde1}body[data-portal] .portal-auth-providers+form{margin-top:0}body[data-portal] .portal-auth-providers [data-slot=button]{color:#0a0a0a}body[data-portal] .portal-auth-providers [data-slot=button]>svg{stroke:none}

/* Customer login uses UHNWI Direct apps/account/AccountLogin.tsx and apps/account/auth.css. */
.account-auth-dialog[data-slot=dialog-content]{width:calc(100% - 32px);max-width:480px;max-height:calc(100dvh - 32px);overflow-y:auto;display:block;padding:48px 40px 36px;border:0;border-radius:26px;background:#fff;color:#0a0a0a;box-shadow:0 24px 80px #0003}
.account-auth-dialog>[data-slot=dialog-close]{top:20px;right:20px;width:28px;height:28px;display:grid;place-items:center;color:#0a0a0a;opacity:1}
.account-auth-dialog>[data-slot=dialog-close] svg{width:21px;height:21px}
.account-auth-form{width:100%;min-width:0;color:#0a0a0a;--primary:#0a0a0a;--primary-foreground:#fff;--ring:#9da0a5}
.account-auth-form .account-auth-title{text-align:center;font-size:30px;font-weight:500;line-height:1.25;letter-spacing:-.035em;margin:0 0 32px}
.account-auth-providers{display:grid;gap:12px}
.account-auth-form .account-auth-provider{width:100%;height:auto;min-height:54px;padding:13px 20px;border:1px solid #cfd1d4;border-radius:999px;background:#fff;color:#0a0a0a;font-size:16px;font-weight:500;line-height:1.4;white-space:normal;box-shadow:none;gap:12px}
.account-auth-form .account-auth-provider:hover{background:#f7f7f8;border-color:#9da0a5}
.account-auth-form .account-auth-provider svg{width:21px;height:21px;flex-shrink:0}
.account-auth-divider{display:flex;align-items:center;gap:22px;margin:25px 0;color:#6f747c;font-size:13px;line-height:1.5}
.account-auth-divider:before,.account-auth-divider:after{content:'';height:1px;flex:1;background:#dadde1}
.account-auth-fields{display:grid;gap:12px}
.account-auth-form .account-auth-email{margin:0;width:100%;height:54px;padding:0 20px;border:1px solid #dadde1;border-radius:999px;font-size:16px;box-shadow:none;background:#fff}
.account-auth-email::placeholder{color:#6f747c}
.account-auth-form .account-auth-continue{margin:0;width:100%;min-height:54px;height:auto;padding:14px 20px;border-radius:999px;background:#0a0a0a;color:white;font-size:16px;font-weight:500;line-height:1.4;white-space:normal}
.account-auth-form .account-auth-continue:hover{background:#35383d}
.account-auth-form .account-auth-error{margin:0;color:#9c2929;font-size:14px;line-height:1.5}
.account-auth-form .account-auth-code-note{margin:0 0 12px;text-align:center;color:#6f747c;font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.account-auth-code-note strong{font-weight:500;color:#0a0a0a}
.account-auth-code{justify-content:center;margin-bottom:8px}
.account-auth-remember{display:flex;align-items:center;justify-content:center;gap:9px;margin:4px 0 12px;font-size:14px;color:#6f747c}
.account-auth-form .account-auth-back{font-size:13px;white-space:normal;height:auto;line-height:1.5;color:#6f747c;padding:8px 0}
.account-auth-preview{display:block;margin-top:24px;text-align:center;color:#6f747c;font-size:13px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:520px){.account-auth-dialog[data-slot=dialog-content]{padding:48px 24px 28px;border-radius:24px}.account-auth-form .account-auth-title{font-size:27px;margin-bottom:28px}.account-auth-form .account-auth-provider{padding-inline:14px}}
body[data-portal=account] .portal-client-auth-public{min-height:100dvh;background:#fff}
.portal-client-auth-header{height:112px;max-width:1320px;padding:0 64px;margin:0 auto;border-bottom:1px solid #e7e8eb;display:flex;align-items:center;justify-content:space-between;gap:20px}
.portal-client-auth-main{padding:0;max-width:none}.portal-client-auth-main>.portal-loading{position:fixed;inset:0;display:grid;place-items:center;margin:0}
.account-auth-dialog{position:fixed;inset:0;margin:auto;font-family:var(--font);line-height:1.5}.account-auth-dialog::backdrop{background:#0008}
.account-auth-dialog[hidden],.portal-client-auth-header[hidden],.account-auth-form [hidden]{display:none!important}
.account-auth-dialog button,.account-auth-dialog input{font-family:inherit}.account-auth-dialog button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer}.account-auth-dialog button:disabled{opacity:.5;cursor:not-allowed}
.account-auth-dialog .account-auth-provider{border:1px solid #cfd1d4;gap:12px}.account-auth-dialog .account-auth-provider svg{stroke:none}.account-auth-dialog .account-auth-fields{margin:0}
.account-auth-dialog .account-auth-back{background:transparent;font-weight:400;border-radius:6px;min-height:36px}.account-auth-dialog .account-auth-back:hover{background:#f2f3f4}.account-auth-dialog .account-auth-back svg{width:16px;height:16px}
.account-auth-dialog .account-auth-error:empty{display:none}.account-auth-dialog #portal-status{margin:0;min-height:0;text-align:left;font-size:14px;line-height:1.5}.account-auth-dialog #portal-status[data-state=error]{color:#9c2929}
.portal-auth-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.account-auth-dialog .portal-client-auth-close{position:absolute;top:20px;right:20px;width:28px;height:28px;padding:0;border:0;background:transparent;color:#0a0a0a;opacity:1;display:grid;place-items:center;border-radius:2px}.portal-client-auth-close svg{width:21px;height:21px}.portal-client-auth-close:hover{background:#f2f3f4}
.account-auth-dialog :focus-visible{outline:2px solid #9da0a5;outline-offset:3px}.account-auth-dialog .account-auth-email:focus-visible{outline:0;border-color:#9da0a5;box-shadow:0 0 0 3px #9da0a580}
.account-auth-code{position:relative;display:flex;justify-content:center;width:216px;height:36px;margin:0 auto 8px;cursor:text}.account-auth-code [data-slot=input-otp-group]{display:flex;width:100%;pointer-events:none}.account-auth-code [data-slot=input-otp-slot]{width:36px;height:36px;display:grid;place-items:center;border:1px solid #dadde1;border-left:0;font-size:14px;box-shadow:0 1px 2px #0000000d}.account-auth-code [data-slot=input-otp-slot]:first-child{border-left:1px solid #dadde1;border-radius:6px 0 0 6px}.account-auth-code [data-slot=input-otp-slot]:last-child{border-radius:0 6px 6px 0}.account-auth-code:focus-within [data-active=true]{position:relative;z-index:1;border:1px solid #9da0a5;box-shadow:0 0 0 3px #9da0a580}
.account-auth-code [data-slot=input-otp]{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;font-size:16px;cursor:text}.account-auth-dialog .account-auth-remember{display:flex;align-items:center;justify-content:center;gap:9px;margin:16px 0 12px;line-height:1.5;font-weight:400}.account-auth-remember input{appearance:none;width:16px;height:16px;flex:none;border:1px solid #dadde1;border-radius:4px;margin:0;box-shadow:0 1px 2px #0000000d}.account-auth-remember input:checked{background:#0a0a0a;border-color:#0a0a0a}.account-auth-remember input:checked::after{content:'';display:block;width:8px;height:4px;border:solid white;border-width:0 0 2px 2px;transform:rotate(-45deg);margin:4px 3px}
@media(max-width:760px){.portal-client-auth-header{padding:0 22px;gap:12px}.portal-client-auth-header .portal-auth-return{font-size:12px}.portal-client-auth-header .brand>div{font-size:17px}.portal-client-auth-header .brand small{font-size:8px}}

/* Discoverable Direct sidebar trigger; the inset expands with the existing collapse state. */
.portal-sidebar-trigger{display:flex;align-items:center;justify-content:center;width:auto;gap:8px}.portal-sidebar-label{white-space:nowrap}@media(max-width:767px){.portal-sidebar-label{display:none}}
