/*!*************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/portal/styles/01-foundation.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************/
.portalRoot{background:var(--portal-elevated);color:var(--portal-blue)}
.portalRoot *{box-sizing:border-box}
.authPage{min-height:100vh;display:grid;grid-template-columns:minmax(420px,45%) 1fr;background:color-mix(in srgb,var(--portal-blue) 16%,var(--portal-surface))}
.authPanel{display:flex;flex-direction:column;justify-content:center;gap:36px;padding:clamp(40px,6vw,100px);background:var(--portal-elevated)}
.authPanel>a{width:max-content}
.authPanel>a img{display:block;filter:none}
.authPanel h1,.portalTop h1{margin:12px 0 14px;font-size:var(--portal-type-h1);line-height:var(--portal-leading-heading);letter-spacing:-.055em}
.authPanel>div>p,.portalTop p{max-width:560px;margin:0;color:var(--portal-blue);line-height:1.7}
.portalEyebrow{color:var(--portal-blue);font-size:var(--portal-type-caption);font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.portalForm{display:grid;gap:20px}
.portalForm label{display:grid;gap:8px;color:var(--portal-blue);font-size:var(--portal-type-caption);font-weight:750}
.portalForm input,.portalForm select,.inviteResult input{width:100%;height:50px;border:1px solid var(--portal-border);border-radius:10px;background:var(--portal-elevated);padding:0 15px;color:var(--portal-blue);font:inherit;outline:none}
.portalForm input:focus,.portalForm select:focus{border-color:var(--portal-blue);box-shadow:0 0 0 3px rgb(var(--portal-blue-rgb) / 0.11)}
.portalButton{display:inline-flex;min-height:50px;align-items:center;justify-content:center;border:0;border-radius:10px;background:color-mix(in srgb,var(--portal-blue) 16%,var(--portal-surface));color:var(--portal-text);padding:0 22px;font:750 var(--portal-type-caption) var(--portal-font-heading);cursor:pointer}
.portalButton:hover{background:color-mix(in srgb,var(--portal-blue) 16%,var(--portal-surface))}
.portalButton:disabled{cursor:wait;opacity:.65}
.formError{margin:0;color:var(--portal-error);font-size:var(--portal-type-caption);line-height:1.5}
.formHint,.authHelp{margin:0;color:var(--portal-blue);font-size:var(--portal-type-caption);line-height:1.6}
.authVisual{position:relative;min-height:100vh;overflow:hidden}
.authVisual>img{object-fit:cover;opacity:.72}
.authVisual:after{position:absolute;inset:0;background:linear-gradient(90deg,rgb(var(--portal-blue-rgb) / 0.431),transparent),linear-gradient(0deg,rgb(var(--portal-blue-rgb) / 0.733),transparent 60%);content:""}
.authVisual>div{position:absolute;z-index:2;right:40px;bottom:35px;left:40px;display:flex;gap:10px}
.authVisual span,.securityPill{border:1px solid rgb(var(--portal-border-rgb) / 0.278);border-radius:99px;background:rgb(var(--portal-blue-rgb) / 0.667);color:var(--portal-text);padding:10px 13px;font-size:var(--portal-type-caption);font-weight:750;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.singleAuth{grid-template-columns:min(620px,100%);justify-content:center}
.portalSuccess{display:grid;gap:16px}
.portalSuccess h2{font-size:var(--portal-type-h2)}
.portalSuccess .portalButton{width:max-content}
.portalShell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}
.portalSidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:24px 20px;background:color-mix(in srgb,var(--portal-blue) 16%,var(--portal-surface));color:var(--portal-text)}
.portalLogo{display:block;padding:0 10px 28px;border-bottom:1px solid rgb(var(--portal-border-rgb) / 0.094)}
.portalLogo img{display:block;filter:brightness(0) invert(1)}
.portalSidebar nav{display:grid;gap:6px;padding:28px 0}
.portalSidebar nav a{border-radius:9px;padding:12px;color:var(--portal-text);font-weight:700}
.portalSidebar nav a:hover{background:rgb(var(--portal-elevated-rgb) / 0.063);color:var(--portal-text)}
.portalIdentity{display:grid;border-top:1px solid rgb(var(--portal-border-rgb) / 0.094);padding:22px 10px 5px}
.portalIdentity span{font-weight:750}
.portalIdentity small{color:var(--portal-blue);text-transform:capitalize}
.portalIdentity button{margin-top:13px;border:0;background:none;font-size:var(--portal-type-caption);font-weight:750;cursor:pointer}
.portalContent{width:min(1180px,calc(100% - 64px));margin:auto;padding:64px 0 100px}
.portalTop{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;padding-bottom:52px}
.securityPill{border-color:rgb(var(--portal-blue-rgb) / 0.247);background:rgb(var(--portal-blue-rgb) / 0.086);color:var(--portal-blue)}
.portalSectionTitle{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--portal-border);padding-bottom:16px}
.portalSectionTitle h2,.portalCard h2{margin:0;font-size:var(--portal-type-h2)}
.portalSectionTitle span{color:var(--portal-blue);font-size:var(--portal-type-caption);text-transform:capitalize}
.portalAppGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.portalAppGrid>a,.portalCard,.emptyPortal{border:1px solid var(--portal-border);border-radius:18px;background:var(--portal-elevated);padding:28px;box-shadow:0 16px 40px rgb(var(--portal-blue-rgb) / 0.039)}
.portalAppGrid>a{min-height:260px;display:flex;flex-direction:column;transition:.2s}
.portalAppGrid>a:hover{transform:translateY(-4px);border-color:var(--portal-blue);box-shadow:0 24px 55px rgb(var(--portal-blue-rgb) / 0.078)}
.portalAppGrid>a>span{width:max-content;border-radius:7px;background:rgb(var(--portal-blue-rgb) / 0.094);color:var(--portal-blue);padding:7px;font-size:var(--portal-type-caption);font-weight:850}
.portalAppGrid h3{margin:35px 0 10px;font-size:var(--portal-type-h3)}
.portalAppGrid p,.emptyPortal p{color:var(--portal-blue);font-size:var(--portal-type-small);line-height:1.65}
.portalAppGrid b{margin-top:auto;color:var(--portal-blue);font-size:var(--portal-type-caption)}
.emptyPortal{margin-top:22px;text-align:center;padding:65px 25px}
.emptyPortal>div{width:48px;height:48px;display:grid;place-items:center;margin:auto;border-radius:50%;background:rgb(var(--portal-blue-rgb) / 0.09);color:var(--portal-blue);font-size:var(--portal-type-h3)}
.emptyPortal h3{margin:20px 0 6px}
.emptyPortal p{max-width:490px;margin:auto}
.adminGrid{display:grid;grid-template-columns:minmax(300px,.72fr) 1.28fr;gap:22px}
.portalCard h2{margin-bottom:25px}
.compactPortalForm{gap:16px}
.inviteResult{display:grid;gap:8px;margin-top:20px;border-radius:12px;background:rgb(var(--portal-gold-rgb) / 0.098);padding:18px}
.inviteResult strong{font-size:var(--portal-type-caption)}
.inviteResult p{margin:0;color:var(--portal-blue);font-size:var(--portal-type-body);line-height:1.5}
.inviteResult input{height:42px;background:var(--portal-elevated);font-size:var(--portal-type-body)}
.userList{display:grid}
.userList article{display:grid;grid-template-columns:36px 1fr auto auto auto;gap:12px;align-items:center;border-top:1px solid var(--portal-border);padding:16px 0}
.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--portal-blue) 16%,var(--portal-surface));color:var(--portal-text);font-weight:800}
.userList article>div:nth-child(2){display:flex;min-width:0;flex-direction:column;gap:4px}
.userList strong{font-size:var(--portal-type-caption)}
.userList span{overflow:hidden;color:var(--portal-blue);font-size:var(--portal-type-caption);text-overflow:ellipsis}
.userList small,.userList b{font-size:var(--portal-type-caption);text-transform:capitalize}
.activeStatus{color:var(--portal-success)}
.suspendedStatus{color:var(--portal-error)}
.userList button{border:0;background:none;color:var(--portal-blue);font-size:var(--portal-type-caption);font-weight:750;cursor:pointer}
@media(max-width:900px){
  .authPage{grid-template-columns:1fr}
  .authVisual{display:none}
  .portalShell{grid-template-columns:1fr}
  .portalSidebar{position:relative;height:auto;display:grid;grid-template-columns:1fr auto;padding:14px 18px}
  .portalLogo{border:0;padding:0}
  .portalLogo img{width:110px;height:48px}
  .portalSidebar nav{display:none}
  .portalIdentity{margin:0;border:0;padding:5px;text-align:right}
  .portalIdentity small{display:none}
  .portalIdentity button{margin-top:4px}
  .portalContent{width:min(100% - 30px,1180px);padding-top:40px}
  .adminGrid{grid-template-columns:1fr}
  .portalAppGrid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .authPanel{padding:40px 24px}
  .portalTop{flex-direction:column;padding-bottom:38px}
  .portalTop h1{font-size:var(--portal-type-h1)}
  .portalAppGrid{grid-template-columns:1fr}
  .securityPill{align-self:flex-start}
  .userList article{grid-template-columns:36px 1fr auto}
  .userList article>small,.userList article>b{display:none}
}

/* Keep public marketing typography from compressing portal labels. */
.portalRoot h1,.portalRoot h2,.portalRoot h3{font-family:var(--portal-font-heading);line-height:var(--portal-leading-heading)}
.portalRoot h2,.portalRoot h3{letter-spacing:-.02em}
.portalSectionTitle{flex-wrap:wrap;gap:8px 20px}
.portalSectionTitle h2{white-space:normal}

/* ATMPCO knowledge network */
.knowledgeDashboard{width:min(1450px,calc(100% - 64px))}
.knowledgeMapCard,.masterAgentCard{position:relative;overflow:hidden;border:1px solid var(--portal-border);border-radius:24px;background:color-mix(in srgb,var(--portal-blue) 16%,var(--portal-surface));color:var(--portal-text);box-shadow:0 28px 80px rgb(var(--portal-blue-rgb) / 0.11)}
.knowledgeMapCard:before,.masterAgentCard:before{position:absolute;inset:0;background:radial-gradient(circle at 25% 0,rgb(var(--portal-blue-rgb) / 0.22),transparent 37%),radial-gradient(circle at 92% 100%,rgb(var(--portal-gold-rgb) / 0.122),transparent 34%);pointer-events:none;content:""}
.knowledgeMapHeader{position:relative;z-index:1;display:flex;justify-content:space-between;gap:30px;align-items:end;padding:30px 34px 22px}
.knowledgeMapHeader>div>span,.agentIntro>span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.16em}
.knowledgeMapHeader h2,.masterAgentCard h2{margin:7px 0 5px;font-size:var(--portal-type-h2)}
.knowledgeMapHeader p,.agentIntro p{margin:0;color:var(--portal-blue);font-size:var(--portal-type-small);line-height:1.6}
.knowledgeMapHeader label{display:grid;gap:7px;width:min(310px,38%);color:var(--portal-blue);font-size:var(--portal-type-caption);font-weight:750;text-transform:uppercase}
.knowledgeMapHeader input{height:42px;border:1px solid rgb(var(--portal-border-rgb) / 0.122);border-radius:10px;background:rgb(var(--portal-elevated-rgb) / 0.043);padding:0 13px;color:var(--portal-text);outline:none}
.knowledgeMapHeader input:focus{border-color:var(--portal-blue)}
.knowledgeMapLayout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 310px;border-top:1px solid rgb(var(--portal-border-rgb) / 0.071)}
.graphCanvas{position:relative;min-width:0;background-image:linear-gradient(rgb(var(--portal-elevated-rgb) / 0.02) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--portal-elevated-rgb) / 0.02) 1px,transparent 1px);background-size:40px 40px}
.graphCanvas svg{display:block;width:100%;height:auto;min-height:500px}
.graphEdges line{stroke-width:.65;opacity:.2;transition:.25s}
.graphEdges line.active{stroke-width:1.7;opacity:.8}
.graphNode{cursor:pointer;outline:none;transition:.25s}
.graphNode circle{stroke:rgb(var(--portal-text-rgb) / 0.541);stroke-width:1.2;transition:.25s}
.graphNode text{fill:var(--portal-text);font:700 var(--portal-type-caption) var(--portal-font-body);paint-order:stroke;stroke-linejoin:round}
.graphNode.selected circle{stroke:var(--portal-text);stroke-width:2.5}
.graphNode.dimmed{opacity:.14}
.graphLegend{position:absolute;right:18px;bottom:15px;left:18px;display:flex;flex-wrap:wrap;gap:7px 13px;padding:11px 13px;border:1px solid rgb(var(--portal-border-rgb) / 0.078);border-radius:10px;background:rgb(var(--portal-blue-rgb) / 0.788);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.graphLegend span{display:flex;gap:6px;align-items:center;color:var(--portal-blue);font-size:var(--portal-type-caption)}
.graphLegend i{width:7px;height:7px;border-radius:50%}
.nodeInspector{border-left:1px solid rgb(var(--portal-border-rgb) / 0.071);padding:30px 26px;background:rgb(var(--portal-surface-rgb) / 0.722)}
.nodeType{display:inline-flex;border-radius:6px;background:rgb(var(--portal-gold-rgb) / 0.118);padding:6px 8px;font-size:var(--portal-type-caption);font-weight:850;text-transform:uppercase}
.nodeInspector h3{margin:18px 0 11px}
.nodeInspector>p{color:var(--portal-blue)}
.nodeInspector dl{display:grid;gap:13px;margin:25px 0;padding:18px 0;border-top:1px solid rgb(var(--portal-border-rgb) / 0.071);border-bottom:1px solid rgb(var(--portal-border-rgb) / 0.071)}
.nodeInspector dl div{display:grid;gap:4px}
.nodeInspector dt{color:var(--portal-blue);font-size:var(--portal-type-caption);font-weight:800;text-transform:uppercase}
.nodeInspector dd{overflow-wrap:anywhere;margin:0;color:var(--portal-text);line-height:1.45}
.nodeLinks{display:flex;flex-wrap:wrap;gap:7px}
.nodeLinks strong{width:100%;margin-bottom:3px;color:var(--portal-blue);font-size:var(--portal-type-caption);text-transform:uppercase}
.nodeLinks button{border:1px solid rgb(var(--portal-border-rgb) / 0.09);border-radius:99px;background:rgb(var(--portal-elevated-rgb) / 0.035);color:var(--portal-text);padding:7px 9px;cursor:pointer}
.nodeLinks button:hover{border-color:var(--portal-gold);color:var(--portal-gold)}
.masterAgentCard{display:grid;grid-template-columns:85px 1fr auto;gap:22px;align-items:center;margin-top:22px;padding:30px 34px}
.agentOrb{position:relative;width:70px;height:70px;display:grid;place-items:center}
.agentOrb:before,.agentOrb:after,.agentOrb span{position:absolute;border-radius:50%;content:""}
.agentOrb:before{inset:0;border:1px solid rgb(var(--portal-blue-rgb) / 0.467);animation:agentPulse 3s ease-in-out infinite}
.agentOrb:after{inset:12px;background:radial-gradient(circle at 36% 32%,var(--portal-blue),var(--portal-blue) 43%,color-mix(in srgb,var(--portal-blue) 16%,var(--portal-surface)) 70%);box-shadow:0 0 35px rgb(var(--portal-blue-rgb) / 0.467)}
.agentOrb span{z-index:1;width:12px;height:12px;background:var(--portal-elevated);box-shadow:0 0 18px var(--portal-shadow)}
.agentOrb i{position:absolute;inset:-8px;border:1px dashed rgb(var(--portal-gold-rgb) / 0.341);border-radius:50%;animation:agentSpin 12s linear infinite}
.agentIntro{position:relative;z-index:1}
.agentIntro p{max-width:650px}
.agentStatus{position:relative;z-index:1;display:flex;gap:7px;align-items:center;border:1px solid rgb(var(--portal-border-rgb) / 0.09);border-radius:99px;padding:9px 11px;color:var(--portal-blue);font-weight:750}
.agentStatus i{width:7px;height:7px;border-radius:50%;background:var(--portal-gold)}
.agentStatus.ready i{background:var(--portal-success);box-shadow:0 0 10px var(--portal-success)}
.masterAgentCard form{position:relative;z-index:1;grid-column:2/4;display:grid;grid-template-columns:1fr auto;gap:10px}
.masterAgentCard textarea{resize:vertical;min-height:82px;border:1px solid rgb(var(--portal-border-rgb) / 0.114);border-radius:13px;background:rgb(var(--portal-elevated-rgb) / 0.039);padding:15px;color:var(--portal-text);font:var(--portal-type-caption)/1.5 var(--portal-font-body);outline:none}
.masterAgentCard textarea:focus{border-color:var(--portal-blue)}
.masterAgentCard form button{display:flex;gap:20px;align-items:center;justify-content:center;border:0;border-radius:13px;background:var(--portal-gold);color:var(--portal-bg);padding:0 22px;font:800 var(--portal-type-caption) var(--portal-font-body);cursor:pointer}
.masterAgentCard form button:disabled{cursor:wait;opacity:.5}
.masterAgentCard form button span{font-size:var(--portal-type-body-lg)}
.agentSetup,.agentError,.agentReply{position:relative;z-index:1;grid-column:2/4}
.agentSetup{margin:0;color:var(--portal-blue);font-size:var(--portal-type-caption)}
.agentSetup code{color:var(--portal-gold)}
.agentError{margin:0;color:var(--portal-error);font-size:var(--portal-type-caption)}
.agentReply{border:1px solid rgb(var(--portal-border-rgb) / 0.071);border-radius:14px;background:rgb(var(--portal-elevated-rgb) / 0.031);padding:20px}
.agentReply>strong{color:var(--portal-gold);font-size:var(--portal-type-caption);text-transform:uppercase}
.agentReply>p{line-height:1.7}
.agentReply>div{display:grid;gap:5px;border-top:1px solid rgb(var(--portal-border-rgb) / 0.071);padding-top:13px}
.agentReply>div span{color:var(--portal-blue);font-size:var(--portal-type-caption);text-transform:uppercase}
.agentReply small{overflow-wrap:anywhere;color:var(--portal-blue);font-size:var(--portal-type-caption)}
.portalApplications{margin-top:50px}
@keyframes agentPulse{
  50%{transform:scale(1.12);opacity:.5}
}
@keyframes agentSpin{
  to{transform:rotate(360deg)}
}
@media(max-width:1050px){
  .knowledgeMapLayout{grid-template-columns:1fr}
  .nodeInspector{border-top:1px solid rgb(var(--portal-border-rgb) / 0.071);border-left:0}
  .masterAgentCard{grid-template-columns:70px 1fr}
  .agentStatus{grid-column:2}
  .masterAgentCard form,.agentSetup,.agentError,.agentReply{grid-column:1/3}
}
@media(max-width:700px){
  .knowledgeDashboard{width:min(100% - 24px,1450px)}
  .knowledgeMapHeader{align-items:stretch;flex-direction:column}
  .knowledgeMapHeader label{width:100%}
  .graphCanvas svg{min-height:390px}
  .graphLegend{position:relative;margin:0 12px 12px}
  .masterAgentCard{grid-template-columns:1fr;padding:26px 22px}
  .agentOrb{width:58px;height:58px}
  .agentStatus,.masterAgentCard form,.agentSetup,.agentError,.agentReply{grid-column:1}
  .masterAgentCard form{grid-template-columns:1fr}
  .masterAgentCard form button{min-height:48px}
}
.authRegistration{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid var(--portal-border);border-radius:12px;background:var(--portal-elevated);padding:16px 18px}
.authRegistration span{color:var(--portal-blue);font-size:var(--portal-type-caption)}
.authRegistration a,.authHelp a{color:var(--portal-blue);font-size:var(--portal-type-caption);font-weight:800}
.registrationPanel{padding-top:50px;padding-bottom:50px}
.registrationPanel>div h1{font-size:var(--portal-type-h1)}
.registrationForm{grid-template-columns:1fr 1fr}
.registrationForm>p,.registrationForm>button{grid-column:1/3}
.registrationTrap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}
.registrationVisual>img{object-position:center}
.agentConnections{position:relative;z-index:1;display:grid;gap:7px}
.agentConnections .agentStatus{justify-content:flex-start}
.dropboxSetup a{color:var(--portal-gold);font-weight:800}
.dropboxSetup a:hover{text-decoration:underline}

/* Unified Jarvis intelligence system */
.jarvisSystem{position:relative;overflow:hidden;border:1px solid var(--portal-blue);border-radius:28px;background:linear-gradient(145deg,var(--portal-bg) 0%,var(--portal-surface) 48%,var(--portal-surface) 100%);color:var(--portal-text);box-shadow:0 35px 100px rgb(var(--portal-blue-rgb) / 0.259),inset 0 0 0 1px rgb(var(--portal-blue-rgb) / 0.039)}
.jarvisSystem:before{position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 18% 15%,rgb(var(--portal-blue-rgb) / 0.216),transparent 27%),radial-gradient(circle at 82% 72%,rgb(var(--portal-gold-rgb) / 0.082),transparent 30%),repeating-linear-gradient(90deg,transparent 0,transparent 79px,rgb(var(--portal-blue-rgb) / 0.031) 80px);pointer-events:none;content:""}
.jarvisSystem:after{position:absolute;inset:0;z-index:0;background:linear-gradient(transparent 49%,rgb(var(--portal-blue-rgb) / 0.043) 50%,transparent 51%);background-size:100% 7px;opacity:.45;pointer-events:none;content:"";animation:jarvisScan 11s linear infinite}
.knowledgeMapPanel,.jarvisAgentPanel{position:relative;z-index:1}
.knowledgeMapPanel{overflow:hidden}
.mapTelemetry{display:flex;align-items:center;gap:9px;border:1px solid rgb(var(--portal-blue-rgb) / 0.18);border-radius:999px;background:rgb(var(--portal-surface-rgb) / 0.6);padding:9px 12px;color:var(--portal-blue);font-size:var(--portal-type-caption);font-weight:800;letter-spacing:.12em}
.mapTelemetry i{width:6px;height:6px;border-radius:50%;background:var(--portal-success);box-shadow:0 0 12px var(--portal-success);animation:telemetryPulse 2s ease-in-out infinite}
.mapTelemetry b{border-left:1px solid rgb(var(--portal-border-rgb) / 0.086);padding-left:9px}
.knowledgeMapLayout{border-top:1px solid rgb(var(--portal-blue-rgb) / 0.086)}
.graphCanvas3d{min-height:590px;overflow:hidden;background:radial-gradient(circle at center,rgb(var(--portal-blue-rgb) / 0.267) 0,transparent 46%),linear-gradient(rgb(var(--portal-blue-rgb) / 0.031) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--portal-blue-rgb) / 0.031) 1px,transparent 1px);background-size:auto,42px 42px,42px 42px;perspective:900px}
.graphCanvas3d svg{position:relative;z-index:3;min-height:590px}
.graphCanvas3d:after{position:absolute;right:8%;bottom:7%;left:8%;height:18%;border:1px solid rgb(var(--portal-blue-rgb) / 0.161);border-radius:50%;background:radial-gradient(ellipse,rgb(var(--portal-blue-rgb) / 0.086),transparent 68%);transform:rotateX(73deg);content:"";filter:blur(.2px)}
.graphOrbit{position:absolute;top:50%;left:50%;z-index:1;width:470px;height:470px;border:1px solid rgb(var(--portal-blue-rgb) / 0.114);border-radius:50%;transform:translate(-50%,-50%) rotateX(68deg);box-shadow:0 0 45px rgb(var(--portal-blue-rgb) / 0.071)}
.orbitOne{animation:orbitDrift 18s linear infinite}
.orbitTwo{width:355px;height:355px;border-color:rgb(var(--portal-gold-rgb) / 0.122);transform:translate(-50%,-50%) rotateY(68deg);animation:orbitDriftReverse 24s linear infinite}
.graphCore{position:absolute;top:50%;left:50%;z-index:2;width:22px;height:22px;border-radius:50%;background:var(--portal-elevated);box-shadow:0 0 15px var(--portal-shadow),0 0 42px var(--portal-blue),0 0 85px var(--portal-blue);transform:translate(-50%,-50%);animation:coreBreath 3.5s ease-in-out infinite}
.graphEdges line{stroke:url(#edgeGradient);stroke-width:.8}
.graphEdges line.active{stroke-width:1.6;filter:drop-shadow(0 0 4px var(--portal-gold))}
.graphNode .nodeHalo{stroke-width:.65;opacity:.28;animation:nodeSignal 3.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.graphNode circle:not(.nodeHalo){stroke:var(--portal-text);stroke-width:.8}
.graphNode.selected .nodeHalo{opacity:.75;stroke-width:1.2}
.graphNode text{stroke-width:4px;letter-spacing:.03em}
.mapAxis{position:absolute;right:18px;bottom:18px;z-index:4;display:flex;gap:5px}
.mapAxis span{display:grid;place-items:center;width:23px;height:23px;border:1px solid rgb(var(--portal-blue-rgb) / 0.188);border-radius:5px;background:rgb(var(--portal-surface-rgb) / 0.78);color:var(--portal-blue);font-size:var(--portal-type-caption);font-weight:900}
.nodeInspector{background:linear-gradient(180deg,rgb(var(--portal-surface-rgb) / 0.91),rgb(var(--portal-bg-rgb) / 0.918));border-left-color:rgb(var(--portal-blue-rgb) / 0.094)}
.nodeType{border:1px solid rgb(var(--portal-gold-rgb) / 0.2);background:rgb(var(--portal-gold-rgb) / 0.063)}
.nodeLinks button{background:rgb(var(--portal-blue-rgb) / 0.502)}
.jarvisAgentPanel{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:22px;align-items:center;border-top:1px solid rgb(var(--portal-blue-rgb) / 0.149);padding:34px;background:linear-gradient(90deg,rgb(var(--portal-surface-rgb) / 0.851),rgb(var(--portal-blue-rgb) / 0.769));box-shadow:inset 0 20px 50px rgb(var(--portal-blue-rgb) / 0.361)}
.jarvisScanner{position:relative;display:grid;place-items:center;width:76px;height:76px}
.jarvisScanner:before,.jarvisScanner:after,.jarvisScanner span,.jarvisScanner i,.jarvisScanner b{position:absolute;border-radius:50%;content:""}
.jarvisScanner:before{inset:0;border:1px solid rgb(var(--portal-blue-rgb) / 0.42);box-shadow:inset 0 0 22px rgb(var(--portal-blue-rgb) / 0.188),0 0 30px rgb(var(--portal-blue-rgb) / 0.129);animation:scannerPulse 3s ease-in-out infinite}
.jarvisScanner:after{inset:9px;border:1px dashed rgb(var(--portal-gold-rgb) / 0.4);animation:agentSpin 18s linear infinite}
.jarvisScanner span{inset:20px;background:radial-gradient(circle at 38% 32%,var(--portal-elevated) 0 8%,var(--portal-blue) 16%,var(--portal-blue) 48%,var(--portal-surface) 72%);box-shadow:0 0 22px rgb(var(--portal-blue-rgb) / 0.667)}
.jarvisScanner i{width:9px;height:9px;background:var(--portal-elevated);box-shadow:0 0 12px var(--portal-shadow),0 0 28px var(--portal-blue)}
.jarvisScanner b{inset:-8px;border:1px solid rgb(var(--portal-blue-rgb) / 0.133);border-top-color:var(--portal-blue);animation:agentSpin 6s linear infinite}
.jarvisAgentPanel .agentIntro h2{margin:5px 0 4px;letter-spacing:.12em;text-shadow:0 0 28px rgb(var(--portal-blue-rgb) / 0.361)}
.jarvisCursor{color:var(--portal-blue);animation:cursorBlink 1s steps(1) infinite}
.jarvisAgentPanel .agentConnections{min-width:150px}
.jarvisAgentPanel form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.jarvisPrompt{position:relative}
.jarvisPrompt textarea{box-sizing:border-box;width:100%;resize:none;border:1px solid rgb(var(--portal-blue-rgb) / 0.18);border-radius:13px;background:rgb(var(--portal-bg-rgb) / 0.78);padding:16px 18px 25px 42px;font:var(--portal-type-caption)/1.5 var(--portal-font-body);outline:none;box-shadow:inset 0 0 30px rgb(var(--portal-blue-rgb) / 0.047)}
.jarvisPrompt textarea:focus{border-color:rgb(var(--portal-blue-rgb) / 0.549);box-shadow:0 0 0 3px rgb(var(--portal-blue-rgb) / 0.051),inset 0 0 32px rgb(var(--portal-blue-rgb) / 0.086)}
.promptGlyph{position:absolute;top:13px;left:17px;z-index:1;color:var(--portal-blue);font-size:var(--portal-type-h3);font-weight:300}
.jarvisPrompt small{position:absolute;right:14px;bottom:8px;color:var(--portal-blue);font-size:var(--portal-type-caption);letter-spacing:.09em}
.jarvisAgentPanel form>button{min-width:135px;border:1px solid var(--portal-gold);border-radius:13px;background:linear-gradient(135deg,var(--portal-gold),var(--portal-gold));color:var(--portal-blue);font:900 var(--portal-type-caption) var(--portal-font-body);letter-spacing:.1em;cursor:pointer;box-shadow:0 0 25px rgb(var(--portal-gold-rgb) / 0.188);transition:.25s}
.jarvisAgentPanel form>button:hover{transform:translateY(-2px);box-shadow:0 0 38px rgb(var(--portal-gold-rgb) / 0.329)}
.jarvisAgentPanel form>button:disabled{cursor:wait;filter:saturate(.45);opacity:.55;transform:none}
.jarvisAgentPanel form>button span{display:block;margin-top:5px;font-size:var(--portal-type-body)}
.jarvisAgentPanel .agentSetup,.jarvisAgentPanel .agentError,.jarvisAgentPanel .agentReply{grid-column:2/4}
.agentReply{position:relative;overflow:hidden;border-color:rgb(var(--portal-blue-rgb) / 0.149);background:linear-gradient(135deg,rgb(var(--portal-surface-rgb) / 0.91),rgb(var(--portal-surface-rgb) / 0.91));box-shadow:inset 3px 0 var(--portal-blue)}
.agentReply:before{position:absolute;top:0;right:0;left:0;height:1px;background:linear-gradient(90deg,transparent,var(--portal-blue),transparent);content:"";animation:replySweep 4s linear infinite}
.replyIdentity{display:flex;align-items:center;gap:8px}
.replyIdentity i{width:7px;height:7px;border-radius:50%;background:var(--portal-success);box-shadow:0 0 10px var(--portal-success)}
.replyIdentity strong{color:var(--portal-blue);font-size:var(--portal-type-caption);letter-spacing:.13em}
.replyIdentity span{margin-left:auto;color:var(--portal-blue);font-size:var(--portal-type-caption);letter-spacing:.1em}
.agentReply>p{white-space:pre-wrap;color:var(--portal-text)}
.agentSources{border-top:1px solid rgb(var(--portal-border-rgb) / 0.071);padding-top:10px}
.agentSources summary{display:flex;align-items:center;gap:8px;color:var(--portal-blue);font-size:var(--portal-type-caption);font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;list-style:none}
.agentSources summary::-webkit-details-marker{display:none}
.agentSources summary b{display:grid;place-items:center;min-width:18px;height:18px;border-radius:99px;background:rgb(var(--portal-blue-rgb) / 0.071);color:var(--portal-blue)}
.agentSources summary i{margin-left:auto;font-style:normal;transition:.2s}
.agentSources[open] summary i{transform:rotate(180deg)}
.agentSources>div{display:grid;gap:7px;padding-top:10px}
.agentSources small{display:grid;gap:3px;border-left:2px solid rgb(var(--portal-blue-rgb) / 0.22);padding-left:10px;color:var(--portal-blue);font-size:var(--portal-type-caption)}
.agentSources small strong{color:var(--portal-blue);font-size:var(--portal-type-caption)}
.agentSources small span{overflow-wrap:anywhere}
@keyframes jarvisScan{
  from{transform:translateY(-55%)}
  to{transform:translateY(55%)}
}
@keyframes telemetryPulse{
  50%{opacity:.35}
}
@keyframes orbitDrift{
  to{transform:translate(-50%,-50%) rotateX(68deg) rotateZ(360deg)}
}
@keyframes orbitDriftReverse{
  to{transform:translate(-50%,-50%) rotateY(68deg) rotateZ(-360deg)}
}
@keyframes coreBreath{
  50%{transform:translate(-50%,-50%) scale(1.28);opacity:.72}
}
@keyframes nodeSignal{
  50%{transform:scale(1.25);opacity:.08}
}
@keyframes scannerPulse{
  50%{transform:scale(1.08);opacity:.62}
}
@keyframes cursorBlink{
  50%{opacity:0}
}
@keyframes replySweep{
  from{transform:translateX(-100%)}
  to{transform:translateX(100%)}
}
@media(max-width:1050px){
  .jarvisAgentPanel{grid-template-columns:76px 1fr}
  .jarvisAgentPanel .agentConnections{grid-column:2}
  .jarvisAgentPanel form,.jarvisAgentPanel .agentSetup,.jarvisAgentPanel .agentError,.jarvisAgentPanel .agentReply{grid-column:1/3}
}
@media(max-width:700px){
  .jarvisSystem{border-radius:20px}
  .mapTelemetry{align-self:flex-start}
  .graphCanvas3d,.graphCanvas3d svg{min-height:410px}
  .graphOrbit{width:310px;height:310px}
  .orbitTwo{width:240px;height:240px}
  .jarvisAgentPanel{grid-template-columns:1fr;padding:25px 20px}
  .jarvisScanner{width:60px;height:60px}
  .jarvisAgentPanel .agentConnections,.jarvisAgentPanel form,.jarvisAgentPanel .agentSetup,.jarvisAgentPanel .agentError,.jarvisAgentPanel .agentReply{grid-column:1}
  .jarvisAgentPanel form{grid-template-columns:1fr}
  .jarvisAgentPanel form>button{min-height:52px}
  .jarvisPrompt small{display:none}
}
@media(prefers-reduced-motion:reduce){
  .jarvisSystem:after,.graphOrbit,.graphCore,.graphNode .nodeHalo,.jarvisScanner:before,.jarvisScanner:after,.jarvisScanner b,.jarvisCursor,.agentReply:before{animation:none!important}
}
@media(max-width:600px){
  .registrationForm{grid-template-columns:1fr}
  .registrationForm>p,.registrationForm>button{grid-column:1}
  .authRegistration{align-items:flex-start;flex-direction:column}
}

/* Consolidated dark portal workspace */
.portalWorkspace:has(.knowledgeDashboard){background:var(--portal-bg);color:var(--portal-text)}
.knowledgeDashboard{width:100%;max-width:none;padding:0 0 80px}
.knowledgeDashboard .jarvisSystem{border-right:0;border-left:0;border-radius:0;box-shadow:none}
.knowledgeDashboard .portalApplications{padding:50px 34px 0}
.knowledgeDashboard .portalSectionTitle{border-bottom-color:rgb(var(--portal-border-rgb) / 0.09)}
.knowledgeDashboard .portalSectionTitle h2{color:var(--portal-text)}
.knowledgeDashboard .portalSectionTitle span{color:var(--portal-blue)}
.knowledgeDashboard .portalAppGrid>a,.knowledgeDashboard .emptyPortal{border-color:rgb(var(--portal-blue-rgb) / 0.122);background:var(--portal-surface);color:var(--portal-text);box-shadow:none}
.knowledgeDashboard .portalAppGrid p,.knowledgeDashboard .emptyPortal p{color:var(--portal-blue)}
@media(max-width:700px){
  .knowledgeDashboard{width:100%}
  .knowledgeDashboard .jarvisSystem{border-radius:0}
  .knowledgeDashboard .portalApplications{padding-right:18px;padding-left:18px}
}

/* Dense clustered knowledge topology */
.graphCanvas3d{background:radial-gradient(circle at 48% 45%,color-mix(in srgb,var(--portal-blue) 16%,var(--portal-surface)) 0,color-mix(in srgb,var(--portal-blue) 16%,var(--portal-surface)) 45%,var(--portal-surface) 100%)}
.graphCanvas3d .graphOrbit,.graphCanvas3d .graphCore,.graphCanvas3d .mapAxis{display:none}
.graphCanvas3d:after{right:4%;bottom:3%;left:4%;height:12%;border-color:rgb(var(--portal-blue-rgb) / 0.071);background:radial-gradient(ellipse,rgb(var(--portal-blue-rgb) / 0.039),transparent 70%)}
.graphEdges line{stroke:var(--portal-blue);stroke-width:.34;opacity:.13}
.graphEdges line.active{stroke:var(--portal-gold);stroke-width:1.15;opacity:.9}
.graphNode circle:not(.nodeHalo){stroke:none}
.graphNode .nodeHalo{stroke-width:.5;opacity:.2}
.graphNode text{font-size:var(--portal-type-caption);stroke:var(--portal-blue);stroke-width:3px}
.nodeDropboxLink{display:inline-flex;margin:2px 0 10px;border:1px solid rgb(var(--portal-blue-rgb) / 0.204);border-radius:8px;background:rgb(var(--portal-blue-rgb) / 0.6);color:var(--portal-blue);padding:9px 11px;font-size:var(--portal-type-caption);font-weight:800}
.nodeDropboxLink:hover{border-color:var(--portal-gold);color:var(--portal-gold)}
.graphCanvas3d canvas{position:relative;z-index:3;display:block;width:100%;height:590px;touch-action:none;cursor:grab}
.graphCanvas3d canvas.dragging{cursor:grabbing}
.graphGestureHint{position:absolute;right:18px;bottom:16px;z-index:4;border:1px solid rgb(var(--portal-blue-rgb) / 0.133);border-radius:7px;background:rgb(var(--portal-surface-rgb) / 0.788);color:var(--portal-blue);padding:8px 10px;font-size:var(--portal-type-caption);font-weight:800;letter-spacing:.1em;pointer-events:none}
@media(max-width:700px){
  .graphCanvas3d canvas{height:410px}
  .graphGestureHint{right:10px;bottom:10px}
}

/* Above-the-fold compact Jarvis workspace */
.knowledgeMapHeader{padding:17px 26px 14px}
.knowledgeMapHeader h2{margin:4px 0 2px}
.knowledgeMapLayout{grid-template-columns:minmax(0,1fr) 275px}
.graphCanvas3d{min-height:350px;background:radial-gradient(circle at 48% 45%,color-mix(in srgb,var(--portal-blue) 16%,var(--portal-surface)) 0,var(--portal-surface) 48%,var(--portal-bg) 100%)}
.graphCanvas3d canvas{height:350px}
.graphCanvas3d:after{opacity:.45}
.nodeInspector{padding:20px 21px}
.nodeInspector h3{margin:12px 0 8px;font-size:var(--portal-type-h3)}
.nodeInspector dl{gap:8px;margin:14px 0;padding:12px 0}
.nodeLinks{gap:5px}
.nodeLinks button{padding:5px 7px}
.jarvisAgentPanel{grid-template-columns:68px minmax(0,1fr) auto;gap:16px;padding:19px 26px}
.jarvisScanner{width:56px;height:56px}
.jarvisScanner span{inset:15px}
.jarvisAgentPanel .agentIntro h2{font-size:var(--portal-type-h2)}
.jarvisAgentPanel .agentIntro p{line-height:1.45}
.agentConnections{gap:5px}
.agentStatus{padding:7px 9px}
.jarvisPrompt textarea{min-height:62px;padding-top:12px}
.jarvisAgentPanel form>button{min-width:122px}
.jarvisAgentPanel .agentReply{max-height:210px;overflow:auto}
@media(max-width:1050px){
  .knowledgeMapLayout{grid-template-columns:minmax(0,1fr) 245px}
  .jarvisAgentPanel{grid-template-columns:60px 1fr auto}
  .jarvisAgentPanel .agentConnections{grid-column:auto}
  .jarvisAgentPanel form{grid-column:2/4}
}
@media(max-width:700px){
  .knowledgeMapLayout{grid-template-columns:1fr}
  .graphCanvas3d{min-height:340px}
  .graphCanvas3d canvas{height:340px}
  .nodeInspector{max-height:260px;overflow:auto}
  .jarvisAgentPanel{grid-template-columns:1fr}
  .jarvisAgentPanel .agentConnections,.jarvisAgentPanel form{grid-column:1}
}

/* Balanced modern proportions */
.knowledgeMapHeader{padding:23px 30px 19px}
.knowledgeMapHeader h2{margin:6px 0 3px}
.mapTelemetry{padding:9px 13px}
.knowledgeMapLayout{grid-template-columns:minmax(0,1fr) 290px}
.graphCanvas3d{min-height:440px}
.graphCanvas3d canvas{height:440px}
.nodeInspector{padding:26px 24px}
.nodeInspector h3{margin:15px 0 10px}
.nodeInspector>p{line-height:1.65}
.nodeInspector dl{gap:11px;margin:18px 0;padding:15px 0}
.nodeInspector dd{line-height:1.5}
.nodeLinks{gap:6px}
.nodeLinks button{padding:6px 8px;font-size:var(--portal-type-caption)}
.jarvisAgentPanel{grid-template-columns:76px minmax(0,1fr) 165px;padding:25px 30px 27px;background:linear-gradient(120deg,rgb(var(--portal-surface-rgb) / 0.91),rgb(var(--portal-blue-rgb) / 0.8))}
.jarvisScanner{width:64px;height:64px}
.jarvisScanner span{inset:17px}
.jarvisAgentPanel .agentIntro p{max-width:720px;line-height:1.55}
.agentConnections{gap:6px}
.agentStatus{padding:8px 10px}
.jarvisAgentPanel form{gap:12px}
.jarvisPrompt textarea{min-height:72px;padding-top:14px}
.jarvisAgentPanel form>button{min-width:140px}
.graphGestureHint{right:20px;bottom:18px;padding:8px 11px}
@media(max-width:1100px){
  .knowledgeMapLayout{grid-template-columns:minmax(0,1fr) 260px}
  .jarvisAgentPanel{grid-template-columns:68px 1fr 150px;padding:23px 25px}
}
@media(max-width:800px){
  .knowledgeMapLayout{grid-template-columns:1fr}
  .nodeInspector{max-height:300px;overflow:auto;border-top:1px solid rgb(var(--portal-border-rgb) / 0.071);border-left:0}
  .jarvisAgentPanel{grid-template-columns:64px 1fr}
  .jarvisAgentPanel .agentConnections{grid-column:2}
  .jarvisAgentPanel form{grid-column:1/3}
}
@media(max-width:700px){
  .knowledgeMapHeader{padding:20px}
  .graphCanvas3d{min-height:380px}
  .graphCanvas3d canvas{height:380px}
  .jarvisAgentPanel{grid-template-columns:1fr;padding:23px 20px}
  .jarvisAgentPanel .agentConnections,.jarvisAgentPanel form{grid-column:1}
}
.graphCameraControls{position:absolute;top:16px;left:16px;z-index:5;display:flex;overflow:hidden;border:1px solid rgb(var(--portal-blue-rgb) / 0.169);border-radius:9px;background:rgb(var(--portal-surface-rgb) / 0.863);box-shadow:0 10px 24px rgb(var(--portal-shadow-rgb) / 0.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.graphCameraControls button{min-width:34px;height:34px;border:0;border-right:1px solid rgb(var(--portal-blue-rgb) / 0.125);background:transparent;color:var(--portal-blue);font:800 var(--portal-type-small) var(--portal-font-body);cursor:pointer}
.graphCameraControls button:last-child{min-width:42px;border-right:0;font-size:var(--portal-type-caption);letter-spacing:.08em}
.graphCameraControls button:hover{background:rgb(var(--portal-blue-rgb) / 0.086);color:var(--portal-text)}
@media(max-width:700px){
  .graphGestureHint{display:none}
  .graphCameraControls{top:10px;left:10px}
}

/* Jet-black compact intelligence workspace */
.portalShell{grid-template-columns:196px minmax(0,1fr);color:var(--portal-text)}
.portalSidebar{z-index:20;padding:18px 14px;box-shadow:12px 0 40px rgb(var(--portal-shadow-rgb) / 0.533)}
.portalLogo{padding:2px 8px 18px;border-bottom-color:var(--portal-border)}
.portalLogo img{width:132px;height:auto;filter:none}
.portalSidebar nav{gap:3px;padding:20px 0}
.portalSidebar nav a{position:relative;padding:10px 11px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);letter-spacing:.01em}
.portalSidebar nav a:first-child,.portalSidebar nav a:hover{background:var(--portal-bg);color:var(--portal-text)}
.portalSidebar nav a:first-child:before{position:absolute;top:10px;bottom:10px;left:0;width:2px;border-radius:2px;background:var(--portal-gold);content:""}
.portalIdentity{border-top-color:var(--portal-border);padding:17px 10px 2px}
.portalIdentity small{color:var(--portal-text)}
.portalIdentity button{color:var(--portal-gold)}
.portalWorkspace{min-width:0;background:radial-gradient(circle at 52% 0,var(--portal-bg) 0,var(--portal-bg) 35%,var(--portal-bg) 76%)}
.knowledgeDashboard{width:min(1180px,calc(100% - 38px));margin:0 auto;padding:22px 0 72px}
.knowledgeDashboard .jarvisSystem{overflow:visible;border:1px solid var(--portal-border);border-radius:24px;background:linear-gradient(145deg,var(--portal-bg),var(--portal-bg) 56%,var(--portal-bg));box-shadow:0 26px 80px var(--portal-shadow),inset 0 1px rgb(var(--portal-shadow-rgb) / 0.043)}
.jarvisSystem:before{border-radius:inherit;background:radial-gradient(circle at 50% 0,rgb(var(--portal-elevated-rgb) / 0.047),transparent 34%),radial-gradient(circle at 82% 82%,rgb(var(--portal-gold-rgb) / 0.043),transparent 30%)}
.jarvisSystem:after{display:none}
.knowledgeMapHeader{align-items:center;justify-content:center;padding:19px 24px 14px;text-align:center}
.knowledgeMapHeader>div:first-child>span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);letter-spacing:.22em}
.knowledgeMapHeader h2{margin:5px 0 4px;color:var(--portal-text);font-size:var(--portal-type-h2);letter-spacing:-.035em}
.knowledgeMapHeader p{color:var(--portal-text)}
.mapTelemetry{position:absolute;top:17px;right:18px;border-color:var(--portal-border);background:var(--portal-bg);color:var(--portal-text-muted)}
.mapTelemetry b{color:var(--portal-gold)}
.knowledgeMapLayout{grid-template-columns:minmax(0,1fr) 244px;border-top-color:var(--portal-border)}
.graphCanvas3d{min-height:294px;background:radial-gradient(circle at 50% 48%,var(--portal-bg) 0,var(--portal-bg) 49%,var(--portal-bg) 100%)}
.graphCanvas3d canvas{height:294px}
.graphCanvas3d:after{border-color:rgb(var(--portal-border-rgb) / 0.039);background:radial-gradient(ellipse,rgb(var(--portal-elevated-rgb) / 0.031),transparent 70%)}
.nodeInspector{padding:18px;background:rgb(var(--portal-bg-rgb) / 0.91);border-left-color:var(--portal-border)}
.nodeType{border-color:rgb(var(--portal-gold-rgb) / 0.2);background:rgb(var(--portal-gold-rgb) / 0.051);color:var(--portal-gold);padding:5px 7px}
.nodeInspector h3{margin:11px 0 7px;font-size:var(--portal-type-h3)}
.nodeInspector>p{color:var(--portal-text-muted);line-height:1.55}
.nodeInspector dl{gap:7px;margin:11px 0;padding:10px 0;border-color:var(--portal-border)}
.nodeInspector dt{color:var(--portal-text)}
.nodeInspector dd{color:var(--portal-text-muted)}
.nodeLinks button,.nodeDropboxLink{border-color:var(--portal-border);background:var(--portal-bg);color:var(--portal-text-muted)}
.graphCameraControls{top:12px;left:12px;border-color:var(--portal-border);background:rgb(var(--portal-bg-rgb) / 0.91)}
.graphCameraControls button{height:29px;min-width:30px;border-color:var(--portal-border);color:var(--portal-text-muted)}
.graphCameraControls button:last-child{color:var(--portal-gold)}
.graphGestureHint{right:12px;bottom:11px;border-color:var(--portal-border);background:rgb(var(--portal-bg-rgb) / 0.812);color:var(--portal-text)}
.jarvisAgentPanel{grid-template-columns:44px minmax(0,1fr) auto;gap:12px;border-top-color:var(--portal-border);padding:14px 18px 16px;background:var(--portal-bg)}
.jarvisScanner{width:38px;height:38px}
.jarvisScanner:before{border-color:rgb(var(--portal-gold-rgb) / 0.333);box-shadow:0 0 18px rgb(var(--portal-gold-rgb) / 0.078)}
.jarvisScanner:after,.jarvisScanner b{border-color:rgb(var(--portal-border-rgb) / 0.094)}
.jarvisScanner span{inset:10px;background:radial-gradient(circle at 38% 32%,var(--portal-elevated) 0 8%,var(--portal-gold) 18%,color-mix(in srgb,var(--portal-gold) 16%,var(--portal-surface)) 50%,var(--portal-bg) 73%);box-shadow:0 0 18px rgb(var(--portal-gold-rgb) / 0.333)}
.jarvisScanner i{width:5px;height:5px}
.jarvisAgentPanel .agentIntro>span{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.jarvisAgentPanel .agentIntro h2{margin:2px 0;color:var(--portal-text);font-size:var(--portal-type-h2);text-shadow:none}
.jarvisCursor{color:var(--portal-gold)}
.jarvisAgentPanel .agentIntro p{color:var(--portal-text)}
.jarvisAgentPanel .agentConnections{display:flex;min-width:0}
.agentStatus{border-color:var(--portal-border);background:var(--portal-bg);padding:6px 8px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.jarvisAgentPanel form{grid-column:2/4;gap:8px}
.jarvisPrompt textarea{min-height:54px;border-color:var(--portal-border);border-radius:10px;background:var(--portal-bg);padding:11px 14px 19px 34px;color:var(--portal-text)}
.jarvisPrompt textarea:focus{border-color:rgb(var(--portal-gold-rgb) / 0.467);box-shadow:0 0 0 3px rgb(var(--portal-gold-rgb) / 0.047)}
.promptGlyph{top:8px;left:13px;color:var(--portal-gold)}
.jarvisPrompt small{color:var(--portal-text)}
.jarvisAgentPanel form>button{min-width:100px;border-color:var(--portal-gold);border-radius:10px;box-shadow:none}
.jarvisAgentPanel form>button:hover{box-shadow:0 0 24px rgb(var(--portal-gold-rgb) / 0.149)}
.agentReply{border-color:var(--portal-border);background:var(--portal-bg);box-shadow:inset 2px 0 var(--portal-gold)}
.replyIdentity strong{color:var(--portal-gold)}
.knowledgeDashboard .portalApplications{margin:0;padding:28px 2px 0}
.knowledgeDashboard .portalSectionTitle{border-color:var(--portal-border)}
.knowledgeDashboard .portalSectionTitle h2{font-size:var(--portal-type-h2)}
.knowledgeDashboard .portalSectionTitle span{color:var(--portal-text);font-size:var(--portal-type-caption)}
.knowledgeDashboard .portalAppGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:13px}
.knowledgeDashboard .portalAppGrid>a{min-height:142px;border-color:var(--portal-border);border-radius:14px;background:linear-gradient(145deg,var(--portal-bg),var(--portal-bg));padding:16px;box-shadow:none}
.knowledgeDashboard .portalAppGrid>a:hover{border-color:var(--portal-border);box-shadow:0 18px 40px var(--portal-shadow);transform:translateY(-3px)}
.knowledgeDashboard .portalAppGrid>a>span{background:rgb(var(--portal-elevated-rgb) / 0.043);color:var(--portal-text-muted)}
.knowledgeDashboard .portalAppGrid h3{margin:18px 0 6px;font-size:var(--portal-type-h3)}
.knowledgeDashboard .portalAppGrid p{font-size:var(--portal-type-body);line-height:1.45}
.knowledgeDashboard .portalAppGrid b{color:var(--portal-gold);font-size:var(--portal-type-caption)}

/* Persistent lion-powered Jarvis */
.jarvisBubble{position:fixed;right:24px;bottom:22px;z-index:100;display:grid;width:66px;height:66px;place-items:center;border:1px solid var(--portal-border);border-radius:50%;background:radial-gradient(circle at 40% 28%,var(--portal-surface),var(--portal-bg) 62%,var(--portal-bg));color:var(--portal-gold);cursor:pointer;box-shadow:0 16px 45px var(--portal-shadow),0 0 0 6px rgb(var(--portal-shadow-rgb) / 0.024);transition:.25s}
.jarvisBubble:hover,.jarvisBubble.open{transform:translateY(-3px);border-color:rgb(var(--portal-gold-rgb) / 0.533);box-shadow:0 20px 55px var(--portal-shadow),0 0 28px rgb(var(--portal-gold-rgb) / 0.122)}
.jarvisBubble>i{position:absolute;right:4px;bottom:7px;width:9px;height:9px;border:2px solid var(--portal-border);border-radius:50%;background:var(--portal-success);box-shadow:0 0 9px var(--portal-success)}
.jarvisBubble>b{position:absolute;right:73px;border:1px solid var(--portal-border);border-radius:7px;background:rgb(var(--portal-bg-rgb) / 0.91);padding:7px 9px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);letter-spacing:.14em;opacity:0;transform:translateX(5px);transition:.2s;pointer-events:none}
.jarvisBubble:hover>b{opacity:1;transform:none}
.jarvisLionMark{position:relative;width:47px;height:48px;overflow:hidden;border-radius:50%}
.jarvisLionMark img{position:absolute;top:-2px;left:-23px;width:94px;height:auto;max-width:none}
.jarvisBubblePanel{position:fixed;right:24px;bottom:100px;z-index:99;width:min(470px,calc(100vw - 28px));max-height:min(690px,calc(100vh - 125px));overflow:auto;border:1px solid var(--portal-border);border-radius:19px;background:var(--portal-bg);color:var(--portal-text);box-shadow:0 30px 90px var(--portal-shadow)}
.jarvisBubblePanel>header{position:sticky;top:0;z-index:5;justify-content:space-between;background:rgb(var(--portal-bg-rgb) / 0.949);padding:13px 16px;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}
.jarvisBubblePanel>header div{display:grid;gap:2px}
.jarvisBubblePanel>header span{color:var(--portal-text);font-size:var(--portal-type-caption);letter-spacing:.16em}
.jarvisBubblePanel>header button{width:29px;height:29px;border:1px solid var(--portal-border);border-radius:50%;background:var(--portal-bg);font-size:var(--portal-type-body-lg);cursor:pointer}
.jarvisBubblePanel .jarvisAgentPanel{display:block;border:0;padding:15px;background:var(--portal-bg)}
.jarvisBubblePanel .jarvisScanner,.jarvisBubblePanel .agentIntro,.jarvisBubblePanel .agentConnections{display:none}
.jarvisBubblePanel .jarvisAgentPanel form{display:grid;grid-template-columns:1fr auto}
.jarvisBubblePanel .jarvisAgentPanel form>button{min-width:84px}
.jarvisBubblePanel .agentReply{margin-top:12px;max-height:none}
.jarvisBubblePanel .agentSetup,.jarvisBubblePanel .agentError{margin:10px 0}
@media(max-width:1050px){
  .knowledgeDashboard .portalAppGrid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:800px){
  .portalShell{grid-template-columns:1fr}
  .portalSidebar{position:relative;height:auto}
  .knowledgeDashboard{width:min(100% - 24px,1180px)}
  .knowledgeMapLayout{grid-template-columns:1fr}
  .nodeInspector{max-height:190px}
  .jarvisAgentPanel{grid-template-columns:40px 1fr}
  .jarvisAgentPanel .agentConnections{grid-column:2}
  .jarvisAgentPanel form{grid-column:1/3}
  .knowledgeDashboard .portalAppGrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .mapTelemetry{display:none}
  .knowledgeMapHeader h2{font-size:var(--portal-type-h2)}
  .graphCanvas3d,.graphCanvas3d canvas{height:270px;min-height:270px}
  .knowledgeDashboard .portalAppGrid{grid-template-columns:1fr}
  .jarvisBubble{right:14px;bottom:14px}
  .jarvisBubblePanel{right:14px;bottom:91px}
  .jarvisBubblePanel .jarvisAgentPanel form{grid-template-columns:1fr}
  .jarvisBubblePanel .jarvisAgentPanel form>button{min-height:44px}
}

/* Dashboard: knowledge network and Jarvis only */
.portalNavLabel{margin:15px 11px 4px;color:var(--portal-text);font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.portalLionLogo{display:grid;place-items:center;padding:4px 8px 16px}
.portalLionLogo img{width:76px;height:76px;object-fit:contain;filter:none}
.jarvisLionMark{width:50px;height:50px}
.jarvisLionMark img{position:static;width:50px;height:50px;object-fit:contain;max-width:100%}
.knowledgeDashboard{width:min(1480px,calc(100% - 48px));padding:30px 0 80px}
.knowledgeDashboard .jarvisSystem{border-radius:28px}
.knowledgeMapHeader{padding:28px 34px 23px}
.knowledgeMapHeader h2{font-size:var(--portal-type-h2)}
.knowledgeMapHeader p{font-size:var(--portal-type-small)}
.knowledgeMapLayout{grid-template-columns:minmax(0,1fr) 300px}
.graphCanvas3d{min-height:560px}
.graphCanvas3d canvas{height:560px}
.nodeInspector{padding:28px 25px}
.nodeInspector h3{font-size:var(--portal-type-h3)}
.nodeInspector>p,
.nodeInspector dd{font-size:var(--portal-type-body)}
.jarvisAgentPanel{grid-template-columns:70px minmax(0,1fr) 175px;gap:20px;padding:28px 32px 32px}
.jarvisScanner{width:62px;height:62px}
.jarvisScanner span{inset:16px}
.jarvisAgentPanel .agentIntro h2{font-size:var(--portal-type-h2)}
.jarvisAgentPanel .agentIntro p{font-size:var(--portal-type-small)}
.jarvisPrompt textarea{min-height:84px;padding-top:15px;font-size:var(--portal-type-body)}
.jarvisAgentPanel form>button{min-width:145px}
.jarvisAgentPanel .agentReply{max-height:none!important;overflow:visible!important}
.agentReply{padding:24px}
.agentReply>p{font-size:var(--portal-type-body);line-height:1.75}
.jarvisBubblePanel .jarvisAgentPanel .agentReply{max-height:none!important;overflow:visible!important}
@media(max-width:1100px){
  .knowledgeMapLayout{grid-template-columns:minmax(0,1fr) 270px}
  .graphCanvas3d,.graphCanvas3d canvas{height:500px;min-height:500px}
  .jarvisAgentPanel{grid-template-columns:62px 1fr}
  .jarvisAgentPanel .agentConnections{grid-column:2}
  .jarvisAgentPanel form{grid-column:1/3}
}
@media(max-width:800px){
  .knowledgeDashboard{width:min(100% - 24px,1480px)}
  .knowledgeMapLayout{grid-template-columns:1fr}
  .graphCanvas3d,.graphCanvas3d canvas{height:430px;min-height:430px}
  .nodeInspector{max-height:none}
  .jarvisAgentPanel{grid-template-columns:1fr}
  .jarvisAgentPanel .agentConnections,.jarvisAgentPanel form{grid-column:1}
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/portal/styles/02-jarvis-conversation.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************/
/* Structured Jarvis answers */
.jarvisAnswerView{display:grid;gap:18px;margin-top:17px}
.answerNarrative{display:grid;gap:9px}
.answerNarrative p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.72}
.answerNarrative strong{color:var(--portal-text);font-weight:760}
.answerMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.answerMetrics article{position:relative;overflow:hidden;display:grid;gap:7px;min-height:88px;border:1px solid var(--portal-border);border-radius:12px;background:linear-gradient(145deg,var(--portal-bg),var(--portal-bg));padding:14px;opacity:0;transform:translateY(8px);animation:answerReveal .45s ease forwards}
.answerMetrics article:before{position:absolute;top:0;right:0;left:0;height:1px;background:linear-gradient(90deg,transparent,rgb(var(--portal-gold-rgb) / 0.533),transparent);content:""}
.answerMetrics article span{color:var(--portal-text);font-size:var(--portal-type-caption);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.answerMetrics article strong{align-self:end;color:var(--portal-text);font-size:var(--portal-type-h4);letter-spacing:-.035em}
.answerMetrics article i{position:absolute;right:-14px;bottom:-18px;width:52px;height:52px;border:1px solid rgb(var(--portal-gold-rgb) / 0.122);border-radius:50%;box-shadow:0 0 28px rgb(var(--portal-gold-rgb) / 0.039)}
.answerDataBlock{overflow:hidden;border:1px solid var(--portal-border);border-radius:14px;background:var(--portal-bg)}
.answerDataBlock>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--portal-border);padding:14px 16px}
.answerDataBlock>header span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.14em}
.answerDataBlock>header h4{margin:3px 0 0;color:var(--portal-text);font-size:var(--portal-type-h3)}
.answerDataBlock>header small{color:var(--portal-text);font-size:var(--portal-type-caption)}
.answerChart{display:grid;gap:10px;padding:17px 16px}
.answerBarRow{display:grid;grid-template-columns:minmax(110px,1fr) minmax(100px,2fr) auto;gap:12px;align-items:center}
.answerBarRow>span{overflow:hidden;color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-overflow:ellipsis;white-space:nowrap}
.answerBarRow>div{height:7px;overflow:hidden;border-radius:99px;background:var(--portal-bg)}
.answerBarRow>div i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--portal-gold),var(--portal-gold));box-shadow:0 0 13px rgb(var(--portal-gold-rgb) / 0.18);transform:scaleX(0);transform-origin:left;animation:answerBarGrow .7s cubic-bezier(.2,.8,.2,1) forwards}
.answerBarRow>strong{min-width:68px;color:var(--portal-text);font-size:var(--portal-type-caption);text-align:right}
.answerTableWrap{overflow-x:auto;border-top:1px solid var(--portal-border)}
.answerTableWrap table{width:100%;border-collapse:collapse}
.answerTableWrap th,.answerTableWrap td{padding:10px 14px;border-bottom:1px solid var(--portal-border);font-size:var(--portal-type-small);text-align:left}
.answerTableWrap th{background:var(--portal-bg);color:var(--portal-text);font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.answerTableWrap td{color:var(--portal-text-muted)}
.answerTableWrap td:first-child{width:38px;color:var(--portal-gold)}
.answerTableWrap td:last-child{color:var(--portal-text);font-weight:750}
.answerTableWrap tr:last-child td{border-bottom:0}
.answerCaveat{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--portal-gold);border-radius:12px;background:rgb(var(--portal-gold-rgb) / 0.043);padding:14px}
.answerCaveat>i{display:grid;flex:0 0 22px;height:22px;place-items:center;border-radius:50%;background:var(--portal-gold);color:var(--portal-bg);font:900 var(--portal-type-caption) var(--portal-font-body)}
.answerCaveat>div{display:grid;gap:4px}
.answerCaveat strong{color:var(--portal-gold);font-size:var(--portal-type-caption);letter-spacing:.1em;text-transform:uppercase}
.answerCaveat p{margin:0;color:var(--portal-gold);font-size:var(--portal-type-body);line-height:1.6}
@keyframes answerReveal{
  to{opacity:1;transform:none}
}
@keyframes answerBarGrow{
  to{transform:scaleX(1)}
}
@media(max-width:700px){
  .answerMetrics{grid-template-columns:repeat(2,1fr)}
  .answerBarRow{grid-template-columns:minmax(90px,1fr) 1.5fr}
  .answerBarRow>strong{grid-column:2;text-align:left}
  .answerDataBlock>header{align-items:flex-start}
  .answerMetrics article strong{font-size:var(--portal-type-body)}
}
@media(prefers-reduced-motion:reduce){
  .answerMetrics article,.answerBarRow>div i{animation:none;opacity:1;transform:none}
}
.warehouseDashboard{display:grid;gap:18px;color:var(--portal-text)}
.warehouseDashboardHeader,.warehouseSectionHeading{display:flex;align-items:center;justify-content:space-between;gap:18px}
.warehouseDashboardHeader span,.warehouseSectionHeading span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:800;letter-spacing:.16em}
.warehouseDashboardHeader h3,.warehouseSectionHeading h4{margin:5px 0 0;color:var(--portal-text);font-size:var(--portal-type-h3);letter-spacing:-.035em}
.warehouseDashboardHeader button{border:1px solid var(--portal-gold);background:var(--portal-bg);color:var(--portal-gold);border-radius:9px;padding:9px 13px;font:700 var(--portal-type-caption)/1 inherit;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}
.warehouseSlicers{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:8px;padding:12px;background:var(--portal-bg);border:1px solid var(--portal-border);border-radius:12px}
.warehouseSlicers label{display:grid;gap:5px}
.warehouseSlicers label span{font-size:var(--portal-type-caption);color:var(--portal-text-muted);text-transform:uppercase;letter-spacing:.12em}
.warehouseSlicers select{width:100%;min-width:0;border:1px solid var(--portal-border);border-radius:7px;background:var(--portal-bg);color:var(--portal-text);padding:9px 28px 9px 9px;font-size:var(--portal-type-caption)}
.warehouseSlicers .unavailable{opacity:.48}
.warehouseKpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.warehouseKpis article{position:relative;display:grid;gap:6px;min-height:118px;padding:16px;border:1px solid var(--portal-border);border-radius:13px;background:linear-gradient(145deg,var(--portal-bg),var(--portal-bg));overflow:hidden}
.warehouseKpis article:before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:var(--portal-gold)}
.warehouseKpis article>span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-transform:uppercase;letter-spacing:.12em}
.warehouseKpis article strong{font-size:var(--portal-type-h3);color:var(--portal-text);letter-spacing:-.04em}
.warehouseKpis article small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.warehouseChange{font-size:var(--portal-type-caption);font-weight:800}
.warehouseChange.positive{color:var(--portal-success)}
.warehouseChange.negative{color:var(--portal-error)}
.warehouseChange.neutral{color:var(--portal-text-muted)}
.warehouseTrend,.warehouseAccounts{border:1px solid var(--portal-border);border-radius:13px;background:var(--portal-bg);padding:15px}
.warehouseSectionHeading h4{font-size:var(--portal-type-h3)}
.warehouseSectionHeading b{font-size:var(--portal-type-caption);color:var(--portal-text-muted)}
.warehouseTrend svg{display:block;width:100%;height:240px;margin-top:8px;border-bottom:1px solid var(--portal-border);background:var(--portal-bg)}
.warehouseTrendLabels{display:flex;justify-content:space-between;padding-top:7px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.warehouseChartToggle{display:flex;overflow:hidden;border:1px solid var(--portal-border);border-radius:8px;background:var(--portal-bg)}
.warehouseChartToggle button{border:0;border-right:1px solid var(--portal-border);background:transparent;color:var(--portal-text-muted);padding:8px 10px;font-size:var(--portal-type-caption);font-weight:800;text-transform:uppercase;letter-spacing:.07em;cursor:pointer}
.warehouseChartToggle button:last-child{border-right:0}
.warehouseChartToggle button.active{background:var(--portal-gold);color:var(--portal-bg)}
.warehouseGridLine{stroke:var(--portal-border);stroke-width:1;stroke-dasharray:3 5}
.warehouseAxisLine{stroke:var(--portal-border);stroke-width:1}
.warehouseAxisLabel{fill:var(--portal-bg);font:var(--portal-type-caption) var(--portal-font-body)}
.warehouseHitPoint{cursor:crosshair;outline:none}
.warehouseSvgTooltip rect{fill:var(--portal-bg);stroke:var(--portal-gold);stroke-width:1;filter:drop-shadow(0 5px 9px var(--portal-shadow))}
.warehouseSvgTooltip text{fill:var(--portal-text);font:var(--portal-type-caption) var(--portal-font-body)}
.warehouseSvgTooltip text.value{fill:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:800}
.warehouseAccountGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.warehouseAccounts{padding:13px;min-width:0}
.warehouseAccounts.top{border-top-color:var(--portal-gold)}
.warehouseAccounts.lost{border-top-color:var(--portal-error)}
.warehouseAccounts.declining{border-top-color:var(--portal-warning)}
.warehouseTableScroll{overflow:auto;max-height:330px;margin-top:12px}
.warehouseAccounts table{width:100%;border-collapse:collapse;font-size:var(--portal-type-caption)}
.warehouseAccounts th{position:sticky;top:0;background:var(--portal-bg);color:var(--portal-text-muted);text-align:left;text-transform:uppercase;letter-spacing:.08em;padding:7px;border-bottom:1px solid var(--portal-border)}
.warehouseAccounts td{padding:8px 7px;border-bottom:1px solid var(--portal-border);color:var(--portal-text);white-space:nowrap}
.warehouseAccounts th:nth-child(n+3),.warehouseAccounts td:nth-child(n+3){text-align:right}
.warehouseDataNote{display:flex;gap:12px;padding:11px 13px;border:1px solid var(--portal-gold);background:var(--portal-bg);border-radius:9px;font-size:var(--portal-type-caption)}
.warehouseDataNote strong{color:var(--portal-gold);text-transform:uppercase}
.warehouseDataNote span{color:var(--portal-text-muted)}
.knowledgeDashboard .agentReply:before{display:none}
.knowledgeDashboard .answerNarrative p{color:var(--portal-text);font-size:var(--portal-type-body);line-height:1.75;letter-spacing:.002em}
.knowledgeDashboard .answerNarrative strong{color:var(--portal-text);font-weight:800}
.knowledgeDashboard .replyIdentity strong{color:var(--portal-gold);font-size:var(--portal-type-caption)}
.knowledgeDashboard .replyIdentity span,
.knowledgeDashboard .agentSources summary{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.knowledgeDashboard .agentSources summary b{background:var(--portal-surface);color:var(--portal-gold)}
.knowledgeDashboard .agentSources small{border-left-color:rgb(var(--portal-gold-rgb) / 0.4);color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.55}
.knowledgeDashboard .agentSources small strong{color:var(--portal-text);font-size:var(--portal-type-caption)}
.knowledgeDashboard .warehouseDashboardHeader span,.knowledgeDashboard .warehouseSectionHeading span{font-size:var(--portal-type-caption)}
.knowledgeDashboard .warehouseDashboardHeader h3{font-size:var(--portal-type-h3)}
.knowledgeDashboard .warehouseSectionHeading h4{font-size:var(--portal-type-h3)}
.knowledgeDashboard .warehouseSlicers label span{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.knowledgeDashboard .warehouseSlicers select{font-size:var(--portal-type-caption)}
.knowledgeDashboard .warehouseKpis article>span,
.knowledgeDashboard .warehouseKpis article small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.knowledgeDashboard .warehouseChange{font-size:var(--portal-type-caption)}
.knowledgeDashboard .warehouseTrendLabels{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.knowledgeDashboard .warehouseAxisLabel{fill:var(--portal-text);font-size:var(--portal-type-caption)}
.knowledgeDashboard .warehouseAccounts table{font-size:var(--portal-type-caption)}
.knowledgeDashboard .warehouseAccounts th{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.knowledgeDashboard .warehouseAccounts td{color:var(--portal-text);font-size:var(--portal-type-small)}
.knowledgeDashboard .warehouseDataNote{font-size:var(--portal-type-caption);line-height:1.55}
.knowledgeDashboard .warehouseDataNote span{color:var(--portal-text-muted)}
@media(max-width:1100px){
  .warehouseSlicers{grid-template-columns:repeat(3,1fr)}
  .warehouseAccountGrid{grid-template-columns:1fr}
  .warehouseKpis{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .warehouseSlicers,.warehouseKpis{grid-template-columns:1fr}
  .warehouseDashboardHeader{align-items:flex-start;flex-direction:column}
}

/* Persistent Jarvis conversations */
.jarvisConversationBar{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(220px,420px) auto 1fr;gap:12px;align-items:end;border-top:1px solid var(--portal-border);padding-top:18px}
.jarvisConversationBar>button{height:42px;border:1px solid var(--portal-gold);border-radius:9px;background:var(--portal-bg);color:var(--portal-gold);padding:0 15px;font:800 var(--portal-type-caption)/1 var(--portal-font-body);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.jarvisConversationBar>button:hover,.jarvisConversationBar>button.active{border-color:var(--portal-gold);background:var(--portal-surface)}
.jarvisConversationBar>button:disabled{cursor:not-allowed;opacity:.45}
.jarvisConversationBar label{display:grid;gap:6px}
.jarvisConversationBar label>span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.jarvisConversationBar select{width:100%;height:42px;border:1px solid var(--portal-border);border-radius:9px;background:var(--portal-bg);color:var(--portal-text);padding:0 34px 0 12px;font:600 var(--portal-type-caption) var(--portal-font-body)}
.jarvisConversationBar>small{align-self:center;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.jarvisMemoryPanel{grid-column:1/-1;position:relative;display:grid;grid-template-columns:minmax(260px,340px) 34px minmax(0,1fr);gap:18px;overflow:hidden;border:1px solid var(--portal-gold);border-radius:14px;background:var(--portal-bg);padding:18px;box-shadow:0 18px 45px rgb(var(--portal-shadow-rgb) / 0.533)}
.jarvisMemoryPanel>div>span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.15em}
.jarvisMemoryPanel>div>strong{display:block;margin-top:6px;color:var(--portal-text);font-size:var(--portal-type-body)}
.jarvisMemoryPanel>div>p{margin:8px 0 0;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.55}
.jarvisMemoryPanel>button{grid-column:2;width:30px;height:30px;border:1px solid var(--portal-border);border-radius:50%;background:var(--portal-bg);color:var(--portal-text-muted);font-size:var(--portal-type-body-lg);cursor:pointer}
.jarvisMemoryPanel>button:hover{border-color:var(--portal-gold);color:var(--portal-gold)}
.jarvisMemoryPanel>section{grid-column:3;display:grid;max-height:300px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;overflow:auto;padding-right:4px;scrollbar-color:var(--portal-gold) var(--portal-text);scrollbar-width:thin}
.jarvisMemoryPanel>section>p{grid-column:1/-1;margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-body)}
.jarvisMemoryPanel article{display:flex;min-width:0;flex-direction:column;border:1px solid var(--portal-border);border-radius:10px;background:var(--portal-bg);padding:11px}
.jarvisMemoryPanel article header{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.jarvisMemoryPanel article header span,.jarvisMemoryPanel article header b{border:1px solid var(--portal-border);border-radius:999px;padding:4px 6px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.jarvisMemoryPanel article header span{border-color:var(--portal-gold);color:var(--portal-gold)}
.jarvisMemoryPanel article p{margin:9px 0;color:var(--portal-text);font-size:var(--portal-type-body);line-height:1.5}
.jarvisMemoryPanel article footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}
.jarvisMemoryPanel article footer small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.jarvisMemoryPanel article footer button{border:0;background:transparent;color:var(--portal-error);padding:4px;font-size:var(--portal-type-caption);font-weight:800;cursor:pointer}
.jarvisMemoryPanel article footer button:hover{color:var(--portal-error)}
.jarvisThread{grid-column:1/-1;display:grid;gap:14px;min-width:0}
.jarvisEmptyThread{display:grid;place-items:center;gap:7px;min-height:130px;border:1px dashed var(--portal-border);border-radius:14px;background:var(--portal-bg);color:var(--portal-text-muted);text-align:center}
.jarvisEmptyThread strong{color:var(--portal-text);font-size:var(--portal-type-small)}
.jarvisEmptyThread span{font-size:var(--portal-type-caption)}
.jarvisUserMessage{justify-self:end;width:min(760px,86%);border:1px solid var(--portal-warning);border-radius:16px 16px 4px 16px;background:linear-gradient(145deg,var(--portal-bg),var(--portal-bg));padding:14px 17px}
.jarvisUserMessage span{display:block;margin-bottom:6px;color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.jarvisUserMessage p{margin:0;color:var(--portal-text);font-size:var(--portal-type-body);line-height:1.6;white-space:pre-wrap}
.jarvisAssistantMessage{width:100%;margin:0}
.jarvisThinking{display:flex;gap:10px;align-items:center;width:max-content;border:1px solid var(--portal-border);border-radius:99px;background:var(--portal-bg);padding:10px 15px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.jarvisThinking i{width:8px;height:8px;border-radius:50%;background:var(--portal-gold);box-shadow:0 0 13px var(--portal-gold);animation:jarvisThink 1s ease-in-out infinite alternate}
@keyframes jarvisThink{
  to{opacity:.3;transform:scale(.7)}
}
.jarvisConversationBar+ .jarvisThread + form,.jarvisConversationBar+ .jarvisMemoryPanel + .jarvisThread + form{grid-column:1/-1}
.jarvisBubblePanel .jarvisConversationBar{grid-template-columns:auto 1fr;padding-top:12px}
.jarvisBubblePanel .jarvisConversationBar>small{display:none}
.jarvisBubblePanel .jarvisThread{margin-top:12px}
.jarvisBubblePanel .jarvisUserMessage{width:90%}
.jarvisBubblePanel .jarvisConversationBar+ .jarvisThread + form{display:grid;grid-template-columns:1fr auto;margin-top:12px}
@media(max-width:900px){
  .jarvisMemoryPanel{grid-template-columns:1fr auto}
  .jarvisMemoryPanel>button{grid-column:2}
  .jarvisMemoryPanel>section{grid-column:1/-1}
}
@media(max-width:700px){
  .jarvisConversationBar{grid-template-columns:1fr}
  .jarvisConversationBar>small{display:none}
  .jarvisMemoryPanel>section{grid-template-columns:1fr}
  .jarvisUserMessage{width:92%}
}
@media(prefers-reduced-motion:reduce){
  .jarvisThinking i{animation:none}
}

/* Jarvis-to-neural-map activity and source handoff */
.jarvisMapSources{position:absolute;z-index:8;top:16px;right:16px;width:min(360px,calc(100% - 32px));max-height:360px;overflow:hidden;border:1px solid var(--portal-gold);border-radius:14px;background:rgb(var(--portal-bg-rgb) / 0.949);color:var(--portal-text);box-shadow:0 22px 60px var(--portal-shadow),0 0 32px rgb(var(--portal-gold-rgb) / 0.071);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:mapSourceReveal .28s ease-out}
.jarvisMapSources>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid var(--portal-gold);padding:13px 14px 11px}
.jarvisMapSources>header div{display:grid;gap:4px}
.jarvisMapSources>header span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.13em}
.jarvisMapSources>header strong{font-size:var(--portal-type-small)}
.jarvisMapSources>header button{display:grid;width:25px;height:25px;flex:0 0 25px;place-items:center;border:1px solid var(--portal-border);border-radius:50%;background:var(--portal-bg);color:var(--portal-text-muted);font-size:var(--portal-type-body);cursor:pointer}
.jarvisMapSources>p{margin:0;padding:10px 14px;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.45}
.jarvisMapSources>div:last-child{display:grid;max-height:252px;overflow:auto;padding:0 8px 9px}
.jarvisMapSources>div:last-child>button{display:grid;grid-template-columns:8px 1fr;gap:10px;align-items:center;border:0;border-top:1px solid var(--portal-border);background:transparent;padding:10px 7px;color:var(--portal-text);text-align:left;cursor:pointer}
.jarvisMapSources>div:last-child>button:hover{background:rgb(var(--portal-elevated-rgb) / 0.031)}
.jarvisMapSources>div:last-child>button>i{width:7px;height:7px;border-radius:50%;box-shadow:0 0 9px currentColor}
.jarvisMapSources>div:last-child>button>span{display:grid;min-width:0;gap:3px}
.jarvisMapSources>div:last-child>button strong{overflow:hidden;font-size:var(--portal-type-caption);text-overflow:ellipsis;white-space:nowrap}
.jarvisMapSources>div:last-child>button small{overflow:hidden;color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-overflow:ellipsis;white-space:nowrap}
@keyframes mapSourceReveal{
  from{opacity:0;transform:translateY(-8px) scale(.98)}
  to{opacity:1;transform:none}
}
@media(max-width:600px){
  .jarvisMapSources{top:54px;right:10px;width:calc(100% - 20px);max-height:300px}
  .jarvisMapSources>div:last-child{max-height:190px}
}
@media(prefers-reduced-motion:reduce){
  .jarvisMapSources{animation:none}
}
.jarvisDashboardAnswer{display:grid;gap:24px}
.jarvisDashboardAnswer>.jarvisAnswerView{border-bottom:1px solid var(--portal-border);padding:2px 2px 22px}

/* Definitive Jarvis typography — intentionally overrides legacy nested-span rules */
.portalRoot .agentReply{font-family:var(--portal-font-body);font-size:var(--portal-type-body);color:var(--portal-text)}
.portalRoot .agentReply .replyIdentity{font-size:inherit;text-transform:none}
.portalRoot .agentReply .replyIdentity strong{color:var(--portal-gold);font-size:var(--portal-type-caption);line-height:1.2;letter-spacing:.12em;text-transform:uppercase}
.portalRoot .agentReply .replyIdentity span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.2;letter-spacing:.08em;text-transform:uppercase}
.portalRoot .agentReply .jarvisAnswerView{gap:20px}
.portalRoot .agentReply .answerNarrative{display:grid;gap:12px}
.portalRoot .agentReply .answerNarrative p,
.portalRoot .agentReply .answerNarrative span,
.portalRoot .agentReply .answerNarrative strong{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:normal;text-transform:none}
.portalRoot .agentReply .answerNarrative p{margin:0;color:var(--portal-text);font-size:var(--portal-type-body);font-weight:450;line-height:1.72}
.portalRoot .agentReply .answerNarrative strong{color:var(--portal-text);font-weight:780}
.portalRoot .agentReply .answerNarrative h3,
.portalRoot .agentReply .answerNarrative h4{margin:8px 0 0;color:var(--portal-text);font-family:var(--portal-font-heading);line-height:var(--portal-leading-heading);letter-spacing:-.015em;text-transform:none}
.portalRoot .agentReply .answerNarrative h3{font-size:var(--portal-type-h3)}
.portalRoot .agentReply .answerNarrative h4{font-size:var(--portal-type-h3)}
.portalRoot .agentReply .answerNarrative h3 span,
.portalRoot .agentReply .answerNarrative h3 strong,
.portalRoot .agentReply .answerNarrative h4 span,
.portalRoot .agentReply .answerNarrative h4 strong{color:inherit;font-size:var(--portal-type-h3);line-height:var(--portal-leading-heading);text-transform:none}
.portalRoot .agentReply .answerNarrative .answerBullet{position:relative;padding-left:18px}
.portalRoot .agentReply .answerNarrative .answerBullet:before{position:absolute;top:.7em;left:2px;width:5px;height:5px;border-radius:50%;background:var(--portal-gold);content:""}
.portalRoot .agentReply .answerMetrics{gap:12px}
.portalRoot .agentReply .answerMetrics article{min-height:105px;padding:17px}
.portalRoot .agentReply .answerMetrics article span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.35;letter-spacing:.08em;text-transform:uppercase}
.portalRoot .agentReply .answerMetrics article strong{color:var(--portal-text);font-size:var(--portal-type-h3);line-height:1.15;text-transform:none}
.portalRoot .agentReply .answerDataBlock>header span{color:var(--portal-gold);font-size:var(--portal-type-caption)}
.portalRoot .agentReply .answerDataBlock>header h4{font-size:var(--portal-type-h3)}
.portalRoot .agentReply .answerDataBlock>header small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.portalRoot .agentReply .answerBarRow>span,
.portalRoot .agentReply .answerBarRow>strong{font-size:var(--portal-type-caption);text-transform:none}
.portalRoot .agentReply .answerTableWrap th,
.portalRoot .agentReply .answerTableWrap td{font-size:var(--portal-type-small);line-height:1.45}
.portalRoot .agentReply .answerCaveat strong{font-size:var(--portal-type-caption)}
.portalRoot .agentReply .answerCaveat p,
.portalRoot .agentReply .answerCaveat p span,
.portalRoot .agentReply .answerCaveat p strong{color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.6;text-transform:none}
.portalRoot .agentReply .agentSources summary,
.portalRoot .agentReply .agentSources summary span{color:var(--portal-text);font-size:var(--portal-type-caption);line-height:1.3;text-transform:uppercase}
.portalRoot .agentReply .agentSources small,
.portalRoot .agentReply .agentSources small span,
.portalRoot .agentReply .agentSources small strong{font-size:var(--portal-type-caption);line-height:1.55;text-transform:none}
@media(max-width:700px){
  .portalRoot .agentReply .answerNarrative p{font-size:var(--portal-type-body)}
  .portalRoot .agentReply .answerNarrative h3{font-size:var(--portal-type-h3)}
  .portalRoot .agentReply .answerNarrative h4{font-size:var(--portal-type-h3)}
}

/* Jarvis structured answer system */
.portalRoot .agentReply .answerToolbar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  margin-top:-8px;
  padding:0;
}
.portalRoot .agentReply .answerToolbar button,
.portalRoot .agentReply .answerTableMore{
  border:1px solid var(--portal-gold);
  border-radius:8px;
  background:rgb(var(--portal-gold-rgb) / 0.043);
  padding:7px 10px;
  color:var(--portal-gold);
  font:750 var(--portal-type-caption)/1 var(--portal-font-body);
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,color .18s ease;
}
.portalRoot .agentReply .answerToolbar button:hover,
.portalRoot .agentReply .answerTableMore:hover{
  border-color:var(--portal-gold);
  background:rgb(var(--portal-gold-rgb) / 0.094);
  color:var(--portal-gold);
}
.portalRoot .agentReply .answerSection{
  display:grid;
  gap:11px;
}
.portalRoot .agentReply .answerSection>h3,
.portalRoot .agentReply .answerSection>h4{
  margin:3px 0 0;
  color:var(--portal-text);
  font-family:var(--portal-font-heading);
  font-weight:var(--portal-weight-heading);
  letter-spacing:-.025em;
  line-height:var(--portal-leading-heading);
  text-transform:none;
}
.portalRoot .agentReply .answerSection>h3{font-size:var(--portal-type-h3)}
.portalRoot .agentReply .answerSection>h4{font-size:var(--portal-type-h3)}
.portalRoot .agentReply .answerSectionBody{
  display:grid;
  gap:12px;
  min-width:0;
}
.portalRoot .agentReply .answerSectionBody p{
  max-width:92ch;
  margin:0;
  color:var(--portal-text);
  font-size:var(--portal-type-body);
  font-weight:440;
  line-height:1.7;
}
.portalRoot .agentReply .jarvisAnswerView .answerSectionBody p span,
.portalRoot .agentReply .jarvisAnswerView .answerSectionBody li span,
.portalRoot .agentReply .jarvisAnswerView .answerSectionBody blockquote span{
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  line-height:inherit;
  text-transform:none;
}
.portalRoot .agentReply .answerSectionBody strong{color:var(--portal-text);font-weight:780}
.portalRoot .agentReply .answerSectionBody em{color:var(--portal-text-muted)}
.portalRoot .agentReply .answerSectionBody code{
  border:1px solid var(--portal-warning);
  border-radius:5px;
  background:var(--portal-bg);
  padding:2px 5px;
  color:var(--portal-gold);
  font:600 var(--portal-type-small)/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;
}
.portalRoot .agentReply .answerSectionBody a{
  color:var(--portal-gold);
  text-decoration-color:rgb(var(--portal-gold-rgb) / 0.4);
  text-underline-offset:3px;
}
.portalRoot .agentReply .answerSectionBody ul,
.portalRoot .agentReply .answerSectionBody ol{
  display:grid;
  gap:9px;
  max-width:94ch;
  margin:0;
  padding-left:22px;
  color:var(--portal-text);
}
.portalRoot .agentReply .answerSectionBody li{
  padding-left:4px;
  font-size:var(--portal-type-body);
  line-height:1.62;
}
.portalRoot .agentReply .answerSectionBody li::marker{color:var(--portal-gold);font-weight:800}
.portalRoot .agentReply .answerSectionBody blockquote{
  margin:0;
  border-left:3px solid var(--portal-gold);
  border-radius:0 8px 8px 0;
  background:rgb(var(--portal-gold-rgb) / 0.039);
  padding:12px 15px;
  color:var(--portal-text);
  font-size:var(--portal-type-body);
  line-height:1.65;
}
.portalRoot .agentReply .answerSummarySection{
  border:1px solid var(--portal-gold);
  border-left:3px solid var(--portal-gold);
  border-radius:11px;
  background:linear-gradient(105deg,rgb(var(--portal-gold-rgb) / 0.071),transparent 72%);
  padding:17px 19px;
}
.portalRoot .agentReply .answerSummarySection>h3{
  color:var(--portal-gold);
  font-size:var(--portal-type-h3);
  font-weight:var(--portal-weight-heading);
  letter-spacing:.055em;
  text-transform:uppercase;
}
.portalRoot .agentReply .answerSummarySection .answerSectionBody p{
  color:var(--portal-text);
  font-size:var(--portal-type-small);
  font-weight:540;
  line-height:1.58;
}
.portalRoot .agentReply .answerSummarySection .answerSectionBody p span{
  color:var(--portal-text);
  font-size:var(--portal-type-small);
  font-weight:540;
  letter-spacing:normal;
  line-height:1.58;
  text-transform:none;
}
.portalRoot .agentReply .answerSupportingSection{
  overflow:hidden;
  border:1px solid var(--portal-border);
  border-radius:10px;
  background:var(--portal-bg);
}
.portalRoot .agentReply .answerSupportingSection summary{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:10px;
  align-items:center;
  padding:12px 14px;
  color:var(--portal-text);
  cursor:pointer;
  list-style:none;
}
.portalRoot .agentReply .answerSupportingSection summary::-webkit-details-marker{display:none}
.portalRoot .agentReply .answerSupportingSection summary span{
  color:var(--portal-text);
  font-size:var(--portal-type-small);
  font-weight:760;
  letter-spacing:0;
  text-transform:none;
}
.portalRoot .agentReply .answerSupportingSection summary small{
  color:var(--portal-text-muted);
  font-size:var(--portal-type-caption);
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.portalRoot .agentReply .answerSupportingSection summary i{
  color:var(--portal-gold);
  font-size:var(--portal-type-small);
  font-style:normal;
  transition:transform .18s ease;
}
.portalRoot .agentReply .answerSupportingSection[open] summary i{transform:rotate(180deg)}
.portalRoot .agentReply .answerSupportingSection>.answerSectionBody{
  border-top:1px solid var(--portal-border);
  padding:14px;
}
.portalRoot .agentReply .answerMarkdownTable{
  overflow:hidden;
  min-width:0;
  border:1px solid var(--portal-border);
  border-radius:10px;
  background:var(--portal-bg);
}
.portalRoot .agentReply .answerMarkdownTable .answerTableWrap{
  overflow:auto;
  max-width:100%;
}
.portalRoot .agentReply .answerMarkdownTable table{
  width:100%;
  min-width:700px;
  table-layout:auto;
  border-collapse:collapse;
}
.portalRoot .agentReply .answerMarkdownTable th{
  border-bottom:1px solid var(--portal-gold);
  background:var(--portal-bg);
  padding:0;
  text-align:left;
}
.portalRoot .agentReply .answerMarkdownTable th button{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:0;
  background:transparent;
  padding:11px 13px;
  color:var(--portal-gold);
  font:800 var(--portal-type-caption)/1.35 var(--portal-font-body);
  letter-spacing:.045em;
  text-align:left;
  text-transform:uppercase;
  cursor:pointer;
}
.portalRoot .agentReply .answerMarkdownTable th button span{
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
  line-height:inherit;
  text-transform:inherit;
}
.portalRoot .agentReply .answerMarkdownTable th button:hover{background:rgb(var(--portal-elevated-rgb) / 0.031);color:var(--portal-gold)}
.portalRoot .agentReply .answerMarkdownTable th i{
  color:var(--portal-text-muted);
  font-size:var(--portal-type-caption);
  font-style:normal;
}
.portalRoot .agentReply .answerMarkdownTable td{
  border-top:1px solid var(--portal-border);
  padding:11px 13px;
  color:var(--portal-text);
  font-size:var(--portal-type-small);
  line-height:1.45;
  vertical-align:top;
  word-break:normal;
  overflow-wrap:normal;
  white-space:normal;
}
.portalRoot .agentReply .answerMarkdownTable td span{
  color:inherit;
  font:inherit;
  letter-spacing:normal;
  line-height:inherit;
  text-transform:none;
}
.portalRoot .agentReply .answerMarkdownTable th:first-child,
.portalRoot .agentReply .answerMarkdownTable td:first-child{
  width:26%;
  min-width:180px;
}
.portalRoot .agentReply .answerMarkdownTable td:first-child{
  color:var(--portal-text);
  font-weight:700;
}
.portalRoot .agentReply .answerMarkdownTable th:last-child,
.portalRoot .agentReply .answerMarkdownTable td:last-child{
  width:38%;
  min-width:230px;
}
.portalRoot .agentReply .answerMarkdownTable tbody tr:hover td{background:rgb(var(--portal-elevated-rgb) / 0.024);color:var(--portal-text)}
.portalRoot .agentReply .answerTableMore{margin:10px 12px 12px}

/* The legacy portal used blue nested spans. Jarvis answers use only neutral
   high-contrast text with gold reserved for emphasis and interaction. */
.portalRoot .agentReply .jarvisAnswerView,
.portalRoot .agentReply .jarvisAnswerView .answerSectionBody p,
.portalRoot .agentReply .jarvisAnswerView .answerSectionBody p span,
.portalRoot .agentReply .jarvisAnswerView .answerSectionBody li,
.portalRoot .agentReply .jarvisAnswerView .answerSectionBody li span,
.portalRoot .agentReply .jarvisAnswerView .answerSectionBody blockquote,
.portalRoot .agentReply .jarvisAnswerView .answerSectionBody blockquote span,
.portalRoot .agentReply .jarvisAnswerView .answerMarkdownTable td,
.portalRoot .agentReply .jarvisAnswerView .answerMarkdownTable td span,
.portalRoot .agentReply .jarvisAnswerView .answerSectionBody strong,
.portalRoot .agentReply .jarvisAnswerView .answerSectionBody strong span,
.portalRoot .agentReply .jarvisAnswerView .answerMarkdownTable td strong,
.portalRoot .agentReply .jarvisAnswerView .answerMarkdownTable td strong span{
  color:var(--portal-text);
}
.portalRoot .agentReply .jarvisAnswerView .answerSectionBody a,
.portalRoot .agentReply .jarvisAnswerView .answerSectionBody a span{
  color:var(--portal-gold);
}
@media(max-width:700px){
  .portalRoot .agentReply .answerSection>h3{font-size:var(--portal-type-h3)}
  .portalRoot .agentReply .answerSection>h4,
.portalRoot .agentReply .answerSectionBody p{font-size:var(--portal-type-h3)}
  .portalRoot .agentReply .answerSummarySection{padding:14px}
  .portalRoot .agentReply .answerSummarySection .answerSectionBody p{font-size:var(--portal-type-small)}
  .portalRoot .agentReply .answerToolbar span{display:none}
}

/* Jarvis conversation: one vertical ChatGPT-style reading column */
.portalRoot .jarvisThread{
  display:flex;
  flex-direction:column;
  gap:10px;
  width:100%;
}
.portalRoot .jarvisUserMessage{
  box-sizing:border-box;
  align-self:stretch;
  justify-self:stretch;
  width:100%;
  max-width:none;
  margin:20px 0 0;
  border:1px solid var(--portal-gold);
  border-radius:14px;
  background:var(--portal-bg);
  padding:17px 20px;
  box-shadow:none;
}
.portalRoot .jarvisUserMessage span{
  margin-bottom:7px;
  color:var(--portal-gold);
  font-size:var(--portal-type-caption);
  line-height:1;
  letter-spacing:.12em;
}
.portalRoot .jarvisUserMessage p{
  max-width:none;
  color:var(--portal-text);
  font-size:var(--portal-type-body);
  line-height:1.6;
}
.portalRoot .jarvisAssistantMessage{
  box-sizing:border-box;
  align-self:stretch;
  width:100%;
  max-width:none;
  margin:0;
  border-radius:14px;
}
.portalRoot .jarvisUserMessage + .jarvisAssistantMessage{
  margin-top:0;
}
.portalRoot .jarvisThinking{
  align-self:flex-start;
  margin:0 0 8px 20px;
}
.jarvisBubblePanel .portalRoot .jarvisUserMessage,
.jarvisBubblePanel .jarvisUserMessage{
  width:100%;
  margin-top:12px;
  padding:13px 15px;
}
@media(max-width:700px){
  .portalRoot .jarvisThread{gap:8px}
  .portalRoot .jarvisUserMessage{width:100%;margin-top:14px;padding:14px 16px}
  .portalRoot .jarvisUserMessage p{font-size:var(--portal-type-body)}
}

/* Charts generated by Jarvis during an individual agent run */
.agentGeneratedVisual{
  overflow:hidden;
  border:1px solid var(--portal-gold);
  border-radius:16px;
  background:linear-gradient(145deg,var(--portal-bg),var(--portal-bg));
  box-shadow:inset 0 1px rgb(var(--portal-shadow-rgb) / 0.031);
}
.agentGeneratedVisual>header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid var(--portal-border);
  padding:18px 20px 15px;
}
.agentGeneratedVisual>header>div:first-child{display:grid;gap:5px}
.agentGeneratedVisual>header>div:first-child>span{
  color:var(--portal-gold);
  font-size:var(--portal-type-caption);
  font-weight:850;
  letter-spacing:.13em;
}
.agentGeneratedVisual h4{
  margin:0;
  color:var(--portal-text);
  font-size:var(--portal-type-h3);
  line-height:var(--portal-leading-heading);
}
.agentGeneratedVisual header p{
  margin:0;
  color:var(--portal-text-muted);
  font-size:var(--portal-type-small);
  line-height:1.55;
}
.agentVisualLegend{display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:flex-end}
.agentVisualLegend span{display:flex;gap:7px;align-items:center;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.agentVisualLegend i{width:8px;height:8px;border-radius:50%;box-shadow:0 0 10px currentColor}
.agentVisualCanvas{overflow-x:auto;padding:10px 14px 4px}
.agentVisualCanvas svg{display:block;width:100%;min-width:650px;height:auto}
.agentVisualGrid{stroke:rgb(var(--portal-text-rgb) / 0.071);stroke-width:1;stroke-dasharray:3 5}
.agentVisualAxisLine{stroke:rgb(var(--portal-text-rgb) / 0.149);stroke-width:1}
.agentVisualAxis,.agentVisualXAxis,.agentVisualTitle{fill:var(--portal-text);font:var(--portal-type-caption) var(--portal-font-body)}
.agentVisualXAxis{fill:var(--portal-text)}
.agentVisualTitle{fill:var(--portal-bg);font-size:var(--portal-type-caption);letter-spacing:.06em}
.agentVisualLine{filter:drop-shadow(0 0 7px rgb(var(--portal-gold-rgb) / 0.2))}
.agentVisualTooltip rect{fill:var(--portal-bg);stroke:var(--portal-gold);stroke-width:1;filter:drop-shadow(0 8px 14px var(--portal-shadow))}
.agentVisualTooltip text{fill:var(--portal-text);font:var(--portal-type-caption) var(--portal-font-body)}
.agentVisualTooltip text.value{fill:var(--portal-text);font-size:var(--portal-type-small);font-weight:800}
@media(max-width:700px){
  .agentGeneratedVisual>header{flex-direction:column;gap:12px;padding:15px}
  .agentVisualLegend{justify-content:flex-start}
  .agentGeneratedVisual h4{font-size:var(--portal-type-h3)}
  .agentVisualCanvas{padding-right:5px;padding-left:5px}
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/portal/styles/03-applications-and-navigation.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************/
/* Secure portal integrations */
.integrationPage{width:min(1080px,calc(100% - 48px));color:var(--portal-text)}
.integrationHeader{margin-bottom:28px}
.integrationHeader>span,.integrationCard>div:nth-child(2)>span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.14em}
.integrationHeader h1{margin:8px 0 9px;color:var(--portal-text);font-size:var(--portal-type-h1)}
.integrationHeader p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.integrationCard{display:grid;grid-template-columns:92px minmax(0,1fr) 260px;gap:22px;align-items:start;border:1px solid var(--portal-border);border-radius:18px;background:linear-gradient(145deg,var(--portal-bg),var(--portal-bg));padding:25px;box-shadow:0 22px 60px rgb(var(--portal-shadow-rgb) / 0.533)}
.integrationCard+.integrationCard{margin-top:18px}
.integrationIcon{display:grid;width:84px;height:54px;place-items:center;border:1px solid var(--portal-border);border-radius:14px;background:var(--portal-bg);overflow:hidden}
.integrationIcon img{display:block;max-width:100%;height:auto;object-fit:contain}
.integrationIconGmail img{width:35px}
.integrationIconDropbox img{width:38px}
.integrationIconDocusign img{width:76px}
.integrationIconApollo{border-color:color-mix(in srgb,var(--portal-success) 45%,var(--portal-border));background:linear-gradient(145deg,color-mix(in srgb,var(--portal-success) 16%,var(--portal-bg)),var(--portal-bg));color:var(--portal-success);font-size:var(--portal-type-h1);font-weight:900}
.integrationCard h2{margin:6px 0 9px;color:var(--portal-text);font-size:var(--portal-type-h2)}
.integrationCard p{max-width:610px;margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.65}
.integrationCard ul{display:grid;gap:7px;margin:17px 0 0;padding-left:18px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.integrationCard aside{display:grid;gap:9px;border:1px solid var(--portal-border);border-radius:13px;background:var(--portal-bg);padding:17px}
.integrationCard aside>strong{color:var(--portal-text);font-size:var(--portal-type-small)}
.integrationCard aside>small{color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.5}
.integrationConnected,.integrationDisconnected{display:flex;gap:7px;align-items:center;color:var(--portal-success);font-size:var(--portal-type-caption);font-weight:800;text-transform:uppercase}
.integrationDisconnected{color:var(--portal-text-muted)}
.integrationConnected i,.integrationDisconnected i{width:7px;height:7px;border-radius:50%;background:var(--portal-success);box-shadow:0 0 10px var(--portal-success)}
.integrationDisconnected i{background:var(--portal-elevated);box-shadow:none}
.integrationConnect,.integrationDisconnect{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border:1px solid var(--portal-gold);border-radius:9px;background:var(--portal-gold);color:var(--portal-bg);padding:0 14px;font-size:var(--portal-type-caption);font-weight:850;cursor:pointer}
.integrationSecondary{display:inline-flex;min-height:38px;align-items:center;justify-content:center;border:1px solid var(--portal-border);border-radius:9px;background:var(--portal-bg);color:var(--portal-text);padding:0 12px;font-size:var(--portal-type-caption);font-weight:800}
.integrationError{color:var(--portal-error)!important}
.integrationSuccess{color:var(--portal-success)!important;font-weight:800}
.integrationDisconnect{width:100%;border-color:var(--portal-error);background:var(--portal-bg);color:var(--portal-error)}
.integrationDisconnect:hover{border-color:var(--portal-error)}
.gmailSetup a{color:var(--portal-gold);font-weight:800}
.gmailSetup a:hover{text-decoration:underline}
@media(max-width:760px){
  .integrationCard{grid-template-columns:92px 1fr}
  .integrationCard aside{grid-column:1/3}
  .integrationHeader h1{font-size:var(--portal-type-h1)}
}

/* Paperwork Assistant */
.paperworkApp{min-height:100vh;background:var(--portal-bg);color:var(--portal-text);padding:28px 30px 34px}
.paperworkHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin:0 auto 22px;max-width:1600px}
.paperworkHeader>div:first-child>span,.paperworkPanelTitle>span,.paperworkConversationHead span,.paperworkWelcome>span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.14em}
.paperworkHeader h1{margin:7px 0 5px;font-size:var(--portal-type-h1);letter-spacing:-.04em}
.paperworkHeader p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.paperworkHeaderActions{display:flex;gap:10px;align-items:center}
.paperworkHeaderActions>span{display:flex;gap:7px;align-items:center;border:1px solid var(--portal-border);border-radius:99px;padding:10px 13px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.paperworkHeaderActions>span i{width:7px;height:7px;border-radius:50%;background:var(--portal-success);box-shadow:0 0 10px var(--portal-success)}
.paperworkHeaderActions button,.paperworkWelcome button{min-height:42px;border:1px solid var(--portal-gold);border-radius:10px;background:var(--portal-gold);color:var(--portal-bg);padding:0 17px;font-weight:850;cursor:pointer}
.paperworkHeaderActions button:disabled,.paperworkWelcome button:disabled{opacity:.45}
.paperworkError{max-width:1600px;margin:0 auto 14px;border:1px solid var(--portal-error);border-radius:10px;background:var(--portal-surface);color:var(--portal-error);padding:12px 15px;font-size:var(--portal-type-caption)}
.paperworkLayout{display:grid;grid-template-columns:245px minmax(480px,1fr) 310px;min-height:720px;max-width:1600px;margin:auto;border:1px solid var(--portal-border);border-radius:20px;background:var(--portal-bg);box-shadow:0 24px 80px var(--portal-shadow);overflow:hidden}
.paperworkDrafts,.paperworkReview{min-width:0;background:var(--portal-bg)}
.paperworkDrafts{border-right:1px solid var(--portal-border)}
.paperworkReview{border-left:1px solid var(--portal-border);padding-bottom:18px}
.paperworkPanelTitle{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--portal-border);padding:18px}
.paperworkPanelTitle small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.paperworkDraftList{display:grid;gap:7px;padding:10px}
.paperworkDraftList>button{display:grid;gap:6px;width:100%;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--portal-text);padding:13px;text-align:left;cursor:pointer}
.paperworkDraftList>button:hover,.paperworkDraftList>button.active{border-color:var(--portal-gold);background:rgb(var(--portal-gold-rgb) / 0.043)}
.paperworkDraftList strong{overflow:hidden;text-overflow:ellipsis;font-size:var(--portal-type-caption);white-space:nowrap}
.paperworkDraftList span,.paperworkDraftList small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.paperworkDraftList small{text-align:right}
.paperworkDraftList button>div{height:3px;border-radius:4px;background:var(--portal-surface);overflow:hidden}
.paperworkDraftList button>div i{display:block;height:100%;background:var(--portal-gold)}
.paperworkDraftList>p,.paperworkReviewEmpty{color:var(--portal-text-muted);padding:12px;font-size:var(--portal-type-small);line-height:1.6}
.paperworkConversation{display:flex;min-width:0;flex-direction:column;background:radial-gradient(circle at 50% 0,var(--portal-bg) 0,transparent 27%),var(--portal-bg)}
.paperworkWelcome{display:grid;max-width:590px;margin:auto;place-items:center;padding:50px;text-align:center}
.paperworkBotMark{display:grid;width:68px;height:68px;margin-bottom:23px;place-items:center;border:1px solid var(--portal-gold);border-radius:50%;background:radial-gradient(circle,var(--portal-gold) 0 10%,color-mix(in srgb,var(--portal-gold) 16%,var(--portal-surface)) 35%,var(--portal-bg) 70%);color:var(--portal-text);font-size:var(--portal-type-h3);box-shadow:0 0 35px rgb(var(--portal-gold-rgb) / 0.169)}
.paperworkWelcome h2{margin:12px 0;font-size:var(--portal-type-h2);line-height:var(--portal-leading-heading);letter-spacing:-.04em}
.paperworkWelcome p{max-width:540px;margin:0 0 25px;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.7}
.paperworkWelcome button b{margin-left:24px}
.paperworkConversationHead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--portal-border);padding:16px 22px}
.paperworkConversationHead h2{margin:4px 0 0;font-size:var(--portal-type-h2)}
.paperworkConversationActions{display:flex;align-items:center;gap:12px}
.paperworkConversationActions>strong{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.paperworkConversationActions>button{border:1px solid var(--portal-error);border-radius:7px;background:transparent;color:var(--portal-error);padding:6px 9px;font-size:var(--portal-type-caption);font-weight:800;cursor:pointer}
.paperworkConversationActions>button:hover{border-color:var(--portal-error);background:var(--portal-surface);color:var(--portal-error)}
.paperworkConversationActions>button:disabled{cursor:wait;opacity:.55}
.paperworkTitleDisplay{display:flex;align-items:center;gap:8px}
.paperworkTitleDisplay>button{display:grid;width:27px;height:27px;place-items:center;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--portal-text-muted);font-size:var(--portal-type-small);cursor:pointer}
.paperworkTitleDisplay>button:hover{border-color:var(--portal-gold);background:rgb(var(--portal-gold-rgb) / 0.063);color:var(--portal-gold)}
.paperworkTitleEditor{display:flex;align-items:center;gap:7px;margin-top:5px}
.paperworkTitleEditor input{width:min(390px,45vw);height:36px;border:1px solid var(--portal-gold);border-radius:8px;background:var(--portal-bg);color:var(--portal-text);padding:0 10px;font:700 var(--portal-type-body) var(--portal-font-body);outline:none}
.paperworkTitleEditor button{height:34px;border:1px solid var(--portal-border);border-radius:7px;background:var(--portal-bg);color:var(--portal-text-muted);padding:0 9px;font-size:var(--portal-type-caption);font-weight:850;cursor:pointer}
.paperworkTitleEditor button[type=submit]{border-color:var(--portal-gold);background:var(--portal-gold);color:var(--portal-bg)}
.paperworkTitleEditor button:disabled{cursor:wait;opacity:.55}
.paperworkMessages{display:flex;flex:1 1;flex-direction:column;gap:14px;overflow-y:auto;padding:24px 28px;scroll-behavior:smooth;scroll-padding-bottom:18px}
.paperworkMessages article{max-width:78%;border:1px solid var(--portal-border);border-radius:15px;background:var(--portal-bg);padding:14px 16px}
.paperworkMessages article.user{align-self:flex-end;border-color:var(--portal-gold);background:var(--portal-bg)}
.paperworkMessages article span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.paperworkMessages article p{margin:7px 0 0;color:var(--portal-text);font-size:var(--portal-type-body);line-height:1.65;white-space:pre-wrap}
.paperworkMessages article.thinking{opacity:.65}
.paperworkComposer{position:relative;display:grid;grid-template-columns:1fr auto;gap:10px;border-top:1px solid var(--portal-border);padding:16px 20px 27px}
.paperworkComposer textarea{min-height:76px;resize:none;border:1px solid var(--portal-border);border-radius:12px;background:var(--portal-bg);color:var(--portal-text);padding:15px;font:var(--portal-type-small)/1.5 var(--portal-font-body);outline:none}
.paperworkComposer textarea:focus{border-color:var(--portal-gold)}
.paperworkComposer>button{min-width:88px;border:0;border-radius:12px;background:var(--portal-gold);color:var(--portal-bg);font-weight:900;cursor:pointer}
.paperworkComposer>button:disabled{opacity:.4}
.paperworkComposer>button span{display:block;font-size:var(--portal-type-body-lg)}
.paperworkComposer small{grid-column:1/-1;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.paperworkComposer small button{border:0;background:none;color:var(--portal-gold);padding:0;font:inherit;text-decoration:underline;cursor:pointer}
.paperworkProgressRing{position:relative;isolation:isolate;display:grid;width:112px;height:112px;margin:22px auto;place-items:center;border-radius:50%;background:conic-gradient(var(--portal-gold) var(--progress),var(--portal-surface) 0)}
.paperworkProgressRing:before{position:absolute;inset:10px;z-index:0;border-radius:50%;background:var(--portal-bg);content:""}
.paperworkProgressRing>div{position:relative;z-index:1;display:grid;text-align:center}
.paperworkProgressRing strong{font-size:var(--portal-type-h3)}
.paperworkProgressRing span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-transform:uppercase}
.paperworkNext{margin:0 16px 16px;border:1px solid var(--portal-gold);border-radius:11px;background:rgb(var(--portal-gold-rgb) / 0.039);padding:13px}
.paperworkNext span,.paperworkMissing>span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.paperworkNext strong{display:block;margin:6px 0;color:var(--portal-text);font-size:var(--portal-type-caption)}
.paperworkNext p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.5}
.paperworkMissing{padding:0 16px}
.paperworkMissing details,.paperworkCaptured{border-bottom:1px solid var(--portal-border)}
.paperworkMissing summary,.paperworkCaptured summary{display:flex;align-items:center;justify-content:space-between;padding:11px 0;color:var(--portal-text-muted);font-size:var(--portal-type-caption);cursor:pointer}
.paperworkMissing summary b,.paperworkCaptured summary b{display:grid;min-width:21px;height:21px;place-items:center;border-radius:99px;background:var(--portal-surface);color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.paperworkMissing details p{margin:0 0 8px;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.paperworkMissing p.complete{color:var(--portal-success)}
.paperworkIntakeDetails details[open]{padding-bottom:7px}
.paperworkReviewField{position:relative;display:grid;gap:3px;margin-bottom:5px;border:1px solid var(--portal-border);border-radius:8px;background:var(--portal-bg);padding:8px 40px 8px 9px}
.paperworkReviewField>span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-transform:uppercase}
.paperworkReviewField>strong{overflow-wrap:anywhere;color:var(--portal-text);font-size:var(--portal-type-caption);line-height:1.35}
.paperworkReviewField>button{position:absolute;top:50%;right:7px;transform:translateY(-50%);border:1px solid var(--portal-gold);border-radius:6px;background:var(--portal-bg);color:var(--portal-gold);padding:4px 6px;font-size:var(--portal-type-caption);font-weight:850;cursor:pointer}
.paperworkReviewField>small{position:absolute;top:50%;right:7px;transform:translateY(-50%);color:var(--portal-success);font-size:var(--portal-type-caption);font-weight:800;text-transform:uppercase}
.paperworkReviewField form{display:grid;grid-column:1/-1;gap:6px}
.paperworkReviewField form label{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:800;text-transform:uppercase}
.paperworkReviewField form input,.paperworkReviewField form select{width:100%;height:32px;border:1px solid var(--portal-gold);border-radius:6px;background:var(--portal-bg);color:var(--portal-text);padding:0 8px;font:var(--portal-type-caption) var(--portal-font-body);outline:none}
.paperworkReviewField form>div{display:flex;gap:5px}
.paperworkReviewField form button{border:1px solid var(--portal-gold);border-radius:5px;background:var(--portal-bg);color:var(--portal-text-muted);padding:5px 7px;font-size:var(--portal-type-caption);font-weight:800;cursor:pointer}
.paperworkReviewField form button[type=submit]{border-color:var(--portal-gold);background:var(--portal-gold);color:var(--portal-bg)}
.paperworkReviewField form button:disabled{cursor:wait;opacity:.55}
.paperworkIntakeDetails p.needed{display:grid;gap:3px;margin:0 0 5px;border-left:2px solid var(--portal-gold);background:rgb(var(--portal-gold-rgb) / 0.031);padding:7px 8px;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.paperworkIntakeDetails p.needed span{color:var(--portal-gold);font-size:var(--portal-type-small);font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.paperworkCaptured{margin:14px 16px}
.paperworkCaptured>div{display:grid;gap:3px;border-top:1px solid var(--portal-border);padding:8px 0}
.paperworkCaptured>div span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-transform:capitalize}
.paperworkCaptured>div strong{overflow-wrap:anywhere;color:var(--portal-text);font-size:var(--portal-type-caption)}
.paperworkDraftButton{width:calc(100% - 32px);min-height:42px;margin:8px 16px;border:1px solid var(--portal-gold);border-radius:9px;background:var(--portal-bg);color:var(--portal-text-muted);font-weight:800}
.paperworkDraftButton.ready:not(:disabled){border-color:var(--portal-gold);background:var(--portal-gold);color:var(--portal-bg);cursor:pointer}
.paperworkDocuSignReady{display:grid;gap:6px;margin:10px 16px;border:1px solid var(--portal-success);border-radius:11px;background:var(--portal-bg);padding:13px}
.paperworkDocuSignReady span{color:var(--portal-success);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.1em}
.paperworkDocuSignReady strong{color:var(--portal-text);font-size:var(--portal-type-caption)}
.paperworkDocuSignReady small{overflow-wrap:anywhere;color:var(--portal-success);font-size:var(--portal-type-caption)}
.paperworkDocuSignReady p{margin:0;color:var(--portal-success);font-size:var(--portal-type-body)}
.paperworkRecipientCompletion{display:flex;align-items:flex-start;gap:9px;margin:10px 16px 2px;border:1px solid var(--portal-border);border-radius:9px;background:var(--portal-surface-soft);padding:10px;color:var(--portal-text);cursor:pointer}
.paperworkRecipientCompletion input{margin-top:2px;accent-color:var(--portal-gold)}
.paperworkRecipientCompletion span{display:grid;gap:3px;min-width:0}
.paperworkRecipientCompletion strong{font-size:var(--portal-type-caption)}
.paperworkRecipientCompletion small{color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.35}
@media(max-width:1150px){
  .paperworkLayout{grid-template-columns:210px 1fr}
  .paperworkReview{display:none}
}
@media(max-width:760px){
  .paperworkApp{padding:16px}
  .paperworkHeader{align-items:flex-start;flex-direction:column}
  .paperworkHeader h1{font-size:var(--portal-type-h1)}
  .paperworkHeaderActions{width:100%;justify-content:space-between}
  .paperworkLayout{display:block;min-height:0}
  .paperworkDrafts{border:0;border-bottom:1px solid var(--portal-border)}
  .paperworkDraftList{grid-template-columns:repeat(2,minmax(0,1fr))}
  .paperworkConversation{min-height:650px}
  .paperworkMessages{padding:18px}
  .paperworkMessages article{max-width:92%}
}

/* Paperwork Assistant protected data channel */
.paperworkSecureStatus{display:grid;gap:11px;margin:0 16px 16px;border:1px solid var(--portal-gold);border-radius:12px;background:linear-gradient(145deg,var(--portal-bg),var(--portal-bg));padding:14px}
.paperworkSecureStatus>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.paperworkSecureStatus>div span{color:var(--portal-text);font-size:var(--portal-type-caption);font-weight:800}
.paperworkSecureStatus>div strong{color:var(--portal-success);font-size:var(--portal-type-caption);letter-spacing:.06em;text-transform:uppercase}
.paperworkSecureStatus ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}
.paperworkSecureStatus li{display:flex;gap:7px;align-items:center;color:var(--portal-text-muted);font-size:var(--portal-type-body)}
.paperworkSecureStatus li i{width:7px;height:7px;border:1px solid var(--portal-border);border-radius:50%}
.paperworkSecureStatus li.complete{color:var(--portal-text)}
.paperworkSecureStatus li.complete i{border-color:var(--portal-success);background:var(--portal-success);box-shadow:0 0 8px var(--portal-success)}
.paperworkSecureStatus>button{min-height:36px;border:1px solid var(--portal-gold);border-radius:8px;background:rgb(var(--portal-gold-rgb) / 0.071);color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:850;cursor:pointer}
.paperworkSecureBackdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:auto;background:rgb(var(--portal-bg-rgb) / 0.8);padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.paperworkSecureDialog{width:min(820px,100%);max-height:calc(100vh - 48px);overflow:auto;border:1px solid var(--portal-gold);border-radius:19px;background:var(--portal-bg);color:var(--portal-text);box-shadow:0 32px 120px var(--portal-shadow)}
.paperworkSecureDialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:25px;border-bottom:1px solid var(--portal-gold);padding:24px 26px}
.paperworkSecureDialog>header span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.14em}
.paperworkSecureDialog>header h2{margin:6px 0;color:var(--portal-text);font-size:var(--portal-type-h2)}
.paperworkSecureDialog>header p{max-width:610px;margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small);line-height:1.6}
.paperworkSecureDialog>header>button{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border:1px solid var(--portal-border);border-radius:50%;background:var(--portal-bg);color:var(--portal-text-muted);font-size:var(--portal-type-body-lg);cursor:pointer}
.paperworkSecureDialog form{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:22px 26px 25px}
.paperworkSecureDialog fieldset{display:grid;gap:13px;margin:0;border:1px solid var(--portal-border);border-radius:13px;padding:16px}
.paperworkSecureDialog legend{padding:0 7px;color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.paperworkSecureDialog label{display:grid;gap:6px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:700}
.paperworkSecureDialog input,.paperworkSecureDialog select{width:100%;height:43px;border:1px solid var(--portal-border);border-radius:8px;background:var(--portal-bg);color:var(--portal-text);padding:0 12px;font:var(--portal-type-caption) var(--portal-font-body);outline:none}
.paperworkSecureDialog input:focus,.paperworkSecureDialog select:focus{border-color:var(--portal-gold);box-shadow:0 0 0 3px rgb(var(--portal-gold-rgb) / 0.071)}
.paperworkSecureDialog label small{color:var(--portal-error);font-size:var(--portal-type-caption);line-height:1.4}
.paperworkRoutingLookup{display:grid;gap:7px;border:1px solid var(--portal-gold);border-radius:10px;background:var(--portal-bg);padding:12px}
.paperworkRoutingLookup>span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.paperworkRoutingLookup>p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.55}
.paperworkRoutingLookup>strong{color:var(--portal-success);font-size:var(--portal-type-caption);line-height:1.5}
.paperworkRoutingLookup details{border-top:1px solid var(--portal-gold);padding-top:8px}
.paperworkRoutingLookup summary{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:750;cursor:pointer}
.paperworkRoutingLookup details label{margin-top:10px}
.paperworkSecureNotice{grid-column:1/3;display:flex;gap:11px;align-items:flex-start;border:1px solid var(--portal-success);border-radius:10px;background:var(--portal-bg);padding:12px}
.paperworkSecureNotice>i{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border-radius:50%;background:var(--portal-success);color:var(--portal-success);font-size:var(--portal-type-caption);font-style:normal;font-weight:900}
.paperworkSecureNotice p{display:grid;gap:3px;margin:0}
.paperworkSecureNotice strong{color:var(--portal-text);font-size:var(--portal-type-caption)}
.paperworkSecureNotice span{color:var(--portal-success);font-size:var(--portal-type-caption);line-height:1.5}
.paperworkSecureDialog footer{grid-column:1/3;display:flex;justify-content:flex-end;gap:9px}
.paperworkSecureDialog footer button{min-height:42px;border:1px solid var(--portal-border);border-radius:9px;background:var(--portal-bg);color:var(--portal-text-muted);padding:0 17px;font-size:var(--portal-type-caption);font-weight:850;cursor:pointer}
.paperworkSecureDialog footer button[type=submit]{border-color:var(--portal-gold);background:var(--portal-gold);color:var(--portal-bg)}
.paperworkSecureDialog button:disabled{cursor:wait;opacity:.5}
@media(max-width:700px){
  .paperworkSecureBackdrop{padding:10px}
  .paperworkSecureDialog{max-height:calc(100vh - 20px)}
  .paperworkSecureDialog form{grid-template-columns:1fr;padding:18px}
  .paperworkSecureDialog fieldset,.paperworkSecureNotice,.paperworkSecureDialog footer{grid-column:1}
  .paperworkSecureDialog>header{padding:20px}
  .paperworkSecureDialog footer{position:sticky;bottom:0;background:var(--portal-bg);padding-top:8px}
}
.paperworkPacketBuilder{display:grid;align-content:start;gap:18px;min-height:0;overflow-y:auto;padding:30px}
.paperworkPacketIntro>span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.12em}
.paperworkPacketIntro h3{margin:7px 0 5px;color:var(--portal-text);font-size:var(--portal-type-h3)}
.paperworkPacketIntro p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.paperworkProcessorChoice{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.paperworkProcessorChoice button{display:grid;gap:4px;min-height:82px;border:1px solid var(--portal-border);border-radius:12px;background:var(--portal-bg);color:var(--portal-text);padding:15px;text-align:left;cursor:pointer}
.paperworkProcessorChoice button:hover,.paperworkProcessorChoice button.active{border-color:var(--portal-gold);background:rgb(var(--portal-gold-rgb) / .07);box-shadow:inset 0 0 0 1px var(--portal-gold)}
.paperworkProcessorChoice strong{color:var(--portal-gold);font-size:var(--portal-type-body-lg)}
.paperworkProcessorChoice small{color:var(--portal-text-muted)}
.paperworkPacketBuilder fieldset{display:grid;gap:8px;margin:0;border:0;padding:0}
.paperworkPacketBuilder legend{margin-bottom:8px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.paperworkPacketDocument{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--portal-border);border-radius:10px;background:var(--portal-bg);padding:11px 13px;opacity:.58}
.paperworkPacketDocument.selected{border-color:color-mix(in srgb,var(--portal-gold) 55%,var(--portal-border));opacity:1}
.paperworkPacketDocument>label{display:flex;align-items:center;gap:10px;color:var(--portal-text);font-size:var(--portal-type-small);font-weight:800;cursor:pointer}
.paperworkPacketDocument>label input{width:17px;height:17px;accent-color:var(--portal-gold)}
.paperworkQuantity{display:grid;grid-template-columns:30px 46px 30px;align-items:center}
.paperworkQuantity button,.paperworkQuantity input{height:30px;border:1px solid var(--portal-border);background:var(--portal-bg);color:var(--portal-text);text-align:center}
.paperworkQuantity button{cursor:pointer}
.paperworkQuantity button:first-child{border-radius:7px 0 0 7px}
.paperworkQuantity button:last-child{border-radius:0 7px 7px 0}
.paperworkQuantity input{width:46px;border-right:0;border-left:0;font-weight:800}
.paperworkQuantity input::-webkit-inner-spin-button{appearance:none}
.paperworkQuantity :disabled{cursor:not-allowed;opacity:.35}
.paperworkPacketRule{margin:0;border-left:3px solid var(--portal-gold);background:rgb(var(--portal-gold-rgb) / .06);padding:11px 13px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.55}
.paperworkPacketBuilder>footer{display:flex;justify-content:flex-end;gap:9px}
.paperworkPacketBuilder>footer button{min-height:40px;border:1px solid var(--portal-border);border-radius:8px;background:var(--portal-bg);color:var(--portal-text-muted);padding:0 15px;font-weight:850;cursor:pointer}
.paperworkPacketBuilder>footer button[type=submit]{border-color:var(--portal-gold);background:var(--portal-gold);color:var(--portal-bg)}
.paperworkPacketBuilder>footer button:disabled{cursor:wait;opacity:.5}
.paperworkPacketSummary{display:grid;gap:8px;margin:0 16px 14px;border:1px solid var(--portal-border);border-radius:10px;background:var(--portal-bg);padding:11px}
.paperworkPacketSummary>div{display:flex;align-items:center;justify-content:space-between}
.paperworkPacketSummary span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:850;text-transform:uppercase}
.paperworkPacketSummary button{border:0;background:none;color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:850;cursor:pointer}
.paperworkPacketSummary>strong{color:var(--portal-gold);font-size:var(--portal-type-small)}
.paperworkPacketSummary ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.paperworkPacketSummary li{display:flex;justify-content:space-between;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.paperworkPacketSummary li b{color:var(--portal-text)}
@media(max-width:620px){
  .paperworkPacketBuilder{padding:20px}
  .paperworkProcessorChoice{grid-template-columns:1fr}
  .paperworkPacketDocument{align-items:flex-start;flex-direction:column}
  .paperworkQuantity{align-self:flex-end}
}

/* Form Filling Agent */
.formAgentHub{min-height:100vh;background:var(--portal-bg);color:var(--portal-text);padding:clamp(36px,6vw,88px)}
.formAgentHub>header{max-width:850px}
.formAgentHub>header>span,.formAgentChoices>a>span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.16em}
.formAgentHub h1{margin:12px 0 14px;font-size:var(--portal-type-h1);letter-spacing:-.055em}
.formAgentHub>header p{max-width:760px;margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small);line-height:1.7}
.formAgentChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1080px;margin-top:50px}
.formAgentChoices>a{display:grid;min-height:280px;align-content:end;border:1px solid var(--portal-gold);border-radius:22px;background:radial-gradient(circle at 85% 10%,rgb(var(--portal-gold-rgb) / 0.149),transparent 38%),var(--portal-bg);color:inherit;padding:30px;text-decoration:none;transition:.25s ease}
.formAgentChoices>a:hover{transform:translateY(-4px);border-color:var(--portal-gold);box-shadow:0 24px 60px rgb(var(--portal-shadow-rgb) / 0.533)}
.formAgentChoices h2{margin:12px 0 10px;font-size:var(--portal-type-h2);letter-spacing:-.03em}
.formAgentChoices p{margin:0 0 24px;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.6}
.formAgentChoices b{color:var(--portal-gold);font-size:var(--portal-type-small)}
.formAgentHub>aside{max-width:1080px;margin-top:20px;border:1px solid var(--portal-border);border-radius:14px;background:var(--portal-bg);padding:18px 22px}
.formAgentHub>aside strong{color:var(--portal-success);font-size:var(--portal-type-small)}
.formAgentHub>aside p{margin:5px 0 0;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.55}

/* Compliance Closeout Assistant */
.closeoutApp{min-height:100vh;background:var(--portal-bg);color:var(--portal-text);padding:28px}
.closeoutHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}
.closeoutHeader span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.14em}
.closeoutHeader h1{margin:7px 0 5px;font-size:var(--portal-type-h1);letter-spacing:-.045em}
.closeoutHeader p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.closeoutHeader button,.closeoutWelcome button{min-height:46px;border:1px solid var(--portal-gold);border-radius:11px;background:var(--portal-gold);color:var(--portal-bg);padding:0 19px;font-size:var(--portal-type-small);font-weight:900;cursor:pointer}
.closeoutError,.closeoutProvisional{margin-bottom:14px;border-radius:10px;padding:13px 16px;font-size:var(--portal-type-small)}
.closeoutError{border:1px solid var(--portal-error);background:var(--portal-surface);color:var(--portal-error)}
.closeoutProvisional{display:flex;gap:12px;border:1px solid var(--portal-gold);background:var(--portal-bg);color:var(--portal-gold)}
.closeoutProvisional strong{flex:0 0 auto;color:var(--portal-gold)}
.closeoutLayout{display:grid;grid-template-columns:190px minmax(0,1fr) minmax(240px,300px);height:calc(100vh - 145px);min-height:680px;border:1px solid var(--portal-border);border-radius:18px;background:var(--portal-bg);overflow:hidden}
.closeoutDrafts,.closeoutEvidence{min-height:0;background:var(--portal-bg)}
.closeoutDrafts{overflow:auto;border-right:1px solid var(--portal-border);padding:16px}
.closeoutDrafts>div,.closeoutEvidence>header>div{display:flex;align-items:center;justify-content:space-between;color:var(--portal-text);font-size:var(--portal-type-small);font-weight:850}
.closeoutDrafts>div small,.closeoutEvidence>header small{color:var(--portal-gold)}
.closeoutDrafts>button{display:grid;width:100%;gap:7px;margin-top:10px;border:1px solid transparent;border-radius:11px;background:var(--portal-bg);color:var(--portal-text);text-align:left;padding:12px;cursor:pointer}
.closeoutDrafts>button.active{border-color:var(--portal-gold);background:var(--portal-bg)}
.closeoutDrafts>button strong{font-size:var(--portal-type-small)}
.closeoutDrafts>button span,.closeoutDrafts>button small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.closeoutDrafts>button i{height:3px;border-radius:5px;background:var(--portal-surface);overflow:hidden}
.closeoutDrafts>button i b{display:block;height:100%;background:var(--portal-gold)}
.closeoutDrafts>p{color:var(--portal-text-muted);font-size:var(--portal-type-body)}
.closeoutConversation{display:flex;min-width:0;min-height:0;flex-direction:column;background:var(--portal-bg)}
.closeoutWelcome{display:grid;max-width:610px;align-content:center;justify-items:start;height:100%;margin:auto;padding:40px}
.closeoutWelcome>i{display:grid;width:54px;height:54px;place-items:center;border:1px solid var(--portal-gold);border-radius:50%;background:rgb(var(--portal-gold-rgb) / 0.09);color:var(--portal-gold);font-size:var(--portal-type-h3);font-style:normal}
.closeoutWelcome>span{margin-top:22px;color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.14em}
.closeoutWelcome h2{margin:9px 0 12px;font-size:var(--portal-type-h2);line-height:var(--portal-leading-heading);letter-spacing:-.04em}
.closeoutWelcome p{margin:0 0 25px;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.65}
.closeoutConversationHead{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--portal-border);padding:18px 22px}
.closeoutConversationHead span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.12em}
.closeoutConversationHead h2{margin:4px 0 0;font-size:var(--portal-type-h2)}
.closeoutConversationHead>strong{color:var(--portal-success);font-size:var(--portal-type-caption)}
.closeoutConversationHead>div:first-child{flex:1 1 100%;min-width:0}
.closeoutHeadActions{display:flex;flex:1 1 100%;min-width:0;flex-wrap:wrap;align-items:center;gap:10px}
.closeoutHeadActions select{flex:1 1 160px;min-width:0;max-width:100%;padding:7px;border:1px solid var(--portal-border);border-radius:8px;background:transparent;color:var(--portal-text);font-size:var(--portal-type-small)}
.closeoutHeadActions>strong{color:var(--portal-success);font-size:var(--portal-type-caption)}
.closeoutHeadActions>button,.closeoutVendorPanel button{border:1px solid var(--portal-gold);border-radius:8px;background:var(--portal-bg);color:var(--portal-gold);padding:8px 10px;font-size:var(--portal-type-caption);font-weight:850;cursor:pointer}
.closeoutVendorPanel{display:grid;gap:9px;border-bottom:1px solid var(--portal-border);background:var(--portal-bg);padding:13px 18px}
.closeoutVendorPanel>div:first-child{display:grid;grid-template-columns:1fr 1fr auto;gap:9px;align-items:end}
.closeoutVendorPanel label{display:grid;gap:5px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:800;text-transform:uppercase}
.closeoutVendorPanel input{min-width:0;border:1px solid var(--portal-border);border-radius:8px;background:var(--portal-bg);color:var(--portal-text);padding:9px}
.closeoutVendorUrl{display:grid;grid-template-columns:1fr auto;gap:7px}
.closeoutVendorUrl small{grid-column:1/-1;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.closeoutVendorLink{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--portal-border);padding-top:8px}
.closeoutVendorLink span{display:grid;gap:3px}
.closeoutVendorLink strong{font-size:var(--portal-type-caption)}
.closeoutVendorLink small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.closeoutMessages{display:flex;min-height:0;flex:1 1;flex-direction:column;gap:14px;overflow:auto;padding:22px;scroll-behavior:smooth;scroll-padding-bottom:18px}
.closeoutExchange{display:contents}
.closeoutMessages article{max-width:82%;border-radius:13px;padding:13px 15px}
.closeoutMessages article span{display:block;margin-bottom:5px;color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.closeoutMessages article p{margin:0;font-size:var(--portal-type-body);line-height:1.55;white-space:pre-wrap}
.closeoutMessages .agent{align-self:flex-start;border:1px solid var(--portal-border);background:var(--portal-bg)}
.closeoutMessages .user{align-self:flex-end;border:1px solid var(--portal-gold);background:var(--portal-bg)}
.closeoutMessages .current{border-color:var(--portal-gold);box-shadow:0 0 30px rgb(var(--portal-gold-rgb) / 0.043)}
.closeoutMessages .complete{border-color:var(--portal-success)}
.closeoutMessages .complete{width:min(760px,82%);max-width:none}
.closeoutAnswerSummary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:14px 0 0;overflow:hidden;border:1px solid var(--portal-success);border-radius:10px;background:color-mix(in srgb,var(--portal-success) 16%,var(--portal-surface))}
.closeoutAnswerSummary>div{min-width:0;background:var(--portal-bg);padding:10px 12px}
.closeoutAnswerSummary dt{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.closeoutAnswerSummary dd{margin:4px 0 0;color:var(--portal-text);font-size:var(--portal-type-small);line-height:1.4;overflow-wrap:anywhere}
.closeoutComposer{display:grid;grid-template-columns:1fr auto auto;gap:10px;border-top:1px solid var(--portal-border);padding:14px}
.closeoutComposer textarea{min-height:66px;resize:none;border:1px solid var(--portal-border);border-radius:11px;background:var(--portal-bg);color:var(--portal-text);padding:13px;font:var(--portal-type-small)/1.45 var(--portal-font-body);outline:none}
.closeoutComposer textarea:focus{border-color:var(--portal-gold)}
.closeoutComposer>button{border:1px solid var(--portal-gold);border-radius:10px;background:var(--portal-gold);color:var(--portal-bg);padding:0 16px;font-size:var(--portal-type-caption);font-weight:900;cursor:pointer}
.closeoutComposer>button.skip{border-color:var(--portal-border);background:var(--portal-bg);color:var(--portal-text-muted)}
.closeoutEvidence{display:flex;min-width:0;flex-direction:column;border-left:1px solid var(--portal-border)}
.closeoutEvidence>header{padding:16px;border-bottom:1px solid var(--portal-border)}
.closeoutEvidence>header p{margin:7px 0 0;color:var(--portal-text-muted);font-size:var(--portal-type-small);line-height:1.5}
.closeoutPhotoList{min-height:0;overflow:auto;padding:9px}
.closeoutPhotoList>div{position:relative;display:grid;grid-template-columns:25px 46px minmax(0,1fr);gap:9px;align-items:center;border:1px solid transparent;border-radius:10px;padding:9px}
.closeoutPhotoList>div:hover{background:var(--portal-bg)}
.closeoutPhotoList>div.complete{border-color:var(--portal-success);background:var(--portal-bg)}
.closeoutPhotoList>div>span{color:var(--portal-text);font-size:var(--portal-type-caption);font-weight:850}
.closeoutPhotoList img,.closeoutPhotoList>div>i{width:46px;height:46px;border-radius:7px;object-fit:cover}
.closeoutPhotoList>div>i{display:block;border:1px dashed var(--portal-border);background:var(--portal-bg)}
.closeoutPhotoList section{min-width:0}
.closeoutPhotoList section strong{display:block;color:var(--portal-text);font-size:var(--portal-type-caption)}
.closeoutPhotoList section p{margin:3px 0;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.35}
.closeoutPhotoList section small{display:block;overflow:hidden;color:var(--portal-success);font-size:var(--portal-type-caption);text-overflow:ellipsis;white-space:nowrap}
.closeoutPhotoList label{grid-column:3;justify-self:start;border:1px solid var(--portal-gold);border-radius:7px;background:var(--portal-bg);color:var(--portal-gold);padding:7px 8px;font-size:var(--portal-type-caption);font-weight:850;white-space:nowrap;cursor:pointer}
.closeoutPhotoList label input{display:none}
.closeoutPhotoList>div>button{position:absolute;top:2px;right:2px;border:0;background:transparent;color:var(--portal-text-muted);font-size:var(--portal-type-body);cursor:pointer}
.closeoutPhotoList>.empty{color:var(--portal-text-muted);font-size:var(--portal-type-caption);padding:15px}
@media(max-width:1200px){
  .closeoutLayout{grid-template-columns:160px minmax(0,1fr) 240px}
  .closeoutApp{padding:18px}
}
@media(max-width:900px){
  .closeoutAnswerSummary{grid-template-columns:1fr}
}
@media(max-width:900px){
  .formAgentChoices{grid-template-columns:1fr}
  .closeoutLayout{display:flex;height:auto;min-height:0;flex-direction:column}
  .closeoutDrafts{max-height:220px;border-right:0;border-bottom:1px solid var(--portal-border)}
  .closeoutConversation{min-height:650px}
  .closeoutEvidence{max-height:700px;border-top:1px solid var(--portal-border);border-left:0}
  .closeoutHeader{align-items:flex-start;flex-direction:column}
  .closeoutProvisional{flex-direction:column}
}

/* Fixed-height intake workspaces: columns remain visible while their contents scroll. */
@media(min-width:761px){
  .paperworkApp{display:flex;height:100vh;min-height:0;box-sizing:border-box;flex-direction:column;overflow:hidden}
  .paperworkHeader,.paperworkError{width:100%;flex:0 0 auto}
  .paperworkLayout{width:100%;min-height:0;flex:1 1;margin:0 auto}
  .paperworkDrafts{display:flex;min-height:0;flex-direction:column;overflow:hidden}
  .paperworkDraftList{min-height:0;overflow-y:auto;overscroll-behavior:contain}
  .paperworkConversation{min-height:0;overflow:hidden}
  .paperworkMessages{min-height:0;overscroll-behavior:contain;scrollbar-color:var(--portal-gold) var(--portal-text);scrollbar-width:thin}
  .paperworkReview{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--portal-gold) var(--portal-text);scrollbar-width:thin}
}
@media(min-width:951px) and (max-width:1150px){
  .paperworkLayout{grid-template-columns:180px minmax(360px,1fr) 260px}
  .paperworkReview{display:block}
}
@media(min-width:901px){
  .closeoutApp{display:flex;height:100vh;min-height:0;box-sizing:border-box;flex-direction:column;overflow:hidden}
  .closeoutHeader,.closeoutError,.closeoutProvisional{flex:0 0 auto}
  .closeoutLayout{height:auto;min-height:0;flex:1 1}
  .closeoutDrafts,.closeoutMessages,.closeoutPhotoList{overscroll-behavior:contain;scrollbar-color:var(--portal-gold) var(--portal-text);scrollbar-width:thin}
}

/* Report Automation Control Center */
.reportControl{min-height:100vh;background:var(--portal-bg);color:var(--portal-text);padding:38px clamp(22px,4vw,58px) 70px}
.reportControlHeader{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:0 auto 30px;max-width:1500px}
.reportControlHeader>div:first-child>span,.reportPanel>header span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.15em}
.reportControlHeader h1{margin:8px 0 7px;font-size:var(--portal-type-h1);letter-spacing:-.05em}
.reportControlHeader p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.reportRunnerBadge{display:flex;min-width:225px;gap:12px;align-items:center;border:1px solid var(--portal-error);border-radius:13px;background:var(--portal-bg);padding:13px 16px}
.reportRunnerBadge>i{width:10px;height:10px;border-radius:50%;background:var(--portal-error)}
.reportRunnerBadge>div{display:grid;gap:3px}
.reportRunnerBadge strong{font-size:var(--portal-type-caption)}
.reportRunnerBadge small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.reportRunnerBadge.online{border-color:var(--portal-success);background:var(--portal-bg)}
.reportRunnerBadge.online>i{background:var(--portal-success);box-shadow:0 0 12px var(--portal-success)}
.reportControlError{max-width:1500px;margin:0 auto 16px;border:1px solid var(--portal-error);border-radius:10px;background:var(--portal-surface);color:var(--portal-error);padding:12px 15px;font-size:var(--portal-type-caption)}
.reportStats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;max-width:1500px;margin:0 auto 18px}
.reportStats article{display:grid;gap:5px;border:1px solid var(--portal-border);border-radius:14px;background:linear-gradient(145deg,var(--portal-bg),var(--portal-bg));padding:20px}
.reportStats span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.12em}
.reportStats strong{font-size:var(--portal-type-h3)}
.reportStats small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.reportStats article.danger{border-color:var(--portal-error)}
.reportStats article.danger strong{color:var(--portal-error)}
.pipelineHealth{max-width:1500px;margin:0 auto 18px}
.pipelineHealth>header>b{border:1px solid var(--portal-success);border-radius:99px;color:var(--portal-success);padding:7px 10px;font-size:var(--portal-type-caption);letter-spacing:.11em}
.pipelineHealth>header>b.offline{border-color:var(--portal-error);color:var(--portal-error)}
.pipelineHealthCards{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--portal-surface)}
.pipelineHealthCards article{display:grid;gap:6px;background:var(--portal-bg);padding:18px 20px}
.pipelineHealthCards span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.12em}
.pipelineHealthCards strong{font-size:var(--portal-type-h3);color:var(--portal-text)}
.pipelineHealthCards small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.pipelineContractTable{max-height:260px;overflow:auto}
.pipelineContractTable>.head,.pipelineContractTable>.row{display:grid;min-width:880px;grid-template-columns:minmax(220px,1.4fr) 90px 180px 130px 170px;gap:14px;align-items:center;border-top:1px solid var(--portal-border);padding:11px 20px}
.pipelineContractTable>.head{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.pipelineContractTable>.row{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.pipelineContractTable>.row>span:first-child,.pipelineContractTable>.row>span:last-child{display:grid;gap:3px}
.pipelineContractTable strong{color:var(--portal-text);font-size:var(--portal-type-caption);text-transform:capitalize}
.pipelineContractTable small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.pipelineStatus{width:max-content;border:1px solid var(--portal-border);border-radius:99px;padding:4px 7px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);letter-spacing:.07em;text-transform:uppercase}
.pipelineStatus.completed{border-color:var(--portal-success);color:var(--portal-success)}
.pipelineStatus.failed{border-color:var(--portal-error);color:var(--portal-error)}
.pipelineUnavailable{margin:0;padding:22px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.reportControlGrid{display:grid;grid-template-columns:minmax(340px,.75fr) minmax(500px,1.25fr);gap:18px;max-width:1500px;margin:auto}
.reportPanel{border:1px solid var(--portal-border);border-radius:16px;background:var(--portal-bg);overflow:hidden}
.reportPanel>header{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--portal-border);padding:19px 21px}
.reportPanel h2{margin:5px 0 0;font-size:var(--portal-type-h2)}
.reportPanel>header>button,.reportSchedulePanel article>button,.jobActions button{border:1px solid var(--portal-gold);border-radius:7px;background:var(--portal-bg);color:var(--portal-text);padding:7px 10px;font-size:var(--portal-type-caption);font-weight:800;cursor:pointer}
.reportPanel>header>button:hover{border-color:var(--portal-gold);color:var(--portal-gold)}
.reportCredentialVault{max-width:1500px;margin:0 auto 18px;padding:0!important;background:var(--portal-bg)!important;border-color:var(--portal-border)!important}
.reportCredentialVault>header>b{color:var(--portal-text-muted);font-size:var(--portal-type-caption);letter-spacing:.1em}
.reportCredentialIntro{margin:0;padding:15px 21px 0;color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.6}
.reportCredentialMessage{margin:12px 21px 0;border:1px solid var(--portal-gold);border-radius:8px;background:var(--portal-bg);color:var(--portal-gold);padding:10px 12px;font-size:var(--portal-type-caption)}
.reportCredentialGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:16px 21px 21px}
.reportCredentialGrid>article{min-width:0;border:1px solid var(--portal-border);border-radius:12px;background:var(--portal-bg);padding:14px}
.reportCredentialGrid article>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.reportCredentialGrid article>header div{display:grid;gap:5px}
.reportCredentialGrid article>header span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.11em}
.reportCredentialGrid article>header strong{font-size:var(--portal-type-small)}
.credentialStatus{flex:0 0 auto;border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-text-muted);padding:5px 7px;font-size:var(--portal-type-caption);text-transform:uppercase;letter-spacing:.08em}
.credentialStatus.correct{border-color:var(--portal-success);background:var(--portal-bg);color:var(--portal-success)}
.credentialStatus.incorrect{border-color:var(--portal-error);background:var(--portal-surface);color:var(--portal-error)}
.credentialStatus.reset-required{border-color:var(--portal-gold);background:var(--portal-surface);color:var(--portal-gold)}
.credentialStatus.unverified{border-color:var(--portal-blue);background:var(--portal-surface);color:var(--portal-blue)}
.reportCredentialMeta{display:grid;gap:4px;margin:13px 0;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.reportCredentialReason{min-height:30px;margin:8px 0;color:var(--portal-error);font-size:var(--portal-type-caption);line-height:1.45}
.reportCredentialActions,.reportCredentialGrid form>div{display:flex;gap:7px;margin-top:12px}
.reportCredentialActions button,.reportCredentialGrid form button{flex:1 1;border:1px solid var(--portal-gold);border-radius:7px;background:var(--portal-bg);color:var(--portal-text);padding:8px;font-size:var(--portal-type-caption);font-weight:800;cursor:pointer}
.reportCredentialActions button:last-child{border-color:var(--portal-gold);color:var(--portal-gold)}
.reportCredentialActions button:disabled,.reportCredentialGrid form button:disabled{cursor:not-allowed;opacity:.45}
.reportCredentialGrid form{display:grid;gap:8px;margin-top:12px}
.reportCredentialGrid form label{display:grid;gap:4px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.reportCredentialGrid form input{min-width:0;border:1px solid var(--portal-border);border-radius:7px;background:var(--portal-bg);color:var(--portal-text);padding:9px;font-size:var(--portal-type-body);outline:none}
.reportCredentialGrid form input:focus{border-color:var(--portal-gold)}
.cashAutomationPanel{max-width:1500px;margin:0 auto 18px;border-color:var(--portal-gold);background:linear-gradient(145deg,var(--portal-bg),var(--portal-bg))}
.cashAutomationLock{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--portal-gold);border-radius:999px;background:var(--portal-surface);color:var(--portal-gold);padding:8px 11px;font-size:var(--portal-type-caption);letter-spacing:.1em}
.cashAutomationLock svg,.cashAutomationMeta svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2}
.cashAutomationBody{padding:20px}
.cashAutomationIntro{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}
.cashAutomationIntro h3{margin:0 0 8px;color:var(--portal-text);font-size:var(--portal-type-h3)}
.cashAutomationIntro p{max-width:940px;margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small);line-height:1.65}
.cashAutomationIntro button{flex:none;border:1px solid var(--portal-gold);border-radius:9px;background:var(--portal-gold);color:var(--portal-bg);padding:13px 16px;font-size:var(--portal-type-caption);font-weight:900;cursor:pointer}
.cashAutomationIntro button:disabled{cursor:not-allowed;opacity:.55}
.cashAutomationFlow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:12px;margin-top:20px}
.cashAutomationFlow article{border:1px solid var(--portal-gold);border-radius:11px;background:var(--portal-bg);padding:15px}
.cashAutomationFlow article>span,.cashAutomationMeta span{display:flex;align-items:center;gap:6px;color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.1em}
.cashAutomationFlow strong{display:block;margin-top:8px;color:var(--portal-text);font-size:var(--portal-type-small)}
.cashAutomationFlow p{margin:6px 0 0;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.5}
.cashAutomationFlow>i{align-self:center;color:var(--portal-gold);font-size:var(--portal-type-h4);font-style:normal}
.cashAutomationMeta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.cashAutomationMeta>div{display:grid;gap:6px;border-top:1px solid var(--portal-gold);padding:14px 3px 0}
.cashAutomationMeta strong{color:var(--portal-text);font-size:var(--portal-type-caption)}
.cashAutomationMeta small{color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.45}
.reportRunPanel>form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px}
.reportRunPanel label,.reportScheduleForm label{display:grid;gap:7px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.reportRunPanel select,.reportScheduleForm input,.reportScheduleForm select{width:100%;height:43px;border:1px solid var(--portal-border);border-radius:9px;background:var(--portal-bg);color:var(--portal-text);padding:0 11px;font:var(--portal-type-caption) var(--portal-font-body);outline:none}
.reportRunPanel select:focus,.reportScheduleForm input:focus,.reportScheduleForm select:focus{border-color:var(--portal-gold)}
.reportRunPanel aside{grid-column:1/3;border:1px solid var(--portal-gold);border-radius:10px;background:var(--portal-bg);padding:13px}
.reportRunPanel aside strong{color:var(--portal-gold);font-size:var(--portal-type-caption)}
.reportRunPanel aside p{margin:5px 0 0;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.55}
.reportRunPanel form>button,.reportScheduleForm>button{grid-column:1/3;min-height:46px;border:1px solid var(--portal-gold);border-radius:9px;background:var(--portal-gold);color:var(--portal-bg);font-size:var(--portal-type-caption);font-weight:900;cursor:pointer}
.reportRunPanel form>button b{float:right;font-size:var(--portal-type-body)}
.reportScheduleForm{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-bottom:1px solid var(--portal-border);background:var(--portal-bg);padding:17px 20px}
.reportScheduleForm .error{grid-column:1/4;margin:0;color:var(--portal-error);font-size:var(--portal-type-caption)}
.reportScheduleForm>button{grid-column:auto;align-self:end}
.reportSchedules{max-height:365px;overflow:auto;padding:8px}
.reportSchedules>p{color:var(--portal-text-muted);padding:12px;font-size:var(--portal-type-body)}
.reportSchedulePanel article{display:grid;grid-template-columns:9px 1fr auto auto;gap:11px;align-items:center;border-bottom:1px solid var(--portal-border);padding:14px}
.reportSchedulePanel article>i{width:7px;height:7px;border-radius:50%;background:var(--portal-success);box-shadow:0 0 9px var(--portal-success)}
.reportSchedulePanel article>div{display:grid;gap:3px}
.reportSchedulePanel article strong{font-size:var(--portal-type-caption)}
.reportSchedulePanel article span,
.reportSchedulePanel article small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.reportSchedulePanel article.disabled{opacity:.5}
.reportSchedulePanel article.disabled>i{background:var(--portal-elevated);box-shadow:none}
.reportSchedulePanel article>button:last-child{border-color:var(--portal-error);color:var(--portal-error)}
.reportHistory{max-width:1500px;margin:18px auto 0}
.reportJobTable{overflow:auto}
.reportJobTable>.head,.reportJobTable>.row{display:grid;min-width:910px;grid-template-columns:115px minmax(240px,1.5fr) 100px 170px 90px 180px;gap:14px;align-items:center;border-bottom:1px solid var(--portal-border);padding:13px 20px}
.reportJobTable>.head{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.reportJobTable>.row{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.reportJobTable>.row>span:nth-child(2){display:grid;gap:3px}
.reportJobTable>.row>span:nth-child(2)>strong{color:var(--portal-text);font-size:var(--portal-type-caption)}
.reportJobTable>.row small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.reportJobTable>p{color:var(--portal-text-muted);padding:18px}
.jobStatus{display:inline-flex;border:1px solid var(--portal-border);border-radius:99px;padding:5px 8px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);letter-spacing:.07em}
.jobStatus.running{border-color:var(--portal-gold);color:var(--portal-gold)}
.jobStatus.succeeded{border-color:var(--portal-success);color:var(--portal-success)}
.jobStatus.failed{border-color:var(--portal-error);color:var(--portal-error)}
.jobStatus.queued{color:var(--portal-blue)}
.jobActions{display:flex;gap:5px;justify-content:flex-end}
.reportLogBackdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;background:rgb(var(--portal-bg-rgb) / 0.8);padding:25px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.reportLogBackdrop>section{width:min(1050px,100%);max-height:calc(100vh - 50px);overflow:hidden;border:1px solid var(--portal-gold);border-radius:17px;background:var(--portal-bg);box-shadow:0 30px 100px var(--portal-shadow)}
.reportLogBackdrop header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--portal-border);padding:20px}
.reportLogBackdrop header span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.12em}
.reportLogBackdrop h2{margin:5px 0;font-size:var(--portal-type-h2)}
.reportLogBackdrop header p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.reportLogBackdrop header button{border:1px solid var(--portal-border);border-radius:50%;background:var(--portal-bg);color:var(--portal-text-muted);width:32px;height:32px;font-size:var(--portal-type-body-lg);cursor:pointer}
.reportLogBackdrop pre{max-height:60vh;margin:0;overflow:auto;background:var(--portal-bg);color:var(--portal-text-muted);padding:20px;font:var(--portal-type-caption)/1.6 Consolas,monospace;white-space:pre-wrap}
.reportLogError{border-bottom:1px solid var(--portal-error);background:var(--portal-surface);color:var(--portal-error);padding:13px 20px;font-size:var(--portal-type-caption)}
@media(max-width:1050px){
  .reportControlGrid{grid-template-columns:1fr}
  .reportStats,.pipelineHealthCards,
.reportCredentialGrid{grid-template-columns:repeat(2,1fr)}
  .cashAutomationFlow{grid-template-columns:1fr}
  .cashAutomationFlow>i{display:none}
  .cashAutomationMeta{grid-template-columns:1fr}
}
@media(max-width:650px){
  .reportControl{padding:24px 14px 50px}
  .reportControlHeader{align-items:flex-start;flex-direction:column}
  .reportRunnerBadge{width:100%}
  .reportStats,.pipelineHealthCards,.reportCredentialGrid{grid-template-columns:1fr}
  .cashAutomationIntro{flex-direction:column}
  .cashAutomationIntro button{width:100%}
  .reportRunPanel>form,.reportScheduleForm{grid-template-columns:1fr}
  .reportRunPanel aside,.reportRunPanel form>button,.reportScheduleForm .error,.reportScheduleForm>button{grid-column:1}
  .reportSchedulePanel article{grid-template-columns:9px 1fr auto}
  .reportSchedulePanel article>button:last-child{grid-column:3}
  .reportControlHeader h1{font-size:var(--portal-type-h1)}
}

/* Grouped portal navigation */
.portalShell{grid-template-columns:258px minmax(0,1fr)}
.portalSidebar{z-index:80;overflow:visible;align-items:stretch;padding:14px 12px;border-right:1px solid var(--portal-border);box-shadow:8px 0 30px rgb(var(--portal-shadow-rgb) / 0.533)}
.portalLogo.portalLionLogo{width:100%;height:58px;display:grid;place-items:center;border-bottom:1px solid var(--portal-border);padding:2px 4px 11px}
.portalLogo.portalLionLogo img{width:41px;height:41px;object-fit:contain}
.portalSidebar .portalIconNav{width:100%;display:flex;flex-direction:column;gap:10px;align-items:stretch;padding:14px 0}
.portalSidebar .portalIconNav{min-height:0;flex:1 1;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--portal-border) transparent}
.portalSidebar .portalIconNav::-webkit-scrollbar{width:4px}
.portalSidebar .portalIconNav::-webkit-scrollbar-thumb{border-radius:4px;background:var(--portal-border)}
.portalSidebar .portalIdentity{flex:0 0 auto}
.portalNavItem{position:relative;width:100%;min-height:40px;display:flex;gap:10px;align-items:center;border:1px solid transparent;border-radius:9px;color:var(--portal-text-muted);padding:5px 8px;letter-spacing:0!important;text-transform:none!important;transition:background .18s,border-color .18s,color .18s}
.portalSidebar .portalIconNav .portalNavItem:first-child:not([aria-current="page"]){background:transparent;color:var(--portal-text-muted)}
.portalSidebar .portalIconNav .portalNavItem:first-child:before{display:none}
.portalNavIcon{--nav-icon-color:#9ca3af;width:29px;height:29px;display:grid;flex:0 0 29px;place-items:center;border-radius:9px;background:color-mix(in srgb,var(--nav-icon-color) 14%,transparent);color:var(--nav-icon-color)}
.portalNavIcon>svg{width:17px;height:17px}
.portalNavLabel{min-width:0;overflow:hidden;color:inherit;font:650 var(--portal-type-small)/1.25 var(--portal-font-body);letter-spacing:0;text-overflow:ellipsis;text-transform:none;white-space:nowrap}
.portalNavItem:hover,.portalNavItem:focus-visible{border-color:transparent;background:var(--portal-surface);outline:none}
.portalNavItem[aria-current="page"]{border-color:transparent;background:var(--portal-surface);box-shadow:inset 2px 0 var(--portal-gold)}
.portalNavGroup{width:100%;min-width:0;border:0}
.portalNavGroup summary{display:flex;align-items:center;justify-content:space-between;margin:2px 7px 5px;color:#8b929c;font:750 var(--portal-type-caption)/1.2 var(--portal-font-body);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;list-style:none}
.portalNavGroup summary::-webkit-details-marker{display:none}
.portalNavGroup summary svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;transition:transform .18s}
.portalNavGroup:not([open]) summary svg{transform:rotate(-90deg)}
.portalNavGroupItems{display:grid;min-width:0;gap:3px}
.portalNavGroup--account{margin-top:auto;padding-top:10px;border-top:1px solid var(--portal-border)}
.portalNavDivider{width:26px;height:1px;margin:4px 0;background:var(--portal-surface)}
.portalNavTooltip{display:none;position:absolute;top:50%;left:calc(100% + 12px);z-index:500;width:max-content;max-width:250px;border:1px solid var(--portal-border);border-radius:8px;background:var(--portal-bg);color:var(--portal-text);padding:8px 10px;font:700 var(--portal-type-caption)/1.3 var(--portal-font-body);letter-spacing:0;text-transform:none;white-space:nowrap;box-shadow:0 12px 35px rgb(var(--portal-shadow-rgb) / 0.8);opacity:0;pointer-events:none;transform:translate(5px,-50%);transition:opacity .15s,transform .15s}
.portalNavTooltip:before{position:absolute;top:50%;right:100%;border:5px solid transparent;border-right-color:var(--portal-border);content:"";transform:translateY(-50%)}
.portalNavItem:hover .portalNavTooltip,.portalNavItem:focus-visible .portalNavTooltip,.portalIdentityAvatar:hover .portalNavTooltip,.portalIdentityAvatar:focus-visible .portalNavTooltip,.portalIdentity button:hover .portalNavTooltip,.portalIdentity button:focus-visible .portalNavTooltip{opacity:1;transform:translate(0,-50%)}
.portalIdentity{width:100%;display:flex;flex-direction:column;gap:9px;align-items:center;margin-top:auto;border-top:1px solid var(--portal-border);padding:14px 0 2px}
.portalIdentityAvatar{position:relative;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--portal-gold);border-radius:50%;background:var(--portal-bg);color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:850;cursor:default}
.portalIdentityAvatar>.portalNavTooltip{font-weight:700}
.portalIdentity form{margin:0}
.portalIdentity button{position:relative;width:38px;height:38px;display:grid;place-items:center;margin:0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--portal-text);padding:0;transition:.18s}
.portalIdentity button:hover,.portalIdentity button:focus-visible{border-color:var(--portal-error);background:var(--portal-bg);color:var(--portal-error);outline:none}
.portalIdentity button>svg{width:18px;height:18px}
@media(max-width:800px){
  .portalShell{grid-template-columns:1fr}
  .portalSidebar{position:sticky;top:0;height:62px;display:flex;flex-direction:row;align-items:center;padding:6px 10px;border-right:0;border-bottom:1px solid var(--portal-border);box-shadow:0 8px 30px rgb(var(--portal-shadow-rgb) / 0.733)}
  .portalLogo.portalLionLogo{width:47px;height:48px;flex:0 0 auto;border-right:1px solid var(--portal-border);border-bottom:0;padding:4px 9px 4px 2px}
  .portalLogo.portalLionLogo img{width:35px;height:35px}
  .portalSidebar .portalIconNav{min-width:0;display:flex;overflow-x:auto;flex:1 1;flex-direction:row;justify-content:flex-start;gap:5px;padding:0 8px;scrollbar-width:none}
  .portalSidebar .portalIconNav::-webkit-scrollbar{display:none}
  .portalNavGroup{display:contents}
  .portalNavGroup summary{display:none}
  .portalNavGroupItems{display:flex;gap:5px}
  .portalNavGroup--account{margin:0;padding:0;border:0}
  .portalNavItem{width:40px;height:40px;min-height:40px;flex:0 0 40px;padding:5px}
  .portalNavIcon{width:29px;height:29px;flex-basis:29px}
  .portalNavLabel{display:none}
  .portalNavTooltip{display:block}
  .portalNavDivider{width:1px;height:25px;flex:0 0 1px;margin:0 3px}
  .portalIdentity{width:auto;flex:0 0 auto;flex-direction:row;gap:3px;margin:0;border-top:0;border-left:1px solid var(--portal-border);padding:0 0 0 8px}
  .portalIdentityAvatar{width:32px;height:32px}
  .portalIdentity button{width:34px;height:34px}
  .portalNavTooltip{top:calc(100% + 10px);right:0;left:auto;transform:translateY(-4px)}
  .portalNavTooltip:before{display:none}
  .portalNavItem:hover .portalNavTooltip,.portalNavItem:focus-visible .portalNavTooltip,.portalIdentityAvatar:hover .portalNavTooltip,.portalIdentityAvatar:focus-visible .portalNavTooltip,.portalIdentity button:hover .portalNavTooltip,.portalIdentity button:focus-visible .portalNavTooltip{transform:none}
}

/* Users & access */
.adminMemoryCard{grid-column:1/-1}
.adminMemoryCard>header>span{color:var(--portal-success);font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.adminMemoryCard>header h2{margin:5px 0 6px}
.adminMemoryCard>header p{max-width:680px;margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small);line-height:1.55}
.adminMemoryLayout{display:grid;grid-template-columns:190px minmax(260px,1fr);gap:34px;align-items:center;margin-top:24px}
.adminMemoryPie{position:relative;width:180px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--portal-blue) 0 var(--portal-memory),var(--portal-burgundy) var(--portal-memory) var(--used-memory),var(--portal-success) var(--used-memory) 100%);box-shadow:0 0 0 1px var(--portal-border),0 18px 45px rgb(var(--portal-shadow-rgb)/.32)}
.adminMemoryPie:after{position:absolute;inset:28px;border:1px solid var(--portal-border);border-radius:50%;background:var(--portal-surface);content:""}
.adminMemoryPie>span{position:absolute;inset:0;z-index:1;display:grid;place-content:center;text-align:center}
.adminMemoryPie strong{font-size:var(--portal-type-h1);line-height:1}
.adminMemoryPie small{margin-top:5px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-transform:uppercase}
.adminMemoryLegend{display:grid;gap:4px}
.adminMemoryLegend>div{display:grid;grid-template-columns:12px 1fr;gap:11px;align-items:center;border-bottom:1px solid var(--portal-border);padding:13px 2px}
.adminMemoryLegend i{width:10px;height:10px;border-radius:3px}
.adminMemoryLegend i.portalProcess{background:var(--portal-blue)}
.adminMemoryLegend i.systemUsed{background:var(--portal-burgundy)}
.adminMemoryLegend i.memoryFree{background:var(--portal-success)}
.adminMemoryLegend span{display:flex;justify-content:space-between;gap:18px}
.adminMemoryLegend strong{font-size:var(--portal-type-small)}
.adminMemoryLegend small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
@media(max-width:650px){
  .adminMemoryLayout{grid-template-columns:1fr;justify-items:center}
  .adminMemoryLegend{width:100%}
  .adminMemoryLegend span{align-items:flex-start;flex-direction:column;gap:3px}
}
.usersAdminPage{width:min(1420px,calc(100% - 56px));padding-top:46px}
.usersAdminPage .portalTop{align-items:flex-end;padding-bottom:34px}
.usersAdminPage .portalEyebrow{color:var(--portal-gold);font-size:var(--portal-type-caption);letter-spacing:.18em}
.usersAdminPage .portalTop h1{margin:9px 0 10px;color:var(--portal-text);font-size:var(--portal-type-h1)}
.usersAdminPage .portalTop p{color:var(--portal-text-muted);font-size:var(--portal-type-body)}
.usersSummary{display:flex;gap:12px;align-items:center;border:1px solid var(--portal-border);border-radius:999px;background:var(--portal-bg);padding:10px 15px;color:var(--portal-text)}
.usersSummary>i{width:8px;height:8px;border-radius:50%;background:var(--portal-success);box-shadow:0 0 12px var(--portal-success)}
.usersSummary span{font-size:var(--portal-type-caption)}
.usersSummary span strong{color:var(--portal-text)}
.usersSummary small{border-left:1px solid var(--portal-border);padding-left:12px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.usersAdminPage .adminGrid{grid-template-columns:minmax(340px,.68fr) minmax(570px,1.32fr);gap:18px;align-items:start}
.usersAdminPage .portalCard{overflow:hidden;border:1px solid var(--portal-border);border-radius:18px;background:linear-gradient(145deg,var(--portal-bg),var(--portal-bg) 68%);color:var(--portal-text);padding:0;box-shadow:0 24px 70px rgb(var(--portal-shadow-rgb) / 0.6),inset 0 1px rgb(var(--portal-shadow-rgb) / 0.031)}
.usersAdminPage .portalCard>header{border-bottom:1px solid var(--portal-border);padding:24px 25px 20px}
.usersAdminPage .portalCard>header>span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.usersAdminPage .portalCard>header h2{margin:7px 0 6px;color:var(--portal-text);font-size:var(--portal-type-h2)}
.usersAdminPage .portalCard>header p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small);line-height:1.55}
.inviteUserCard>div{padding:24px 25px 26px}
.usersAdminPage .compactPortalForm{gap:17px}
.usersAdminPage .portalForm label{gap:8px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:800;letter-spacing:.04em}
.usersAdminPage .portalForm input,.usersAdminPage .portalForm select,.usersAdminPage .inviteResult input{height:48px;border:1px solid var(--portal-border);border-radius:10px;background:var(--portal-bg);color:var(--portal-text);padding:0 13px;font-size:var(--portal-type-body);color-scheme:dark}
.usersAdminPage .portalForm input:hover,.usersAdminPage .portalForm select:hover{border-color:var(--portal-gold)}
.usersAdminPage .portalForm input:focus,.usersAdminPage .portalForm select:focus{border-color:var(--portal-gold);box-shadow:0 0 0 3px rgb(var(--portal-gold-rgb) / 0.071)}
.usersAdminPage .portalButton{min-height:49px;border:1px solid var(--portal-gold);border-radius:10px;background:var(--portal-gold);color:var(--portal-bg);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.025em;box-shadow:0 12px 30px rgb(var(--portal-shadow-rgb) / 0.4);transition:.2s}
.usersAdminPage .portalButton:hover{background:var(--portal-gold);box-shadow:0 10px 28px rgb(var(--portal-gold-rgb) / 0.125);transform:translateY(-1px)}
.usersAdminPage .formError{border:1px solid var(--portal-error);border-radius:8px;background:var(--portal-bg);color:var(--portal-error);padding:10px 12px;font-size:var(--portal-type-caption)}
.usersAdminPage .inviteResult{gap:9px;margin-top:18px;border:1px solid var(--portal-gold);border-radius:11px;background:var(--portal-bg);padding:15px}
.usersAdminPage .inviteResult strong{color:var(--portal-gold)}
.usersAdminPage .inviteResult p{color:var(--portal-text-muted)}
.usersAdminPage .inviteResult input{height:40px;background:var(--portal-bg);color:var(--portal-text);font-family:Consolas,monospace;font-size:var(--portal-type-body)}
.usersCard .userList{padding:5px 24px 12px}
.usersAdminPage .userList article{grid-template-columns:42px minmax(170px,1fr) auto auto 72px;gap:14px;border-top:1px solid var(--portal-border);padding:17px 0}
.usersAdminPage .userList article:first-child{border-top:0}
.usersAdminPage .avatar{width:40px;height:40px;border:1px solid var(--portal-gold);background:radial-gradient(circle at 35% 30%,var(--portal-surface),var(--portal-bg));color:var(--portal-gold);font-size:var(--portal-type-small);box-shadow:inset 0 0 14px rgb(var(--portal-gold-rgb) / 0.043)}
.usersAdminPage .userList strong{color:var(--portal-text);font-size:var(--portal-type-caption)}
.usersAdminPage .userList span{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.usersAdminPage .userRole{border:1px solid var(--portal-border);border-radius:999px;background:var(--portal-bg);color:var(--portal-text-muted);padding:6px 9px;font-size:var(--portal-type-caption);font-weight:800;letter-spacing:.06em}
.usersAdminPage .userList b{display:flex;gap:6px;align-items:center;border:1px solid currentColor;border-radius:999px;padding:6px 9px;font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.04em}
.usersAdminPage .userList b>i{width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}
.usersAdminPage .activeStatus{color:var(--portal-success)}
.usersAdminPage .suspendedStatus{color:var(--portal-error)}
.usersAdminPage .userList form{text-align:right}
.usersAdminPage .userList button{border:1px solid var(--portal-error);border-radius:7px;background:var(--portal-bg);color:var(--portal-error);padding:7px 9px;font-size:var(--portal-type-caption);font-weight:800}
.usersAdminPage .userList button:hover{border-color:var(--portal-error);background:var(--portal-surface);color:var(--portal-error)}
.usersAdminPage .userList button.restoreUser{border-color:var(--portal-success);background:var(--portal-bg);color:var(--portal-success)}
.usersAdminPage .currentUserLabel{justify-self:end;border:1px solid var(--portal-border);border-radius:7px;padding:6px 9px;color:var(--portal-text-muted)!important;font-size:var(--portal-type-caption)!important;font-weight:800;text-transform:uppercase}
@media(max-width:1050px){
  .usersAdminPage .adminGrid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .usersAdminPage{width:min(100% - 24px,1420px);padding-top:28px}
  .usersAdminPage .portalTop{align-items:flex-start}
  .usersSummary{align-self:flex-start}
  .usersAdminPage .userList article{grid-template-columns:40px minmax(0,1fr) auto}
  .usersAdminPage .userList article>.userRole{display:none}
  .usersAdminPage .userList article>b{display:flex}
  .usersAdminPage .userList article>form,.usersAdminPage .currentUserLabel{grid-column:2/4;justify-self:start}
}

/* Personal Google Calendar */
.calendarPage{box-sizing:border-box;width:100%;max-width:none;min-height:100vh;padding:28px;background:var(--portal-bg);color:var(--portal-text)}
.calendarPageHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 auto 18px;max-width:1680px}
.calendarPageHeader>div>span,.calendarPermission>span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.17em}
.calendarPageHeader h1{margin:5px 0 3px;font-size:var(--portal-type-h1);line-height:var(--portal-leading-heading);letter-spacing:-.045em}
.calendarPageHeader p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.calendarReadOnly{display:flex;align-items:center;gap:8px;border:1px solid var(--portal-border);border-radius:999px;background:var(--portal-bg);color:var(--portal-text-muted);padding:8px 12px;font-size:var(--portal-type-caption);font-weight:800;letter-spacing:.04em}
.calendarReadOnly i{width:6px;height:6px;border-radius:50%;background:var(--portal-elevated)}
.calendarReadOnly.active{border-color:var(--portal-success);color:var(--portal-success)}
.calendarReadOnly.active i{background:var(--portal-success);box-shadow:0 0 10px var(--portal-success)}
.calendarSurface{max-width:1680px;margin:0 auto;overflow:hidden;border:1px solid var(--portal-border);border-radius:18px;background:var(--portal-bg);box-shadow:0 25px 70px rgb(var(--portal-shadow-rgb) / 0.533)}
.calendarToolbar{display:flex;min-height:68px;align-items:center;gap:18px;border-bottom:1px solid var(--portal-border);padding:0 18px}
.calendarMonthControls{display:flex;align-items:center;gap:7px}
.calendarMonthControls button{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--portal-border);border-radius:8px;background:var(--portal-bg);color:var(--portal-text-muted);font-size:var(--portal-type-h4);cursor:pointer}
.calendarMonthControls button:hover{border-color:var(--portal-gold);color:var(--portal-gold)}
.calendarMonthControls button.today{width:auto;padding:0 12px;font-size:var(--portal-type-caption);font-weight:850}
.calendarMonthControls h2{min-width:190px;margin:0 0 0 7px;color:var(--portal-text);font-size:var(--portal-type-h2);letter-spacing:-.025em}
.calendarSources{display:flex;min-width:0;flex:1 1;gap:8px;overflow:auto}
.calendarSources>span{display:flex;flex:0 0 auto;align-items:center;gap:6px;border:1px solid var(--portal-border);border-radius:999px;background:var(--portal-bg);padding:6px 9px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:750}
.calendarSources i{width:6px;height:6px;border-radius:50%;box-shadow:0 0 8px currentColor}
.calendarAccount{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.calendarError{border-bottom:1px solid var(--portal-error);background:var(--portal-surface);color:var(--portal-error);padding:10px 18px;font-size:var(--portal-type-caption)}
.calendarBody{display:grid;grid-template-columns:minmax(660px,1fr) 320px;min-height:calc(100vh - 170px);transition:opacity .18s}
.calendarBody.loading{opacity:.55}
.calendarMonth{display:flex;min-width:0;flex-direction:column;border-right:1px solid var(--portal-border)}
.calendarWeekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--portal-border);background:var(--portal-bg)}
.calendarWeekdays span{padding:10px 12px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.12em;text-align:right;text-transform:uppercase}
.calendarGrid{display:grid;min-height:670px;flex:1 1;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(6,minmax(100px,1fr))}
.calendarGrid>button{position:relative;display:block;min-width:0;overflow:hidden;border:0;border-right:1px solid var(--portal-border);border-bottom:1px solid var(--portal-border);background:var(--portal-bg);color:var(--portal-text);padding:9px;text-align:left;cursor:pointer}
.calendarGrid>button:nth-child(7n){border-right:0}
.calendarGrid>button:nth-last-child(-n+7){border-bottom:0}
.calendarGrid>button:hover{background:var(--portal-bg)}
.calendarGrid>button.selected{background:var(--portal-bg);box-shadow:inset 0 0 0 1px var(--portal-gold)}
.calendarGrid>button.outside{background:var(--portal-bg);color:var(--portal-text)}
.calendarGrid>button.isToday .calendarDayNumber{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--portal-gold);color:var(--portal-bg)}
.calendarDayNumber{display:block;width:22px;height:22px;color:inherit;font-size:var(--portal-type-caption);font-weight:850;line-height:22px;text-align:center}
.calendarDayEvents{display:grid;gap:3px;margin-top:4px}
.calendarEventChip{--event-color:var(--portal-gold);display:flex;min-width:0;align-items:center;gap:4px;overflow:hidden;border-left:2px solid var(--event-color);border-radius:3px;background:var(--portal-bg);color:var(--portal-text);padding:4px 5px;font-size:var(--portal-type-caption);line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.calendarEventChip i{width:4px;height:4px;flex:0 0 auto;border-radius:50%;background:var(--event-color);box-shadow:0 0 6px var(--event-color)}
.calendarEventChip b{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:700}
.calendarDayEvents small{color:var(--portal-gold);padding:2px 6px;font-size:var(--portal-type-caption);font-weight:800}
.calendarEventChip.priority{border:1px solid color-mix(in srgb,var(--event-color) 45%,var(--portal-border));border-left:3px solid var(--event-color);background:color-mix(in srgb,var(--event-color) 9%,var(--portal-surface));font-weight:750}
.calendarRoutineChip{display:flex;min-width:0;align-items:center;gap:5px;overflow:hidden;border:1px dashed var(--portal-border);border-radius:4px;background:var(--portal-bg);color:var(--portal-text-muted);padding:3px 5px;font-size:var(--portal-type-caption);font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.calendarRoutineChip i{width:5px;height:5px;flex:0 0 auto;border-radius:50%;background:var(--portal-text-muted)}
.calendarAgenda{position:relative;display:flex;min-width:0;flex-direction:column;background:var(--portal-bg)}
.calendarAgenda>header{border-bottom:1px solid var(--portal-border);padding:20px}
.calendarAgenda>header>span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.15em}
.calendarAgenda>header h3{margin:7px 0 4px;font-size:var(--portal-type-h3);letter-spacing:-.02em}
.calendarAgenda>header small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.calendarAgendaList{min-height:0;flex:1 1;overflow:auto;padding:10px}
.calendarAgendaList>button{position:relative;display:grid;width:100%;grid-template-columns:4px 1fr;gap:5px 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--portal-text);padding:11px;text-align:left;cursor:pointer}
.calendarAgendaList>button:hover,.calendarAgendaList>button.active{border-color:var(--portal-warning);background:var(--portal-bg)}
.calendarAgendaList>button>i{grid-row:1/4;width:3px;height:100%;border-radius:5px}
.calendarAgendaList>button>span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:800}
.calendarAgendaList>button>strong{font-size:var(--portal-type-caption);line-height:1.35}
.calendarAgendaList>button>small{overflow:hidden;color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-overflow:ellipsis;white-space:nowrap}
.calendarEmptyDay{display:grid;place-items:center;padding:70px 20px;text-align:center}
.calendarEmptyDay>i{width:38px;height:38px;border:1px dashed var(--portal-border);border-radius:50%;margin-bottom:12px}
.calendarEmptyDay strong{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.calendarEmptyDay span{margin-top:5px;color:var(--portal-text);font-size:var(--portal-type-caption)}
.calendarAgendaList>button.priority{margin-bottom:5px;border-color:color-mix(in srgb,var(--portal-gold) 24%,var(--portal-border));background:linear-gradient(90deg,color-mix(in srgb,var(--portal-gold) 10%,var(--portal-bg)),var(--portal-bg) 70%)}
.calendarAgendaList>button.priority:hover,.calendarAgendaList>button.priority.active{border-color:var(--portal-gold);background:color-mix(in srgb,var(--portal-gold) 12%,var(--portal-bg))}
.calendarRegularAgenda{margin-top:10px;border-top:1px solid var(--portal-border)}
.calendarRegularAgenda>summary{display:flex;align-items:center;justify-content:space-between;padding:12px 10px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:850;cursor:pointer;list-style:none}
.calendarRegularAgenda>summary::-webkit-details-marker{display:none}
.calendarRegularAgenda>summary b{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--portal-elevated);color:var(--portal-gold)}
.calendarRegularAgenda>div{display:grid;gap:3px}
.calendarRegularAgenda button{display:grid;width:100%;grid-template-columns:4px 1fr;gap:4px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--portal-text-muted);padding:9px 11px;text-align:left;cursor:pointer}
.calendarRegularAgenda button:hover,.calendarRegularAgenda button.active{border-color:var(--portal-border);background:var(--portal-surface)}
.calendarRegularAgenda button>i{grid-row:1/3;width:3px;height:100%;border-radius:4px}
.calendarRegularAgenda button>span,
.calendarRegularAgenda button>strong{font-size:var(--portal-type-caption)}
.calendarEventDetail{position:absolute;inset:auto 10px 10px;z-index:4;border:1px solid var(--portal-gold);border-radius:13px;background:var(--portal-bg);padding:16px;box-shadow:0 18px 45px var(--portal-shadow)}
.calendarEventDetail>button{position:absolute;top:8px;right:8px;border:0;background:transparent;color:var(--portal-text-muted);font-size:var(--portal-type-body);cursor:pointer}
.calendarEventDetail>span{font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.calendarEventDetail h4{margin:7px 25px 8px 0;font-size:var(--portal-type-h3)}
.calendarEventDetail p{margin:4px 0;color:var(--portal-text-muted);font-size:var(--portal-type-small);line-height:1.4}
.calendarEventDetail>small{display:block;margin-top:8px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.calendarEventDetail>div{max-height:110px;margin-top:10px;overflow:auto;border-top:1px solid var(--portal-border);padding-top:9px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.5}
.calendarEventDetail footer{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.calendarEventDetail footer a{border:1px solid var(--portal-gold);border-radius:7px;background:var(--portal-bg);color:var(--portal-gold);padding:7px 9px;font-size:var(--portal-type-caption);font-weight:850}
.calendarPermission{display:grid;max-width:720px;min-height:430px;place-items:center;align-content:center;gap:10px;margin:70px auto;border:1px solid var(--portal-border);border-radius:18px;background:radial-gradient(circle at 50% 25%,var(--portal-surface),var(--portal-bg) 48%);padding:40px;text-align:center;box-shadow:0 25px 70px rgb(var(--portal-shadow-rgb) / 0.533)}
.calendarPermissionOrb{display:grid;width:68px;height:68px;place-items:center;border:1px solid var(--portal-gold);border-radius:20px;background:var(--portal-bg);color:var(--portal-gold);box-shadow:0 0 40px rgb(var(--portal-gold-rgb) / 0.133)}
.calendarPermissionOrb svg{width:31px}
.calendarPermission h2{margin:5px 0 0;font-size:var(--portal-type-h2)}
.calendarPermission p{max-width:520px;margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.6}
.calendarPermission>a{margin-top:8px;border:1px solid var(--portal-gold);border-radius:10px;background:var(--portal-gold);color:var(--portal-bg);padding:11px 15px;font-size:var(--portal-type-caption);font-weight:900}
.calendarPermission>small{color:var(--portal-text);font-size:var(--portal-type-caption)}
@media(max-width:1100px){
  .calendarBody{grid-template-columns:1fr}
  .calendarMonth{border-right:0}
  .calendarAgenda{min-height:420px;border-top:1px solid var(--portal-border)}
  .calendarGrid{min-height:650px}
  .calendarAccount{display:none}
}
@media(max-width:720px){
  .calendarPage{padding:16px}
  .calendarPageHeader{align-items:flex-start;flex-direction:column}
  .calendarToolbar{align-items:flex-start;flex-direction:column;padding:13px}
  .calendarMonthControls{width:100%;flex-wrap:wrap}
  .calendarMonthControls h2{min-width:0;flex:1 1}
  .calendarSources{width:100%}
  .calendarGrid{min-height:570px;grid-template-rows:repeat(6,minmax(82px,1fr))}
  .calendarGrid>button{padding:5px}
  .calendarEventChip b{display:none}
  .calendarEventChip{padding:3px;font-size:var(--portal-type-caption)}
  .calendarWeekdays span{padding:8px 4px;text-align:center}
  .calendarPermission{margin:30px auto;padding:28px 18px}
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/portal/styles/04-cash-management.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
/* Native Cash Management */
.cashPortal{box-sizing:border-box;min-height:100vh;background:var(--portal-bg);color:var(--portal-text);padding:30px clamp(20px,3vw,46px) 60px}
.cashPortalHeader{display:flex;max-width:1680px;align-items:flex-end;justify-content:space-between;gap:30px;margin:0 auto 20px}
.cashPortalHeader>div:first-child>span,.cashPanel header span,.cashWorkspaceToolbar>div>span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.17em}
.cashPortalHeader h1{margin:7px 0 5px;font-size:var(--portal-type-h1);line-height:var(--portal-leading-heading);letter-spacing:-.05em}
.cashPortalHeader p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.cashPortalActions{display:flex;align-items:center;gap:10px}
.cashPortalActions>span{display:flex;align-items:center;gap:7px;border:1px solid var(--portal-border);border-radius:999px;background:var(--portal-bg);color:var(--portal-text-muted);padding:10px 13px;font-size:var(--portal-type-caption);font-weight:800}
.cashPortalActions>span i{width:6px;height:6px;border-radius:50%;background:var(--portal-elevated)}
.cashPortalActions>span.healthy{border-color:var(--portal-success);color:var(--portal-success)}
.cashPortalActions>span.healthy i{background:var(--portal-success);box-shadow:0 0 10px var(--portal-success)}
.cashPortalActions>button{min-height:43px;border:1px solid var(--portal-gold);border-radius:10px;background:var(--portal-gold);color:var(--portal-bg);padding:0 16px;font-size:var(--portal-type-caption);font-weight:900;cursor:pointer}
.cashPortalActions>button b{margin-left:25px;font-size:var(--portal-type-body)}
.cashPortalActions>button:disabled{cursor:wait;opacity:.55}
.cashPortalError{max-width:1680px;margin:0 auto 14px;border:1px solid var(--portal-error);border-radius:10px;background:var(--portal-surface);color:var(--portal-error);padding:11px 14px;font-size:var(--portal-type-caption)}
.cashPortalTabs{display:flex;max-width:1680px;gap:5px;margin:0 auto 16px;border-bottom:1px solid var(--portal-border)}
.cashPortalTabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--portal-text-muted);padding:11px 15px;font-size:var(--portal-type-caption);font-weight:850;text-transform:capitalize;cursor:pointer}
.cashPortalTabs button:hover{color:var(--portal-text)}
.cashPortalTabs button.active{border-bottom-color:var(--portal-gold);color:var(--portal-gold)}
.cashPortalLoading{display:grid;min-height:500px;place-items:center;align-content:center;gap:15px;color:var(--portal-text-muted)}
.cashPortalLoading i{width:34px;height:34px;border:2px solid var(--portal-border);border-top-color:var(--portal-gold);border-radius:50%;animation:cashSpin .8s linear infinite}
@keyframes cashSpin{
  to{transform:rotate(360deg)}
}
.cashKpis{display:grid;max-width:1680px;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 auto 14px}
.cashKpis article{position:relative;overflow:hidden;border:1px solid var(--portal-border);border-radius:14px;background:linear-gradient(145deg,var(--portal-bg),var(--portal-bg));padding:19px 20px}
.cashKpis article:before{position:absolute;top:0;bottom:0;left:0;width:2px;background:var(--portal-gold);content:""}
.cashKpis span{display:block;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.1em}
.cashKpis strong{display:block;margin:9px 0 5px;color:var(--portal-text);font-size:var(--portal-type-metric);letter-spacing:-.045em}
.cashKpis small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashOverviewGrid{display:grid;max-width:1680px;grid-template-columns:1fr 1fr;gap:14px;margin:auto}
.cashPanel,.cashWorkspace{min-width:0;overflow:hidden;border:1px solid var(--portal-border);border-radius:16px;background:var(--portal-bg)}
.cashPanel>header{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--portal-border);padding:17px 19px}
.cashPanel h2,.cashWorkspace h2{margin:5px 0 0;font-size:var(--portal-type-h2);letter-spacing:-.025em}
.cashPanel header small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashPanel header button{border:1px solid var(--portal-gold);border-radius:7px;background:var(--portal-bg);color:var(--portal-gold);padding:7px 9px;font-size:var(--portal-type-caption);font-weight:850;cursor:pointer}
.cashBars{display:grid;gap:17px;padding:24px}
.cashBars>div{display:grid;grid-template-columns:60px 1fr 105px;align-items:center;gap:12px}
.cashBars span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:800}
.cashBars i{height:11px;overflow:hidden;border-radius:99px;background:var(--portal-surface)}
.cashBars i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--portal-gold) 16%,var(--portal-surface)),var(--portal-gold));box-shadow:0 0 14px rgb(var(--portal-gold-rgb) / 0.333)}
.cashBars strong{text-align:right;font-size:var(--portal-type-small)}
.cashLineChart{position:relative;height:190px;padding:19px 17px 28px 70px}
.cashLineChart svg{width:100%;height:100%;overflow:visible}
.cashLineChart circle{fill:var(--portal-bg);stroke:var(--portal-gold);stroke-width:.65;vector-effect:non-scaling-stroke}
.cashYAxis{position:absolute;top:18px;bottom:31px;left:12px;display:flex;flex-direction:column;justify-content:space-between;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashXAxis{position:absolute;right:17px;bottom:10px;left:70px;display:flex;justify-content:space-between;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashChartEmpty{display:grid;height:190px;place-items:center;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashNextLoads{grid-column:1/3}
.cashRisks>div{padding:8px 18px}
.cashRisks>div>div{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--portal-border);padding:11px 0}
.cashRisks>div>div:last-child{border-bottom:0}
.cashRisks span{display:grid;gap:3px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashRisks span strong{color:var(--portal-text);font-size:var(--portal-type-caption)}
.cashRisks b{color:var(--portal-error);font-size:var(--portal-type-caption)}
.cashRisks p{color:var(--portal-text-muted);font-size:var(--portal-type-body)}
.cashWorkspace{max-width:1680px;margin:auto}
.cashWorkspaceToolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-bottom:1px solid var(--portal-border);padding:19px 21px}
.cashFilters{display:flex;gap:9px}
.cashFilters label{display:grid;gap:5px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:800;text-transform:uppercase}
.cashFilters select,.cashFilters input{width:190px;height:37px;border:1px solid var(--portal-border);border-radius:8px;background:var(--portal-bg);color:var(--portal-text);padding:0 10px;font:var(--portal-type-caption) var(--portal-font-body);color-scheme:dark;outline:none}
.cashFilters select:focus,.cashFilters input:focus{border-color:var(--portal-gold)}
.cashTable{min-width:880px;max-height:calc(100vh - 245px);overflow:auto}
.cashTable>.head,.cashTable>.row{display:grid;grid-template-columns:130px minmax(230px,1.4fr) minmax(140px,.8fr) 120px 120px 130px;align-items:center;gap:12px;padding:0 18px}
.cashTable>.head{position:sticky;top:0;z-index:2;min-height:42px;border-bottom:1px solid var(--portal-border);background:var(--portal-bg);color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.cashTable>.row{min-height:58px;border-bottom:1px solid var(--portal-border);color:var(--portal-text);font-size:var(--portal-type-caption)}
.cashTable>.row:hover{background:var(--portal-bg)}
.cashTable>.row span{display:grid;gap:3px}
.cashTable>.row strong{color:var(--portal-text);font-size:var(--portal-type-caption)}
.cashTable>.row small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashTable>.row b{display:inline-flex;width:max-content;border:1px solid currentColor;border-radius:999px;padding:5px 7px;font-size:var(--portal-type-caption);text-transform:uppercase}
.cashTable>.row b.funded{color:var(--portal-success)}
.cashTable>.row b.constrained{color:var(--portal-error)}
.cashTable>p{padding:50px;color:var(--portal-text-muted);text-align:center}
.cashTable.compact{min-width:720px;max-height:354px}
.cashTable.compact>.head,.cashTable.compact>.row{grid-template-columns:110px minmax(210px,1.4fr) minmax(120px,.8fr) 105px 105px 115px}
.cashRouteGrid{display:grid;grid-template-columns:repeat(3,minmax(280px,1fr));gap:12px;padding:16px}
.cashRouteGrid>article{overflow:hidden;border:1px solid var(--portal-border);border-radius:13px;background:var(--portal-bg)}
.cashRouteGrid article>header{border-bottom:1px solid var(--portal-border);padding:15px}
.cashRouteGrid header span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.13em}
.cashRouteGrid h3{margin:5px 0 0;font-size:var(--portal-type-h3)}
.cashRouteGrid article>div{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:baseline;gap:6px;border-bottom:1px solid var(--portal-border);padding:13px 15px}
.cashRouteGrid article>div strong{font-size:var(--portal-type-body-lg)}
.cashRouteGrid article>div span{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashRouteGrid ol{max-height:300px;margin:0;overflow:auto;padding:7px 14px;list-style:none}
.cashRouteGrid li{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--portal-border);padding:9px 0}
.cashRouteGrid li span{display:grid;gap:2px;font-size:var(--portal-type-body)}
.cashRouteGrid li small{color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.cashRouteGrid li b{font-size:var(--portal-type-body)}
.cashRouteGrid footer{padding:10px 14px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashMap{position:relative;height:clamp(520px,68vh,820px);overflow:hidden;background:radial-gradient(circle at 48% 48%,var(--portal-bg),var(--portal-bg) 62%)}
.cashMapGrid{position:absolute;inset:0;background-image:linear-gradient(rgb(var(--portal-elevated-rgb) / 0.031) 1px,transparent 1px),linear-gradient(90deg,rgb(var(--portal-elevated-rgb) / 0.031) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:radial-gradient(circle,var(--portal-bg) 35%,transparent 82%);mask-image:radial-gradient(circle,var(--portal-bg) 35%,transparent 82%)}
.cashMap>button{position:absolute;width:10px;height:10px;transform:translate(-50%,-50%);border:2px solid var(--portal-border);border-radius:50%;padding:0;box-shadow:0 0 11px currentColor;cursor:pointer}
.cashMap>button:after{position:absolute;inset:-5px;border:1px solid currentColor;border-radius:50%;opacity:.25;content:""}
.cashMap>button>span{position:absolute;bottom:calc(100% + 11px);left:50%;z-index:5;display:none;width:210px;transform:translateX(-50%);border:1px solid var(--portal-gold);border-radius:9px;background:var(--portal-bg);color:var(--portal-text);padding:10px;text-align:left;box-shadow:0 15px 35px var(--portal-shadow)}
.cashMap>button:hover{z-index:6;transform:translate(-50%,-50%) scale(1.5)}
.cashMap>button:hover>span{display:grid;gap:4px;transform:translateX(-50%) scale(.6667)}
.cashMap>button strong{font-size:var(--portal-type-caption)}
.cashMap>button small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashMap>button b{color:var(--portal-gold);font-size:var(--portal-type-caption)}
.cashMap>p{position:absolute;inset:0;display:grid;place-items:center;color:var(--portal-text-muted);font-size:var(--portal-type-body)}
.cashMapLegend{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid var(--portal-border);padding:10px 14px}
.cashMapLegend button{display:flex;align-items:center;gap:6px;border:1px solid var(--portal-border);border-radius:999px;background:var(--portal-bg);color:var(--portal-text-muted);padding:6px 8px;font-size:var(--portal-type-caption);cursor:pointer}
.cashMapLegend i{width:6px;height:6px;border-radius:50%;box-shadow:0 0 7px currentColor}
.cashHistoryLayout{display:grid;max-width:1680px;grid-template-columns:1.35fr .65fr;gap:14px;margin:auto}
.cashRunList{padding:5px 18px}
.cashRunList>div{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:12px;border-bottom:1px solid var(--portal-border);padding:14px 0}
.cashRunList i{width:7px;height:7px;border-radius:50%;background:var(--portal-elevated)}
.cashRunList i.completed{background:var(--portal-success);box-shadow:0 0 9px var(--portal-success)}
.cashRunList i.running{background:var(--portal-gold);box-shadow:0 0 9px var(--portal-gold)}
.cashRunList i.failed{background:var(--portal-error)}
.cashRunList span{display:grid;gap:4px}
.cashRunList strong{font-size:var(--portal-type-caption)}
.cashRunList small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashRunList>b{color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-transform:uppercase}
.cashRunList p{grid-column:2/4;margin:0;color:var(--portal-error);font-size:var(--portal-type-body)}
.cashExports>div{padding:8px 17px}
.cashExports a{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--portal-border);padding:13px 0;color:var(--portal-text)}
.cashExports a:hover strong{color:var(--portal-gold)}
.cashExports a span{display:grid;gap:4px}
.cashExports a strong{font-size:var(--portal-type-caption)}
.cashExports a small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashExports a b{color:var(--portal-gold);font-size:var(--portal-type-caption)}
@media(max-width:1100px){
  .cashKpis{grid-template-columns:repeat(2,1fr)}
  .cashOverviewGrid,.cashHistoryLayout{grid-template-columns:1fr}
  .cashNextLoads{grid-column:1}
  .cashRouteGrid{grid-template-columns:repeat(2,minmax(280px,1fr))}
}
@media(max-width:720px){
  .cashPortal{padding:20px 12px 45px}
  .cashPortalHeader{align-items:flex-start;flex-direction:column}
  .cashPortalActions{width:100%;align-items:stretch;flex-direction:column}
  .cashPortalActions>button{width:100%}
  .cashKpis{grid-template-columns:1fr 1fr}
  .cashKpis article{padding:15px}
  .cashKpis strong{font-size:var(--portal-type-h3)}
  .cashOverviewGrid{grid-template-columns:1fr}
  .cashWorkspaceToolbar{align-items:flex-start;flex-direction:column}
  .cashFilters{width:100%;flex-direction:column}
  .cashFilters label,.cashFilters select,.cashFilters input{width:100%}
  .cashRouteGrid{grid-template-columns:1fr;padding:10px}
  .cashPortalTabs{overflow:auto}
  .cashPortalTabs button{white-space:nowrap}
  .cashHistoryLayout{grid-template-columns:1fr}
}

/* Cash Management native parity shell */
.cashNativeApp{display:grid;min-height:100vh;grid-template-columns:230px minmax(0,1fr);background:var(--portal-bg);color:var(--portal-text)}
.cashNativeSidebar{position:sticky;top:0;box-sizing:border-box;height:100vh;overflow-y:auto;border-right:1px solid var(--portal-border);background:var(--portal-bg);padding:22px 14px}
.cashNativeApp.sidebarCollapsed{grid-template-columns:54px minmax(0,1fr)}
.cashSidebarToggle{display:flex;width:100%;height:32px;align-items:center;justify-content:center;gap:6px;border:1px solid var(--portal-border);border-radius:7px;background:var(--portal-panel);color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:850;cursor:pointer}
.cashSidebarToggle:hover{border-color:var(--portal-gold);color:var(--portal-gold)}
.cashSidebarToggle span{font-size:var(--portal-type-h2);line-height:1}
.cashSidebarToggle b{font-size:var(--portal-type-caption)}
.cashSidebarBody{display:block}
.cashNativeApp.sidebarCollapsed .cashNativeSidebar{padding:12px 8px;overflow:hidden}
.cashNativeApp.sidebarCollapsed .cashSidebarBody{display:none}
.cashMatrixTable .bankParentRow th{padding-left:9px;color:#eef1f4;font-weight:900}
.cashMatrixTable .bankChildRow th{padding-left:27px;color:#cbd0d7;font-weight:750}
.cashMatrixTable .bankChildRow th:before{display:inline-block;width:10px;margin-left:-14px;border-top:1px solid color-mix(in srgb,#cbd0d7 35%,transparent);content:"";vertical-align:middle}
.cashMatrixTable .cashSectionRow>th:nth-child(-n+2){padding:0}
.cashMatrixTable .cashSectionRow>th:nth-child(-n+2) button{display:flex;width:100%;height:100%;align-items:center;justify-content:space-between;border:0;background:transparent;color:inherit;padding:6px 9px;font:inherit;font-weight:900;cursor:pointer}
.cashMatrixTable .cashSectionRow>th:nth-child(-n+2) button:hover{background:rgb(var(--portal-elevated-rgb) / .08);color:var(--portal-text)}
.cashMatrixTable .cashSectionRow>th:nth-child(-n+2).sorted button{color:var(--portal-gold)}
.cashMatrixTable .cashSectionRow>th:nth-child(-n+2) span{color:var(--portal-text-muted)}
.cashMatrixTable .cashSectionRow>th:nth-child(1){position:sticky!important;left:0!important;z-index:24!important;min-width:90px!important}
.cashMatrixTable .cashSectionRow>th:nth-child(2){position:sticky!important;left:90px!important;z-index:24!important;min-width:230px!important;border-right:2px solid var(--portal-gold)}
.cashMatrixPage .cashMatrixTable .cashSectionRow>th:nth-child(1){position:sticky!important;left:0!important;z-index:32!important;min-width:90px!important;background:var(--portal-surface)!important}
.cashMatrixPage .cashMatrixTable .cashSectionRow>th:nth-child(2){position:sticky!important;left:90px!important;z-index:32!important;min-width:230px!important;background:var(--portal-surface)!important;border-right:2px solid var(--portal-gold)}
.cashMatrixPage .cashMatrixTable{table-layout:auto}
.cashMatrixPage .cashMatrixTable th:nth-child(3),.cashMatrixPage .cashMatrixTable td:nth-child(3){min-width:120px}
.cashMatrixPage .cashMatrixTable th:nth-child(4),.cashMatrixPage .cashMatrixTable td:nth-child(4){min-width:105px}
.cashMatrixPage .cashMatrixTable th:nth-child(5),.cashMatrixPage .cashMatrixTable td:nth-child(5){min-width:95px}
.cashMatrixPage .cashMatrixTable th:nth-child(6),.cashMatrixPage .cashMatrixTable td:nth-child(6){min-width:135px}
.cashMatrixPage .cashMatrixTable th:nth-child(7),.cashMatrixPage .cashMatrixTable td:nth-child(7){min-width:90px}
.cashMatrixPage .cashMatrixTable th:nth-child(8),.cashMatrixPage .cashMatrixTable td:nth-child(8){min-width:105px}
.cashMatrixPage .cashMatrixTable th:nth-child(9),.cashMatrixPage .cashMatrixTable td:nth-child(9){min-width:55px;border-right:1px solid var(--portal-border)}
.cashMatrixPage .cashMatrixTable th:nth-child(10),.cashMatrixPage .cashMatrixTable td:nth-child(10){min-width:110px;border-right:2px solid var(--portal-gold)}
.cashMatrixTable .terminalSettingCell{padding:3px 5px}
.cashMatrixTable .terminalSettingCell input{box-sizing:border-box;width:100%;min-width:74px;border:1px solid #34383d;border-radius:4px;background:var(--portal-bg);color:var(--portal-gold);padding:4px 5px;text-align:right;font:inherit;outline:none}
.cashMatrixTable .terminalSettingCell input:focus{border-color:#69727d;box-shadow:0 0 0 2px rgb(105 114 125/.14)}
.cashMatrixTable td.overCapacity{background:color-mix(in srgb,var(--portal-error) 28%,var(--portal-panel))!important;color:#fff!important;box-shadow:inset 0 0 0 1px var(--portal-error)!important;font-weight:900}
.cashNativeBrand{display:grid;gap:5px;border-bottom:1px solid var(--portal-border);padding:4px 7px 20px}
.cashNativeBrand strong{color:var(--portal-text);font-size:var(--portal-type-h4);letter-spacing:-.035em}
.cashNativeBrand span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.45}
.cashForecastControls{display:grid;gap:10px;border-bottom:1px solid var(--portal-border);padding:20px 7px}
.cashForecastControls h2{margin:0 0 3px;color:var(--portal-text);font-size:var(--portal-type-h2)}
.cashForecastControls label,.cashStartDate,.cashReportPopover label,.cashDashboardControls label,.cashHistorySelect,.cashHistoryDetails label,.cashMapMetrics label,.cashOptimizer label{display:grid;gap:5px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.04em}
.cashForecastControls input,.cashForecastControls textarea,.cashStartDate input,.cashReportPopover input,.cashDashboardControls input,.cashHistorySelect select,.cashHistoryDetails input,.cashHistoryDetails textarea,.cashMapMetrics select,.cashOptimizer input{box-sizing:border-box;width:100%;border:1px solid var(--portal-border);border-radius:7px;background:var(--portal-bg);color:var(--portal-text);padding:8px;font:var(--portal-type-caption) var(--portal-font-body);color-scheme:dark;outline:none}
.cashForecastControls textarea{resize:vertical}
.cashForecastControls small{color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.4}
.cashPrimaryButton{border:1px solid var(--portal-gold)!important;border-radius:8px!important;background:var(--portal-gold)!important;color:var(--portal-text)!important;padding:10px 12px!important;font-size:var(--portal-type-caption)!important;font-weight:900!important;cursor:pointer}
.cashPrimaryButton:disabled{opacity:.45;cursor:default}
.cashNativeSidebar nav{display:grid;gap:4px;padding:16px 0}
.cashNativeSidebar nav button{border:0;border-radius:7px;background:transparent;color:var(--portal-text-muted);padding:10px 11px;text-align:left;font-size:var(--portal-type-caption);font-weight:800;cursor:pointer}
.cashNativeSidebar nav button:hover{background:var(--portal-bg);color:var(--portal-text)}
.cashNativeSidebar nav button.active{background:var(--portal-surface);color:var(--portal-gold);box-shadow:inset 2px 0 var(--portal-gold)}
.cashNativeContent{min-width:0;padding:18px}
.cashMatrixPage{display:flex;min-width:0;height:calc(100vh - 36px);flex-direction:column}
.cashOriginalToolbar{position:relative;display:grid;grid-template-columns:auto auto auto 180px minmax(280px,1fr);align-items:end;gap:9px;border:1px solid var(--portal-border);border-bottom:0;border-radius:11px 11px 0 0;background:var(--portal-bg);padding:10px}
.cashOriginalToolbar>button,.cashReportPopover>button{height:35px;border:1px solid var(--portal-border);border-radius:7px;background:var(--portal-bg);color:var(--portal-text);padding:0 12px;font-size:var(--portal-type-caption);font-weight:850;cursor:pointer}
.cashCheckbox{display:flex;align-items:center;gap:7px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:800;white-space:nowrap}
.cashCheckbox input{accent-color:var(--portal-gold)}
.cashMatrixStatus{align-self:center;overflow:hidden;color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-overflow:ellipsis;white-space:nowrap}
.cashReportPopover{position:relative}
.cashReportPopover>div{position:absolute;top:41px;left:0;z-index:50;display:grid;width:260px;gap:9px;border:1px solid var(--portal-gold);border-radius:10px;background:var(--portal-bg);padding:13px;box-shadow:0 18px 50px var(--portal-shadow)}
.cashReportPopover>div>strong{font-size:var(--portal-type-caption)}
.cashExportLinks{display:grid;gap:6px}
.cashExportLinks a{display:grid;border:1px solid var(--portal-border);border-radius:7px;background:var(--portal-bg);color:var(--portal-gold);padding:8px;font-size:var(--portal-type-caption);font-weight:800}
.cashExportLinks small{margin-top:3px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:500}
.cashMatrixFrame{min-height:0;flex:1 1;overflow:auto;border:1px solid var(--portal-border);background:var(--portal-bg)}
.cashMatrixTable{border-collapse:separate;border-spacing:0;min-width:max-content;color:var(--portal-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.cashMatrixTable th,.cashMatrixTable td{box-sizing:border-box;min-width:74px;height:28px;border-right:1px solid var(--portal-border);border-bottom:1px solid var(--portal-border);padding:4px 6px;text-align:right;white-space:nowrap}
.cashMatrixTable thead{position:sticky;top:0;z-index:20}
.cashMatrixTable thead th{background:var(--portal-bg);color:var(--portal-text-muted);text-align:center;font-weight:900}
.cashMatrixTable thead tr:first-child th{height:34px}
.cashMatrixTable thead th.future,
.cashMatrixTable thead th.actual{background:var(--portal-bg);color:var(--portal-text-muted)}
.cashMatrixTable thead th.editableHead{background:color-mix(in srgb,var(--portal-gold) 16%,var(--portal-surface));color:var(--portal-gold)}
.cashMatrixTable th:nth-child(-n+9),.cashMatrixTable td:nth-child(-n+9){position:sticky;z-index:8;background:var(--portal-bg);text-align:left}
.cashMatrixTable th:nth-child(1),.cashMatrixTable td:nth-child(1){min-width:105px}
.cashMatrixTable th:nth-child(2),.cashMatrixTable td:nth-child(2){left:105px;min-width:80px}
.cashMatrixTable th:nth-child(3),.cashMatrixTable td:nth-child(3){left:185px;min-width:75px}
.cashMatrixTable th:nth-child(4),.cashMatrixTable td:nth-child(4){left:260px;min-width:82px}
.cashMatrixTable th:nth-child(5),.cashMatrixTable td:nth-child(5){left:342px;min-width:45px}
.cashMatrixTable th:nth-child(6),.cashMatrixTable td:nth-child(6){left:387px;min-width:55px}
.cashMatrixTable th:nth-child(7),.cashMatrixTable td:nth-child(7){left:442px;min-width:210px}
.cashMatrixTable th:nth-child(8),.cashMatrixTable td:nth-child(8){left:652px;min-width:90px}
.cashMatrixTable th:nth-child(9),.cashMatrixTable td:nth-child(9){left:742px;min-width:80px;border-right:2px solid var(--portal-gold)}
.cashMatrixTable thead th:nth-child(-n+9){z-index:30}
.cashMatrixTable tbody tr:hover td{background:var(--portal-bg)}
.cashMatrixTable .bankRow th{left:0!important;z-index:14;min-width:822px!important;background:var(--portal-bg);color:var(--portal-gold);font-weight:850}
.cashMatrixTable .bankRow td{background:var(--portal-bg);color:var(--portal-text)}
.cashMatrixTable .cashSectionRow th{background:var(--portal-surface);color:var(--portal-gold);font-weight:900}
.cashMatrixTable td.editable{background:var(--portal-surface)}
.cashMatrixTable td.editable input{box-sizing:border-box;width:67px;border:1px solid #34383d;border-radius:4px;background:var(--portal-bg);color:var(--portal-gold);padding:4px;text-align:right;font:var(--portal-type-caption) var(--portal-font-body);outline:none}
.cashMatrixTable td.editable input:focus{border-color:#69727d;box-shadow:0 0 0 2px rgb(105 114 125/.14)}
.cashMatrixTable tfoot{position:sticky;bottom:0;z-index:25}
.cashMatrixTable tfoot th,.cashMatrixTable tfoot td{border-top:2px solid var(--portal-gold);background:var(--portal-bg);color:var(--portal-gold);font-weight:900}
.cashMatrixTable tfoot th{left:0!important;min-width:822px!important;text-align:left}
.cashSaveBar{display:flex;align-items:center;gap:14px;border:1px solid var(--portal-border);border-top:0;border-radius:0 0 11px 11px;background:var(--portal-bg);padding:9px}
.cashSaveBar span{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashSaveBar b{margin-left:auto;color:var(--portal-gold);font-size:var(--portal-type-caption)}

/* Only TID and Location Name remain frozen. All secondary identity fields scroll with the timeline. */
.cashMatrixTable th:nth-child(n+3):nth-child(-n+9),.cashMatrixTable td:nth-child(n+3):nth-child(-n+9){position:static;left:auto;z-index:auto}
.cashMatrixTable th:nth-child(1),.cashMatrixTable td:nth-child(1){left:0;min-width:90px}
.cashMatrixTable th:nth-child(2),.cashMatrixTable td:nth-child(2){left:90px;min-width:230px;border-right:2px solid var(--portal-gold)}
.cashMatrixTable th:nth-child(3),.cashMatrixTable td:nth-child(3){min-width:105px}
.cashMatrixTable th:nth-child(4),.cashMatrixTable td:nth-child(4){min-width:80px}
.cashMatrixTable th:nth-child(5),.cashMatrixTable td:nth-child(5){min-width:75px}
.cashMatrixTable th:nth-child(6),.cashMatrixTable td:nth-child(6){min-width:82px}
.cashMatrixTable th:nth-child(7),.cashMatrixTable td:nth-child(7){min-width:45px}
.cashMatrixTable th:nth-child(8),.cashMatrixTable td:nth-child(8){min-width:55px}
.cashMatrixTable th:nth-child(9),.cashMatrixTable td:nth-child(9){min-width:90px;border-right:1px solid var(--portal-border)}
.cashMatrixTable thead th:nth-child(n+3):nth-child(-n+9){z-index:20}
.cashMatrixTable .bankRow th,.cashMatrixTable tfoot th{left:0!important;min-width:320px!important}
.cashMatrixPage .cashMatrixTable tfoot th:first-child{position:sticky!important;left:0!important;z-index:40!important;box-sizing:border-box!important;width:320px!important;min-width:320px!important;max-width:320px!important;overflow:hidden!important;clip-path:polygon(0 0,320px 0,320px 100%,0 100%);border-right:0!important;background:var(--portal-bg)!important}
.cashMatrixPage .cashMatrixTable tfoot th:first-child:after{position:absolute;top:0;bottom:0;left:318px;width:2px;background:var(--portal-gold);content:""}
.cashMatrixTable tfoot .cashOnHandRow th,.cashMatrixTable tfoot .cashOnHandRow td{border-top:1px solid var(--portal-border);color:var(--portal-blue)!important}
.cashMatrixTable tfoot .cashOnHandRow th{font-weight:900}
.cashMatrixTable .bankRow td,.cashMatrixTable .cashSectionRow th:nth-child(n+2),.cashMatrixTable tfoot td{position:static!important;left:auto!important;z-index:auto!important;border-right:1px solid var(--portal-border)}
.cashSidebarControlsHost{border-top:1px solid var(--portal-border);padding:15px 7px 24px}
.cashSidebarTableControls{display:grid;gap:9px}
.cashSidebarTableControls>strong{color:#d9dde3;font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.12em}
.cashSidebarTableControls>button,.cashSidebarTableControls .cashReportPopover>button{box-sizing:border-box;width:100%;min-height:34px;border:1px solid var(--portal-border);border-radius:7px;background:var(--portal-panel);color:#e3e6ea;padding:7px 10px;font-size:var(--portal-type-caption);font-weight:850;text-align:left;cursor:pointer}
.cashSidebarTableControls>button:hover,.cashSidebarTableControls .cashReportPopover>button:hover{border-color:var(--portal-gold);color:var(--portal-gold)}
.cashSidebarTableControls>button:disabled{cursor:not-allowed;opacity:.45}
.cashSidebarTableControls>.cashPrimaryButton{border-color:var(--portal-gold);background:var(--portal-gold);color:var(--portal-charcoal);text-align:center}
.cashSidebarTableControls>small{color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.45}
.cashSidebarTableControls .cashCheckbox{min-height:30px}
.cashSidebarTableControls .cashReportPopover>div{top:0;left:calc(100% + 12px)}
.cashSidebarTableStatus{display:grid;grid-template-columns:auto 1fr;gap:5px 8px;border-top:1px solid var(--portal-border);padding-top:10px;font-size:var(--portal-type-caption)}
.cashSidebarTableStatus span{color:var(--portal-text-muted)}
.cashSidebarTableStatus b{overflow:hidden;color:#d9dde3;text-align:right;text-overflow:ellipsis}
.cashSidebarTableStatus em{grid-column:1/-1;color:var(--portal-gold);font-style:normal;font-weight:800}
.cashMatrixTable .bankRow th{color:#d9dde3}
.cashMatrixTable .bankSummaryRow th{font-weight:900}
.cashMatrixTable .bankAdjustmentRow th,.cashMatrixTable .bankAdjustmentRow td{height:27px;padding-top:3px;padding-bottom:3px;font-size:var(--portal-type-small)}
.cashMatrixTable .bankAdjustmentRow th{color:#cbd0d7;font-weight:750}
.cashMatrixTable .bankAdjustmentRow td.editable input{height:21px;padding:2px 4px;font-size:inherit}
.cashMatrixMain:fullscreen{box-sizing:border-box;width:100vw;height:100vh;background:var(--portal-charcoal);padding:10px}
.cashMatrixMain:fullscreen .cashMatrixFrame{height:100%;border-radius:0}
.cashExitFullscreen{position:absolute;top:12px;right:20px;z-index:60;border:1px solid var(--portal-gold);border-radius:7px;background:var(--portal-charcoal);color:var(--portal-gold);padding:8px 12px;font-size:var(--portal-type-caption);font-weight:850;cursor:pointer}
.cashMatrixMain:fullscreen{position:relative}
.cashMatrixTable{table-layout:fixed;min-width:0!important}
.cashMatrixTable col.cashDateColumn{width:82px}
.cashMatrixTable .dayBandEven{background:var(--portal-surface)!important}
.cashMatrixTable .dayBandOdd{background:var(--portal-bg)!important}
.cashMatrixTable thead .dayBandEven,
.cashMatrixTable thead .dayBandOdd,
.cashMatrixTable .cashSectionRow .dayBandEven,.cashMatrixTable tfoot .dayBandEven,
.cashMatrixTable .cashSectionRow .dayBandOdd,.cashMatrixTable tfoot .dayBandOdd{background:var(--portal-surface)!important}
.cashMatrixTable .currentDay{background:var(--portal-surface)!important;color:var(--portal-gold)!important;box-shadow:inset 1px 0 var(--portal-gold),inset -1px 0 var(--portal-gold)}
.cashMatrixTable thead .currentDay{background:color-mix(in srgb,var(--portal-gold) 16%,var(--portal-surface))!important;color:var(--portal-gold)!important}
.cashMatrixTable th.cashSortableTotal{padding:0}
.cashMatrixTable th.cashSortableTotal button{display:flex;width:100%;height:100%;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;color:inherit;padding:6px 8px;font:inherit;font-weight:900;cursor:pointer}
.cashMatrixTable th.cashSortableTotal button:hover{background:rgb(var(--portal-elevated-rgb) / 0.063);color:var(--portal-text)}
.cashMatrixTable th.cashSortableTotal button:focus-visible{outline:2px solid var(--portal-gold);outline-offset:-2px}
.cashMatrixTable th.cashSortableTotal span{min-width:9px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashMatrixTable th.cashSortableTotal.sorted button,.cashMatrixTable th.cashSortableTotal.sorted span{color:var(--portal-gold)}
.cashNativeContent:has(.cashMatrixPage){padding:0}
.cashMatrixPage{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,1fr);height:100vh}
.cashMatrixMain{display:flex;min-width:0;min-height:0;flex-direction:column;padding:18px}
.cashMatrixTable thead th.riskSelectedDay{color:var(--portal-text)!important;box-shadow:inset 0 0 0 2px var(--portal-error)!important}
.cashRiskRail{background:var(--portal-surface);padding:24px 20px}
.cashRiskRail>header{border-bottom:1px solid var(--portal-border);padding-bottom:18px}
.cashRiskRail>header>span,.cashRiskSelection>span,.cashRiskRail>footer>span,.cashRiskSummary span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.12em}
.cashRiskRail h3{margin:7px 0 8px;font-size:var(--portal-type-h3);letter-spacing:-.035em}
.cashRiskRail header p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small);line-height:1.55}
.cashRiskSummary{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0}
.cashRiskSummary article{border:1px solid var(--portal-border);border-radius:10px;background:var(--portal-bg);padding:12px}
.cashRiskSummary strong{display:block;margin:7px 0 3px;color:var(--portal-text);font-size:var(--portal-type-h2)}
.cashRiskSummary small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashRiskChart{display:grid;height:43vh;min-height:260px;grid-template-columns:30px minmax(0,1fr);border:1px solid var(--portal-border);border-radius:12px 12px 0 0;background:repeating-linear-gradient(to bottom,var(--portal-surface) 0,var(--portal-surface) 1px,transparent 1px,transparent 25%);padding:15px 12px 7px 8px}
.cashRiskYAxis{display:flex;flex-direction:column;justify-content:space-between;padding-right:7px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-align:right}
.cashRiskBars{display:flex;min-width:0;align-items:flex-end;gap:2px;border-bottom:1px solid var(--portal-border)}
.cashRiskBars button{position:relative;min-width:2px;flex:1 1;border:0;border-radius:2px 2px 0 0;background:linear-gradient(180deg,var(--portal-error),var(--portal-error));padding:0;cursor:pointer;box-shadow:0 0 8px rgb(var(--portal-error-rgb) / 0.188);transition:filter .15s,transform .15s}
.cashRiskBars button:hover{z-index:2;filter:brightness(1.3);transform:scaleX(1.7);transform-origin:bottom}
.cashRiskBars button.selected{background:linear-gradient(180deg,var(--portal-error),var(--portal-gold));box-shadow:0 0 12px var(--portal-error)}
.cashRiskXAxis{display:flex;justify-content:space-between;border:1px solid var(--portal-border);border-top:0;border-radius:0 0 10px 10px;padding:8px 12px 9px 37px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashRiskSelection{margin-top:16px;border:1px solid var(--portal-gold);border-radius:11px;background:var(--portal-surface);padding:14px}
.cashRiskSelection strong{display:block;margin:7px 0;color:var(--portal-gold);font-size:var(--portal-type-body)}
.cashRiskSelection p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.5}
.cashRiskSelection button{margin-top:11px;border:1px solid var(--portal-gold);border-radius:7px;background:var(--portal-bg);color:var(--portal-gold);padding:8px 10px;font-size:var(--portal-type-caption);font-weight:800;cursor:pointer}
.cashRiskRail>footer{display:grid;gap:6px;margin-top:16px;border-top:1px solid var(--portal-border);padding-top:15px}
.cashRiskRail>footer strong{font-size:var(--portal-type-small)}
.cashRiskRail>footer small{color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.45}
.cashOriginalPage{max-width:1680px;margin:auto;padding:8px 6px 55px}
.cashOriginalPage>h1{margin:6px 0;font-size:var(--portal-type-h1)}
.cashOriginalPage>p{color:var(--portal-text-muted);font-size:var(--portal-type-body)}
.cashPageHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:17px;border-bottom:1px solid var(--portal-border);padding:8px 3px 17px}
.cashPageHeader span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.cashPageHeader h1{margin:6px 0 5px;font-size:var(--portal-type-h1);letter-spacing:-.04em}
.cashPageHeader p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.cashPageHeader>b{border:1px solid var(--portal-gold);border-radius:999px;background:var(--portal-bg);color:var(--portal-gold);padding:8px 11px;font-size:var(--portal-type-caption);text-transform:uppercase}
.cashDashboardControls{display:grid;grid-template-columns:180px 180px 1fr;align-items:end;gap:10px;margin-bottom:14px;border:1px solid var(--portal-border);border-radius:10px;background:var(--portal-bg);padding:12px}
.cashDashboardControls p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.5}
.cashOriginalPage>.cashPanel{margin:14px 0}
.cashOriginalPage>.cashPanel header span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.14em}
.cashMapMetrics{display:grid;grid-template-columns:180px 180px minmax(220px,1fr);gap:10px;margin-bottom:12px}
.cashMapMetrics article,.cashMapMetrics label{border:1px solid var(--portal-border);border-radius:10px;background:var(--portal-bg);padding:13px}
.cashMapMetrics article span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:850;text-transform:uppercase}
.cashMapMetrics article strong{display:block;margin-top:5px;font-size:var(--portal-type-h3)}
.cashMapNative{position:relative;height:550px;overflow:hidden;border:1px solid var(--portal-border);border-radius:13px;background:radial-gradient(circle at center,var(--portal-bg),var(--portal-bg) 65%)}
.cashMapNative>button{position:absolute;width:11px;height:11px;transform:translate(-50%,-50%);border:2px solid var(--portal-border);border-radius:50%;background:var(--portal-gold);box-shadow:0 0 13px var(--portal-gold);cursor:pointer}
.cashMapNative>button.selected{width:16px;height:16px;background:var(--portal-elevated)}
.cashMapNative>button span{position:absolute;bottom:16px;left:50%;display:none;width:200px;transform:translateX(-50%);border:1px solid var(--portal-gold);border-radius:8px;background:var(--portal-bg);padding:9px;color:var(--portal-text);text-align:left}
.cashMapNative>button:hover span,.cashMapNative>button.selected span{display:grid;gap:3px}
.cashMapNative>button small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashRouteStop{margin:10px 0;border:1px solid var(--portal-gold);border-radius:10px;background:var(--portal-bg);padding:14px}
.cashRouteStop span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;text-transform:uppercase}
.cashRouteStop h2{margin:6px 0}
.cashRouteStop p{color:var(--portal-text-muted)}
.cashRouteStop strong{color:var(--portal-gold)}
.cashOptimizer, .cashOriginalPage>details{margin-top:10px;border:1px solid var(--portal-border);border-radius:10px;background:var(--portal-bg);padding:12px}
.cashOptimizer summary,.cashOriginalPage>details summary{cursor:pointer;color:var(--portal-text);font-size:var(--portal-type-caption);font-weight:850}
.cashOptimizer>div{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:9px;margin-top:12px}
.cashOptimizer button,.cashHistoryDetails button{border:1px solid var(--portal-gold);border-radius:7px;background:var(--portal-bg);color:var(--portal-gold);padding:9px;font-size:var(--portal-type-caption);font-weight:850}
.cashSimpleTable{margin-top:10px;overflow:auto}
.cashSimpleTable table{width:100%;border-collapse:collapse}
.cashSimpleTable th,.cashSimpleTable td{border-bottom:1px solid var(--portal-border);padding:9px;color:var(--portal-text-muted);text-align:left;font-size:var(--portal-type-small)}
.cashSimpleTable th{color:var(--portal-gold);text-transform:uppercase}
.cashHistorySelect{max-width:540px;margin:18px 0}
.cashHistoryDetails{display:grid;grid-template-columns:1.15fr .85fr;gap:12px;margin:14px 0}
.cashHistoryDetails article{display:grid;gap:10px;border:1px solid var(--portal-border);border-radius:12px;background:var(--portal-bg);padding:16px}
.cashHistoryDetails h2{margin:0}
.cashHistoryDetails p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.cashHistoryDetails button:disabled{opacity:.4}
.cashOriginalPage>h2{margin:22px 0 8px;font-size:var(--portal-type-h2)}
.cashOriginalPage>.cashExportLinks{grid-template-columns:repeat(4,1fr)}
.cashManualBand{margin:12px 0;border:1px solid var(--portal-border);border-top:3px solid var(--portal-border);border-radius:10px;background:var(--portal-bg);padding:17px}
.cashManualBand.green{border-top-color:var(--portal-success);background:var(--portal-bg)}
.cashManualBand.orange{border-top-color:var(--portal-warning);background:var(--portal-bg)}
.cashManualBand.gray{border-top-color:var(--portal-border);background:var(--portal-bg)}
.cashManualBand h2{margin:0 0 8px;font-size:var(--portal-type-h2)}
.cashManualBand div{color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.65}
.cashManualBand p{margin:0}
.cashManualBand ul,.cashManualBand ol{margin:0;padding-left:20px}
.cashManualColumns{display:grid;grid-template-columns:1.08fr .92fr;gap:12px}
@media(max-width:1050px){
  .cashNativeApp{grid-template-columns:1fr}
  .cashNativeSidebar{position:relative;height:auto}
  .cashNativeSidebar nav{grid-template-columns:repeat(5,auto);overflow:auto}
  .cashMatrixPage{height:calc(100vh - 330px);min-height:650px}
  .cashOriginalToolbar{grid-template-columns:auto auto auto 170px}
  .cashMatrixStatus{grid-column:1/-1}
  .cashOptimizer>div{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .cashNativeContent{padding:8px}
  .cashOriginalToolbar{grid-template-columns:1fr 1fr}
  .cashMatrixStatus{white-space:normal}
  .cashKpis{grid-template-columns:1fr 1fr}
  .cashMapMetrics,.cashDashboardControls,.cashHistoryDetails,.cashManualColumns{grid-template-columns:1fr}
  .cashNativeSidebar nav{grid-template-columns:1fr 1fr}
  .cashPageHeader{align-items:flex-start;flex-direction:column}
  .cashOriginalPage>.cashExportLinks{grid-template-columns:1fr}
}

/* Interactive cash-loading street map */
.cashLeafletHost{background:var(--portal-panel)}
.cashLeafletCanvas{position:absolute;inset:0;z-index:1}
.cashLeafletHost .leaflet-container{background:var(--portal-panel);font-family:var(--portal-font-body)}
.cashLeafletHost .leaflet-tile-pane{filter:saturate(.72) brightness(.78) contrast(1.08)}
.cashLeafletHost .leaflet-control-zoom a{border-color:var(--portal-border);background:var(--portal-bg);color:var(--portal-text)}
.cashLeafletHost .leaflet-control-attribution{background:rgb(var(--portal-bg-rgb) / .84);color:var(--portal-text-muted)}
.cashLeafletHost .leaflet-control-attribution a{color:var(--portal-blue)}
.cashLeafletMarkerShell{border:0!important;background:transparent!important}
.cashLeafletMarker{display:block;width:100%;height:100%;box-sizing:border-box;border:2px solid var(--portal-text);border-radius:50%;background:var(--portal-gold);box-shadow:0 0 0 4px rgb(var(--portal-gold-rgb) / .2),0 2px 8px #000}
.cashLeafletMarker.selected{border-color:var(--portal-text);background:var(--portal-blue);box-shadow:0 0 0 6px rgb(var(--portal-blue-rgb) / .25),0 2px 12px #000}
.cashLeafletHost .leaflet-tooltip{display:grid;gap:3px;border:1px solid var(--portal-border);border-radius:8px;background:var(--portal-bg);color:var(--portal-text);box-shadow:0 12px 30px var(--portal-shadow);padding:9px}
.cashLeafletHost .leaflet-tooltip small{color:var(--portal-text-muted)}
.cashMapState{position:absolute;inset:0;z-index:3;display:grid;place-items:center;background:var(--portal-panel);color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashMapState.error{color:var(--portal-error)}

/* Portal-wide charcoal surfaces, readable type, and neutral scrollbars */
.portalRoot{--portal-panel:var(--portal-surface);--portal-panel-raised:var(--portal-surface);--portal-border:var(--portal-border);background:var(--portal-charcoal)}
.portalShell,.portalWorkspace,.portalContent,.portalWorkspace:has(.knowledgeDashboard),.knowledgeDashboard,.cashPortal,.cashNativeApp,.cashNativeContent{background:var(--portal-charcoal);color:var(--portal-text)}
.portalSidebar,.cashNativeSidebar{background:var(--portal-charcoal);border-color:var(--portal-border);box-shadow:none}
.knowledgeDashboard .jarvisSystem,.jarvisSystem,.agentReply,.jarvisAssistantMessage,.paperworkAssistant,.closeoutAssistant,.calendarShell,.cashPanel,.cashWorkspace,.cashMatrixFrame,.cashOriginalToolbar,.cashSaveBar,.cashDashboardControls,.cashMapMetrics article,.cashMapMetrics label,.cashOptimizer,.cashOriginalPage>details,.cashHistoryDetails article,.cashManualBand,.cashRouteGrid>article{background:var(--portal-panel);border-color:var(--portal-border);box-shadow:none}
.portalCard,.portalAppGrid>a,.emptyPortal,.integrationCard,.usersAdminPage .portalCard{background:var(--portal-panel);border-color:var(--portal-border);color:var(--portal-text);box-shadow:none}
.portalRoot *{scrollbar-color:var(--portal-text-muted) var(--portal-charcoal);scrollbar-width:auto}
.portalRoot *::-webkit-scrollbar{width:12px;height:12px}
.portalRoot *::-webkit-scrollbar-track,.portalRoot *::-webkit-scrollbar-corner{background:var(--portal-charcoal)}
.portalRoot *::-webkit-scrollbar-thumb{border:3px solid var(--portal-charcoal);border-radius:999px;background:var(--portal-elevated)}
.portalRoot *::-webkit-scrollbar-thumb:hover{background:var(--portal-elevated)}

/* Operational copy should never rely on micro-type. */
.portalSidebar nav a,.portalIdentity small,.portalIdentity button,.portalForm label,.portalForm input,.portalForm select,.portalButton,.formHint,.authHelp,.portalSectionTitle span,.portalAppGrid p,.portalAppGrid b,.userList strong,.userList span,.userList small,.userList b,.userList button{font-size:var(--portal-type-body)}
.calendarPage :where(p,span,small,label,button,a),.integrationPage :where(p,span,small,label,button,a){font-size:var(--portal-type-small)}
.cashNativeApp{font-size:var(--portal-type-small)}
.cashNativeBrand span,.cashForecastControls label,.cashStartDate,.cashReportPopover label,.cashDashboardControls label,.cashHistorySelect,.cashHistoryDetails label,.cashMapMetrics label,.cashOptimizer label,.cashForecastControls small,.cashNativeSidebar nav button,.cashCheckbox,.cashMatrixStatus,.cashOriginalToolbar>button,.cashReportPopover>button,.cashExportLinks a,.cashExportLinks small,.cashSaveBar span,.cashSaveBar b,.cashPageHeader span,.cashPageHeader p,.cashPageHeader>b,.cashDashboardControls p,.cashMapMetrics article span,.cashOptimizer button,.cashHistoryDetails button,.cashSimpleTable th,.cashSimpleTable td,.cashHistoryDetails p,
.cashMatrixTable{font-size:var(--portal-type-small)}
.cashMatrixTable th,.cashMatrixTable td{height:34px;padding:6px 8px}
.cashMatrixTable td.editable input{font-size:var(--portal-type-small)}
.cashMatrixFrame,.cashOriginalToolbar,.cashSaveBar,.cashMatrixTable thead th,.cashMatrixTable th:nth-child(-n+9),.cashMatrixTable td:nth-child(-n+9),.cashMatrixTable .bankRow th,.cashMatrixTable .bankRow td{background-color:var(--portal-panel)}

/* Cash Management right rail: three synchronized, card-free timeline charts. */
.cashRiskRail{display:flex;box-sizing:border-box;height:100vh;overflow:auto;flex-direction:column;gap:18px;border-left:1px solid var(--portal-border);background:var(--portal-charcoal);padding:18px 18px 26px;color:var(--portal-text)}
.cashTimelineChart{display:flex;min-height:185px;flex:1 1;flex-direction:column;border-bottom:1px solid var(--portal-border);padding-bottom:15px}
.cashTimelineChart:last-child{border-bottom:0}
.cashTimelineChart>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
.cashTimelineChart h3{margin:0;color:var(--portal-text);font-size:var(--portal-type-h3);letter-spacing:-.025em}
.cashTimelineChart header p{margin:3px 0 0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.cashTimelineChart header>strong{color:var(--portal-text);font-size:var(--portal-type-body);text-align:right;white-space:nowrap}
.cashTimelineChart header>strong small{display:block;margin-top:2px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.cashTimelinePlot{display:grid;min-height:112px;flex:1 1;grid-template-columns:56px minmax(0,1fr);background:repeating-linear-gradient(to bottom,var(--portal-surface) 0,var(--portal-surface) 1px,transparent 1px,transparent 25%)}
.cashTimelineAxis{display:flex;flex-direction:column;justify-content:space-between;padding:0 7px 2px 0;color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-align:right;white-space:nowrap}
.cashTimelineBars{position:relative;display:flex;min-width:0;align-items:flex-end;gap:2px;border-bottom:1px solid var(--portal-border)}
.cashTimelineBars button{position:relative;min-width:2px;flex:1 1;border:0;border-radius:2px 2px 0 0;padding:0;cursor:pointer;transition:filter .15s,transform .15s}
.cashTimelineBars button:hover{z-index:2;filter:brightness(1.35);transform:scaleX(1.7);transform-origin:bottom}
.cashTimelineBars button.selected{outline:1px solid var(--portal-border);outline-offset:1px;filter:brightness(1.4)}
.cashTimelineChart.danger .cashTimelineBars button{background:linear-gradient(180deg,var(--portal-error),var(--portal-error));box-shadow:0 0 6px rgb(var(--portal-error-rgb) / 0.2)}
.cashTimelineChart.load .cashTimelineBars button{background:linear-gradient(180deg,var(--portal-gold),var(--portal-gold));box-shadow:0 0 6px rgb(var(--portal-gold-rgb) / 0.149)}
.cashTimelineChart.balance .cashTimelineBars{align-items:initial;border-bottom:0;background:linear-gradient(to bottom,transparent calc(50% - .5px),var(--portal-elevated) calc(50% - .5px),var(--portal-elevated) calc(50% + .5px),transparent calc(50% + .5px))}
.cashTimelineChart.balance.compact{min-height:105px;flex:.5 1}
.cashTimelineChart.balance.compact .cashTimelinePlot{min-height:56px}
.cashTimelineChart.balance.compact .cashTimelineBars{background:linear-gradient(to bottom,transparent calc(75% - .5px),var(--portal-elevated) calc(75% - .5px),var(--portal-elevated) calc(75% + .5px),transparent calc(75% + .5px))}
.cashTimelineChart.balance .cashTimelineBars button{position:absolute;min-width:1px;flex:none;background:linear-gradient(180deg,var(--portal-success),color-mix(in srgb,var(--portal-success) 16%,var(--portal-surface)));box-shadow:0 0 6px rgb(var(--portal-success-rgb) / 0.149)}
.cashTimelineChart.balance .cashTimelineBars button.negative{border-radius:0 0 2px 2px;background:linear-gradient(180deg,var(--portal-error),var(--portal-error))}
.cashTimelineXAxis{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));padding:7px 2px 0 56px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashTimelineXAxis span{text-align:center}
.cashTimelineXAxis span:first-child{text-align:left}
.cashTimelineXAxis span:last-child{text-align:right}
.cashOutageGantt{display:flex;min-height:240px;flex:1 0 auto;flex-direction:column;border-top:1px solid var(--portal-border);padding-top:16px}
.cashOutageGantt>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
.cashOutageGantt h2{margin:0;color:var(--portal-text);font-size:var(--portal-type-h2)}
.cashOutageGantt header p{margin:3px 0 0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.cashOutageGantt header>strong{color:var(--portal-text);text-align:right}
.cashOutageGantt header small{display:block;color:var(--portal-text-muted);font-size:var(--portal-type-caption);letter-spacing:.1em;text-transform:uppercase}
.cashOutageGanttBody{max-height:300px;overflow:auto;border-top:1px solid var(--portal-border);border-bottom:1px solid var(--portal-border)}
.cashOutageGanttRow{display:grid;grid-template-columns:94px minmax(0,1fr);min-height:22px;border-bottom:1px solid rgb(var(--portal-border-rgb)/.55)}
.cashOutageGanttRow:last-child{border-bottom:0}
.cashOutageGanttRow label{overflow:hidden;padding:5px 7px 4px 0;color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-overflow:ellipsis;white-space:nowrap}
.cashOutageGanttRow>div{display:grid;align-items:stretch;background:repeating-linear-gradient(to right,transparent 0,transparent calc(12.5% - 1px),rgb(var(--portal-border-rgb)/.35) calc(12.5% - 1px),rgb(var(--portal-border-rgb)/.35) 12.5%)}
.cashOutageGanttRow span{min-width:0}
.cashOutageGanttRow span.out{background:var(--portal-error);box-shadow:0 0 5px rgb(var(--portal-error-rgb)/.28)}
.cashOutageGanttEmpty{margin:0;padding:24px 8px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashOutageGanttAxis{display:grid;grid-template-columns:94px repeat(9,minmax(0,1fr));padding-top:6px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashOutageGanttAxis:before{content:""}
.cashOutageGanttAxis span{text-align:center}
.cashOutageGanttAxis span:first-of-type{text-align:left}
.cashOutageGanttAxis span:last-child{text-align:right}
.cashMatrixTable thead th.future{background:var(--portal-panel-raised)}
.cashMatrixTable thead th.actual{background:var(--portal-panel)}

/* Replace the remaining black application canvases without flattening gold/status accents. */
.authPage,.authPanel,.calendarPage,.calendarSurface,.calendarMonth,.calendarAgenda,.calendarGrid>button,.calendarWeekdays,.paperworkApp,.paperworkLayout,.paperworkDrafts,.paperworkConversation,.paperworkReview,.closeoutApp,.closeoutLayout,.closeoutDrafts,.closeoutEvidence,.closeoutConversation,.reportAutomationPage,.integrationPage{background:var(--portal-charcoal);color:var(--portal-text)}
.authPanel>div>p,.portalTop p,.authHelp,.formHint{color:var(--portal-text-muted)}
.portalForm label{color:var(--portal-text)}
.portalForm input,.portalForm select,.inviteResult input{border-color:var(--portal-border);background:var(--portal-panel-raised)}
.paperworkMessages article,.closeoutMessages .agent,.closeoutMessages .user,.paperworkDrafts>button,.closeoutDrafts>button,.calendarEventChip,.calendarAgendaList>button:hover,.calendarAgendaList>button.active{background:var(--portal-panel-raised);border-color:var(--portal-border)}
.graphCanvas3d,.knowledgeMapLayout,.nodeInspector,.jarvisAgentPanel,.jarvisPrompt textarea,.jarvisThread,.jarvisUserMessage,.jarvisAssistantMessage{background-color:var(--portal-panel)}
.calendarGrid>button:hover,.calendarGrid>button.selected{background:var(--portal-panel-raised)}
.calendarGrid>button.outside{background:var(--portal-charcoal);color:var(--portal-text-muted)}
.cashReportPopover>div,.cashExportLinks a,.cashForecastControls input,.cashForecastControls textarea,.cashStartDate input,.cashReportPopover input,.cashDashboardControls input,.cashHistorySelect select,.cashHistoryDetails input,.cashHistoryDetails textarea,.cashMapMetrics select,.cashOptimizer input{background:var(--portal-panel-raised)}
.portalRoot p{font-size:var(--portal-type-body)}
.portalRoot :where(small,label,input,textarea,select,button,td,th){font-size:var(--portal-type-body)}

/* Date subheaders belong to the scrolling timeline, never the frozen identity columns. */
.cashMatrixTable thead tr:nth-child(2)>th{position:static!important;left:auto!important;z-index:20!important}

/* Keep portal surfaces consistent without painting over map tiles and transparent overlays. */
.portalRoot{--portal-charcoal:var(--portal-bg);--portal-panel:var(--portal-bg);--portal-panel-raised:var(--portal-bg)}
.portalRoot :where(input,textarea,select){background-color:var(--portal-charcoal)!important;background-image:none!important}
.portalRoot :where(.portalAppGrid>a,.integrationCard,.calendarGrid>button,.calendarAgendaList>button,.paperworkDrafts>button,.closeoutDrafts>button,.paperworkMessages article,.closeoutMessages article,.cashExportLinks a){background-color:transparent!important;background-image:none!important}
.portalRoot .paperworkProgressRing{background:conic-gradient(var(--portal-gold) var(--progress),var(--portal-surface) 0)!important}
.portalRoot .paperworkProgressRing:before{background:var(--portal-charcoal)!important}
.cashMatrixTable .cashIdentitySpacer{position:static!important;left:auto!important;z-index:auto!important;background:var(--portal-charcoal)!important;border-right:1px solid var(--portal-border)}
.cashMatrixTable td.editable input[type="number"]{appearance:textfield}
.cashMatrixTable td.editable input[type="number"]::-webkit-inner-spin-button,.cashMatrixTable td.editable input[type="number"]::-webkit-outer-spin-button{margin:0;appearance:none}
.cashMatrixTable .manualLockedCell input{border-color:var(--portal-blue)!important;box-shadow:inset 0 0 0 1px var(--portal-blue),0 0 7px rgb(var(--portal-blue-rgb)/.28)!important;color:var(--portal-blue)!important}
.cashForecastReview{position:fixed!important;z-index:180!important;top:78px;right:28px;display:flex!important;box-sizing:border-box;width:min(480px,calc(100vw - 40px));max-height:calc(100vh - 110px);flex-direction:column;border:1px solid var(--portal-gold)!important;border-radius:12px;background:var(--portal-bg)!important;box-shadow:0 24px 70px #000c;padding:16px!important}
.cashForecastReview header,.cashCellInspection header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--portal-border);padding-bottom:11px}
.cashForecastReview h2{margin:3px 0 0;font-size:var(--portal-type-h2)}
.cashForecastReview header small{color:var(--portal-gold);font-weight:900;letter-spacing:.1em}
.cashForecastReview header button,.cashCellInspection header button{border:0;background:transparent!important;color:var(--portal-text-muted);font-size:var(--portal-type-h2);cursor:pointer}
.cashForecastReviewFacts{display:grid!important;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--portal-border)}
.cashForecastReviewFacts span{padding:13px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashForecastReviewFacts strong{display:block;margin-top:4px;color:var(--portal-text);font-size:var(--portal-type-h2)}
.cashForecastReviewList{min-height:0;overflow:auto}
.cashForecastReviewList article{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--portal-border);padding:10px 4px}
.cashForecastReviewList article div{min-width:0}
.cashForecastReviewList b,.cashForecastReviewList small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cashForecastReviewList small{margin-top:3px;color:var(--portal-text-muted)}
.cashForecastReviewList article>strong{color:var(--portal-gold);white-space:nowrap}
.cashForecastReview footer,.cashCellInspection footer{padding-top:10px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashCellInspection{position:fixed!important;z-index:190!important;box-sizing:border-box;width:410px;max-width:calc(100vw - 24px);max-height:430px;overflow:auto;border:1px solid var(--portal-blue)!important;border-radius:10px;background:var(--portal-bg)!important;box-shadow:0 20px 60px #000d;padding:13px!important}
.cashCellInspection header b,.cashCellInspection header small{display:block}
.cashCellInspection header small{margin-top:3px;color:var(--portal-text-muted)}
.cashCellInspectionGrid{display:grid!important;grid-template-columns:repeat(3,1fr);margin-top:10px}
.cashCellInspectionGrid>b{border-bottom:1px solid var(--portal-border);padding:6px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-align:right}
.cashCellInspectionWeek{display:contents!important}
.cashCellInspectionWeek>span{border-bottom:1px solid rgb(var(--portal-border-rgb)/.65);padding:7px 6px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-align:right}
.cashCellInspectionWeek strong{display:block;margin-top:2px;color:var(--portal-text);font-size:var(--portal-type-caption)}
.cashResetManual{width:100%;margin-top:11px;border:1px solid var(--portal-blue)!important;border-radius:7px;background:transparent!important;color:var(--portal-blue)!important;padding:9px;font-weight:850;cursor:pointer}
.cashRuleDebugger{margin-top:12px;border-top:1px solid var(--portal-error)!important;padding-top:10px!important}
.cashRuleDebugger h3{margin:0 0 7px;color:var(--portal-error);font-size:var(--portal-type-h3);letter-spacing:.08em;text-transform:uppercase}
.cashRuleDebugger article{display:grid;grid-template-columns:70px 1fr;gap:8px;border-top:1px solid rgb(var(--portal-error-rgb)/.3);padding:7px 0}
.cashRuleDebugger article>b{color:var(--portal-error);font-size:var(--portal-type-caption)}
.cashRuleDebugger ul{display:grid;gap:3px;margin:0;padding-left:14px}
.cashRuleDebugger li{color:var(--portal-text);font-size:var(--portal-type-body);line-height:1.35}
.cashMatrixTable .ignoredCashRow>td{background:#262a2f!important;color:#777f88!important}
.cashMatrixTable .ignoredCashRow>td:first-child:after{margin-left:8px;color:#9da4ac;content:"IGNORED";font-size:var(--portal-type-small);font-weight:900;letter-spacing:.08em}
.cashMatrixTable .ignoredCashRow .currentDay{box-shadow:inset 1px 0 #69717a,inset -1px 0 #69717a!important}
.cashMatrixTable .ignoredCashRow>td:first-child:before{background:#22262a!important;color:#777f88!important}
.cashMatrixTable td.negativeCashPosition{background:color-mix(in srgb,var(--portal-error) 34%,var(--portal-panel))!important;color:#fff!important;box-shadow:inset 0 1px rgb(var(--portal-error-rgb)/.45),inset 0 -1px rgb(var(--portal-error-rgb)/.45)}
.cashMatrixTable td.negativeCashPosition input{border-color:var(--portal-error)!important;color:#fff!important}
.cashMatrixTable .ignoredCashRow>td.negativeCashPosition{background:color-mix(in srgb,var(--portal-error) 22%,#262a2f)!important;color:#d9dde3!important}
.cashMatrixPage .cashMatrixTable th:nth-child(5),.cashMatrixPage .cashMatrixTable td:nth-child(5){min-width:135px}
.cashMatrixPage .cashMatrixTable th:nth-child(6),.cashMatrixPage .cashMatrixTable td:nth-child(6){min-width:90px}
.cashMatrixPage .cashMatrixTable th:nth-child(7),.cashMatrixPage .cashMatrixTable td:nth-child(7){min-width:105px}
.cashMatrixPage .cashMatrixTable th:nth-child(8),.cashMatrixPage .cashMatrixTable td:nth-child(8){min-width:55px;border-right:1px solid var(--portal-border)}
.cashMatrixPage .cashMatrixTable th:nth-child(9),.cashMatrixPage .cashMatrixTable td:nth-child(9){min-width:110px;border-right:2px solid var(--portal-gold)}
.cashMatrixTable tbody{counter-reset:cash-machine-row}
.cashMatrixTable .cashMachineRow{counter-increment:cash-machine-row}
.cashMatrixTable .cashMachineRow>td:first-child{position:sticky!important;overflow:visible}
.cashMatrixTable .cashMachineRow>td:first-child:before{position:absolute;right:100%;top:-1px;bottom:-1px;display:flex;width:38px;align-items:center;justify-content:center;border-right:1px solid var(--portal-border);border-bottom:1px solid var(--portal-border);background:var(--portal-charcoal);color:var(--portal-text-muted);content:counter(cash-machine-row);font-size:var(--portal-type-small);font-weight:800}
.cashMatrixTable .cashSectionRow>th:first-child:before{position:absolute;right:100%;top:-1px;bottom:-1px;display:flex;width:38px;align-items:center;justify-content:center;border-right:1px solid var(--portal-border);background:var(--portal-surface);color:var(--portal-gold);content:"#";font-size:var(--portal-type-caption);font-weight:900}
.cashMatrixFrame{padding-left:38px}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/portal/styles/05-operations-and-reporting.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************/
/* Operations command dashboard */
.portalRoot .portalContent:has(.operationsDashboard){box-sizing:border-box;width:100%!important;max-width:none!important;padding-right:100px;padding-left:100px}
.portalRoot .operationsDashboard{display:grid;gap:18px;width:100%!important;max-width:none!important;margin:0;padding:18px 0 74px;color:var(--portal-text)}
@media(max-width:760px){
  .portalRoot .portalContent:has(.operationsDashboard){padding-right:11px;padding-left:11px}
}
.operationsDashboardHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;border-bottom:1px solid var(--portal-border);padding:0 2px 18px}
.operationsDashboardHeader>div:first-child>span,.dashboardSectionHeader>div>span,.dashboardQuickLinks>a>span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.16em}
.operationsDashboardHeader h1{margin:0 0 4px;font-size:var(--portal-type-h1);letter-spacing:-.045em}
.operationsDashboardHeader p,.dashboardSectionHeader p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small);line-height:1.5}
.operationsPulse{display:grid;grid-template-columns:8px auto;gap:2px 8px;align-items:center;text-align:right}
.operationsPulse i{width:8px;height:8px;border-radius:50%;background:var(--portal-success);box-shadow:0 0 12px var(--portal-success)}
.operationsPulse span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.operationsPulse strong{grid-column:1/3;color:var(--portal-text);font-size:var(--portal-type-caption)}
.dashboardIntelligenceRow{display:grid;grid-template-columns:minmax(440px,.8fr) minmax(520px,1.2fr);gap:14px}
.dashboardBrainPanel,.dashboardJarvisPanel,.dashboardModule,.dashboardCashSection,.dashboardQuickLinks>a{overflow:hidden;border:1px solid var(--portal-border);border-radius:15px}
.dashboardBrainPanel .knowledgeMapPanel{height:100%}
.dashboardBrainPanel .knowledgeMapHeader{justify-content:flex-start;padding:13px 17px;text-align:left}
.dashboardBrainPanel .knowledgeMapHeader>div:first-child>span{font-size:var(--portal-type-caption)}
.dashboardBrainPanel .knowledgeMapHeader h2{margin:3px 0;font-size:var(--portal-type-h2)}
.dashboardBrainPanel .knowledgeMapHeader p{display:none}
.dashboardBrainPanel .mapTelemetry{top:12px;right:12px;padding:5px 7px;font-size:var(--portal-type-caption)}
.dashboardBrainPanel .knowledgeMapLayout{grid-template-columns:minmax(0,1fr) 155px}
.dashboardBrainPanel .graphCanvas3d,.dashboardBrainPanel .graphCanvas3d canvas{height:235px;min-height:235px}
.dashboardBrainPanel .nodeInspector{max-height:235px;overflow:auto;padding:13px}
.dashboardBrainPanel .nodeInspector h3{margin:7px 0 5px;font-size:var(--portal-type-h3)}
.dashboardBrainPanel .nodeInspector>p,.dashboardBrainPanel .nodeInspector dd{font-size:var(--portal-type-body)}
.dashboardBrainPanel .nodeInspector dl{margin:8px 0;padding:7px 0}
.dashboardBrainPanel .graphGestureHint{display:none}
.dashboardJarvisPanel{min-width:0}
.dashboardJarvisPanel .jarvisAgentPanel{display:grid;height:100%;grid-template-columns:35px minmax(0,1fr) auto;gap:10px;align-content:start;border:0;padding:13px}
.dashboardJarvisPanel .jarvisScanner{width:32px;height:32px}
.dashboardJarvisPanel .jarvisScanner span{inset:8px}
.dashboardJarvisPanel .agentIntro>span,.dashboardJarvisPanel .agentIntro p{display:none}
.dashboardJarvisPanel .agentIntro h2{margin:4px 0}
.dashboardJarvisPanel .agentConnections{gap:4px}
.dashboardJarvisPanel .agentStatus{padding:5px 6px;font-size:var(--portal-type-caption)}
.dashboardJarvisPanel .jarvisConversationBar{grid-template-columns:auto minmax(140px,240px) auto 1fr;gap:7px;padding-top:9px}
.dashboardJarvisPanel .jarvisConversationBar>button,.dashboardJarvisPanel .jarvisConversationBar select{height:31px;padding-right:8px;padding-left:8px;font-size:var(--portal-type-caption)}
.dashboardJarvisPanel .jarvisConversationBar label>span,.dashboardJarvisPanel .jarvisConversationBar>small{display:none}
.dashboardJarvisPanel .jarvisThread{max-height:112px;gap:7px}
.dashboardJarvisPanel .jarvisEmptyThread{min-height:70px}
.dashboardJarvisPanel .jarvisUserMessage p{font-size:var(--portal-type-body)}
.dashboardJarvisPanel .answerNarrative p,.dashboardJarvisPanel .agentReply>p{font-size:var(--portal-type-body)!important;line-height:1.5}
.dashboardJarvisPanel .jarvisAnswerView{gap:9px;margin-top:8px}
.dashboardJarvisPanel .answerMetrics,.dashboardJarvisPanel .answerDataBlock,.dashboardJarvisPanel .warehouseDashboard{font-size:var(--portal-type-caption)}
.dashboardJarvisPanel .jarvisAgentPanel form{grid-column:1/-1;grid-template-columns:1fr auto;gap:7px}
.dashboardJarvisPanel .jarvisPrompt textarea{min-height:42px;padding:8px 10px 14px 25px}
.dashboardJarvisPanel .promptGlyph{top:5px;left:9px}
.dashboardJarvisPanel .jarvisPrompt small{display:none}
.dashboardJarvisPanel .jarvisAgentPanel form>button{min-width:80px}
.dashboardJarvisPanel .jarvisMemoryPanel{max-height:145px;overflow:auto;padding:10px}
.dashboardOperationsGrid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.75fr);gap:14px}
.dashboardModule,.dashboardCashSection{padding:18px}
.dashboardSectionHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:14px}
.dashboardSectionHeader h2{margin:4px 0;font-size:var(--portal-type-h2);letter-spacing:-.03em}
.dashboardSectionHeader>a{flex:0 0 auto;border:1px solid var(--portal-gold);border-radius:8px;color:var(--portal-text);padding:8px 10px;font-size:var(--portal-type-caption);font-weight:800;text-decoration:none}
.dashboardSectionHeader>a b{color:var(--portal-gold)}
.dashboardSectionHeader>a:hover{border-color:var(--portal-gold);color:var(--portal-text)}
.dashboardInlineError,.dashboardEmptyState{margin:0;border:1px dashed var(--portal-border);border-radius:10px;padding:16px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.5}
.dashboardInlineError{border-color:var(--portal-error);color:var(--portal-error)}
.dashboardEmptyState a{color:var(--portal-gold)}
.dashboardEnvelopeList{display:grid}
.dashboardEnvelopeList>article{display:grid;grid-template-columns:8px minmax(0,1fr) auto auto;gap:11px;align-items:center;border-top:1px solid var(--portal-border);padding:11px 1px}
.dashboardEnvelopeList>article:first-child{border-top:0}
.envelopeStatus{width:7px;height:7px;border-radius:50%;background:var(--portal-gold)}
.envelopeStatus.delivered{background:var(--portal-blue);box-shadow:0 0 9px rgb(var(--portal-blue-rgb) / 0.333)}
.envelopeStatus.signed{background:var(--portal-blue)}
.envelopeStatus.created{background:var(--portal-elevated)}
.dashboardEnvelopeList article>div:nth-child(2){display:grid;min-width:0;gap:3px}
.dashboardEnvelopeList strong{overflow:hidden;font-size:var(--portal-type-caption);text-overflow:ellipsis;white-space:nowrap}
.dashboardEnvelopeList span{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardEnvelopeList small{overflow:hidden;color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-overflow:ellipsis;white-space:nowrap}
.dashboardEnvelopeList article>b{border:1px solid var(--portal-gold);border-radius:99px;color:var(--portal-gold);padding:5px 7px;font-size:var(--portal-type-caption);text-transform:uppercase}
.dashboardEnvelopeActions{display:flex;gap:5px}
.dashboardEnvelopeActions a,.dashboardCompleted a{border:1px solid var(--portal-border);border-radius:6px;color:var(--portal-text);padding:6px 7px;font-size:var(--portal-type-caption);text-decoration:none;white-space:nowrap}
.dashboardEnvelopeActions a:hover,.dashboardCompleted a:hover{border-color:var(--portal-gold);color:var(--portal-gold)}
.dashboardCompleted{margin-top:10px;border-top:1px solid var(--portal-border)}
.dashboardCompleted summary{display:flex;align-items:center;justify-content:space-between;padding:12px 1px 2px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:800;cursor:pointer;text-transform:uppercase}
.dashboardCompleted summary b{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;background:var(--portal-surface);color:var(--portal-gold)}
.dashboardCompleted>div{display:grid}
.dashboardCompleted article{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--portal-border);padding:9px 0}
.dashboardCompleted article>div{display:grid;gap:2px}
.dashboardCompleted article strong{font-size:var(--portal-type-caption)}
.dashboardCompleted article span{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.envelopeStatus.sent{background:var(--portal-success);box-shadow:0 0 9px color-mix(in srgb,var(--portal-success) 45%,transparent)}
.envelopeStatus.created{background:var(--portal-gold)}
.dashboardEnvelopeList>article:has(>.envelopeStatus.sent)>b{border-color:var(--portal-success);color:var(--portal-success)}
.dashboardEnvelopeList>article:has(>.envelopeStatus.delivered)>.envelopeState{border-color:var(--portal-success);color:var(--portal-success)}
.envelopeState{display:inline-flex!important;align-items:center;gap:5px;white-space:nowrap}
.envelopeState>span{color:inherit!important}
.envelopeState>i{display:grid;width:14px;height:14px;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:var(--portal-type-caption);font-style:normal;line-height:1}
.envelopeState-pending>i{border-color:var(--portal-text-muted);color:var(--portal-text-muted);opacity:.42}
.envelopeState-opened>i{border-color:var(--portal-blue);background:color-mix(in srgb,var(--portal-blue) 12%,transparent);color:var(--portal-blue);opacity:1}
.dashboardCompleted .envelopeState-completed{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--portal-success);border-radius:99px;color:var(--portal-success);padding:5px 7px;font-size:var(--portal-type-caption);text-transform:uppercase}
.envelopeState-completed>i{border-color:var(--portal-success);background:color-mix(in srgb,var(--portal-success) 12%,transparent);color:var(--portal-success)}
.dashboardCompleted .envelopeState-completed>span{color:inherit}
.dashboardRightRail{display:grid;gap:14px;align-content:start}
.dashboardEmailList{display:grid}
.dashboardEmailList>a{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:9px;border-top:1px solid var(--portal-border);padding:11px 0;color:inherit;text-decoration:none}
.dashboardEmailList>a:first-child{border-top:0}
.dashboardEmailList>a>b{color:var(--portal-gold);font-size:var(--portal-type-caption)}
.dashboardEmailList>a>div{display:grid;min-width:0;gap:3px}
.dashboardEmailList span{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardEmailList strong{overflow:hidden;font-size:var(--portal-type-caption);text-overflow:ellipsis;white-space:nowrap}
.dashboardEmailList p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;margin:1px 0 0;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.4}
.dashboardEmailList time{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardEmailList>a:hover strong{color:var(--portal-gold)}
.dashboardEventList{display:grid}
.dashboardEventList>a{display:grid;grid-template-columns:66px 1fr;gap:11px;border-top:1px solid var(--portal-border);padding:10px 0;color:inherit;text-decoration:none}
.dashboardEventList>a:first-child{border-top:0}
.dashboardEventList time{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:800}
.dashboardEventList a>div{display:grid;gap:3px}
.dashboardEventList strong{font-size:var(--portal-type-caption)}
.dashboardEventList span{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardCalendarNext{display:grid;grid-template-columns:1fr auto;gap:4px;margin:10px 0 0;border-top:1px solid var(--portal-border);padding-top:10px}
.dashboardCalendarNext span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;text-transform:uppercase}
.dashboardCalendarNext strong{font-size:var(--portal-type-caption)}
.dashboardCalendarNext b{grid-column:1/3;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:600}
.dashboardCalendarSplit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:360px}
.dashboardCalendarDay,.dashboardCalendarWeek{min-width:0;border:1px solid var(--portal-border);border-radius:11px;background:var(--portal-bg);padding:12px}
.dashboardCalendarDay>header,.dashboardCalendarWeek>header{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--portal-border);padding-bottom:9px}
.dashboardCalendarDay>header span,.dashboardCalendarWeek>header span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.11em}
.dashboardCalendarDay>header strong,.dashboardCalendarWeek>header strong{font-size:var(--portal-type-caption)}
.dashboardRegularEvents{margin-top:9px;border-top:1px solid var(--portal-border)}
.dashboardRegularEvents summary{display:flex;align-items:center;justify-content:space-between;padding:10px 1px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:800;cursor:pointer;list-style:none}
.dashboardRegularEvents summary::-webkit-details-marker{display:none}
.dashboardRegularEvents summary b{display:grid;width:21px;height:21px;place-items:center;border-radius:50%;background:var(--portal-elevated);color:var(--portal-gold)}
.dashboardRegularEvents>div{display:grid}
.dashboardRegularEvents a{display:grid;grid-template-columns:65px 1fr;gap:8px;border-top:1px solid var(--portal-border);padding:7px 0;color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-decoration:none}
.dashboardRegularEvents time{color:var(--portal-gold)}
.dashboardCalendarWeek>div{display:grid}
.dashboardCalendarWeek article{display:grid;gap:5px;border-top:1px solid var(--portal-border);padding:8px 0}
.dashboardCalendarWeek article:first-child{border-top:0}
.dashboardCalendarWeek article>header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.dashboardCalendarWeek article>header>div{display:flex;gap:7px;align-items:baseline}
.dashboardCalendarWeek article>header span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;text-transform:uppercase}
.dashboardCalendarWeek article>header strong{font-size:var(--portal-type-caption)}
.dashboardCalendarWeek article>header>b{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:var(--portal-elevated);color:var(--portal-text);font-size:var(--portal-type-caption)}
.dashboardCalendarWeek article>a{display:grid;grid-template-columns:58px minmax(0,1fr);gap:7px;color:var(--portal-text);font-size:var(--portal-type-caption);text-decoration:none}
.dashboardCalendarWeek article>a time{color:var(--portal-gold);font-weight:750}
.dashboardCalendarWeek article>a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboardCalendarWeek article>p,.dashboardCalendarWeek article>small{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.dashboardCalendarWeek article>small:last-child{color:var(--portal-blue)}
@media(max-width:760px){
  .dashboardCalendarSplit{grid-template-columns:1fr}
}
.dashboardCashSection{display:grid;gap:12px}
.dashboardCashGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dashboardCashChart{display:grid;min-width:0;height:176px;grid-template-rows:auto 1fr auto;border:1px solid var(--portal-border);border-radius:11px;padding:12px}
.dashboardCashChart header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.dashboardCashChart header>div{display:grid;gap:2px}
.dashboardCashChart header span{font-size:var(--portal-type-caption);font-weight:800}
.dashboardCashChart header small,
.dashboardCashChart header strong{font-size:var(--portal-type-caption)}
.dashboardCashBars{display:flex;min-height:72px;align-items:flex-end;gap:2px;border-bottom:1px solid var(--portal-border);padding-top:11px}
.dashboardCashBars a{min-width:2px;flex:1 1;border-radius:2px 2px 0 0;background:var(--portal-error);transition:filter .15s ease,transform .15s ease}
.dashboardCashBars a:hover,.dashboardCashBars a:focus-visible{filter:brightness(1.25);transform:translateY(-2px);outline:1px solid var(--portal-text)}
.dashboardCashChart.bank .dashboardCashBars a{background:var(--portal-success)}
.dashboardCashChart.loads .dashboardCashBars a{background:var(--portal-gold)}
.dashboardCashChart footer{display:flex;justify-content:space-between;padding-top:5px;font-size:var(--portal-type-caption)}
.dashboardCashFacts{display:flex;flex-wrap:wrap;gap:8px}
.dashboardCashFacts span{border-right:1px solid var(--portal-border);padding-right:10px;font-size:var(--portal-type-caption)}
.dashboardCashFacts b{margin-left:4px}
.dashboardQuickLinks{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dashboardQuickLinks>a{position:relative;padding:19px;color:var(--portal-text);text-decoration:none}
.dashboardQuickLinks>a:after{position:absolute;top:0;bottom:0;left:0;width:3px;background:var(--portal-gold);content:""}
.dashboardQuickLinks h2{margin:6px 0 4px;font-size:var(--portal-type-h2)}
.dashboardQuickLinks p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-body)}
.dashboardQuickLinks>a>b{position:absolute;right:18px;bottom:18px;color:var(--portal-gold);font-size:var(--portal-type-caption)}
.dashboardQuickLinks>a:hover{border-color:var(--portal-gold)}
@media(max-width:1150px){
  .dashboardIntelligenceRow,.dashboardOperationsGrid{grid-template-columns:1fr}
  .dashboardBrainPanel .graphCanvas3d,.dashboardBrainPanel .graphCanvas3d canvas{height:280px;min-height:280px}
  .dashboardJarvisPanel .jarvisThread{max-height:180px}
  .dashboardRightRail{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .operationsDashboard{width:min(100% - 22px,1540px);padding-top:18px}
  .operationsDashboardHeader{align-items:flex-start;flex-direction:column}
  .operationsPulse{text-align:left}
  .dashboardBrainPanel .knowledgeMapLayout{grid-template-columns:1fr}
  .dashboardBrainPanel .nodeInspector{display:none}
  .dashboardBrainPanel .graphCanvas3d,.dashboardBrainPanel .graphCanvas3d canvas{height:220px;min-height:220px}
  .dashboardJarvisPanel .jarvisAgentPanel{grid-template-columns:1fr}
  .dashboardJarvisPanel .jarvisScanner,.dashboardJarvisPanel .agentConnections{display:none}
  .dashboardJarvisPanel .jarvisConversationBar{grid-template-columns:1fr 1fr}
  .dashboardRightRail,.dashboardCashGrid,.dashboardQuickLinks{grid-template-columns:1fr}
  .dashboardEnvelopeList>article{grid-template-columns:8px minmax(0,1fr) auto}
  .dashboardEnvelopeActions{grid-column:2/4}
  .dashboardCashFacts{display:grid}
  .dashboardCashFacts span{border-right:0}
  .dashboardQuickLinks>a>b{position:static;display:block;margin-top:12px}
}

/* Operations dashboard refinement: compact assistants, equal intelligence panels, and DocuSign analytics. */
.dashboardAgentShortcuts{display:grid;grid-template-columns:1fr;gap:9px}
.dashboardAgentShortcuts>a{display:grid;min-height:54px;grid-template-columns:32px minmax(0,1fr) auto;gap:11px;align-items:center;border:1px solid var(--portal-border);border-radius:11px;background:var(--portal-surface);padding:11px 14px;color:var(--portal-text);text-decoration:none}
.dashboardAgentShortcuts>a>i{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--portal-gold);border-radius:8px;color:var(--portal-gold);font-size:var(--portal-type-caption);font-style:normal;font-weight:900}
.dashboardAgentShortcuts>a>span{display:grid;gap:3px}
.dashboardAgentShortcuts strong{font-size:var(--portal-type-caption)}
.dashboardAgentShortcuts small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardAgentShortcuts>a>b{color:var(--portal-gold);font-size:var(--portal-type-caption);text-transform:uppercase}
.dashboardAgentShortcuts>a:hover{border-color:var(--portal-gold);background:var(--portal-surface)}
.dashboardIntelligenceRow{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;min-height:430px}
.dashboardBrainPanel{height:100%}
.dashboardBrainPanel .graphCanvas3d,.dashboardBrainPanel .graphCanvas3d canvas{height:355px;min-height:355px}
.dashboardBrainPanel .nodeInspector{max-height:355px}
.dashboardJarvisStack{display:grid;min-width:0;height:100%;grid-template-rows:minmax(0,1fr) auto;gap:10px}
.dashboardJarvisStack .dashboardJarvisPanel{height:100%}
.jarvisCompactChat{position:relative;display:grid;box-sizing:border-box;height:100%;min-height:292px;grid-template-rows:minmax(0,1fr) auto;gap:14px;overflow:hidden;background:var(--portal-surface);padding:22px}
.jarvisCompactThread{display:flex;min-height:0;flex-direction:column;gap:9px;overflow:auto;scrollbar-width:thin}
.jarvisCompactChat.empty .jarvisCompactThread{align-items:center;justify-content:center;text-align:center}
.jarvisCompactWelcome{display:grid;gap:6px}
.jarvisCompactWelcome strong{color:var(--portal-text);font-size:var(--portal-type-body-lg);font-weight:520;letter-spacing:-.025em}
.jarvisCompactWelcome span{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.jarvisCompactComposer{display:grid;grid-template-columns:28px minmax(0,1fr) 27px 27px 31px;gap:5px;align-items:center;border:1px solid var(--portal-border);border-radius:999px;background:var(--portal-surface);padding:5px 6px;box-shadow:0 8px 24px rgb(var(--portal-shadow-rgb) / 0.133)}
.jarvisCompactComposer textarea{box-sizing:border-box;width:100%;height:30px;min-height:30px;resize:none;border:0;background:transparent;padding:7px 4px;color:var(--portal-text);font:var(--portal-type-caption)/1.5 var(--portal-font-body);outline:none}
.jarvisCompactComposer textarea::placeholder{color:var(--portal-text-muted)}
.jarvisCompactComposer button,.jarvisCompactHistory{display:grid;width:27px;height:27px;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--portal-text-muted);font:700 var(--portal-type-caption) var(--portal-font-body);cursor:pointer}
.jarvisCompactNew{font-size:var(--portal-type-body)!important;font-weight:300!important}
.jarvisCompactComposer button:hover,.jarvisCompactHistory:hover,.jarvisCompactMemory.active{background:var(--portal-elevated);color:var(--portal-text)}
.jarvisCompactComposer button:disabled{cursor:not-allowed;opacity:.35}
.jarvisCompactSend{width:31px!important;height:31px!important;background:var(--portal-elevated)!important;color:var(--portal-text)!important;font-size:var(--portal-type-body)!important}
.jarvisCompactHistory{position:relative;overflow:hidden;border:1px solid var(--portal-border)}
.jarvisCompactHistory span{font-size:var(--portal-type-caption)}
.jarvisCompactHistory select{position:absolute;inset:0;width:100%;height:100%;cursor:pointer;opacity:0}
.jarvisCompactUser{align-self:flex-end;max-width:82%;border-radius:13px 13px 3px 13px;background:var(--portal-surface);padding:8px 11px}
.jarvisCompactUser span{display:block;margin-bottom:3px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-transform:uppercase}
.jarvisCompactUser p{margin:0;color:var(--portal-text);font-size:var(--portal-type-body);line-height:1.45}
.jarvisCompactAnswer{border-radius:3px 13px 13px 13px;background:var(--portal-surface);padding:10px 12px;color:var(--portal-text)}
.jarvisCompactAnswer .jarvisAnswerView{gap:8px;margin:0}
.jarvisCompactAnswer .answerToolbar{display:none}
.jarvisCompactAnswer .answerSection{gap:6px}
.jarvisCompactAnswer .answerSection>h3,.jarvisCompactAnswer .answerSection>h4{font-size:var(--portal-type-h3)}
.jarvisCompactAnswer .answerSectionBody{gap:7px}
.jarvisCompactAnswer .answerSectionBody p,.jarvisCompactAnswer .answerSectionBody li,.jarvisCompactAnswer .answerSectionBody p span{font-size:var(--portal-type-body)!important;line-height:1.5!important}
.jarvisCompactAnswer .answerSummarySection{padding:9px 10px}
.jarvisCompactAnswer .answerMetrics{grid-template-columns:repeat(2,1fr)}
.jarvisCompactAnswer .answerMetrics article{min-height:70px;padding:9px}
.jarvisCompactAnswer .agentSources{margin-top:8px}
.jarvisCompactThinking{display:flex;align-items:center;gap:7px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.jarvisCompactThinking i{width:6px;height:6px;border-radius:50%;background:var(--portal-gold);animation:jarvisThink 1s ease-in-out infinite alternate}
.jarvisCompactMemoryPanel{position:absolute;right:18px;bottom:70px;left:18px;z-index:5;display:grid;max-height:190px;gap:7px;overflow:auto;border:1px solid var(--portal-border);border-radius:12px;background:var(--portal-surface);padding:12px;box-shadow:0 18px 45px rgb(var(--portal-shadow-rgb) / 0.533)}
.jarvisCompactMemoryPanel>header{display:flex;align-items:center;justify-content:space-between}
.jarvisCompactMemoryPanel>header strong{font-size:var(--portal-type-caption)}
.jarvisCompactMemoryPanel>header button,.jarvisCompactMemoryPanel article button{border:0;background:transparent;color:var(--portal-text-muted);cursor:pointer}
.jarvisCompactMemoryPanel>p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-body)}
.jarvisCompactMemoryPanel article{display:grid;grid-template-columns:1fr auto;gap:3px;border-top:1px solid var(--portal-border);padding-top:7px}
.jarvisCompactMemoryPanel article span{color:var(--portal-gold);font-size:var(--portal-type-caption);text-transform:uppercase}
.jarvisCompactMemoryPanel article p{grid-column:1;margin:0;color:var(--portal-text);font-size:var(--portal-type-body);line-height:1.4}
.jarvisCompactMemoryPanel article button{grid-column:2;grid-row:1/3;color:var(--portal-error);font-size:var(--portal-type-caption)}
.jarvisCompactError{position:absolute;right:22px;bottom:72px;left:22px;margin:0;border-radius:7px;background:color-mix(in srgb,var(--portal-error) 16%,var(--portal-surface));color:var(--portal-error);padding:7px 9px;font-size:var(--portal-type-caption)}
.dashboardJarvisPanel{background:var(--portal-surface)}
.dashboardJarvisPanel .jarvisAgentPanel{grid-template-columns:minmax(0,1fr);gap:9px;padding:17px;background:var(--portal-surface);box-shadow:none}
.dashboardJarvisPanel .jarvisScanner,.dashboardJarvisPanel .agentConnections{display:none}
.dashboardJarvisPanel .agentIntro{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--portal-border);padding-bottom:10px}
.dashboardJarvisPanel .agentIntro:after{border:1px solid var(--portal-success);border-radius:99px;color:var(--portal-success);padding:5px 8px;font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.08em;content:"ONLINE"}
.dashboardJarvisPanel .agentIntro h2{margin:0;color:var(--portal-text);font-size:var(--portal-type-h2);letter-spacing:-.01em;text-shadow:none}
.dashboardJarvisPanel .jarvisCursor{display:none}
.dashboardJarvisPanel .jarvisConversationBar{grid-column:1;grid-template-columns:auto minmax(120px,1fr) auto;align-items:center;border:0;padding:0}
.dashboardJarvisPanel .jarvisConversationBar>small{display:none}
.dashboardJarvisPanel .jarvisConversationBar>button,.dashboardJarvisPanel .jarvisConversationBar select{height:30px;border-color:var(--portal-border);background:var(--portal-bg);color:var(--portal-text)}
.dashboardJarvisPanel .jarvisConversationBar label>span{display:none}
.dashboardJarvisPanel .jarvisThread{grid-column:1;min-height:92px;max-height:128px;overflow:auto;border:1px solid var(--portal-border);border-radius:10px;background:var(--portal-bg);padding:8px}
.dashboardJarvisPanel .jarvisEmptyThread{min-height:74px;border:0;background:transparent}
.dashboardJarvisPanel .jarvisEmptyThread strong,
.dashboardJarvisPanel .jarvisEmptyThread span{font-size:var(--portal-type-caption)}
.dashboardJarvisPanel .jarvisUserMessage{margin-top:5px;border:0;background:var(--portal-surface);padding:8px 10px}
.dashboardJarvisPanel .agentReply{border:0;background:var(--portal-surface);padding:10px;box-shadow:none}
.dashboardJarvisPanel .replyIdentity{margin-bottom:5px}
.dashboardJarvisPanel .jarvisAgentPanel form{grid-column:1;grid-template-columns:minmax(0,1fr) auto}
.dashboardJarvisPanel .jarvisPrompt textarea{min-height:40px;border-color:var(--portal-border);background:var(--portal-bg);padding:9px 11px;font-size:var(--portal-type-body)}
.dashboardJarvisPanel .promptGlyph,.dashboardJarvisPanel .jarvisPrompt small{display:none}
.dashboardJarvisPanel .jarvisAgentPanel form>button{min-width:72px;border:0;border-radius:9px;background:var(--portal-gold);box-shadow:none}
.dashboardJarvisPanel .jarvisMemoryPanel{grid-column:1}
.dashboardIntelligenceRow{grid-template-columns:1fr;min-height:560px}
.dashboardJarvisStack{height:auto}
.dashboardJarvisPanel,
.jarvisCompactChat{min-height:425px}
.jarvisCompactChat.empty .jarvisCompactThread{align-items:stretch}
.jarvisCompactWelcome{align-self:center}
.jarvisCompactBrain{width:100%;min-height:0;overflow:hidden}
.jarvisCompactBrain .knowledgeMapPanel{height:100%;background:transparent}
.jarvisCompactBrain .knowledgeMapHeader,.jarvisCompactBrain .nodeInspector,.jarvisCompactBrain .jarvisMapSources,.jarvisCompactBrain .graphGestureHint{display:none}
.jarvisCompactBrain .knowledgeMapLayout{display:block;border:0}
.jarvisCompactBrain .graphCanvas3d,.jarvisCompactBrain .graphCanvas3d canvas{height:325px;min-height:325px;background-color:transparent}
.jarvisCompactBrain .graphCanvas3d{background:radial-gradient(circle at 50% 48%,color-mix(in srgb,var(--portal-blue) 16%,var(--portal-surface)) 0,var(--portal-surface) 38%,var(--portal-surface) 72%)}
.jarvisCompactBrain .graphCameraControls{top:8px;left:8px;transform:scale(.82);transform-origin:top left}
.jarvisCompactFiles{margin-top:9px;border-top:1px solid var(--portal-border);padding-top:8px}
.jarvisCompactFiles summary{display:grid;grid-template-columns:1fr auto auto;gap:7px;align-items:center;color:var(--portal-text-muted);font-size:var(--portal-type-caption);cursor:pointer;list-style:none}
.jarvisCompactFiles summary::-webkit-details-marker{display:none}
.jarvisCompactFiles summary b{display:grid;min-width:18px;height:18px;place-items:center;border-radius:99px;background:var(--portal-elevated);color:var(--portal-gold)}
.jarvisCompactFiles summary i{color:var(--portal-gold);font-style:normal}
.jarvisCompactFiles[open] summary i{transform:rotate(180deg)}
.jarvisCompactFiles>div{display:grid;gap:5px;padding-top:8px}
.jarvisCompactFiles small{display:grid;gap:2px;border-left:2px solid var(--portal-border);padding-left:8px}
.jarvisCompactFiles small strong{color:var(--portal-text);font-size:var(--portal-type-caption)}
.jarvisCompactFiles small span{overflow:hidden;color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-overflow:ellipsis;white-space:nowrap}
.dashboardDocuSignVisuals{display:grid;grid-template-columns:minmax(180px,.72fr) minmax(300px,1.28fr);gap:10px;margin-bottom:12px}
.dashboardEnvelopeMix,.dashboardAgeChart{min-height:142px;border:1px solid var(--portal-border);border-radius:11px;background:var(--portal-bg);padding:13px}
.dashboardEnvelopeMix{display:flex;align-items:center;gap:13px}
.dashboardDonut{position:relative;display:grid;flex:0 0 86px;width:86px;height:86px;place-items:center;border-radius:50%;background:conic-gradient(var(--portal-gold) 0 var(--open-share),var(--portal-elevated) var(--open-share) 360deg)}
.dashboardDonut:before{position:absolute;width:62px;height:62px;border-radius:50%;background:var(--portal-bg);content:""}
.dashboardDonut span{z-index:1;display:grid;text-align:center}
.dashboardDonut strong{font-size:var(--portal-type-body)}
.dashboardDonut small{color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-transform:uppercase}
.dashboardEnvelopeMix>div:last-child{display:grid;gap:4px}
.dashboardEnvelopeMix>div:last-child>span,.dashboardAgeChart header span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.13em}
.dashboardEnvelopeMix>div:last-child>strong{font-size:var(--portal-type-body)}
.dashboardEnvelopeMix>div:last-child>small{color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.4}
.dashboardAgeChart{display:grid;grid-template-rows:auto 1fr;gap:9px}
.dashboardAgeChart>header{display:flex;align-items:flex-start;justify-content:space-between}
.dashboardAgeChart header>div{display:grid;gap:3px}
.dashboardAgeChart header strong{font-size:var(--portal-type-caption)}
.dashboardAgeChart header>b{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardAgeChart>div{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.dashboardAgeChart section{display:grid;grid-template-rows:1fr auto auto;gap:3px;text-align:center}
.dashboardAgeChart section>i{display:flex;height:62px;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--portal-border)}
.dashboardAgeChart section>i>b{display:block;width:min(22px,70%);border-radius:3px 3px 0 0;background:linear-gradient(var(--portal-gold),color-mix(in srgb,var(--portal-gold) 16%,var(--portal-surface)))}
.dashboardAgeChart section>strong{font-size:var(--portal-type-caption)}
.dashboardAgeChart section>span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);white-space:nowrap}
.dashboardAgeChart>div>button{display:grid;min-width:0;grid-template-rows:1fr auto auto;gap:3px;border:0;border-radius:6px;background:transparent;padding:0 2px;color:var(--portal-text);text-align:center;cursor:pointer;transition:background .16s ease,opacity .16s ease,transform .16s ease}
.dashboardAgeChart>div>button:hover,.dashboardAgeChart>div>button:focus-visible{background:color-mix(in srgb,var(--portal-gold) 8%,transparent);outline:1px solid color-mix(in srgb,var(--portal-gold) 48%,var(--portal-border))}
.dashboardAgeChart>div>button.active{background:color-mix(in srgb,var(--portal-gold) 12%,transparent);outline:1px solid var(--portal-gold);transform:translateY(-2px)}
.dashboardAgeChart>div:has(button.active)>button:not(.active){opacity:.42}
.dashboardAgeChart button>i{display:flex;height:62px;align-items:flex-end;justify-content:center;border-bottom:1px solid var(--portal-border)}
.dashboardAgeChart button>i>b{display:block;width:min(22px,70%);border-radius:3px 3px 0 0;background:linear-gradient(var(--portal-gold),color-mix(in srgb,var(--portal-gold) 16%,var(--portal-surface)))}
.dashboardAgeChart button>strong{font-size:var(--portal-type-caption)}
.dashboardAgeChart button>span{overflow:hidden;color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-overflow:ellipsis;white-space:nowrap}
.dashboardEnvelopeList{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.dashboardEnvelopeList>article{grid-template-columns:8px minmax(0,1fr) auto;align-content:start;border:1px solid var(--portal-border)!important;border-radius:10px;background:var(--portal-bg);padding:12px}
.dashboardEnvelopeList>article:hover{border-color:var(--portal-gold)!important}
.dashboardEnvelopeActions{grid-column:2/4}
.dashboardEnvelopeActions a{flex:1 1;text-align:center}
.dashboardEnvelopeList>article{transition:opacity .18s ease,filter .18s ease,border-color .18s ease,box-shadow .18s ease}
.dashboardEnvelopeList>article.ageMatch{border-color:var(--portal-gold)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--portal-gold) 35%,transparent),0 10px 28px rgb(var(--portal-shadow-rgb)/.24)}
.dashboardEnvelopeList>article.ageMuted{border-color:var(--portal-border)!important;filter:grayscale(.85);opacity:.28}
.dashboardEnvelopeList>article.ageMuted:hover{border-color:var(--portal-border)!important;opacity:.42}
@media(max-width:1150px){
  .dashboardIntelligenceRow{grid-template-columns:1fr}
  .dashboardBrainPanel .graphCanvas3d,.dashboardBrainPanel .graphCanvas3d canvas{height:355px;min-height:355px}
  .dashboardDocuSignVisuals,
.dashboardEnvelopeList{grid-template-columns:1fr}
}
@media(max-width:900px){
  .dashboardIntelligenceRow{grid-template-columns:1fr;min-height:0}
  .dashboardBrainPanel .graphCanvas3d,.dashboardBrainPanel .graphCanvas3d canvas{height:310px;min-height:310px}
  .dashboardJarvisStack{height:auto}
  .dashboardJarvisPanel{min-height:280px}
}
@media(max-width:600px){
  .dashboardDocuSignVisuals{grid-template-columns:1fr}
  .dashboardEnvelopeMix{min-height:120px}
  .dashboardAgentShortcuts small{display:none}
  .dashboardJarvisPanel .jarvisConversationBar{grid-template-columns:1fr 1fr}
  .dashboardJarvisPanel .jarvisConversationBar label{grid-column:1/-1;grid-row:1}
  .dashboardAgeChart section>span{white-space:normal}
}

/* Top communications split: Jarvis left, Gmail and Calendar right. */
.dashboardOperationsGrid{grid-template-columns:1fr}
.dashboardTopRightRail{grid-template-columns:1fr;align-self:stretch}
.dashboardTopRightRail .dashboardModule{min-height:0}
.dashboardTopRightRail .dashboardEmailList p{-webkit-line-clamp:1}
.dashboardTopRightRail .dashboardEventList>a{padding:9px 0}
@media(min-width:1151px){
  .dashboardIntelligenceRow{grid-template-columns:repeat(2,minmax(0,1fr));min-height:560px}
  .dashboardJarvisStack,.dashboardTopRightRail{height:100%}
  .dashboardTopRightRail{grid-template-rows:auto minmax(0,1fr)}
}
@media(max-width:1150px){
  .dashboardIntelligenceRow{grid-template-columns:1fr;min-height:0}
  .dashboardTopRightRail{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .dashboardTopRightRail{grid-template-columns:1fr}
}
.jarvisCompactHistory select{background:var(--portal-surface);color:var(--portal-text);color-scheme:dark}
.jarvisCompactHistory select option{background:var(--portal-surface)!important;color:var(--portal-text)!important}
.dashboardAgentShortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}
.dashboardAgentShortcuts>a,
.dashboardAgentShortcuts>a>span{min-width:0}
.dashboardAgentShortcuts strong,.dashboardAgentShortcuts small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:600px){
  .dashboardAgentShortcuts{grid-template-columns:1fr}
}
.jarvisCompactChat.empty .jarvisCompactThread{justify-content:flex-start}
.jarvisCompactBrain .graphCanvas3d{background:none}
.jarvisCompactBrain .graphCameraControls{top:0;left:0;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transform:none}
.jarvisCompactBrain .graphCameraControls button{height:25px;min-width:27px;border-color:rgb(var(--portal-border-rgb) / 0.071);background:transparent}
.jarvisCompactBrain .graphCameraControls button:last-child{min-width:35px}

/* Dashboard: Jarvis and performance reporting share the left column evenly. */
.dashboardJarvisStack{grid-template-rows:minmax(0,1.15fr) minmax(0,.85fr) auto}
.dashboardJarvisStack .dashboardJarvisPanel{min-height:0}
.dashboardJarvisPanel .jarvisCompactChat{min-height:0;padding:12px}
.dashboardJarvisPanel .jarvisCompactBrain{min-height:210px}
.dashboardJarvisPanel .jarvisCompactBrain .graphCanvas3d,.dashboardJarvisPanel .jarvisCompactBrain .graphCanvas3d canvas{height:210px;min-height:210px}
.dashboardJarvisPanel .jarvisCompactChat.empty{display:block;padding:0}
.dashboardJarvisPanel .jarvisCompactChat.empty .jarvisCompactThread{height:100%;overflow:hidden}
.dashboardJarvisPanel .jarvisCompactChat.empty .jarvisCompactBrain,.dashboardJarvisPanel .jarvisCompactChat.empty .knowledgeMapPanel,.dashboardJarvisPanel .jarvisCompactChat.empty .knowledgeMapLayout,
.dashboardJarvisPanel .jarvisCompactChat.empty .jarvisCompactBrain .graphCanvas3d,.dashboardJarvisPanel .jarvisCompactChat.empty .jarvisCompactBrain .graphCanvas3d canvas{height:100%;min-height:100%}
.dashboardJarvisPanel .jarvisCompactChat.empty .jarvisCompactComposer{position:absolute;right:12px;bottom:12px;left:12px;z-index:6;background:rgb(var(--portal-surface-rgb)/.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.dashboardReportSummary{position:relative;display:grid;min-height:0;align-content:start;gap:10px;background:var(--portal-surface);padding:14px}
.dashboardReportSummary .dashboardSectionHeader{align-items:start;margin:0;padding:0 0 9px}
.dashboardReportSummary .dashboardSectionHeader h2{font-size:var(--portal-type-h2)}
.dashboardReportSummary .dashboardSectionHeader p{margin-top:2px}
.dashboardReportMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.dashboardReportMetric{display:grid;min-width:0;gap:3px;border:1px solid var(--portal-border);border-radius:9px;background:var(--portal-bg);padding:9px;color:var(--portal-text);text-decoration:none;transition:border-color 140ms ease,background-color 140ms ease,transform 140ms ease}
.dashboardReportMetric:hover{border-color:var(--portal-gold);background:var(--portal-elevated);transform:translateY(-1px)}
.dashboardReportMetric>span{overflow:hidden;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.dashboardReportMetric>strong{font-size:var(--portal-type-body-lg);letter-spacing:-.035em}
.dashboardReportMetric>small{font-size:var(--portal-type-caption)}
.dashboardReportMetric>small.down{color:var(--portal-error)}
.dashboardReportMetric>small.neutral{color:var(--portal-text-muted)}
.dashboardMarketPulse{display:grid;gap:6px;border:1px solid var(--portal-border);border-radius:9px;background:var(--portal-bg);padding:9px 10px;color:var(--portal-text);text-decoration:none}
.dashboardMarketPulse:hover{border-color:var(--portal-blue);background:var(--portal-elevated)}
.dashboardMarketPulse>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}
.dashboardMarketPulse>div:first-child span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.1em}
.dashboardMarketPulse>div:first-child strong{font-size:var(--portal-type-caption)}
.dashboardMarketTrack{display:flex;height:5px;overflow:hidden;border-radius:999px;background:var(--portal-border)}
.dashboardMarketTrack i{height:100%}
.dashboardMarketTrack .growing{background:var(--portal-success)}
.dashboardMarketTrack .declining{margin-left:auto;background:var(--portal-error)}
.dashboardMarketPulse>small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardMarketPulse>small b:first-child{color:var(--portal-success)}
.dashboardMarketPulse>small b:nth-of-type(2){color:var(--portal-error)}
.dashboardMarketPulse>small span{padding:0 3px;color:var(--portal-border)}
@media(max-width:900px){
  .dashboardJarvisStack{grid-template-rows:auto auto auto}
  .dashboardJarvisStack .dashboardJarvisPanel,
.dashboardJarvisPanel .jarvisCompactChat{min-height:405px}
  .dashboardJarvisPanel .jarvisCompactBrain{min-height:315px}
  .dashboardJarvisPanel .jarvisCompactBrain .graphCanvas3d,.dashboardJarvisPanel .jarvisCompactBrain .graphCanvas3d canvas{height:315px;min-height:315px}
  .dashboardReportSummary{min-height:230px}
}
@media(max-width:560px){
  .dashboardReportMetrics{grid-template-columns:1fr}
  .dashboardReportSummary{min-height:0}
  .dashboardMarketPulse>div:first-child{align-items:flex-start;flex-direction:column}
}

/* Live terminal-health summary on the operations dashboard. */
.dashboardTerminalSummary{display:grid;gap:10px;background:var(--portal-surface);padding:14px}
.dashboardTerminalSummary .dashboardSectionHeader{margin:0;padding-bottom:2px}
.dashboardTerminalSummary .dashboardSectionHeader h2{font-size:var(--portal-type-h2)}
.dashboardTerminalMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.dashboardTerminalMetrics>a{display:grid;min-width:0;gap:3px;border:1px solid var(--portal-border);border-radius:9px;background:var(--portal-bg);padding:9px;color:var(--portal-text);text-decoration:none}
.dashboardTerminalMetrics>a:hover{border-color:var(--portal-gold);background:var(--portal-elevated)}
.dashboardTerminalMetrics span{overflow:hidden;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:850;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.dashboardTerminalMetrics strong{font-size:var(--portal-type-body-lg)}
.dashboardTerminalMetrics small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardTerminalList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.dashboardTerminalList>a{display:grid;min-width:0;grid-template-columns:7px auto minmax(0,1fr) auto;gap:7px;align-items:center;border-top:1px solid var(--portal-border);padding:7px 2px;color:var(--portal-text);text-decoration:none}
.dashboardTerminalList i{width:7px;height:7px;border-radius:50%;background:var(--portal-error);box-shadow:0 0 7px color-mix(in srgb,var(--portal-error) 55%,transparent)}
.dashboardTerminalList strong,.dashboardTerminalList b{font-size:var(--portal-type-caption)}
.dashboardTerminalList span{overflow:hidden;color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-overflow:ellipsis;white-space:nowrap}
.dashboardTerminalList b{overflow:hidden;max-width:120px;color:var(--portal-error);text-overflow:ellipsis;white-space:nowrap}
.dashboardTerminalList>a:hover strong{color:var(--portal-gold)}
@media(max-width:700px){
  .dashboardTerminalMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboardTerminalList{grid-template-columns:1fr}
}

/* Native recreation of the ATMPCO Power BI reporting model. */
.reportingPage{display:grid;gap:14px;max-width:1720px;margin:0 auto;padding:24px 24px 72px;color:var(--portal-text)}
.reportingHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border-bottom:1px solid var(--portal-border);padding:2px 2px 19px}
.reportingHeader span,.reportPageHeading span,.reportRanking header span,.reportHistogramPanel header span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.16em}
.reportingHeader h1{margin:5px 0 3px;font-size:var(--portal-type-h1);letter-spacing:-.045em}
.reportingHeader p,.reportPageHeading p,.reportHistogramPanel header p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.reportingHeader>b{display:flex;align-items:center;gap:7px;border:1px solid var(--portal-success);border-radius:99px;color:var(--portal-success);padding:7px 10px;font-size:var(--portal-type-caption);letter-spacing:.1em}
.reportingHeader>b i{width:7px;height:7px;border-radius:50%;background:var(--portal-success);box-shadow:0 0 9px var(--portal-success)}
.reportFilters{display:grid;grid-template-columns:repeat(9,minmax(100px,1fr)) auto auto;gap:7px;align-items:end;border:1px solid var(--portal-border);border-radius:11px;background:var(--portal-bg);padding:10px}
.reportFilters label{display:grid;min-width:0;gap:4px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.reportFilters select,.reportFilters input{box-sizing:border-box;width:100%;height:32px;min-width:0;border:1px solid var(--portal-border);border-radius:6px;background:var(--portal-bg)!important;color:var(--portal-text);padding:0 8px;font-size:var(--portal-type-body);outline:none}
.reportFilters select:focus,.reportFilters input:focus{border-color:var(--portal-gold)}
.reportFilters button,.reportFilters>a{display:grid;height:32px;place-items:center;border:1px solid var(--portal-gold);border-radius:6px;background:var(--portal-gold);color:var(--portal-bg);padding:0 12px;font-size:var(--portal-type-caption);font-weight:900;text-decoration:none}
.reportFilters>a{border-color:var(--portal-border);background:transparent;color:var(--portal-text-muted)}
.reportTabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--portal-border);padding:0 2px 7px;scrollbar-width:thin}
.reportTabs button{flex:0 0 auto;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--portal-text-muted);padding:7px 9px;font-size:var(--portal-type-caption);font-weight:800;cursor:pointer;white-space:nowrap}
.reportTabs button:hover{color:var(--portal-text)}
.reportTabs button.active{border-color:var(--portal-gold);background:var(--portal-surface);color:var(--portal-gold)}
.reportCanvas{display:grid;gap:12px;min-height:650px;border:1px solid var(--portal-border);border-radius:13px;background:var(--portal-bg);padding:15px}
.reportPageHeading{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--portal-border);padding:1px 2px 12px}
.reportPageHeading h2,.reportHistogramPanel h2{margin:4px 0 3px;font-size:var(--portal-type-h2);letter-spacing:-.03em}
.reportMetricGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.reportMetricCard{display:grid;gap:7px;border:1px solid var(--portal-border);border-radius:9px;background:var(--portal-surface);padding:13px}
.reportMetricCard>span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.reportMetricCard>strong{font-size:var(--portal-type-h3);letter-spacing:-.04em}
.reportMetricCard>div{display:grid;grid-template-columns:1fr auto;gap:6px;border-top:1px solid var(--portal-border);padding-top:6px}
.reportMetricCard small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.reportChange{border-radius:99px;padding:2px 5px;font-size:var(--portal-type-caption)}
.reportChange.up{background:color-mix(in srgb,var(--portal-success) 16%,var(--portal-surface));color:var(--portal-success)}
.reportChange.down{background:color-mix(in srgb,var(--portal-error) 16%,var(--portal-surface));color:var(--portal-error)}
.reportChange.neutral{background:var(--portal-surface);color:var(--portal-text-muted)}
.reportTwoColumn{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.reportPanel,.reportRanking,.reportHistogramPanel{overflow:hidden;border:1px solid var(--portal-border);border-radius:10px;background:var(--portal-surface);padding:12px}
.reportPanel>h3,.reportRanking h3{margin:2px 0 8px;font-size:var(--portal-type-h3)}
.reportChart{position:relative;min-height:250px}
.reportLegend{display:flex;justify-content:flex-end;gap:12px;margin-bottom:3px}
.reportLegend span{display:flex;align-items:center;gap:5px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.reportLegend i{width:7px;height:7px;border-radius:50%}
.reportChart svg{display:block;width:100%;height:auto}
.reportChart svg line{stroke:var(--portal-border);stroke-width:1}
.reportChart svg text{fill:var(--portal-bg);font:var(--portal-type-caption) var(--portal-font-body);text-anchor:end}
.reportChart svg text.xLabel{text-anchor:middle}
.reportChart svg polyline{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.reportTableWrap{max-height:490px;overflow:auto;border:1px solid var(--portal-border);border-radius:9px}
.reportTableWrap table{width:100%;border-collapse:collapse}
.reportTableWrap th{position:sticky;top:0;z-index:2;background:var(--portal-surface);color:var(--portal-text-muted);padding:9px 10px;font-size:var(--portal-type-caption);letter-spacing:.07em;text-align:left;text-transform:uppercase;white-space:nowrap}
.reportTableWrap td{border-top:1px solid var(--portal-border);color:var(--portal-text-muted);padding:8px 10px;font-size:var(--portal-type-small);white-space:nowrap}
.reportTableWrap td strong{color:var(--portal-text)}
.reportTableWrap td small{display:block;margin-top:2px;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.reportTableWrap tbody tr:hover{background:var(--portal-surface)}
.reportRanking{display:grid;align-content:start;gap:9px}
.reportRanking header h3{margin:3px 0}
.reportRanking>div{display:grid;gap:8px}
.reportRanking section{display:grid;gap:3px}
.reportRanking label{display:flex;justify-content:space-between;gap:10px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.reportRanking label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.reportRanking label b{color:var(--portal-text)}
.reportRanking section>i{height:4px;border-radius:5px;background:var(--portal-surface)}
.reportRanking section>i>b{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,color-mix(in srgb,var(--portal-gold) 16%,var(--portal-surface)),var(--portal-gold))}
.reportIdentityGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.reportIdentityGrid article{display:grid;gap:5px;border:1px solid var(--portal-border);border-radius:8px;padding:10px}
.reportIdentityGrid span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-transform:uppercase}
.reportIdentityGrid strong{overflow:hidden;font-size:var(--portal-type-caption);text-overflow:ellipsis;white-space:nowrap}
.reportLifecycle{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.reportLifecycle article{display:grid;gap:5px;border:1px solid var(--portal-success);border-radius:10px;background:var(--portal-surface);padding:20px}
.reportLifecycle article.lost{border-color:var(--portal-error);background:color-mix(in srgb,var(--portal-error) 16%,var(--portal-surface))}
.reportLifecycle span{font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.15em}
.reportLifecycle strong{font-size:var(--portal-type-h2)}
.reportLifecycle small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.reportCompositionGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.reportHistogramPage{display:grid;gap:12px}
.reportHistogramSummary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.reportHistogramSummary article{display:grid;gap:5px;border:1px solid var(--portal-border);border-radius:9px;padding:13px}
.reportHistogramSummary span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-transform:uppercase}
.reportHistogramSummary strong{font-size:var(--portal-type-h3)}
.reportHistogramSummary small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.reportHistogramSummary .positive{border-color:var(--portal-success)}
.reportHistogramSummary .positive strong{color:var(--portal-success)}
.reportHistogramSummary .negative{border-color:var(--portal-error)}
.reportHistogramSummary .negative strong{color:var(--portal-error)}
.reportHistogramPanel>header{display:flex;justify-content:space-between;gap:20px}
.reportHistogramPanel>header>b{align-self:start;border:1px solid var(--portal-gold);border-radius:99px;color:var(--portal-gold);padding:6px 8px;font-size:var(--portal-type-caption)}
.reportHistogramScroll{overflow-x:auto;padding-top:18px}
.reportHistogram{display:flex;height:300px;align-items:stretch;gap:3px;border-bottom:1px solid var(--portal-border)}
.reportHistogram section{display:grid;min-width:44px;flex:1 1;grid-template-rows:16px 1fr 35px;gap:4px;text-align:center}
.reportHistogram section>strong{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.reportHistogram section>i{display:flex;align-items:flex-end;justify-content:center}
.reportHistogram section>i>b{display:block;width:65%;min-height:2px;border-radius:3px 3px 0 0}
.reportHistogram section>i>b.down{background:var(--portal-error)}
.reportHistogram section>i>b.up{background:var(--portal-success)}
.reportHistogram section>i>b.flat{background:var(--portal-gold)}
.reportHistogram section>span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.2;transform:rotate(-45deg);transform-origin:top center;white-space:nowrap}
.reportUnavailable{margin:50px;border:1px solid var(--portal-error);border-radius:10px;padding:20px;color:var(--portal-error)}

/* Reporting interaction system */
.reportInteractive,.reportClickableRow,.reportDataPoint,.reportHistogram button,.reportHistogramSummary button{cursor:pointer}
.reportInteractive{transition:transform 140ms ease,border-color 140ms ease,background-color 140ms ease,box-shadow 140ms ease}
.reportInteractive:hover{border-color:var(--portal-gold)!important;background:var(--portal-elevated)!important;box-shadow:0 0 0 1px rgb(var(--portal-gold-rgb)/.12);transform:translateY(-1px)}
.reportMetricCard{position:relative;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer}
.reportMetricCard>em{position:absolute;right:11px;top:10px;color:var(--portal-gold);font-size:var(--portal-type-caption);font-style:normal;font-weight:800;letter-spacing:.06em;opacity:0;transition:opacity 140ms ease}
.reportMetricCard:hover>em,.reportMetricCard:focus-visible>em{opacity:1}
.reportReset{border:1px solid var(--portal-border)!important;background:transparent!important;color:var(--portal-text)!important}
.reportReset:hover{border-color:var(--portal-gold)!important;color:var(--portal-gold)!important}
.reportActiveFilters{display:flex;align-items:center;flex-wrap:wrap;gap:7px;border:1px solid var(--portal-border);border-top:0;padding:8px 11px;background:var(--portal-surface)}
.reportActiveFilters>strong{color:var(--portal-gold);font-size:var(--portal-type-caption);letter-spacing:.12em}
.reportActiveFilters>button{display:flex;align-items:center;gap:6px;min-height:29px;border:1px solid var(--portal-blue);border-radius:999px;background:rgb(var(--portal-blue-rgb)/.1);color:var(--portal-text);padding:3px 9px;font-size:var(--portal-type-caption);cursor:pointer}
.reportActiveFilters>button span{color:var(--portal-text-muted);text-transform:capitalize}
.reportActiveFilters>button:hover{background:rgb(var(--portal-blue-rgb)/.22)}
.reportActiveFilters>small{color:var(--portal-text-muted)}
.reportLegend button{display:flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--portal-text-muted);padding:4px 6px;font-size:var(--portal-type-caption);cursor:pointer}
.reportLegend button.muted{opacity:.38;text-decoration:line-through}
.reportChart{isolation:isolate}
.reportDataPoint{stroke:var(--portal-surface);stroke-width:2;vector-effect:non-scaling-stroke;transition:r 120ms ease}
.reportDataPoint:hover,.reportDataPoint:focus{stroke:var(--portal-text);stroke-width:3;outline:none}
.reportChartTooltip{position:absolute;z-index:3;display:grid;gap:3px;right:14px;top:34px;min-width:190px;border:1px solid var(--portal-border);border-radius:8px;background:rgb(var(--portal-bg-rgb)/.96);padding:9px;box-shadow:var(--portal-shadow-menu);pointer-events:none}
.reportChartTooltip strong{font-size:var(--portal-type-caption)}
.reportChartTooltip span{display:flex;align-items:center;gap:5px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.reportChartTooltip span i{width:7px;height:7px;border-radius:50%}
.reportChartTooltip small{margin-top:3px;color:var(--portal-gold);font-size:var(--portal-type-caption)}
.reportRankRow{display:grid;width:100%;gap:3px;border:0;border-radius:5px;background:transparent;padding:4px;color:inherit;text-align:left}
.reportRankRow label{pointer-events:none}
.reportRankRow>i{height:4px;border-radius:5px;background:var(--portal-bg)}
.reportRankRow>i>b{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,color-mix(in srgb,var(--portal-gold) 16%,var(--portal-surface)),var(--portal-gold))}
.reportTableWrap tbody tr.reportClickableRow:hover,.reportTableWrap tbody tr.reportClickableRow:focus{background:var(--portal-elevated);box-shadow:inset 3px 0 var(--portal-gold);outline:0}
.reportTableWrap tbody tr.reportClickableRow td:first-child strong:after{color:var(--portal-gold);content:"  →";opacity:0}
.reportTableWrap tbody tr.reportClickableRow:hover td:first-child strong:after,.reportTableWrap tbody tr.reportClickableRow:focus td:first-child strong:after{opacity:1}
.reportHistogramSummary button{display:grid;gap:5px;border:1px solid var(--portal-border);border-radius:9px;background:transparent;color:inherit;padding:13px;text-align:left}
.reportHistogramSummary button:hover,.reportHistogramSummary button.active{border-color:var(--portal-gold);background:var(--portal-elevated)}
.reportHistogramSummary button.positive{border-color:var(--portal-success)}
.reportHistogramSummary button.positive strong{color:var(--portal-success)}
.reportHistogramSummary button.negative{border-color:var(--portal-error)}
.reportHistogramSummary button.negative strong{color:var(--portal-error)}
.reportHistogram button{display:grid;min-width:44px;flex:1 1;grid-template-rows:16px 1fr 35px;gap:4px;border:0;border-radius:5px 5px 0 0;background:transparent;color:inherit;padding:0;text-align:center}
.reportHistogram button:hover,.reportHistogram button.active{background:var(--portal-elevated);box-shadow:inset 0 -2px var(--portal-gold)}
.reportHistogram button>strong{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.reportHistogram button>i{display:flex;align-items:flex-end;justify-content:center}
.reportHistogram button>i>b{display:block;width:65%;min-height:2px;border-radius:3px 3px 0 0}
.reportHistogram button>i>b.down{background:var(--portal-error)}
.reportHistogram button>i>b.up{background:var(--portal-success)}
.reportHistogram button>i>b.flat{background:var(--portal-gold)}
.reportHistogram button>span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.2;transform:rotate(-45deg);transform-origin:top center;white-space:nowrap}
.reportDrilldown>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.reportDrilldown>header span{color:var(--portal-gold);font-size:var(--portal-type-caption);letter-spacing:.1em}
.reportDrilldown>header h3{margin:3px 0}
.reportDrilldown>header>button{border:1px solid var(--portal-border);border-radius:7px;background:transparent;color:var(--portal-text);padding:7px 10px;cursor:pointer}
.reportDrilldown>header>button:hover{border-color:var(--portal-gold);color:var(--portal-gold)}
.reportIdentityGrid button{display:grid;gap:5px;border:1px solid var(--portal-border);border-radius:8px;background:transparent;color:inherit;padding:10px;text-align:left}
.reportIdentityGrid button span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-transform:uppercase}
.reportIdentityGrid button strong{overflow:hidden;font-size:var(--portal-type-caption);text-overflow:ellipsis;white-space:nowrap}
.reportLifecycle button{display:grid;gap:5px;border:1px solid var(--portal-success);border-radius:10px;background:var(--portal-surface);color:inherit;padding:20px;text-align:left}
.reportLifecycle button.lost{border-color:var(--portal-error);background:color-mix(in srgb,var(--portal-error) 16%,var(--portal-surface))}
.reportLifecycle button.active{box-shadow:inset 0 0 0 2px var(--portal-gold)}
.reportSelection{display:flex;align-items:center;gap:12px;border:1px solid var(--portal-blue);border-radius:9px;background:rgb(var(--portal-blue-rgb)/.09);padding:10px 12px}
.reportSelection strong{color:var(--portal-text)}
.reportSelection span{flex:1 1;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.reportSelection button{border:1px solid var(--portal-border);border-radius:7px;background:transparent;color:var(--portal-gold);padding:6px 9px;cursor:pointer}
.reportSectionNav{position:sticky;top:8px;z-index:8;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;border:1px solid var(--portal-border);border-radius:10px;background:rgb(var(--portal-bg-rgb)/.94);padding:6px;box-shadow:var(--portal-shadow-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.reportSectionNav a{display:grid;min-height:34px;place-items:center;border-radius:7px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:800;text-decoration:none}
.reportSectionNav a:hover{background:var(--portal-elevated);color:var(--portal-gold)}
.reportSectionBlock{display:grid;gap:10px;scroll-margin-top:70px;border:1px solid var(--portal-border);border-radius:11px;background:color-mix(in srgb,var(--portal-surface) 58%,var(--portal-bg));padding:12px}
.reportSectionHeading{display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--portal-border);padding:1px 1px 10px}
.reportSectionHeading>b{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border:1px solid var(--portal-gold);border-radius:8px;color:var(--portal-gold);font-size:var(--portal-type-caption)}
.reportSectionHeading h3{margin:0;font-size:var(--portal-type-h3)}
.reportSectionHeading p{margin:2px 0 0;color:var(--portal-text-muted);font-size:var(--portal-type-body)}
@media(max-width:1250px){
  .reportFilters{grid-template-columns:repeat(5,1fr)}
  .reportMetricGrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:850px){
  .reportingPage{padding:16px 10px 60px}
  .reportingHeader{align-items:flex-start;flex-direction:column}
  .reportFilters{grid-template-columns:repeat(2,1fr)}
  .reportTwoColumn,.reportCompositionGrid{grid-template-columns:1fr}
  .reportIdentityGrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:520px){
  .reportMetricGrid,.reportHistogramSummary,.reportLifecycle,.reportIdentityGrid{grid-template-columns:1fr}
  .reportCanvas{padding:9px}
  .reportFilters{grid-template-columns:1fr}
  .reportingHeader h1{font-size:var(--portal-type-h1)}
  .reportSectionNav{position:static;grid-template-columns:1fr 1fr}
  .reportSectionHeading{align-items:flex-start}
}

/* Protected terminal-error automation and dashboard */
.terminalAutomationPanel{max-width:1500px;margin:18px auto}
.terminalAutomationPanel>header{border-bottom-color:var(--portal-error)}
.terminalAutomationPanel>header>div>span{color:var(--portal-error)}
.terminalAutomationFlow{grid-template-columns:repeat(3,1fr);gap:1px}
.terminalAutomationFlow>article{border-top:2px solid var(--portal-error)}
.terminalAutomationMeta>div:nth-child(2){border-color:var(--portal-error);background:var(--portal-bg)}
.terminalAutomationMeta>div:nth-child(2) span,.terminalAutomationMeta>div:nth-child(2) strong{color:var(--portal-error)}
.terminalErrorPage{display:grid;gap:16px;max-width:1680px;margin:0 auto;padding:25px 24px 70px;color:var(--portal-text)}
.terminalErrorHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-bottom:1px solid var(--portal-border);padding:3px 0 20px}
.terminalErrorHeader>div>span,.terminalReasonPanel>header span,.terminalIssueTablePanel>header>div>span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.15em}
.terminalErrorHeader h1{margin:6px 0 4px;font-size:var(--portal-type-h1);letter-spacing:-.045em}
.terminalErrorHeader p,.terminalIssueTablePanel header p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.terminalErrorHeader>b{display:flex;align-items:center;gap:7px;border:1px solid var(--portal-success);border-radius:999px;color:var(--portal-success);padding:8px 11px;font-size:var(--portal-type-caption);letter-spacing:.1em}
.terminalErrorHeader>b i{width:7px;height:7px;border-radius:50%;background:var(--portal-success);box-shadow:0 0 9px var(--portal-success)}
.terminalErrorStats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid var(--portal-border);border-radius:12px}
.terminalErrorStats article{display:grid;gap:5px;padding:18px}
.terminalErrorStats span,.terminalSourceHealth span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.12em}
.terminalErrorStats strong{font-size:var(--portal-type-h2);letter-spacing:-.04em}
.terminalErrorStats small,.terminalSourceHealth small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.terminalSourceHealth{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.terminalSourceHealth article{display:grid;grid-template-columns:9px 1fr;gap:10px;align-items:center;border:1px solid var(--portal-border);border-radius:10px;padding:13px}
.terminalSourceHealth article>i{width:8px;height:8px;border-radius:50%;background:var(--portal-error)}
.terminalSourceHealth article.healthy>i{background:var(--portal-success);box-shadow:0 0 10px rgb(var(--portal-success-rgb) / 0.4)}
.terminalSourceHealth article>div{display:grid;gap:3px}
.terminalSourceHealth strong{font-size:var(--portal-type-caption)}
.terminalReasonPanel,.terminalIssueTablePanel{overflow:hidden;border:1px solid var(--portal-border);border-radius:12px}
.terminalReasonPanel>header,.terminalIssueTablePanel>header{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;border-bottom:1px solid var(--portal-border);padding:15px 17px}
.terminalReasonPanel h2,.terminalIssueTablePanel h2{margin:4px 0 2px;font-size:var(--portal-type-h2)}
.terminalReasonPanel>div{display:grid;grid-template-columns:repeat(4,1fr);gap:1px}
.terminalReasonPanel article{position:relative;display:grid;grid-template-columns:auto 1fr;gap:8px;overflow:hidden;min-height:65px;align-items:center;border-right:1px solid var(--portal-border);border-bottom:1px solid var(--portal-border);padding:12px}
.terminalReasonPanel article strong{color:var(--portal-gold);font-size:var(--portal-type-body)}
.terminalReasonPanel article span{overflow:hidden;font-size:var(--portal-type-caption);text-overflow:ellipsis;white-space:nowrap}
.terminalReasonPanel article i{position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--portal-error)}
.terminalReasonPanel>div>p{grid-column:1/-1;margin:0;padding:22px;color:var(--portal-text-muted);font-size:var(--portal-type-body)}
.terminalIssueFilters{display:flex;gap:8px}
.terminalIssueFilters input,.terminalIssueFilters select{height:36px;border:1px solid var(--portal-border);border-radius:8px;color:var(--portal-text);padding:0 11px}
.terminalIssueFilters input{width:min(360px,34vw)}
.terminalIssueTableWrap{max-height:calc(100vh - 390px);min-height:390px;overflow:auto}
.terminalIssueTableWrap table{width:100%;border-collapse:collapse}
.terminalIssueTableWrap th{position:sticky;top:0;z-index:2;background:var(--portal-bg)!important;color:var(--portal-text-muted);padding:10px 12px;font-size:var(--portal-type-caption);letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap}
.terminalIssueTableWrap td{border-top:1px solid var(--portal-border);padding:10px 12px;color:var(--portal-text-muted);font-size:var(--portal-type-small);vertical-align:top}
.terminalIssueTableWrap td strong{color:var(--portal-text)}
.terminalStatusPill{display:inline-block;border:1px solid var(--portal-error);border-radius:999px;color:var(--portal-error);padding:4px 6px;font-size:var(--portal-type-caption);white-space:nowrap}
.terminalSources{display:flex;flex-wrap:wrap;gap:3px}
.terminalSources i{border:1px solid var(--portal-border);border-radius:999px;color:var(--portal-gold);padding:3px 5px;font-size:var(--portal-type-caption);font-style:normal;white-space:nowrap}
.terminalEmptyRow{padding:40px!important;color:var(--portal-text-muted)!important;text-align:center}
@media(max-width:1050px){
  .terminalErrorStats,
.terminalReasonPanel>div{grid-template-columns:1fr 1fr}
  .terminalAutomationFlow{grid-template-columns:1fr}
  .terminalIssueTablePanel>header{align-items:flex-start;flex-direction:column}
  .terminalIssueFilters{width:100%}
  .terminalIssueFilters input{min-width:0;flex:1 1;width:auto}
}
@media(max-width:650px){
  .terminalErrorPage{padding:16px 10px 55px}
  .terminalErrorHeader{align-items:flex-start;flex-direction:column}
  .terminalErrorStats,.terminalSourceHealth,.terminalReasonPanel>div{grid-template-columns:1fr}
  .terminalIssueFilters{flex-direction:column}
  .terminalIssueFilters input,.terminalIssueFilters select{width:100%}
}
.portalRoot{
  --portal-bg:#13191D;
  --portal-bg-rgb:19 25 29;
  --portal-surface:#1C252A;
  --portal-surface-rgb:28 37 42;
  --portal-elevated:#273238;
  --portal-elevated-rgb:39 50 56;
  --portal-border:#3A4A51;
  --portal-border-rgb:58 74 81;
  --portal-text:#EEE9DF;
  --portal-text-rgb:238 233 223;
  --portal-text-muted:#A5ADB0;
  --portal-text-muted-rgb:165 173 176;
  --portal-gold-hover-rgb:127 193 211;
  --portal-blue:#70A5B2;
  --portal-blue-rgb:112 165 178;
  --portal-burgundy:#AA6F80;
  --portal-burgundy-rgb:170 111 128;
  --portal-success:#65A07D;
  --portal-success-rgb:101 160 125;
  --portal-warning:#BE8650;
  --portal-warning-rgb:190 134 80;
  --portal-error:#C36E69;
  --portal-error-rgb:195 110 105;
  --portal-shadow:#000;
  --portal-shadow-rgb:0 0 0;
  --portal-font-heading:var(--font-portal-heading),"Inter Tight",Arial,sans-serif;
  --portal-font-body:var(--font-body),Inter,Arial,sans-serif;
  --portal-space-1:4px;
  --portal-space-2:8px;
  --portal-space-3:12px;
  --portal-space-4:16px;
  --portal-space-6:24px;
  --portal-space-8:32px;
  --portal-space-10:40px;
  --portal-space-12:48px;
  --portal-space-16:64px;
  --portal-radius-input:8px;
  --portal-radius-button:8px;
  --portal-radius-card:12px;
  --portal-radius-modal:16px;
  --portal-radius-pill:999px;
  --portal-shadow-card:0 4px 16px rgb(var(--portal-shadow-rgb) / .2);
  --portal-shadow-menu:0 8px 24px rgb(var(--portal-shadow-rgb) / .3);
  --portal-shadow-modal:0 16px 48px rgb(var(--portal-shadow-rgb) / .4);
  color-scheme:dark;
}

/* Quiet table controls: header labels sort; secondary actions sit below the data. */
.reportTableWrap .reportColumnSort{display:block;width:100%;border:0;border-radius:2px;background:transparent;color:inherit;padding:0;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:inherit;cursor:pointer;box-shadow:none}
.reportTableWrap .reportColumnSort:hover{color:var(--portal-text)}
.reportColumnSort:focus-visible,.reportTableFooter button:focus-visible{outline:1px solid var(--portal-text-muted);outline-offset:4px}
.reportTableFooter{display:flex;align-items:center;gap:8px;min-height:30px;padding:5px 2px;color:var(--portal-text-muted);font-size:11px;line-height:1.4;flex-wrap:wrap}
.reportTableFooter button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:inherit;font:inherit;padding:4px;box-shadow:none;cursor:pointer}
.reportTableFooter .reportCsvDownload{width:28px;height:28px;padding:6px;background:transparent}
.reportCsvDownload svg{display:block}
.reportTableFooter button:hover{color:var(--portal-text);background:transparent}
.reportTableFooter button:disabled{opacity:.35;cursor:default;color:inherit}
.reportTablePagination{display:flex;gap:10px;margin-left:auto}
.reportTableCaption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Keep terminal charts and wide tables scrolling inside the report on small screens. */
.reportingPage,.reportCanvas{min-width:0;grid-template-columns:minmax(0,1fr)}
.reportCanvas>*{min-width:0}

/*!*********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/portal/styles/06-theme-and-identity.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************/
/* Portal-wide design-system foundation. Keep this final so legacy modules inherit one palette. */
.portalRoot{min-height:100vh;background:var(--portal-bg);color:var(--portal-text);font-family:var(--portal-font-body);font-size:var(--portal-type-body)}
.portalWorkspace{min-height:100vh;background:var(--portal-bg);color:var(--portal-text)}
.portalRoot :where(h1,h2,h3,h4,h5){color:var(--portal-text);font-family:var(--portal-font-heading);font-weight:var(--portal-weight-heading)}
.portalRoot :where(button,input,select,textarea){font-family:var(--portal-font-body)}
.portalRoot :where(input,select,textarea)::placeholder{color:var(--portal-text-muted);opacity:1}
.portalRoot :where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--portal-blue);outline-offset:2px}
.portalRoot :where(button,a,input,select,textarea){transition:border-color 150ms ease-out,background-color 150ms ease-out,color 150ms ease-out,opacity 150ms ease-out,box-shadow 150ms ease-out}
.portalRoot :where(table,[class*="Metric"],[class*="Stats"],[class*="Amount"],[class*="Balance"]){font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.portalRoot :where(button:disabled,input:disabled,select:disabled,textarea:disabled){opacity:.45;pointer-events:none}
.portalButton,.reportFilters button,.reportRunPanel form>button,.reportScheduleForm>button{background:var(--portal-gold);color:var(--portal-bg)}
.portalButton:hover,.reportFilters button:hover,.reportRunPanel form>button:hover,.reportScheduleForm>button:hover{background:var(--portal-gold-hover)}
.reportChart svg text{fill:var(--portal-text-muted)}
.portalEyebrow,.knowledgeMapHeader>div>span,.agentIntro>span{color:var(--portal-gold)}
.authPanel>div>p,.portalTop p,.portalForm label,.formHint,.authHelp,.portalIdentity small,.portalSectionTitle span,.portalAppGrid p,.emptyPortal p,.inviteResult p,.userList span,.knowledgeMapHeader p,.agentIntro p,.knowledgeMapHeader label,.graphLegend span,.nodeInspector>p,.nodeInspector dt,.nodeLinks strong,.agentStatus,.agentSetup,.agentReply>div span,.agentReply small,.authRegistration span,.jarvisPrompt small,.replyIdentity span,.agentSources small{color:var(--portal-text-muted)}
.portalForm input,.portalForm select,.inviteResult input{color:var(--portal-text)}
.answerCaveat p{color:var(--portal-warning)}
.jarvisAgentPanel form>button{background:var(--portal-gold);color:var(--portal-bg)}
.jarvisAgentPanel form>button:hover{background:var(--portal-gold-hover)}
@media(max-width:1199px){
  .portalRoot{}
}
@media(max-width:767px){
  .portalRoot{--portal-page-padding:16px}
  .portalRoot :where(button,a,input,select,textarea){min-height:44px}
  .portalContent{width:min(100% - 32px,1440px)}
}
@media(prefers-reduced-motion:reduce){
  .portalRoot *,.portalRoot *:before,.portalRoot *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
.portalRouteLoading{display:grid;min-height:calc(100vh - 64px);place-content:center;justify-items:center;gap:var(--portal-space-2);padding:var(--portal-space-8);background:var(--portal-bg);color:var(--portal-text);text-align:center}
.portalRouteLoading strong{font:600 var(--portal-type-h5)/1.4 var(--portal-font-heading)}
.portalRouteLoading small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.portalLoadingSpinner{position:relative;display:grid;width:52px;height:52px;margin-bottom:var(--portal-space-2);place-items:center;border:1px solid var(--portal-border);border-radius:50%;background:var(--portal-surface);box-shadow:var(--portal-shadow-card)}
.portalLoadingSpinner:before{position:absolute;inset:6px;border:2px solid transparent;border-top-color:var(--portal-gold);border-right-color:var(--portal-blue);border-radius:50%;content:"";animation:portalLoaderSpin .8s linear infinite}
.portalLoadingSpinner i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--portal-gold)}
.portalLoadingSpinner i:nth-child(2){transform:translateX(-10px);background:var(--portal-blue)}
.portalLoadingSpinner i:nth-child(3){transform:translateX(10px);background:var(--portal-success)}
@keyframes portalLoaderSpin{
  to{transform:rotate(360deg)}
}
.dashboardModule{position:relative}
.dashboardModuleLoader{position:absolute;inset:0;z-index:20;display:grid;place-content:center;justify-items:center;gap:var(--portal-space-2);border-radius:inherit;background:rgb(var(--portal-surface-rgb) / .96);color:var(--portal-text);text-align:center}
.dashboardModuleLoader .portalLoadingSpinner{width:42px;height:42px;margin:0}
.dashboardModuleLoader strong{font:600 var(--portal-type-small)/1.4 var(--portal-font-heading)}
.reportingDataLoading{min-height:calc(100vh - 48px);place-content:center;justify-items:center;color:var(--portal-text);text-align:center}
.reportingDataLoading>p{max-width:520px;margin:0;color:var(--portal-text-muted)}
.reportingDataLoading>button{min-height:40px;margin-top:var(--portal-space-3);border:0;border-radius:var(--portal-radius-button);background:var(--portal-gold);color:var(--portal-bg);padding:0 var(--portal-space-4);font-weight:600;cursor:pointer}
.reportingDataLoading>button:hover{background:var(--portal-gold-hover)}
.reportMeanTrendPanel{margin-top:12px}
.reportMeanTrendChart{position:relative;overflow-x:auto}
.reportMeanTrendChart svg{display:block;min-width:900px;width:100%;height:auto}
.reportMeanTrendChart line{stroke:var(--portal-border);stroke-width:1}
.reportMeanTrendChart line.zero{stroke:var(--portal-text-muted);stroke-width:1.4}
.reportMeanTrendChart text{fill:var(--portal-text-muted);font:var(--portal-type-caption) var(--portal-font-body);text-anchor:end}
.reportMeanTrendChart text.month{text-anchor:middle}
.reportMeanTrendChart rect{cursor:pointer;transition:opacity .14s,filter .14s}
.reportMeanTrendChart rect.up{fill:var(--portal-success)}
.reportMeanTrendChart rect.down{fill:var(--portal-error)}
.reportMeanTrendChart rect:hover,.reportMeanTrendChart rect:focus{filter:brightness(1.22);outline:none;opacity:1}
.reportMeanTrendTooltip{position:absolute;top:10px;right:12px;display:grid;gap:4px;min-width:205px;border:1px solid var(--portal-border);border-radius:9px;background:rgb(var(--portal-surface-rgb)/.96);padding:10px;box-shadow:0 12px 30px rgb(var(--portal-shadow-rgb)/.25);pointer-events:none}
.reportMeanTrendTooltip strong{color:var(--portal-gold);font-size:var(--portal-type-small)}
.reportMeanTrendTooltip span,.reportMeanTrendTooltip small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.reportMeanTrendTooltip span b{margin-left:4px;color:var(--portal-text)}

/* Clean, page-aware floating Jarvis */
.jarvisBubblePanel{display:grid;width:min(430px,calc(100vw - 28px));max-height:min(650px,calc(100vh - 118px));grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border-radius:16px;background:var(--portal-surface);box-shadow:var(--portal-shadow-modal)}
.jarvisBubblePanel>header{position:relative;display:flex;min-height:58px;align-items:center;border-bottom:1px solid var(--portal-border);background:var(--portal-surface);padding:10px 13px 10px 16px;-webkit-backdrop-filter:none;backdrop-filter:none}
.jarvisBubblePanel>header div{gap:1px}
.jarvisBubblePanel>header span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.14em}
.jarvisBubblePanel>header strong{color:var(--portal-text);font-size:var(--portal-type-small);font-weight:650}
.jarvisBubblePanel>header button{display:grid;width:30px;height:30px;place-items:center;border:0;background:transparent;color:var(--portal-text-muted);font-size:var(--portal-type-h2);line-height:1}
.jarvisBubblePanel>header button:hover{background:var(--portal-elevated);color:var(--portal-text)}
.jarvisBubbleContext{display:flex;align-items:center;gap:7px;min-width:0;border-bottom:1px solid var(--portal-border);background:var(--portal-bg);padding:7px 16px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.jarvisBubbleContext>i{width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:var(--portal-success);box-shadow:0 0 8px rgb(var(--portal-success-rgb)/.6)}
.jarvisBubbleContext>span{white-space:nowrap}
.jarvisBubbleContext>strong{overflow:hidden;color:var(--portal-text);font-size:var(--portal-type-caption);font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.jarvisBubblePanel .jarvisCompactChat{height:min(520px,calc(100vh - 220px));min-height:390px;gap:12px;border:0;border-radius:0;background:var(--portal-surface);padding:14px}
.jarvisBubblePanel .jarvisCompactThread{gap:9px;padding:2px 2px 4px}
.jarvisBubblePanel .jarvisCompactChat.empty .jarvisCompactThread{align-items:center;justify-content:center}
.jarvisBubblePanel .jarvisCompactWelcome{gap:5px}
.jarvisBubblePanel .jarvisCompactWelcome strong{font-size:var(--portal-type-body)}
.jarvisBubblePanel .jarvisCompactWelcome span{font-size:var(--portal-type-caption)}
.jarvisBubblePanel .jarvisCompactComposer{grid-template-columns:26px minmax(0,1fr) 27px 27px 31px;border-color:var(--portal-border);background:var(--portal-bg);padding:5px}
.jarvisBubblePanel .jarvisCompactComposer:focus-within{border-color:var(--portal-blue);box-shadow:0 0 0 2px rgb(var(--portal-blue-rgb)/.12)}
.jarvisBubblePanel .jarvisCompactUser{background:var(--portal-elevated)}
.jarvisBubblePanel .jarvisCompactAnswer{border:1px solid var(--portal-border);background:var(--portal-bg)}
.jarvisBubblePanel .jarvisCompactMemoryPanel{right:14px;bottom:65px;left:14px;background:var(--portal-bg)}
.jarvisBubblePanel .jarvisCompactError{right:14px;bottom:66px;left:14px}
@media(max-width:560px){
  .jarvisBubblePanel{right:10px;bottom:82px;width:calc(100vw - 20px);max-height:calc(100vh - 95px)}
  .jarvisBubblePanel .jarvisCompactChat{height:calc(100vh - 190px);min-height:330px}
}

/* Chat composers stay visually quiet while typing. */
.portalRoot :where(.jarvisCompactComposer,.jarvisPrompt,.paperworkComposer,.closeoutComposer) textarea:focus,.portalRoot :where(.jarvisCompactComposer,.jarvisPrompt,.paperworkComposer,.closeoutComposer) textarea:focus-visible{outline:none!important;outline-offset:0!important;box-shadow:none!important}
.jarvisBubblePanel .jarvisCompactComposer:focus-within{border-color:var(--portal-border);box-shadow:0 8px 24px rgb(var(--portal-shadow-rgb)/.133)}
.agentSources small a{width:max-content;color:var(--portal-blue);font-size:var(--portal-type-caption);font-weight:750;text-decoration:none}
.agentSources small a:hover{text-decoration:underline}

/* Jarvis calendar answers use an agenda instead of numeric metric cards. */
.agentCalendarAgenda{overflow:hidden;border:1px solid var(--portal-border);border-radius:16px;background:var(--portal-bg);box-shadow:0 18px 45px rgb(var(--portal-shadow-rgb)/.18)}
.agentCalendarAgenda>header{display:grid;grid-template-columns:minmax(180px,1fr) minmax(280px,1.15fr);gap:20px;align-items:end;border-bottom:1px solid var(--portal-border);padding:17px 18px}
.agentCalendarAgenda>header>div:first-child{display:grid;gap:4px}
.agentCalendarAgenda>header>div:first-child>span,.agentCalendarStatus{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:850;letter-spacing:.11em}
.agentCalendarAgenda h4{margin:0;color:var(--portal-text);font-size:var(--portal-type-h3)}
.agentCalendarAgenda header p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.agentCalendarWeek{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.agentCalendarWeek div{display:grid;min-height:43px;place-items:center;border:1px solid transparent;border-radius:9px;color:var(--portal-text-muted)}
.agentCalendarWeek span{font-size:var(--portal-type-caption)}
.agentCalendarWeek strong{font-size:var(--portal-type-small)}
.agentCalendarWeek div.active{border-color:rgb(var(--portal-blue-rgb)/.45);background:rgb(var(--portal-blue-rgb)/.13);color:var(--portal-text)}
.agentCalendarTimeline{display:grid;gap:8px;padding:15px 18px 18px}
.agentCalendarRow{display:grid;grid-template-columns:62px minmax(0,1fr);gap:12px;align-items:stretch}
.agentCalendarTime{display:flex;flex-direction:column;align-items:flex-end;padding-top:9px;color:var(--portal-text)}
.agentCalendarTime strong{font-size:var(--portal-type-caption);white-space:nowrap}
.agentCalendarTime span{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.agentCalendarRow>a{color:inherit;text-decoration:none}
.agentCalendarRow article{position:relative;display:grid;gap:3px;min-height:56px;overflow:hidden;border:1px solid var(--portal-border);border-radius:11px;background:var(--portal-surface);padding:10px 13px 10px 16px}
.agentCalendarRow article:before{position:absolute;inset:0 auto 0 0;width:3px;background:var(--event-color);content:""}
.agentCalendarRow article:hover{border-color:rgb(var(--portal-blue-rgb)/.45);background:var(--portal-elevated)}
.agentCalendarRow h5{margin:0;color:var(--portal-text);font-size:var(--portal-type-body)}
.agentCalendarRow article p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-body)}
.agentCalendarStatus{color:var(--event-color)}
.agentCalendarEmpty{margin:0;color:var(--portal-text-muted);padding:18px;text-align:center}
@media(max-width:700px){
  .agentCalendarAgenda>header{grid-template-columns:1fr}
  .agentCalendarRow{grid-template-columns:52px minmax(0,1fr)}
  .agentCalendarWeek{gap:2px}
  .agentCalendarWeek div{min-height:38px}
}
.jarvisCompactAnswer .agentCalendarAgenda>header{grid-template-columns:minmax(0,1fr);gap:11px;align-items:start}
.jarvisCompactAnswer .agentCalendarWeek{box-sizing:border-box;width:100%;min-width:0;grid-template-columns:repeat(7,minmax(34px,1fr));gap:2px;overflow-x:auto;scrollbar-width:thin}
.jarvisCompactAnswer .agentCalendarWeek div{min-width:34px;min-height:38px}
.jarvisCompactAnswer .agentCalendarAgenda>header,.jarvisCompactAnswer .agentCalendarTimeline{padding-right:11px;padding-left:11px}

/* Stair-stepped accent hierarchy on dark surfaces. */
.dashboardSectionHeader>div>span,.calendarPageHeader>div>span,.reportingHeader span,.reportPageHeading span,.terminalErrorHeader span,.reportAutomationHeader span,.cashPortalHeader>div:first-child>span,.agentCalendarAgenda>header>div:first-child>span{color:var(--portal-gold)}
.dashboardEmailList>a>b,.dashboardEventList time,.dashboardCalendarDay>header span,.dashboardCalendarWeek>header span,.dashboardCalendarWeek article>header span,.dashboardCalendarWeek article>a time,.dashboardEnvelopeMix>div:last-child>span,.dashboardAgeChart header span,.calendarAgenda>header>span,.calendarAgendaList>button>span,.reportRanking header span,.reportHistogramPanel header span,.reportSectionHeading>b,.terminalReasonPanel header span,.terminalIssueTablePanel header span,.cashPanel header span,.cashWorkspaceToolbar>div>span,.agentCalendarTime strong,.replyIdentity strong{color:var(--portal-blue)}
.dashboardRegularEvents time,.dashboardRegularEvents summary b,.dashboardCompleted summary b,.dashboardTerminalMetrics strong,.calendarRegularAgenda button>span,.calendarRegularAgenda>summary b,.calendarEventChip b,.calendarRoutineChip,.agentSources summary,.jarvisCompactFiles summary b{color:color-mix(in srgb,var(--portal-blue) 68%,var(--portal-text-muted))}
.calendarAgendaList>button.priority{border-color:color-mix(in srgb,var(--portal-blue) 35%,var(--portal-border));background:linear-gradient(90deg,color-mix(in srgb,var(--portal-blue) 10%,var(--portal-bg)),var(--portal-bg) 70%)}
.calendarAgendaList>button.priority:hover,.calendarAgendaList>button.priority.active{border-color:var(--portal-blue);background:color-mix(in srgb,var(--portal-blue) 13%,var(--portal-bg))}
.reportActiveFilters>strong{color:color-mix(in srgb,var(--portal-blue) 72%,var(--portal-text-muted))}
.dashboardSectionHeader>a,.reportHistogramPanel>header>b{border-color:var(--portal-blue)}
.dashboardSectionHeader>a b,.reportHistogramPanel>header>b{color:var(--portal-blue)}

/* Section identity system: each operational domain owns one icon and accent. */
.dashboardModule,.dashboardCashSection{--section-accent:var(--portal-border);box-shadow:inset 0 2px var(--section-accent)}
.dashboardEmail{--section-accent:var(--portal-burgundy)}
.dashboardCalendar{--section-accent:var(--portal-blue)}
.dashboardDocuSign{--section-accent:var(--portal-gold)}
.dashboardReportSummary{--section-accent:var(--portal-success)}
.dashboardTerminalSummary{--section-accent:var(--portal-burgundy)}
.dashboardCashSection{--section-accent:var(--portal-success)}
.dashboardSectionHeader>div>span{display:flex;align-items:center;gap:7px;color:var(--section-accent)}
.dashboardSectionHeader>div>span:before{display:grid;width:19px;height:19px;flex:0 0 19px;place-items:center;border:1px solid color-mix(in srgb,var(--section-accent) 62%,transparent);border-radius:6px;background:color-mix(in srgb,var(--section-accent) 12%,transparent);color:var(--section-accent);font-size:var(--portal-type-caption);line-height:1;letter-spacing:0}
.dashboardEmail .dashboardSectionHeader>div>span:before{content:"✉"}
.dashboardCalendar .dashboardSectionHeader>div>span:before{content:"▦"}
.dashboardDocuSign .dashboardSectionHeader>div>span:before{content:"▤"}
.dashboardReportSummary .dashboardSectionHeader>div>span:before{content:"↗"}
.dashboardTerminalSummary .dashboardSectionHeader>div>span:before{content:"!"}
.dashboardCashSection .dashboardSectionHeader>div>span:before{content:"$"}
.dashboardEmailList>a>b{color:var(--portal-burgundy)}
.dashboardEmailList>a:hover strong{color:var(--portal-burgundy)}
.dashboardCalendarDay,.dashboardCalendarWeek{border-top-color:var(--portal-blue)}
.dashboardTerminalMetrics>a:first-child strong{color:var(--portal-burgundy)}
.dashboardTerminalList i{background:var(--portal-burgundy)}
.dashboardReportMetric:hover{border-color:var(--portal-success)}
.dashboardReportMetric>small.up{color:var(--portal-success)}
.dashboardMarketPulse>div:first-child span{color:var(--portal-success)}
.terminalSourceHealth article:nth-child(1){border-top-color:var(--portal-blue)}
.terminalSourceHealth article:nth-child(2){border-top-color:var(--portal-burgundy)}
.terminalSourceHealth article:nth-child(3){border-top-color:var(--portal-success)}
.terminalReasonPanel{box-shadow:inset 0 2px var(--portal-burgundy)}
.terminalIssueTablePanel{box-shadow:inset 0 2px var(--portal-blue)}
.terminalReasonPanel article strong{color:var(--portal-burgundy)}
.reportMetricGrid>*:nth-child(4n+1){border-top-color:var(--portal-gold)}
.reportMetricGrid>*:nth-child(4n+2){border-top-color:var(--portal-blue)}
.reportMetricGrid>*:nth-child(4n+3){border-top-color:var(--portal-success)}
.reportMetricGrid>*:nth-child(4n){border-top-color:var(--portal-burgundy)}
.reportTabs button:nth-child(4n+1).active{border-color:var(--portal-gold);color:var(--portal-gold)}
.reportTabs button:nth-child(4n+2).active{border-color:var(--portal-blue);color:var(--portal-blue)}
.reportTabs button:nth-child(4n+3).active{border-color:var(--portal-success);color:var(--portal-success)}
.reportTabs button:nth-child(4n).active{border-color:var(--portal-burgundy);color:var(--portal-burgundy)}

/* Shade depth inside each identity family: signal, action, then supporting metadata. */
.dashboardModule,.dashboardCashSection{box-shadow:inset 0 2px color-mix(in srgb,var(--section-accent) 76%,var(--portal-border))}
.dashboardModule .dashboardSectionHeader>div>span,.dashboardCashSection .dashboardSectionHeader>div>span{color:var(--section-accent)}
.dashboardModule .dashboardSectionHeader>div>span:before,.dashboardCashSection .dashboardSectionHeader>div>span:before{border-color:color-mix(in srgb,var(--section-accent) 58%,var(--portal-border));background:color-mix(in srgb,var(--section-accent) 12%,var(--portal-bg));color:color-mix(in srgb,var(--section-accent) 92%,var(--portal-text))}
.dashboardModule .dashboardSectionHeader h2,.dashboardCashSection .dashboardSectionHeader h2{color:var(--portal-text)}
.dashboardModule .dashboardSectionHeader p,.dashboardCashSection .dashboardSectionHeader p{color:color-mix(in srgb,var(--section-accent) 24%,var(--portal-text-muted))}
.dashboardModule .dashboardSectionHeader>a,.dashboardCashSection .dashboardSectionHeader>a{border-color:color-mix(in srgb,var(--section-accent) 48%,var(--portal-border));color:var(--portal-text)}
.dashboardModule .dashboardSectionHeader>a b,.dashboardCashSection .dashboardSectionHeader>a b{color:color-mix(in srgb,var(--section-accent) 78%,var(--portal-text-muted))}
.dashboardModule .dashboardSectionHeader>a:hover,.dashboardCashSection .dashboardSectionHeader>a:hover{border-color:var(--section-accent);background:color-mix(in srgb,var(--section-accent) 8%,var(--portal-bg))}
.dashboardEmailList>a>div>span,.dashboardEmailList time{color:color-mix(in srgb,var(--portal-burgundy) 38%,var(--portal-text-muted))}
.dashboardEmailList p{color:color-mix(in srgb,var(--portal-burgundy) 16%,var(--portal-text-muted))}
.dashboardCalendar .dashboardEventList time,.dashboardCalendarWeek article>a time{color:color-mix(in srgb,var(--portal-blue) 88%,var(--portal-text))}
.dashboardCalendarWeek article>header span,.dashboardCalendarDay>header span{color:color-mix(in srgb,var(--portal-blue) 72%,var(--portal-text-muted))}
.dashboardCalendarWeek article>small:last-child,.dashboardRegularEvents time{color:color-mix(in srgb,var(--portal-blue) 52%,var(--portal-text-muted))}
.dashboardRegularEvents summary,.dashboardCalendarWeek article>p{color:color-mix(in srgb,var(--portal-blue) 22%,var(--portal-text-muted))}
.dashboardDocuSign .dashboardEnvelopeMix>div:last-child>span,.dashboardDocuSign .dashboardAgeChart header span{color:color-mix(in srgb,var(--portal-gold) 78%,var(--portal-text-muted))}
.dashboardDocuSign .dashboardEnvelopeList span,.dashboardDocuSign .dashboardEnvelopeList small{color:color-mix(in srgb,var(--portal-gold) 18%,var(--portal-text-muted))}
.dashboardDocuSign .dashboardCompleted summary b{color:color-mix(in srgb,var(--portal-gold) 66%,var(--portal-text-muted))}
.dashboardReportSummary .dashboardReportMetric>span,.dashboardReportSummary .dashboardMarketPulse>div:first-child span{color:color-mix(in srgb,var(--portal-success) 72%,var(--portal-text-muted))}
.dashboardReportSummary .dashboardReportMetric>small.neutral,.dashboardReportSummary .dashboardMarketPulse>small{color:color-mix(in srgb,var(--portal-success) 20%,var(--portal-text-muted))}
.dashboardTerminalSummary .dashboardTerminalMetrics span{color:color-mix(in srgb,var(--portal-burgundy) 65%,var(--portal-text-muted))}
.dashboardTerminalSummary .dashboardTerminalMetrics small,.dashboardTerminalSummary .dashboardTerminalList span{color:color-mix(in srgb,var(--portal-burgundy) 20%,var(--portal-text-muted))}
.dashboardTerminalSummary .dashboardTerminalList b{color:color-mix(in srgb,var(--portal-burgundy) 74%,var(--portal-text-muted))}
.terminalReasonPanel article span{color:color-mix(in srgb,var(--portal-burgundy) 42%,var(--portal-text-muted))}
.terminalReasonPanel article i{background:color-mix(in srgb,var(--portal-burgundy) 72%,var(--portal-error))}
.terminalSourceHealth article strong{color:var(--portal-text)}
.terminalSourceHealth article small{color:color-mix(in srgb,var(--portal-success) 18%,var(--portal-text-muted))}

/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/portal/styles/07-workspace-refinements.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************/
/* Company task tracker */
.taskWorkspace{min-height:100vh;padding:28px;color:var(--portal-text);background:var(--portal-bg)}
.taskWorkspaceHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px;border-bottom:1px solid var(--portal-border);padding-bottom:20px}
.taskWorkspaceHeader span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.16em}
.taskWorkspaceHeader h1{margin:5px 0 4px;font-size:var(--portal-type-h1);letter-spacing:-.045em}
.taskWorkspaceHeader p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.taskWorkspaceHeader>button,.taskModal footer button:last-child{border:1px solid var(--portal-gold);border-radius:9px;background:var(--portal-gold);color:var(--portal-bg);padding:11px 16px;font-weight:900;cursor:pointer}
.taskStats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
.taskStats article{display:grid;gap:5px;border:1px solid var(--portal-border);border-top:2px solid var(--portal-blue);border-radius:12px;background:var(--portal-panel);padding:15px}
.taskStats article:nth-child(2){border-top-color:var(--portal-success)}
.taskStats article:nth-child(3){border-top-color:var(--portal-gold)}
.taskStats article:nth-child(4){border-top-color:var(--portal-burgundy)}
.taskStats span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.12em}
.taskStats strong{font-size:var(--portal-type-h1)}
.taskStats small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.taskToolbar{display:flex;align-items:flex-end;gap:10px;margin-bottom:14px;border:1px solid var(--portal-border);border-radius:12px;background:var(--portal-panel);padding:10px}
.taskToolbar label{display:grid;min-width:270px;gap:4px}
.taskToolbar label span{color:var(--portal-blue);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.taskToolbar input,.taskToolbar button{height:36px;border:1px solid var(--portal-border);border-radius:7px;background:var(--portal-bg);color:var(--portal-text);padding:0 11px}
.taskToolbar button{cursor:pointer}
.taskToolbar button.active{border-color:var(--portal-blue);color:var(--portal-blue);background:color-mix(in srgb,var(--portal-blue) 8%,var(--portal-bg))}
.taskToolbar>span{margin-left:auto;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.taskBoard{display:grid;grid-template-columns:repeat(5,minmax(220px,1fr));gap:10px;align-items:start;overflow-x:auto;padding-bottom:12px}
.taskColumn{min-height:480px;border:1px solid var(--portal-border);border-radius:13px;background:color-mix(in srgb,var(--portal-panel) 72%,var(--portal-bg));padding:9px}
.taskColumn>header{display:flex;align-items:center;justify-content:space-between;padding:5px 5px 12px}
.taskColumn>header div{display:flex;align-items:center;gap:7px}
.taskColumn>header i{width:7px;height:7px;border-radius:50%;background:var(--portal-text-muted)}
.taskColumn.todo>header i{background:var(--portal-blue)}
.taskColumn.in_progress>header i{background:var(--portal-gold)}
.taskColumn.blocked>header i{background:var(--portal-burgundy)}
.taskColumn.done>header i{background:var(--portal-success)}
.taskColumn>header strong{font-size:var(--portal-type-small)}
.taskColumn>header b{display:grid;width:23px;height:23px;place-items:center;border-radius:50%;background:var(--portal-elevated);color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.taskColumn>div{display:grid;gap:8px}
.taskCard{border:1px solid var(--portal-border);border-left:3px solid var(--portal-blue);border-radius:10px;background:var(--portal-panel);padding:11px;box-shadow:0 8px 20px rgb(var(--portal-shadow-rgb)/.12)}
.taskCard.priority-low{border-left-color:var(--portal-text-muted)}
.taskCard.priority-medium{border-left-color:var(--portal-blue)}
.taskCard.priority-high{border-left-color:var(--portal-gold)}
.taskCard.priority-urgent{border-left-color:var(--portal-burgundy)}
.taskCard>header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.taskCard>header span{color:var(--portal-blue);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.1em}
.taskCard.priority-high>header span{color:var(--portal-gold)}
.taskCard.priority-urgent>header span{color:var(--portal-burgundy)}
.taskCard select{max-width:105px;border:0;background:transparent;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.taskCard h3{margin:10px 0 5px;font-size:var(--portal-type-h3);line-height:var(--portal-leading-heading)}
.taskCard p{display:-webkit-box;margin:0;overflow:hidden;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.taskLabels{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.taskLabels span{border-radius:99px;background:color-mix(in srgb,var(--portal-blue) 10%,var(--portal-bg));color:color-mix(in srgb,var(--portal-blue) 62%,var(--portal-text-muted));padding:3px 6px;font-size:var(--portal-type-caption)}
.taskCard>footer{display:flex;align-items:center;justify-content:space-between;margin-top:11px;border-top:1px solid var(--portal-border);padding-top:9px}
.taskAssignee{display:flex;align-items:center;gap:6px}
.taskAssignee i{display:grid;width:20px;height:20px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--portal-blue) 20%,var(--portal-elevated));color:var(--portal-blue);font-size:var(--portal-type-caption);font-style:normal;font-weight:900}
.taskAssignee span,.taskCard time{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.taskCard time.overdue{color:var(--portal-burgundy);font-weight:850}
.taskIssueTranscript{margin-top:8px;border:1px solid var(--portal-border);border-radius:7px;background:var(--portal-bg)}
.taskIssueTranscript summary{cursor:pointer;color:var(--portal-blue);padding:7px 8px;font-size:var(--portal-type-caption);font-weight:850;list-style-position:inside}
.taskIssueTranscript[open] summary{border-bottom:1px solid var(--portal-border)}
.taskCard .taskIssueTranscript p{display:block;max-height:320px;overflow:auto;margin:0;padding:9px;color:var(--portal-text-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:var(--portal-type-body);line-height:1.55;white-space:pre-wrap;-webkit-line-clamp:unset}
.taskSource{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:7px;margin-top:8px;border:1px solid color-mix(in srgb,var(--portal-blue) 30%,var(--portal-border));border-radius:7px;background:color-mix(in srgb,var(--portal-blue) 5%,var(--portal-bg));padding:6px;color:var(--portal-text)}
.taskSource>b{display:grid;width:21px;height:21px;place-items:center;border-radius:5px;background:var(--portal-blue);color:var(--portal-bg);font-size:var(--portal-type-caption)}
.taskSource>span{display:grid;min-width:0}
.taskSource strong,.taskSource small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.taskSource strong{font-size:var(--portal-type-caption)}
.taskSource small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.taskSource>i{color:var(--portal-blue);font-style:normal}
.taskSource.gmail{border-color:color-mix(in srgb,var(--portal-burgundy) 30%,var(--portal-border))}
.taskSource.gmail>b{background:var(--portal-burgundy)}
.taskSource.dropbox>b{background:var(--portal-blue)}
.taskSource.calendar>b{background:var(--portal-success)}
.taskError{border:1px solid var(--portal-burgundy);border-radius:8px;background:color-mix(in srgb,var(--portal-burgundy) 8%,var(--portal-bg));color:var(--portal-burgundy);padding:9px 12px;font-size:var(--portal-type-caption)}
.taskLoading{display:flex;min-height:360px;align-items:center;justify-content:center;gap:10px;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.taskModal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:rgb(var(--portal-shadow-rgb)/.72);padding:20px}
.taskModal>form{display:grid;width:min(620px,100%);max-height:92vh;gap:13px;overflow:auto;border:1px solid var(--portal-border);border-top:2px solid var(--portal-gold);border-radius:16px;background:var(--portal-panel);padding:20px;box-shadow:0 30px 90px var(--portal-shadow)}
.taskModal>form>header{display:flex;align-items:flex-start;justify-content:space-between}
.taskModal header span,.taskModal legend{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.14em}
.taskModal h2{margin:4px 0 0}
.taskModal header>button{border:0;background:transparent;color:var(--portal-text-muted);font-size:var(--portal-type-h2);cursor:pointer}
.taskModal label{display:grid;gap:5px}
.taskModal label>span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:800}
.taskModal input,.taskModal textarea,.taskModal select{box-sizing:border-box;width:100%;border:1px solid var(--portal-border);border-radius:7px;background:var(--portal-bg);color:var(--portal-text);padding:9px;font:inherit;font-size:var(--portal-type-body)}
.taskFormGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.taskModal fieldset{display:grid;gap:10px;border:1px solid var(--portal-border);border-radius:10px;padding:12px}
.taskModal footer{display:flex;justify-content:flex-end;gap:8px}
.taskModal footer button:first-child{border:1px solid var(--portal-border);border-radius:8px;background:transparent;color:var(--portal-text-muted);padding:10px 14px;cursor:pointer}
.dashboardTasks{--section-accent:var(--portal-blue)}
.dashboardTaskMetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}
.dashboardTaskMetrics>a{display:grid;gap:3px;border:1px solid var(--portal-border);border-top:2px solid color-mix(in srgb,var(--portal-blue) 70%,var(--portal-border));border-radius:8px;padding:9px;color:var(--portal-text)}
.dashboardTaskMetrics span,.dashboardTaskMetrics small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardTaskMetrics strong{font-size:var(--portal-type-h2)}
.dashboardTaskList{display:grid;margin-top:10px}
.dashboardTaskList>a{display:grid;grid-template-columns:7px 1fr auto;align-items:center;gap:9px;border-top:1px solid var(--portal-border);padding:9px 2px;color:var(--portal-text)}
.dashboardTaskList>a>i{width:6px;height:6px;border-radius:50%;background:var(--portal-blue)}
.dashboardTaskList>a>i.high{background:var(--portal-gold)}
.dashboardTaskList>a>i.urgent{background:var(--portal-burgundy)}
.dashboardTaskList>a>div{display:grid;gap:2px;min-width:0}
.dashboardTaskList strong,.dashboardTaskList span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboardTaskList strong{font-size:var(--portal-type-caption)}
.dashboardTaskList span,.dashboardTaskList>a>b{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardTaskList>a:hover strong{color:var(--portal-blue)}
@media(max-width:1100px){
  .taskStats{grid-template-columns:repeat(2,1fr)}
  .taskBoard{grid-template-columns:repeat(5,260px)}
}
@media(max-width:700px){
  .taskWorkspace{padding:16px}
  .taskWorkspaceHeader{align-items:flex-start;flex-direction:column}
  .taskStats{grid-template-columns:1fr 1fr}
  .taskToolbar{align-items:stretch;flex-direction:column}
  .taskToolbar label{min-width:0}
  .taskToolbar>span{margin-left:0}
  .taskFormGrid{grid-template-columns:1fr}
  .dashboardTaskMetrics{grid-template-columns:1fr 1fr}
}

/* Dashboard operational priority: Jarvis/calendar left; tasks/terminal/performance right. */
@media(min-width:1151px){
  .dashboardIntelligenceRow{grid-template-areas:"jarvis tasks" "calendar terminal" "email performance" "shortcuts shortcuts";grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;min-height:0}
  .dashboardJarvisStack,.dashboardTopRightRail{display:contents;height:auto}
  .dashboardJarvisPanel{grid-area:jarvis;min-height:425px}
  .dashboardCalendar{grid-area:calendar}
  .dashboardEmail{grid-area:email}
  .dashboardTasks{grid-area:tasks}
  .dashboardTerminalSummary{grid-area:terminal}
  .dashboardReportSummary{grid-area:performance}
  .dashboardAgentShortcuts{grid-area:shortcuts}
}

/* Dashboard color contract: neutral containers; identity color belongs only to title and icon. */
.operationsDashboard{--dashboard-outline:color-mix(in srgb,var(--portal-text) 24%,var(--portal-border))}
.operationsDashboard .dashboardModule,.operationsDashboard .dashboardJarvisPanel,.operationsDashboard .dashboardAgentShortcuts>a,.operationsDashboard .dashboardCashSection{border-color:var(--dashboard-outline);box-shadow:none}
.operationsDashboard .dashboardSectionHeader>div>span{color:var(--section-accent)}
.operationsDashboard .dashboardSectionHeader>div>span:before{border-color:color-mix(in srgb,var(--section-accent) 58%,var(--dashboard-outline));background:color-mix(in srgb,var(--section-accent) 10%,var(--portal-bg));color:var(--section-accent)}
.operationsDashboard .dashboardSectionHeader h2{color:var(--section-accent)}
.operationsDashboard .dashboardSectionHeader p{color:var(--portal-text-muted)}
.operationsDashboard .dashboardSectionHeader>a{border-color:var(--dashboard-outline);color:var(--portal-text)}
.operationsDashboard .dashboardSectionHeader>a b{color:var(--portal-text-muted)}
.operationsDashboard .dashboardSectionHeader>a:hover{border-color:color-mix(in srgb,var(--portal-text) 45%,var(--dashboard-outline));background:var(--portal-surface)}
.operationsDashboard :where(.dashboardTaskMetrics>a,.dashboardTerminalMetrics>a,.dashboardReportMetric,.dashboardCalendarDay,.dashboardCalendarWeek,.dashboardEnvelopeMix,.dashboardAgeChart,.dashboardCashFact,.dashboardCashChart){border-color:var(--dashboard-outline);border-top-color:var(--dashboard-outline);box-shadow:none}
.operationsDashboard :where(.dashboardTaskMetrics span,.dashboardTerminalMetrics span,.dashboardReportMetric>span,.dashboardMarketPulse span,.dashboardCalendarDay>header span,.dashboardCalendarWeek>header span,.dashboardCalendarWeek article>header span,.dashboardRegularEvents summary,.dashboardEnvelopeMix span,.dashboardAgeChart span){color:var(--portal-text-muted)}
.operationsDashboard :where(.dashboardTaskMetrics strong,.dashboardTerminalMetrics strong,.dashboardReportMetric>strong,.dashboardCalendarDay strong,.dashboardCalendarWeek strong,.dashboardEventList strong,.dashboardEmailList strong,.dashboardEnvelopeMix strong,.dashboardAgeChart strong){color:var(--portal-text)}
.operationsDashboard :where(.dashboardTaskMetrics small,.dashboardTerminalMetrics small,.dashboardReportMetric>small.neutral,.dashboardMarketPulse>small,.dashboardCalendarWeek article>p,.dashboardCalendarWeek article>small:last-child,.dashboardEmailList span,.dashboardEmailList p,.dashboardEmailList time,.dashboardTerminalList span,.dashboardEnvelopeList span,.dashboardEnvelopeList small){color:var(--portal-text-muted)}
.operationsDashboard .dashboardCalendar :where(.dashboardEventList time,.dashboardCalendarWeek article>a time,.dashboardRegularEvents time){color:var(--portal-text)}
.operationsDashboard .dashboardEmailList>a>b,
.operationsDashboard .dashboardTerminalList b{color:var(--portal-text-muted)}
.operationsDashboard .dashboardTerminalList i{background:var(--portal-text-muted)}
.operationsDashboard .dashboardMarketPulse,.operationsDashboard .dashboardTerminalList>a,.operationsDashboard .dashboardEmailList>a,.operationsDashboard .dashboardEventList>a,.operationsDashboard .dashboardTaskList>a{border-color:var(--dashboard-outline)}
.operationsDashboard .dashboardTaskMetrics>a,
.operationsDashboard .dashboardCalendarDay,.operationsDashboard .dashboardCalendarWeek{border-top-color:var(--dashboard-outline)}
.operationsDashboard :is(.dashboardTasks,.dashboardCalendar,.dashboardTerminalSummary,.dashboardEmail,.dashboardReportSummary) .dashboardSectionHeader h2{color:var(--portal-gold)}
.operationsDashboard .dashboardCashSection .dashboardSectionHeader h2{color:var(--portal-gold)}
.operationsDashboard .dashboardReportSummary .dashboardMarketPulse>div:first-child>span{color:var(--portal-gold)}
.operationsDashboard .dashboardTerminalSummary .dashboardTerminalMetrics span{color:var(--portal-text)}
.operationsDashboard .dashboardSectionHeader>div>span,.operationsDashboard .dashboardSectionHeader>div>p{display:none}
.operationsDashboard .dashboardSectionHeader{align-items:center}
.operationsDashboard .dashboardSectionHeader h2{margin:0}
.operationsDashboard .dashboardReportSummary .dashboardReportMetric>span{color:var(--portal-gold)}

/* Jarvis hands-free conversation */
.jarvisCompactComposer{grid-template-columns:28px minmax(0,1fr) 27px 27px 27px 27px 31px}
.jarvisVoiceButton{position:relative;border:1px solid var(--portal-border)!important;background:var(--portal-bg)!important;color:var(--portal-text-muted)!important}
.jarvisVoiceButton>span{display:grid;width:100%;height:100%;place-items:center;color:currentColor;line-height:1}
.jarvisVoiceButton>span:before{display:none}
.jarvisVoiceButton .jarvisMicrophone svg{display:block;width:17px;height:17px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.jarvisVoiceButton .jarvisMicrophone svg rect{fill:none}
.jarvisVoiceButton:hover,.jarvisVoiceButton.active{border-color:var(--portal-blue)!important;color:var(--portal-blue)!important}
.jarvisVoiceButton.active.listening{animation:jarvisVoicePulse 1.25s ease-in-out infinite}
.jarvisVoiceButton.active.speaking{border-color:var(--portal-gold)!important;color:var(--portal-gold)!important}
.jarvisVoiceButton.active.error{border-color:var(--portal-error)!important;color:var(--portal-error)!important}
.jarvisVoiceStatus{position:absolute;right:22px;bottom:67px;left:22px;z-index:8;display:flex;align-items:center;gap:8px;border:1px solid var(--dashboard-outline,var(--portal-border));border-radius:999px;background:color-mix(in srgb,var(--portal-bg) 92%,transparent)!important;padding:7px 9px;color:var(--portal-text);box-shadow:0 10px 30px var(--portal-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.jarvisVoiceStatus>i{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:var(--portal-blue)}
.jarvisVoiceStatus.listening>i{box-shadow:0 0 0 5px rgb(var(--portal-blue-rgb)/.12);animation:jarvisVoicePulse 1.25s ease-in-out infinite}
.jarvisVoiceStatus.thinking>i{background:var(--portal-gold)}
.jarvisVoiceStatus.speaking>i{background:var(--portal-success);animation:jarvisVoicePulse .7s ease-in-out infinite}
.jarvisVoiceStatus strong{min-width:0;flex:1 1;font-size:var(--portal-type-caption)}
.jarvisVoiceStatus button{border:0;background:transparent;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:850;cursor:pointer}
.jarvisAgentPanel>form{grid-template-columns:minmax(0,1fr) auto auto}
.jarvisVoiceButtonFull{display:flex!important;width:auto!important;min-width:92px!important;height:auto!important;align-items:center;justify-content:center;gap:7px;padding:0 12px!important}
.jarvisVoiceStatusFull{position:static;grid-column:2/4;margin-top:-3px}
.dashboardJarvisPanel .jarvisAgentPanel form{grid-template-columns:minmax(0,1fr) auto auto}
.dashboardJarvisPanel .jarvisVoiceButtonFull{min-width:42px!important;font-size:0}
.dashboardJarvisPanel .jarvisVoiceButtonFull>span{font-size:var(--portal-type-caption)}
@keyframes jarvisVoicePulse{
  0%,100%{box-shadow:0 0 0 0 rgb(var(--portal-blue-rgb)/.08)}
  50%{box-shadow:0 0 0 6px rgb(var(--portal-blue-rgb)/.18)}
}
@media(max-width:700px){
  .jarvisAgentPanel>form{grid-template-columns:1fr auto!important}
  .jarvisPrompt{grid-column:1/-1}
  .jarvisVoiceButtonFull{min-height:46px}
  .jarvisVoiceStatusFull{grid-column:1/-1}
  .jarvisCompactComposer{grid-template-columns:28px minmax(0,1fr) 27px 27px 27px 27px 31px}
}

/* Compact Jarvis keeps the brain as a fixed backdrop with conversation cards above it. */
.jarvisCompactChat .jarvisCompactThread{position:relative;display:block;min-height:0;overflow:hidden;text-align:left}
.jarvisCompactChat .jarvisCompactBrain{position:absolute;inset:0;z-index:0;width:100%;height:100%;min-height:0;overflow:hidden}
.jarvisCompactChat .jarvisCompactBrain .knowledgeMapPanel,.jarvisCompactChat .jarvisCompactBrain .knowledgeMapLayout{height:100%}
.jarvisCompactChat .jarvisCompactBrain .graphCanvas3d,.jarvisCompactChat .jarvisCompactBrain .graphCanvas3d canvas{height:100%;min-height:100%}
.jarvisCompactMessages{position:absolute;inset:8px;z-index:3;display:flex;min-height:0;flex-direction:column;gap:9px;overflow-y:auto;padding:6px;scrollbar-width:thin;pointer-events:auto}
.jarvisCompactChat.empty .jarvisCompactMessages{pointer-events:none}
.jarvisCompactMessages>.jarvisCompactUser:first-child,.jarvisCompactMessages>.jarvisCompactAnswer:first-child,.jarvisCompactMessages>.jarvisCompactThinking:first-child{margin-top:auto}
.jarvisCompactMessages .jarvisCompactUser,.jarvisCompactMessages .jarvisCompactAnswer,.jarvisCompactMessages .jarvisCompactThinking{box-sizing:border-box;border:1px solid color-mix(in srgb,var(--portal-text) 24%,var(--portal-border));background:#090a0b!important;box-shadow:0 10px 30px rgb(var(--portal-shadow-rgb)/.42);-webkit-backdrop-filter:none;backdrop-filter:none}
.jarvisCompactMessages .jarvisCompactUser{align-self:flex-end;width:min(78%,560px);padding:10px 12px}
.jarvisCompactMessages .jarvisCompactAnswer{align-self:flex-start;width:min(88%,720px);padding:12px 14px}
.jarvisCompactMessages .jarvisCompactThinking{align-self:flex-start;border-radius:10px;padding:9px 12px}
.jarvisCompactMessages .jarvisCompactAnswer :where(section,article,div,header,footer){background-color:transparent!important}
.jarvisCompactChat.active{min-height:292px;height:100%}
.jarvisCompactChat.active .jarvisCompactThread{min-height:0}
@media(max-width:1150px){
  .dashboardIntelligenceRow{grid-template-areas:"jarvis" "tasks" "calendar" "terminal" "performance" "email" "shortcuts";grid-template-columns:1fr;align-items:start}
  .dashboardJarvisStack,.dashboardTopRightRail{display:contents}
  .dashboardJarvisPanel{grid-area:jarvis}
  .dashboardTasks{grid-area:tasks}
  .dashboardCalendar{grid-area:calendar}
  .dashboardTerminalSummary{grid-area:terminal}
  .dashboardReportSummary{grid-area:performance}
  .dashboardEmail{grid-area:email}
  .dashboardAgentShortcuts{grid-area:shortcuts}
}

/* Independent column flow: cards stack to their own content height with no shared-row voids. */
@media(min-width:1151px){
  .dashboardIntelligenceRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
  .dashboardJarvisStack,.dashboardTopRightRail{display:flex;height:auto;flex-direction:column;gap:14px;align-self:start}
  .dashboardJarvisPanel{order:1}
  .dashboardJarvisStack .dashboardTerminalSummary{order:2}
  .dashboardJarvisStack .dashboardReportSummary{order:3}
  .dashboardAgentShortcuts{order:4}
  .dashboardTopRightRail .dashboardTasks{order:1}
  .dashboardTopRightRail .dashboardCalendar{order:2}
  .dashboardTopRightRail .dashboardEmail{order:3}
}

/* The brain is an absolute backdrop, so it cannot establish the card's height.
   Keep the dashboard Jarvis frame explicit instead of relying on competing grid
   and flex intrinsic-size calculations. */
.operationsDashboard .dashboardJarvisPanel{
  display:block!important;
  width:100%;
  height:425px;
  min-height:425px;
  flex:0 0 425px;
  visibility:visible;
  opacity:1;
}
.operationsDashboard .dashboardJarvisPanel>.jarvisCompactChat{
  display:grid;
  width:100%;
  height:100%;
  min-height:100%;
}
.operationsDashboard .dashboardJarvisPanel>.jarvisCompactChat.empty{display:block}
.operationsDashboard .dashboardJarvisPanel .jarvisCompactBrain{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  width:100%;
  height:100%;
  min-height:100%;
  overflow:hidden;
  visibility:visible;
  opacity:1;
}
.operationsDashboard .dashboardJarvisPanel .jarvisCompactThread{z-index:2;background:transparent!important}
.operationsDashboard .dashboardJarvisPanel .jarvisCompactMessages{background:transparent!important}
.operationsDashboard .dashboardJarvisPanel .jarvisCompactComposer{position:relative;z-index:4}
.operationsDashboard .dashboardJarvisPanel .jarvisCompactBrain :where(.knowledgeMapPanel,.knowledgeMapLayout,.graphCanvas3d,.graphCanvas3d canvas){height:100%;min-height:100%;visibility:visible;opacity:1}
.operationsDashboard .dashboardJarvisPanel .jarvisCompactChat.empty .jarvisCompactThread{pointer-events:none}
.operationsDashboard .dashboardJarvisPanel .jarvisCompactChat.empty .jarvisCompactComposer{pointer-events:auto}
.portalRoot .graphCameraControls{display:none!important}
.jarvisInlineFiles{display:grid;gap:8px;margin-top:11px;border-top:1px solid var(--portal-border);padding-top:10px;background:transparent!important}
.jarvisInlineFiles>strong{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.jarvisInlineFiles>div{display:grid;gap:6px;background:transparent!important}
.jarvisInlineFiles article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--dashboard-outline,var(--portal-border));border-radius:9px;background:#090a0b!important;padding:9px 10px}
.jarvisInlineFiles article>span{overflow:hidden;color:var(--portal-text);font-size:var(--portal-type-caption);font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.jarvisInlineFiles article>a{border:1px solid var(--portal-blue);border-radius:7px;color:var(--portal-blue);padding:6px 8px;font-size:var(--portal-type-caption);font-weight:850;text-decoration:none;white-space:nowrap}
.jarvisInlineFiles article>a:hover{background:color-mix(in srgb,var(--portal-blue) 12%,transparent)!important;color:var(--portal-text)}
.jarvisCompactFullscreen{border:1px solid var(--portal-border)!important;background:var(--portal-bg)!important;color:var(--portal-text-muted)!important;font-size:var(--portal-type-small)!important}
.jarvisCompactFullscreen:hover{border-color:var(--portal-blue)!important;color:var(--portal-blue)!important}
.jarvisCompactChat:fullscreen,.jarvisCompactChat.fullscreen{box-sizing:border-box;width:100vw!important;height:100vh!important;min-height:100vh!important;border:0!important;border-radius:0!important;background:var(--portal-bg)!important;padding:22px!important}
.jarvisCompactChat:fullscreen .jarvisCompactBrain,.jarvisCompactChat.fullscreen .jarvisCompactBrain{height:100%!important;min-height:100%!important}
.jarvisCompactChat:fullscreen .jarvisCompactMessages,.jarvisCompactChat.fullscreen .jarvisCompactMessages{padding:22px}
.jarvisCompactChat:fullscreen .jarvisCompactComposer,.jarvisCompactChat.fullscreen .jarvisCompactComposer{margin:0 auto;width:min(1180px,100%)}
.cashRiskRail{gap:12px;overflow:hidden}
.cashTimelineChart{box-sizing:border-box;overflow:hidden}
.cashTimelineChart.danger,.cashTimelineChart.load{min-height:180px;height:180px;flex:0 0 180px}
.cashTimelineChart.balance.compact{min-height:150px;height:150px;overflow:hidden;flex:0 0 150px}
.cashTimelineChart.balance.compact .cashTimelinePlot{min-height:0;flex:1 1}
.cashTimelineChart.balance.compact>header{flex:0 0 auto;margin-bottom:4px}
.cashTimelineChart.balance.compact .cashTimelineXAxis{flex:0 0 auto}
.cashOutageGantt{min-height:220px;overflow:hidden;flex:1 1 auto}
.cashOutageGanttBody{min-height:0;flex:1 1;overflow:hidden}
.cashOutageGanttRow{height:max(2px,calc((100vh - 840px)/51))}
.cashOutageGanttSelection,
.cashOutageGanttSelection strong{display:block}
.cashOutageGanttSelection span,.cashOutageGanttSelection p{display:none}
.cashNextLoadMap{box-sizing:border-box;display:flex;width:100%;min-height:220px;flex:1 1 auto;flex-direction:column;border:0;background:transparent;color:var(--portal-text);padding:13px 0;text-align:left;cursor:pointer;font:inherit}
.cashNextLoadMap>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}
.cashNextLoadMap h3{margin:0;color:var(--portal-text);font-size:var(--portal-type-h3)}
.cashNextLoadMap header p{margin:3px 0 0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.cashNextLoadMap header>strong{color:var(--portal-text);font-size:var(--portal-type-body);text-align:right}
.cashNextLoadMap header small{display:block;color:var(--portal-text-muted);font-size:var(--portal-type-caption);letter-spacing:.1em;text-transform:uppercase}
.cashNextLoadMapCanvas{position:relative;min-height:130px;flex:1 1;overflow:hidden;border:1px solid rgb(var(--portal-border-rgb)/.8);border-radius:7px;background-color:rgb(var(--portal-surface-rgb)/.38);background-image:linear-gradient(28deg,transparent 46%,rgb(var(--portal-border-rgb)/.44) 47%,rgb(var(--portal-border-rgb)/.44) 49%,transparent 50%),linear-gradient(116deg,transparent 30%,rgb(var(--portal-border-rgb)/.35) 31%,rgb(var(--portal-border-rgb)/.35) 33%,transparent 34%),linear-gradient(168deg,transparent 66%,rgb(var(--portal-border-rgb)/.3) 67%,rgb(var(--portal-border-rgb)/.3) 69%,transparent 70%),radial-gradient(circle at 45% 42%,rgb(var(--portal-gold-rgb)/.08),transparent 58%)}
.cashNextLoadMapCanvas:before,.cashNextLoadMapCanvas:after{position:absolute;background:rgb(var(--portal-border-rgb)/.3);content:""}
.cashNextLoadMapCanvas:before{top:-15%;left:28%;width:1px;height:135%;transform:rotate(18deg)}
.cashNextLoadMapCanvas:after{top:54%;left:-10%;width:120%;height:1px;transform:rotate(-9deg)}
.cashNextLoadMapCanvas svg{position:absolute;z-index:1;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px);overflow:visible}
.cashNextLoadMapCanvas polyline{fill:none;stroke:var(--portal-gold);stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px rgb(var(--portal-gold-rgb)/.35))}
.cashNextLoadMapCanvas circle{fill:var(--portal-panel);stroke:var(--portal-gold);stroke-width:1.15;vector-effect:non-scaling-stroke}
.cashNextLoadMapCanvas text{fill:var(--portal-text);font-size:var(--portal-type-caption);font-weight:900;text-anchor:middle}
.cashNextLoadMapCanvas>span{position:absolute;z-index:1;inset:0;display:grid;place-items:center;padding:18px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-align:center}
.cashNextLoadMap footer{display:flex;align-items:center;justify-content:space-between;gap:9px;padding-top:9px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashNextLoadMap footer b{color:var(--portal-gold);font-size:var(--portal-type-caption)}
.cashNextLoadMap footer i{font-style:normal}
.cashNextLoadMap:hover .cashNextLoadMapCanvas,.cashNextLoadMap:focus-visible .cashNextLoadMapCanvas{border-color:var(--portal-gold);box-shadow:0 0 0 1px rgb(var(--portal-gold-rgb)/.22),0 10px 24px rgb(0 0 0/.18)}
.cashNextLoadMap:focus-visible{outline:2px solid var(--portal-gold);outline-offset:3px}
.cashAtmAnalysisPage{position:fixed;z-index:200;inset:0;overflow:auto;background:var(--portal-charcoal);color:var(--portal-text);padding:clamp(24px,4vw,64px)}
.cashAtmAnalysisPage>header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;border-bottom:1px solid var(--portal-border);padding-bottom:24px}
.cashAtmAnalysisPage>header span,.cashAtmWithdrawalChart header span{color:var(--portal-error);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.14em}
.cashAtmAnalysisPage h1{margin:8px 0 4px;font-size:var(--portal-type-h1);letter-spacing:-.04em}
.cashAtmAnalysisPage>header p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.cashAtmAnalysisPage>header button{border:1px solid var(--portal-error);border-radius:8px;background:transparent;color:var(--portal-text);padding:10px 14px;font-weight:850;cursor:pointer}
.cashAtmAnalysisStats{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:10px;margin:24px 0}
.cashAtmAnalysisStats article{border:1px solid var(--portal-border);border-top:2px solid var(--portal-error);border-radius:10px;background:var(--portal-panel);padding:16px}
.cashAtmAnalysisStats span{display:block;min-height:28px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.4}
.cashAtmAnalysisStats strong{display:block;margin-top:8px;font-size:var(--portal-type-h1)}
.cashAtmWithdrawalChart{min-height:520px;border:1px solid var(--portal-border);border-radius:12px;background:var(--portal-panel);padding:22px}
.cashAtmWithdrawalChart>header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}
.cashAtmWithdrawalChart h2{margin:6px 0 0;font-size:var(--portal-type-h2)}
.cashAtmWithdrawalChart header>strong{text-align:right;font-size:var(--portal-type-h2)}
.cashAtmWithdrawalChart header small{display:block;color:var(--portal-text-muted);font-size:var(--portal-type-caption);letter-spacing:.1em;text-transform:uppercase}
.cashAtmWithdrawalPlot{display:flex;height:390px;align-items:flex-end;gap:2px;border-bottom:1px solid var(--portal-border);background:repeating-linear-gradient(to bottom,var(--portal-surface) 0,var(--portal-surface) 1px,transparent 1px,transparent 25%)}
.cashAtmWithdrawalPlot div{min-width:2px;flex:1 1;border-radius:2px 2px 0 0;background:linear-gradient(180deg,var(--portal-error),color-mix(in srgb,var(--portal-error) 65%,var(--portal-panel)));cursor:pointer}
.cashAtmWithdrawalPlot div:hover{filter:brightness(1.3)}
.cashAtmWithdrawalAxis{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));padding-top:9px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.cashAtmWithdrawalAxis span{text-align:center}
.cashAtmWithdrawalAxis span:first-child{text-align:left}
.cashAtmWithdrawalAxis span:last-child{text-align:right}
@media(max-width:1100px){
  .cashAtmAnalysisStats{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .operationsDashboard .dashboardJarvisPanel{height:405px;min-height:405px;flex-basis:405px}
}
.cashOutageGantt{min-height:155px;flex:0 0 auto;padding-top:12px}
.cashOutageGantt>header{margin-bottom:6px}
.cashOutageGanttRow{display:block;width:100%;height:2px;min-height:2px;overflow:hidden;border:0;background:transparent;padding:0;cursor:pointer}
.cashOutageGanttRow:hover,.cashOutageGanttRow.selected{height:6px;background:rgb(var(--portal-error-rgb)/.12);box-shadow:inset 0 0 0 1px var(--portal-error)}
.cashOutageGanttLane{display:grid;width:100%;height:100%}
.cashOutageGanttLane i{display:block;min-width:0}
.cashOutageGanttLane i.out{background:var(--portal-error);box-shadow:0 0 3px rgb(var(--portal-error-rgb)/.25)}
.cashOutageGanttAxis{grid-template-columns:repeat(9,minmax(0,1fr));padding-top:4px}
.cashOutageGanttAxis:before{display:none}
.cashOutageGanttSelection{display:grid;grid-template-columns:1fr auto;gap:2px 10px;margin-top:7px;border:1px solid var(--portal-error);border-radius:7px;background:rgb(var(--portal-error-rgb)/.08);padding:7px}
.cashOutageGanttSelection strong{overflow:hidden;color:var(--portal-text);font-size:var(--portal-type-caption);text-overflow:ellipsis;white-space:nowrap}
.cashOutageGanttSelection span{color:var(--portal-error);font-size:var(--portal-type-caption);font-weight:800}
.cashOutageGanttSelection p{grid-column:1/-1;margin:3px 0 0;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.4}
.cashOutageGanttBody{max-height:none;overflow:visible}
.calendarPageHeader>div>span,.reportingHeader span,.terminalErrorHeader span,.reportAutomationHeader span,.terminalReasonPanel>header span,.terminalIssueTablePanel>header span,.reportHistogramPanel>header span{display:flex;align-items:center;gap:7px}
.calendarPageHeader>div>span:before,.reportingHeader span:before,.terminalErrorHeader span:before,.reportAutomationHeader span:before,.terminalReasonPanel>header span:before,.terminalIssueTablePanel>header span:before,.reportHistogramPanel>header span:before{display:grid;width:20px;height:20px;place-items:center;border:1px solid currentColor;border-radius:6px;background:color-mix(in srgb,currentColor 10%,transparent);font-size:var(--portal-type-caption);line-height:1;letter-spacing:0}
.calendarPageHeader>div>span:before{content:"▦"}
.reportingHeader span:before{content:"▥"}
.terminalErrorHeader span:before{content:"!"}
.reportAutomationHeader span:before{content:"⚙"}
.terminalReasonPanel>header span:before{content:"?";color:var(--portal-burgundy)}
.terminalIssueTablePanel>header span:before{content:"≡";color:var(--portal-blue)}
.reportHistogramPanel>header span:before{content:"▥";color:var(--portal-success)}
.cashLiveDashboard{padding-bottom:40px}
.cashLiveTopGrid{display:grid;grid-template-columns:1.15fr 1fr 1.1fr;gap:12px;margin:16px 0}
.cashLiveCharts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cashLivePanel{background:#15181b;border:1px solid #343a40;border-radius:10px;overflow:hidden;min-width:0}
.cashLivePanel>header{height:42px;padding:0 13px;background:#2a2e32;display:flex;align-items:center;justify-content:space-between}
.cashLivePanel>header h2{margin:0;font-size:var(--portal-type-h2);color:#f5f7f9}
.cashLivePanel>header span{font-size:var(--portal-type-caption);color:#49b784;box-shadow:0 0 10px #49b784}
.cashLivePanel>div{padding:16px}
.cashLiveHistogram{display:grid;gap:14px}
.cashLiveHistogram>div{display:grid;grid-template-columns:110px 1fr;gap:5px 10px;align-items:center}
.cashLiveHistogram b{font-size:var(--portal-type-caption);color:#d9e1e8;grid-row:span 2}
.cashLiveHistogram i{height:17px;background:#22282c;border-radius:3px;overflow:hidden;font-style:normal}
.cashLiveHistogram i span{display:block;min-width:28px;height:100%;padding:2px 5px;background:#2e7d22;color:white;text-align:right;font-size:var(--portal-type-caption)}
.cashLiveHistogram i.prior span{background:#628057}
.cashHeatGauge{height:205px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}
.cashHeatGauge .tube{height:140px;width:62px;border:5px solid #b7c1c9;border-radius:12px 12px 34px 34px;padding:6px;display:flex;align-items:flex-end}
.cashHeatGauge .tube i{display:block;width:100%;background:linear-gradient(#62aee8,#1d6ba7);border-radius:5px 5px 22px 22px}
.cashHeatGauge strong{position:absolute;bottom:40px;font-size:var(--portal-type-h2);color:#fff}
.cashHeatGauge>span{font-size:var(--portal-type-caption);color:#9fb0bf;margin-top:9px}
.cashGaugeFacts{display:grid!important;grid-template-columns:repeat(3,1fr);border-top:1px solid #343a40;margin:4px -16px -16px}
.cashGaugeFacts span{padding:10px 6px;text-align:center;color:#9fb0bf;font-size:var(--portal-type-caption);border-right:1px solid #343a40}
.cashGaugeFacts b{display:block;margin-top:5px;color:#fff;font-size:var(--portal-type-small)}
.cashArcGauge{--gauge:90deg;height:205px;display:grid;place-items:end center;background:conic-gradient(from 270deg at 50% 100%,#527f88 0deg,#68afc4 45deg,#73ad20 105deg,#267913 var(--gauge),#24292d var(--gauge) 180deg,transparent 180deg);clip-path:inset(0 0 0 0 round 200px 200px 0 0);position:relative}
.cashArcGauge:after{content:"";position:absolute;left:13%;right:13%;bottom:0;height:72%;background:#15181b;border-radius:180px 180px 0 0}
.cashArcGauge>div{z-index:1;text-align:center;padding-bottom:15px}
.cashArcGauge span{display:block;font-size:var(--portal-type-body)}
.cashArcGauge strong{display:inline-block;font-size:var(--portal-type-h1);margin:12px}
.cashArcGauge em{font-size:var(--portal-type-small);color:#ef6b6b}
.cashTransactionTrend{height:290px;position:relative;padding-top:24px}
.cashTransactionTrend .legend{position:absolute;top:0;left:0;display:flex;gap:18px;font-size:var(--portal-type-caption)}
.cashTransactionTrend .legend span:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;background:currentColor}
.cashTransactionTrend svg{width:100%;height:240px;border-bottom:1px solid #394047;background:repeating-linear-gradient(to bottom,transparent 0,transparent 24%,#283037 25%)}
.cashTransactionTrend polyline{fill:none;stroke-width:1.5;vector-effect:non-scaling-stroke}
.cashTransactionTrend .total{stroke:#9c55e8;color:#9c55e8}
.cashTransactionTrend .wd{stroke:#57b45b;color:#57b45b}
.cashTransactionTrend .non{stroke:#d06a45;color:#d06a45}
.cashTransactionTrend .wdFill{fill:#57b45b55}
.cashTransactionTrend .labels{display:flex;justify-content:space-between;color:#91a2af;font-size:var(--portal-type-caption);margin-top:7px}
.cashNoLiveData{height:240px;display:grid;place-items:center;color:#91a2af}
@media(max-width:1150px){
  .cashLiveTopGrid{grid-template-columns:1fr 1fr}
  .cashLiveTopGrid .cashLivePanel:last-child{grid-column:1/-1}
  .cashLiveCharts{grid-template-columns:1fr}
}
@media(max-width:720px){
  .cashLiveTopGrid{grid-template-columns:1fr}
  .cashLiveTopGrid .cashLivePanel:last-child{grid-column:auto}
  .cashGaugeFacts{grid-template-columns:1fr}
  .cashLiveHistogram>div{grid-template-columns:90px 1fr}
}
.cashLiveHistogram>button{display:grid;grid-template-columns:110px 1fr;gap:5px 10px;align-items:center;background:transparent;border:1px solid transparent;border-radius:6px;padding:5px;color:inherit;text-align:left;cursor:pointer}
.cashLiveHistogram>button:hover,.cashLiveHistogram>button.selected{border-color:#68afc4;background:#68afc40d}
.cashLiveHistogram>button b{font-size:var(--portal-type-caption);color:#d9e1e8;grid-row:span 2}
.cashLiveHistogram>button i{height:17px;background:#22282c;border-radius:3px;overflow:hidden;font-style:normal}
.cashLiveHistogram>button i span{display:block;min-width:28px;height:100%;padding:2px 5px;background:#2e7d22;color:#fff;text-align:right;font-size:var(--portal-type-caption)}
.cashLiveHistogram>button i.prior span{background:#628057}
.cashHistogramDrill{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:7px!important;border:1px solid #414951;border-radius:7px;background:#111518;padding:9px!important}
.cashHistogramDrill>b{grid-column:1/-1;color:#7fc1d3!important}
.cashHistogramDrill span{font-size:var(--portal-type-caption);color:#91a2af}
.cashHistogramDrill strong{display:block;color:#fff;font-size:var(--portal-type-small);margin-top:3px}
.cashTransactionTrend .drillLine{stroke:#d7e0e6;stroke-width:.4;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}
.cashTransactionTrend .drillPoint{stroke:#111518;stroke-width:.7;vector-effect:non-scaling-stroke}
.cashTransactionTrend .drillTarget{fill:transparent;cursor:crosshair;outline:none}
.cashTransactionTrend .drillTarget:focus{stroke:#7fc1d3;stroke-width:.4}
.cashTrendTooltip{position:absolute;z-index:3;top:35px;transform:translateX(-50%);min-width:155px;padding:9px;border:1px solid #56616a;border-radius:7px;background:#0c0f11ee;box-shadow:0 8px 24px #0008;pointer-events:none}
.cashTrendTooltip>b{display:block;color:#7fc1d3;margin-bottom:5px}
.cashTrendTooltip span{display:flex;justify-content:space-between;gap:14px;font-size:var(--portal-type-caption);color:#aab7c1}
.cashTrendTooltip strong{color:#fff}
.cashTrendTooltip small{display:block;margin-top:6px;color:#788893;font-size:var(--portal-type-caption)}
.cashMatrixPage .cashMatrixTable .bankRow>th:first-child{position:sticky!important;z-index:32!important;box-sizing:border-box!important;width:320px!important;min-width:320px!important;max-width:320px!important;border-right:2px solid var(--portal-gold)!important;background:var(--portal-panel)!important}
.cashMatrixPage .cashMatrixTable .bankRow>th:first-child:before{position:absolute;right:100%;top:-1px;bottom:-1px;width:38px;border-right:1px solid var(--portal-border);border-bottom:1px solid var(--portal-border);background:var(--portal-panel);content:""}
.cashMatrixPage .cashMatrixTable .bankRow>.cashIdentitySpacer{background:var(--portal-panel)!important}
.cashMatrixPage .cashMatrixTable thead{z-index:50}
.cashMatrixPage .cashMatrixTable thead tr:first-child>th:first-child{overflow:visible}
.cashMatrixPage .cashMatrixTable thead tr:first-child>th:first-child:before{position:absolute;right:100%;top:-1px;bottom:-29px;width:38px;border-right:1px solid var(--portal-border);border-bottom:1px solid var(--portal-border);background:var(--portal-panel);content:""}
.cashMatrixPage .cashMatrixTable .bankRow>th,.cashMatrixPage .cashMatrixTable .bankRow>td{position:sticky!important;top:calc(62px + var(--bank-row-index)*28px)!important;z-index:34!important;height:28px!important;min-height:28px!important;max-height:28px!important;background:var(--portal-panel)!important}
.cashMatrixPage .cashMatrixTable .bankRow>th:first-child{left:0!important;z-index:42!important;transform:translateX(-38px);padding-left:44px!important}
.cashMatrixPage .cashMatrixTable .bankRow>th:first-child:before{display:none!important}
.cashMatrixPage .cashMatrixTable .bankRow>.cashIdentitySpacer{z-index:34!important}
.cashMatrixPage .cashMatrixTable .bankRow>td.currentDay{background:color-mix(in srgb,var(--portal-gold) 12%,var(--portal-panel))!important}
.cashMatrixPage .cashMatrixTable thead tr:first-child>th:first-child:before{bottom:-1px}
.cashMatrixPage .cashMatrixTable .bankRow>th,.cashMatrixPage .cashMatrixTable .bankRow>td{top:calc(34px + var(--bank-row-index)*28px)!important}
.cashMatrixTable .cashDateWeekday{margin-left:4px;color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.cashMatrixPage .cashMatrixTable .bankHierarchyRow>th,.cashMatrixPage .cashMatrixTable .bankHierarchyRow>td{background:color-mix(in srgb,var(--portal-elevated) 46%,var(--portal-panel))!important}
.cashMatrixPage .cashMatrixTable .bankHierarchyRow>th:first-child{padding-left:58px!important}
.cashMatrixPage .cashMatrixTable .bankHierarchyRow>th:first-child:after{position:absolute;left:46px;color:var(--portal-text-muted);content:"—"}
.cashMatrixPage .cashMatrixTable .bankHierarchyRow>td.currentDay{background:color-mix(in srgb,var(--portal-gold) 10%,color-mix(in srgb,var(--portal-elevated) 46%,var(--portal-panel)))!important}

/* Per-user protected Customer Info access. */
.jarvisCustomerGateBackdrop{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.72);padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.jarvisCustomerGate{width:min(430px,100%);border:1px solid var(--portal-border);border-radius:14px;background:var(--portal-surface);padding:18px;box-shadow:0 24px 80px rgba(0,0,0,.55)}
.jarvisCustomerGate>header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid var(--portal-border);padding-bottom:12px}
.jarvisCustomerGate>header div{display:grid;gap:3px}
.jarvisCustomerGate>header strong{color:var(--portal-gold);font-size:var(--portal-type-h3)}
.jarvisCustomerGate>header span,.jarvisCustomerGate p{color:var(--portal-text-muted);font-size:var(--portal-type-small);line-height:1.55}
.jarvisCustomerGate>header button{border:0;background:transparent;color:var(--portal-text);font-size:var(--portal-type-h2);cursor:pointer}
.jarvisCustomerGate form{display:grid;gap:10px;margin-top:12px}
.jarvisCustomerGate input{height:42px;border:1px solid var(--portal-border);border-radius:8px;background:var(--portal-bg);color:var(--portal-text);padding:0 12px;font:inherit;letter-spacing:.2em}
.jarvisCustomerGate form>button,.jarvisCustomerGate>button{width:100%;height:40px;border:1px solid var(--portal-gold);border-radius:8px;background:var(--portal-gold);color:#111;font-weight:900;cursor:pointer}
.dashboardEnvelopeActions button{border:1px solid var(--portal-border);border-radius:6px;background:transparent;color:var(--portal-text);padding:6px 7px;font:inherit;font-size:var(--portal-type-caption);white-space:nowrap;cursor:pointer}
.dashboardEnvelopeActions button:hover:not(:disabled){border-color:var(--portal-gold);color:var(--portal-gold)}
.dashboardEnvelopeActions button:disabled{cursor:wait;opacity:.55}
.dashboardEnvelopeNotice.success{color:var(--portal-success)!important}
.dashboardEnvelopeNotice.error{color:var(--portal-danger)!important}
.cashMatrixPage .cashMatrixTable thead .cashTodayHeader{padding:0!important;border-right:0!important;background:transparent!important}
.cashMatrixPage .cashMatrixTable thead .cashTodayHeader .cashHeaderActions{box-sizing:border-box;display:flex;width:calc(100% - 40px);height:100%;border-right:2px solid var(--portal-gold);background:var(--portal-panel)}
.cashMatrixPage .cashMatrixTable thead .cashTodayHeader .cashTodayButton{min-width:0;flex:1 1}

/* Cash Ops visual workspace — dense Linear-style plan layout. */
.portalRoot .cashNativeApp{display:grid!important;grid-template-columns:184px minmax(0,1fr)!important;min-height:calc(100vh - 1px);overflow:hidden;background:linear-gradient(135deg,#11181c 0%,#0b1114 48%,#10191d 100%)!important;color:var(--portal-text)}
.portalRoot .cashNativeSidebar{position:relative!important;display:flex!important;min-width:0!important;flex-direction:column!important;border-right:1px solid rgb(var(--portal-border-rgb)/.62)!important;background:linear-gradient(165deg,#141c20 0%,#0e1519 55%,#111a1e 100%)!important;padding:0!important}
.portalRoot .cashSidebarToggle{position:absolute;z-index:3;top:15px;right:10px;display:grid!important;width:26px;height:26px;place-items:center;border:0!important;border-radius:6px;background:transparent!important;color:var(--portal-text-muted);padding:0;cursor:pointer}
.portalRoot .cashSidebarToggle:hover{background:rgb(var(--portal-text-rgb)/.06)!important;color:var(--portal-text)}
.portalRoot .cashSidebarToggle b{display:none}
.portalRoot .cashSidebarBody{display:flex!important;min-height:0;flex:1 1;flex-direction:column!important;padding:14px 11px 16px!important;background:transparent!important}
.portalRoot .cashNativeBrand{display:grid!important;gap:2px;padding:0 3px 15px!important;border-bottom:1px solid rgb(var(--portal-border-rgb)/.46)!important;background:transparent!important}
.portalRoot .cashNativeBrand strong{font-size:var(--portal-type-h3);font-weight:650;letter-spacing:-.035em}
.portalRoot .cashNativeBrand span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.4}
.portalRoot .cashForecastControls{display:grid!important;gap:9px;padding:13px 3px 16px!important;border-bottom:1px solid rgb(var(--portal-border-rgb)/.46)!important;background:transparent!important}
.portalRoot .cashForecastControls h2{display:flex;align-items:center;gap:7px;margin:0;color:var(--portal-success);font-size:var(--portal-type-h2);font-weight:var(--portal-weight-heading)}
.portalRoot .cashForecastControls h2 i{width:7px;height:7px;border-radius:50%;background:var(--portal-success);box-shadow:0 0 9px rgb(var(--portal-success-rgb)/.35)}
.portalRoot .cashForecastControls p{display:none}
.portalRoot .cashForecastControls .cashPrimaryButton{display:flex!important;height:35px;align-items:center;justify-content:center;gap:7px;border:1px solid var(--portal-success)!important;border-radius:6px;background:rgb(var(--portal-success-rgb)/.07)!important;color:var(--portal-success)!important;font-weight:750}
.portalRoot .cashForecastControls .cashPrimaryButton:hover{background:rgb(var(--portal-success-rgb)/.14)!important}
.portalRoot .cashForecastControls small{color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.4}
.portalRoot .cashNativeSidebar>div nav{display:grid!important;gap:3px;padding-top:13px!important;background:transparent!important}
.portalRoot .cashNativeSidebar nav button{position:relative;min-height:34px;border:0!important;border-radius:5px;background:transparent!important;color:var(--portal-text-muted);padding:0 12px;text-align:left;cursor:pointer}
.portalRoot .cashNativeSidebar nav button:hover{background:rgb(var(--portal-text-rgb)/.04)!important;color:var(--portal-text)}
.portalRoot .cashNativeSidebar nav button.active{background:linear-gradient(90deg,rgb(var(--portal-success-rgb)/.12),rgb(var(--portal-text-rgb)/.035))!important;color:var(--portal-text);font-weight:750}
.portalRoot .cashNativeSidebar nav button.active:before{position:absolute;inset:0 auto 0 0;width:2px;border-radius:3px;background:var(--portal-success);content:""}
.portalRoot .cashSidebarTableControls{display:grid!important;gap:7px;margin-top:auto;padding:15px 3px 0!important;border-top:1px solid rgb(var(--portal-border-rgb)/.46)!important;background:transparent!important}
.portalRoot .cashSidebarTableControls>strong{color:var(--portal-text-muted);font-size:var(--portal-type-caption);letter-spacing:.12em}
.portalRoot .cashSidebarTableControls>button,.portalRoot .cashReportPopover>button{height:29px;border:1px solid var(--portal-border)!important;border-radius:5px;background:transparent!important;color:var(--portal-text-muted);text-align:left;padding:0 9px;cursor:pointer}
.portalRoot .cashSidebarTableControls>button:hover,.portalRoot .cashReportPopover>button:hover{border-color:var(--portal-text-muted)!important;color:var(--portal-text)}
.portalRoot .cashSidebarTableControls>.cashPrimaryButton{display:none!important}
.portalRoot .cashSidebarTableControls>small{display:none}
.portalRoot .cashSidebarTableStatus{display:grid!important;grid-template-columns:1fr auto;gap:4px 8px;border-top:1px solid rgb(var(--portal-border-rgb)/.4)!important;padding-top:9px!important;background:transparent!important;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.portalRoot .cashSidebarTableStatus b{color:var(--portal-text);font-weight:600}
.portalRoot .cashCheckbox,.portalRoot .cashStartDate{display:flex!important;align-items:center;gap:6px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.portalRoot .cashStartDate{align-items:stretch;flex-direction:column}
.portalRoot .cashStartDate input{height:29px;border:1px solid var(--portal-border);border-radius:5px;color:var(--portal-text);padding:0 6px}
.portalRoot .cashNativeContent{min-width:0!important;overflow:hidden!important;background:linear-gradient(135deg,#0d1417 0%,#0a1013 60%,#10191d 100%)!important}
.portalRoot .cashMatrixPage{display:grid!important;height:calc(100vh - 1px)!important;min-height:680px;grid-template-columns:minmax(0,1fr) 294px!important;gap:11px!important;overflow:hidden!important;padding:0 11px 0 0!important;background:transparent!important}
.portalRoot .cashMatrixMain{display:flex!important;min-width:0;min-height:0;flex-direction:column!important;overflow:hidden;padding:14px 0 13px 16px!important;background:transparent!important}
.portalRoot .cashPlanHeader{display:flex!important;min-height:49px;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid rgb(var(--portal-border-rgb)/.55)!important;padding:0 0 10px!important;background:transparent!important}
.portalRoot .cashPlanHeader h1{margin:0;font-size:var(--portal-type-h1);font-weight:var(--portal-weight-heading);letter-spacing:-.035em}
.portalRoot .cashPlanHeader p{margin:3px 0 0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.portalRoot .cashPlanHeader p span{padding:0 3px;color:var(--portal-border)}
.portalRoot .cashPlanHeaderActions{display:flex!important;gap:7px;background:transparent!important}
.portalRoot .cashPlanHeaderActions button{height:30px;border:1px solid var(--portal-border)!important;border-radius:5px;background:transparent!important;color:var(--portal-text);padding:0 11px;font-weight:650;cursor:pointer}
.portalRoot .cashPlanHeaderActions button:hover{border-color:var(--portal-text-muted)!important}
.portalRoot .cashPlanHeaderActions .cashPlanReviewButton{min-width:116px;border-color:var(--portal-success)!important;background:var(--portal-success)!important;color:#07110b!important}
.portalRoot .cashPlanHeaderActions .cashPlanReviewButton:disabled{border-color:var(--portal-border)!important;background:rgb(var(--portal-text-rgb)/.08)!important;color:var(--portal-text-muted)!important;cursor:default}
.portalRoot .cashPlanCoverage{display:flex!important;min-height:34px;align-items:center;gap:9px;border-bottom:1px solid rgb(var(--portal-border-rgb)/.46)!important;padding:3px 5px!important;background:transparent!important;color:var(--portal-text-muted)}
.portalRoot .cashPlanCoverage>span{color:var(--portal-success);font-size:var(--portal-type-h3)}
.portalRoot .cashPlanCoverage p{flex:1 1;margin:0;font-size:var(--portal-type-body)}
.portalRoot .cashPlanCoverage button{border:0!important;background:transparent!important;color:var(--portal-success);padding:5px 2px;font-size:var(--portal-type-caption);cursor:pointer}
.portalRoot .cashPlanCoverage.atRisk>span,.portalRoot .cashPlanCoverage.atRisk button{color:var(--portal-error)}
.portalRoot .cashPlanSummary{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid rgb(var(--portal-border-rgb)/.52)!important;background:transparent!important}
.portalRoot .cashPlanSummary button{position:relative;display:grid!important;grid-template-columns:1fr auto;gap:2px 9px;min-height:60px;border:0!important;border-right:1px solid rgb(var(--portal-border-rgb)/.52)!important;background:transparent!important;color:var(--portal-text);padding:11px 18px;text-align:left;cursor:pointer}
.portalRoot .cashPlanSummary button:last-child{border-right:0!important}
.portalRoot .cashPlanSummary button:hover{background:rgb(var(--portal-text-rgb)/.025)!important}
.portalRoot .cashPlanSummary strong{font-size:var(--portal-type-h3);font-weight:650;letter-spacing:-.025em}
.portalRoot .cashPlanSummary strong.negative{color:var(--portal-error)}
.portalRoot .cashPlanSummary span{grid-column:1;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.portalRoot .cashPlanSummary b{grid-column:2;grid-row:1/3;align-self:center;color:var(--portal-text-muted);font-size:var(--portal-type-h3);font-weight:400}
.portalRoot .cashPlanTablePanel{display:flex!important;min-height:0;flex:1 1;flex-direction:column!important;overflow:hidden;border:1px solid rgb(var(--portal-border-rgb)/.72)!important;border-radius:7px!important;background:rgb(var(--portal-bg-rgb)/.2)!important;margin-top:10px}
.portalRoot .cashPlanTablePanel>header{display:flex!important;min-height:33px;align-items:center;justify-content:space-between;border-bottom:1px solid rgb(var(--portal-border-rgb)/.65)!important;padding:0 10px!important;background:rgb(var(--portal-text-rgb)/.025)!important}
.portalRoot .cashPlanTablePanel>header h2{margin:0;font-size:var(--portal-type-h2);font-weight:var(--portal-weight-heading)}
.portalRoot .cashPlanTablePanel>header h2 span{margin-right:7px;color:var(--portal-text-muted)}
.portalRoot .cashPlanTablePanel>header small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.portalRoot .cashPlanTablePanel .cashMatrixFrame{min-height:0!important;flex:1 1!important;border:0!important;border-radius:0!important;background:transparent!important}
.portalRoot .cashMatrixTable{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.portalRoot .cashMatrixTable th,.portalRoot .cashMatrixTable td{border-color:rgb(var(--portal-border-rgb)/.48)!important}
.portalRoot .cashMatrixTable th{color:var(--portal-text-muted);font-weight:600}
.portalRoot .cashMatrixTable td{color:color-mix(in srgb,var(--portal-text) 84%,var(--portal-text-muted));font-size:var(--portal-type-small)}
.portalRoot .cashMatrixTable input{border-radius:4px!important}
.portalRoot .cashMatrixTable .currentDay{box-shadow:inset 1px 0 rgb(var(--portal-success-rgb)/.38),inset -1px 0 rgb(var(--portal-success-rgb)/.38)!important}
.portalRoot .cashMatrixTable .cashDateWeekday{color:var(--portal-success)}
.portalRoot .cashRiskRail{display:flex!important;min-width:0;min-height:0;flex-direction:column!important;gap:0!important;overflow:auto!important;border:1px solid rgb(var(--portal-border-rgb)/.7)!important;border-radius:7px!important;background:linear-gradient(165deg,rgb(var(--portal-surface-rgb)/.34),rgb(var(--portal-bg-rgb)/.2))!important;margin:48px 0 13px!important;padding:0 13px!important}
.portalRoot .cashRiskRailHeader{display:flex!important;min-height:60px;align-items:center;justify-content:space-between;border-bottom:1px solid rgb(var(--portal-border-rgb)/.55)!important;background:transparent!important}
.portalRoot .cashRiskRailHeader h2{margin:0;font-size:var(--portal-type-h2)}
.portalRoot .cashRiskRailHeader p{margin:4px 0 0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.portalRoot .cashRiskRailHeader>span{border:1px solid var(--portal-border);border-radius:5px;color:var(--portal-text-muted);padding:6px 8px;font-size:var(--portal-type-caption)}
.portalRoot .cashRiskRail .cashTimelineChart,.portalRoot .cashRiskRail .cashOutageGantt{border:0!important;border-bottom:1px solid rgb(var(--portal-border-rgb)/.52)!important;border-radius:0!important;background:transparent!important;padding:13px 0!important}
.portalRoot .cashRiskRail .cashTimelineChart>header h3,.portalRoot .cashRiskRail .cashOutageGantt>header h2{font-size:var(--portal-type-h3)}
.portalRoot .cashRiskRail .cashTimelineChart>header p,.portalRoot .cashRiskRail .cashOutageGantt>header p{font-size:var(--portal-type-small)}
.portalRoot .cashRiskRail .cashOutageGantt{border-bottom:0!important}
.portalRoot .cashNativeApp.sidebarCollapsed{grid-template-columns:48px minmax(0,1fr)!important}
.portalRoot .cashNativeApp.sidebarCollapsed .cashSidebarBody{opacity:0;pointer-events:none}
.portalRoot .cashNativeApp.sidebarCollapsed .cashSidebarToggle{right:11px}
.portalRoot .cashNativeApp.sidebarCollapsed .cashMatrixPage{grid-template-columns:minmax(0,1fr) 294px!important}
@media(max-width:1180px){
  .portalRoot .cashMatrixPage{grid-template-columns:minmax(0,1fr) 250px!important}
  .portalRoot .cashPlanSummary button{padding-right:10px;padding-left:10px}
  .portalRoot .cashRiskRail{padding-right:10px!important;padding-left:10px!important}
}
@media(max-width:900px){
  .portalRoot .cashNativeApp{grid-template-columns:148px minmax(0,1fr)!important}
  .portalRoot .cashMatrixPage{height:auto!important;min-height:100vh;grid-template-columns:1fr!important;overflow:auto!important;padding-right:10px!important}
  .portalRoot .cashMatrixMain{min-height:720px}
  .portalRoot .cashRiskRail{min-height:620px;margin:0 0 14px 16px!important}
  .portalRoot .cashPlanHeader{align-items:flex-start;flex-direction:column}
  .portalRoot .cashPlanHeaderActions{width:100%}
  .portalRoot .cashPlanHeaderActions button{flex:1 1}
  .portalRoot .cashPlanSummary{grid-template-columns:1fr 1fr}
}

/* Dashboard action-center layout. Keep this block authoritative for new dashboard surfaces. */
.operationsPulse button,.dashboardModuleStatus button,.dashboardInlineError button{border:1px solid var(--portal-border);border-radius:7px;background:transparent;color:var(--portal-text);padding:7px 10px;font:700 var(--portal-type-caption) var(--portal-font-body);cursor:pointer}
.operationsPulse button{grid-column:1/3;margin-top:6px}
.operationsPulse button:hover,.dashboardModuleStatus button:hover,.dashboardInlineError button:hover{border-color:var(--portal-gold);color:var(--portal-gold)}
.operationsPulse button:disabled,.dashboardModuleStatus button:disabled{cursor:wait;opacity:.6}
.dashboardAttention{display:grid;gap:12px;border:1px solid var(--dashboard-outline,var(--portal-border));border-radius:15px;background:linear-gradient(135deg,color-mix(in srgb,var(--portal-gold) 7%,var(--portal-surface)),var(--portal-surface));padding:18px}
.dashboardAttention>header{display:flex;align-items:end;justify-content:space-between;gap:18px}
.dashboardAttention>header span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.14em}
.dashboardAttention h2{margin:3px 0 0;font-size:var(--portal-type-h2)}
.dashboardAttention>header small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardAttention>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.dashboardAttention a{display:grid;min-width:0;gap:5px;border:1px solid var(--dashboard-outline,var(--portal-border));border-radius:10px;background:var(--portal-bg);padding:13px;color:inherit;text-decoration:none}
.dashboardAttention a:hover{border-color:var(--portal-gold);transform:translateY(-1px)}
.dashboardAttention a>span,.dashboardAttention a>small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardAttention a>strong{font-size:var(--portal-type-metric);line-height:1}
.dashboardAttention a>b{margin-top:4px;color:var(--portal-gold);font-size:var(--portal-type-caption)}
.dashboardModuleStatus{display:grid;justify-items:end;gap:4px;text-align:right}
.dashboardModuleStatus>span{border:1px solid currentColor;border-radius:99px;padding:3px 7px;color:var(--portal-success);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.dashboardModuleStatus>span.stale{color:var(--portal-gold)}
.dashboardModuleStatus>span.error{color:var(--portal-error)}
.dashboardModuleStatus>span.loading{color:var(--portal-blue)}
.dashboardModuleStatus small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardTransactionAlerts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.dashboardTransactionAlerts>a,.dashboardTransactionAlerts>p{margin:0;border:1px solid var(--dashboard-outline,var(--portal-border));border-radius:8px;background:var(--portal-surface);padding:9px 11px;color:inherit;font-size:var(--portal-type-body);text-decoration:none}
.dashboardTransactionAlerts>a{border-left:3px solid var(--portal-error)}
.dashboardTransactionAlerts a b,.dashboardTransactionAlerts a span{display:block}
.dashboardTransactionAlerts a span{margin-top:3px;color:var(--portal-text-muted)}
.dashboardTransactionAlerts>p{border-left:3px solid var(--portal-success);color:var(--portal-text-muted)}
.dashboardSecondaryTrends{margin-top:12px;border-top:1px solid var(--dashboard-outline,var(--portal-border));padding-top:10px}
.dashboardSecondaryTrends>summary{width:max-content;color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:850;cursor:pointer}
.dashboardSecondaryTrends[open]>summary{margin-bottom:12px}
.dashboardSecondaryTrends .cashLiveCharts,.dashboardSecondaryTrends .dashboardCashGrid{animation:none}
.memberDashboard{display:grid;gap:18px}
.memberDashboardGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.memberDashboardCard{display:grid;align-content:start;gap:18px;border:1px solid var(--portal-border);border-radius:14px;background:var(--portal-surface);padding:20px}
.memberDashboardCard>header{display:flex;align-items:start;justify-content:space-between;gap:14px}
.memberDashboardCard>header span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.12em}
.memberDashboardCard h2{margin:4px 0 0;font-size:var(--portal-type-h2)}
.memberDashboardCard>header>a,.memberMessageLink{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:800;text-decoration:none}
.memberDashboardCard>strong{font-size:var(--portal-type-display)}
.memberDashboardCard>p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.5}
.memberDashboardCard>div{display:grid}
.memberDashboardCard>div>a{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--portal-border);padding:11px 0;color:inherit;text-decoration:none}
.memberDashboardCard>div>a:first-child{border-top:0}
.memberDashboardCard>div>a span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-align:right}
.memberDashboardApps{grid-column:1/-1}
.memberDashboardApps>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.memberDashboardApps>div>a{display:grid;border:1px solid var(--portal-border);border-radius:9px;padding:13px}
.memberDashboardApps>div>a:hover{border-color:var(--portal-gold)}
@media(max-width:1000px){
  .dashboardAttention>div,
.memberDashboardApps>div{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .dashboardAttention>header,.operationsDashboardHeader{align-items:flex-start;flex-direction:column}
  .dashboardAttention>div,.memberDashboardGrid,.memberDashboardApps>div{grid-template-columns:1fr}
  .memberDashboardApps{grid-column:auto}
  .dashboardModuleStatus{justify-items:start;text-align:left}
  .dashboardSectionHeader{align-items:flex-start;flex-direction:column}
  .dashboardAttention a>strong{font-size:var(--portal-type-h1)}
}
@media(prefers-reduced-motion:reduce){
  .dashboardAttention a{transition:none}
  .dashboardAttention a:hover{transform:none}
}

/* Dashboard consolidation: one quiet surface per column, with spacing and dividers replacing nested card outlines. */
.operationsDashboard{gap:14px;--dashboard-outline:color-mix(in srgb,var(--portal-text) 13%,var(--portal-border))}
.operationsDashboard .dashboardAttention{border:0;background:color-mix(in srgb,var(--portal-gold) 6%,var(--portal-surface));box-shadow:inset 3px 0 var(--portal-gold)}
.operationsDashboard .dashboardAttention>div{gap:0}
.operationsDashboard .dashboardAttention a{border:0;border-left:1px solid var(--dashboard-outline);border-radius:0;background:transparent;padding:12px 16px}
.operationsDashboard .dashboardAttention a:first-child{border-left:0}
.operationsDashboard .dashboardAttention a:hover{background:color-mix(in srgb,var(--portal-gold) 5%,transparent);transform:none}
.operationsDashboard .dashboardIntelligenceRow{gap:12px}
.operationsDashboard .dashboardJarvisStack,.operationsDashboard .dashboardTopRightRail{overflow:hidden;border:1px solid var(--dashboard-outline);border-radius:16px;background:var(--portal-surface)}
.operationsDashboard .dashboardJarvisStack,
.operationsDashboard .dashboardTopRightRail{display:grid;gap:0;padding:0}
.operationsDashboard .dashboardJarvisStack>:where(.dashboardJarvisPanel,.dashboardModule,.dashboardAgentShortcuts),.operationsDashboard .dashboardTopRightRail>.dashboardModule{border:0!important;border-radius:0!important;background:transparent;box-shadow:none!important}
.operationsDashboard .dashboardJarvisStack>.dashboardModule,.operationsDashboard .dashboardJarvisStack>.dashboardAgentShortcuts,.operationsDashboard .dashboardTopRightRail>.dashboardModule{border-top:1px solid var(--dashboard-outline)!important}
.operationsDashboard :where(.dashboardTaskMetrics,.dashboardTerminalMetrics,.dashboardReportMetrics){gap:0;border-block:1px solid var(--dashboard-outline)}
.operationsDashboard :where(.dashboardTaskMetrics>a,.dashboardTerminalMetrics>a,.dashboardReportMetric){border:0!important;border-left:1px solid var(--dashboard-outline)!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.operationsDashboard :where(.dashboardTaskMetrics>a,.dashboardTerminalMetrics>a,.dashboardReportMetric):first-child{border-left:0!important}
.operationsDashboard .dashboardCalendarSplit{gap:0;border-block:1px solid var(--dashboard-outline)}
.operationsDashboard :where(.dashboardCalendarDay,.dashboardCalendarWeek){border:0!important;border-radius:0;background:transparent;padding:12px 14px}
.operationsDashboard .dashboardCalendarWeek{border-left:1px solid var(--dashboard-outline)!important}
.operationsDashboard :where(.dashboardMarketPulse,.dashboardEnvelopeMix,.dashboardAgeChart,.dashboardCashChart){border:0!important;border-radius:10px;background:color-mix(in srgb,var(--portal-bg) 55%,transparent);box-shadow:none!important}
.operationsDashboard .dashboardTransactionAlerts>:where(a,p){border-width:0 0 0 3px;border-radius:5px;background:color-mix(in srgb,var(--portal-bg) 55%,transparent)}
.operationsDashboard .dashboardSectionHeader>a{border:0;padding:7px 0;background:transparent}
.operationsDashboard .dashboardSectionHeader>a:hover{border:0;background:transparent;color:var(--portal-gold)}
.operationsDashboard .dashboardModuleStatus>span{border:0;background:color-mix(in srgb,currentColor 10%,transparent)}
.operationsDashboard .dashboardOperationsGrid{gap:12px}
@media(max-width:700px){
  .operationsDashboard .dashboardAttention a{border-top:1px solid var(--dashboard-outline);border-left:0}
  .operationsDashboard .dashboardAttention a:first-child{border-top:0}
  .operationsDashboard .dashboardCalendarSplit{border-block:0}
  .operationsDashboard .dashboardCalendarWeek{border-top:1px solid var(--dashboard-outline)!important;border-left:0!important}
  .operationsDashboard :where(.dashboardTaskMetrics,.dashboardTerminalMetrics,.dashboardReportMetrics){border-block:0}
  .operationsDashboard :where(.dashboardTaskMetrics>a,.dashboardTerminalMetrics>a,.dashboardReportMetric){border-top:1px solid var(--dashboard-outline)!important;border-left:0!important}
  .operationsDashboard :where(.dashboardTaskMetrics>a,.dashboardTerminalMetrics>a,.dashboardReportMetric):first-child{border-top:0!important}
}
.memberDashboardGrid{overflow:hidden;gap:0;border:1px solid var(--portal-border);border-radius:16px;background:var(--portal-surface)}
.memberDashboardCard{border:0;border-radius:0;background:transparent}
.memberDashboardCard:nth-child(even){border-left:1px solid var(--portal-border)}
.memberDashboardCard:nth-child(n+3){border-top:1px solid var(--portal-border)}
.memberDashboardApps>div{gap:0;border-block:1px solid var(--portal-border)}
.memberDashboardApps>div>a{border:0;border-left:1px solid var(--portal-border);border-radius:0;background:transparent}
.memberDashboardApps>div>a:first-child{border-left:0}
.memberDashboardApps>div>a:hover{border-color:var(--portal-border);background:color-mix(in srgb,var(--portal-gold) 5%,transparent)}
@media(max-width:700px){
  .memberDashboardCard:nth-child(even){border-left:0}
  .memberDashboardCard:nth-child(n+2){border-top:1px solid var(--portal-border)}
  .memberDashboardApps>div{border-block:0}
  .memberDashboardApps>div>a{border-top:1px solid var(--portal-border);border-left:0}
  .memberDashboardApps>div>a:first-child{border-top:0}
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/portal/styles/08-shell-and-final-refinements.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************/
/* Linear-inspired shell hierarchy: quiet navigation chrome, one raised workspace,
   and surface contrast instead of borders around every module. */
.portalRoot{--portal-bg:#101214;--portal-bg-rgb:16 18 20;--portal-surface:#171A1E;--portal-surface-rgb:23 26 30;--portal-elevated:#20242A;--portal-elevated-rgb:32 36 42;--portal-border:#2B3037;--portal-border-rgb:43 48 55;--portal-font-heading:var(--font-body),Inter,Arial,sans-serif}
.portalShell{padding:8px 8px 8px 0;background:var(--portal-bg)}
.portalSidebar{height:calc(100vh - 16px);padding-top:10px;border-right:0;background:var(--portal-bg);box-shadow:none}
.portalWorkspace{min-height:calc(100vh - 16px);overflow:clip;border:1px solid var(--portal-border);background:var(--portal-surface);box-shadow:0 10px 36px rgb(0 0 0 / .22)}
.portalContent{background:transparent}
.portalNavIcon{border:0;border-radius:0;background:transparent!important;box-shadow:none}
.portalNavIcon>svg{width:18px;height:18px}
.portalNavItem{border:0;padding-inline:8px}
.portalNavItem:hover,.portalNavItem:focus-visible{border:0;background:rgb(var(--portal-elevated-rgb) / .62)}
.portalNavItem[aria-current="page"]{border:0;background:var(--portal-elevated);box-shadow:none}
.portalNavGroup--account{border-top-color:rgb(var(--portal-border-rgb) / .7)}
.operationsDashboard{background:transparent}
.operationsDashboard :where(.dashboardModule,.dashboardJarvisPanel,.dashboardAgentShortcuts,.dashboardAttention){box-shadow:none}
@media(max-width:900px){
  .portalShell{gap:0;padding:0}
  .portalSidebar{height:auto}
  .portalWorkspace{min-height:100vh;border:0;border-radius:0;box-shadow:none}
}

/* Subtle workspace depth without adding more sidebar chrome. */
.portalWorkspace{background:linear-gradient(145deg,#1A1D21 0%,var(--portal-surface) 42%,#14171A 100%)}
.portalLogo,.portalLogo.portalLionLogo,.portalNavGroup--account,.portalIdentity{border-color:transparent!important;border-width:0!important}
.portalLogo.portalLionLogo,.portalLogo.portalLionLogo img,.jarvisLionMark,.jarvisLionMark img{background:transparent!important}

/* Linear UI/UX implementation contract: dense type-led hierarchy, one workspace,
   quiet separators, restrained elevation, and accessible interaction states. */
.portalRoot{--portal-bg:#090A0B;--portal-bg-rgb:9 10 11;--portal-surface:#121314;--portal-surface-rgb:18 19 20;--portal-elevated:#191A1B;--portal-elevated-rgb:25 26 27;--portal-border:#202122;--portal-border-rgb:32 33 34;--portal-text:#F7F8F8;--portal-text-rgb:247 248 248;--portal-text-muted:#8A8F98;--portal-text-muted-rgb:138 143 152;--portal-gold:#68AFC4;--portal-gold-rgb:104 175 196;--portal-gold-hover:#7FC1D3;--portal-blue:#69B8D1;--portal-blue-rgb:105 184 209;--portal-success:#3FA760;--portal-warning:#D87568;--portal-error:#D95B5E;--portal-font-heading:var(--font-body),Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--portal-font-body:var(--font-body),Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
.portalShell{grid-template-columns:240px minmax(0,1fr);gap:8px;padding:8px;background:linear-gradient(155deg,#171D21 0%,#12181C 52%,#0F1417 100%)}
.portalSidebar{display:flex;flex-direction:column;min-width:0;height:calc(100dvh - 16px);padding:8px 10px;background:linear-gradient(180deg,#1B2328 0%,#161D21 54%,#11171A 100%)}
.portalNavCollapse{position:absolute;z-index:2;top:20px;right:12px;width:24px;height:24px;display:grid;place-items:center;border:0;background:transparent;color:#737981;cursor:pointer}
.portalNavCollapse:hover{background:rgb(255 255 255 / 4%);color:var(--portal-text)}
.portalNavCollapse svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}
.portalLogo.portalLionLogo{height:48px;display:flex;align-items:center;justify-content:flex-start;gap:9px;padding:2px 38px 2px 5px}
.portalLogo.portalLionLogo img{width:27px;height:27px;flex:0 0 27px}
.portalLogo.portalLionLogo span{overflow:hidden;color:var(--portal-text);font-size:var(--portal-type-body);font-weight:650;letter-spacing:-.015em;text-overflow:clip;white-space:nowrap}
.portalSidebar .portalIconNav{gap:8px;padding:8px 0}
.portalNavGroupItems{gap:2px}
.portalNavGroup summary{height:28px;margin:0;padding:0 6px;color:#62666D;font:510 var(--portal-type-caption)/28px var(--portal-font-body);letter-spacing:0;text-transform:none}
.portalNavItem{height:30px;min-height:30px;gap:8px;border-radius:6px;padding:0 6px;color:#D0D6E0;font:510 var(--portal-type-small)/normal var(--portal-font-body);transition:background-color 100ms cubic-bezier(.165,.84,.44,1),color 100ms cubic-bezier(.165,.84,.44,1)}
.portalNavIcon{width:18px;height:18px;flex-basis:18px;align-self:center;color:currentColor!important}
.portalNavIcon>svg{display:block;width:16px;height:16px}
.portalNavLabel{height:18px;display:flex;align-items:center;font:510 var(--portal-type-small)/18px var(--portal-font-body)}
.portalNavItem:hover,.portalNavItem:focus-visible{background:rgb(255 255 255 / 3%);color:var(--portal-text)}
.portalNavItem[aria-current="page"]{background:rgb(255 255 255 / 4%);color:var(--portal-text)}
.portalSidebar .portalIconNav .portalNavItem{box-sizing:border-box;height:30px;min-height:30px;display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;align-items:center;padding:0 6px!important;line-height:18px}
.portalSidebar .portalIconNav .portalNavIcon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;align-self:center;line-height:0}
.portalSidebar .portalIconNav .portalNavIcon>svg{width:16px;height:16px;display:block;flex:none}
.portalSidebar .portalIconNav .portalNavLabel{height:18px;display:block;align-self:center;padding:0;line-height:18px;transform:translateY(-1px)}
.portalIdentity{gap:4px;padding:6px 0}
.portalIdentityAvatar{width:30px;height:30px;border-color:rgb(var(--portal-gold-rgb)/.55);font-weight:590}
.portalIdentity button{width:30px;height:30px;border-radius:6px}
.portalShell:has(.portalIconNav--collapsed){grid-template-columns:64px minmax(0,1fr)}
.portalSidebar:has(.portalIconNav--collapsed){padding-inline:8px}
.portalSidebar:has(.portalIconNav--collapsed) .portalLogo.portalLionLogo{width:48px;padding-right:23px;padding-left:2px}
.portalSidebar:has(.portalIconNav--collapsed) .portalLogo.portalLionLogo span{display:none}
.portalSidebar:has(.portalIconNav--collapsed) .portalNavCollapse{right:2px;background:transparent}
.portalIconNav--collapsed .portalNavGroup{display:contents}
.portalIconNav--collapsed .portalNavGroup summary,.portalIconNav--collapsed .portalNavLabel{display:none}
.portalIconNav--collapsed .portalNavGroupItems{display:grid;gap:2px}
.portalIconNav--collapsed .portalNavGroup--account{margin:0;padding:0;border:0}
.portalSidebar .portalIconNav--collapsed .portalNavItem{width:40px;grid-template-columns:18px;justify-content:center;margin-inline:auto;padding:0!important}
.portalIconNav--collapsed .portalNavTooltip{display:block}
@media(max-width:800px){
  .portalNavCollapse{display:none}
}

/* Fast, restrained login entrance and submit feedback. */
.loginAuthPage{overflow:hidden}
.loginAuthPage .authPanel{position:relative}
.loginAuthPage .authPanel:before{position:absolute;top:0;right:0;left:0;height:2px;background:linear-gradient(90deg,transparent,var(--portal-blue),transparent);content:"";transform:translateX(-100%);animation:loginSweep 900ms cubic-bezier(.22,1,.36,1) 80ms both}
.loginAuthPage .authPanel>a,.loginAuthPage .authPanel>div:not(.authRegistration),.loginAuthPage .portalForm,.loginAuthPage .authRegistration,.loginAuthPage .authHelp{opacity:0;transform:translateY(8px);animation:loginReveal 460ms cubic-bezier(.22,1,.36,1) both}
.loginAuthPage .authPanel>a{animation-delay:80ms}
.loginAuthPage .authPanel>div:not(.authRegistration){animation-delay:150ms}
.loginAuthPage .portalForm{animation-delay:220ms}
.loginAuthPage .authRegistration{animation-delay:290ms}
.loginAuthPage .authHelp{animation-delay:340ms}
.loginAuthPage .authVisual{opacity:0;transform:scale(1.012);animation:loginVisual 720ms cubic-bezier(.22,1,.36,1) 90ms both}
.loginAuthPage .authVisual:before{position:absolute;inset:0;z-index:1;background:linear-gradient(105deg,rgb(255 255 255 / 7%),transparent 32%);content:"";transform:translateX(-110%);animation:loginGlint 950ms cubic-bezier(.22,1,.36,1) 180ms both}
.loginSubmit{gap:9px}
.loginSubmit i{width:0;height:0;opacity:0}
.loginSubmit.pending i{width:14px;height:14px;border:2px solid rgb(255 255 255 / 28%);border-top-color:currentColor;border-radius:50%;opacity:1;animation:loginSpin 650ms linear infinite}
.loginSubmit.pending span{opacity:.82}
@keyframes loginReveal{
  to{opacity:1;transform:none}
}
@keyframes loginVisual{
  to{opacity:1;transform:none}
}
@keyframes loginSweep{
  50%,100%{transform:translateX(100%)}
}
@keyframes loginGlint{
  to{transform:translateX(110%)}
}
@keyframes loginSpin{
  to{transform:rotate(360deg)}
}
@media(prefers-reduced-motion:reduce){
  .loginAuthPage .authPanel:before,.loginAuthPage .authPanel>a,.loginAuthPage .authPanel>div:not(.authRegistration),.loginAuthPage .portalForm,.loginAuthPage .authRegistration,.loginAuthPage .authHelp,.loginAuthPage .authVisual,.loginAuthPage .authVisual:before,.loginSubmit.pending i{animation:none!important;opacity:1;transform:none}
}

/* Dashboard command-center opening: quiet, data-led, and intentionally border-light. */
.dashboardCommandCenter{display:grid;gap:0;padding:4px 2px 12px}
.dashboardCommandHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;padding:0 0 22px}
.dashboardCommandHeader time{display:block;margin-bottom:10px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:590;letter-spacing:.12em;text-transform:uppercase}
.dashboardCommandHeader h1{margin:0;color:var(--portal-text);font-size:var(--portal-type-h1)!important;font-weight:var(--portal-weight-heading)!important;letter-spacing:-.035em!important}
.dashboardCommandHeader p{display:flex;align-items:center;gap:9px;margin:10px 0 0;color:var(--portal-text);font-size:var(--portal-type-small)}
.dashboardCommandHeader p>i{width:8px;height:8px;border-radius:50%;background:var(--portal-success);box-shadow:0 0 10px rgb(63 167 96/.55)}
.dashboardCommandHeader p span{margin-left:5px;color:var(--portal-text-muted)}
.dashboardCommandHeader nav{display:flex;gap:10px}
.dashboardCommandHeader nav button,.dashboardCommandHeader nav a{height:42px;display:flex;align-items:center;gap:10px;border:1px solid var(--portal-border);border-radius:22px;background:rgb(255 255 255/1.5%);color:var(--portal-text);padding:0 17px;font-size:var(--portal-type-small);font-weight:510}
.dashboardCommandHeader nav button{min-width:220px;cursor:pointer}
.dashboardCommandHeader nav button span{color:var(--portal-text-muted);font-size:var(--portal-type-h2)}
.dashboardCommandHeader nav :is(button,a):hover{border-color:#46515a;background:rgb(255 255 255/3%)}
.dashboardCommandMetrics{display:flex;align-items:center;min-height:55px;border-block:1px solid var(--portal-border)}
.dashboardCommandMetrics>a{position:relative;display:flex;min-width:0;align-items:baseline;gap:6px;padding:0 26px;border-right:1px solid var(--portal-border);color:var(--portal-text)}
.dashboardCommandMetrics>a:first-child{padding-left:2px}
.dashboardCommandMetrics>a:last-child{border-right:0}
.dashboardCommandMetrics i{align-self:center;width:8px;height:8px;border-radius:50%;background:var(--portal-success)}
.dashboardCommandMetrics strong{font-size:var(--portal-type-body);font-weight:510}
.dashboardCommandMetrics strong span,.dashboardCommandMetrics small{color:var(--portal-text-muted);font-size:var(--portal-type-small);font-weight:450}
.dashboardCommandMetrics b{margin-left:12px;color:var(--portal-text-muted);font-size:var(--portal-type-h3);font-weight:400}
.dashboardCommandMetrics>a.dashboardApolloMetric{align-items:center;gap:12px;padding-right:4px}
.dashboardApolloMetric>small{color:var(--portal-text);font-weight:540;white-space:nowrap}
.dashboardApolloMetric>span{display:flex;gap:11px}
.dashboardApolloMetric>span>em{display:grid;gap:1px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-style:normal;line-height:1;text-transform:uppercase}
.dashboardApolloMetric>span>em>strong{color:var(--portal-success);font-size:var(--portal-type-small);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.dashboardApolloMetric>b{margin-left:2px}
.dashboardCommandGrid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr);border-bottom:1px solid var(--portal-border)}
.dashboardCommandMain{min-width:0;padding-right:20px;border-right:1px solid var(--portal-border)}
.dashboardCommandFocus{padding:20px 0 10px}
.dashboardCommandFocus>header,.dashboardCommandAgenda>header,.dashboardCommandFeed>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:6px}
.dashboardCommandCenter h2{margin:0;color:var(--portal-text);font-size:var(--portal-type-h2);font-weight:var(--portal-weight-heading)}
.dashboardCommandFocus>header small,.dashboardCommandFeed>header span{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardCommandFocus>div>a{display:grid;min-height:58px;grid-template-columns:10px minmax(0,1fr) auto 130px;gap:12px;align-items:center;border-bottom:1px solid var(--portal-border);color:var(--portal-text);padding:8px 3px}
.dashboardCommandFocus>div>a>i{width:8px;height:8px;border-radius:50%;background:var(--portal-success)}
.dashboardCommandFocus>div>a>i.status-ready{background:var(--portal-error)}
.dashboardCommandFocus>div>a>span{display:grid;gap:3px}
.dashboardCommandFocus strong{font-size:var(--portal-type-small);font-weight:510}
.dashboardCommandFocus small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardCommandFocus em{display:grid;min-width:26px;height:26px;place-items:center;border:1px solid var(--portal-border);border-radius:50%;font-size:var(--portal-type-caption);font-style:normal}
.dashboardCommandFocus a>b{color:var(--portal-blue);font-size:var(--portal-type-caption);font-weight:590;text-align:right}
.dashboardCommandFocus a:hover,.dashboardCommandAgenda a:hover,.dashboardCommandFeed a:hover,.dashboardSuggestionList a:hover{background:rgb(255 255 255/2%)}
.dashboardCommandLower{display:grid;grid-template-columns:1fr 1.15fr;margin-top:12px}
.dashboardCommandAgenda{padding:12px 20px 18px 0;border-right:1px solid var(--portal-border)}
.dashboardCommandAgenda header a{color:var(--portal-success);font-size:var(--portal-type-caption)}
.dashboardCommandAgenda>div>a{display:grid;min-height:48px;grid-template-columns:6px 66px minmax(0,1fr) 12px;gap:9px;align-items:center;color:var(--portal-text)}
.dashboardCommandAgenda>div>a>i{width:6px;height:6px;border-radius:50%;background:var(--portal-success)}
.dashboardCommandAgenda time{color:var(--portal-text);font-size:var(--portal-type-caption)}
.dashboardCommandAgenda strong{overflow:hidden;font-size:var(--portal-type-caption);font-weight:510;text-overflow:ellipsis;white-space:nowrap}
.dashboardCommandAgenda b{color:var(--portal-text-muted)}
.dashboardCommandAgenda p,.dashboardCommandFeed p{color:var(--portal-text-muted);font-size:var(--portal-type-body)}
.dashboardCommandFeed{padding:12px 0 18px 20px}
.dashboardCommandFeed>header span{display:flex;align-items:center;gap:7px}
.dashboardCommandFeed>header span i{width:7px;height:7px;border-radius:50%;background:var(--portal-success);box-shadow:0 0 8px var(--portal-success)}
.dashboardCommandFeed>div>a{display:grid;min-height:48px;grid-template-columns:24px minmax(0,1fr) 12px;gap:9px;align-items:center;border-bottom:1px solid var(--portal-border);color:var(--portal-text);padding:4px 2px}
.dashboardCommandFeed>div>a>i{display:grid;width:22px;height:22px;place-items:center;color:var(--portal-blue);font-size:var(--portal-type-small);font-style:normal}
.dashboardCommandFeed>div>a>i.task{color:var(--portal-success)}
.dashboardCommandFeed a>span{display:grid;gap:2px}
.dashboardCommandFeed small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardCommandFeed strong{overflow:hidden;font-size:var(--portal-type-caption);font-weight:510;text-overflow:ellipsis;white-space:nowrap}
.dashboardCommandFeed a>b{color:var(--portal-text-muted)}
.dashboardCommandSuggestions{display:flex;min-width:0;flex-direction:column;padding:20px 0 18px 20px}
.dashboardCommandSuggestions>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.dashboardCommandSuggestions>header p{margin:5px 0 0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.dashboardCommandSuggestions>header>b{display:grid;width:25px;height:25px;place-items:center;border:1px solid var(--portal-success);border-radius:50%;color:var(--portal-success);font-size:var(--portal-type-caption)}
.dashboardFeaturedSuggestion{display:block;margin-top:13px;border:1px solid #364047;border-radius:10px;background:linear-gradient(145deg,rgb(255 255 255/3%),rgb(255 255 255/1%));color:var(--portal-text);padding:15px}
.dashboardFeaturedSuggestion>span{display:inline-flex;border:1px solid color-mix(in srgb,var(--portal-blue) 55%,var(--portal-border));border-radius:5px;color:var(--portal-blue);padding:3px 6px;font-size:var(--portal-type-caption);letter-spacing:.08em}
.dashboardFeaturedSuggestion h3{margin:10px 0 4px;font-size:var(--portal-type-h3);font-weight:var(--portal-weight-heading)}
.dashboardFeaturedSuggestion p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-body)}
.dashboardFeaturedSuggestion>div{display:flex;align-items:center;justify-content:space-between;margin-top:14px;border-top:1px solid var(--portal-border);padding-top:12px;color:var(--portal-success);font-size:var(--portal-type-caption)}
.dashboardSuggestionList{display:grid;margin-top:9px}
.dashboardSuggestionList>a{display:grid;min-height:54px;grid-template-columns:22px minmax(0,1fr) 12px;gap:9px;align-items:center;border-bottom:1px solid var(--portal-border);color:var(--portal-text);padding:6px}
.dashboardSuggestionList>a>i{display:grid;width:20px;height:20px;place-items:center;border:1px solid var(--portal-success);border-radius:50%;color:var(--portal-success);font-size:var(--portal-type-caption);font-style:normal}
.dashboardSuggestionList a>span{display:grid;gap:2px}
.dashboardSuggestionList strong{font-size:var(--portal-type-caption);font-weight:510}
.dashboardSuggestionList small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardSuggestionList a>b{color:var(--portal-text-muted)}
.dashboardAskBusiness{display:flex;min-height:42px;align-items:center;justify-content:space-between;margin-top:auto;border:1px solid #364047;border-radius:21px;background:rgb(255 255 255/1.5%);color:var(--portal-text-muted);padding:0 8px 0 14px;font-size:var(--portal-type-caption);cursor:pointer}
.dashboardAskBusiness span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--portal-success);color:#fff;font-size:var(--portal-type-h3)}
.dashboardInlineChat{min-width:0;margin-top:auto;padding-top:14px}
.dashboardInlineChat .jarvisCompactChat{height:auto;min-height:42px;gap:8px;overflow:visible;background:transparent;padding:0}
.dashboardInlineChat .jarvisCompactChat.empty{display:block;min-height:42px}
.dashboardInlineChat .jarvisCompactChat.empty .jarvisCompactThread{display:none}
.dashboardInlineChat .jarvisCompactChat.active{height:320px;min-height:320px}
.dashboardInlineChat .jarvisCompactThread{position:relative;min-height:0;border:1px solid var(--portal-border);border-radius:8px;background:#090b0c!important}
.dashboardInlineChat .jarvisCompactMessages{position:absolute;inset:7px;overflow-y:auto;padding:3px}
.dashboardInlineChat .jarvisCompactMessages .jarvisCompactUser,.dashboardInlineChat .jarvisCompactMessages .jarvisCompactAnswer{width:94%;font-size:var(--portal-type-caption)}
.dashboardInlineChat .jarvisCompactComposer{position:static!important;grid-template-columns:minmax(0,1fr) 31px;min-height:42px;border-radius:7px;background:rgb(255 255 255/1.5%);padding:5px 6px 5px 12px}
.dashboardInlineChat .jarvisCompactComposer textarea{font-size:var(--portal-type-body)}
.dashboardInlineChat .jarvisCompactComposer:focus-within{border-color:var(--portal-success)}
.dashboardInlineChat :is(.jarvisCompactAddWrap,.jarvisCompactFullscreen,.jarvisVoiceButton,.jarvisCompactMemory,.jarvisCompactComposerContext,.jarvisVoiceStatus){display:none!important}
.dashboardInlineChat .jarvisCompactSend{background:var(--portal-success)!important;color:#fff!important}
.dashboardInlineChat .jarvisCompactError{position:static;margin:6px 0 0}
.dashboardInlineChat .jarvisCustomerGateBackdrop{position:fixed}

/* The dashboard composer must not inherit the seven-column compact-agent grid.
   Flex keeps the prompt readable at every suggestions-rail width. */
.dashboardInlineChat .jarvisCompactComposer{display:flex!important;width:100%!important;min-width:0!important;align-items:center!important;gap:8px!important}
.dashboardInlineChat .jarvisCompactComposer textarea{width:auto!important;min-width:0!important;flex:1 1 auto!important;overflow:hidden!important;padding-inline:2px!important}
.dashboardInlineChat .jarvisCompactComposer .jarvisCompactSend{width:31px!important;min-width:31px!important;flex:0 0 31px!important;margin-left:auto!important}
@media(max-width:1100px){
  .dashboardCommandGrid{grid-template-columns:1fr}
  .dashboardCommandMain{padding-right:0;border-right:0}
  .dashboardCommandSuggestions{padding-left:0;border-top:1px solid var(--portal-border)}
  .dashboardAskBusiness{margin-top:14px}
  .dashboardCommandHeader nav button{min-width:170px}
  .dashboardCommandMetrics{overflow-x:auto}
  .dashboardCommandMetrics>a{flex:0 0 auto}
}
@media(max-width:700px){
  .dashboardCommandHeader{flex-direction:column}
  .dashboardCommandHeader nav{width:100%}
  .dashboardCommandHeader nav button{min-width:0;flex:1 1}
  .dashboardCommandHeader p{align-items:flex-start;flex-wrap:wrap}
  .dashboardCommandMetrics>a{padding-inline:14px}
  .dashboardCommandLower{grid-template-columns:1fr}
  .dashboardCommandAgenda{padding-right:0;border-right:0}
  .dashboardCommandFeed{border-top:1px solid var(--portal-border);padding-left:0}
  .dashboardCommandFocus>div>a{grid-template-columns:10px minmax(0,1fr) auto}
  .dashboardCommandFocus a>b{display:none}
}

/* Flat DocuSign workspace: summary, aging bands, and a functional envelope table. */
.operationsDashboard .dashboardDocuSign{overflow:hidden;padding:0!important;border:1px solid var(--portal-border);border-radius:10px;background:rgb(7 10 12/42%)}
.dashboardDocuSignHeader{display:flex;min-height:94px;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--portal-border);padding:18px 24px}
.dashboardDocuSignHeader h2{margin:0;color:var(--portal-text);font-size:var(--portal-type-h2);font-weight:var(--portal-weight-heading);letter-spacing:-.035em}
.dashboardDocuSignHeader p{display:flex;align-items:center;gap:8px;margin:7px 0 0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.dashboardDocuSignHeader p i{width:8px;height:8px;border-radius:50%;background:var(--portal-success)}
.dashboardDocuSignHeader p span{opacity:.5}
.dashboardDocuSignHeader>a{display:flex;align-items:center;gap:10px;color:var(--portal-success);font-size:var(--portal-type-small);font-weight:510}
.dashboardDocuSignHeader>a b{font-size:var(--portal-type-h3);font-weight:400}
.dashboardDocuSignSummary{display:flex;min-height:66px;align-items:center;border-bottom:1px solid var(--portal-border);padding:0 24px}
.dashboardDocuSignSummary>div{display:flex;min-width:190px;align-items:baseline;gap:9px;border-right:1px solid var(--portal-border);margin-right:28px}
.dashboardDocuSignSummary strong{color:var(--portal-success);font-size:var(--portal-type-h2);font-weight:590}
.dashboardDocuSignSummary span{color:var(--portal-text);font-size:var(--portal-type-small)}
.dashboardDocuSignSummary>div:nth-child(3) strong{color:var(--portal-blue)}
.dashboardDocuSignSummary button{margin-left:auto;border:0;background:transparent;color:var(--portal-success);font-size:var(--portal-type-small);cursor:pointer}
.dashboardAgeBands{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--portal-border);padding:16px 24px}
.dashboardAgeBands>button{display:grid;min-width:0;grid-template-columns:1fr auto;gap:9px 12px;border:0;border-right:1px solid var(--portal-border);border-radius:0;background:transparent;color:var(--portal-text);padding:0 28px;text-align:left;cursor:pointer}
.dashboardAgeBands>button:first-child{padding-left:0}
.dashboardAgeBands>button:last-child{border-right:0;padding-right:0}
.dashboardAgeBands span{color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.dashboardAgeBands strong{font-size:var(--portal-type-small);font-weight:510}
.dashboardAgeBands i{grid-column:1/3;height:5px;overflow:hidden;border-radius:3px;background:rgb(255 255 255/10%)}
.dashboardAgeBands i>b{display:block;height:100%;border-radius:3px;background:var(--portal-success);transition:width .18s ease}
.dashboardAgeBands>button.active span,.dashboardAgeBands>button.active strong{color:var(--portal-blue)}
.dashboardAgeBands>button.active i{box-shadow:0 0 0 1px var(--portal-blue)}
.dashboardAgeBands>button.active i>b{background:var(--portal-blue)}
.dashboardAgeBands:has(button.active)>button:not(.active){opacity:.35}
.dashboardEnvelopeTitle{margin:0;padding:18px 24px 10px;color:var(--portal-text);font-size:var(--portal-type-h3);font-weight:510}
.dashboardEnvelopeHead{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(110px,.55fr) 72px 92px minmax(270px,auto);gap:18px;padding:0 30px 9px 54px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.operationsDashboard .dashboardEnvelopeList{display:grid;grid-template-columns:1fr;gap:0;padding:0 24px}
.operationsDashboard .dashboardEnvelopeList>article{display:grid;min-height:61px;grid-template-columns:8px minmax(260px,1.35fr) minmax(110px,.55fr) 72px 92px minmax(270px,auto);gap:18px;align-items:center;border:0!important;border-top:1px solid var(--portal-border)!important;border-radius:0;background:transparent;padding:8px 6px;box-shadow:none!important}
.operationsDashboard .dashboardEnvelopeList>article:hover{border-color:var(--portal-border)!important;background:rgb(255 255 255/2%)}
.operationsDashboard .dashboardEnvelopeList>article.ageMatch{background:color-mix(in srgb,var(--portal-blue) 5%,transparent)}
.operationsDashboard .dashboardEnvelopeList>article.ageMuted{filter:none;opacity:.22}
.dashboardEnvelopeDocument{display:grid;min-width:0;gap:2px}
.dashboardEnvelopeDocument strong{font-size:var(--portal-type-small)}
.dashboardEnvelopeDocument span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dashboardEnvelopeOwner,.dashboardEnvelopeAge{overflow:hidden;color:var(--portal-text-muted)!important;font-size:var(--portal-type-small)!important;text-overflow:ellipsis;white-space:nowrap}
.dashboardEnvelopeAge.aging{color:var(--portal-blue)!important}
.operationsDashboard .dashboardEnvelopeList article>.envelopeState{display:inline-flex!important;width:max-content;min-width:72px;justify-content:center;border:1px solid var(--portal-success);border-radius:99px;color:var(--portal-success);padding:4px 9px;font-size:var(--portal-type-caption);font-weight:510;text-transform:capitalize}
.operationsDashboard .dashboardEnvelopeList article>.envelopeState-pending{border-color:var(--portal-blue);color:var(--portal-blue)}
.operationsDashboard .dashboardEnvelopeList article>.envelopeState i{display:none}
.operationsDashboard .dashboardEnvelopeActions{display:flex;grid-column:auto;justify-content:flex-end;gap:6px}
.operationsDashboard .dashboardEnvelopeActions :is(button,a){flex:0 0 auto;border:1px solid var(--portal-border);border-radius:6px;background:transparent;color:var(--portal-text);padding:6px 10px;font-size:var(--portal-type-caption);text-align:center}
.operationsDashboard .dashboardEnvelopeActions :is(button,a):hover{border-color:var(--portal-success);color:var(--portal-success)}
.dashboardDocuSign>.dashboardCompleted{margin:8px 24px 18px;border:1px solid var(--portal-border);border-radius:8px}
.dashboardDocuSign>.dashboardCompleted summary{min-height:48px;padding:0 16px;color:var(--portal-text);font-size:var(--portal-type-body);font-weight:510;text-transform:none}
.dashboardDocuSign>.dashboardCompleted summary b{background:var(--portal-elevated);color:var(--portal-text)}
.dashboardDocuSign>.dashboardCompleted>div{padding:0 14px 10px}
@media(max-width:1100px){
  .dashboardEnvelopeHead{display:none}
  .operationsDashboard .dashboardEnvelopeList>article{grid-template-columns:8px minmax(0,1fr) 90px 90px}
  .dashboardEnvelopeOwner{grid-column:2}
  .dashboardEnvelopeAge{grid-column:3;grid-row:1}
  .operationsDashboard .dashboardEnvelopeList article>.envelopeState{grid-column:4;grid-row:1}
  .operationsDashboard .dashboardEnvelopeActions{grid-column:2/5}
  .dashboardDocuSignSummary>div{min-width:0;flex:1 1}
  .dashboardAgeBands>button{padding-inline:14px}
}
@media(max-width:680px){
  .dashboardDocuSignHeader{min-height:78px;padding:14px}
  .dashboardDocuSignHeader h2{font-size:var(--portal-type-h2)}
  .dashboardDocuSignSummary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 14px}
  .dashboardDocuSignSummary>div{display:grid;gap:2px;border-right:0;margin:0}
  .dashboardDocuSignSummary button{grid-column:1/4;margin:3px 0 0;text-align:left}
  .dashboardAgeBands{overflow-x:auto;grid-template-columns:repeat(5,130px);padding:13px 14px}
  .operationsDashboard .dashboardEnvelopeList{padding-inline:14px}
  .operationsDashboard .dashboardEnvelopeList>article{grid-template-columns:8px minmax(0,1fr) auto;gap:8px 10px}
  .dashboardEnvelopeOwner{grid-column:2}
  .dashboardEnvelopeAge{grid-column:3;grid-row:1}
  .operationsDashboard .dashboardEnvelopeList article>.envelopeState{grid-column:3;grid-row:2}
  .operationsDashboard .dashboardEnvelopeActions{grid-column:2/4;overflow-x:auto;justify-content:flex-start}
  .dashboardEnvelopeTitle{padding-inline:14px}
  .dashboardDocuSign>.dashboardCompleted{margin-inline:14px}
}
.portalWorkspace{min-height:calc(100dvh - 16px);border-color:rgb(255 255 255 / 12%);border-radius:12px;background:linear-gradient(145deg,#22292E 0%,#1C2226 52%,#171C20 100%);box-shadow:0 12px 38px rgb(0 0 0 / 28%),0 0 0 2px rgb(0 0 0 / 14%)}
.portalContent{width:min(1440px,calc(100% - 48px));padding:32px 0 64px}
.portalWorkspace :where(h1){font-size:var(--portal-type-h1)!important;line-height:var(--portal-leading-heading)!important;letter-spacing:-.012em!important;font-weight:var(--portal-weight-heading)!important}
.portalWorkspace :where(h2){font-size:var(--portal-type-h2);line-height:var(--portal-leading-heading);font-weight:var(--portal-weight-heading)}
.portalWorkspace :where(h3){font-size:var(--portal-type-h3);line-height:var(--portal-leading-heading);font-weight:var(--portal-weight-heading)}
:where(.portalWorkspace) :where(p,li,td,input,select,textarea,button){font-size:var(--portal-type-body)}
:where(.portalWorkspace) :where(small,time){font-size:var(--portal-type-small);color:var(--portal-text-muted)}
.portalRoot :where(button,input,select,textarea){border-radius:6px}
.portalRoot :where(input,select,textarea){min-height:36px;background:rgb(255 255 255 / 2%)}
.portalRoot :where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--portal-blue)!important;outline-offset:2px!important}
.portalRoot :where(button:not(:disabled),a){transition:background-color 100ms cubic-bezier(.165,.84,.44,1),border-color 100ms cubic-bezier(.165,.84,.44,1),color 100ms cubic-bezier(.165,.84,.44,1),opacity 100ms cubic-bezier(.165,.84,.44,1)}
.portalRoot :where(a,button):hover{transform:none!important}
.portalRoot :where(.portalCard,.dashboardModule,.dashboardJarvisPanel,.dashboardAgentShortcuts,.cashPanel,.integrationCard,.taskColumn,.taskCard,.reportRunPanel,.reportSchedulePanel,.terminalReasonPanel,.terminalIssueTablePanel){border-radius:8px;box-shadow:none}
.portalRoot :where(table){font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.portalRoot :where(th){height:34px}
.portalRoot :where(td){height:36px}
.portalRoot :where(th,td){padding:6px 10px}
.portalRoot tbody tr:hover{background:rgb(255 255 255 / 3%)}
.portalRoot .jarvisBubble{width:52px;height:52px;border:1px solid rgb(255 255 255 / 8%);border-radius:50%!important;background:var(--portal-surface);box-shadow:0 2px 4px rgb(0 0 0 / 10%)}
.portalRoot .jarvisBubble:hover,.portalRoot .jarvisBubble.open{border-radius:50%!important;transform:none;border-color:rgb(255 255 255 / 12%);box-shadow:0 2px 4px rgb(0 0 0 / 16%)}
.jarvisLionMark,.jarvisLionMark img{width:40px;height:40px}
.jarvisBubblePanel{z-index:101;width:min(400px,calc(100vw - 28px));border-color:rgb(255 255 255 / 8%);border-radius:8px;background:#161718;box-shadow:0 7px 32px rgb(0 0 0 / 35%)}
.jarvisBubblePanel>header{min-height:48px;padding:8px 12px}
.jarvisBubblePanel .jarvisCompactComposer{min-height:68px;align-items:end;border-radius:6px;background:rgb(255 255 255 / 2%);padding:10px 12px}
.jarvisBubblePanel .jarvisCompactComposer textarea{min-height:42px;font-size:var(--portal-type-body)}
@media(max-width:800px){
  .portalShell{display:block;padding:0}
  .portalSidebar{display:flex;flex-direction:row;align-items:center;height:56px;padding:4px 8px;border:0;box-shadow:none}
  .portalWorkspace{min-height:100dvh;border:0;border-radius:0;box-shadow:none}
  .portalContent{width:min(100% - 28px,1440px);padding:24px 0 48px}
  .portalSidebar .portalIconNav .portalNavItem{width:44px;height:44px;min-height:44px;flex:0 0 44px;grid-template-columns:18px;justify-content:center}
  .portalSidebar .portalIconNav .portalNavItem .portalNavLabel{display:none}
  .portalIconNav--collapsed .portalNavGroupItems{display:flex}
  .portalIdentity button,.portalIdentityAvatar{width:44px;height:44px}
  .jarvisBubblePanel{inset:8px;width:auto;max-height:none;border-radius:8px}
  .jarvisBubble{right:12px;bottom:12px}
}
@media(pointer:coarse){
  /* Styled buttons own their geometry; a height-only floor distorts icon controls. */
  .portalRoot :where(button:not([class]),input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){min-height:44px}
}
@media(prefers-reduced-motion:reduce){
  .portalRoot,.portalRoot *,.portalRoot *::before,.portalRoot *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Final shell calibration. These are the single authoritative protected-shell
   backgrounds. Keep them on the structural elements instead of inline in the
   layout so the sidebar and workspace cannot silently converge again. */
.portalRoot .portalShell>.portalWorkspace{background-color:var(--portal-canvas-color)!important;background-image:var(--portal-canvas-background)!important}
@media(min-width:801px){
  .portalRoot .portalShell{background-color:#222324!important;background-image:linear-gradient(145deg,#2B2C2D 0%,#232425 48%,#1B1C1D 100%)!important}
  .portalRoot .portalShell>.portalSidebar{background-color:transparent!important;background-image:none!important}
  .portalRoot .portalShell>.portalSidebar :where(nav,div,details,summary,section,header,footer,form){background-color:transparent!important;background-image:none!important}
  .portalSidebar .portalIconNav:not(.portalIconNav--collapsed) .portalNavItem{grid-template-columns:18px minmax(0,1fr);align-items:center}
  .portalSidebar .portalIconNav .portalNavIcon{display:grid;align-self:center;place-items:center;margin:0;padding:0}
  .portalSidebar .portalIconNav .portalNavIcon>svg{display:block;margin:0}
  .portalSidebar .portalIconNav:not(.portalIconNav--collapsed) .portalNavLabel{height:18px;display:flex;align-self:center;align-items:center;margin:0;padding:0;line-height:18px;transform:none}
  .portalSidebar .portalIconNav.portalIconNav--collapsed .portalNavItem{grid-template-columns:18px!important;gap:0;justify-content:center;overflow:visible}
  .portalSidebar .portalIconNav.portalIconNav--collapsed .portalNavLabel{display:none!important}
}

.portalRoot .portalSidebar .portalNavItem[aria-current="page"]{border-color:transparent!important;background-color:transparent!important;background-image:none!important;color:var(--portal-text)!important;box-shadow:none!important}
.portalRoot .portalSidebar .portalNavItem:hover,
.portalRoot .portalSidebar .portalNavItem:focus-visible,
.portalRoot .portalSidebar .portalNavGroup>summary:hover,
.portalRoot .portalSidebar .portalNavGroup>summary:focus-visible{background-color:var(--portal-canvas-color)!important;background-image:var(--portal-canvas-background)!important;color:var(--portal-text)!important;outline:none}
.operationsDashboard .dashboardEnvelopeActions .dashboardDisabledAction{display:inline-flex;cursor:not-allowed}
.operationsDashboard .dashboardEnvelopeActions .dashboardDisabledAction button{opacity:.32;pointer-events:none}

/* Dashboard liquidity workspace. */
.operationsDashboard .dashboardCashSection{display:grid;gap:0!important;overflow:hidden;border:1px solid var(--portal-border);border-radius:12px;background:rgb(7 10 12/42%);padding:0!important}
.dashboardCashHeader{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--portal-border);padding:20px 28px}
.dashboardCashHeader h2{margin:0;color:var(--portal-text)!important;font-size:var(--portal-type-h2)!important;font-weight:var(--portal-weight-heading)!important;letter-spacing:-.035em}
.dashboardCashHeader p{display:flex;align-items:center;gap:9px;margin:7px 0 0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.dashboardCashHeader p i{width:8px;height:8px;border-radius:50%;background:var(--portal-success);box-shadow:0 0 9px rgb(63 167 96/.55)}
.dashboardCashHeader nav{display:grid;justify-items:end;gap:12px}
.dashboardCashHeader nav a{display:flex;align-items:center;gap:9px;color:var(--portal-success);font-size:var(--portal-type-small)}
.dashboardCashHeader nav a b{font-size:var(--portal-type-h3);font-weight:400}
.dashboardCashHeader select{width:118px;height:38px;border:1px solid var(--portal-border);border-radius:7px;background:rgb(255 255 255/2%);color:var(--portal-text);padding:0 12px;font-size:var(--portal-type-small)}
.dashboardCashHeadline{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--portal-border);padding:20px 28px}
.dashboardCashHeadline>a{min-height:58px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;border-right:1px solid var(--portal-border);color:var(--portal-text);padding:0 28px}
.dashboardCashHeadline>a:first-child{padding-left:0}
.dashboardCashHeadline>a:last-child{border-right:0;padding-right:0}
.dashboardCashHeadline strong{color:var(--portal-success);font-size:var(--portal-type-h1);font-weight:590;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.dashboardCashHeadline strong.warning{color:var(--portal-warning)}
.dashboardCashHeadline span{display:grid;font-size:var(--portal-type-small)}
.dashboardCashHeadline small{margin-top:2px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardCashHeadline>a>b{color:var(--portal-text-muted);font-size:var(--portal-type-h2);font-weight:400}
.dashboardCashForecast>header{display:flex;align-items:center;justify-content:space-between;padding:18px 28px 6px}
.dashboardCashForecast>header h3{display:flex;align-items:center;gap:9px;margin:0;color:var(--portal-text);font-size:var(--portal-type-h3);font-weight:var(--portal-weight-heading)}
.dashboardCashForecast>header h3 span{color:var(--portal-text-muted)}
.dashboardCashForecast>header a{display:flex;align-items:center;gap:9px;color:var(--portal-success);font-size:var(--portal-type-small)}
.dashboardCashForecast>header a b{font-size:var(--portal-type-h3);font-weight:400}
.operationsDashboard .dashboardCashGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0 28px 22px}
.operationsDashboard .dashboardCashChart{height:286px;display:grid;grid-template-rows:auto 1fr auto;border:0!important;border-right:1px solid var(--portal-border)!important;border-radius:0!important;background:transparent!important;padding:18px 28px 8px}
.operationsDashboard .dashboardCashChart:first-child{padding-left:0}
.operationsDashboard .dashboardCashChart:last-child{border-right:0!important;padding-right:0}
.dashboardCashChart header{min-height:46px}
.dashboardCashChart header span{color:var(--portal-text);font-size:var(--portal-type-small);font-weight:590}
.dashboardCashChart header small{margin-top:3px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardCashChart header strong{display:flex;align-items:center;gap:10px;color:var(--portal-text);font-size:var(--portal-type-small);font-weight:590}
.dashboardCashChart header strong b{color:var(--portal-text-muted);font-size:var(--portal-type-h3);font-weight:400}
.dashboardCashChart.bank header strong{color:var(--portal-warning)}
.operationsDashboard .dashboardCashBars{position:relative;min-height:170px;display:flex;align-items:flex-end;gap:3px;overflow:visible;border-bottom:1px solid var(--portal-border);padding-top:42px}
.operationsDashboard .dashboardCashBars>a{min-width:2px;flex:1 1;border-radius:2px 2px 0 0;background:#D95B5E}
.operationsDashboard .dashboardCashChart.bank .dashboardCashBars>a{background:#58B66F}
.operationsDashboard .dashboardCashChart.loads .dashboardCashBars>a{background:#79B7C5}
.dashboardCashPeak{position:absolute;z-index:2;display:grid;min-width:76px;justify-items:center;border:1px solid #414951;border-radius:6px;background:#171B1E;color:var(--portal-text);padding:6px 8px;pointer-events:none;transform:translateX(-50%)}
.dashboardCashPeak:after{position:absolute;top:100%;left:50%;height:32px;border-left:1px dashed #6A737B;content:""}
.dashboardCashPeak small{font-size:var(--portal-type-caption)}
.dashboardCashPeak b{margin-top:2px;color:currentColor;font-size:var(--portal-type-caption)}
.dashboardCashChart.risk .dashboardCashPeak b{color:var(--portal-error)}
.dashboardCashChart.bank .dashboardCashPeak b{color:var(--portal-success)}
.dashboardCashChart.loads .dashboardCashPeak b{color:#79B7C5}
.dashboardCashChart footer{padding-top:10px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardCashCoverage{min-height:70px;display:flex;align-items:center;gap:14px;border-block:1px solid var(--portal-border);padding:0 28px;color:var(--portal-success)}
.dashboardCashCoverage>span{font-size:var(--portal-type-h2)}
.dashboardCashCoverage p{margin:0;color:var(--portal-text);font-size:var(--portal-type-body)}
.dashboardCashCoverage a{display:flex;align-items:center;gap:8px;margin-left:14px;color:var(--portal-success);font-size:var(--portal-type-small)}
.dashboardCashCoverage.short,.dashboardCashCoverage.short a{color:var(--portal-warning)}
.operationsDashboard .dashboardCashFacts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:14px 28px}
.operationsDashboard .dashboardCashFacts>a{min-height:42px;display:grid;grid-template-columns:minmax(0,1fr) auto 14px;gap:10px;align-items:center;border-right:1px solid var(--portal-border);color:var(--portal-text);padding:0 24px}
.operationsDashboard .dashboardCashFacts>a:first-child{padding-left:0}
.operationsDashboard .dashboardCashFacts>a:last-child{border-right:0;padding-right:0}
.dashboardCashFacts span{border:0;padding:0;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.dashboardCashFacts b{margin:0;color:var(--portal-text);font-size:var(--portal-type-small);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.dashboardCashFacts i{color:var(--portal-text-muted);font-size:var(--portal-type-h3);font-style:normal}
@media(max-width:1000px){
  .dashboardCashHeadline{grid-template-columns:1fr}
  .dashboardCashHeadline>a{border-right:0;border-bottom:1px solid var(--portal-border);padding:13px 0}
  .dashboardCashHeadline>a:last-child{border-bottom:0}
  .operationsDashboard .dashboardCashGrid{grid-template-columns:1fr}
  .operationsDashboard .dashboardCashChart,.operationsDashboard .dashboardCashChart:first-child,.operationsDashboard .dashboardCashChart:last-child{border-right:0!important;border-bottom:1px solid var(--portal-border)!important;padding:18px 0}
  .operationsDashboard .dashboardCashFacts{grid-template-columns:1fr 1fr}
  .operationsDashboard .dashboardCashFacts>a:nth-child(2){border-right:0}
}
@media(max-width:620px){
  .dashboardCashHeader{align-items:flex-start;flex-direction:column;padding:18px}
  .dashboardCashHeader nav{width:100%;grid-template-columns:1fr auto;align-items:center}
  .dashboardCashHeadline,.operationsDashboard .dashboardCashGrid,.operationsDashboard .dashboardCashFacts,
.dashboardCashForecast>header,.dashboardCashCoverage{padding-inline:18px}
  .dashboardCashForecast>header{align-items:flex-start;flex-direction:column;gap:8px}
  .operationsDashboard .dashboardCashFacts{grid-template-columns:1fr}
  .operationsDashboard .dashboardCashFacts>a{border-right:0;border-bottom:1px solid var(--portal-border);padding:10px 0}
}

/* DocuSign state and completed-row column alignment. */
.operationsDashboard .dashboardEnvelopeList article>.envelopeState i{display:grid;width:14px;height:14px;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:var(--portal-type-caption);font-style:normal;line-height:1}
.operationsDashboard .dashboardEnvelopeList article>.envelopeState-opened i{background:color-mix(in srgb,var(--portal-success) 12%,transparent)}
.operationsDashboard .dashboardEnvelopeList article>.envelopeState-pending i{border-color:var(--portal-text-muted);color:var(--portal-text-muted);opacity:.55}
.dashboardDocuSign>.dashboardCompleted article{display:grid;grid-template-columns:minmax(0,1fr) 130px 92px;gap:18px;align-items:center}
.dashboardDocuSign>.dashboardCompleted article>.envelopeState{width:110px;justify-self:center;justify-content:center}
.dashboardDocuSign>.dashboardCompleted article>a{justify-self:end}
@media(max-width:680px){
  .dashboardDocuSign>.dashboardCompleted article{grid-template-columns:minmax(0,1fr) auto;gap:10px}
  .dashboardDocuSign>.dashboardCompleted article>.envelopeState{width:auto;justify-self:end}
  .dashboardDocuSign>.dashboardCompleted article>a{grid-column:2;justify-self:end}
}

/* Collapsible Cash Ops forecast rail. */
.portalRoot .cashRiskRailToggle{display:flex;min-width:0;align-items:center;gap:9px;border:0;background:transparent;color:var(--portal-text);padding:0;text-align:left;cursor:pointer}
.portalRoot .cashRiskRailToggle:focus-visible{outline:2px solid var(--portal-blue);outline-offset:4px}
.portalRoot .cashRiskRailChevron{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border:1px solid var(--portal-border);border-radius:5px;color:var(--portal-text-muted);font-size:var(--portal-type-h3);line-height:1;transition:background .15s,color .15s}
.portalRoot .cashRiskRailToggle:hover .cashRiskRailChevron{background:rgb(255 255 255/.05);color:var(--portal-text)}
.portalRoot .cashRiskRailTitle{display:grid;gap:3px}
.portalRoot .cashRiskRailTitle strong{font-size:var(--portal-type-body)}
.portalRoot .cashRiskRailTitle small{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:400}
.portalRoot .cashMatrixPage:has(>.cashRiskRail.isCollapsed){grid-template-columns:minmax(0,1fr) 46px!important}
.portalRoot .cashRiskRail.isCollapsed{height:calc(100vh - 61px)!important;overflow:hidden!important;padding:0!important}
.portalRoot .cashRiskRail.isCollapsed .cashRiskRailHeader{height:100%;min-height:0;align-items:center;justify-content:center;border-bottom:0!important;padding:0}
.portalRoot .cashRiskRail.isCollapsed .cashRiskRailToggle{height:100%;flex-direction:column;justify-content:flex-start;gap:14px;padding:12px 0}
.portalRoot .cashRiskRail.isCollapsed .cashRiskRailTitle{display:flex;align-items:center;gap:0;writing-mode:vertical-rl;transform:rotate(180deg)}
.portalRoot .cashRiskRail.isCollapsed .cashRiskRailTitle small{display:none}
@media(max-width:900px){
  .portalRoot .cashMatrixPage:has(>.cashRiskRail.isCollapsed){grid-template-columns:1fr!important}
  .portalRoot .cashRiskRail.isCollapsed{width:auto;height:46px!important;min-height:46px!important;margin:0 0 14px 16px!important}
  .portalRoot .cashRiskRail.isCollapsed .cashRiskRailToggle{width:100%;flex-direction:row;justify-content:flex-start;padding:0 12px}
  .portalRoot .cashRiskRail.isCollapsed .cashRiskRailTitle{writing-mode:horizontal-tb;transform:none}
}

/* Semantic amber: reserved for aging, time sensitivity, and unfinished states. */
.portalRoot{--portal-attention:#E8B54B;--portal-attention-rgb:232 181 75}
.dashboardDocuSignSummary>div.attention strong{color:var(--portal-attention)!important}
.dashboardAgeBands>button.attention span,.dashboardAgeBands>button.attention strong{color:var(--portal-attention)}
.dashboardAgeBands>button.attention i>b{background:var(--portal-attention)}
.dashboardEnvelopeAge.aging{color:var(--portal-attention)!important}
.operationsDashboard .dashboardEnvelopeList article>.envelopeState-created{border-color:var(--portal-attention);color:var(--portal-attention)}
.operationsDashboard .dashboardEnvelopeList article>.envelopeState-created i{border-color:var(--portal-attention);background:rgb(var(--portal-attention-rgb)/.08);opacity:1}
.operationsDashboard .dashboardEnvelopeList article:has(>.envelopeStatus.created)>.envelopeStatus{background:var(--portal-attention)}
.dashboardDocuSign>.dashboardCompleted summary b{color:var(--portal-success)}

/* Liquidity semantics: fixed 30-day view and sign-aware bank balance colors. */
.dashboardCashHeadline strong.negative{color:var(--portal-error)!important}
.dashboardCashChart.bank header strong{color:var(--portal-success)}
.dashboardCashChart.bank header strong.negative{color:var(--portal-error)}
.operationsDashboard .dashboardCashChart.bank .dashboardCashBars>a.negative{background:var(--portal-error)}
.dashboardCashChart.bank .dashboardCashPeak.negative b{color:var(--portal-error)}
.operationsDashboard .dashboardCashChart.bank .dashboardCashBars.diverging{position:relative;display:block;overflow:visible;border-bottom:0;padding-top:0;background:transparent}
.operationsDashboard .dashboardCashChart.bank .dashboardCashBars.diverging>a{position:absolute;z-index:1;min-width:2px;min-height:2px;max-height:100%;border-radius:2px 2px 0 0;transition:filter .15s ease,transform .15s ease;transform-origin:center bottom}
.operationsDashboard .dashboardCashChart.bank .dashboardCashBars.diverging>a.negative{border-radius:0 0 2px 2px;transform-origin:center top}
.operationsDashboard .dashboardCashChart.bank .dashboardCashBars.diverging>a:hover,.operationsDashboard .dashboardCashChart.bank .dashboardCashBars.diverging>a:focus-visible{filter:brightness(1.25);transform:scaleX(1.18)}
.dashboardCashZeroAxis{position:absolute;z-index:2;right:0;left:0;height:1px;background:#AAB3BA;box-shadow:0 0 0 1px rgb(0 0 0/.22);pointer-events:none}
.dashboardCashZeroLabel{position:absolute;z-index:3;left:0;color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1;pointer-events:none;transform:translateY(-5px)}

/* The portal is a viewport-bound application shell. The browser document must
   never become its scroll container; scrolling belongs to the raised workspace
   or to a full-canvas application's own internal panes. */
html:has(.portalRoot > .portalShell),
body:has(.portalRoot > .portalShell) {
  width: 100%;
  height: 100%;
  overflow: hidden;
  overscroll-behavior: none;
}
.portalRoot:has(> .portalShell) {
  width: 100%;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}
.portalRoot .portalShell {
  width: 100%;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}
.portalRoot .portalWorkspace {
  height: calc(100dvh - 16px);
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.portalRoot .portalWorkspace:has(> .cashNativeApp),
.portalRoot .portalWorkspace:has(> .cashMatrixPage) {
  overflow: hidden;
}
@media(max-width:800px) {
  .portalRoot:has(> .portalShell),
  .portalRoot .portalShell {
    height: var(--portal-visible-height,100dvh);
  }
  .portalRoot .portalWorkspace {
    height: calc(var(--portal-visible-height,100dvh) - 56px);
    min-height: 0;
  }
}

/* Paperwork Assistant: three-column guided workflow workspace. */
.portalRoot .paperworkApp{--portal-gold:var(--portal-success);--portal-gold-rgb:65 190 111;height:100%;min-height:0;padding:22px;background:radial-gradient(circle at 55% 12%,rgb(65 190 111/.025),transparent 31%),var(--portal-charcoal)}
.portalRoot .paperworkHeader{width:100%;max-width:none;align-items:center;margin:0 6px 24px;padding:0 0 2px}
.portalRoot .paperworkHeader h1{margin:8px 0 6px;font-size:var(--portal-type-h1);line-height:var(--portal-leading-heading)}
.portalRoot .paperworkHeader p{font-size:var(--portal-type-small)}
.portalRoot .paperworkHeader>div:first-child>span{color:var(--portal-success);font-size:var(--portal-type-caption);letter-spacing:.16em}
.portalRoot .paperworkHeaderActions{display:grid;grid-template-columns:auto auto;gap:10px 22px;justify-items:end}
.portalRoot .paperworkHeaderActions>span{height:46px;border-color:color-mix(in srgb,var(--portal-text) 22%,var(--portal-border));padding:0 17px;font-size:var(--portal-type-small)}
.portalRoot .paperworkHeaderActions>span i{display:grid;width:21px;height:24px;place-items:center;border:1px solid var(--portal-success);border-radius:50% 50% 45% 45%;background:transparent;color:var(--portal-success);box-shadow:none;font-size:var(--portal-type-caption);font-style:normal}
.portalRoot .paperworkHeaderActions>button{min-width:158px;height:48px;border-radius:8px;background:linear-gradient(135deg,#55cb85,#42b972);color:#07110b;font-size:var(--portal-type-small);box-shadow:0 8px 24px rgb(65 190 111/.12)}
.portalRoot .paperworkAutosave{display:flex;grid-column:1/-1;align-items:center;gap:8px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.portalRoot .paperworkAutosave i{width:16px;height:16px;border-radius:50%;background:var(--portal-success);box-shadow:none}
.portalRoot .paperworkAutosave i:after{display:block;color:#07110b;font-size:var(--portal-type-caption);font-style:normal;line-height:16px;text-align:center;content:"✓"}
.portalRoot .paperworkLayout{width:100%;max-width:none;grid-template-columns:minmax(275px,29%) minmax(420px,1fr) minmax(280px,28%);min-height:0;border-color:color-mix(in srgb,var(--portal-text) 22%,var(--portal-border));border-radius:17px;background:transparent;box-shadow:none}
.portalRoot .paperworkDrafts,.portalRoot .paperworkConversation,.portalRoot .paperworkReview{background:transparent}
.portalRoot .paperworkDrafts{border-right-color:color-mix(in srgb,var(--portal-text) 22%,var(--portal-border))}
.portalRoot .paperworkReview{display:flex;min-height:0;flex-direction:column;border-left-color:color-mix(in srgb,var(--portal-text) 22%,var(--portal-border));padding:0;overflow-y:auto}
.portalRoot .paperworkPanelTitle{min-height:72px;border-bottom-color:var(--portal-border);padding:20px}
.portalRoot .paperworkPanelTitle>span{color:var(--portal-text);font-size:var(--portal-type-h3);font-weight:700;letter-spacing:0;text-transform:none}
.portalRoot .paperworkPanelTitle>small{display:grid;min-width:27px;height:27px;place-items:center;border-radius:99px;background:rgb(var(--portal-text-rgb)/.075);color:var(--portal-text);font-size:var(--portal-type-caption)}
.portalRoot .paperworkReview>.paperworkPanelTitle>small{display:block;width:auto;height:auto;background:transparent;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.portalRoot .paperworkDraftSearch{position:relative;display:block;margin:0 20px 12px}
.portalRoot .paperworkDraftSearch>span{position:absolute;top:50%;left:13px;color:var(--portal-text-muted);font-size:var(--portal-type-h2);line-height:1;transform:translateY(-54%);pointer-events:none}
.portalRoot .paperworkDraftSearch input{width:100%;height:40px;border:1px solid color-mix(in srgb,var(--portal-text) 20%,var(--portal-border));border-radius:7px;background:transparent;color:var(--portal-text);padding:0 12px 0 39px;font:inherit;font-size:var(--portal-type-body);outline:none}
.portalRoot .paperworkDraftSearch input:focus{border-color:var(--portal-success)}
.portalRoot .paperworkDraftList{display:block;padding:0 4px 10px;scrollbar-color:var(--portal-text-muted) transparent;scrollbar-width:thin}
.portalRoot .paperworkDraftList>button{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 18px;border:0;border-bottom:1px solid var(--portal-border);border-left:3px solid transparent;border-radius:0;background:transparent!important;padding:19px 22px;color:var(--portal-text)}
.portalRoot .paperworkDraftList>button:hover{border-left-color:color-mix(in srgb,var(--portal-success) 48%,transparent);background:rgb(var(--portal-text-rgb)/.025)!important}
.portalRoot .paperworkDraftList>button.active{border-color:var(--portal-border);border-left-color:var(--portal-success);background:linear-gradient(90deg,rgb(var(--portal-text-rgb)/.055),rgb(var(--portal-text-rgb)/.025))!important}
.portalRoot .paperworkDraftList>button.active:after{position:absolute;top:50%;right:18px;color:var(--portal-text);font-size:var(--portal-type-h1);line-height:1;content:"›";transform:translateY(-50%)}
.portalRoot .paperworkDraftList strong,.portalRoot .paperworkDraftList span{grid-column:1/-1;padding-right:18px}
.portalRoot .paperworkDraftList strong{font-size:var(--portal-type-small)}
.portalRoot .paperworkDraftList span,.portalRoot .paperworkDraftList small{font-size:var(--portal-type-caption)}
.portalRoot .paperworkDraftList button>div{grid-column:1;width:100%;height:4px;background:rgb(var(--portal-text-rgb)/.09)}
.portalRoot .paperworkDraftList button>div i{background:var(--portal-success)}
.portalRoot .paperworkDraftList small{grid-column:2;white-space:nowrap}
.portalRoot .paperworkDraftList>p{margin:10px;color:var(--portal-text-muted);padding:12px;font-size:var(--portal-type-body)}
.portalRoot .paperworkConversation{background:radial-gradient(circle at 48% 45%,rgb(65 190 111/.025),transparent 39%),transparent}
.portalRoot .paperworkWelcome{width:100%;max-width:650px;padding:44px 48px}
.portalRoot .paperworkBotMark{width:88px;height:88px;margin-bottom:28px;border-color:color-mix(in srgb,var(--portal-text) 18%,var(--portal-border));background:rgb(var(--portal-text-rgb)/.018);color:var(--portal-success);font-size:0;box-shadow:none}
.portalRoot .paperworkBotMark:before{font-size:var(--portal-type-metric);content:"✦"}
.portalRoot .paperworkWelcome>span{color:var(--portal-success);font-size:var(--portal-type-caption);letter-spacing:.18em}
.portalRoot .paperworkWelcome h2{max-width:460px;margin:22px 0 16px;font-size:var(--portal-type-h2);line-height:var(--portal-leading-heading)}
.portalRoot .paperworkWelcome p{max-width:520px;margin:0 0 31px;font-size:var(--portal-type-body);line-height:1.7}
.portalRoot .paperworkWelcome>button{min-width:238px;height:52px;border-radius:8px;background:linear-gradient(135deg,#55cb85,#42b972);color:#07110b;font-size:var(--portal-type-small)}
.portalRoot .paperworkWelcomeTrust{display:grid;width:min(430px,100%);grid-template-columns:repeat(3,1fr);margin-top:36px}
.portalRoot .paperworkWelcomeTrust>div{display:grid;gap:8px;place-items:center;border-right:1px solid var(--portal-border);color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.45}
.portalRoot .paperworkWelcomeTrust>div:last-child{border-right:0}
.portalRoot .paperworkWelcomeTrust i{color:var(--portal-success);font-size:var(--portal-type-h2);font-style:normal}
.portalRoot .paperworkReviewEmpty{display:flex;min-height:0;flex:1 1;flex-direction:column;align-items:center;padding:86px 20px 0;color:var(--portal-text-muted);text-align:center}
.portalRoot .paperworkEmptyStatusIcon{position:relative;width:84px;height:86px;margin-bottom:22px;color:var(--portal-text-muted)}
.portalRoot .paperworkEmptyStatusIcon>span{position:absolute;inset:0 20px 12px 0;display:grid;place-items:center;border:1px solid currentColor;border-radius:3px;font-size:var(--portal-type-h1);font-weight:200}
.portalRoot .paperworkEmptyStatusIcon>i{position:absolute;right:0;bottom:0;display:grid;width:42px;height:42px;place-items:center;border:1px solid currentColor;border-radius:50%;background:var(--portal-charcoal);font-size:var(--portal-type-h1);font-style:normal}
.portalRoot .paperworkReviewEmpty>p{margin:0 0 48px;font-size:var(--portal-type-small);line-height:1.65}
.portalRoot .paperworkReviewEmpty dl{width:100%;margin:0}
.portalRoot .paperworkReviewEmpty dl>div{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--portal-border);padding:20px 12px;text-align:left}
.portalRoot .paperworkReviewEmpty dt,.portalRoot .paperworkReviewEmpty dd{margin:0;font-size:var(--portal-type-small);font-weight:400}
.portalRoot .paperworkReviewEmpty footer{display:flex;width:100%;align-items:center;justify-content:center;gap:13px;margin-top:auto;border-top:1px solid var(--portal-border);padding:25px 12px;color:var(--portal-text-muted);font-size:var(--portal-type-caption);line-height:1.45}
.portalRoot .paperworkReviewEmpty footer i{color:var(--portal-success);font-size:var(--portal-type-h1);font-style:normal}
@media(max-width:1150px){
  .portalRoot .paperworkApp{padding:16px}
  .portalRoot .paperworkLayout{grid-template-columns:minmax(220px,25%) minmax(360px,1fr) minmax(240px,27%)}
  .portalRoot .paperworkWelcome{padding:32px 24px}
  .portalRoot .paperworkWelcomeTrust{width:100%}
}
@media(max-width:760px){
  .portalRoot .paperworkApp{height:auto;min-height:100%;overflow:visible;padding:16px}
  .portalRoot .paperworkHeader{align-items:flex-start;margin:0 0 18px}
  .portalRoot .paperworkHeaderActions{width:100%;grid-template-columns:1fr 1fr;justify-items:stretch}
  .portalRoot .paperworkHeaderActions>*{justify-content:center}
  .portalRoot .paperworkLayout{display:block}
  .portalRoot .paperworkDrafts{max-height:340px}
  .portalRoot .paperworkDraftList{display:block}
  .portalRoot .paperworkConversation{min-height:590px}
  .portalRoot .paperworkReview{display:flex;border-left:0;border-top:1px solid var(--portal-border);overflow:visible}
  .portalRoot .paperworkWelcome h2{font-size:var(--portal-type-h2)}
}

/* Paperwork completion ring: SVG avoids the broken near-complete conic gap. */
.portalRoot .paperworkProgressRing{position:relative;isolation:auto;display:grid;width:124px;height:124px;margin:24px auto;place-items:center;border-radius:50%;background:transparent!important}
.portalRoot .paperworkProgressRing:before{display:none!important}
.portalRoot .paperworkProgressRing>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}
.portalRoot .paperworkProgressRing circle{fill:none;stroke-width:9}
.portalRoot .paperworkProgressTrack{stroke:rgb(var(--portal-text-rgb)/.09)}
.portalRoot .paperworkProgressValue{stroke:var(--portal-success);stroke-linecap:round;stroke-dasharray:100;transition:stroke-dashoffset .35s ease}
.portalRoot .paperworkProgressRing>div{position:relative;z-index:1;display:grid;gap:3px;place-items:center;text-align:center}
.portalRoot .paperworkProgressRing strong{color:var(--portal-text);font-size:var(--portal-type-h2);line-height:1}
.portalRoot .paperworkProgressRing span{color:var(--portal-text-muted);font-size:var(--portal-type-caption);letter-spacing:.08em;text-transform:uppercase}

/* PAI balance movements stay provisional until an operator confirms or rejects them. */
.portalRoot .cashSidebarNavGroup{position:relative;display:grid;min-width:0}
.portalRoot .cashSidebarNavGroup>button{width:100%}
.portalRoot .cashAdjustmentQueue{position:relative;margin:0}
.portalRoot .cashAdjustmentQueue>button{display:grid;min-height:28px;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center;border-radius:5px;color:var(--portal-text-muted);padding:0 12px;font-size:var(--portal-type-caption);font-weight:800;cursor:pointer;list-style:none}
.portalRoot .cashAdjustmentQueue>button:hover,.portalRoot .cashAdjustmentQueue:has(:popover-open)>button{background:rgb(var(--portal-text-rgb)/.04);color:var(--portal-text)}
.portalRoot .cashAdjustmentQueue>button>strong{display:grid;min-width:20px;height:20px;place-items:center;border-radius:99px;background:rgb(var(--portal-text-rgb)/.08);color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.portalRoot .cashAdjustmentQueue.hasPending>button{color:var(--portal-gold)}
.portalRoot .cashAdjustmentQueue.hasPending>button>strong{background:color-mix(in srgb,var(--portal-gold) 18%,transparent);color:var(--portal-gold)}
.portalRoot .cashAdjustmentFlyout{position:fixed;inset:auto;margin:0;box-sizing:border-box;width:min(560px,calc(100vw - 24px));max-height:min(560px,calc(100vh - 260px));overflow:auto;border:1px solid var(--portal-border);border-radius:9px;background:var(--portal-surface);padding:14px;box-shadow:0 14px 34px rgb(0 0 0/.28)}
.portalRoot .cashAdjustmentQueue.hasPending .cashAdjustmentFlyout{border-color:var(--portal-gold);box-shadow:inset 3px 0 var(--portal-gold),0 14px 34px rgb(0 0 0/.28)}
.portalRoot .cashAdjustmentFlyout>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.portalRoot .cashAdjustmentFlyout>header span{color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:800;letter-spacing:.12em}
.portalRoot .cashAdjustmentFlyout>header h2{margin:4px 0;color:var(--portal-text);font-size:var(--portal-type-h2)}
.portalRoot .cashAdjustmentFlyout>header p,.portalRoot .cashAdjustmentEmpty{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.portalRoot .cashAdjustmentFlyout>header>strong{min-width:64px;color:var(--portal-gold);font-size:var(--portal-type-h1);text-align:center}
.portalRoot .cashAdjustmentFlyout>header>strong small{display:block;font-size:var(--portal-type-caption);letter-spacing:.08em;text-transform:uppercase}
.portalRoot .cashAdjustmentList{display:grid;gap:10px;margin-top:14px}
.portalRoot .cashAdjustmentList article{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:10px;border:1px solid color-mix(in srgb,var(--portal-gold) 45%,var(--portal-border));border-radius:10px;background:color-mix(in srgb,var(--portal-gold) 5%,var(--portal-surface));padding:12px}
.portalRoot .cashAdjustmentList article>div b,.portalRoot .cashAdjustmentList article>div span{display:block}
.portalRoot .cashAdjustmentList article>div span{margin-top:3px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.portalRoot .cashAdjustmentList article>p{margin:0;color:var(--portal-text);font-size:var(--portal-type-body)}
.portalRoot .cashAdjustmentList dl{display:flex;flex-wrap:wrap;gap:14px;margin:0}
.portalRoot .cashAdjustmentList dl div{min-width:72px}
.portalRoot .cashAdjustmentList dt{color:var(--portal-text-muted);font-size:var(--portal-type-caption);text-transform:uppercase}
.portalRoot .cashAdjustmentList dd{margin:2px 0 0;color:var(--portal-text);font-weight:700}
.portalRoot .cashAdjustmentList footer{display:flex;flex-wrap:wrap;gap:7px}
.portalRoot .cashAdjustmentList button{border:1px solid var(--portal-border);border-radius:7px;background:transparent;color:var(--portal-text);padding:8px 10px;font-weight:700;cursor:pointer}
.portalRoot .cashAdjustmentList .cashConfirmAdjustment{border-color:var(--portal-success);background:var(--portal-success);color:var(--portal-charcoal)}
.portalRoot .cashAdjustmentEmpty{margin-top:10px}
.portalRoot .cashAdjustmentFlyout>details{margin-top:12px}
.portalRoot .cashAdjustmentFlyout>details>summary{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-weight:700;cursor:pointer}
.portalRoot .cashAdjustmentHistory{display:grid;gap:5px;margin-top:8px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.portalRoot .cashAdjustmentHistory span b{display:inline-block;min-width:72px;color:var(--portal-text)}
.portalRoot .pendingBalanceAdjustmentCell{position:relative;box-shadow:inset 0 0 0 2px var(--portal-gold);background:color-mix(in srgb,var(--portal-gold) 12%,var(--portal-surface))!important}
.portalRoot .pendingBalanceAdjustmentFlag{display:block;margin-top:3px;color:var(--portal-gold);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1200px){
  .portalRoot .cashAdjustmentList article{grid-template-columns:1fr}
  .portalRoot .cashAdjustmentList footer{flex-wrap:wrap}
}
@media(max-width:900px){
  .portalRoot .cashAdjustmentFlyout{position:fixed;z-index:90;inset:70px 12px auto;width:auto;max-height:calc(100vh - 84px)}
  .portalRoot .cashAdjustmentFlyout>header{flex-direction:column}
  .portalRoot .cashAdjustmentFlyout>header>strong{text-align:left}
}

/* Form Filling Agent launchpad */
.formAgentLaunchpad{min-height:100%;padding:0 0 30px!important;background:var(--portal-bg)}
.formAgentLaunchHeader{display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--portal-border);padding:28px 30px 20px}
.formAgentLaunchHeader>div:first-child{max-width:620px}
.formAgentLaunchHeader>div:first-child>span{color:var(--portal-success);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.16em}
.formAgentLaunchpad .formAgentLaunchHeader h1{margin:7px 0 5px;font-size:var(--portal-type-h1);line-height:var(--portal-leading-heading);letter-spacing:-.045em}
.formAgentLaunchHeader p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.formAgentLaunchActions{display:grid;grid-template-columns:230px auto;gap:10px;justify-items:stretch}
.formAgentLaunchActions label{position:relative}
.formAgentLaunchActions label>i{position:absolute;top:10px;left:12px;color:var(--portal-text-muted);font-size:var(--portal-type-h3);font-style:normal}
.formAgentLaunchActions input,.formAgentLaunchActions>button{height:40px;border:1px solid var(--portal-border);border-radius:7px;background:transparent;color:var(--portal-text);font:inherit;font-size:var(--portal-type-body)}
.formAgentLaunchActions input{width:100%;padding:0 12px 0 36px}
.formAgentLaunchActions>button{padding:0 16px;cursor:pointer}
.formAgentLaunchActions>span{display:flex;grid-column:1/-1;align-items:center;justify-content:flex-end;gap:7px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.formAgentLaunchActions>span i{width:9px;height:9px;border-radius:50%;background:var(--portal-success)}
.formAgentLaunchError{margin:12px 28px 0;border:1px solid var(--portal-error);border-radius:7px;color:var(--portal-error);padding:9px 12px;font-size:var(--portal-type-caption)}
.formAgentLaunchGrid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);padding:20px 20px 0}
.formAgentContinue,.formAgentStart{min-width:0;padding:8px}
.formAgentStart{border-left:1px solid var(--portal-border);padding-left:28px}
.formAgentContinue>h2,.formAgentStart>h2{margin:0 0 16px;font-size:var(--portal-type-h2);font-weight:var(--portal-weight-heading)}
.formAgentFeatured{display:grid;grid-template-columns:55px minmax(0,1fr) auto;gap:14px;align-items:start;border:1px solid var(--portal-border);border-left:3px solid var(--portal-success);border-radius:8px;background:linear-gradient(115deg,rgb(var(--portal-text-rgb)/.035),transparent 70%);padding:18px}
.formAgentDocIcon,.formAgentWorkflowIcon{display:grid;width:48px;height:48px;place-items:center;border:1px solid var(--portal-border);border-radius:50%;color:var(--portal-text);font-size:var(--portal-type-h2)}
.formAgentFeatured h3{margin:4px 0 3px;font-size:var(--portal-type-h3)}
.formAgentFeatured p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-body)}
.formAgentFeatured>div:nth-child(2)>strong{display:block;margin-top:8px;color:var(--portal-success);font-size:var(--portal-type-caption)}
.formAgentNeeded{padding-top:26px;color:var(--portal-gold);font-size:var(--portal-type-caption)}
.formAgentNeeded span:before{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:currentColor;content:""}
.formAgentProgress{grid-column:1/-1;height:4px;overflow:hidden;border-radius:5px;background:var(--portal-elevated)}
.formAgentProgress b{display:block;height:100%;border-radius:inherit;background:var(--portal-success)}
.formAgentNext{display:grid;grid-column:1/3;gap:3px}
.formAgentNext span{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.formAgentNext strong{font-size:var(--portal-type-caption)}
.formAgentFeatured>a{align-self:center;border:1px solid var(--portal-success);border-radius:6px;background:color-mix(in srgb,var(--portal-success) 22%,transparent);color:var(--portal-text);padding:9px 11px;font-size:var(--portal-type-caption);text-decoration:none}
.formAgentFeatured footer{display:flex;grid-column:1/-1;align-items:center;gap:7px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.formAgentFeatured footer b{color:var(--portal-text);font-weight:600}
.formAgentFeatured footer a{margin-left:auto;color:var(--portal-success);text-decoration:none}
.formAgentRecentList{display:grid;margin-top:13px}
.formAgentRecentList>a{display:grid;grid-template-columns:35px minmax(120px,1fr) auto minmax(80px,auto) 12px;gap:8px;align-items:center;border:1px solid var(--portal-border);border-radius:7px;color:var(--portal-text);padding:9px 11px;text-decoration:none}
.formAgentRecentList>a+a{margin-top:-1px}
.formAgentRecentList>a>i{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:rgb(var(--portal-text-rgb)/.04);font-style:normal}
.formAgentRecentList>a>span:nth-child(2){display:grid;gap:2px}
.formAgentRecentList strong{font-size:var(--portal-type-caption)}
.formAgentRecentList small,.formAgentRecentList em{color:var(--portal-text-muted);font-size:var(--portal-type-caption);font-style:normal}
.formAgentRecentList>a>b{color:var(--portal-success);font-size:var(--portal-type-caption)}
.formAgentRecentList>a>span:last-child{font-size:var(--portal-type-h3)}
.formAgentViewAll{margin:11px 5px 0;border:0;background:transparent;color:var(--portal-success);font-size:var(--portal-type-caption);cursor:pointer}
.formAgentEmpty{border:1px dashed var(--portal-border);border-radius:8px;padding:32px;text-align:center}
.formAgentEmpty p{color:var(--portal-text-muted);font-size:var(--portal-type-small)}
.formAgentWorkflowCard{display:grid;width:100%;grid-template-columns:55px minmax(0,1fr) auto 12px;gap:14px;align-items:center;border:1px solid transparent;border-bottom-color:var(--portal-border);border-radius:9px;background:transparent;color:inherit;padding:17px 10px 26px;text-align:left;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;cursor:pointer}
.formAgentWorkflowCard+.formAgentWorkflowCard{margin-top:4px;padding-top:27px}
.formAgentWorkflowCard:hover,.formAgentWorkflowCard:focus-visible{border-color:color-mix(in srgb,var(--portal-success) 70%,var(--portal-border));background:color-mix(in srgb,var(--portal-success) 7%,transparent);box-shadow:0 12px 30px rgb(0 0 0/.22),inset 3px 0 0 var(--portal-success);transform:translateY(-1px);outline:none}
.formAgentWorkflowCard:disabled{cursor:wait;opacity:.65}
.formAgentWorkflowCard:hover .formAgentWorkflowIcon,.formAgentWorkflowCard:focus-visible .formAgentWorkflowIcon{border-color:var(--portal-success);background:color-mix(in srgb,var(--portal-success) 13%,transparent)}
.formAgentWorkflowCard:hover> b,.formAgentWorkflowCard:focus-visible> b{color:var(--portal-success);transform:translateX(3px)}
.formAgentWorkflowIcon{position:relative;background:rgb(var(--portal-text-rgb)/.035)}
.formAgentWorkflowIcon i{position:absolute;right:-3px;bottom:-2px;display:grid;width:18px;height:18px;place-items:center;border-radius:50%;background:var(--portal-success);color:var(--portal-bg);font-size:var(--portal-type-caption);font-style:normal;font-weight:900}
.formAgentWorkflowCard>div:nth-child(2)>span{color:var(--portal-success);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.12em}
.formAgentStart h3{margin:7px 0 5px;font-size:var(--portal-type-h3)}
.formAgentStart p{max-width:380px;margin:0 0 18px;color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.55}
.formAgentStart small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.formAgentWorkflowAction{align-self:end;color:var(--portal-success);font-size:var(--portal-type-caption);font-weight:800}
.formAgentWorkflowCard>b{align-self:end;color:var(--portal-text-muted);font-size:var(--portal-type-h3);transition:color .18s ease,transform .18s ease}
.formAgentReadyBar{display:grid!important;grid-template-columns:38px 1fr auto auto;align-items:center;gap:14px;max-width:none!important;margin:16px 20px 0!important;border:1px solid var(--portal-border)!important;border-radius:8px!important;background:linear-gradient(90deg,rgb(var(--portal-text-rgb)/.03),transparent)!important;padding:14px 18px!important}
.formAgentReadyBar>i{color:var(--portal-success);font-size:var(--portal-type-h1);font-style:normal}
.formAgentReadyBar>div strong{font-size:var(--portal-type-caption)}
.formAgentReadyBar>div p{margin:3px 0 0;color:var(--portal-text-muted);font-size:var(--portal-type-body)}
.formAgentReadyBar>a{border:1px solid var(--portal-success);border-radius:6px;color:var(--portal-success);padding:9px 15px;font-size:var(--portal-type-caption);text-decoration:none}
.formAgentReadyBar>span{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
@media(max-width:900px){
  .formAgentLaunchHeader{align-items:flex-start;flex-direction:column}
  .formAgentLaunchActions{width:100%}
  .formAgentLaunchGrid{grid-template-columns:1fr}
  .formAgentStart{margin-top:20px;border-top:1px solid var(--portal-border);border-left:0;padding:25px 8px 8px}
  .formAgentReadyBar{grid-template-columns:32px 1fr}
  .formAgentReadyBar>a,.formAgentReadyBar>span{grid-column:2}
}
@media(max-width:600px){
  .formAgentLaunchHeader{padding:20px 16px}
  .formAgentLaunchActions{grid-template-columns:1fr}
  .formAgentLaunchActions>span{justify-content:flex-start}
  .formAgentLaunchGrid{padding:12px 8px}
  .formAgentFeatured{grid-template-columns:45px 1fr}
  .formAgentNeeded{grid-column:2;padding-top:0}
  .formAgentFeatured>a{grid-column:1/-1;text-align:center}
  .formAgentRecentList>a{grid-template-columns:30px 1fr auto}
  .formAgentRecentList em,.formAgentRecentList>a>span:last-child{display:none}
  .formAgentWorkflowCard{grid-template-columns:48px 1fr}
  .formAgentWorkflowAction{grid-column:2;justify-self:start}
  .formAgentWorkflowCard>b{display:none}
}

/* The compact dashboard already surfaces these facts in its primary grid. */
.operationsDashboard .dashboardReportSummary,
.operationsDashboard .dashboardTopRightRail>.dashboardCalendar{display:none}
.jarvisQuickReplies{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.jarvisQuickReplies button{min-height:34px;border:1px solid rgb(var(--portal-blue-rgb)/.48);border-radius:9px;background:rgb(var(--portal-blue-rgb)/.09);color:var(--portal-text);padding:7px 12px;font:650 var(--portal-type-caption) var(--portal-font-body);cursor:pointer;transition:border-color .15s ease,background-color .15s ease,transform .15s ease}
.jarvisQuickReplies button:hover,.jarvisQuickReplies button:focus-visible{border-color:var(--portal-blue);background:rgb(var(--portal-blue-rgb)/.18);outline:none;transform:translateY(-1px)}
.portalRoot .formAgentWorkflowCard > div:nth-child(2),
.portalRoot .formAgentWorkflowCard > div:nth-child(2) > * {
  background: transparent !important;
  box-shadow: none !important;
}

/* Floating labels escape the scrollable, collapsed navigation rail. */
.portalNavFloatingTooltip{position:fixed;z-index:10000;display:block;box-sizing:border-box;max-width:min(280px,calc(100vw - 100px));padding:7px 11px;border:1px solid #353A40;border-radius:7px;background:#1C2024;color:#F7F8F8;box-shadow:0 4px 14px rgb(0 0 0 / 28%);font:500 var(--portal-type-small)/1.4 var(--font-body),Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.01em;overflow-wrap:anywhere;transform:translateY(-50%);pointer-events:none}
.portalNavFloatingTooltip:before{position:absolute;top:50%;left:-4px;width:6px;height:6px;border-bottom:1px solid #353A40;border-left:1px solid #353A40;background:#1C2024;content:"";transform:translateY(-50%) rotate(45deg)}

/*!***********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/portal/portal.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************/
/* Keep this import order: later sections intentionally refine earlier rules.
   See docs/portal-css.md before moving shared styles or adding overrides. */

/*!***********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/portal/cash-matrix-finish.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************/
/* Cash plan structure: one compact toolbar, a separate bank ledger, and a
   genuine three-column frozen identity block. */

/* The portal shell owns the navigation canvas. It is deliberately neutral
   charcoal rather than blue, and remains visible behind every raised app. */
.portalRoot,
.portalRoot .portalShell {
  background:
    radial-gradient(circle at 8% 0%, rgb(255 255 255 / 4%), transparent 34%),
    linear-gradient(145deg, #202122 0%, #191a1b 42%, #121314 100%) !important;
}

.portalRoot .portalSidebar {
  background: transparent !important;
  box-shadow: none !important;
}

.portalRoot .portalWorkspace {
  background:
    radial-gradient(circle at 82% 0%, rgb(255 255 255 / 2%), transparent 34%),
    linear-gradient(150deg, #111213 0%, #0b0c0d 58%, #0f1011 100%) !important;
}

/* Cash Ops has a second navigation rail inside the portal. Keep both rails on
   the same canvas and raise the Cash Ops workspace as the foreground panel. */


.portalRoot:has(.cashNativeApp) .portalSidebar,
.portalRoot:has(.cashNativeApp) .cashNativeApp,
.portalRoot:has(.cashNativeApp) .cashNativeSidebar,
.portalRoot:has(.cashNativeApp) .cashNativeContent {
  background: transparent !important;
}

.portalRoot:has(.cashNativeApp) .portalSidebar,
.portalRoot:has(.cashNativeApp) .cashNativeSidebar {
  border-color: rgb(255 255 255 / 8%) !important;
  box-shadow: none !important;
}

.portalRoot .cashNativeContent:has(.cashMatrixPage) {
  padding: 8px !important;
}

.portalRoot .cashMatrixPage {
  width: 100%;
  height: calc(var(--portal-visible-height, 100dvh) - 34px) !important;
  min-height: 0 !important;
  grid-template-rows: minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 11px;
  background:
    radial-gradient(circle at 82% 0%, rgb(255 255 255 / 1.8%), transparent 34%),
    linear-gradient(150deg, #0e0f10 0%, #090a0b 58%, #0c0d0e 100%) !important;
  box-shadow: 0 16px 40px rgb(0 0 0 / 24%);
}

.portalRoot .cashMatrixPage .cashMatrixMain {
  min-height: 0;
}

.cashMatrixPage .cashPlanTablePanel > header {
  flex-shrink: 0;
  min-height: 42px !important;
  gap: 16px;
  background: transparent !important;
  box-shadow: none !important;
}

.cashMatrixPage .cashPlanTablePanel > header > div:first-child {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 10px;
}

.cashMatrixPage .cashPlanToolbar {
  display: flex;
  align-items: center;
  gap: 6px;
}

.cashMatrixPage .cashPlanToolbar button {
  height: 28px;
  border: 1px solid var(--portal-border);
  border-radius: 5px;
  background: transparent;
  color: var(--portal-text);
  padding: 0 9px;
  font-size: var(--portal-type-caption);
  font-weight: 650;
  cursor: pointer;
}

.cashMatrixPage .cashPlanToolbar button:hover:not(:disabled) {
  border-color: var(--portal-text-muted);
  background: rgb(var(--portal-text-rgb) / 4%);
}

.cashMatrixPage .cashPlanToolbar button:disabled {
  cursor: default;
  opacity: .42;
}

.cashMatrixPage .cashPlanToolbar .cashPlanReviewButton:not(:disabled) {
  border-color: var(--portal-success);
  color: var(--portal-success);
}

.cashNativeSidebar .cashSidebarControlsHost {
  min-height: 0;
  overflow-y: auto;
  border-top: 0;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 3px 12px;
}

.cashNativeSidebar .cashSidebarTableControls {
  margin-top: 0 !important;
  border-top: 1px solid rgb(var(--portal-border-rgb) / 46%) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.cashSidebarPlanDetails {
  display: grid;
  gap: 8px;
  background: transparent !important;
  box-shadow: none !important;
  padding-bottom: 10px;
}

.cashSidebarPlanDetails header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.cashSidebarPlanDetails header strong {
  color: var(--portal-text) !important;
  font-size: var(--portal-type-caption) !important;
  letter-spacing: 0 !important;
  text-transform: none;
}

.cashSidebarPlanDetails header span,
.cashSidebarPlanDetails > small {
  color: var(--portal-text-muted);
  font-size: var(--portal-type-caption);
}

.cashSidebarPlanDetails > p {
  margin: 0;
  color: var(--portal-success);
  font-size: var(--portal-type-small);
  line-height: 1.4;
}

.cashSidebarPlanDetails.atRisk > p { color: var(--portal-error); }
.cashSidebarPlanDetails dl { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 14px; margin: 0; border: 0; border-radius: 0; overflow: visible; background: transparent; }
.cashSidebarPlanDetails dl > div { display: grid; gap: 2px; background: transparent; padding: 0; }
.cashSidebarPlanDetails dt { color: var(--portal-text-muted); font-size: var(--portal-type-caption); }
.cashSidebarPlanDetails dd { margin: 0; color: var(--portal-text); font-size: var(--portal-type-caption); font-weight: 700; }
.cashSidebarPlanDetails dd.negative { color: var(--portal-error); }

/* These surfaces intentionally share their parent canvas. Keep the selector
   above the shared portal finish rules, which otherwise repaint both blocks. */
.portalRoot .cashNativeSidebar #cash-sidebar-controls.cashSidebarControlsHost,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarTableControls,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanDetails {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.portalRoot .cashNativeSidebar nav button:hover,
.portalRoot .cashNativeSidebar nav button.active,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanDetails dl,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanDetails dl > div,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarTableControls > button,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashReportPopover > button,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashStartDate input {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Plain Plan-details stack: deliberately avoids the legacy sidebar-card class
   names so no shared surface rule can paint a panel behind this content. */
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanStack,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanDetailsPlain,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanDetailsPlain > header,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanDetailsPlain dl,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanDetailsPlain dl > div {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanStack {
  display: grid;
  gap: 7px;
  margin: 0;
  border: 0;
  padding: 15px 3px 0;
}

.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanStack > strong {
  color: var(--portal-text-muted);
  font-size: var(--portal-type-caption);
  letter-spacing: .12em;
}

.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanDetailsPlain {
  display: grid;
  gap: 8px;
  margin: 0;
  border: 0;
  padding: 0 0 10px;
}

.cashSidebarPlanDetailsPlain header { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.cashSidebarPlanDetailsPlain header strong { color: var(--portal-text); font-size: var(--portal-type-caption); }
.cashSidebarPlanDetailsPlain header span,
.cashSidebarPlanDetailsPlain > small { color: var(--portal-text-muted); font-size: var(--portal-type-caption); }
.cashSidebarPlanDetailsPlain > p { margin: 0; color: var(--portal-success); font-size: var(--portal-type-small); line-height: 1.4; }
.cashSidebarPlanDetailsPlain.atRisk > p { color: var(--portal-error); }
.cashSidebarPlanDetailsPlain dl { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 14px; margin: 0; border: 0; padding: 0; }
.cashSidebarPlanDetailsPlain dl > div { display: grid; gap: 2px; margin: 0; border: 0; padding: 0; }
.cashSidebarPlanDetailsPlain dt { color: var(--portal-text-muted); font-size: var(--portal-type-caption); }
.cashSidebarPlanDetailsPlain dd { margin: 0; color: var(--portal-text); font-size: var(--portal-type-caption); font-weight: 700; }
.cashSidebarPlanDetailsPlain dd.negative { color: var(--portal-error); }

.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanStack > button,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanStack .cashReportPopover > button {
  width: 100%;
  height: auto;
  appearance: none;
  border: 0;
  border-radius: 0;
  background: none !important;
  box-shadow: none !important;
  color: var(--portal-text-muted);
  padding: 4px 0;
  text-align: left;
}

.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanStack > small { display: none; }
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanStack > .cashPrimaryButton { display: none; }

/* The rail preview is now a real street map. The whole preview opens Map, so
   its embedded map remains display-only and cannot trap clicks or scrolling. */
.portalRoot .cashNextLoadMapCanvas .cashMapNative {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 0;
  border-radius: 0;
  pointer-events: none;
}

.portalRoot .cashNextLoadMapCanvas .leaflet-control-container { display: none; }
.portalRoot .cashNextLoadMapCanvas .cashMapState { font-size: var(--portal-type-caption); }
.portalRoot .cashNextLoadMapCanvas::before,
.portalRoot .cashNextLoadMapCanvas::after { content: none; }
.portalRoot .cashNextLoadMapCanvas .cashTileRoutes {
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}
.portalRoot .cashNextLoadMapCanvas .cashTileRoutes polyline {
  stroke-width: 3;
  filter: none;
}
.portalRoot .cashNextLoadMapCanvas .leaflet-overlay-pane svg { inset: auto; width: auto; height: auto; }

/* Keep compact Y-axis labels in their own paint layer so the bar plot cannot
   cover them at narrow forecast-rail widths. */
.portalRoot .cashRiskRail .cashTimelinePlot {
  grid-template-columns: 52px minmax(0, 1fr);
  background-color: transparent !important;
}

.portalRoot .cashRiskRail .cashTimelineAxis {
  position: relative;
  z-index: 2;
  overflow: visible;
  background: transparent !important;
}

.portalRoot .cashRiskRail .cashTimelineBars {
  z-index: 1;
  min-width: 0;
}

.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanDetails dl {
  gap: 9px 14px;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: visible;
}

.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanDetails dl > div:nth-child(odd) {
  border-right: 0;
}

.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanDetails dl > div:nth-child(-n + 2) {
  border-bottom: 0;
}

.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarTableControls > button,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashReportPopover > button {
  min-height: 0 !important;
  height: auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 4px 0 !important;
}

.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashStartDate input {
  height: auto !important;
  border: 0 !important;
  border-bottom: 1px solid rgb(var(--portal-border-rgb) / 55%) !important;
  border-radius: 0 !important;
  padding: 5px 0 !important;
  appearance: none;
}

.portalRoot .cashMatrixPage .cashPlanTablePanel > header {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.cashMatrixPage .cashPlanToolbar .cashPlanFullscreenButton,
.cashMatrixPage .cashPlanToolbar .cashPlanRefreshButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  padding: 6px;
}

.portalRoot .cashMatrixPage .cashMatrixMain:fullscreen {
  min-height: 0;
  overflow: auto;
  background: var(--portal-bg) !important;
  padding: 12px !important;
}

.portalRoot .cashMatrixMain:fullscreen .cashPlanTablePanel {
  flex: 1 0;
  min-height: 0;
}

.portalRoot .cashMatrixMain:fullscreen .cashMatrixFrame {
  height: auto !important;
  min-height: 160px;
  flex: 1 1 auto;
}

.cashMatrixPage .cashTableZoomControls {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.cashMatrixPage .cashTableZoomControls > button { min-width: 28px; }
.cashMatrixPage .cashTableZoomControls .cashTableZoomReset { min-width: 82px; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.cashMatrixPage .cashTableZoomReset span { color: var(--portal-text-muted); margin-left: 3px; }
.cashMatrixPage .cashPlanToolbar { flex-wrap: wrap; }

@media (max-width: 900px) {
  .portalRoot .cashMatrixPage {
    height:calc(var(--portal-visible-height,100dvh) - 72px)!important;
    min-height:0!important;
    overflow:auto!important;
    padding:0!important;
  }
  .portalRoot .cashMatrixPage .cashMatrixMain { padding:8px!important; }
  .portalRoot .cashMatrixPage .cashPlanTablePanel > header { flex-wrap:wrap; flex-shrink:0; gap:8px; }
  .cashMatrixPage .cashPlanTablePanel > header > div:first-child { flex:1 0 100%; flex-wrap:wrap; }
  .cashMatrixPage .cashPlanTablePanel > header h2 { white-space:nowrap; }
  .cashMatrixPage .cashPlanToolbar { width:100%; justify-content:flex-start; }
  .portalRoot .cashMatrixPage:not(.cashMatrixMapView) { display:block!important; }
  .portalRoot .cashMatrixPage:has(.cashMatrixFrame) .cashMatrixMain { height:100%; min-height:0; overflow:hidden; }
  .portalRoot .cashMatrixPage:has(.cashMatrixFrame) .cashPlanTablePanel { flex:1 1; min-height:0; overflow:hidden; }
  .portalRoot .cashMatrixPage .cashMatrixFrame { flex:1 1!important; height:auto!important; min-height:0!important; }
}

.cashMatrixPage .cashBankSummaryToggle {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 6px;
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.cashMatrixPage .cashBankTable tbody[hidden] {
  display: none;
}

.cashMatrixPage .cashBankDetailFrame {
  /* Both collapsible sections fit their contents; only the shared ledger scrolls. */
  overflow: visible;
  border: 1px solid var(--portal-border);
  border-top: 0;
  background: var(--portal-panel);
}

.cashMatrixPage .cashLedgerCanvas { min-width: 100%; }
.cashMatrixPage .cashSharedDateHeader {
  position: sticky;
  top: 0;
  z-index: 90;
  background: var(--portal-surface);
}
.cashMatrixPage .cashSharedDateHeader .cashBankTable { margin: 0; }
.cashMatrixPage .cashSharedLedger .cashBankTable thead th { top: 0; }
.cashMatrixPage .cashSharedLedger .cashAtmTable thead { top: var(--cash-shared-header-height, 32px); }
.cashMatrixPage .cashSharedLedger .cashAtmTable thead tr > th {
  height: 28px;
  padding-top: 2px;
  padding-bottom: 2px;
}


.cashMatrixPage .cashAtmSectionHeader {
  display: flex;
  min-height: 35px;
  flex: 0 0 35px;
  align-items: center;
  border-bottom: 1px solid var(--portal-border);
  background: rgb(var(--portal-text-rgb) / 2.5%);
  padding: 0 10px;
}

.cashMatrixPage .cashAtmSectionHeader h3 {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  color: var(--portal-text);
  font-size: var(--portal-type-h3);
}

.cashMatrixPage .cashAtmSectionHeader small,
.cashMatrixPage .cashAdjustmentGroup small {
  display: inline-grid;
  min-width: 18px;
  height: 18px;
  place-items: center;
  border-radius: 999px;
  background: rgb(var(--portal-text-rgb) / 8%);
  color: var(--portal-text-muted);
  font-size: var(--portal-type-caption);
}

.cashMatrixPage .cashMatrixFrame {
  min-height: 0;
  flex: 1 1 auto;
  overflow: auto;
  padding-left: 0 !important;
  background: var(--portal-panel) !important;
  box-shadow: none !important;
}

.cashMatrixPage .cashMatrixTable {
  table-layout: fixed !important;
  border-collapse: separate;
  border-spacing: 0;
}

/* PAI balances are audit observations, never ledger anchors. */
.cashMatrixPage .cashMatrixTable td.paiBalanceMismatch {
  position: relative;
  box-shadow: none !important;
}

.cashMatrixPage .cashMatrixTable .paiBalanceMismatchFlag {
  display: block;
  margin-top: 2px;
  font-size: calc(var(--portal-type-caption) * 0.9);
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}

.cashMatrixPage .cashMatrixTable td.paiBalanceHighVariance,
.cashMatrixPage .cashMatrixTable td.paiBalanceHighVariance .paiBalanceMismatchFlag {
  color: var(--portal-error) !important;
}

.cashMatrixPage .cashMatrixTable td.paiBalanceModerateVariance,
.cashMatrixPage .cashMatrixTable td.paiBalanceModerateVariance .paiBalanceMismatchFlag {
  color: #eee9d5 !important;
}

/* The ATM grid has three real frozen identity columns: row number, TID, and
   Location. Everything after Location scrolls normally. */
.cashMatrixPage .cashAtmTable thead {
  position: sticky;
  top: 0;
  z-index: 60;
}

/* Reserve the same compact height for plain values, controls, and two-line status labels. */
.portalRoot .cashMatrixPage .cashAtmTable :is(thead, tbody, tfoot) > tr > :is(th, td) {
  height: 33.6px !important;
  min-height: 33.6px !important;
  max-height: 33.6px !important;
  line-height: 12px;
  padding-top: 2px !important;
  padding-bottom: 2px !important;
}

.portalRoot .cashMatrixPage .cashAtmTable thead button {
  height: 24px !important;
  min-height: 0 !important;
  padding-top: 2px !important;
  padding-bottom: 2px !important;
  line-height: 12px;
}
.portalRoot .cashMatrixPage .cashAtmTable tbody button,
.portalRoot .cashMatrixPage .cashAtmTable tbody [role="button"] {
  min-height: 0 !important;
  line-height: 12px;
}
.portalRoot .cashMatrixPage .cashAtmTable tbody :is(.paiBalanceMismatchFlag, .pendingBalanceAdjustmentFlag, .cashOutLiveLabel, .cashCycleIdentity small) {
  margin-top: 0;
  line-height: 10px;
}
.portalRoot .cashMatrixPage .cashAtmTable .pendingBalanceAdjustmentCell input {
  height: 16px !important;
  min-height: 16px !important;
  max-height: 16px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 14px;
}

.cashMatrixPage .cashAtmTable tbody input {
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  padding-top: 1px !important;
  padding-bottom: 1px !important;
  line-height: 16px;
}

.cashMatrixPage .cashAtmTable thead tr:first-child > th:nth-child(n + 6),
.cashMatrixPage .cashAtmTable tbody > tr > td:nth-child(n + 6):nth-child(-n + 10) {
  position: static !important;
  left: auto !important;
  z-index: auto !important;
}

.cashMatrixPage .cashAtmTable thead tr:first-child > th:nth-child(1),
.cashMatrixPage .cashAtmTable tbody > tr > td:nth-child(1) {
  position: sticky !important;
  left: 0 !important;
  z-index: 34 !important;
  width: 38px !important;
  min-width: 38px !important;
  max-width: 38px !important;
  background: var(--portal-panel) !important;
  text-align: center !important;
}

.cashMatrixPage .cashAtmTable thead tr:first-child > th:nth-child(2),
.cashMatrixPage .cashAtmTable tbody > tr > td:nth-child(2) {
  position: sticky !important;
  left: 38px !important;
  z-index: 34 !important;
  width: 90px !important;
  min-width: 90px !important;
  max-width: 90px !important;
  background: var(--portal-panel) !important;
}

.cashMatrixPage .cashAtmTable thead tr:first-child > th:nth-child(3),
.cashMatrixPage .cashAtmTable tbody > tr > td:nth-child(3) {
  position: sticky !important;
  left: 128px !important;
  z-index: 34 !important;
  width: var(--cash-location-width, 180px) !important;
  min-width: var(--cash-location-width, 180px) !important;
  max-width: var(--cash-location-width, 180px) !important;
  border-right: 1px solid #45515a !important;
  background: var(--portal-panel) !important;
}

.cashMatrixPage .cashAtmTable thead tr:first-child > th:nth-child(-n + 5) {
  z-index: 72 !important;
  background: var(--portal-surface) !important;
}

.cashMatrixPage .cashAtmTable thead tr:first-child > th:first-child button,
.cashMatrixPage .cashAtmTable thead tr:first-child > th:nth-child(2) button,
.cashMatrixPage .cashAtmTable thead tr:first-child > th:nth-child(3) button,
.cashMatrixPage .cashAtmTable thead tr:first-child > th:nth-child(4) button,
.cashMatrixPage .cashAtmTable thead tr:first-child > th:nth-child(5) button {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: space-between;
  border: 0;
  background: transparent;
  color: inherit;
  padding: 5px 7px;
  font: inherit;
  cursor: pointer;
}

.cashMatrixPage .cashAtmTable .cashMachineRow > td:first-child::before {
  display: none !important;
}

.cashMatrixPage .cashAtmTable tfoot > tr > th:first-child {
  position: sticky !important;
  left: 0 !important;
  z-index: 42 !important;
  width: var(--cash-frozen-width, 388px) !important;
  min-width: var(--cash-frozen-width, 388px) !important;
  max-width: var(--cash-frozen-width, 388px) !important;
  overflow: hidden !important;
  clip-path: none !important;
  border-right: 1px solid #45515a !important;
  background: var(--portal-panel) !important;
  padding-left: 12px !important;
}

.cashMatrixPage .cashAtmTable tfoot > tr > th:first-child::before,
.cashMatrixPage .cashAtmTable tfoot > tr > th:first-child::after {
  display: none !important;
}

/* The ledger mirrors the compact reference: one label column, one column per
   day, standard balances always visible, and only adjustment inputs collapse. */
.cashMatrixPage .cashBankTable {
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--portal-text);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

.cashMatrixPage .cashBankTable th,
.cashMatrixPage .cashBankTable td {
  box-sizing: border-box;
  height: 28px;
  border: 0;
  border-right: 1px solid rgb(var(--portal-border-rgb) / 58%);
  border-bottom: 1px solid rgb(var(--portal-border-rgb) / 58%);
  background: var(--portal-panel);
  padding: 4px 12px;
  font-size: var(--portal-type-small);
  line-height: 1.2;
  white-space: nowrap;
}

.cashMatrixPage .cashBankTable thead th {
  position: sticky;
  top: 0;
  z-index: 46;
  height: 32px;
  background: var(--portal-surface);
  color: var(--portal-text-muted);
  text-align: center;
  font-weight: 650;
}

.cashMatrixPage .cashBankTable thead th:first-child,
.cashMatrixPage .cashBankTable .cashBankMetric {
  position: sticky;
  left: 0;
  z-index: 42;
  width: var(--cash-frozen-width, 388px);
  min-width: var(--cash-frozen-width, 388px);
  max-width: var(--cash-frozen-width, 388px);
  border-right-color: #45515a;
  background: var(--portal-panel);
  color: color-mix(in srgb, var(--portal-text) 76%, var(--portal-text-muted));
  text-align: left;
  font-weight: 520;
}

.cashMatrixPage .cashBankTable thead th:first-child {
  z-index: 50;
  background: var(--portal-surface);
  color: var(--portal-text);
  font-weight: 700;
}

.cashMatrixPage .cashBankTable thead th > span { margin-right: 6px; }
.cashMatrixPage .cashSharedDateHeader .cashDateWeekday {
  color: var(--portal-success);
  font-size: var(--portal-type-caption);
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.cashMatrixPage .cashBankTable thead th > small { border: 1px solid var(--portal-success); border-radius: 3px; color: var(--portal-success); padding: 1px 4px; font-size: var(--portal-type-caption); }
.cashMatrixPage .cashBankTable .bankLedgerRow > .cashBankMetric {
  padding-left: 14px !important;
  color: color-mix(in srgb, var(--portal-text) 76%, var(--portal-text-muted));
  font-weight: 520;
}

.cashMatrixPage .cashBankTable .cashBankIdentitySpacer {
  width: 510px;
  min-width: 510px;
  max-width: 510px;
  background: var(--portal-panel);
}

.cashMatrixPage .cashBankTable thead .cashBankIdentitySpacer {
  background: var(--portal-surface);
}

.cashMatrixPage .cashBankTable .bankLedgerRow > .cashBankMetric::before,
.cashMatrixPage .cashBankTable .bankLedgerRow > .cashBankMetric::after {
  display: none !important;
  content: none !important;
}

.cashMatrixPage .cashBankTable .bankParentRow > .cashBankMetric {
  color: var(--portal-text);
  font-weight: 680;
}
.cashMatrixPage .cashBankTable .bankSummaryRow.bankParentRow > th,
.cashMatrixPage .cashBankTable .bankSummaryRow.bankParentRow > td { background: color-mix(in srgb, var(--portal-surface) 42%, var(--portal-panel)); }
/* Adjustment fields must never make their ledger rows taller than summary rows. */
.cashMatrixPage .cashBankTable .bankAdjustmentRow > th,
.cashMatrixPage .cashBankTable .bankAdjustmentRow > td {
  height: 28px !important;
  min-height: 28px;
  max-height: 28px;
  padding-top: 2px !important;
  padding-bottom: 2px !important;
}
.cashMatrixPage .cashBankTable .bankAdjustmentRow > .cashBankMetric { padding-left: 20px !important; color: color-mix(in srgb, var(--portal-text) 70%, var(--portal-text-muted)); }
.cashMatrixPage .cashBankTable .bankDateValue { color: var(--portal-text); text-align: right; }
.cashMatrixPage .cashBankTable .bankDateValue.negative { color: var(--portal-error); }
.cashMatrixPage .cashBankTable .currentDay { background: rgb(var(--portal-success-rgb) / 7%); }

/* Match each bank date to the alternating day bands in the ATM loads table. */
.cashMatrixPage .cashBankTable .dayBandEven {
  background: var(--portal-surface) !important;
}
.cashMatrixPage .cashBankTable .dayBandOdd {
  background: var(--portal-bg) !important;
}

.cashMatrixPage .cashBankTable .bankDateValue input {
  display: block;
  box-sizing: border-box;
  width: 116px;
  height: 23px;
  margin: -2px 0 -2px auto;
  border: 1px solid var(--portal-blue);
  border-radius: 4px;
  background: var(--portal-bg);
  color: var(--portal-blue);
  padding: 2px 6px;
  text-align: right;
  font: inherit;
}

.cashMatrixPage .cashAdjustmentGroup th {
  position: sticky;
  left: 0;
  z-index: 44;
  width: var(--cash-frozen-width, 388px);
  min-width: var(--cash-frozen-width, 388px);
  max-width: var(--cash-frozen-width, 388px);
  height: 30px;
  border-top: 1px solid #343c3f;
  border-bottom: 1px solid #343c3f;
  padding: 0;
  background: linear-gradient(90deg, color-mix(in srgb, var(--portal-surface) 86%, var(--portal-panel)), var(--portal-surface));
}

.cashMatrixPage .cashAdjustmentGroup td {
  height: 30px;
  border-top: 1px solid #343c3f;
  border-bottom: 1px solid #343c3f;
  background: var(--portal-surface);
}

.cashMatrixPage .cashAdjustmentGroup button {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  gap: 8px;
  border: 0;
  background: transparent;
  color: var(--portal-text);
  padding: 0 13px;
  font-size: var(--portal-type-caption);
  font-weight: 650;
  text-align: left;
  cursor: pointer;
}

.cashMatrixPage .cashBankTable tbody > .bankRow:last-child > th,
.cashMatrixPage .cashBankTable tbody > .bankRow:last-child > td {
  height: 30px;
  border-top: 1px solid #3b4447;
  background: color-mix(in srgb, var(--portal-surface) 76%, var(--portal-panel));
  color: var(--portal-text);
  font-weight: 750;
}

/* The semi-live transaction feed belongs to the main operations dashboard. */
.dashboardTransactionMonitor {
  margin-bottom: 14px;
  border: 1px solid var(--dashboard-outline, var(--portal-border));
  border-radius: 12px;
  background: var(--portal-panel);
  padding: 16px;
}

.dashboardTransactionMonitor > .dashboardSectionHeader {
  margin-bottom: 0;
}

/* Use nearly the full portal workspace for dashboard visuals. */
.operationsDashboard {
  width: calc(100% - 8px);
  max-width: none;
}

.dashboardTransactionMonitor > .dashboardSectionHeader > b {
  border: 1px solid var(--portal-gold);
  border-radius: 999px;
  color: var(--portal-gold);
  padding: 7px 10px;
  font-size: var(--portal-type-caption);
  text-transform: uppercase;
}

.dashboardTransactionMonitor .cashLiveTopGrid {
  margin-top: 12px;
}

/* Keep the live transaction value below the gauge instead of overlaying its tube. */
.cashLivePanel > .cashHeatGauge {
  justify-content: flex-start;
  padding: 4px 16px 2px;
}

.cashHeatGauge strong {
  position: static;
  margin-top: 5px;
  color: #fff;
  font-size: var(--portal-type-h2);
  line-height: 1;
}

.cashHeatGauge > span {
  margin-top: 5px;
  line-height: 1.2;
}

/* Processor-style weekly transaction thermometer with meaningful reference marks. */
.cashLivePanel > .cashWeeklyHeatGauge {
  box-sizing: border-box;
  display: grid;
  width: 100%;
  height: 250px;
  grid-template-columns: 94px minmax(190px, 1fr);
  align-items: stretch;
  gap: 10px;
  padding: 14px 16px 8px;
}

.cashHeatInstrument {
  position: relative;
  width: 82px;
  height: 224px;
}

.cashWeeklyHeatGauge .tube {
  position: absolute;
  top: 0;
  left: 27px;
  box-sizing: border-box;
  width: 36px;
  height: 172px;
  overflow: hidden;
  border: 5px solid #b8c0c5;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: rgb(255 255 255 / 3%);
  padding: 0;
}

.cashWeeklyHeatGauge .tube::after {
  position: absolute;
  inset: 8px 5px;
  z-index: 2;
  background: repeating-linear-gradient(to bottom,transparent 0 10px,rgb(255 255 255 / 16%) 10px 11px);
  content: "";
  pointer-events: none;
}

.cashWeeklyHeatGauge .tube > i {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  min-height: 0;
  border-radius: 0;
  background: linear-gradient(180deg,var(--portal-success),color-mix(in srgb,var(--portal-success) 72%,#385d22));
  transition: height 150ms cubic-bezier(.165,.84,.44,1);
}

.cashHeatBulb {
  position: absolute;
  bottom: 0;
  left: 5px;
  z-index: 3;
  box-sizing: border-box;
  width: 82px;
  height: 82px;
  display: grid;
  place-content: center;
  border: 5px solid #b8c0c5;
  border-radius: 50%;
  background: var(--portal-success);
  color: #07120b;
  text-align: center;
}

.cashHeatBulb span,.cashHeatBulb strong {
  position: static;
  margin: 0;
  color: inherit;
  font-size: var(--portal-type-small);
  line-height: 1.15;
}

.cashHeatBulb strong { font-size: var(--portal-type-body); font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.cashHeatScale { position: relative; height: 172px; }
.cashHeatMarker {
  position: absolute;
  top: var(--heat-position);
  left: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  transform: translateY(-50%);
  color: var(--portal-text-muted);
  font-size: var(--portal-type-caption);
  line-height: 1.2;
  white-space: nowrap;
}
.cashHeatMarker i { width: 17px; height: 1px; flex: 0 0 17px; background: currentColor; }
.cashHeatMarker b { color: var(--portal-text); font-weight: 590; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.cashHeatMarker.maximum { color: var(--portal-blue); }
.cashHeatMarker.average { color: var(--portal-gold); }
.cashHeatMarker.minimum { color: var(--portal-success); }
.cashHeatMarker.yesterday { color: var(--portal-text-muted); }

@media (max-width: 420px) {
  .cashLivePanel > .cashWeeklyHeatGauge { grid-template-columns: 86px minmax(150px,1fr); padding-inline: 8px; }
  .cashHeatMarker { font-size: var(--portal-type-caption); }
}

/* Isolated production gauge; intentionally avoids the legacy cashHeatGauge cascade. */
.cashLivePanel > .cashWeeklyGauge {
  box-sizing: border-box;
  display: flex;
  min-height: 250px;
  align-items: center;
  justify-content:center;
  padding: 14px 10px;
}
.cashWeeklyGaugeInstrument{position:relative;width:min(100%,260px);height:220px}
.cashWeeklyGaugeTube{position:absolute;top:4px;left:29px;box-sizing:border-box;width:32px;height:164px;overflow:hidden;border:5px solid #b8c0c5;border-bottom:0;border-radius:8px 8px 0 0;background:rgb(255 255 255 / 3%)}
.cashWeeklyGaugeTube:after{position:absolute;inset:8px 4px;z-index:2;background:repeating-linear-gradient(to bottom,transparent 0 10px,rgb(255 255 255 / 18%) 10px 11px);content:""}
.cashWeeklyGaugeTube>i{position:absolute;right:0;bottom:0;left:0;min-height:0;background:linear-gradient(180deg,#65b779,#3f8f58);transition:height 150ms cubic-bezier(.165,.84,.44,1)}
.cashWeeklyGaugeToday{position:absolute;bottom:0;left:3px;z-index:3;box-sizing:border-box;width:84px;height:84px;display:grid;place-content:center;border:5px solid #b8c0c5;border-radius:50%;background:#65b779;color:#08130b;text-align:center}
.cashWeeklyGaugeToday span,.cashWeeklyGaugeToday strong{position:static!important;margin:0!important;color:#08130b!important;line-height:1.15!important}.cashWeeklyGaugeToday span{font-size:var(--portal-type-small)!important}.cashWeeklyGaugeToday strong{font-size:var(--portal-type-h3)!important;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.cashWeeklyGaugeMarkers{position:absolute;top:4px;left:29px;width:calc(100% - 29px);height:164px;z-index:4;pointer-events:none}
.cashWeeklyGaugeMarker{position:absolute;left:0;width:100%;height:1px;color:var(--portal-text-muted);transform:translateY(-50%)}
.cashWeeklyGaugeMarker>i{position:absolute;left:25px;top:0;width:16px;border-top:1px solid currentColor}
.cashWeeklyGaugeMarker>span{position:absolute;left:45px;top:0;white-space:nowrap;color:var(--portal-text);font-size:var(--portal-type-caption);line-height:1;transform:translateY(-50%)}
.cashWeeklyGaugeMarker b{font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.cashWeeklyGaugeMarker.maximum{color:var(--portal-blue)}.cashWeeklyGaugeMarker.average{color:var(--portal-blue)}.cashWeeklyGaugeMarker.minimum{color:var(--portal-success)}.cashWeeklyGaugeMarker.yesterday{color:var(--portal-text-muted)}
.cashWeeklyGaugeMarker.minimum>span{transform:translateY(-115%)}.cashWeeklyGaugeMarker.yesterday>span{transform:translateY(20%)}
.cashWeeklyGaugeFacts{display:grid;align-content:center;gap:0;margin:0}
.cashWeeklyGaugeFacts>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border-bottom:1px solid rgb(255 255 255 / 7%);padding:10px 0}
.cashWeeklyGaugeFacts>div:last-child{border-bottom:0}.cashWeeklyGaugeFacts dt,.cashWeeklyGaugeFacts dd{margin:0;font-size:var(--portal-type-caption);line-height:1.25}.cashWeeklyGaugeFacts dt{color:var(--portal-text-muted)}.cashWeeklyGaugeFacts dd{color:var(--portal-text);font-weight:590;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cashWeeklyGaugeFacts>div:before{position:absolute;width:3px;height:16px;border-radius:2px;background:currentColor;content:""}.cashWeeklyGaugeFacts>div{position:relative;padding-left:10px}.cashWeeklyGaugeFacts .maximum{color:var(--portal-blue)}.cashWeeklyGaugeFacts .average{color:var(--portal-gold)}.cashWeeklyGaugeFacts .minimum{color:var(--portal-success)}.cashWeeklyGaugeFacts .yesterday{color:var(--portal-text-muted)}
@media(max-width:420px){.cashLivePanel>.cashWeeklyGauge{padding-inline:8px}.cashWeeklyGaugeMarker>span{font-size:var(--portal-type-caption)}}

/* Single-canvas transaction thermometer. SVG geometry prevents the tube,
   bulb, and proportional benchmark labels from drifting independently. */
.cashLivePanel > .cashWeeklyGauge{height:250px;min-height:250px;padding:0 4px;overflow:hidden}
.cashWeeklyGaugeSvg{display:block;width:100%;height:250px;overflow:visible}
.cashWeeklyGaugeLiquid{fill:url(#cashGaugeLiquid)}
.cashWeeklyGaugeScale{stroke:rgb(255 255 255 / 22%);stroke-width:1}
.cashWeeklyGaugeTubeOutline{fill:none;stroke:#C4CBD0;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.cashWeeklyGaugeBulb{fill:#65B779;stroke:#C4CBD0;stroke-width:5}
.cashWeeklyGaugeSvgMarker{color:var(--portal-text-muted)}
.cashWeeklyGaugeSvgMarker.maximum{color:var(--portal-blue)}.cashWeeklyGaugeSvgMarker.average{color:#8FB7C3}.cashWeeklyGaugeSvgMarker.minimum{color:var(--portal-success)}.cashWeeklyGaugeSvgMarker.yesterday{color:#A7ADB4}
.cashWeeklyGaugeSvgMarker line{stroke:currentColor;stroke-width:1.5}
.cashWeeklyGaugeSvgMarker text{fill:var(--portal-text);font:510 var(--portal-type-caption)/1 var(--portal-font-body)}
.cashWeeklyGaugeSvgMarker tspan{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.cashWeeklyGaugeTodayLabel,.cashWeeklyGaugeTodayValue{fill:#08130B;font-family:var(--portal-font-body)}
.cashWeeklyGaugeTodayLabel{font-size:var(--portal-type-small)}.cashWeeklyGaugeTodayValue{font-size:var(--portal-type-h3);font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
@media(max-width:420px){.cashWeeklyGaugeSvgMarker text{font-size:var(--portal-type-caption)}}

.cashTransactionGaugeComplete {
  display: grid;
  gap: 10px;
}

.cashArcGaugeComplete {
  position: relative;
  height: 180px;
  overflow: hidden;
  background: transparent;
}

.cashArcGaugeComplete > svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.cashArcGaugeTrack {
  fill: none;
  stroke: url(#transactionGaugeBands);
  stroke-linecap: butt;
  stroke-width: 25;
}

.cashArcGaugeNotch {
  fill: #15181b;
  stroke: rgb(255 255 255 / 45%);
  stroke-width: 1;
  transition: points 220ms cubic-bezier(.165,.84,.44,1);
}

.cashArcGaugeNotch.unavailable {
  opacity: .35;
}

.cashArcGaugeComplete > div {
  position: absolute;
  right: 14%;
  bottom: 8px;
  left: 14%;
  z-index: 1;
  display: grid;
  gap: 12px;
  text-align: center;
}

.cashArcGaugeComplete > div > span {
  color: #fff;
  font-size: var(--portal-type-body);
}

.cashArcGaugeComplete section {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  align-items: start;
}

.cashArcGaugeComplete p,
.cashGaugeComparisons p {
  display: grid;
  gap: 3px;
  margin: 0;
}

.cashArcGaugeComplete b {
  color: #fff;
  font-size: var(--portal-type-body);
}

.cashArcGaugeComplete small,
.cashGaugeComparisons small {
  color: #8d9aa5;
  font-size: var(--portal-type-caption);
}

.cashArcGaugeComplete em {
  padding-top: 2px;
  color: #62bb70;
  font-size: var(--portal-type-small);
  font-style: normal;
}

.cashArcGaugeComplete em.down {
  color: #ef6b6b;
}

.cashGaugeComparisons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid #343a40;
}

.cashGaugeComparisons article {
  display: grid;
  gap: 9px;
  padding: 10px;
  text-align: center;
}

.cashGaugeComparisons article + article {
  border-left: 1px solid #343a40;
}

.cashGaugeComparisons article > span {
  color: #dce3e8;
  font-size: var(--portal-type-caption);
}

.cashGaugeComparisons article > div {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 8px;
  align-items: start;
}

.cashGaugeComparisons b {
  color: #fff;
  font-size: var(--portal-type-small);
}

.cashGaugeComparisons i {
  color: #8d9aa5;
  font-style: normal;
}

.cashGoogleMapShell,
.cashGoogleMapFallback {
  position: relative;
  display: grid;
  gap: 10px;
}

.cashGoogleMapCanvas {
  width: 100%;
  height: 620px;
  min-height: 620px;
  position: relative;
  isolation: isolate;
  border: 1px solid var(--portal-border);
  border-radius: 12px;
  overflow: hidden;
  background: var(--portal-surface);
}

.cashGoogleMapCanvasWrap {
  position: relative;
  min-width: 0;
  height: 620px;
}

.cashGoogleMapCanvasWrap .cashMapState,
.cashGoogleMapError {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 50%;
  width: min(420px, calc(100% - 40px));
  transform: translate(-50%, -50%);
  border: 1px solid var(--portal-border);
  border-radius: 10px;
  background: var(--portal-surface-strong) !important;
  padding: 16px;
  text-align: center;
}

.cashGoogleMapError strong,
.cashGoogleMapError span {
  display: block;
}

.cashGoogleMapError span {
  margin-top: 5px;
  color: var(--portal-muted);
}

.cashGoogleRouteWorkspace .cashMapNative {
  height: 620px;
  min-height: 620px;
}

/* Self-contained street-map fallback. It renders OSM tiles directly instead
   of waiting on a second map-library script, and never exposes a black canvas. */
.cashTileMap {
  color-scheme: dark;
  background-color: #111820;
  background-image:
    linear-gradient(rgb(112 124 128 / 12%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(112 124 128 / 12%) 1px, transparent 1px);
  background-size: 32px 32px;
}

.cashTileLayer,
.cashTileMarkers {
  position: absolute;
  inset: 0;
}

.cashTileLayer { z-index: 1; overflow: hidden; }
.cashTileLayer img {
  position: absolute;
  width: 256px !important;
  max-width: none !important;
  height: 256px !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: invert(1) hue-rotate(180deg) saturate(.35) brightness(.78) contrast(.9) !important;
  -webkit-user-select: none;
          user-select: none;
}

.cashTileRoutes {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.cashTileRoutes polyline {
  fill: none;
  stroke: #537f90;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 5;
  vector-effect: non-scaling-stroke;
}

.cashTileMarkers { z-index: 3; pointer-events: none; }
.cashTileMarkers > button {
  position: absolute;
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  transform: translate(-50%, -50%);
  border: 2px solid #f7f8f8;
  border-radius: 50%;
  background: #667174;
  color: #fff;
  box-shadow: 0 0 0 3px rgb(17 24 27 / 22%), 0 3px 10px rgb(0 0 0 / 38%);
  padding: 0;
  pointer-events: auto;
  cursor: pointer;
}

.cashTileMarkers > button.selected {
  width: 28px;
  height: 28px;
  background: var(--portal-success);
}

.cashTileMarkers > button > b { font-size: var(--portal-type-caption); }
.cashTileMarkers > button > span {
  position: absolute;
  bottom: calc(100% + 9px);
  left: 50%;
  display: none;
  width: 210px;
  transform: translateX(-50%);
  border: 1px solid #aab2b4;
  border-radius: 7px;
  background: #111516;
  color: var(--portal-text);
  padding: 9px;
  text-align: left;
}

.cashTileMarkers > button:hover > span,
.cashTileMarkers > button:focus-visible > span,
.cashTileMarkers > button.selected > span { display: grid; gap: 3px; }
.cashTileMarkers > button > span strong { font-size: var(--portal-type-caption); }
.cashTileMarkers > button > span small { color: var(--portal-text-muted); font-size: var(--portal-type-caption); }

.cashTileControls {
  position: absolute;
  z-index: 5;
  top: 12px;
  right: 12px;
  display: grid;
  overflow: hidden;
  border: 1px solid #3c4853;
  border-radius: 7px;
  background: #182129;
  box-shadow: 0 3px 12px rgb(0 0 0 / 20%);
}

.cashTileControls button {
  width: 34px;
  height: 34px;
  border: 0;
  background: transparent;
  color: #d2dde5;
  padding: 0;
  font-size: var(--portal-type-h2);
  cursor: pointer;
}

.cashTileControls button + button { border-top: 1px solid #3c4853; }
.cashTileAttribution {
  position: absolute;
  z-index: 4;
  right: 5px;
  bottom: 4px;
  border-radius: 3px;
  background: rgb(17 24 32 / 92%);
  color: #adbac5;
  padding: 2px 5px;
  font-size: var(--portal-type-caption);
}

.cashTileMap .cashMapLoading {
  background: rgb(17 24 32 / 92%);
  color: #adbac5;
}

.cashTileMap .cashMapState.error {
  inset: 12px auto auto 50%;
  width: max-content;
  max-width: calc(100% - 110px);
  transform: translateX(-50%);
  border: 1px solid #b85b60;
  border-radius: 7px;
  background: #fff;
  color: #a23e44;
  padding: 9px 12px;
}

.cashGoogleRouteWorkspace .cashLeafletMarker {
  display: grid;
  place-items: center;
  color: #111;
  font-size: var(--portal-type-caption);
  font-weight: 900;
}

.cashGoogleMapCanvas .gm-style,
.cashGoogleMapCanvas .gm-style > div {
  color-scheme: light;
}

.cashGoogleMapCanvas .gm-style img {
  max-width: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}

.cashGoogleRouteWorkspace {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(320px, .8fr);
  gap: 12px;
  align-items: stretch;
}

.cashGoogleManifest {
  height: 620px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--portal-border);
  border-radius: 12px;
  background: var(--portal-panel);
}

.cashGoogleManifest > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 16px;
  border-bottom: 1px solid var(--portal-border);
}

.cashGoogleManifest > header span { color: var(--portal-gold); font-size: var(--portal-type-caption); font-weight: 800; letter-spacing: .12em; }
.cashGoogleManifest > header h2 { margin: 3px 0 0; color: var(--portal-text); font-size: var(--portal-type-h2); }
.cashGoogleManifest > header > b { color: var(--portal-gold); font-size: var(--portal-type-small); }

.cashGoogleManifestTotals {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-bottom: 1px solid var(--portal-border);
}

.cashGoogleManifestTotals span { padding: 10px 14px; color: var(--portal-muted); font-size: var(--portal-type-caption); text-transform: uppercase; }
.cashGoogleManifestTotals strong { display: block; margin-top: 3px; color: var(--portal-text); font-size: var(--portal-type-small); text-transform: none; }

.cashGoogleServiceTime { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 14px; color: var(--portal-muted); font-size: var(--portal-type-caption); border-bottom: 1px solid var(--portal-border); }
.cashGoogleServiceTime select { border: 1px solid var(--portal-border); border-radius: 6px; background: var(--portal-surface); color: var(--portal-text); padding: 5px 7px; font: inherit; }

.cashGoogleManifest ol { min-height: 0; overflow-y: auto; list-style: none; margin: 0; padding: 0; }
.cashGoogleManifest li { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 9px; align-items: start; padding: 11px 12px; border-bottom: 1px solid var(--portal-border); cursor: pointer; }
.cashGoogleManifest li:hover, .cashGoogleManifest li.selected { background: color-mix(in srgb, var(--portal-gold) 8%, transparent); }
.cashGoogleManifest li > b { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--portal-gold); color: #111; font-size: var(--portal-type-body); }
.cashGoogleManifest li div { min-width: 0; }
.cashGoogleManifest li div strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--portal-text); font-size: var(--portal-type-body); }
.cashGoogleManifest li small { display: block; margin-top: 3px; color: var(--portal-muted); font-size: var(--portal-type-small); }
.cashGoogleManifest li div small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cashGoogleManifest li em { display: block; margin-top: 4px; color: var(--portal-gold); font-size: var(--portal-type-body); font-style: normal; }
.cashGoogleManifest li > span { min-width: 76px; text-align: right; }
.cashGoogleManifest li > span strong { color: var(--portal-text); font-size: var(--portal-type-body); }

@media (max-width: 1100px) {
  .cashGoogleRouteWorkspace { grid-template-columns: 1fr; }
  .cashGoogleManifest { height: 500px; }
}

.cashGoogleRouteSummary,
.cashGoogleConnection {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid var(--portal-border);
  border-left: 3px solid var(--portal-gold);
  border-radius: 9px;
  background: var(--portal-panel);
  padding: 11px 13px;
}

.cashGoogleRouteSummary strong,
.cashGoogleConnection strong {
  color: var(--portal-text);
  font-size: var(--portal-type-small);
}

.cashGoogleRouteSummary span {
  color: var(--portal-error);
  font-size: var(--portal-type-caption);
}

.cashGoogleConnection {
  align-items: flex-start;
  flex-direction: column;
}

.cashGoogleConnection span {
  color: var(--portal-text-muted);
  font-size: var(--portal-type-caption);
  line-height: 1.5;
}

.dashboardUpdatedStamp,
.dashboardCashChart header time,
.cashLivePanel > header time,
.dashboardVisualUpdated {
  display: block;
  margin-top: 5px;
  color: var(--portal-text-muted) !important;
  font-size: var(--portal-type-caption) !important;
  font-weight: 750;
  letter-spacing: .04em;
  line-height: 1.2;
  text-transform: uppercase;
}

.dashboardJarvisPanel {
  position: relative;
}

.dashboardVisualUpdated {
  position: absolute;
  z-index: 6;
  top: 10px;
  right: 12px;
  margin: 0;
  border: 1px solid var(--portal-border);
  border-radius: 999px;
  background: rgb(var(--portal-surface-rgb) / .82);
  padding: 5px 7px;
  pointer-events: none;
}

.cashLivePanel > header > div {
  min-width: 0;
}

.cashLivePanel > header time {
  margin-top: 2px;
}

.cashLivePanel > header > .cashLiveStatusLight {
  width: 7px;
  height: 7px;
  display: block;
  flex: 0 0 7px;
  border: 0;
  border-radius: 50%;
  background: #49b784;
  color: transparent;
  font-size: 0;
  line-height: 0;
  box-shadow: 0 0 6px rgb(73 183 132 / 42%);
}

.dashboardCashChart header time {
  margin-top: 4px;
}

/* Content-aware Jarvis tables: readable columns with bounded growth. */
.portalRoot .agentReply .answerMarkdownTable table {
  width: max-content !important;
  min-width: 100% !important;
  max-width: none !important;
  table-layout: auto !important;
}

.portalRoot .agentReply .answerMarkdownTable :is(th, td).answerColumnCompact {
  width: 11ch !important;
  min-width: 10ch !important;
  max-width: 16ch !important;
  white-space: nowrap !important;
}

.portalRoot .agentReply .answerMarkdownTable :is(th, td).answerColumnName {
  width: 24ch !important;
  min-width: 18ch !important;
  max-width: 32ch !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

.portalRoot .agentReply .answerMarkdownTable :is(th, td).answerColumnAddress {
  width: 38ch !important;
  min-width: 28ch !important;
  max-width: 48ch !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

.portalRoot .agentReply .answerMarkdownTable :is(th, td).answerColumnFlexible {
  width: auto !important;
  min-width: 12ch !important;
  max-width: 36ch !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

.portalRoot .agentReply .answerMarkdownTable .answerTableWrap {
  overflow-x: auto !important;
  overscroll-behavior-x: contain;
}

/* Interactive map visualizations embedded directly in Jarvis answers. */
.agentLocationMap {
  margin-top: 14px;
  overflow: hidden;
  border: 1px solid var(--portal-border);
  border-radius: 12px;
  background: var(--portal-panel);
}

.agentLocationMap > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
}

.agentLocationMap > header span {
  color: var(--portal-gold);
  font-size: var(--portal-type-caption);
  font-weight: 900;
  letter-spacing: .12em;
}

.agentLocationMap > header h4 {
  margin: 4px 0 0;
  color: var(--portal-text);
  font-size: var(--portal-type-h3);
}

.agentLocationMap > header p {
  margin: 4px 0 0;
  color: var(--portal-text-muted);
  font-size: var(--portal-type-small);
}

.agentLocationMap > header a {
  flex: 0 0 auto;
  border: 1px solid var(--portal-gold);
  border-radius: 7px;
  color: var(--portal-gold);
  padding: 7px 9px;
  font-size: var(--portal-type-caption);
  font-weight: 850;
  text-decoration: none;
}

.agentLocationMapFrame {
  height: clamp(220px, 34vh, 360px);
  border-block: 1px solid var(--portal-border);
  background: var(--portal-surface);
}

.agentLocationMapFrame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.agentLocationMapMarkers {
  display: flex;
  gap: 7px;
  overflow-x: auto;
  padding: 9px;
}

.agentLocationMapMarkers button {
  min-width: min(240px, 76vw);
  max-width: 300px;
  display: grid;
  gap: 3px;
  border: 1px solid var(--portal-border);
  border-radius: 8px;
  background: var(--portal-bg);
  padding: 9px 10px;
  color: var(--portal-text);
  text-align: left;
  cursor: pointer;
}

.agentLocationMapMarkers button.active {
  border-color: var(--portal-gold);
  background: color-mix(in srgb, var(--portal-gold) 8%, var(--portal-bg));
}

.agentLocationMapMarkers strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: var(--portal-type-caption);
}

.agentLocationMapMarkers span,
.agentLocationMapMarkers small {
  color: var(--portal-text-muted);
  font-size: var(--portal-type-caption);
  line-height: 1.35;
}

.cashMatrixPage .cashBankTable .bankAdjustmentRow .bankDateValue input {
  border: 1px solid #34383d;
  outline: none;
  height: 20px !important;
  min-height: 20px !important;
  max-height: 20px !important;
  margin: 0 0 0 auto;
  padding-block: 1px;
  line-height: 16px;
}

.cashMatrixPage .cashBankTable .bankAdjustmentRow .bankDateValue input:focus {
  border-color: #69727d;
  box-shadow: 0 0 0 2px rgb(105 114 125 / .14);
}

.portalRoot .cashNativeApp.cashNativeAppWithoutSidebar { grid-template-columns: minmax(0, 1fr)!important; }
.portalRoot .cashNativeAppWithoutSidebar>.cashNativeContent { grid-column:1 / -1;min-width:0; }
.cashMatrixPage .cashAtmTable .currentDay { box-shadow: none !important; }

/* Cash Ops sidebar controls belong to the sidebar canvas. Keep this final reset
   after shared control styling so native form fills cannot create black cards. */
.portalRoot .cashNativeSidebar #cash-sidebar-controls,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarTableControls,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanDetails,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanDetails dl,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarPlanDetails dl > div,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashReportPopover {
  background: transparent !important;
  box-shadow: none !important;
}

.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashSidebarTableControls > button,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashReportPopover > button,
.portalRoot .cashNativeSidebar #cash-sidebar-controls .cashStartDate input {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Transaction pulse command-center layout. */
.transactionPulseV2{border:1px solid var(--portal-border);border-radius:12px;background:radial-gradient(circle at 70% 0,rgb(65 190 111/.025),transparent 36%),#090c0d;overflow:hidden;padding:0!important;color:var(--portal-text)}
.transactionPulseHeader{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;border-bottom:1px solid var(--portal-border)}.transactionPulseHeader h2{margin:0 0 10px;font-size:var(--portal-type-h2);letter-spacing:-.035em}.transactionPulseHeader p{display:flex;align-items:center;gap:10px;margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}.transactionPulseHeader p>i{width:11px;height:11px;border-radius:50%;background:var(--portal-success)}.transactionPulseHeader p>i.stale{background:var(--portal-attention)}.transactionPulseHeader p>i.error{background:var(--portal-error)}.transactionPulseHeader p>span{width:1px;height:18px;margin:0 8px;background:var(--portal-border)}.transactionPulseHeader nav{display:flex;align-items:center;gap:28px}.transactionPulseHeader nav button{display:flex;align-items:center;gap:11px;border:1px solid color-mix(in srgb,var(--portal-text) 38%,var(--portal-border));border-radius:7px;background:transparent;color:var(--portal-text);padding:11px 18px;font:inherit;font-size:var(--portal-type-body);cursor:pointer}.transactionPulseHeader nav button b{font-size:var(--portal-type-h2);font-weight:400;line-height:1}.transactionPulseHeader nav a{color:var(--portal-success);font-size:var(--portal-type-body);text-decoration:none}.transactionPulseHeader nav a b{margin-left:10px;font-size:var(--portal-type-h2)}
.transactionPulseAlert{display:grid;grid-template-columns:46px 1fr auto;gap:16px;align-items:center;margin:0 28px;border-top:1px solid color-mix(in srgb,var(--portal-error) 50%,var(--portal-border));border-bottom:1px solid color-mix(in srgb,var(--portal-error) 50%,var(--portal-border));border-left:2px solid var(--portal-error);color:inherit;padding:18px 22px;text-decoration:none}.transactionPulseAlert>span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--portal-error);color:#160606;font-size:var(--portal-type-h2);font-weight:900}.transactionPulseAlert strong,.transactionPulseAlert small{display:block}.transactionPulseAlert strong{color:#ff7575;font-size:var(--portal-type-h3)}.transactionPulseAlert small{margin-top:4px;color:var(--portal-text-muted);font-size:var(--portal-type-small)}.transactionPulseAlert>b,.transactionPulseAlert>button{border:0;background:transparent;color:#ff7575;font:inherit;font-size:var(--portal-type-body)}.transactionPulseAlert.stale{border-color:var(--portal-attention)}.transactionPulseAlert.stale>span{background:var(--portal-attention)}.transactionPulseAlert.stale strong,.transactionPulseAlert.stale>b{color:var(--portal-attention)}
.transactionPulseColumns{display:grid;grid-template-columns:1fr 1.05fr 1.1fr;margin:24px 28px 0;border-bottom:1px solid var(--portal-border)}.transactionPulseColumns>section{min-width:0;padding:0 24px 22px}.transactionPulseColumns>section:first-child{padding-left:16px}.transactionPulseColumns>section+section{border-left:1px solid var(--portal-border)}.transactionPulseColumns section>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.transactionPulseColumns h3{margin:0;font-size:var(--portal-type-h3)}.transactionPulseColumns section>header>b{font-size:var(--portal-type-h1);font-weight:300}.transactionHeadline{display:flex;align-items:baseline;gap:12px}.transactionHeadline strong,.transactionPace>div>strong{color:var(--portal-success);font-size:var(--portal-type-display);line-height:1}.transactionHeadline span,.transactionPace>div>span{font-size:var(--portal-type-body)}.transactionPrior>p{margin:10px 0 4px;color:var(--portal-success);font-size:var(--portal-type-body);font-weight:700}.transactionPrior>p.down{color:var(--portal-error)}.transactionPrior>small,.transactionPace>p,.transactionPace>small,.transactionCurrent>p{color:var(--portal-text-muted);font-size:var(--portal-type-small)}.transactionPrior .cashLiveHistogram{margin-top:19px;gap:13px}.transactionPrior .cashLiveHistogram>button{grid-template-columns:128px 1fr;padding:2px;border:0}.transactionPrior .cashLiveHistogram>button>b{font-size:var(--portal-type-small)}.transactionPrior .cashLiveHistogram>button i{height:18px;background:#24282a}.transactionPrior .cashLiveHistogram>button i span{min-width:34px;background:linear-gradient(90deg,#3ebf73,#68d79a);font-size:var(--portal-type-caption)}.transactionPrior .cashLiveHistogram>button i.prior span{background:#34393c;color:#c4ccd0}.transactionPrior .cashHistogramDrill{display:none!important}.transactionPrior>footer{display:flex;gap:28px;margin-top:14px;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}.transactionPrior>footer i{display:inline-block;width:11px;height:11px;margin-right:7px;border-radius:2px;background:var(--portal-success)}.transactionPrior>footer span+span i{background:#34393c}
.transactionPace>p{margin:0 0 35px}.transactionPace>div:not(.transactionPaceRange){display:flex;align-items:baseline;gap:12px}.transactionPace>small{display:block;margin-top:11px}.transactionPaceRange{margin-top:42px}.rangeEnds{display:flex;justify-content:space-between;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}.rangeTrack{position:relative;height:19px;margin-top:8px;border-radius:3px;background:#282c2e}.rangeTrack>i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,#3ebf73,#68d79a)}.rangeTrack>b{position:absolute;top:-5px;width:2px;height:29px;background:#dce3df}.rangeTrack>b:nth-of-type(1),.rangeTrack>b:nth-of-type(2){border-bottom:11px dashed var(--portal-text-muted);background:transparent}.rangeFacts{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:28px;text-align:center;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}.rangeFacts span{display:grid;gap:5px}.rangeFacts b{color:var(--portal-text);font-size:var(--portal-type-small)}
.transactionCurrent>p{margin:0 0 7px}.transactionCurrent .cashTransactionGaugeComplete{gap:14px}.transactionCurrent .cashArcGaugeComplete{min-height:190px}.transactionCurrent .cashArcGaugeComplete>svg{height:165px}.transactionCurrent .cashArcGaugeComplete>div{bottom:4px}.transactionCurrent .cashArcGaugeComplete>div>span{display:none}.transactionCurrent .cashGaugeComparisons{display:grid;grid-template-columns:1fr}.transactionCurrent .cashGaugeComparisons article{display:grid;grid-template-columns:minmax(170px,1fr) 292px;align-items:center;border-top:1px solid var(--portal-border);padding:13px 16px}.transactionCurrent .cashGaugeComparisons article>span{font-size:var(--portal-type-small);text-align:left}.transactionCurrent .cashGaugeComparisons article>div{display:grid;grid-template-columns:142px 14px 112px;gap:12px;align-items:baseline;justify-content:end}.transactionCurrent .cashGaugeComparisons article p{display:grid;grid-template-columns:54px 78px;gap:8px;align-items:baseline;text-align:right}.transactionCurrent .cashGaugeComparisons article p:last-child{grid-template-columns:54px 38px}.transactionCurrent .cashGaugeComparisons article p b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.transactionCurrent .cashGaugeComparisons article p small{align-self:auto;text-align:left;white-space:nowrap}.transactionCurrent .cashGaugeComparisons article i{text-align:center}
.transactionPulseInsight{display:grid;grid-template-columns:42px minmax(0,1fr) auto 30px;gap:15px;align-items:center;margin:0 28px;border-bottom:1px solid var(--portal-border);padding:20px 16px}.transactionPulseInsight>span{color:var(--portal-success);font-size:var(--portal-type-h1)}.transactionPulseInsight p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-body)}.transactionPulseInsight a{color:var(--portal-success);font-size:var(--portal-type-body);text-decoration:none}.transactionPulseInsight button{border:0;background:transparent;color:var(--portal-text-muted);font-size:var(--portal-type-h1);cursor:pointer}.transactionPulseFooter{display:flex;align-items:center;gap:10px;padding:19px 28px;color:var(--portal-text-muted);font-size:var(--portal-type-small)}.transactionPulseFooter i{width:11px;height:11px;border-radius:50%;background:var(--portal-success)}.transactionPulseV2>.dashboardSecondaryTrends{margin:0 28px 24px}
@media(max-width:1100px){.transactionPulseColumns{grid-template-columns:1fr 1fr}.transactionPulseColumns>.transactionCurrent{grid-column:1/-1;border-top:1px solid var(--portal-border);border-left:0;padding-top:24px}.transactionCurrent .cashTransactionGaugeComplete{display:grid;grid-template-columns:1.2fr 1fr}.transactionPulseHeader{align-items:flex-start}.transactionPulseHeader nav{align-items:flex-end;flex-direction:column;gap:12px}}
@media(max-width:720px){.transactionPulseHeader{align-items:flex-start;flex-direction:column;padding:20px}.transactionPulseHeader nav{width:100%;align-items:flex-start}.transactionPulseAlert{grid-template-columns:38px 1fr;margin:0 14px;padding:14px}.transactionPulseAlert>b,.transactionPulseAlert>button{grid-column:2}.transactionPulseColumns{grid-template-columns:1fr;margin:18px 14px 0}.transactionPulseColumns>section,.transactionPulseColumns>section:first-child{padding:22px 10px}.transactionPulseColumns>section+section{border-top:1px solid var(--portal-border);border-left:0}.transactionPulseColumns>.transactionCurrent{grid-column:auto}.transactionCurrent .cashTransactionGaugeComplete{display:block}.transactionCurrent .cashGaugeComparisons article{grid-template-columns:1fr;padding-inline:10px}.transactionCurrent .cashGaugeComparisons article>span{margin-bottom:8px}.transactionCurrent .cashGaugeComparisons article>div{justify-content:start}.transactionPrior .cashLiveHistogram>button{grid-template-columns:105px 1fr}.transactionPulseInsight{grid-template-columns:32px 1fr;margin:0 14px}.transactionPulseInsight a{grid-column:2}.transactionPulseInsight button{grid-column:3;grid-row:1}.transactionPulseFooter{padding:16px}.transactionPulseV2>.dashboardSecondaryTrends{margin:0 14px 18px}}

/* Dashboard transaction pulse — spacious command-center composition. */
.operationsDashboard .transactionPulseV2{border-color:#303437;border-radius:10px;background:radial-gradient(circle at 77% 20%,rgb(55 150 66/.035),transparent 35%),#080a0b;padding:20px!important}
.operationsDashboard .transactionPulseHeader{min-height:50px;border:0;padding:0 10px 16px}
.operationsDashboard .transactionPulseHeader>div{display:flex;align-items:center;gap:18px}
.operationsDashboard .transactionPulseHeader h2{display:flex;align-items:center;gap:14px;margin:0;color:#f4f5f5;font-size:var(--portal-type-h2);font-weight:var(--portal-weight-heading);letter-spacing:-.035em;white-space:nowrap}
.operationsDashboard .transactionPulseHeader h2:before{color:#55c84c;font-size:var(--portal-type-h2);font-weight:var(--portal-weight-heading);line-height:var(--portal-leading-heading);content:"ϟ";transform:rotate(-8deg)}
.operationsDashboard .transactionPulseHeader p{gap:12px;font-size:var(--portal-type-small);white-space:nowrap}.operationsDashboard .transactionPulseHeader p>i{width:10px;height:10px}.operationsDashboard .transactionPulseHeader p>span{height:16px;margin:0 4px}
.operationsDashboard .transactionPulseHeader nav{gap:34px}.operationsDashboard .transactionPulseHeader nav button{min-height:40px;border-color:#4a4d50;border-radius:7px;padding:8px 16px}.operationsDashboard .transactionPulseHeader nav a{color:#4da1ff}
.operationsDashboard .transactionPulseAlert{min-height:64px;grid-template-columns:42px auto 1fr auto;gap:18px;margin:0 0 18px;border:1px solid #672326;border-radius:8px;background:linear-gradient(90deg,rgb(98 21 24/.13),transparent 66%);padding:11px 20px}
.operationsDashboard .transactionPulseAlert>span{width:36px;height:36px;color:#160606;font-size:var(--portal-type-h2)}.operationsDashboard .transactionPulseAlert>div{display:contents}.operationsDashboard .transactionPulseAlert strong{font-size:var(--portal-type-h3);white-space:nowrap}.operationsDashboard .transactionPulseAlert small{align-self:center;margin:0;font-size:var(--portal-type-small)}.operationsDashboard .transactionPulseAlert>b,.operationsDashboard .transactionPulseAlert>button{color:#ff5e62;white-space:nowrap}
.operationsDashboard .transactionPulseColumns{grid-template-columns:1fr .94fr 1.11fr;gap:16px;margin:0;border:0}
.operationsDashboard .transactionPulseColumns>section,.operationsDashboard .transactionPulseColumns>section:first-child{min-height:390px;border:1px solid #34383b;border-radius:9px;background:linear-gradient(145deg,rgb(255 255 255/.018),transparent 48%);padding:20px 22px}
.operationsDashboard .transactionPulseColumns>section+section{border:1px solid #34383b}.operationsDashboard .transactionPulseColumns section>header{margin-bottom:17px}.operationsDashboard .transactionPulseColumns h3{font-size:var(--portal-type-h3);font-weight:var(--portal-weight-heading)}
.operationsDashboard .transactionHeadline strong,.operationsDashboard .transactionPace>div>strong{font-size:var(--portal-type-display)}.operationsDashboard .transactionPrior .cashLiveHistogram{margin-top:20px}.operationsDashboard .transactionPrior .cashLiveHistogram>button{grid-template-columns:115px 1fr;gap:5px 9px}.operationsDashboard .transactionPrior .cashLiveHistogram>button i{height:19px}.operationsDashboard .transactionPrior>footer{margin-top:16px}
.operationsDashboard .transactionPace>p{margin-bottom:37px}.operationsDashboard .transactionPaceRange{margin-top:48px}.operationsDashboard .rangeTrack{height:20px}.operationsDashboard .rangeFacts{margin-top:30px}.operationsDashboard .rangeFacts b{font-size:var(--portal-type-body)}
.operationsDashboard .transactionCurrent .cashArcGaugeComplete{min-height:205px}.operationsDashboard .transactionCurrent .cashArcGaugeComplete>svg{height:180px}.operationsDashboard .transactionCurrent .cashGaugeComparisons{overflow:hidden;border:1px solid #303437;border-radius:8px}.operationsDashboard .transactionCurrent .cashGaugeComparisons article{grid-template-columns:minmax(130px,1fr) minmax(215px,1.35fr);padding:12px 14px}.operationsDashboard .transactionCurrent .cashGaugeComparisons article:first-child{border-top:0}.operationsDashboard .transactionCurrent .cashGaugeComparisons article>div{grid-template-columns:1fr 10px 1fr;gap:7px}.operationsDashboard .transactionCurrent .cashGaugeComparisons article p,.operationsDashboard .transactionCurrent .cashGaugeComparisons article p:last-child{grid-template-columns:auto auto;gap:6px}
.operationsDashboard .transactionPulseInsight{min-height:64px;margin:18px 0 0;border:1px solid #303437;border-radius:8px;padding:12px 20px}.operationsDashboard .transactionPulseInsight>span{font-size:var(--portal-type-h1)}.operationsDashboard .transactionPulseInsight a{color:#4da1ff}.operationsDashboard .transactionPulseFooter{border-bottom:1px solid #303437;padding:20px 4px 17px}.operationsDashboard .transactionPulseV2>.dashboardSecondaryTrends{margin:0}.operationsDashboard .transactionPulseV2>.dashboardSecondaryTrends>summary{padding:17px 4px 3px;color:var(--portal-text);font-size:var(--portal-type-body)}
@media(max-width:1100px){.operationsDashboard .transactionPulseColumns{grid-template-columns:1fr 1fr}.operationsDashboard .transactionPulseColumns>.transactionCurrent{grid-column:1/-1;min-height:340px;padding-top:20px}.operationsDashboard .transactionPulseHeader>div{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:720px){.operationsDashboard .transactionPulseV2{padding:12px!important}.operationsDashboard .transactionPulseHeader{padding:4px 2px 14px}.operationsDashboard .transactionPulseHeader>div{width:100%}.operationsDashboard .transactionPulseHeader p{flex-wrap:wrap;white-space:normal}.operationsDashboard .transactionPulseHeader nav{gap:10px}.operationsDashboard .transactionPulseAlert{grid-template-columns:38px 1fr;margin:0 0 12px;padding:12px}.operationsDashboard .transactionPulseAlert>div{display:block}.operationsDashboard .transactionPulseAlert>b,.operationsDashboard .transactionPulseAlert>button{grid-column:2}.operationsDashboard .transactionPulseColumns{grid-template-columns:1fr}.operationsDashboard .transactionPulseColumns>section,.operationsDashboard .transactionPulseColumns>section:first-child{min-height:0;padding:18px}.operationsDashboard .transactionPulseColumns>.transactionCurrent{grid-column:auto}.operationsDashboard .transactionPulseInsight{margin-top:12px}.operationsDashboard .transactionCurrent .cashGaugeComparisons article{grid-template-columns:1fr}.operationsDashboard .transactionCurrent .cashGaugeComparisons article>div{justify-content:start}}

/* Keep the Cash Ops view switcher on the sidebar canvas instead of rendering
   each destination as a dark card. */
.portalRoot .cashNativeSidebar nav,
.portalRoot .cashNativeSidebar .cashSidebarNavGroup,
.portalRoot .cashNativeSidebar .cashSidebarReconciliationHost,
.portalRoot .cashNativeSidebar .cashAdjustmentQueue,
.portalRoot .cashNativeSidebar .cashAdjustmentQueue > summary,
.portalRoot .cashNativeSidebar .cashSidebarNavGroup > button,
.portalRoot .cashNativeSidebar .cashSidebarNavGroup > button.active {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
.portalRoot .cashNativeSidebar nav { gap: 0 !important; }
.portalRoot .cashNativeSidebar .cashSidebarNavGroup { border-bottom: 1px solid rgb(var(--portal-border-rgb) / 34%); }
.portalRoot .cashNativeSidebar .cashSidebarNavGroup > button { border-radius: 0 !important; }
.portalRoot .cashNativeSidebar .cashSidebarNavGroup > button:hover { background: rgb(var(--portal-text-rgb) / 3%) !important; }
.portalRoot .cashMapDesignPage { padding: 22px; }
.cashRouteDesign { color: #edf3fa; }
.cashRouteHeading,.cashRouteActions,.cashRouteBottom,.cashRouteBottom>div { display:flex;align-items:center;gap:12px;justify-content:space-between; }
.cashRouteHeading { margin-bottom:20px;flex-wrap:wrap; }
.cashRouteHeading>div>span { color:#a8bfd8;font-size:var(--portal-type-caption);letter-spacing:2px;font-weight:700; }
.cashRouteHeading h1 { margin:5px 0;font-size:var(--portal-type-h1);line-height:var(--portal-leading-heading);letter-spacing:-.8px; }
.cashRouteHeading p { margin:0;color:#9eb0c5;font-size:var(--portal-type-body); }
.cashRouteDesign button { cursor:pointer; }
.cashRouteActions button,.cashRouteBottom button { min-height:40px;padding:0 16px;border:1px solid #4b5c6d;border-radius:9px;color:#eef4fb;background:linear-gradient(#19222c,#0f151d)!important;font:inherit;font-size:var(--portal-type-small);font-weight:650; }
.cashRouteDesign button:disabled { opacity:.45;cursor:wait; }
.cashRouteDesign button:focus-visible,.cashRouteDesign input:focus-visible,.cashRouteDesign select:focus-visible { outline:2px solid #499fff;outline-offset:2px; }
.cashRouteActions button.primary { background:linear-gradient(#247fff,#0752d7)!important;border-color:#498eff;box-shadow:0 0 12px #1474f638; }
.cashRouteMapped { padding:11px 15px;border:1px solid #455569;border-radius:18px;font-size:var(--portal-type-small);color:#75dda5;white-space:nowrap; }
.cashRouteCards,.cashRouteFilters { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px; }
.portalRoot .cashRouteCards article,.portalRoot .cashRouteFilters>label,.portalRoot .cashRouteManifest,.portalRoot .cashRouteBottom { border:1px solid #2b3948;border-radius:11px;background:linear-gradient(130deg,#171f28,#0d1319)!important; }
.cashRouteCards article { display:flex;align-items:center;gap:14px;padding:14px;min-width:0; }
.cashRouteCards i { display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border-radius:10px;background:#23364a;color:#3b96ff;font-size:var(--portal-type-h1);font-style:normal; }
.cashRouteCards article:last-child i { color:#efc16e; }
.cashRouteCards article>div { border-left:1px solid #2a3542;padding-left:14px;min-width:0; }
.cashRouteCards span { display:block;text-transform:uppercase;letter-spacing:.8px;font-size:var(--portal-type-caption);color:#a8bdd6; }
.cashRouteCards strong { display:block;margin-top:4px;font-size:var(--portal-type-h2);overflow-wrap:anywhere; }
.cashRouteFilters>label { display:grid;gap:5px;padding:10px 13px;color:#b4c8df;font-size:var(--portal-type-caption); }
.portalRoot .cashRouteFilters input,.portalRoot .cashRouteFilters select { box-sizing:border-box;width:100%;min-width:0;height:33px;padding:0 11px;border:1px solid #304050;border-radius:7px;background:#19212b!important;color:#dbe8f7;font:inherit;color-scheme:dark; }
.cashRouteWorkspace { display:grid;grid-template-columns:minmax(0,1.4fr) minmax(410px,1fr);gap:15px; }
.cashRouteMapPanel { position:relative;height:600px;overflow:hidden;border:1px solid #364757;border-radius:13px; }
.cashRouteMapPanel>.cashGoogleMapCanvas,.cashRouteMapPanel>.cashMapNative { position:absolute;inset:0;width:100%;height:100%;min-height:0;border:0;border-radius:0; }
.portalRoot .cashRouteMapCaption { position:absolute;z-index:5;top:16px;left:18px;display:grid;gap:4px;padding:7px 10px;border-radius:8px;background:#0b141ecc!important;pointer-events:none; }
.cashRouteMapCaption strong { font-size:var(--portal-type-h3); }.cashRouteMapCaption span { font-size:var(--portal-type-caption);color:#c3d3e5; }
.portalRoot .cashRouteMapLegend { position:absolute;z-index:5;bottom:12px;left:12px;right:12px;display:flex;flex-wrap:wrap;gap:20px;padding:15px;border:1px solid #3a4a5b;border-radius:11px;background:#0d151fed!important;font-size:var(--portal-type-caption);pointer-events:none; }
.cashRouteManifest { min-width:0;display:flex;flex-direction:column;height:600px;overflow:hidden; }
.cashRouteManifest>header { display:flex;justify-content:space-between;align-items:center;padding:18px 19px; }
.cashRouteManifest header span { font-size:var(--portal-type-small);letter-spacing:.4px;color:#82baf5; }
.cashRouteManifest h2 { margin:4px 0 0;font-size:var(--portal-type-h2); }
.cashRouteManifest header>b { border:1px solid #334352;border-radius:20px;padding:9px 13px;font-size:var(--portal-type-caption); }
.cashRouteTotals { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:15px;border-top:1px solid #2b3744;border-bottom:1px solid #2b3744;gap:9px; }
.cashRouteTotals span { color:#aabed6;font-size:var(--portal-type-caption);text-transform:uppercase;border-right:1px solid #273341;padding-right:6px; }
.cashRouteTotals span:last-child { border:0; }.cashRouteTotals strong { display:block;color:#eef4fa;font-size:var(--portal-type-small);margin-top:5px;text-transform:none; }
.cashRouteManifest ol { list-style:none;padding:0 14px;margin:0;overflow:auto;flex:1 1; }
.cashRouteManifest li { border-bottom:1px solid #273340; }
.portalRoot .cashRouteManifest li>button { display:grid;grid-template-columns:34px minmax(0,1fr) 70px 70px 10px;align-items:center;gap:10px;width:100%;padding:16px 0;border:0;background:transparent!important;color:#edf4fb;text-align:left;font:inherit; }
.cashRouteManifest li.selected { box-shadow:inset 3px 0 #3296ff;background:#1c3653!important; }
.cashRouteManifest li>button>b { display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:linear-gradient(#e3edf8,#9cafc4);color:#101d2c;font-size:var(--portal-type-body); }
.cashRouteManifest li strong { font-size:var(--portal-type-body); }.cashRouteManifest li small { display:block;color:#a9bdd4;font-size:var(--portal-type-small);line-height:1.7; }
.cashRouteStopIdentity { min-width:0; }.cashRouteStopIdentity strong { overflow-wrap:anywhere; }
.cashRouteManifest li .cashRouteStopCash { font-size:var(--portal-type-body);text-align:right; }
.cashRouteManifest>footer { display:flex;justify-content:space-between;padding:9px 18px;color:#9bb1c9;font-size:var(--portal-type-caption); }
.cashRouteManifest>footer button { border:0;background:transparent;color:#3d9bff;font:inherit; }
.cashRouteBottom { margin-top:14px;padding:13px 18px; }.cashRouteBottom>strong { font-size:var(--portal-type-small); }
.cashRouteEmpty { padding:20px;color:#a9bdd4; }
@media(max-width:1200px){.cashRouteWorkspace{grid-template-columns:1fr}.cashRouteMapPanel{height:480px}.cashRouteManifest{height:560px}.cashRouteHeading h1{font-size:var(--portal-type-h1)}.cashRouteBottom{flex-wrap:wrap}}
@media(max-width:700px){.portalRoot .cashMapDesignPage{padding:12px}.cashRouteCards,.cashRouteFilters{grid-template-columns:repeat(2,minmax(0,1fr))}.cashRouteActions{flex-wrap:wrap}.cashRouteCards strong{font-size:var(--portal-type-h3)}.cashRouteCards i{width:30px;height:36px}.cashRouteMapPanel{height:380px}.cashRouteManifest li>button{grid-template-columns:28px minmax(0,1fr) 60px 60px;gap:6px}.cashRouteManifest li>button>span:last-child{display:none}.cashRouteBottom>div{flex-wrap:wrap}}
@media print{body:has(.cashRouteDesign) *{visibility:hidden}body .cashRouteDesign,body .cashRouteDesign *{visibility:visible}.cashRouteDesign{position:absolute;inset:0;color:#000}.cashRouteActions,.cashRouteFilters,.cashRouteMapPanel,.cashRouteBottom{display:none!important}.cashRouteWorkspace{display:block}.cashRouteManifest{height:auto;overflow:visible}.cashRouteManifest ol{overflow:visible}.cashRouteManifest li{page-break-inside:avoid;break-inside:avoid}.cashRouteManifest>footer{display:none!important}.cashRouteManifest li *{color:#000!important}}
.cashRouteManifest ol:not(.showAllStops)>li:nth-child(n+6) { display:none; }
@media print { .cashRouteManifest ol>li:nth-child(n) { display:block!important; } }
.portalRoot .cashRouteDesign .cashRouteCards article>div,
.portalRoot .cashRouteDesign .cashRouteHeading>div,
.portalRoot .cashRouteDesign .cashRouteManifest header,
.portalRoot .cashRouteDesign .cashRouteManifest header>div,
.portalRoot .cashRouteDesign .cashRouteManifest footer,
.portalRoot .cashRouteDesign .cashRouteTotals,
.portalRoot .cashRouteDesign .cashRouteStopIdentity,
.portalRoot .cashRouteDesign .cashRouteStopTravel,
.portalRoot .cashRouteDesign .cashRouteBottom>div { background:transparent!important; }
.portalRoot .cashRouteDesign .cashRouteManifest li strong { font-size:var(--portal-type-body); }
.portalRoot .cashRouteDesign .cashRouteManifest li small { font-size:var(--portal-type-small); }
.portalRoot .cashRouteDesign .cashRouteManifest li>button { padding-block:11px; }
.cashViewToggle { display:flex;gap:2px;padding:2px;border:1px solid #343b43;border-radius:7px; }
.cashPlanToolbar .cashViewToggle button { border:0;min-width:52px; }
.cashPlanToolbar .cashViewToggle button[aria-pressed="true"] { background:#25384b!important;color:#91c3ff;border-radius:5px; }
.portalRoot .cashMatrixPage.cashMatrixMapView { display:block!important;overflow:auto!important;padding:0!important;grid-template-columns:minmax(0,1fr)!important; }
.portalRoot .cashMatrixMapView .cashMatrixMain { width:100%;height:auto;min-height:0;overflow:visible!important;padding:0!important; }
.portalRoot .cashMatrixMapView .cashPlanTablePanel { height:auto;overflow:visible!important; }
.cashMatrixMapView .cashPlanTablePanel>header { position:sticky;top:0;z-index:60;background:#10151b!important; }
.cashMatrixMapView .cashMapDesignPage { overflow:visible; }
.portalRoot .cashMatrixMapView .cashPlanTablePanel>header { flex-wrap:wrap;flex-shrink:0;gap:5px!important;padding-block:5px!important; }
#cash-map-topbar { flex:1 0 100%;min-width:0; }
.cashRouteTopbar { display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap; }
.cashRouteTopbarMetrics { display:flex;align-items:center;gap:22px; }
.cashRouteTopbarMetrics>span { display:flex;gap:7px;align-items:baseline; }
.cashRouteTopbarMetrics small { text-transform:uppercase;font-size:var(--portal-type-caption);color:#9eb7d2; }
.cashRouteTopbarMetrics strong { font-size:var(--portal-type-small);color:#e1edf9; }
.cashRouteTopbar .cashRouteActions { gap:6px; }
.cashRouteTopbar .cashRouteActions button { min-height:29px;padding:0 10px;font-size:var(--portal-type-caption); }
.portalRoot .cashMatrixPage.cashMatrixMapView { overflow:hidden!important; }
.portalRoot .cashMatrixMapView .cashMatrixMain { height:100%;min-height:0;overflow:hidden!important; }
.portalRoot .cashMatrixMapView .cashPlanTablePanel { height:100%;margin:0;overflow:hidden!important; }
.portalRoot .cashMatrixMapView .cashMapDesignPage { flex:1 1;min-height:0;overflow:hidden;display:flex;padding:12px; }
.cashMatrixMapView .cashRouteDesign { display:flex;flex-direction:column;width:100%;min-height:0; }
.cashMatrixMapView .cashRouteFilters { flex-shrink:0;margin-bottom:10px; }
.cashMatrixMapView .cashRouteWorkspace { flex:1 1;min-height:0;grid-template-columns:minmax(0,1.35fr) minmax(390px,1fr); }
.cashMatrixMapView .cashRouteMapPanel,.cashMatrixMapView .cashRouteManifest { height:100%;min-height:0; }
.cashRouteManifest ol.showAllStops>li { display:block; }
.cashRouteMapPanel .cashTileMarkers>button { border-width:.75px!important; }
@media(max-width:850px){.cashMatrixMapView .cashRouteWorkspace{grid-template-columns:1fr;grid-template-rows:minmax(150px,40%) minmax(0,1fr)}.cashRouteTopbarMetrics{gap:9px;flex-wrap:wrap}.cashMatrixMapView .cashRouteFilters{gap:5px}.cashMatrixMapView .cashRouteFilters>label{padding:5px}}
@media print { .portalRoot .cashMatrixPage.cashMatrixMapView,.portalRoot .cashMatrixMapView .cashMatrixMain,.portalRoot .cashMatrixMapView .cashPlanTablePanel,.portalRoot .cashMatrixMapView .cashMapDesignPage,.cashMatrixMapView .cashRouteDesign,.cashMatrixMapView .cashRouteWorkspace,.cashMatrixMapView .cashRouteManifest { height:auto!important;overflow:visible!important;display:block!important; } #cash-map-topbar { display:none!important; } }

/* Keep marker load details inside Google's fullscreen map surface. */
.cashGoogleMapCanvas .gm-style-iw-c { background:#111b26!important;border:1px solid #354354;border-radius:10px!important;padding:12px!important;box-shadow:0 6px 24px #0008!important; }
.cashGoogleMapCanvas .gm-style-iw-d { overflow:auto!important; }
.cashGoogleMapCanvas .gm-style-iw-tc::after { background:#111b26!important; }
.cashGoogleMapCanvas .cashMarkerLoadTooltip { display:grid;gap:5px;max-width:250px;color:#e8f0fa!important;background:transparent!important;font:var(--portal-type-small)/1.4 var(--portal-font-body); }
.cashGoogleMapCanvas .cashMarkerLoadTooltip>* { background:transparent!important;color:inherit!important;white-space:normal; }
.cashGoogleMapCanvas .cashMarkerLoadTooltip small,.cashGoogleMapCanvas .cashMarkerLoadTooltip span { color:#a9bdd4!important;font-size:var(--portal-type-caption); }
.cashGoogleMapCanvas .cashMarkerLoadTooltip b { color:#83baff!important;font-size:var(--portal-type-body); }

/* The map fullscreen control should float directly over the map. */
.portalRoot .cashGoogleMapCanvas .gm-fullscreen-control,
.portalRoot .cashGoogleMapCanvas .gm-fullscreen-control:hover,
.portalRoot .cashGoogleMapCanvas .gm-fullscreen-control:focus,
.portalRoot .cashPlanFullscreenButton { background:transparent!important;background-image:none!important;box-shadow:none!important;border-color:transparent!important; }

/* Route and cycle tints span TID, Location, Route, and Frequency. */
.portalRoot .cashMatrixPage .cashAtmTable tbody > tr > td.cashCycleIdentity {
  background: linear-gradient(var(--cycle-overlay), var(--cycle-overlay)), var(--portal-panel) !important;
}
.portalRoot .cashMatrixPage .cashAtmTable tbody > tr > td.cashCycleIdentity:nth-child(2) {
  border-left: 2px solid var(--cycle-accent) !important;
}

/* Route and frequency extend the frozen identity block. */
.cashMatrixPage .cashAtmTable thead tr:first-child > th:nth-child(4),
.cashMatrixPage .cashAtmTable tbody > tr > td:nth-child(4),
.cashMatrixPage .cashAtmTable thead tr:first-child > th:nth-child(5),
.cashMatrixPage .cashAtmTable tbody > tr > td:nth-child(5) {
  position: sticky !important;
  left: calc(128px + var(--cash-location-width, 180px)) !important;
  z-index: 34 !important;
  width: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  padding: 1px 4px !important;
  text-align: center !important;
  background: var(--portal-panel) !important;
}
.cashMatrixPage .cashAtmTable thead tr:first-child > th:nth-child(5),
.cashMatrixPage .cashAtmTable tbody > tr > td:nth-child(5) {
  left: calc(168px + var(--cash-location-width, 180px)) !important;
  border-right: 1px solid #45515a !important;
}
.cashMatrixPage .cashAtmTable thead tr:first-child > th:nth-child(4),
.cashMatrixPage .cashAtmTable thead tr:first-child > th:nth-child(5) {
  z-index: 72 !important;
  background: var(--portal-surface) !important;
}
@media (max-width: 800px) {
  /* The desktop identity block is wider than a phone. Let it scroll with the
     rest of the table so balances and dates can actually be reached. */
  .portalRoot .cashMatrixPage .cashAtmTable :is(thead tr:first-child > th,tbody > tr > td):nth-child(-n+5),
  .portalRoot .cashMatrixPage .cashBankTable :is(th,td):first-child {
    position:static!important;
    left:auto!important;
  }
}
.cashMatrixPage .cashAtmTable thead tr:first-child > th:nth-child(4) button,
.cashMatrixPage .cashAtmTable thead tr:first-child > th:nth-child(5) button {
  padding: 5px 2px;
}

.cashMatrixPage [data-cash-location-text] { display: block; width: max-content; white-space: nowrap; }

.cashMatrixPage .cashAtmTable .cashRowNumber button { border:0; background:transparent; color:inherit; font:inherit; width:100%; padding:3px; cursor:pointer; }
.cashMatrixPage .cashAtmTable .cashRowNumber button:focus-visible { outline:1px solid #80b8e8; outline-offset:-1px; }
.cashMatrixPage .cashAtmTable .cashTrackedRow > td { box-shadow:inset 0 1px #80b8e8, inset 0 -1px #80b8e8 !important; }
.cashMatrixPage .cashAtmTable .cashTrackedRow > td:first-child { box-shadow:inset 1px 0 #80b8e8, inset 0 1px #80b8e8, inset 0 -1px #80b8e8 !important; }
.cashMatrixPage .cashAtmTable .cashTrackedRow > td:last-child { box-shadow:inset -1px 0 #80b8e8, inset 0 1px #80b8e8, inset 0 -1px #80b8e8 !important; }
.cashMatrixPage .cashOutLiveLabel { display:block; font-size:var(--portal-type-caption); line-height:10px; color:var(--portal-text-muted); }

.cashMatrixPage .cashAtmTable thead tr:first-child > th:first-child button { padding: 5px 2px; justify-content: center; gap: 3px; }

/* Reconciliation tolerances use absolute dollars in either direction. */
.cashMatrixPage .cashMatrixTable td.paiBalanceWithinTolerance,
.cashMatrixPage .cashMatrixTable td.paiBalanceWithinTolerance .paiBalanceMismatchFlag {
  color: #eee9d5 !important;
}

/*!************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/portal/cash-analysis-modal.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************/
/* Isolate the outage drill-down from the cash matrix and keep it fully opaque. */
.cashAtmAnalysisBackdrop {
  position: fixed;
  inset: 0;
  z-index: 4000;
  display: grid;
  box-sizing: border-box;
  place-items: center;
  overflow: hidden;
  background: rgba(0, 0, 0, .82);
  padding: 18px;
  isolation: isolate;
}

.cashAtmAnalysisBackdrop .cashAtmAnalysisPage {
  position: relative !important;
  inset: auto !important;
  box-sizing: border-box;
  width: min(1400px, 100%) !important;
  height: min(900px, calc(100dvh - 36px)) !important;
  min-height: 0;
  overflow: auto !important;
  border: 1px solid var(--portal-border, #343a40);
  border-radius: 14px;
  background: #111417 !important;
  color: var(--portal-text, #f4f6f8);
  padding: clamp(18px, 3vw, 42px) !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .72);
}

.cashAtmAnalysisBackdrop .cashAtmAnalysisPage > header {
  position: sticky;
  z-index: 2;
  top: calc(clamp(18px, 3vw, 42px) * -1);
  background: #111417;
  padding-top: clamp(18px, 3vw, 42px);
}

body:has(.cashAtmAnalysisBackdrop) { overflow: hidden; }

@media (max-width: 720px) {
  .cashAtmAnalysisBackdrop { padding: 0; }
  .cashAtmAnalysisBackdrop .cashAtmAnalysisPage {
    width: 100% !important;
    height: 100dvh !important;
    border: 0;
    border-radius: 0;
  }
  .cashAtmAnalysisBackdrop .cashAtmAnalysisStats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/portal/task-hierarchy.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************/
.taskCard{padding:0;overflow:hidden}
.taskCardDisclosure>summary{display:grid;grid-template-columns:minmax(0,1fr) 16px;gap:8px;align-items:center;min-height:54px;padding:11px;cursor:pointer;list-style:none}
.taskCardDisclosure>summary::-webkit-details-marker,.taskCardMore>summary::-webkit-details-marker{display:none}
.taskCardDisclosure>summary h3{margin:0;font-size:var(--portal-type-h3);line-height:var(--portal-leading-heading)}
.taskCardDisclosure>summary>i{position:relative;width:16px;height:16px;border-radius:50%;background:var(--portal-elevated)}
.taskCardDisclosure>summary>i:after{position:absolute;top:4px;left:5px;width:5px;height:5px;border-right:1.5px solid var(--portal-text-muted);border-bottom:1.5px solid var(--portal-text-muted);transform:rotate(45deg);content:""}
.taskCardDisclosure[open]>summary{border-bottom:1px solid var(--portal-border);background:color-mix(in srgb,var(--portal-elevated) 38%,transparent)}
.taskCardDisclosure[open]>summary>i:after{top:6px;transform:rotate(225deg)}
.taskCardSummary{padding:10px}
.taskCardSummary>header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.taskCardSummary>header span{color:var(--portal-blue);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.1em}
.priority-high .taskCardSummary>header span{color:var(--portal-gold)}
.priority-urgent .taskCardSummary>header span{color:var(--portal-burgundy)}
.taskCardSummary>footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.taskCardMore{margin-top:9px;border-top:1px solid var(--portal-border)}
.taskCardMore>summary{position:relative;padding:9px 16px 1px 0;color:var(--portal-blue);font-size:var(--portal-type-caption);font-weight:850;cursor:pointer;list-style:none}
.taskCardMore>summary:after{position:absolute;right:2px;top:10px;width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);content:""}
.taskCardMore[open]>summary:after{top:13px;transform:rotate(225deg)}
.taskCardMore>div{padding-top:7px}
.taskCardMore>div>p{display:block;-webkit-line-clamp:unset}
.taskCardMore .taskLabels{margin-top:8px}

/* Tasks application: distinct operational views sharing one task system. */
.taskWorkspaceV2{display:grid;height:100%;min-height:0;grid-template-columns:205px minmax(0,1fr);padding:0!important;overflow:hidden;background:var(--portal-bg)}
.taskSectionNav{display:flex;min-height:0;flex-direction:column;border-right:1px solid var(--portal-border);background:transparent;padding:28px 16px 20px}
.taskSectionNav>div{padding:0 4px 20px}.taskSectionNav>div span{color:var(--portal-success);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.18em}.taskSectionNav h2{margin:7px 0 0;font-size:var(--portal-type-h2);letter-spacing:-.04em}
.taskSectionNav nav{display:grid;gap:5px;border-top:1px solid var(--portal-border);padding-top:17px}.taskSectionNav nav button{display:grid;height:43px;grid-template-columns:23px 1fr;align-items:center;gap:8px;border:0;border-left:3px solid transparent;border-radius:7px;background:transparent;color:var(--portal-text-muted);padding:0 11px;text-align:left;cursor:pointer}.taskSectionNav nav button:hover{color:var(--portal-text);background:rgb(var(--portal-text-rgb)/.025)}.taskSectionNav nav button.active{border-left-color:var(--portal-success);background:rgb(var(--portal-text-rgb)/.055);color:var(--portal-text)}.taskSectionNav nav i{font-size:var(--portal-type-body);font-style:normal;text-align:center}.taskSectionNav nav span{font-size:var(--portal-type-small);font-weight:750}
.taskSectionNav footer{display:grid;grid-template-columns:9px 1fr;gap:3px 7px;margin-top:auto;border-top:1px solid var(--portal-border);padding:17px 5px 0;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}.taskSectionNav footer>i{width:7px;height:7px;margin-top:2px;border-radius:50%;background:var(--portal-success)}.taskSectionNav footer small{grid-column:2;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}
.taskWorkspaceMain{min-width:0;min-height:0;overflow:auto;padding:26px 28px 50px}.taskWorkspaceV2 .taskWorkspaceHeader{align-items:center;margin-bottom:14px}.taskWorkspaceV2 .taskWorkspaceHeader h1{font-size:var(--portal-type-h1)}.taskWorkspaceV2 .taskWorkspaceHeader>div:first-child>span{color:var(--portal-success);font-size:var(--portal-type-caption)}.taskHeaderActions{display:flex;align-items:end;gap:8px}.taskHeaderActions label{display:grid;gap:4px}.taskHeaderActions label span{position:absolute;overflow:hidden;width:1px;height:1px}.taskHeaderActions input{width:235px;height:39px;border:1px solid var(--portal-border);border-radius:8px;background:transparent;color:var(--portal-text);padding:0 12px}.taskHeaderActions button{height:39px!important;border-color:var(--portal-success)!important;background:var(--portal-success)!important;color:#071009!important;padding:0 14px!important}.taskHeaderActions button.secondary{background:transparent!important;color:var(--portal-success)!important}
.taskWorkspaceV2 .taskStats{grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--portal-border);margin-bottom:15px}.taskWorkspaceV2 .taskStats article{border:0;border-right:1px solid var(--portal-border);border-radius:0;background:transparent;padding:11px 18px 15px}.taskWorkspaceV2 .taskStats article:last-child{border-right:0}.taskWorkspaceV2 .taskStats strong{font-size:var(--portal-type-h2)}
.taskQueue,.taskArchive{overflow:hidden;border:1px solid var(--portal-border);border-radius:10px}.taskQueue>header,.taskArchive>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--portal-border);padding:15px 17px}.taskQueue h2,.taskArchive h2{margin:0;font-size:var(--portal-type-h2)}.taskQueue>header span,.taskArchive header p{margin:3px 0 0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}.taskArchive>header>b{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--portal-elevated)}
.taskQueueGroup>h3{display:flex;align-items:center;gap:8px;margin:0;border-bottom:1px solid var(--portal-border);background:rgb(var(--portal-text-rgb)/.025);padding:10px 17px;font-size:var(--portal-type-h3)}.taskQueueGroup>h3 b{color:var(--portal-text-muted);font-size:var(--portal-type-h3)}.taskListRow{display:grid;min-height:54px;grid-template-columns:20px 7px minmax(210px,1.6fr) minmax(90px,.7fr) 130px 75px 105px;align-items:center;gap:9px;border-bottom:1px solid var(--portal-border);padding:7px 14px}.taskListRow:last-child{border-bottom:0}.taskListRow>div{display:grid;min-width:0;gap:2px}.taskListRow strong,.taskListRow small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.taskListRow strong{font-size:var(--portal-type-caption)}.taskListRow small,.taskListRow>span,.taskListRow time{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}.taskListRow time.overdue{color:var(--portal-error)}.taskListRow select{border:0;background:transparent;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}.taskCheck{display:grid;width:17px;height:17px;place-items:center;border:1px solid var(--portal-text-muted);border-radius:3px;background:transparent;color:transparent;font-size:var(--portal-type-caption);cursor:pointer}.taskCheck.checked{border-color:var(--portal-success);color:var(--portal-success)}.taskPriorityDot{width:6px;height:6px;border-radius:50%;background:var(--portal-blue)}.taskPriorityDot.high{background:var(--portal-gold)}.taskPriorityDot.urgent{background:var(--portal-error)}.taskPriorityDot.low{background:var(--portal-text-muted)}.taskRowPerson{display:flex;align-items:center;gap:6px}.taskRowPerson b{display:grid;width:22px;height:22px;place-items:center;border:1px solid var(--portal-border);border-radius:50%;color:var(--portal-text);font-size:var(--portal-type-caption)}
.taskWorkspaceV2 .taskBoard{grid-template-columns:repeat(4,minmax(220px,1fr))}.taskDelete{margin-top:8px;border:0;background:transparent;color:var(--portal-error);font-size:var(--portal-type-caption);cursor:pointer}
.projectWorkspace{display:grid;min-height:560px;grid-template-columns:240px minmax(0,1fr);overflow:hidden;border:1px solid var(--portal-border);border-radius:10px}.projectWorkspace>aside{border-right:1px solid var(--portal-border);padding:10px}.projectWorkspace>aside>header{display:flex;align-items:center;justify-content:space-between;padding:7px 7px 12px}.projectWorkspace>aside h2{margin:0;font-size:var(--portal-type-h2)}.projectWorkspace>aside>header b{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--portal-elevated);font-size:var(--portal-type-caption)}.projectWorkspace>aside>button{display:grid;width:100%;gap:5px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--portal-text);padding:11px;text-align:left;cursor:pointer}.projectWorkspace>aside>button.active{border-color:var(--portal-border);background:rgb(var(--portal-text-rgb)/.045)}.projectWorkspace>aside>button strong{font-size:var(--portal-type-caption)}.projectWorkspace>aside>button span,.projectWorkspace>aside>p{color:var(--portal-text-muted);font-size:var(--portal-type-body);line-height:1.5}.projectWorkspace>aside>button>i{height:3px;overflow:hidden;border-radius:4px;background:var(--portal-elevated)}.projectWorkspace>aside>button>i b{display:block;height:100%;background:var(--portal-success)}
.projectDetail{min-width:0}.projectDetail>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--portal-border);padding:18px}.projectDetail>header>div:first-child>span{color:var(--portal-success);font-size:var(--portal-type-caption);font-weight:900;letter-spacing:.15em}.projectDetail>header h2{margin:4px 0;font-size:var(--portal-type-h2)}.projectDetail>header p{max-width:650px;margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small);line-height:1.5}.projectDetail>header>div:last-child{display:grid;text-align:right}.projectDetail>header>div:last-child b{font-size:var(--portal-type-h2)}.projectDetail>header>div:last-child span{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}.projectToolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--portal-border);padding:9px 16px}.projectToolbar span{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}.projectToolbar button,.taskEmpty button{border:1px solid var(--portal-success);border-radius:6px;background:transparent;color:var(--portal-success);padding:7px 10px;font-size:var(--portal-type-caption);cursor:pointer}
.ganttChart{min-width:700px}.ganttChart>header{display:grid;grid-template-columns:250px 1fr;border-bottom:1px solid var(--portal-border);padding:10px 15px}.ganttChart>header strong{font-size:var(--portal-type-caption)}.ganttChart>header div{display:flex;justify-content:space-between;color:var(--portal-text-muted);font-size:var(--portal-type-caption)}.ganttChart>section>h3{margin:0;border-bottom:1px solid var(--portal-border);background:rgb(var(--portal-text-rgb)/.025);padding:8px 15px;font-size:var(--portal-type-h3)}.ganttChart>section>h3 b{margin-left:5px;color:var(--portal-text-muted)}.ganttRow{display:grid;grid-template-columns:250px 1fr;min-height:48px;border-bottom:1px solid var(--portal-border);padding:6px 15px}.ganttRow>span{display:grid;align-content:center;gap:2px;padding-right:12px}.ganttRow strong{font-size:var(--portal-type-caption)}.ganttRow small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}.ganttRow>div{display:flex;align-items:center;border-left:1px solid var(--portal-border);background:repeating-linear-gradient(90deg,transparent 0,transparent calc(25% - 1px),var(--portal-border) 25%)}.ganttRow>div>i{display:flex;height:22px;min-width:54px;align-items:center;justify-content:flex-end;border-radius:4px;background:color-mix(in srgb,var(--portal-success) 65%,#18231d);padding:0 6px;font-style:normal}.ganttRow>div>i.blocked{background:var(--portal-error)}.ganttRow>div>i.done{background:var(--portal-success)}.ganttRow>div>i b{color:#fff;font-size:var(--portal-type-caption);white-space:nowrap}
.teamWorkload{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:11px}.teamWorkload>article{overflow:hidden;border:1px solid var(--portal-border);border-radius:10px}.teamWorkload article>header{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:9px;border-bottom:1px solid var(--portal-border);padding:13px}.teamWorkload article>header>b{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--portal-elevated)}.teamWorkload h2{margin:0;font-size:var(--portal-type-h2)}.teamWorkload header span{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}.teamWorkload header strong{display:grid;font-size:var(--portal-type-h3);text-align:right}.teamWorkload header strong small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}.teamWorkload article>div{display:grid;grid-template-columns:50px 1fr;align-items:center;gap:8px;padding:9px 12px}.teamWorkload article>div span{font-size:var(--portal-type-caption)}.teamWorkload article>div i{height:4px;border-radius:4px;background:var(--portal-elevated)}.teamWorkload article>div i b{display:block;height:100%;border-radius:inherit;background:var(--portal-success)}.teamWorkload article>button{display:grid;width:100%;grid-template-columns:7px 1fr auto;gap:8px;align-items:center;border:0;border-top:1px solid var(--portal-border);background:transparent;color:var(--portal-text);padding:10px 12px;text-align:left;cursor:pointer}.teamWorkload article>button i{width:6px;height:6px;border-radius:50%;background:var(--portal-blue)}.teamWorkload article>button i.high{background:var(--portal-gold)}.teamWorkload article>button i.urgent{background:var(--portal-error)}.teamWorkload article>button span{overflow:hidden;font-size:var(--portal-type-caption);text-overflow:ellipsis;white-space:nowrap}.teamWorkload article>button time,.teamWorkload article>p{color:var(--portal-text-muted);font-size:var(--portal-type-body)}.teamWorkload article>p{padding:0 13px 12px}
.taskEmpty{display:grid;min-height:470px;place-items:center;align-content:center;text-align:center}.taskEmpty h2{margin:0}.taskEmpty p{max-width:430px;color:var(--portal-text-muted);font-size:var(--portal-type-small)}.taskEmpty button{margin-top:10px}.projectModal>form{width:min(720px,100%)}.jarvisPlanButton{border:1px solid var(--portal-success);border-radius:8px;background:color-mix(in srgb,var(--portal-success) 8%,transparent);color:var(--portal-success);padding:11px;font-weight:850;cursor:pointer}.plannedTaskList{overflow:hidden;border:1px solid var(--portal-border);border-radius:8px}.plannedTaskList>header{display:flex;justify-content:space-between;background:rgb(var(--portal-text-rgb)/.025);padding:9px 11px}.plannedTaskList>header span{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}.plannedTaskList article{display:grid;grid-template-columns:1fr auto 20px;gap:8px;align-items:center;border-top:1px solid var(--portal-border);padding:8px 11px}.plannedTaskList article>div{display:grid;gap:2px}.plannedTaskList article strong{font-size:var(--portal-type-caption)}.plannedTaskList article small,.plannedTaskList article time{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}.plannedTaskList article button{border:0;background:transparent;color:var(--portal-text-muted);cursor:pointer}
@media(max-width:1050px){.taskWorkspaceV2{grid-template-columns:66px minmax(0,1fr)}.taskSectionNav{padding-inline:8px}.taskSectionNav>div h2,.taskSectionNav nav span,.taskSectionNav footer{display:none}.taskSectionNav nav button{grid-template-columns:1fr;padding:0}.taskSectionNav nav i{text-align:center}.taskWorkspaceV2 .taskStats{grid-template-columns:1fr 1fr}.teamWorkload{grid-template-columns:1fr 1fr}.taskListRow{grid-template-columns:20px 7px minmax(180px,1fr) 110px 80px}.taskListRow>span:not(.taskRowPerson){display:none}.projectWorkspace{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:720px){.taskWorkspaceV2{display:block;overflow:auto}.taskSectionNav{position:sticky;z-index:5;top:0;display:block;border-right:0;border-bottom:1px solid var(--portal-border);padding:7px;background:var(--portal-bg)}.taskSectionNav>div,.taskSectionNav footer{display:none}.taskSectionNav nav{display:flex;overflow:auto;border:0;padding:0}.taskSectionNav nav button{min-width:46px}.taskWorkspaceMain{overflow:visible;padding:16px}.taskHeaderActions{align-items:stretch;flex-direction:column}.taskHeaderActions input{width:100%}.taskWorkspaceV2 .taskStats{grid-template-columns:1fr 1fr}.projectWorkspace{grid-template-columns:1fr}.projectWorkspace>aside{border-right:0;border-bottom:1px solid var(--portal-border)}.teamWorkload{grid-template-columns:1fr}.taskListRow{grid-template-columns:20px 7px 1fr 85px}.taskRowPerson,.taskListRow time{display:none}}
.taskListRow{grid-template-columns:20px 7px minmax(210px,1.6fr) minmax(90px,.7fr) 130px 75px 105px 48px}.taskEditButton{border:1px solid var(--portal-border);border-radius:5px;background:transparent;color:var(--portal-blue);padding:5px 7px;font-size:var(--portal-type-caption);font-weight:800;cursor:pointer}.taskEditButton:hover{border-color:var(--portal-blue)}.taskCardActions{display:flex;align-items:center;gap:8px;margin-top:8px}.taskCardActions .taskDelete{margin-top:0}.ganttRow>span .taskEditButton{justify-self:start;margin-top:3px;padding:2px 5px}
@media(max-width:1050px){.taskListRow{grid-template-columns:20px 7px minmax(180px,1fr) 110px 80px 48px}.taskListRow>select{display:none}}
@media(max-width:720px){.taskListRow{grid-template-columns:20px 7px 1fr 48px}.taskListRow>select{display:none}}

/*!*******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/portal/recap-messages.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************/
.jarvisBubbleTabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5px;
  border-bottom: 1px solid var(--portal-border);
  padding: 7px 10px;
}
.jarvisBubbleTabs button {
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--portal-text-muted);
  padding: 8px;
  font-size: var(--portal-type-caption);
  font-weight: 850;
  cursor: pointer;
}
.jarvisBubbleTabs button.active {
  background: var(--portal-elevated);
  color: var(--portal-gold);
}
.portalMessages {
  display: grid;
  height: min(590px, calc(100vh - 180px));
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 8px;
  padding: 10px;
}
.portalMessages > label {
  display: grid;
  gap: 4px;
  color: var(--portal-text-muted);
  font-size: var(--portal-type-caption);
  font-weight: 850;
}
.portalMessages select,
.portalMessages textarea {
  border: 1px solid var(--portal-border);
  border-radius: 7px;
  background: var(--portal-bg);
  color: var(--portal-text);
  padding: 8px;
  font: inherit;
  font-size: var(--portal-type-body);
}
.portalMessageThread {
  display: flex;
  min-height: 0;
  flex-direction: column;
  gap: 7px;
  overflow: auto;
  padding: 3px;
}
.portalMessageThread article {
  max-width: 84%;
  border: 1px solid var(--portal-border);
  border-radius: 10px;
  background: var(--portal-panel);
  padding: 8px;
}
.portalMessageThread article.mine {
  align-self: flex-end;
  border-color: color-mix(
    in srgb,
    var(--portal-blue) 38%,
    var(--portal-border)
  );
}
.portalMessageThread article.theirs {
  align-self: flex-start;
}
.portalMessageThread span,
.portalMessageThread time {
  display: block;
  color: var(--portal-text-muted);
  font-size: var(--portal-type-caption);
}
.portalMessageThread p {
  margin: 4px 0;
  color: var(--portal-text);
  font-size: var(--portal-type-body);
  line-height: 1.45;
  white-space: pre-wrap;
}
.portalMessageEmpty {
  margin: auto;
  color: var(--portal-text-muted);
  font-size: var(--portal-type-caption);
  text-align: center;
}
.portalMessages form {
  display: grid;
  gap: 6px;
}
.portalMessages textarea {
  min-height: 65px;
  resize: vertical;
}
.portalMessages form > button {
  border: 1px solid var(--portal-gold);
  border-radius: 7px;
  background: var(--portal-gold);
  color: #111;
  padding: 8px;
  font-weight: 900;
  cursor: pointer;
}
.portalMessageMode {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
}
.portalMessageMode button {
  border: 1px solid var(--portal-border);
  border-radius: 6px;
  background: transparent;
  color: var(--portal-text-muted);
  padding: 6px;
  font-size: var(--portal-type-caption);
  cursor: pointer;
}
.portalMessageMode button.active {
  border-color: var(--portal-gold);
  color: var(--portal-gold);
}
.portalLoginNotes {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 1200;
  width: min(360px, calc(100vw - 36px));
  max-height: 70vh;
  overflow: auto;
  border: 1px solid var(--portal-gold);
  border-radius: 12px;
  background: rgb(var(--portal-panel-rgb) / 0.98);
  padding: 12px;
  box-shadow: 0 24px 70px var(--portal-shadow);
}
.portalLoginNotes > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  border-bottom: 1px solid var(--portal-border);
  padding-bottom: 8px;
}
.portalLoginNotes header div {
  display: grid;
  gap: 3px;
}
.portalLoginNotes header span {
  color: var(--portal-gold);
  font-size: var(--portal-type-caption);
  font-weight: 900;
  letter-spacing: 0.12em;
}
.portalLoginNotes header strong {
  font-size: var(--portal-type-small);
}
.portalLoginNotes header button {
  border: 0;
  background: transparent;
  color: var(--portal-text-muted);
  font-size: var(--portal-type-h2);
}
.portalLoginNotes article {
  border-bottom: 1px solid var(--portal-border);
  padding: 9px 2px;
}
.portalLoginNotes article b {
  font-size: var(--portal-type-caption);
}
.portalLoginNotes article p {
  margin: 4px 0 0;
  color: var(--portal-text-muted);
  font-size: var(--portal-type-body);
  line-height: 1.45;
}
.portalLoginNotes > button {
  width: 100%;
  margin-top: 9px;
  border: 1px solid var(--portal-gold);
  border-radius: 7px;
  background: transparent;
  color: var(--portal-gold);
  padding: 8px;
  font-weight: 850;
}
.portalRecapBackdrop {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: grid;
  place-items: center;
  background: rgb(0 0 0/0.78);
  padding: 18px;
}
.portalRecap {
  display: grid;
  width: min(780px, 100%);
  max-height: 90vh;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid var(--portal-border);
  border-top: 2px solid var(--portal-gold);
  border-radius: 16px;
  background: var(--portal-panel);
  box-shadow: 0 35px 100px #000;
  padding: 18px;
}
.portalRecap > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
.portalRecap > header div {
  display: grid;
  gap: 4px;
}
.portalRecap > header span,
.portalRecap section > span {
  color: var(--portal-gold);
  font-size: var(--portal-type-caption);
  font-weight: 900;
  letter-spacing: 0.14em;
}
.portalRecap > header strong {
  font-size: var(--portal-type-body);
}
.portalRecap > header button {
  border: 0;
  background: transparent;
  color: var(--portal-text-muted);
  font-size: var(--portal-type-h2);
}
.portalRecap > nav {
  display: flex;
  gap: 6px;
  margin: 14px 0;
  border-bottom: 1px solid var(--portal-border);
  padding-bottom: 10px;
}
.recapLoadProgress {
  position: relative;
  display: flex;
  justify-content: flex-end;
  min-height: 22px;
  margin-top: 14px;
  overflow: hidden;
  border-radius: 999px;
  background: #17202a;
}
.recapLoadProgress i {
  position: absolute;
  inset: 0 auto 0 0;
  background: linear-gradient(90deg, #3478f6, #55c96f);
  transition: width 0.35s ease;
}
.recapLoadProgress span {
  position: relative;
  z-index: 1;
  padding: 5px 9px;
  color: #fff;
  font-size: var(--portal-type-caption);
  font-weight: 800;
  text-shadow: 0 1px 2px #000;
}
.recapPreparing {
  display: grid;
  gap: 16px;
  padding: 22px 4px !important;
}
.recapPreparingGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}
.recapPreparingGrid article {
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid var(--portal-border);
  border-radius: 9px;
  background: var(--portal-bg);
}
.recapPreparingGrid b {
  font-size: var(--portal-type-small);
}
.recapPreparingGrid small {
  color: var(--portal-text-muted);
  font-size: var(--portal-type-caption);
}
.recapPreparing > button {
  justify-self: start;
  padding: 9px 12px;
  border: 1px solid var(--portal-gold);
  border-radius: 7px;
  background: transparent;
  color: var(--portal-gold);
  font-size: var(--portal-type-caption);
  font-weight: 850;
}
.portalRecap > nav button {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border: 1px solid var(--portal-border);
  border-radius: 50%;
  background: transparent;
  color: var(--portal-text-muted);
  font-size: var(--portal-type-caption);
}
.portalRecap > nav button.active {
  border-color: var(--portal-gold);
  background: var(--portal-gold);
  color: #111;
}
.portalRecap > section {
  overflow: auto;
  padding: 4px;
}
.portalRecap h2 {
  margin: 7px 0 15px;
  font-size: var(--portal-type-h2);
}
.portalRecap h3 {
  margin: 17px 0 7px;
  font-size: var(--portal-type-h3);
}
.portalRecap section > p {
  color: var(--portal-text-muted);
  font-size: var(--portal-type-body);
}
.recapMetrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.recapMetrics article {
  display: grid;
  gap: 4px;
  border: 1px solid var(--portal-border);
  border-radius: 9px;
  background: var(--portal-bg);
  padding: 12px;
}
.recapMetrics b {
  font-size: var(--portal-type-h2);
}
.recapMetrics small {
  color: var(--portal-text-muted);
  font-size: var(--portal-type-caption);
}
.portalRecap ul {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.portalRecap li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid var(--portal-border);
  padding: 9px 2px;
}
.portalRecap li b {
  font-size: var(--portal-type-body);
}
.portalRecap li span {
  color: var(--portal-text-muted);
  font-size: var(--portal-type-body);
  text-align: right;
}
.portalRecap > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--portal-border);
  margin-top: 14px;
  padding-top: 12px;
}
.portalRecap > footer button,
.recapRecommendation button,
.recapRecommendation a,
.recapMessageAction {
  border: 1px solid var(--portal-gold);
  border-radius: 7px;
  background: transparent;
  color: var(--portal-gold);
  padding: 8px 11px;
  font-size: var(--portal-type-caption);
  font-weight: 850;
}
.portalRecap > footer button:last-child {
  background: var(--portal-gold);
  color: #111;
}
.portalRecap > footer span {
  color: var(--portal-text-muted);
  font-size: var(--portal-type-caption);
}
.recapRecommendation {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid var(--portal-border);
  padding: 11px 0;
}
.recapRecommendation div {
  display: grid;
  gap: 3px;
}
.recapRecommendation b {
  font-size: var(--portal-type-caption);
}
.recapRecommendation p {
  margin: 0;
  color: var(--portal-text-muted);
  font-size: var(--portal-type-body);
}
.recapMessageAction {
  margin-top: 12px;
  background: var(--portal-gold);
  color: #111;
}
@media (max-width: 650px) {
  .recapMetrics {
    grid-template-columns: 1fr 1fr;
  }
  .portalRecap h2 {
    font-size: var(--portal-type-h2);
  }
  .portalRecap {
    padding: 13px;
  }
}

/* Slack-inspired company message thread. */
.jarvisBubblePanel .portalMessages {
  height: min(520px, calc(100vh - 220px));
  min-height: 390px;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 0;
  background: #101112;
  padding: 0;
}
.portalMessageHeader {
  display: grid;
  min-height: 46px;
  grid-template-columns: 20px minmax(0, 1fr) 20px;
  gap: 8px;
  align-items: center;
  border-bottom: 1px solid #2a2b2d;
  padding: 0 15px;
  color: #777a80;
}
.portalMessageHeader > span {
  font-size: var(--portal-type-h3);
}
.portalMessageHeader label {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 4px;
  font-size: var(--portal-type-small);
  font-weight: 650;
}
.portalMessageHeader select {
  min-width: 0;
  border: 0 !important;
  background: transparent !important;
  color: #b9bbc1 !important;
  padding: 0 !important;
  font-size: var(--portal-type-small) !important;
  font-weight: 750;
}
.portalMessageHeader > b {
  text-align: center;
  font-size: var(--portal-type-h3);
}
.portalMessageThread {
  gap: 15px;
  padding: 18px 20px;
  background: #101112;
}
.portalMessageThread article,
.portalMessageThread article.mine,
.portalMessageThread article.theirs {
  display: grid;
  width: 100%;
  max-width: none;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 11px;
  align-self: stretch;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
}
.portalMessageAvatar {
  display: grid !important;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 5px;
  background: linear-gradient(145deg, #42474f, #25282d);
  color: #e8e9eb !important;
  font-size: var(--portal-type-caption) !important;
  font-weight: 850;
  letter-spacing: 0.04em;
}
.portalMessageThread article > div {
  min-width: 0;
}
.portalMessageThread article header {
  display: flex;
  gap: 7px;
  align-items: baseline;
}
.portalMessageThread article strong {
  color: #dedfe2;
  font-size: var(--portal-type-small);
}
.portalMessageThread article time {
  display: inline;
  color: #777a80;
  font-size: var(--portal-type-caption);
}
.portalMessageThread article em {
  border-radius: 4px;
  background: #29254a;
  color: #aaa4ff;
  padding: 2px 5px;
  font-size: var(--portal-type-caption);
  font-style: normal;
}
.portalMessageThread article p {
  margin: 3px 0 0;
  color: #b7b9bf;
  font-size: var(--portal-type-body);
  line-height: 1.45;
}
.portalMessageThread article small {
  display: block;
  margin-top: 3px;
  color: #686b71;
  font-size: var(--portal-type-caption);
}
.portalMessageEmpty {
  color: #8b8e94;
  font-size: var(--portal-type-caption);
}
.portalMessages > form {
  position: relative;
  display: grid;
  gap: 0;
  margin: 0 11px 11px;
  border: 1px solid #292b2e;
  border-radius: 9px;
  background: #18191b;
  padding: 0;
  overflow: hidden;
}
.portalMessages > form textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 74px;
  resize: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #d7d8dc;
  padding: 13px 15px;
  font-size: var(--portal-type-body);
  line-height: 1.5;
  outline: 0;
}
.portalMessages > form textarea::placeholder {
  color: #74777d;
}
.portalMessages > form > footer {
  display: flex;
  min-height: 42px;
  align-items: center;
  gap: 8px;
  padding: 5px 9px;
}
.portalMessageTools {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #74777d;
}
.portalMessageTools span:first-child {
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border-radius: 50%;
  background: #24262a;
  font-size: var(--portal-type-h3);
}
.portalMessageTools span {
  font-size: var(--portal-type-small);
}
.portalMessageMode {
  display: flex;
  gap: 3px;
  margin-left: auto;
}
.portalMessageMode button {
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #70737a;
  padding: 5px 6px;
  font-size: var(--portal-type-caption);
}
.portalMessageMode button.active {
  border: 0;
  background: #292b30;
  color: #b9bbc1;
}
.portalMessages > form > footer > button {
  display: flex;
  height: 29px;
  align-items: center;
  gap: 7px;
  border: 0;
  border-radius: 6px;
  background: #6d69dc;
  color: white;
  padding: 0 8px 0 10px;
  font-weight: 900;
  cursor: pointer;
}
.portalMessages > form > footer > button i {
  border-left: 1px solid rgb(255 255 255/0.22);
  padding-left: 6px;
  font-size: var(--portal-type-caption);
  font-style: normal;
}
.portalMessages > form > footer > button:disabled {
  cursor: not-allowed;
  opacity: 0.4;
}
.portalMessages > form > p {
  margin: 0;
  border-top: 1px solid #292b2e;
  color: var(--portal-error);
  padding: 7px 10px;
  font-size: var(--portal-type-body);
}
@media (max-width: 560px) {
  .portalMessageTools span:nth-child(n + 4) {
    display: none;
  }
  .portalMessageMode button {
    font-size: 0;
  }
  .portalMessageMode button:after {
    font-size: var(--portal-type-caption);
    content: "Now";
  }
  .portalMessageMode button:last-child:after {
    content: "Later";
  }
  .portalMessageThread {
    padding: 14px;
  }
  .portalMessages > form {
    margin: 0 8px 8px;
  }
}

.jarvisBubblePanel .portalMessages,
.portalMessageThread {
  background: var(--portal-bg);
}
.portalMessages > form > footer > button {
  min-width: 32px;
  justify-content: center;
  background: #718b7b;
  color: #f1efeb;
  padding: 0 9px;
}
.portalMessageHeader > span {
  display: grid;
  width: 20px;
  height: 20px;
  place-items: center;
}
.portalMessageHeader > span svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: #829da5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
}
.portalMessageHeader label {
  position: relative;
  width: max-content;
  max-width: 100%;
  gap: 7px;
  color: #8f9690;
}
.portalMessageHeader label:after {
  position: absolute;
  right: 9px;
  color: #8f9690;
  font-size: var(--portal-type-caption);
  content: "⌄";
  pointer-events: none;
}
.portalMessageHeader select {
  max-width: 175px;
  height: 30px !important;
  min-height: 30px !important;
  appearance: none;
  border: 1px solid #3a403b !important;
  border-radius: 7px !important;
  background: #202321 !important;
  color: #e7e4dc !important;
  padding: 0 27px 0 9px !important;
  outline: none;
}
.portalMessageHeader select:hover,
.portalMessageHeader select:focus {
  border-color: #829da5 !important;
  box-shadow: none !important;
}
.portalMessageHeader select option {
  background: #202321;
  color: #e7e4dc;
}
.portalMessageTools {
  gap: 4px;
}
.portalMessageTools button {
  display: grid;
  width: 27px;
  height: 27px;
  place-items: center;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #8f9690;
  font-size: var(--portal-type-small);
  cursor: pointer;
}
.portalMessageTools button:hover {
  background: #292d2a;
  color: #e7e4dc;
}
.portalMessageTools button:disabled {
  cursor: not-allowed;
  opacity: 0.3;
}
.portalMessageThread article em {
  background: #303733;
  color: #9fb7a7;
}
.portalMessageMode button.active {
  background: #303733;
  color: #c8d2ca;
}
.portalMessages > form > footer > button:hover {
  background: #809b89;
}
.portalMessages > form > footer > button:disabled {
  background: #3a403b;
  color: #858c86;
}
.portalMessages > form > footer > button {
  background: #527f88;
}
.portalMessageThread article em {
  background: #293d3a;
  color: #86b69c;
}
.portalMessageMode button.active {
  background: #2b3b42;
  color: #b7ccd1;
}
.portalMessages > form > footer > button:hover {
  background: #60919b;
}
.portalMessages > form > footer > button:disabled {
  background: #3a4a51;
  color: #8c989c;
}
.recapMetrics article em {
  margin-top: 3px;
  color: var(--portal-text-muted);
  font-size: var(--portal-type-caption);
  font-style: normal;
  font-weight: 800;
}
.recapMetrics article em[data-direction="up"] {
  color: var(--portal-success);
}
.recapMetrics article em[data-direction="down"] {
  color: var(--portal-error);
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/portal/messages-composer-fix.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************/
/* Keep the message composer and its submit button inside the Jarvis panel. */
.jarvisBubblePanel:has(.portalMessages) {
  height: min(650px, calc(100vh - 118px));
}

/* Give the optional page-context row its own track instead of letting Grid
   create an unpredictable implicit row beneath the conversation. */
.jarvisBubblePanel:has(.jarvisBubbleContext) {
  grid-template-rows: auto auto auto minmax(0, 1fr);
}

.jarvisBubblePanel .portalMessages {
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

.jarvisBubblePanel .portalMessages form {
  min-height: 0;
  padding-bottom: 2px;
}

.jarvisBubblePanel .portalMessages form > button {
  display: block;
  width: 100%;
  min-height: 36px;
  flex: 0 0 auto;
}

/* Messages and Jarvis use the same quiet, modern conversation language. */
.jarvisBubblePanel .jarvisBubbleTabs {
  gap: 0;
  padding: 0 16px;
  background: var(--portal-surface);
}

.jarvisBubblePanel .jarvisBubbleTabs button {
  min-height: 40px;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  padding: 0 4px;
  font-size: var(--portal-type-caption);
}

.jarvisBubblePanel .jarvisBubbleTabs button.active {
  border-bottom-color: var(--portal-text);
  background: transparent;
  color: var(--portal-text);
}

.jarvisBubblePanel .portalMessages {
  gap: 12px;
  background: var(--portal-surface);
  padding: 14px 16px 16px;
}

.jarvisBubblePanel .portalMessages > label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: var(--portal-type-caption);
}

.jarvisBubblePanel .portalMessages > label select {
  min-width: 0;
  flex: 1 1;
  border: 0;
  border-radius: 8px;
  background: var(--portal-bg);
  padding: 9px 10px;
}

.jarvisBubblePanel .portalMessageThread {
  gap: 12px;
  padding: 4px 0 8px;
}

.jarvisBubblePanel .portalMessageThread article {
  max-width: 82%;
  border: 0;
  border-radius: 16px;
  background: transparent;
  padding: 2px 0;
}

.jarvisBubblePanel .portalMessageThread article.mine {
  border: 0;
  border-radius: 16px 16px 4px 16px;
  background: var(--portal-elevated);
  padding: 9px 12px;
}

.jarvisBubblePanel .portalMessageThread article.theirs {
  max-width: 92%;
}

.jarvisBubblePanel .portalMessageThread article span {
  margin-bottom: 3px;
}

.jarvisBubblePanel .portalMessageThread article p {
  margin: 0;
  font-size: var(--portal-type-body);
  line-height: 1.55;
}

.jarvisBubblePanel .portalMessageThread article time {
  margin-top: 5px;
}

.jarvisBubblePanel .portalMessages form {
  gap: 8px;
  border: 1px solid var(--portal-border);
  border-radius: 18px;
  background: var(--portal-bg);
  padding: 8px;
}

.jarvisBubblePanel .portalMessages form textarea {
  min-height: 54px;
  resize: none;
  border: 0;
  background: transparent;
  padding: 6px;
  outline: none;
}

.jarvisBubblePanel .portalMessageMode {
  display: flex;
  gap: 3px;
}

.jarvisBubblePanel .portalMessageMode button {
  min-height: 28px;
  border: 0;
  border-radius: 999px;
  padding: 0 9px;
}

.jarvisBubblePanel .portalMessageMode button.active {
  border: 0;
  background: var(--portal-elevated);
  color: var(--portal-text);
}

.jarvisBubblePanel .portalMessages form > button {
  min-height: 34px;
  border: 0;
  border-radius: 10px;
  background: var(--portal-elevated);
  color: var(--portal-text);
}

@media (max-width: 560px) {
  .jarvisBubblePanel:has(.portalMessages) {
    height: calc(100vh - 95px);
  }
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/portal/jarvis-composer-finish.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************/
.jarvisCompactComposer {
  position: relative;
  grid-template-columns: 30px minmax(0, 1fr) 30px 30px 30px 34px !important;
  grid-auto-flow: row;
  align-items: center;
  min-height: 44px;
  padding: 5px 7px !important;
}
.jarvisCompactComposer textarea { height: 32px; min-height: 32px; overflow-y: auto; }
.jarvisCompactAddWrap { position: relative; display: grid; place-items: center; }
.jarvisCompactAdd,.jarvisCompactMemory,.jarvisCompactComposer .jarvisVoiceButton,.jarvisCompactFullscreen { width: 30px !important; height: 30px !important; }
.jarvisCompactAdd { font-size: var(--portal-type-h3) !important; font-weight: 400 !important; }
.jarvisCompactAdd.active,.jarvisCompactMemory.active { background: var(--portal-elevated) !important; color: var(--portal-gold) !important; }
.jarvisCompactFileInput { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.jarvisCompactAddMenu { position: absolute; z-index: 20; bottom: 42px; left: 0; display: grid; width: 225px; gap: 3px; border: 1px solid var(--portal-border); border-radius: 12px; background: #111417; padding: 6px; box-shadow: 0 18px 48px rgba(0,0,0,.55); }
.jarvisCompactAddMenu button { display: grid !important; width: 100% !important; height: auto !important; grid-template-columns: 28px 1fr; gap: 2px 7px; border-radius: 8px !important; padding: 8px !important; text-align: left; }
.jarvisCompactAddMenu button span { grid-row: 1/3; align-self: center; color: var(--portal-gold); font-size: var(--portal-type-h3); text-align: center; }
.jarvisCompactAddMenu button b { color: var(--portal-text); font-size: var(--portal-type-caption); }
.jarvisCompactAddMenu button small { color: var(--portal-text-muted); font-size: var(--portal-type-caption); }
.jarvisCompactAddMenu button.active { background: color-mix(in srgb,var(--portal-gold) 12%,var(--portal-bg)); }
.jarvisMicrophone { position: relative; display: grid; width: 17px; height: 17px; overflow: visible; place-items: center; color: currentColor; }
.jarvisMicrophone:before,.jarvisMicrophone:after { display: none !important; content: none !important; }
.jarvisMicrophone svg { display: block !important; width: 17px !important; height: 17px !important; overflow: visible; fill: none !important; stroke: currentColor !important; stroke-width: 1.7; }
.jarvisCompactComposer .jarvisVoiceButton { min-width: 30px !important; max-width: 30px !important; min-height: 30px !important; max-height: 30px !important; border-radius: 7px !important; padding: 0 !important; }
.jarvisVoiceButtonFull { width: auto !important; max-width: 120px; height: 46px !important; max-height: 46px; border-radius: 9px !important; }
.jarvisCompactComposerContext { grid-column: 1/-1; display: flex; min-width: 0; gap: 5px; overflow-x: auto; padding: 3px 1px 1px; }
.jarvisCompactComposerContext button { width: auto !important; height: 24px !important; flex: 0 0 auto; border: 1px solid var(--portal-border) !important; border-radius: 99px !important; padding: 0 8px !important; color: var(--portal-text-muted) !important; font-size: var(--portal-type-caption) !important; }
.jarvisCompactKnowledgePanel { max-height: 310px; }
.jarvisCompactKnowledgePanel>label { display: grid; gap: 5px; color: var(--portal-text-muted); font-size: var(--portal-type-caption); font-weight: 800; }
.jarvisCompactKnowledgePanel select { width: 100%; border: 1px solid var(--portal-border); border-radius: 7px; background: var(--portal-bg); color: var(--portal-text); padding: 8px; font: inherit; }
.jarvisCompactHistory { display: none !important; }
@media(max-width:560px){.jarvisCompactComposer{grid-template-columns:28px minmax(0,1fr) 28px 28px 28px 32px!important}.jarvisCompactAddMenu{width:210px}}

/* Sources stay out of the way until the answer is intentionally inspected. */
.jarvisSourceDisclosure { display:grid; justify-items:end; margin-top:2px; border:0; padding:0; }
.jarvisSourceDisclosure>summary { position:relative; display:grid; width:25px; height:25px; grid-template-columns:1fr; place-items:center; margin-left:auto; border:1px solid var(--portal-border); border-radius:50%; background:var(--portal-bg); color:var(--portal-text-muted); cursor:pointer; list-style:none; opacity:0; transform:translateY(3px); transition:opacity .16s ease,transform .16s ease,border-color .16s ease,color .16s ease; }
.jarvisSourceDisclosure>summary::-webkit-details-marker { display:none; }
.jarvisSourceDisclosure>summary svg { width:13px; height:13px; fill:none; stroke:currentColor; stroke-linejoin:round; stroke-width:1.4; }
.jarvisSourceDisclosure>summary b { position:absolute; top:-5px; right:-5px; display:grid; min-width:14px; height:14px; place-items:center; border-radius:99px; background:var(--portal-elevated); color:var(--portal-text); padding:0 3px; font-size:var(--portal-type-caption); line-height:1; }
.jarvisSourceDisclosure>div { box-sizing:border-box; width:100%; margin-top:7px; border-top:1px solid var(--portal-border); padding-top:9px; }
.jarvisSourceDisclosure[open] { justify-items:stretch; }
.jarvisSourceDisclosure[open]>summary { opacity:1; transform:none; color:var(--portal-gold); }
.jarvisSourceDisclosure[open]>summary svg { transform:rotate(180deg); }
.jarvisCompactAnswer:hover .jarvisSourceDisclosure > summary,.jarvisCompactAnswer:focus-within .jarvisSourceDisclosure > summary,.agentReply:hover .jarvisSourceDisclosure > summary,.agentReply:focus-within .jarvisSourceDisclosure > summary,.jarvisSourceDisclosure > summary:focus-visible { opacity:1; transform:none; }
.jarvisSourceDisclosure>summary:hover,.jarvisSourceDisclosure>summary:focus-visible { border-color:var(--portal-gold); color:var(--portal-gold); outline:none; }
@media(hover:none){.jarvisSourceDisclosure>summary{opacity:1;transform:none}}
.jarvisAnswerFilePanel { display:grid; gap:10px; }
.jarvisAnswerFilePanel .answerSection { padding:0; }
.jarvisAnswerFilePanel .answerSection>h3,.jarvisAnswerSourceList>h3 { margin:0 0 8px; color:var(--portal-blue); font-size:var(--portal-type-h3); font-weight:var(--portal-weight-heading); letter-spacing:.1em; text-transform:uppercase; }
.jarvisAnswerSourceList { border-top:1px solid var(--portal-border); padding-top:10px; }
.jarvisAnswerSourceList>div { display:grid; gap:7px; }
.jarvisAnswerSourceList article { display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid var(--portal-border); border-radius:9px; padding:9px 10px; }
.jarvisAnswerSourceList article strong { min-width:0; overflow:hidden; color:var(--portal-text); font-size:var(--portal-type-caption); text-overflow:ellipsis; white-space:nowrap; }
.jarvisAnswerSourceList article a { flex:0 0 auto; color:var(--portal-blue); font-size:var(--portal-type-caption); font-weight:750; text-decoration:none; }
.jarvisAnswerSourceList article a:hover { text-decoration:underline; }
.jarvisAnswerSourceList article span { overflow-wrap:anywhere; color:var(--portal-text-muted); font-size:var(--portal-type-caption); }

/* Unified Jarvis and company-messages workspace. */
.jarvisBubblePanel {
  right: 22px;
  bottom: 22px;
  width: min(660px, calc(100vw - 44px));
  height: min(850px, calc(100dvh - 44px));
  max-height: none;
  grid-template-rows: auto auto minmax(0, 1fr);
  border-color: #343936;
  border-radius: 18px;
  background: #090b0c;
  box-shadow: 0 28px 90px rgb(0 0 0 / 62%);
}
.jarvisBubblePanel:has(.portalMessages) { height: min(850px, calc(100dvh - 44px)); }
.jarvisBubblePanel:has(.jarvisBubbleContext) { grid-template-rows: auto auto auto minmax(0,1fr); }
.jarvisBubbleHeader {
  position: relative!important;
  min-height: 118px!important;
  border-bottom: 0!important;
  background: linear-gradient(180deg,#0d1110 0%,#090b0c 100%)!important;
  padding: 25px 28px 18px!important;
}
.jarvisBubbleHeader>div { gap: 7px!important; }
.jarvisBubbleHeader>div>span { color: #4fd184!important; font-size: var(--portal-type-small)!important; letter-spacing: .2em!important; }
.jarvisBubbleHeader>div>strong { color: #f5f7f5!important; font-size: var(--portal-type-h1)!important; font-weight: 560!important; letter-spacing: -.035em; }
.jarvisBubbleHeader>div>small { color: #808681; font-size: var(--portal-type-caption); }
.jarvisBubbleHeader>button { width: 38px!important; height: 38px!important; color: #a9aeaa!important; font-size: var(--portal-type-metric)!important; font-weight: 250; }
.jarvisBubbleHeader>button:hover { background: transparent!important; color: #fff!important; }
.jarvisBubbleOnline { width: 8px; height: 8px; margin-left: auto; margin-right: 20px; border-radius: 50%; background: #45cf81; box-shadow: 0 0 12px rgb(69 207 129 / 38%); }
.jarvisBubbleTabs {
  display: grid;
  min-height: 64px;
  grid-template-columns: repeat(2,1fr);
  gap: 0;
  border-bottom: 1px solid #292e2b;
  background: #090b0c;
  padding: 0 24px;
}
.jarvisBubbleTabs button {
  position: relative;
  border: 0;
  border-radius: 0;
  background: transparent!important;
  color: #858b87;
  font-size: var(--portal-type-h3);
  font-weight: 580;
}
.jarvisBubbleTabs button.active { color: #4fd184; }
.jarvisBubbleTabs button.active:after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: #48d785; content: ""; }
.jarvisBubbleContext { min-height: 36px; border-color: #242825; background: #0b0e0c; padding: 7px 28px; }

.jarvisBubblePanel .portalMessages {
  height: 100%;
  min-height: 0;
  grid-template-rows: auto minmax(0,1fr) auto;
  background: #090b0c;
}
.portalMessageHeader {
  min-height: 92px;
  grid-template-columns: 28px minmax(0,1fr) 28px;
  gap: 11px;
  border-color: #292e2b;
  padding: 14px 27px 12px;
  background: #0a0c0d;
}
.portalMessageHeader>span { width: 28px; height: 28px; }
.portalMessageHeader>span svg { width: 24px; height: 24px; stroke: #b4bbb6; }
.portalMessageParticipant { display: flex; min-width: 0; align-items: center; gap: 12px; }
.portalMessageParticipant>.portalMessageAvatar { position: relative; width: 42px; height: 42px; flex: 0 0 42px; border: 1px solid #4a504c; border-radius: 50%; background: linear-gradient(145deg,#303633,#181b19); color: #e9edea!important; font-size: var(--portal-type-body)!important; }
.portalMessageParticipant>.portalMessageAvatar i { position: absolute; right: -1px; bottom: 0; width: 11px; height: 11px; border: 2px solid #0a0c0d; border-radius: 50%; background: #42cf7f; }
.portalMessageParticipant label { display: flex; min-width: 0; align-items: center; gap: 6px; color: #858b87; }
.portalMessageParticipant label small { flex: 0 0 auto; font-size: var(--portal-type-body); font-weight: 560; }
.portalMessageParticipant label:after { right: 8px; color: #adb4af; font-size: var(--portal-type-small); }
.portalMessageParticipant select { width: auto; max-width: 230px; height: 38px!important; border: 0!important; background: transparent!important; color: #f0f2f0!important; padding: 0 25px 0 0!important; font-size: var(--portal-type-h3)!important; }
.portalMessageHeader>b { color: #a6aca8; font-size: var(--portal-type-h2); }
.portalMessageHeader>p { grid-column: 1/-1; margin: 0; color: #858b87; font-size: var(--portal-type-small); }
.portalMessageHeader>p span { margin: 0 5px; }
.portalMessageThread { gap: 22px; background: #090b0c; padding: 18px 27px 28px; }
.portalMessageDay { display: flex; align-items: center; gap: 18px; color: #777d79; font-size: var(--portal-type-caption); }
.portalMessageDay:before,.portalMessageDay:after { height: 1px; flex: 1 1; background: #303431; content: ""; }
.portalMessageThread article,.portalMessageThread article.mine,.portalMessageThread article.theirs { grid-template-columns: 42px minmax(0,1fr); gap: 14px; }
.portalMessageThread article>.portalMessageAvatar { width: 42px; height: 42px; border: 1px solid #414743; border-radius: 50%; background: linear-gradient(145deg,#303633,#171a18); font-size: var(--portal-type-small)!important; }
.portalMessageThread article header { gap: 8px; }
.portalMessageThread article strong { color: #f1f3f1; font-size: var(--portal-type-body); }
.portalMessageThread article time { color: #7e847f; font-size: var(--portal-type-caption); }
.portalMessageThread article em { border: 1px solid #73531f; border-radius: 5px; background: rgb(211 145 34 / 8%); color: #f2ad3c; padding: 4px 8px; font-size: var(--portal-type-caption); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.portalMessageThread article p { margin-top: 7px; color: #e2e5e2; font-size: var(--portal-type-body); line-height: 1.48; }
.portalMessageThread article small { margin-top: 7px; color: #858b87; font-size: var(--portal-type-caption); }
.portalMessageThread article.nextLogin>div>p { border-left: 2px solid #e7a62c; padding-left: 13px; }
.portalNextLoginMeta { display: grid; gap: 7px; margin-top: 11px; color: #777d79; font-size: var(--portal-type-caption); }
.portalMessageEmpty { color: #858b87; font-size: var(--portal-type-small); }
.jarvisBubblePanel .portalMessages>form {
  margin: 0 20px 20px;
  border-color: #363c38;
  border-radius: 14px;
  background: #0c0f0d;
  padding: 0 0 7px;
}
.jarvisBubblePanel .portalMessages>form textarea { min-height: 92px; padding: 19px 20px 12px; color: #edf0ed; font-size: var(--portal-type-body); }
.jarvisBubblePanel .portalMessages>form>footer { min-height: 50px; padding: 4px 14px; }
.portalMessageTools { gap: 5px; }
.portalMessageTools button { width: 32px; height: 32px; color: #a0a6a1; font-size: var(--portal-type-h3); }
.portalMessageMode { overflow: hidden; gap: 0; border: 1px solid #303632; border-radius: 8px; }
.portalMessageMode button { min-width: 82px; border-radius: 0; padding: 8px 11px; color: #9aa09b; font-size: var(--portal-type-caption); }
.portalMessageMode button.active { background: #242a26; color: #fff; }
.jarvisBubblePanel .portalMessages>form>footer>button { width: 40px; min-width: 40px; height: 40px; border: 1px solid #69e69e; border-radius: 50%; background: #3dbd74; color: #fff; font-size: var(--portal-type-h2); }
.jarvisBubblePanel .portalMessages>form>footer>button:hover { background: #49ca81; }
.portalMessageComposerHint { display: block; min-height: 14px; color: #737974; padding: 0 18px; font-size: var(--portal-type-caption); text-align: right; }

.jarvisBubblePanel .jarvisCompactChat { height: 100%; min-height: 0; gap: 0; background: #090b0c; padding: 0 20px 20px; }
.jarvisBubblePanel .jarvisCompactThread { border: 0; background: #090b0c; }
.jarvisBubblePanel .jarvisCompactMessages { inset: 0; gap: 22px; padding: 28px 7px 22px; }
.jarvisBubblePanel .jarvisCompactWelcome { margin: auto; text-align: center; }
.jarvisBubblePanel .jarvisCompactWelcome strong { color: #f3f5f3; font-size: var(--portal-type-h2); }
.jarvisBubblePanel .jarvisCompactWelcome span { color: #858b87; font-size: var(--portal-type-small); }
.jarvisBubblePanel .jarvisCompactMessages .jarvisCompactUser,.jarvisBubblePanel .jarvisCompactMessages .jarvisCompactAnswer { display: grid; width: 100%; max-width: none; grid-template-columns: 42px minmax(0,1fr); gap: 14px; align-self: stretch; border: 0; background: transparent!important; padding: 0; box-shadow: none; }
.jarvisCompactAvatar { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #414743; border-radius: 50%; background: linear-gradient(145deg,#303633,#171a18); color: #e9edea; font-size: var(--portal-type-small); font-style: normal; font-weight: 800; }
.jarvisAvatarAgent { border-color: #286d48; color: #4fd184; }
.jarvisBubblePanel .jarvisCompactUser span { color: #f1f3f1; font-size: var(--portal-type-small); font-weight: 750; text-transform: none; }
.jarvisBubblePanel .jarvisCompactUser p { color: #e2e5e2; font-size: var(--portal-type-body); line-height: 1.5; }
.jarvisBubblePanel .jarvisCompactAnswer>div { min-width: 0; }
.jarvisBubblePanel .jarvisCompactAnswer .answerSectionBody p,.jarvisBubblePanel .jarvisCompactAnswer .answerSectionBody li,.jarvisBubblePanel .jarvisCompactAnswer .answerSectionBody p span { font-size: var(--portal-type-body)!important; line-height: 1.55!important; }
.jarvisBubblePanel .jarvisCompactComposer { min-height: 118px; grid-template-columns: 34px minmax(0,1fr) 34px 34px 34px 42px!important; align-items: end; border-color: #363c38; border-radius: 14px; background: #0c0f0d; padding: 13px!important; }
.jarvisBubblePanel .jarvisCompactComposer textarea { height: 82px; min-height: 82px; color: #edf0ed; padding: 8px; font-size: var(--portal-type-body); }
.jarvisBubblePanel .jarvisCompactComposer button { color: #a0a6a1; }
.jarvisBubblePanel .jarvisCompactComposer .jarvisCompactSend { width: 42px!important; height: 42px!important; border: 1px solid #69e69e; background: #3dbd74!important; color: #fff!important; font-size: var(--portal-type-h2)!important; }
.operationsDashboard .jarvisCompactAvatar { display: none; }

@media(max-width:700px){
  .jarvisBubblePanel { inset: 8px; width: auto; height: auto; max-height: none; border-radius: 14px; }
  .jarvisBubbleHeader { min-height: 92px!important; padding: 18px 20px 12px!important; }
  .jarvisBubbleHeader>div>strong { font-size: var(--portal-type-h2)!important; }
  .jarvisBubbleTabs { min-height: 54px; padding: 0 14px; }
  .portalMessageHeader { min-height: 82px; padding: 11px 16px; }
  .portalMessageParticipant label small { display: none; }
  .portalMessageThread { padding: 16px; }
  .jarvisBubblePanel .portalMessages>form { margin: 0 10px 10px; }
  .portalMessageMode button { min-width: 62px; font-size: var(--portal-type-caption); }
  .jarvisBubblePanel .jarvisCompactChat { padding: 0 10px 10px; }
}

/* Quick loads retain the compact spinner; extended loads graduate to the brand loop. */
.portalBrandLoader { display: grid; width: min(260px,72vw); justify-items: center; gap: 13px; margin-bottom: var(--portal-space-2); }
.portalBrandLoaderWord { display: flex; justify-content: center; gap: .1em; color: var(--portal-text); font: 850 var(--portal-type-metric)/1 var(--portal-font-heading); letter-spacing: .08em; }
.portalBrandLoaderWord span { display: inline-block; animation: portalBrandLetter 1.8s cubic-bezier(.45,0,.2,1) infinite; animation-delay: calc(var(--brand-letter) * 85ms); }
.portalBrandLoaderTrack { position: relative; width: 100%; height: 3px; overflow: hidden; border-radius: 99px; background: color-mix(in srgb,var(--portal-border) 72%,transparent); }
.portalBrandLoaderTrack i { position: absolute; inset: 0 auto 0 0; width: 38%; border-radius: inherit; background: linear-gradient(90deg,var(--portal-blue),var(--portal-gold),var(--portal-success)); box-shadow: 0 0 14px color-mix(in srgb,var(--portal-blue) 55%,transparent); animation: portalBrandProgress 1.55s cubic-bezier(.55,0,.25,1) infinite; }
.portalBrandLoader.determinate { position: relative; padding-bottom: 18px; }
.portalBrandLoader.determinate .portalBrandLoaderTrack { height: 7px; border: 1px solid color-mix(in srgb,var(--portal-border) 80%,transparent); background: color-mix(in srgb,var(--portal-surface) 86%,var(--portal-border)); }
.portalBrandLoader.determinate .portalBrandLoaderTrack i { left: 0; min-width: 0; animation: none; transition: width 180ms cubic-bezier(.2,.7,.2,1); }
.portalBrandLoader.determinate output { position: absolute; right: 0; bottom: 0; color: var(--portal-text-muted); font: 700 var(--portal-type-caption)/1 var(--portal-font-heading); font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.portalBrandLoader.compact { width: min(190px,70%); gap: 9px; }
.portalBrandLoader.compact .portalBrandLoaderWord { font-size: var(--portal-type-h2); }
@keyframes portalBrandLetter { 0%,52%,100%{opacity:.34;transform:translateY(0) scale(.96);color:var(--portal-text-muted)} 18%{opacity:1;transform:translateY(-4px) scale(1.06);color:var(--portal-blue)} 32%{opacity:1;transform:translateY(0) scale(1);color:var(--portal-text)} }
@keyframes portalBrandProgress { 0%{left:-42%;transform:scaleX(.65)} 48%{transform:scaleX(1)} 100%{left:104%;transform:scaleX(.65)} }
@media(prefers-reduced-motion:reduce){.portalBrandLoaderWord span,.portalBrandLoaderTrack i{animation:none}.portalBrandLoaderWord span{opacity:1;color:var(--portal-text)}.portalBrandLoaderTrack i{left:0;width:72%}}

.portalRoot .jarvisTaskContext { display:flex; flex:0 0 auto; align-items:center; gap:8px; padding:6px 12px; color:var(--portal-nav-ink); font-size:12px; pointer-events:auto; }
.portalRoot .jarvisTaskContext span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.portalRoot .jarvisTaskContext button { flex:0 0 24px; width:24px; height:24px; border:0; border-radius:50%; background:transparent; color:inherit; cursor:pointer; }

/*!**************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/portal/demo-mode.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************/
.demoModeBanner{position:sticky;z-index:500;top:0;display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #68afc4;background:linear-gradient(90deg,#123039,#171818 42%,#123039);color:#fff;padding:7px 18px;box-shadow:0 8px 24px #0008}.demoModeBanner>div{display:flex;align-items:center;gap:10px}.demoModeBanner span{border:1px solid #68afc4;border-radius:99px;color:#7fc1d3;padding:4px 8px;font-size:var(--portal-type-caption);font-weight:950;letter-spacing:.15em}.demoModeBanner strong{font-size:var(--portal-type-caption)}.demoModeBanner small{color:#c8cdd1;font-size:var(--portal-type-caption)}.demoModeBanner button{border:1px solid #68afc4;border-radius:7px;background:#68afc4;color:#111;padding:7px 11px;font-size:var(--portal-type-caption);font-weight:900;cursor:pointer}.demoModeAdminCard{grid-column:1/-1;display:grid;grid-template-columns:1fr auto auto;gap:20px;align-items:center}.demoModeAdminCard header h2{margin-bottom:6px}.demoModeAdminCard header p{margin:0;color:var(--portal-text-muted);font-size:var(--portal-type-small)}.demoModeAdminStatus{display:grid;grid-template-columns:9px 1fr;gap:2px 7px;align-items:center}.demoModeAdminStatus i{grid-row:1/3;width:8px;height:8px;border-radius:50%;background:var(--portal-success)}.demoModeAdminStatus i.active{background:var(--portal-gold);box-shadow:0 0 10px var(--portal-gold)}.demoModeAdminStatus strong{font-size:var(--portal-type-caption)}.demoModeAdminStatus small{color:var(--portal-text-muted);font-size:var(--portal-type-caption)}@media(max-width:760px){.demoModeBanner small{display:none}.demoModeAdminCard{grid-template-columns:1fr}.demoModeBanner{padding:7px 10px}}

/*!************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/portal/portal-color-system.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************/
/* Portal-wide color discipline.
   Navigation uses one neutral color. Content defaults to neutral ink,
   neutral rules, and charcoal surfaces; color is reserved for status, risk,
   charts, and primary actions. */
.portalRoot {
  --portal-blue: #aeb5b7;
  --portal-blue-rgb: 174 181 183;
  --portal-gold: #c8cdce;
  --portal-gold-rgb: 200 205 206;
  --portal-gold-hover: #eef0f0;
  /* Keep the approved charcoal gradient independent of navigation styling. */
  --portal-canvas-color: hsl(192 12.1429% 6.8627%);
  --portal-canvas-background: linear-gradient(135deg, hsl(200 11.5909% 8.6275%), hsl(192 12.1429% 6.8627%));
  --portal-nav-ink: #d0d6e0;
  --portal-nav-idle: #8a8f98;
}

/* Route-specific styles, hover, and legacy first-child rules must not make an
   unselected link look active. Icons and labels always inherit the link state. */
.portalRoot .portalShell > .portalSidebar .portalIconNav .portalNavItem:not([aria-current="page"]) { color:var(--portal-nav-idle)!important; }
.portalRoot .portalShell > .portalSidebar .portalIconNav .portalNavItem[aria-current="page"] { color:var(--portal-text)!important; }
.portalRoot .portalShell > .portalSidebar .portalIconNav .portalNavItem :is(.portalNavIcon,.portalNavLabel,svg) { color:inherit!important; }

/* All Jarvis entry points share navigation ink, including the docked composer. */
.portalRoot :is(.jarvisCompactChat, .jarvisAgentPanel, .jarvisBubbleTabs, .portalMessages) {
  --portal-text: var(--portal-nav-ink);
  --portal-text-rgb: 208 214 224;
  --portal-muted: var(--portal-text-muted);
  --j-muted: var(--portal-text-muted);
  color: var(--portal-nav-ink);
}
.portalRoot :is(.jarvisCompactChat, .jarvisAgentPanel, .portalMessages) textarea,
.portalRoot :is(.jarvisCompactUser, .jarvisCompactAnswer, .jarvisThread, .portalMessageThread) :is(p, li, h1, h2, h3, h4, strong) {
  color: var(--portal-nav-ink) !important;
}
.portalRoot .portalShell :is(.jarvisBubblePanel, .dashboardInlineChat, .jarvisAgentPanel, .portalMessages) :is(.jarvisCompactComposer, form) button,
.portalRoot .portalShell .jarvisBubbleTabs button {
  color: var(--portal-nav-ink) !important;
}
.portalRoot .portalShell :is(.jarvisCompactComposer, .jarvisAgentPanel, .portalMessages) button svg { color: inherit !important; }
.portalRoot .portalShell :is(.jarvisCompactComposer, .jarvisPrompt, .portalMessages) textarea::placeholder {
  color: var(--portal-nav-ink) !important;
  opacity: .75;
}
.portalRoot .portalShell .jarvisBubblePanel .jarvisCompactComposer .jarvisCompactSend {
  background: var(--portal-elevated) !important;
  color: var(--portal-nav-ink) !important;
  border: 1px solid var(--portal-border) !important;
}
.portalRoot .portalShell :is(.jarvisCompactComposer, .jarvisAgentPanel, .portalMessages, .jarvisBubbleTabs) button:hover {
  color: var(--portal-text) !important;
}

/* A few applications previously replaced the shared accent tokens locally.
   Keep those pages on the same neutral hierarchy as the rest of the portal. */
.portalRoot .paperworkApp {
  --portal-gold: #c8cdce;
  --portal-gold-rgb: 200 205 206;
  background: transparent;
}

/* Page and section eyebrows are hierarchy, not status. */
.portalRoot :where(
  .portalEyebrow,
  .knowledgeMapHeader > div > span,
  .agentIntro > span,
  .dashboardSectionHeader > div > span,
  .calendarPageHeader > div > span,
  .calendarAgenda > header > span,
  .integrationHeader > span,
  .integrationCard > div:nth-child(2) > span,
  .paperworkHeader > div:first-child > span,
  .paperworkPanelTitle > span,
  .paperworkConversationHead span,
  .paperworkWelcome > span,
  .formAgentHub > header > span,
  .formAgentChoices > a > span,
  .formAgentLaunchHeader > div:first-child > span,
  .formAgentStart article > div:nth-child(2) > span,
  .closeoutHeader span,
  .reportControlHeader > div:first-child > span,
  .reportPanel > header span,
  .reportingHeader span,
  .reportPageHeading span,
  .reportAutomationHeader span,
  .reportDrilldown > header span,
  .terminalErrorHeader > div > span,
  .terminalReasonPanel > header span,
  .terminalIssueTablePanel > header > div > span,
  .reportHistogramPanel > header span,
  .usersAdminPage .portalCard > header > span,
  .cashPortalHeader > div:first-child > span,
  .cashPanel header span,
  .cashWorkspaceToolbar > div > span,
  .cashPageHeader span,
  .cashRouteGrid header span,
  .taskWorkspaceHeader span,
  .taskModal header span,
  .taskModal legend,
  .memberDashboardCard > header span,
  .dashboardAttention > header span,
  .answerDataBlock > header span,
  .warehouseDashboardHeader span,
  .warehouseSectionHeading span,
  .jarvisMapSources > header span,
  .agentCalendarAgenda > header > div:first-child > span
) {
  color: var(--portal-text-muted) !important;
}

/* Selected rows and featured content use contrast and weight, not a colored
   stripe. Semantic progress indicators inside them remain green. */
.portalRoot .paperworkDraftList > button:hover,
.portalRoot .paperworkDraftList > button.active {
  border-left-color: var(--portal-border) !important;
}

.portalRoot .formAgentFeatured {
  border-left-width: 1px;
  border-left-color: var(--portal-border);
}

.portalRoot .formAgentFeatured > div:nth-child(2) > strong,
.portalRoot .formAgentFeatured footer a,
.portalRoot .formAgentRecentList > a > b,
.portalRoot .formAgentViewAll,
.portalRoot .formAgentStart article > button {
  color: var(--portal-text-muted);
}

/* Decorative boxes and modal caps use the same quiet rule as the navbar. */
.portalRoot :where(
  .paperworkSecureDialog > header,
  .reportLogBackdrop > section,
  .taskModal > form,
  .dashboardAttention,
  .memberDashboardCard,
  .calendarSurface,
  .integrationCard,
  .reportPanel,
  .terminalReasonPanel,
  .terminalIssueTablePanel,
  .reportHistogramPanel
) {
  border-color: var(--portal-border) !important;
}

/* Ordinary navigation and disclosure links do not masquerade as alerts. */
.portalRoot :where(
  .memberDashboardCard > header > a,
  .memberMessageLink,
  .dashboardAttention a > b,
  .reportDrilldown > header > button,
  .nodeLinks button,
  .jarvisSourceDisclosure > summary,
  .jarvisAnswerSourceList article a
) {
  color: var(--portal-text-muted);
}

.portalRoot :where(
  .memberDashboardCard > header > a,
  .memberMessageLink,
  .jarvisAnswerSourceList article a
):hover {
  color: var(--portal-text);
  text-decoration: none;
}

/* Demo mode is informational chrome, not a blue promotional banner. */
.portalRoot .demoModeBanner {
  border-color: var(--portal-border);
  background: #151718;
  box-shadow: none;
}
.portalRoot .demoModeBanner span,
.portalRoot .demoModeBanner button {
  border-color: #3a3e40;
}
.portalRoot .demoModeBanner span { color: var(--portal-text-muted); }
.portalRoot .demoModeBanner button { background: #2a2d2e; color: var(--portal-text); }

/* Let the full-height workspace paint one continuous gradient. Page wrappers
   must not restart it or leave a differently colored strip below short pages. */
.portalRoot .portalShell > .portalWorkspace > :is(main, section):not([role="dialog"]),
.portalRoot .portalWorkspace :is(.cashNativeContent, .cashMatrixPage) {
  background-color: transparent !important;
  background-image: none !important;
}

/* Content containers expose the workspace canvas at every nesting level.
   Floating surfaces and data visualization primitives keep their own paint. */
.portalRoot .portalShell > .portalWorkspace :is(main,aside,section,article,header,footer,nav,form,fieldset,details,summary,div,table):not(:where(
  dialog, dialog *, [role="dialog"], [role="dialog"] *,
  [role="menu"], [role="menu"] *, [role="tooltip"], [role="tooltip"] *,
  [role="progressbar"], [role="progressbar"] *, [role="alert"], [role="status"],
  [class*="Backdrop"], [class*="Backdrop"] *, [class*="backdrop"], [class*="backdrop"] *,
  [class*="Modal"], [class*="Modal"] *, [class*="modal"], [class*="modal"] *,
  [class*="Dialog"], [class*="Dialog"] *, [class*="dialog"], [class*="dialog"] *,
  [class*="Tooltip"], [class*="Tooltip"] *, [class*="tooltip"], [class*="tooltip"] *,
  [class*="Popover"], [class*="Popover"] *, [class*="popover"], [class*="popover"] *,
  .cashGoogleMapCanvas, .cashGoogleMapCanvas *, .cashTileMap, .cashTileMap *,
  .cashArcGauge, .dashboardDonut, .adminMemoryPie, .paperworkProgressRing,
  svg *, .jarvisCompactComposer, .jarvisCompactComposer *,
  [data-portal-surface="floating"], [data-portal-surface="floating"] *
)) {
  background-color: transparent !important;
  background-image: none !important;
}

/* Editable fields share the canvas, including fields inside dialogs. */
.portalRoot :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):not([type="hidden"]),
  textarea, [contenteditable="true"], [contenteditable=""], [contenteditable="plaintext-only"], [role="textbox"]
) {
  background-color: transparent !important;
  background-image: none !important;
}
.portalRoot input:autofill {
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: var(--portal-text);
}
/* The composer frame is part of the text box, not a separate filled card. */
.portalRoot .portalShell :is(.jarvisBubblePanel, .portalWorkspace) form.jarvisCompactComposer,
.portalRoot .portalShell .jarvisBubblePanel div.portalMessages > form,
.portalRoot .portalShell .jarvisPrompt {
  background-color: transparent !important;
  background-image: none !important;
  -webkit-backdrop-filter: none !important;
          backdrop-filter: none !important;
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/portal/portal-typography.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************/
/* Single source of truth for portal typography. Use roles, not local pixel sizes. */
.portalRoot {
  --portal-type-h1: 1.75rem; /* 28: page title */
  --portal-type-h2: 1.25rem; /* 20: card or section heading */
  --portal-type-h3: 1rem; /* 16: subsection heading */
  --portal-type-body: .875rem; /* 14: primary reading and form text */
  --portal-type-mobile-input: max(1rem, 16px); /* Avoid iOS focus zoom; honor larger text settings. */
  --portal-type-small: .75rem; /* 12: supporting text and compact controls */
  --portal-type-caption: .6875rem; /* 11: metadata, table labels, chart axes */
  --portal-type-metric: 2rem; /* 32: compact KPI */
  --portal-type-display: 2.5rem; /* 40: featured KPI */
  --portal-type-h4: var(--portal-type-h3);
  --portal-type-h5: var(--portal-type-body);
  --portal-type-body-lg: var(--portal-type-h3);
  --portal-leading-heading: 1.25;
  --portal-leading-body: 1.5;
  --portal-leading-compact: 1.35;
  --portal-weight-heading: 600;
  font-size:var(--portal-type-body);
  line-height:var(--portal-leading-body);
}

/* Keep text stable on rotation without disabling the user's pinch zoom. */
html:has(.portalRoot) { text-size-adjust:100%; }
@media (max-width:900px), (any-pointer:coarse) {
  /* Specificity intentionally covers compact app controls and the Jarvis scale. */
  .portalRoot.portalRoot :is(input,select,textarea,[contenteditable="true"],[contenteditable="plaintext-only"]):not([type="checkbox"]):not([type="radio"]) {
    font-size:var(--portal-type-mobile-input)!important;
  }
}
.portalRoot :where(h1,h2,h3,h4,h5,h6) {font-family:var(--portal-font-heading);font-weight:var(--portal-weight-heading);line-height:var(--portal-leading-heading);}
.portalRoot h1 {font-size:var(--portal-type-h1)!important;}
.portalRoot h2 {font-size:var(--portal-type-h2);}
.portalRoot :where(h3,h4) {font-size:var(--portal-type-h3);}
.portalRoot h5 {font-size:var(--portal-type-body);}
.portalRoot h6 {font-size:var(--portal-type-small);}
:where(.portalRoot) :where(p,li,input,select,textarea,button) {font-size:var(--portal-type-body);}
:where(.portalRoot) :where(small,time,figcaption) {font-size:var(--portal-type-caption);}
/* Explicit roles for headings that are not heading elements, and supporting copy. */
.portalRoot .portalTextTitle {font-size:var(--portal-type-h1);line-height:var(--portal-leading-heading);font-weight:var(--portal-weight-heading);}
.portalRoot .portalTextHeading {font-size:var(--portal-type-h2);line-height:var(--portal-leading-heading);font-weight:var(--portal-weight-heading);}
.portalRoot .portalTextSubheading {font-size:var(--portal-type-h3);line-height:var(--portal-leading-heading);font-weight:var(--portal-weight-heading);}
.portalRoot .portalTextBody {font-size:var(--portal-type-body);line-height:var(--portal-leading-body);}
.portalRoot .portalTextSupporting {font-size:var(--portal-type-small);line-height:var(--portal-leading-body);}
.portalRoot .portalTextCaption {font-size:var(--portal-type-caption);line-height:var(--portal-leading-compact);}

/* User-requested 15% reduction only inside the resizable Jarvis window. */
.portalRoot .jarvisBubblePanel {
  --portal-type-h1:1.4875rem;
  --portal-type-h2:1.0625rem;
  --portal-type-h3:.85rem;
  --portal-type-body:.74375rem;
  --portal-type-small:.6375rem;
  --portal-type-caption:.584375rem;
  --portal-type-metric:1.7rem;
  --portal-type-display:2.125rem;
  --portal-type-h4:var(--portal-type-h3);
  --portal-type-h5:var(--portal-type-body);
  --portal-type-body-lg:var(--portal-type-h3);
}

/*!**********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[15].oneOf[10].use[3]!./src/app/portal/portal-refinement.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************/
.portalRoot .integrationPage,.portalRoot .reportControl{max-width:1500px;margin:auto;padding:20px}.portalRoot .integrationHeader,.portalRoot .reportControlHeader{margin-bottom:16px;gap:14px}.portalRoot :is(.integrationHeader,.reportControlHeader) h1{font-size:27px;letter-spacing:-.03em;margin:5px 0}.portalRoot :is(.integrationHeader,.reportControlHeader) p{font-size:12px;max-width:650px}.portalRoot .integrationCard{border-radius:9px;padding:16px;gap:16px;margin-block:12px}.portalRoot .integrationIcon{width:38px;height:38px;flex-shrink:0;border-radius:9px}.portalRoot .integrationCard h2{font-size:15px}.portalRoot .integrationCard p,.portalRoot .integrationCard small{font-size:12px;line-height:1.5}.portalRoot :is(.integrationConnect,.integrationSecondary){padding:8px 12px;border-radius:7px;font-size:12px}.portalRoot .reportStats{gap:10px;margin-block:14px}.portalRoot .reportStats article{padding:13px;border-radius:8px}.portalRoot .reportStats strong{font-size:23px}.portalRoot .reportPanel{border-radius:9px;margin-top:14px;padding:16px}.portalRoot .reportPanel h2{font-size:15px}.portalRoot .reportPanel p{font-size:12px}.portalRoot .reportPanel :is(td,th){padding:9px 10px;font-size:11px}.portalRoot .reportPanel :is(input:not([type=checkbox]):not([type=radio]),select,button){min-height:34px;border-radius:7px;font-size:12px}.portalRoot .cashAutomationBody{gap:14px}.portalRoot .cashAutomationIntro{font-size:12px}.portalRoot .dashboardTerminalSummary{border:1px solid var(--portal-border);border-radius:10px;overflow:hidden}.portalRoot .dashboardTerminalSummary .dashboardSectionHeader{padding:16px 18px;border-bottom:1px solid var(--portal-border)}.portalRoot .dashboardTerminalSummary .dashboardSectionHeader h2{font-size:17px}.portalRoot .dashboardTerminalSummary .dashboardTerminalMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;border-bottom:1px solid var(--portal-border)}.portalRoot .dashboardTerminalMetrics>a{padding:12px 16px;border-right:1px solid var(--portal-border)}.portalRoot .dashboardTerminalMetrics>a:last-child{border-right:0}.portalRoot .dashboardTerminalMetrics strong{font-size:24px}.portalRoot .dashboardTerminalMetrics span,.portalRoot .dashboardTerminalMetrics small{font-size:10px}.portalRoot .dashboardTerminalList>a{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--portal-border);text-decoration:none}.portalRoot .dashboardTerminalList>a:hover{background:color-mix(in srgb,var(--portal-blue) 5%,transparent)!important}.portalRoot .dashboardTerminalList>a>i{display:grid;place-items:center;width:26px;height:26px;border:1px solid #b49c65;border-radius:50%;color:#b49c65;font-style:normal;font-size:12px}.portalRoot .dashboardTerminalList>a>span{min-width:0;display:grid;gap:3px}.portalRoot .dashboardTerminalList strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portalRoot .dashboardTerminalList small{font-size:10px;color:var(--portal-text-muted)}.portalRoot .dashboardTerminalList b{max-width:140px;padding:4px 7px;border-radius:5px;font-size:10px;font-weight:500;color:#c5b487;border:1px solid #b49c6530}.portalRoot .dashboardTerminalEmpty{padding:20px;font-size:12px;color:var(--portal-text-muted)}@media(max-width:650px){.portalRoot .integrationPage,.portalRoot .reportControl{padding:12px}.portalRoot .integrationCard{padding:12px;flex-wrap:wrap}.portalRoot .dashboardTerminalSummary .dashboardTerminalMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.portalRoot .dashboardTerminalMetrics>a{padding:10px 12px}.portalRoot .dashboardTerminalList>a{padding:10px 12px}.portalRoot .dashboardTerminalList b{max-width:100px;overflow-wrap:anywhere}}

.portalRoot .closeoutHeader{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--portal-border)}.portalRoot .closeoutHeader h1{font-size:27px;margin:5px 0}.portalRoot .closeoutHeader p{font-size:12px}.portalRoot .closeoutLayout{gap:12px}.portalRoot :is(.closeoutDrafts,.closeoutEvidence){padding:14px;border-radius:9px}.portalRoot .closeoutDrafts>button{padding:11px;border-radius:7px}.portalRoot .closeoutConversationHead{padding:12px 16px}.portalRoot .closeoutEvidence h2,.portalRoot .closeoutDrafts h2{font-size:14px}.portalRoot .closeoutMessages article{font-size:13px;line-height:1.5}.portalRoot .closeoutPhotoList>div{padding:10px;border-radius:7px}.portalRoot .closeoutPhotoList img{max-height:120px;object-fit:cover}.portalRoot .closeoutWelcome h2{font-size:22px}.portalRoot .closeoutWelcome p{font-size:12px;max-width:480px}

