/* ITRALITY: orbital blue identity, calm clinical reading surfaces. */
body.itrality-workspace{background:#050e1d;color:#e6f1ff}
.itrality-workspace .shell{background:radial-gradient(ellipse at 60% 12%,#0a2d5066,transparent 58%),#050e1d}
.itrality-workspace .sidebar{background:linear-gradient(180deg,#071629,#050d1b);border-right:1px solid #183b5c}
.sidebar .generation-logo{border:1px solid #164878;box-shadow:0 8px 30px #0006,0 0 20px #008cff18}
.sidebar .nav-label,.conversation-heading{color:#7da6c9;letter-spacing:1.2px}
.sidebar .nav-item,.conversation-item{color:#bed6ef}
.sidebar .nav-item.active,.conversation-item.selected{background:linear-gradient(110deg,#08345c,#0b2140);border-color:#1865a0;color:#e1f5ff}
.sidebar .nav-item:hover,.conversation-item:hover{background:#0d2947;border-color:#206da3;color:#fff}
.conversation-item small,.history-empty,#history-notice,.sidebar .profile small{color:#8ba9c3}
.sidebar .profile{color:#d4e8ff;border-color:#173652}.sidebar .avatar{background:#0b3050;border-color:#235f90;color:#7bd7ff}
.topbar{color:#88a8c8}.topbar strong{color:#d2e9ff}.connection-chip{background:#0b2038;border-color:#245274;color:#bfddf5}
.world-stage:after{background:linear-gradient(90deg,#050e1d,transparent 18%,transparent 82%,#050e1d)}
.chat-greeting{color:#e0efff;font-weight:400}.chat-note{color:#8da9c4}
.chat-composer{background:linear-gradient(120deg,#10253c,#0b1b30);border:1px solid #285675;box-shadow:0 10px 40px #0004,inset 0 1px 0 #a2e1ff12}
.chat-composer:focus-within{border-color:#229ff0;box-shadow:0 0 0 3px #008cff14,0 12px 44px #0004}
.chat-composer #chat-input{color:#e7f3ff}.chat-composer #chat-input::placeholder{color:#a3bdd3}
.workspace-heading h1{color:#e7f3ff}.workspace-heading p{color:#94b1ca}.text-button{color:#64c9ff}
.intake-pane,.output-pane{border:1px solid #244767;box-shadow:0 15px 45px #0003;border-radius:17px}
.pane-heading{background:linear-gradient(110deg,#102b46,#091c32);color:#e1f1ff;border-color:#254e70}.pane-heading b{color:#54caff}.pane-heading small{color:#9abbd6}
.output-pane{background:#081a2e}.output-pane #empty-output{background:radial-gradient(ellipse at center,#0c37535c,transparent 70%)}
#empty-output h3{color:#cceaff}.output-pane .generation-logo{border:1px solid #19568b;box-shadow:0 0 32px #007bff25}
.output-pane .review-note{color:#a0bad0}.output-pane #generation-message{color:#83d6ff}
.output-pane #document-output{background:#fbfdff;color:#19344b}
.site-footer{border-color:#19314c;color:#88a5bf}.site-footer>span:first-child{color:#a2cee9}
.world-stage #trigger-menu{background:linear-gradient(145deg,#102b47,#07182c);border-color:#217bb5;box-shadow:0 15px 50px #0005,inset 0 1px 0 #a1e4ff16}
.world-stage .trigger-menu-title{color:#a9dafa}.world-stage .trigger-choice{color:#d4e8fa;border-color:#234865;background:#0d233b}
.world-stage .trigger-choice:hover,.world-stage .trigger-choice:focus-visible{background:linear-gradient(120deg,#076da9,#06448d);border-color:#3bcaff;color:#fff}
.primary,.btn-primary,#trigger-launcher,.chat-composer .selector-row #open-workflow{background:linear-gradient(125deg,#008ecb 0%,#0764df 55%,#1647bb 100%);border:1px solid #299fef;color:#fff;box-shadow:inset 0 1px 0 #c4f3ff55,0 4px 15px #006bdb30;transition:box-shadow .2s ease,background .2s ease,transform .2s ease}
@media(hover:hover){.primary:hover:not(:disabled),.btn-primary:hover:not(:disabled),#trigger-launcher:hover,.chat-composer .selector-row #open-workflow:hover{background:linear-gradient(120deg,#00b9e8,#087df0 55%,#1255d3);box-shadow:inset 0 1px 0 #d6faff88,0 0 22px #008fff66;filter:none}}
.primary:focus-visible,.btn-primary:focus-visible{outline:2px solid #00b9ff;outline-offset:3px}
.primary:active:not(:disabled),.btn-primary:active:not(:disabled){transform:translateY(1px)}
.output-actions .secondary{background:linear-gradient(125deg,#14344f,#0d2541);border-color:#34658b;color:#d5edff}
@media(prefers-reduced-motion:reduce){.primary,.btn-primary,#trigger-launcher{transition:none}}

/* Transparent logo lockup: no world, frame, or background image. */
.world-stage{width:min(570px,100%);height:auto;aspect-ratio:650/400;max-height:none;isolation:isolate;overflow:visible;border:0;border-radius:0;background:none;box-shadow:none;animation:none}
.world-art{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;opacity:1;transition:opacity .4s ease;animation:world-arrive 1.1s ease-out;mask-image:none;-webkit-mask-image:none}
.world-stage .world-image{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;mask-image:none;-webkit-mask-image:none;opacity:1;transition:none;filter:drop-shadow(0 0 18px #007bff18)}
.world-stage:after{content:none}
.world-stage.show-triggers .world-art{opacity:0}
.world-stage.show-triggers .world-image{opacity:1}
@keyframes world-arrive{from{opacity:0}to{opacity:1}}
@media(max-width:740px){.world-stage{width:min(480px,100%);height:auto;aspect-ratio:650/400}}
@media(min-width:1500px){.world-stage{width:630px;height:auto;max-height:none}}
@media(prefers-reduced-motion:reduce){.world-art{animation:none;transition:none}}

/* Use the same transparent logo lockup in the sidebar. */
.sidebar .menu-logo{aspect-ratio:2/1;overflow:visible;border:0;border-radius:0;background:none;box-shadow:none}
.sidebar .menu-logo img{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(0 0 12px #007bff18)}

/* Orbital navigation: luminous icon tiles and clear selection states. */
.sidebar .brand{margin-bottom:14px}
.sidebar>.nav-label{margin-top:14px;margin-bottom:12px}
.sidebar .nav-label,.sidebar .conversation-heading{font-size:12px;text-transform:uppercase;letter-spacing:1.6px;font-weight:600;color:#84adc9}
.sidebar .nav-item{position:relative;isolation:isolate;min-height:58px;gap:12px;padding:11px 12px;margin:8px 0;border:1px solid #244666;border-radius:14px;background:linear-gradient(120deg,#112d49bf,#0a1b3099);color:#cde6fa;font-weight:500;line-height:1.35;box-shadow:inset 0 1px 0 #b5eaff0a;transition:background .2s,border-color .2s,box-shadow .2s,transform .2s}
.sidebar .nav-item .nav-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:34px;border:1px solid #2875a655;border-radius:10px;color:#68ccff;background:linear-gradient(135deg,#0c476b,#102847);box-shadow:inset 0 1px 0 #c5f2ff18}
.sidebar .nav-item.active{background:linear-gradient(115deg,#08699d,#0b4389 65%,#112e5b);border-color:#259fe0;color:#fff;box-shadow:inset 0 1px 0 #b5eeff33,0 5px 22px #008cff22}
.sidebar .nav-item.active:before,.sidebar .conversation-item.selected:after{content:'';position:absolute;left:-1px;top:17px;bottom:17px;width:3px;border-radius:3px;background:#65e1ff;box-shadow:0 0 10px #1fcaff}
.sidebar .nav-item.active .nav-icon{color:#e2faff;border-color:#5cd2ff77;background:linear-gradient(135deg,#0786ba,#1355a5);box-shadow:0 0 14px #008cff35}
.sidebar .conversation-sidebar{scrollbar-color:#2c5472 transparent;margin-top:24px}
.sidebar .conversation-heading{display:flex;align-items:center;gap:10px;margin-left:10px;margin-right:10px}
.sidebar .conversation-heading:after{content:'';height:1px;flex:1;background:linear-gradient(90deg,#2d6089,transparent)}
.sidebar .conversation-item{position:relative;display:grid;grid-template-columns:16px minmax(0,1fr);column-gap:9px;align-items:center;padding:12px 10px;margin-bottom:8px;border:1px solid #1c3e5b;border-radius:12px;background:linear-gradient(120deg,#0e2640b3,#09192c80);box-shadow:inset 0 1px 0 #96deff08;transition:border-color .2s,box-shadow .2s,background .2s}
.sidebar .conversation-item:before{content:'';grid-column:1;grid-row:1 / 3;width:14px;height:12px;border:1.5px solid #53b8ec;border-radius:4px 4px 4px 0;box-shadow:0 0 8px #008cff16}
.sidebar .conversation-item span,.sidebar .conversation-item small{grid-column:2}
.sidebar .conversation-item span{font-size:14px;color:#c7e0f3}.sidebar .conversation-item small{color:#87abc7}
.sidebar .conversation-item.selected{border-color:#238fc9;background:linear-gradient(115deg,#0a466d,#102d53);box-shadow:0 0 16px #008cff14}
.sidebar .profile{padding-top:18px;margin-top:20px}.sidebar .avatar{background:linear-gradient(135deg,#08699c,#15385c);box-shadow:inset 0 1px 0 #6cd8ff33}
@media(hover:hover){.sidebar .nav-item:hover,.sidebar .conversation-item:hover{filter:none;color:#fff;background:linear-gradient(115deg,#095b87,#104781 65%,#102d52);border-color:#3baee8;box-shadow:inset 0 1px 0 #a6eaff22,0 0 20px #008cff26}.sidebar .nav-item:hover .nav-icon{color:#fff;border-color:#63d6ff88;box-shadow:0 0 12px #00b8ff30}}
.sidebar .nav-item:focus-visible,.sidebar .conversation-item:focus-visible{outline:2px solid #5ed6ff;outline-offset:2px;box-shadow:0 0 18px #008cff30}
.sidebar .nav-item:active,.sidebar .conversation-item:active{transform:translateY(1px)}
@media(prefers-reduced-motion:reduce){.sidebar .nav-item,.sidebar .conversation-item{transition:none;transform:none}}

/* Give the right-hand document panel a little more breathing room. */
@media(min-width:1151px){
 .workspace-grid>.output-pane{margin-left:16px;min-width:0}
 .conversation-reopened .workspace-grid>.output-pane{margin-left:0}
}

/* Keep the document visible while the adjacent intake continues scrolling. */
@media(min-width:1151px){
 .workspace-grid>.output-pane{position:sticky;top:0;align-self:start;max-height:100vh;max-height:100dvh;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#2d6089 #081a2e}
 .workspace-grid>.output-pane>.pane-heading{position:sticky;top:0;z-index:2}
 .conversation-reopened .workspace-grid>.output-pane{position:static;max-height:none;overflow-y:visible}
 .conversation-reopened .workspace-grid>.output-pane>.pane-heading{position:static}
}

/* One shared hover treatment: the approved GRPN Remove-button gradient.
   These final overrides intentionally unify all button variants, including ID-styled controls. */
:root{--button-hover-fill:linear-gradient(115deg,#15547a,#0879ac 52%,#1b4b89);--button-hover-edge:#5ddcff;--button-hover-glow:inset 0 1px 0 #8cecff40,0 0 18px #00b7ff32}
button{transition:background .22s ease,box-shadow .22s ease,border-color .22s ease,color .22s ease,transform .22s ease}
@media(hover:hover){
 button:hover:not(:disabled){background:var(--button-hover-fill)!important;border-color:var(--button-hover-edge)!important;color:#f1fdff!important;box-shadow:var(--button-hover-glow)!important;filter:none!important;text-shadow:none!important}
 .sidebar .conversation-item:hover:not(:disabled) span,.sidebar .conversation-item:hover:not(:disabled) small{color:#f1fdff}
 .sidebar .nav-item:hover:not(:disabled) .nav-icon,.trigger-choice:hover:not(:disabled) .trigger-choice-code{background:var(--button-hover-fill);border-color:#5ddcff88;color:#f1fdff;box-shadow:inset 0 1px 0 #8cecff30}
}
@media(prefers-reduced-motion:reduce){button{transition:none}}

/* Every embedded form uses the same blue-green button finish. */
.itrality-form button,.itrality-form button.btn{background:linear-gradient(115deg,#163c59,#155672 52%,#173e68);border:1px solid #5ddcff88;color:#f1fdff;border-radius:10px;box-shadow:inset 0 1px 0 #8cecff40,0 3px 12px #008fae26;font-weight:600}
.itrality-form button:focus-visible{outline:2px solid #078bad;outline-offset:3px}
.itrality-form button:disabled{opacity:.45;cursor:not-allowed}
/* Refine is a full-width section of the document panel, never an offset card. */
.output-pane>.revision-panel{box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;margin:0;padding:20px 22px 22px;border:0;border-top:1px solid #284c6a;border-bottom:1px solid #284c6a;border-radius:0;background:linear-gradient(120deg,#0d263e,#081a2e)}
.output-pane>.revision-panel>label{color:#d5edff;margin-bottom:12px;font-size:15px;font-weight:600}
.output-pane #revision-command{box-sizing:border-box;display:block;width:100%;max-width:100%;min-width:0;min-height:96px;margin:0;background:#061629;color:#e1f1ff;border:1px solid #356182;border-radius:10px;padding:12px 14px;line-height:1.6}
.output-pane #revision-command::placeholder{color:#9eb8cf}
.output-pane .revision-actions{width:100%;min-width:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px}
.output-pane .revision-actions span{flex:1 1 160px;color:#a3bfd5;line-height:1.5}
.output-pane .revision-actions .primary{flex:0 1 auto;max-width:100%;margin-left:auto;white-space:normal}
.output-pane>.revision-panel:not([hidden])~.output-actions{padding-top:18px}
@media(max-width:500px){.output-pane>.revision-panel{padding:18px 16px}}

/* Keep Copy document legible and consistent with the form buttons. */
#copy-output{background:var(--button-hover-fill);border:1px solid #5ddcff88;color:#f1fdff;border-radius:10px;box-shadow:inset 0 1px 0 #8cecff40,0 3px 12px #008fae26;font-weight:600}
#copy-output:disabled{opacity:1;background:linear-gradient(115deg,#163d54,#164763);border-color:#386681;color:#b5d4e8;box-shadow:none;cursor:not-allowed}

/* Dropdown headers are interactive controls too: match the button hover finish. */
.itrality-form select,.itrality-form summary{transition:background .22s ease,border-color .22s ease,box-shadow .22s ease,color .22s ease}
@media(hover:hover){
 .itrality-form select:hover:not(:disabled),.itrality-form summary:hover{background:var(--button-hover-fill)!important;border-color:var(--button-hover-edge)!important;color:#f1fdff!important;box-shadow:var(--button-hover-glow)!important}
 .itrality-form button:hover:not(:disabled){box-shadow:inset 0 1px 0 #b0fff080,0 0 18px #00b7ff55,0 0 28px #00c8c222!important}
}
.itrality-form select:focus-visible,.itrality-form summary:focus-visible{outline:2px solid #078bad;outline-offset:3px}
.itrality-form select option{background:#fff;color:#193b55}
/* The documentation placeholder uses the clean transparent lockup as well. */
.output-pane .generation-logo{aspect-ratio:2/1;overflow:visible;border:0;border-radius:0;background:none;box-shadow:none}
.output-pane .generation-logo img{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(0 0 12px #007bff18)}
.output-pane .is-generating .generation-logo{animation:clean-logo-pulse 2.4s ease-in-out infinite}
@keyframes clean-logo-pulse{50%{filter:drop-shadow(0 0 14px #008cff55)}}
@media(prefers-reduced-motion:reduce){.itrality-form select,.itrality-form summary{transition:none}.output-pane .is-generating .generation-logo{animation:none}}

/* Fill the visible document column, with a small bottom gutter. */
@media(min-width:1151px){
 .workspace-grid>.output-pane,
 .conversation-reopened .workspace-grid>.output-pane{
  position:sticky;top:12px;display:flex;flex-direction:column;
  height:var(--document-panel-height,calc(100dvh - 24px));
  max-height:none;min-height:320px;overflow-y:auto;
 }
 .output-pane>.pane-heading,.output-pane>.revision-panel,
 .output-pane>.output-actions,.output-pane>.review-note,
 .output-pane>#generation-message{flex-shrink:0}
 .output-pane>#document-output{flex:1 1 0;min-height:180px;resize:none;overflow-y:auto}
 .output-pane>#empty-output{flex:1 1 0;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 18px}
 .output-pane>#generation-message:empty{display:none}
 .workspace-grid>.output-pane.document-pinned,
 .conversation-reopened .workspace-grid>.output-pane.document-pinned{
  position:fixed;top:12px;left:var(--document-panel-left);width:var(--document-panel-width);z-index:3;
 }
 .workspace-grid>.output-pane>.pane-heading{position:sticky;top:0;z-index:2;flex-shrink:0}
}

/* Keep refinement off the document canvas until requested. */
.refine-toolbar{padding:16px 22px;border-top:1px solid #284c6a;background:#081a2e;position:sticky;bottom:0;z-index:2}
#revision-dialog{width:min(580px,94vw)}
#revision-dialog .revision-controls>label{display:block;margin:12px 0;color:#d5edff}
#revision-dialog #revision-command{width:100%;min-height:110px;padding:14px;background:#061629;color:#e1f1ff;border:1px solid #356182;border-radius:10px;resize:vertical}
#revision-dialog .revision-actions{margin-top:16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
#revision-dialog .revision-actions span{flex:1;color:#a3bfd5;font-size:12px}
.output-pane>.output-actions{padding:10px 18px;margin:0}
.output-pane>.review-note{font-size:10px;margin:0 18px 8px}
.output-pane>#generation-message{padding:4px 18px;font-size:11px}
.output-actions>.refine-toolbar{padding:0;border:0;position:static;background:none;margin-right:auto;order:-1}

/* Compact inline refinement composer; reserve its space and keep actions visible. */
.output-pane>.compact-revision{padding:10px 14px;border-bottom:0;flex:0 0 auto;background:#081a2e}
.output-pane .revision-composer{display:flex;align-items:flex-end;gap:10px;padding:8px;border:1px solid #356182;border-radius:18px;background:#061629}
.output-pane #revision-command{flex:1;min-width:0;min-height:48px;height:48px;max-height:96px;margin:0;padding:8px 10px;border:0;background:transparent;resize:none;font-size:15px;line-height:1.5}
.output-pane #revise-document{flex:0 0 36px;width:36px;height:36px;padding:0;border-radius:50%;font-size:22px}
.output-pane>.output-actions{flex:0 0 auto;padding:8px 14px}
.output-pane>.review-note{flex:0 0 auto;margin:0 14px 8px}
@media(min-width:1151px){
 .workspace-grid>.output-pane,.conversation-reopened .workspace-grid>.output-pane{overflow:hidden;min-height:0}
 .output-pane>#document-output{min-height:0;overflow-y:auto}
 .output-pane>#empty-output{min-height:0;overflow:hidden;padding:12px}
}

/* Match the home composer: centered prompt between two circular actions. */
.output-pane .revision-composer{align-items:center;gap:12px;padding:10px}
.output-pane #revision-command{height:40px;min-height:40px;padding:9px 4px;line-height:22px;text-align:center}
.output-pane #revision-command::placeholder{text-align:center;opacity:1}
.output-pane #copy-output,.output-pane #revise-document{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;padding:0;border-radius:50%}
.output-pane>.output-actions:not(:has(button:not([hidden]))){display:none}

/* Dock the compact composer below the independently scrolling document. */
.output-pane>.compact-revision{margin:0;padding:8px 10px 4px}
.output-pane>.review-note{margin:0 10px 4px;font-size:10px}
@media(min-width:1151px){
 .workspace-grid>.output-pane,.conversation-reopened .workspace-grid>.output-pane{border-bottom-left-radius:10px;border-bottom-right-radius:10px}
 .output-pane>#document-output{flex:1 1 0;height:0;min-height:0}
 .output-pane>.compact-revision{flex:0 0 auto}
}
/* Roster additions should not move the page's scroll anchor. */
#frames:has(iframe[title="Group Progress Notes intake form"]){overflow-anchor:none}

/* Documentation trigger reference */
#trigger-guide-dialog{width:min(900px,94vw);padding:26px;background:#0c1b2c;color:#e2edfc;max-height:90dvh}
#trigger-guide-dialog .dialog-heading{position:sticky;top:-26px;background:#0c1b2c;z-index:1;padding:12px 0}
#trigger-guide-dialog .trigger-guide-intro{margin:0 0 20px;color:#b6ccdf}
#trigger-guide-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.trigger-guide-card{display:flex;align-items:flex-start;gap:14px;text-align:left;padding:18px;border:1px solid #2d4c67;border-radius:14px;background:#10263c;color:#e5f2ff;min-width:0}
.trigger-guide-card:hover{background:#16334e;border-color:#59c9ee}
.trigger-guide-code{flex:0 0 58px;padding:8px 4px;text-align:center;border-radius:8px;background:#084167;color:#88e4ff;font-weight:750;font-size:15px}
.trigger-guide-content{display:grid;gap:8px;line-height:1.55}
.trigger-guide-content strong{font-size:15px;color:#f1f8ff}
.trigger-guide-content>span{font-size:13px;color:#c4d8e9}
.trigger-guide-content small{font-size:12px;color:#9ebbd2}
#trigger-guide-dialog .trigger-guide-note{margin:18px 0 0;font-size:12px}
@media(max-width:650px){#trigger-guide-list{grid-template-columns:1fr}#trigger-guide-dialog{padding:18px}#trigger-guide-dialog .dialog-heading{top:-18px}.trigger-guide-card{padding:14px}}

/* End form scrolling at the bottom edge without a footer gutter. */
body.itrality-workspace main{padding-bottom:4px}

