/* Deliberately reuses NEXUS' existing navy/green palette, radius and typography. */
#nx-enterprise-button{position:fixed;inset-inline-start:18px;top:18px;z-index:1090;background:#113a48;color:#fff;border:1px solid #72bfa4;border-radius:12px;padding:9px 16px;font:inherit;cursor:pointer}
#nx-enterprise-overlay{position:fixed;inset:0;z-index:5000;background:rgba(7,20,31,.72);display:none;backdrop-filter:blur(5px)}
#nx-enterprise-overlay[open]{display:block}
.nxe-shell{position:absolute;inset:3vh 4vw;overflow:auto;background:#f6f9fa;color:#123442;border-radius:18px;box-shadow:0 20px 70px #0005;direction:rtl;font-family:inherit}
.nxe-header{display:flex;gap:16px;align-items:center;justify-content:space-between;background:#113a48;color:white;padding:18px 24px;position:sticky;top:0;z-index:2}
.nxe-header h2{margin:0;font-size:22px}.nxe-body{padding:24px;max-width:1300px;margin:auto}.nxe-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.nxe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.nxe-card{padding:18px;border:1px solid #d9e4e8;border-radius:12px;background:white;margin-bottom:16px}.nxe-card label{display:block;margin:10px 0 5px;font-weight:600}.nxe-card input,.nxe-card select,.nxe-card textarea{width:100%;padding:10px;border:1px solid #b9cbd1;border-radius:8px;font:inherit;box-sizing:border-box;background:#fff;color:#142c38}.nxe-card textarea{min-height:140px;direction:ltr}.nxe-card button,.nxe-nav button,.nxe-header button{padding:9px 15px;border:1px solid #a0c6ba;border-radius:8px;background:#146c56;color:white;font:inherit;cursor:pointer;margin:4px}.nxe-card button:disabled{opacity:.45;cursor:not-allowed}.nxe-status{white-space:pre-wrap;overflow-wrap:anywhere;min-height:24px}.nxe-error{color:#9a2323}.nxe-table{width:100%;border-collapse:collapse}.nxe-table th,.nxe-table td{padding:10px;border:1px solid #d9e4e8;text-align:start}.nxe-scroll{overflow:auto}.nxe-note{font-size:14px;color:#496776}.nxe-tag{background:#e8f4ef;color:#15573f;padding:5px 9px;border-radius:20px;display:inline-block;margin:3px}.nxe-result{background:#edf3f5;border-radius:8px;padding:16px;white-space:pre-wrap;overflow:auto;max-height:520px;direction:ltr;font-size:13px}.nxe-header button:focus-visible,.nxe-card button:focus-visible,.nxe-nav button:focus-visible{outline:3px solid #cbaa59;outline-offset:3px}@media(max-width:600px){.nxe-shell{inset:0;border-radius:0}.nxe-body{padding:12px}.nxe-header{padding:14px}.nxe-grid{grid-template-columns:1fr}#nx-enterprise-button{font-size:12px;top:auto;bottom:90px}}

/* nxe-mobile-dock-fix: never solve overlap by disabling pointer events or forcing clicks. */
#nx-enterprise-overlay{z-index:110000}
@media(max-width:600px){
 #nexusLicenseBadge{left:8px!important;right:auto!important;bottom:calc(72px + env(safe-area-inset-bottom))!important;height:30px!important;max-width:calc(50vw - 12px);font-size:10px!important;z-index:1085!important}
 #nexusSessionBadge{left:auto!important;right:8px!important;bottom:calc(72px + env(safe-area-inset-bottom))!important;height:30px!important;max-width:calc(50vw - 12px);font-size:10px!important;z-index:1085!important}
 #nx-enterprise-button{bottom:auto;top:8px;max-width:calc(100vw - 120px);padding:8px;font-size:11px}
 #nexus-ai-toggle{bottom:calc(114px + env(safe-area-inset-bottom))!important;left:8px!important}
 #nexus-ai-panel{left:8px!important;right:8px!important;width:auto!important;bottom:calc(172px + env(safe-area-inset-bottom))!important;max-height:calc(100dvh - 228px)}
}

.nxe-form-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.nxe-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}.nxe-form-field{display:flex;flex-direction:column;gap:6px}.nxe-form-field input[type=checkbox]{width:24px;height:24px}.nxe-card details{border:1px solid #334155;border-radius:10px;padding:12px;margin:10px 0}.nxe-card summary{cursor:pointer;padding:8px}.nxe-evidence-tokens{display:flex;flex-wrap:wrap;gap:6px}.nxe-evidence-tokens button[aria-pressed=true]{background:#14532d;border-color:#22c55e}

/* Native top-layer modality blocks late focus() from the asynchronous legacy vault,
   while retaining the existing full-screen overlay and shell geometry. */
#nx-enterprise-overlay{margin:0;padding:0;border:0;width:100vw;height:100dvh;max-width:none;max-height:none;box-sizing:border-box}
#nx-enterprise-overlay::backdrop{background:transparent}

/* Clean client portal. Owner controls are still authorized and rendered separately. */
html.nxe-client-route-root body:not(.nxe-client-route){visibility:hidden!important;background:#08111f!important}
body.nxe-client-route{margin:0!important;min-height:100dvh!important;overflow:hidden!important;background:#08111f!important}
body.nxe-client-route>:not(#nx-enterprise-overlay):not(#nxe-client-chat-button):not(#nxe-client-chat){display:none!important}
html.nxe-client-auth-pending body{visibility:hidden!important;background:#08111f!important}
html.nxe-client-full-app-root .nxcp-card:has([data-setting^="connections.aiBackend"]),
html.nxe-client-full-app-root .nxcp-card:has([data-setting^="connections.ollama"]),
html.nxe-client-full-app-root .nxcp-card:has([data-setting^="connections.lmstudio"]),
html.nxe-client-full-app-root .nxcp-card:has([data-setting^="connections.vllm"]){display:none!important}
.nxe-shell.nxe-client-mode{inset:0;border-radius:0;background:#08111f;color:#edf5f8;direction:rtl}
.nxe-client-mode .nxe-header{background:rgba(8,17,31,.92);border-bottom:1px solid #ffffff14;padding:16px max(24px,calc((100vw - 1120px)/2))}
.nxe-client-mode .nxe-body{max-width:1120px;padding:46px 24px 90px}
.nxe-client-mode .nxe-nav{justify-content:flex-end}.nxe-client-mode .nxe-status{min-height:0}
.nxe-client-login-intro,.nxe-client-hero{padding:38px;border:1px solid #ffffff18;border-radius:24px;background:linear-gradient(135deg,#10243b,#0b1828);box-shadow:0 24px 70px #0005;margin-bottom:20px}
.nxe-client-kicker{color:#d9a05b;font-size:12px;letter-spacing:.16em;font-weight:800}
.nxe-client-login-intro h1,.nxe-client-hero h1{font-size:clamp(30px,5vw,52px);line-height:1.1;margin:16px 0;color:#fff}
.nxe-client-login-intro p,.nxe-client-hero p{max-width:720px;color:#a9bdc9;font-size:16px;line-height:1.8}
.nxe-client-mode .nxe-card{background:#101d2e;border-color:#ffffff14;color:#edf5f8;padding:24px;border-radius:18px}
.nxe-client-mode .nxe-card input{background:#07111e;border-color:#ffffff24;color:#fff;min-height:48px}
.nxe-client-mode .nxe-note,.nxe-client-mode .nxe-card span{color:#9fb2bf}
.nxe-client-mode .nxe-card button,.nxe-client-actions button{background:#d9a05b;border-color:#edbd7d;color:#14202a;font-weight:800;min-height:44px}
.nxe-client-request{display:inline-flex;margin:12px 4px;padding:10px 14px;border:1px solid #ffffff24;border-radius:9px;color:#fff;text-decoration:none}
.nxe-client-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.nxe-client-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}
.nxe-client-metric{background:#101d2e;border:1px solid #ffffff14;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:7px}
.nxe-client-metric strong{color:#fff;font-size:25px}.nxe-client-metric span{color:#91a7b5;font-size:13px}
.nxe-client-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:18px}.nxe-client-grid>.nxe-card{margin:0}
.nxe-client-empty{text-align:center;padding:42px 15px}.nxe-client-empty-icon{display:block!important;font-size:42px!important;color:#d9a05b!important}
.nxe-client-empty h3{color:#fff}.nxe-client-row{display:flex;justify-content:space-between;padding:14px 2px;border-bottom:1px solid #ffffff12}
.nxe-client-link{display:flex!important;flex-direction:column;align-items:flex-start;gap:6px;width:100%;background:#15263a!important;border-color:#ffffff12!important;color:#fff!important;text-align:start}
.nxe-client-link span{font-size:12px;font-weight:400}
#nxe-client-chat-button{position:fixed;z-index:110010;inset-inline-end:24px;bottom:24px;width:58px;height:58px;border:0;border-radius:50%;background:#d9a05b;color:#17212a;font-size:30px;box-shadow:0 10px 35px #0008;cursor:pointer}
#nxe-client-chat{display:none;position:fixed;z-index:110020;inset-inline-end:24px;bottom:94px;width:min(380px,calc(100vw - 32px));height:min(520px,calc(100dvh - 130px));background:#0f1d2c;color:#eef5f8;border:1px solid #ffffff1f;border-radius:20px;box-shadow:0 24px 80px #000a;overflow:hidden}
#nxe-client-chat[data-open=true]{display:flex;flex-direction:column}
#nxe-client-chat header{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#15283c}#nxe-client-chat header button{background:transparent;border:0;color:#fff;font-size:24px}
.nxe-client-chat-messages{flex:1;overflow:auto;padding:16px}.nxe-client-chat-messages p{padding:11px 13px;background:#172b40;border-radius:13px;line-height:1.6}.nxe-client-chat-messages .nxe-chat-user{background:#d9a05b;color:#17212a;margin-inline-start:35px}
#nxe-client-chat form{display:flex;gap:8px;padding:12px;border-top:1px solid #ffffff14}#nxe-client-chat input{flex:1;min-width:0;background:#07111e;color:#fff;border:1px solid #ffffff24;border-radius:12px;padding:11px}#nxe-client-chat form button{background:#d9a05b;border:0;border-radius:10px;padding:0 14px;font-weight:800}
@media(max-width:700px){.nxe-client-mode .nxe-body{padding:24px 14px 86px}.nxe-client-login-intro,.nxe-client-hero{padding:24px 20px}.nxe-client-metrics,.nxe-client-grid{grid-template-columns:1fr}.nxe-client-mode .nxe-header{padding:12px 14px}.nxe-client-mode .nxe-header h2{font-size:16px}#nxe-client-chat-button{inset-inline-end:16px;bottom:16px}#nxe-client-chat{inset-inline-end:16px;bottom:84px}}
