/**
 * Forge page — full-bleed cockpit under the 50px app header.
 * Host classes renamed from .myDay-* (.forge-page / .forge-chat / .forge-board).
 * Phase 5 adds .forge-strip / .forge-card / .forge-tape.
 * Board surface styles live in leoVoice.css (.qq-myday*).
 * Do not require commandCenter.js / commandCenter.css.
 */

/* ============================================================
   Full-viewport host (excludes top header bar + optional favorites)
   ============================================================ */
.forge-page {
	/* passthrough pane: fills everything under the 50px app header, tracking
	   live nav width (--navLeftCurrentWidth — rsf main.css). No frame, no radius. */
	position: fixed;
	top: 50px;
	right: 0;
	bottom: 0;
	left: var(--navLeftCurrentWidth, 50px);
	z-index: 1;

	display: grid;
	grid-template-columns: minmax(320px, 1fr) minmax(360px, 1.05fr);
	gap: 0;
	align-items: stretch;
	overflow: clip;

	background: #151515;
	color: #f0f0f0;
	box-sizing: border-box;
}

.forge-page,
.forge-page * {
	box-sizing: border-box;
}

/* Pane owns scrolling — kill document scrollbar behind it */
html:has(.forge-page),
body:has(.forge-page) {
	overflow: hidden;
}

/* Favorites bar: stop above the strip */
body:has(.favoritesBar) .forge-page {
	bottom: var(--favBarHeight, 36px);
}

@media (max-width: 768px) {
	/* favorites bar hides at this width — reclaim the strip */
	body:has(.favoritesBar) .forge-page {
		bottom: 0;
	}
}

/* Phase 1 shell when ENABLE_FORGE=0 or renderForgePageWorkArea is not defined */
.forge-placeholder {
	padding: 24px 20px;
	color: #c8c8c8;
	font-size: 14px;
}

/* ============================================================
   Columns
   ============================================================ */
.forge-chat,
.forge-board {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 0;
	height: 100%;
	overflow: hidden;
}

.forge-chat {
	border-right: 1px solid rgba(255, 255, 255, 0.08);
	background: #1a1a1a;
	padding: 0;
}

.forge-chat .chatBox .header .icons {
	gap: 8px;
	padding: 0;
	flex: 0 0 auto;
}
.forge-new-thread,
.forge-auto-refresh {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	border-radius: 8px;
	padding: 5px 11px;
	border: 1px solid rgba(255, 255, 255, .16);
	background: transparent;
	color: #c6ccd6;
	cursor: pointer;
	white-space: nowrap;
}
.forge-new-thread:hover,
.forge-auto-refresh:hover {
	color: #f0f0f0;
	border-color: rgba(255, 255, 255, .28);
	background: rgba(255, 255, 255, .04);
}
.forge-auto-refresh.on {
	color: #5ec4c4;
	border-color: rgba(94, 196, 196, .48);
	background: rgba(94, 196, 196, .08);
}

.forge-board {
	display: flex;
	flex-direction: column;
	background: #181818;
	/* Schedule scrolls inside the pane; foot stays pinned at the bottom */
	overflow: hidden;
	padding: 0;
}

/* ============================================================
   ChatV1 fills the left column (full height)
   ============================================================ */
.forge-chat .commentThread,
.forge-chat .chatBox.commentThread,
.forge-chat .chatBox.ccChatThread,
.forge-chat .chatBox.forgeChatThread {
	flex: 1 1 auto;
	min-height: 0;
	height: auto;
	max-height: none;
	display: flex;
	flex-direction: column;
	border: none;
	border-radius: 0;
	overflow: hidden;
	background: transparent;
	box-shadow: none;
}

.forge-chat .chatBox .header {
	padding: 10px 14px;
	height: auto;
	min-height: 44px;
	flex: none;
	gap: 10px;
	background: transparent;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.forge-chat .chatBox .header .title {
	width: auto;
	flex: 0 0 auto;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	padding: 0;
}

.forge-chat .chatBox .messageBody {
	flex: 1 1 auto;
	min-height: 0;
	background: transparent;
	overflow-y: auto;
}

.forge-chat .chatBox .footer,
.forge-chat .chatBox > .footer {
	background: transparent;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding: 8px 14px 12px;
	flex: none;
}

/* ============================================================
   Board (right column) — flex stack: head/timeline fixed, schedule scrolls, foot pinned
   ============================================================ */
.forge-board .leo-actions-tab,
.forge-board .leo-queues-v2 {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	height: 100%;
	overflow: hidden;
}

.forge-board .qq-surface.qq-myday {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	height: 100%;
	padding: 12px 14px 0;
	box-sizing: border-box;
	overflow: hidden;
}

/* Scroll only the schedule (or empty state), not the footer */
.forge-board .qq-md-head,
.forge-board .qq-md-toolbar,
.forge-board .qq-md-timeline {
	flex-shrink: 0;
}

.forge-board .qq-md-schedule {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overflow-x: hidden;
	padding-bottom: 10px;
	-webkit-overflow-scrolling: touch;
}

.forge-board .qq-empty {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
}

/* Sticky footer: solid board color so rows scroll behind it */
.forge-board .qq-md-foot {
	position: sticky;
	bottom: 0;
	z-index: 4;
	flex-shrink: 0;
	margin-top: auto;
	margin-left: -14px;
	margin-right: -14px;
	padding: 12px 14px 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	background: #181818;
	box-shadow: 0 -10px 18px rgba(0, 0, 0, 0.45);
}

/* ============================================================
   Mobile: stack chat above board (each takes usable height)
   ============================================================ */
@media (max-width: 900px) {
	.forge-page {
		grid-template-columns: 1fr;
		grid-template-rows: minmax(40vh, 1fr) minmax(45vh, 1.2fr);
		overflow-y: auto;
		overflow-x: hidden;
	}

	.forge-chat {
		border-right: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		min-height: 40vh;
	}

	.forge-board {
		min-height: 45vh;
		overflow: auto;
	}
}
.chatBox .messageBody > div:not(.printSpacer){
	background: transparent;
}

/* ============================================================
   Phase 5 — Desk board (layout only; colors/chips from .qq-*)
   RSF body font-size is 0 — set explicit sizes on these roots.
   ============================================================ */
.forge-strip,
.forge-section,
.forge-card,
.forge-tape {
	font-size: 13px;
	line-height: 1.4;
}

.forge-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 22px;
	padding: 4px 10px 8px;
	color: #a3a3a3;
}

.forge-strip .forge-tile b {
	font-size: 19px;
	font-weight: 700;
	line-height: 1;
	margin-right: 6px;
	color: #f0f0f0;
}

.forge-strip .forge-tile.you b { color: #e8b04a; }
.forge-strip .forge-tile.leo b { color: #7fb3e0; }
.forge-strip .forge-tile.cust b { color: #d8a56b; }
.forge-strip .forge-tile.ok b { color: #5ec4c4; }

.forge-strip-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding: 0 10px 12px;
	font-size: 11px;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	color: #7d7d7d;
}

.forge-set-size { cursor: pointer; color: #7fb3e0; }
.forge-policy-pill { cursor: pointer; }

.forge-row-suggest .qq-md-row-title { color: #c6ccd6; }
.forge-section {
	margin: 14px 0 4px;
	display: flex;
	align-items: center;
	gap: 10px;
	font: 600 10px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #7d7d7d;
}

.forge-section em {
	font-style: normal;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 400;
}

.forge-section i {
	flex: 1;
	height: 1px;
	background: rgba(255, 255, 255, .08);
}

.forge-work-group { margin-top: 8px; }
.forge-work-group + .forge-work-group { margin-top: 14px; }
.forge-work-subhead {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 0 10px 3px;
	font: 600 10px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #7d7d7d;
}
.forge-work-subhead b {
	font: inherit;
	color: #a3a3a3;
}
.forge-work-subhead i {
	flex: 1;
	height: 1px;
	background: rgba(255, 255, 255, .06);
}
.forge-work-you .forge-work-subhead span { color: #e8b04a; }
.forge-work-running .forge-work-subhead span { color: #7fb3e0; }

.forge-card {
	margin-top: 8px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 10px;
	border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, .08);
	background: rgba(255, 255, 255, .02);
}
.forge-qcard { margin-top: 8px; }
.forge-qcard .leo-questions-panel { margin: 0; }
.forge-gate { flex-direction: row; flex-wrap: wrap; align-items: center; }

.forge-dd { position: relative; display: inline-block; }
.forge-dd > summary {
	list-style: none;
	cursor: pointer;
}
.forge-dd > summary::-webkit-details-marker { display: none; }
.forge-dd > summary.qq-md-btn-more i { pointer-events: none; }
.forge-dd-menu {
	position: absolute;
	right: 0;
	top: calc(100% + 4px);
	bottom: auto;
	z-index: 12;
	min-width: 168px;
	padding: 4px;
	border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, .14);
	background: #1c1c1c;
	box-shadow: 0 10px 24px rgba(0, 0, 0, .5);
}
.forge-dd.forge-dd-above .forge-dd-menu {
	top: auto;
	bottom: calc(100% + 4px);
}
.forge-dd-item {
	display: block;
	width: 100%;
	text-align: left;
	font: 12.5px/1.3 inherit;
	font-weight: 600;
	color: #e8e8e8;
	background: transparent;
	border: 0;
	border-radius: 6px;
	padding: 8px 10px;
	cursor: pointer;
}
.forge-dd-item:hover {
	background: rgba(232, 176, 74, .12);
	color: #f0f0f0;
}

.forge-tape {
	font: 12px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	color: #a3a3a3;
}

.forge-tape-row {
	display: grid;
	grid-template-columns: 44px 84px minmax(0, 1fr) 62px 40px;
	gap: 10px;
	padding: 7px 10px;
	border-top: 1px solid rgba(255, 255, 255, .08);
	cursor: pointer;
}

.forge-tape-row:hover { background: rgba(255, 255, 255, .03); }
.forge-tape .t { color: #7d7d7d; }
.forge-tape .v { color: #7fb3e0; }
.forge-tape .v.turn { color: #e8b04a; }
.forge-tape .o { text-align: right; }
.forge-tape .o.ok { color: #5cb88a; }
.forge-tape .o.run { color: #e8b04a; }
.forge-tape .c { text-align: right; color: #7d7d7d; }

.forge-desk {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	overflow: hidden;
}
.forge-strip,
.forge-strip-meta {
	flex-shrink: 0;
}
.forge-desk-scroll {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 10px;
}
.forge-moved {
	padding: 6px 10px 4px 58px;
	font: 12px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	color: #7d7d7d;
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.forge-moved b { color: #a3a3a3; font-weight: 500; }
.forge-moved u { color: #7fb3e0; text-decoration: none; margin-left: 8px; cursor: pointer; }

.forge-row { cursor: default; }
.leo-queues-v2 .forge-row-work,
.forge-desk .forge-row-work {
	grid-template-columns: minmax(0, 1fr) auto;
}
.forge-row-work.forge-row-wait-you { border-left: 2px solid rgba(232, 176, 74, .75); }
.forge-row-work.forge-row-wait-leo,
.forge-row-work.forge-row-wait-panda { border-left: 2px solid rgba(127, 179, 224, .65); }
.forge-row-work.forge-row-wait-idle { border-left: 2px solid rgba(255, 255, 255, .08); }
/* Tall question / gate cards must not drop row actions to the bottom. */
.forge-board .qq-md-row,
.forge-desk .qq-md-row {
	align-items: start;
}
.forge-board .qq-md-row-actions,
.forge-desk .qq-md-row-actions {
	align-self: start;
	padding-top: 2px;
}
.forge-row:hover,
.forge-board .qq-md-row:hover {
	background: rgba(255, 255, 255, .03);
	border-color: rgba(255, 255, 255, .08);
}
.forge-go {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	line-height: 1;
	color: #7d7d7d;
	margin-right: 6px;
	vertical-align: middle;
	cursor: pointer;
	opacity: 0;
	transition: opacity .12s, color .12s;
	background: none;
	border: none;
	padding: 0;
	text-decoration: none;
	pointer-events: auto;
}
.forge-go:hover { color: #f0f0f0; }
.forge-row:hover .forge-go,
.forge-board .qq-md-row:hover .forge-go,
.forge-tape-row:hover .forge-go { opacity: 1; }

.forge-dot {
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	margin-right: 6px;
	vertical-align: middle;
	background: #6a7080;
}
.forge-dot.t1 { background: #d8a56b; }
.forge-dot.t2 { background: #e8b04a; }
.forge-dot.t3 { background: #7fb3e0; }
.forge-id { font: 600 11px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: #7d7d7d; margin-right: 4px; }

.qq-md-row-meta .focus { color: #c4a04a; }
.qq-md-row-meta .focus::before { content: "today: "; }
.qq-md-row-meta .w { margin-left: 4px; }
.qq-md-row-meta .w::before { content: "· "; color: #7d7d7d; }
.qq-md-row-meta .w.you { color: #e8b04a; }
.qq-md-row-meta .w.leo { color: #7fb3e0; }
.qq-md-row-meta .w.panda { color: #a3a3a3; }
.qq-md-row-meta .new { color: #5cb88a; }

.forge-board .tab-container.forge-tabs,
.forge-board .forge-tabs.sectionBox {
	background: transparent;
	border: none;
	padding: 0;
	margin: 0;
	box-shadow: none;
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
	font-size: 13px;
}
.forge-board .forge-tabs .tab-buttons {
	border-bottom: 1px solid rgba(255, 255, 255, .08);
	gap: 22px;
	padding: 0 16px;
	margin-bottom: 10px;
	flex-shrink: 0;
	background: transparent;
	min-height: 48px;
	align-items: stretch;
}
.forge-board .forge-tabs .tab-buttons .tab-buttons-scroll {
	align-items: stretch;
	gap: 22px;
}
.forge-board .forge-tabs .tab-button {
	font-size: 15px;
	font-weight: 600;
	background: none;
	border: none;
	border-bottom: 3px solid transparent;
	color: #7d7d7d;
	padding: 12px 4px 10px;
	border-radius: 0;
	margin: 0 0 -1px;
	display: inline-flex;
	align-items: center;
}
.forge-board .forge-tabs .tab-button.active {
	color: #f0f0f0;
	border-bottom-color: #e8b04a;
	background: none;
}
.forge-board .forge-tabs .tab-header-trailing {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	padding: 0 0 0 12px;
}
.forge-board .forge-tabs .tab-content,
.forge-board .forge-tabs .tab-pane {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: transparent;
	padding: 0 12px;
}
.forge-board .forge-tabs .tab-pane:not(.active) { display: none; }
.forge-tab-meta {
	font: 12px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	color: #7d7d7d;
	align-self: center;
	padding: 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

#getModalForgePolicy.popUpBox.forge-policy-modal {
	width: 680px;
	max-width: calc(100vw - 32px);
	min-height: 0;
}
.forge-policy-body {
	padding: 2px 2px 0;
	text-align: left;
}
.forge-policy-kicker {
	font: 600 10px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #7d7d7d;
	margin: 14px 0 8px;
}
.forge-policy-kicker:first-child { margin-top: 0; }
#getModalForgePolicy .forge-policy-table,
#getModalForgePolicy .forge-policy-caps,
#getModalForgePolicy .sectionBox { width: 100%; }
#getModalForgePolicy .formRow {
	min-height: 0;
	padding-top: 4px;
	padding-bottom: 4px;
}
.forge-policy-table .formRow:has(input[name=policyLevel]:checked) {
	background: rgba(232, 176, 74, .08);
}
.forge-policy-pick {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	font-weight: 700;
	color: #f0f0f0;
}
.forge-policy-pick input {
	margin: 0;
	accent-color: #e8b04a;
}
.forge-policy-verbs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0;
}
.forge-policy-verbs i {
	font: 10.5px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-style: normal;
	padding: 3px 6px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 4px;
	color: #d0d0d0;
	background: rgba(0, 0, 0, .25);
}
.forge-policy-input {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 6px;
	padding: 6px 8px;
	background: #161616;
	color: #f0f0f0;
	font: 13.5px/1.3 inherit;
}
.forge-policy-input:focus {
	outline: none;
	border-color: rgba(232, 176, 74, .65);
}
.forge-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 16px; }
#getModalForgePolicy .qq-md-btn,
#getModalForgeRow .qq-md-btn {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: inherit;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.2;
	border-radius: 8px;
	padding: 7px 14px;
	border: 1px solid rgba(255, 255, 255, .16);
	background: transparent;
	color: #c6ccd6;
	cursor: pointer;
	white-space: nowrap;
}
#getModalForgePolicy .qq-md-btn:hover,
#getModalForgeRow .qq-md-btn:hover {
	color: #f0f0f0;
	border-color: rgba(255, 255, 255, .28);
	background: rgba(255, 255, 255, .04);
}
#getModalForgePolicy .qq-md-btn-fill,
#getModalForgeRow .qq-md-btn-fill {
	background: #e8b04a;
	border-color: #e8b04a;
	color: #1a1408;
	font-weight: 700;
	min-width: 64px;
}
#getModalForgePolicy .qq-md-btn-fill:hover,
#getModalForgeRow .qq-md-btn-fill:hover {
	filter: brightness(1.06);
	color: #1a1408;
	background: #e8b04a;
	border-color: #e8b04a;
}
.forge-row-modal-inner h3 { margin: 0 0 2px; font: 700 16px/1.3 inherit; }
.forge-row-modal-inner .ms {
	font: 11px/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	color: #7d7d7d;
	margin-bottom: 16px;
}
.forge-row-modal-inner .fl {
	display: grid;
	grid-template-columns: 130px 1fr;
	gap: 12px 14px;
	align-items: center;
	font-size: 13.5px;
}
.forge-row-modal-inner .fl label,
.forge-row-modal-inner .fl .fl-label { color: #a3a3a3; }
.forge-row-modal-inner .fl label small,
.forge-row-modal-inner .fl .fl-label small {
	display: block;
	font: 10.5px/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	color: #7d7d7d;
}
.forge-row-modal-inner .in {
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 8px;
	padding: 9px 12px;
	background: #161616;
	color: #f0f0f0;
	font-size: 13.5px;
	width: 100%;
}
.forge-row-modal-inner .chips { display: flex; gap: 6px; flex-wrap: wrap; }
.forge-row-modal-inner .chips span,
.forge-row-modal-inner .chips a,
.forge-row-modal-inner .chips button {
	appearance: none;
	font: 12px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	padding: 5px 10px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 8px;
	background: transparent;
	color: #c6ccd6;
	cursor: pointer;
	text-decoration: none;
}
.forge-row-modal-inner .chips span.g,
.forge-row-modal-inner .chips button.g {
	border-color: rgba(232, 176, 74, .55);
	color: #e8b04a;
}
.forge-row-modal-inner .chips button:hover {
	border-color: rgba(255, 255, 255, .3);
	color: #f0f0f0;
}
.forge-row-modal-inner .forge-workflow {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: 130px 1fr;
	gap: 10px 14px;
	align-items: center;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.forge-stage-current {
	display: flex;
	align-items: baseline;
	gap: 8px;
}
.forge-stage-current b { color: #f0f0f0; }
.forge-stage-current span {
	font: 11px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	color: #7d7d7d;
}
.forge-move-stage-label { align-self: start; padding-top: 5px; }
.forge-row-modal-inner .mf { display: flex; justify-content: flex-end; gap: 8px; margin-top: 18px; }
.forge-remove { margin-right: auto; color: #d08484; border-color: rgba(208, 132, 132, .4); }

#getModalForgePolicy.popUpBox,
#getModalForgeRow.popUpBox { font-size: 13.5px; }

.forge-desk-foot { justify-content: flex-end; }
