.ww-workspace-app {
	max-width: var(--ww-shell-width);
	margin: 0 auto;
	--workspace-panel-radius: 8px;
	--workspace-panel-shadow: 0 12px 32px rgba(23, 40, 50, .06);
	padding: 0 var(--ww-gutter) 96px;
}

.ww-workspace-status {
	min-height: 1.5rem;
	margin: 0 0 14px;
	color: var(--ww-positive);
	font-size: 0.82rem;
	font-weight: 700;
}

.ww-workspace-status.is-error {
	color: var(--ww-negative);
}

.ww-workspace-layout {
	display: grid;
	grid-template-columns: 292px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

.ww-workspace-sidebar,
.ww-workspace-panel {
	border: 1px solid var(--ww-line);
	background: var(--ww-surface);
}

.ww-workspace-sidebar {
	min-width: 0;
	position: sticky;
	top: 16px;
	border-radius: var(--workspace-panel-radius);
	box-shadow: var(--workspace-panel-shadow);
	padding: 20px;
}

.ww-workspace-sidebar__header,
.ww-workspace-panel__heading,
.ww-workspace-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.ww-workspace-sidebar__header {
	align-items: center;
}

.ww-workspace-sidebar__header h2,
.ww-workspace-heading h2,
.ww-workspace-panel__heading h3 {
	margin: 4px 0 0;
	color: var(--ww-ink);
}

.ww-workspace-sidebar__header h2 {
	font-size: 1.15rem;
}

.ww-workspace-sidebar__summary {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: 18px;
}

.ww-sidebar-stat,
.ww-sidebar-role {
	min-width: 0;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-paper);
	padding: 10px;
}

.ww-sidebar-role {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.ww-sidebar-stat span,
.ww-sidebar-role span {
	display: block;
	color: var(--ww-faint);
	font-size: 0.66rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-sidebar-stat strong,
.ww-sidebar-role strong {
	display: block;
	overflow: hidden;
	margin-top: 4px;
	color: var(--ww-ink);
	font-size: 1.05rem;
	font-variant-numeric: tabular-nums;
	line-height: 1.1;
	text-overflow: ellipsis;
	text-transform: capitalize;
	white-space: nowrap;
}

.ww-icon-button {
	width: 44px;
	height: 44px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-surface);
	color: var(--ww-navy);
	cursor: pointer;
	font-size: 1.35rem;
	line-height: 1;
}

.ww-workspace-projects {
	display: grid;
	gap: 12px;
	margin-top: 20px;
}

.ww-workspace-rail-controls {
	display: grid;
	gap: 10px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-md);
	background: var(--ww-paper);
	padding: 10px;
}

.ww-workspace-rail-controls label {
	display: grid;
	gap: 5px;
	min-width: 0;
	color: var(--ww-faint);
	font-size: 0.66rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-workspace-rail-controls > div {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.ww-workspace-rail-controls input,
.ww-workspace-rail-controls select {
	width: 100%;
	min-height: 38px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-surface);
	color: var(--ww-ink);
	padding: 7px 9px;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: none;
}

.ww-workspace-project-list {
	display: grid;
	gap: 6px;
}

.ww-workspace-project {
	display: grid;
	gap: 3px;
	width: 100%;
	min-height: 64px;
	border: 1px solid transparent;
	border-radius: 6px;
	padding: 12px 13px;
	background: transparent;
	color: var(--ww-muted);
	cursor: pointer;
	text-align: left;
}

.ww-workspace-project__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-width: 0;
}

.ww-workspace-project__top em {
	flex: 0 0 auto;
	border: 1px solid var(--ww-line);
	border-radius: 999px;
	padding: 2px 6px;
	color: var(--ww-faint);
	font-size: 0.62rem;
	font-style: normal;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.ww-workspace-project:hover,
.ww-workspace-project.is-active {
	border-color: var(--ww-line);
	background: var(--ww-tint);
	color: var(--ww-ink);
}

.ww-workspace-project strong {
	overflow: hidden;
	color: inherit;
	font-size: .9rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ww-workspace-project span,
.ww-workspace-project small {
	color: var(--ww-faint);
	font-size: .78rem;
}

.ww-workspace-main {
	min-width: 0;
}

.ww-workspace-command-bar {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, 1.35fr) auto;
	gap: 18px;
	align-items: center;
	margin-bottom: 22px;
	border: 1px solid var(--ww-line);
	border-top: 4px solid var(--ww-accent);
	border-radius: var(--workspace-panel-radius);
	background: var(--ww-surface);
	box-shadow: var(--workspace-panel-shadow);
	padding: 18px;
}

.ww-workspace-command-actions {
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
}

.ww-workspace-command-bar > div {
	min-width: 0;
}

.ww-workspace-command-bar h2 {
	margin: 5px 0 0;
	color: var(--ww-ink);
	font-size: 1.25rem;
	line-height: 1.12;
}

.ww-workspace-command-bar dl {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	overflow: hidden;
	margin: 0;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-paper);
}

.ww-workspace-command-bar dl > div {
	min-width: 0;
	border-left: 1px solid var(--ww-line);
	padding: 10px;
}

.ww-workspace-command-bar dl > div:first-child {
	border-left: 0;
}

.ww-workspace-command-bar dt {
	color: var(--ww-faint);
	font-size: 0.64rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-workspace-command-bar dd {
	overflow: hidden;
	margin: 4px 0 0;
	color: var(--ww-ink);
	font-size: 0.88rem;
	font-weight: 800;
	line-height: 1.2;
	text-overflow: ellipsis;
	text-transform: capitalize;
	white-space: nowrap;
}

.ww-workspace-heading {
	align-items: flex-end;
	margin-bottom: 24px;
}

.ww-workspace-heading__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
}

.ww-workspace-heading h2 {
	font-size: 1.9rem;
}

.ww-workspace-heading p {
	max-width: 680px;
	margin: 8px 0 0;
	color: var(--ww-muted);
	font-size: .95rem;
	line-height: 1.6;
}

.ww-status-badge {
	border: 1px solid var(--ww-line);
	border-radius: 999px;
	padding: 6px 10px;
	color: var(--ww-positive);
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.ww-workspace-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 18px;
}

.ww-workspace-management {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-bottom: 0;
	padding-bottom: 20px;
}

.ww-workspace-management-shell {
	margin-top: 32px;
	border-top: 1px solid var(--ww-line);
}

.ww-workspace-management-summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 72px;
	padding: 12px 4px;
	color: var(--ww-ink);
	cursor: pointer;
	list-style: none;
}

.ww-workspace-management-summary::-webkit-details-marker {
	display: none;
}

.ww-workspace-management-summary > span:first-child {
	display: grid;
	gap: 3px;
}

.ww-workspace-management-summary strong {
	font-size: .95rem;
}

.ww-workspace-management-summary small {
	color: var(--ww-muted);
	font-size: .8125rem;
	font-weight: 400;
}

.ww-workspace-management-toggle {
	color: var(--ww-accent);
	font-size: .8125rem;
	font-weight: 800;
}

.ww-workspace-management-toggle::after {
	content: " +";
}

.ww-workspace-management-shell[open] .ww-workspace-management-toggle::after {
	content: " -";
}

.ww-workspace-management .ww-workspace-panel {
	box-shadow: none;
}

.ww-workspace-management .ww-notifications-panel,
.ww-workspace-management .ww-audit-panel {
	grid-column: 1 / -1;
}

.ww-workspace-management .ww-billing-panel {
	background: var(--ww-tint);
}

.ww-workspace-empty-state {
	margin-bottom: 24px;
}

.ww-sidebar-empty {
	display: grid;
	gap: 8px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-paper);
	padding: 14px;
}

.ww-sidebar-empty strong {
	color: var(--ww-ink);
	font-size: 0.9rem;
	line-height: 1.25;
}

.ww-sidebar-empty span {
	color: var(--ww-muted);
	font-size: 0.78rem;
	line-height: 1.45;
}

.ww-sidebar-empty .ww-button {
	width: 100%;
	min-height: 38px;
}

.ww-workspace-onboarding {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(280px, 1.08fr);
	gap: 24px;
	align-items: stretch;
	border: 1px solid var(--ww-line);
	border-top: 4px solid var(--ww-accent);
	border-radius: var(--workspace-panel-radius);
	background: var(--ww-surface);
	box-shadow: var(--workspace-panel-shadow);
	padding: 26px;
}

.ww-workspace-onboarding h2 {
	margin: 8px 0 10px;
	color: var(--ww-ink);
	font-size: 1.55rem;
	line-height: 1.12;
}

.ww-workspace-onboarding p {
	margin: 0 0 18px;
	color: var(--ww-muted);
	font-size: 0.92rem;
	line-height: 1.58;
}

.ww-workspace-state {
	display: grid;
	gap: 10px;
	border: 1px solid var(--ww-line);
	border-radius: var(--workspace-panel-radius);
	background: var(--ww-surface);
	box-shadow: var(--workspace-panel-shadow);
	padding: 26px;
}

.ww-workspace-state h2 {
	margin: 0;
	color: var(--ww-ink);
	font-size: 1.35rem;
	line-height: 1.2;
}

.ww-workspace-state p:not(.ww-eyebrow) {
	max-width: 620px;
	margin: 0;
	color: var(--ww-muted);
	font-size: 0.9rem;
	line-height: 1.55;
}

.ww-workspace-state--error {
	border-left: 4px solid var(--ww-negative);
}

.ww-onboarding-steps {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ww-onboarding-steps li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 4px 12px;
	align-items: start;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-paper);
	padding: 12px;
}

.ww-onboarding-steps span {
	grid-row: 1 / span 2;
	display: inline-grid;
	width: 32px;
	height: 32px;
	place-items: center;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-surface);
	color: var(--ww-accent);
	font-size: 0.72rem;
	font-weight: 800;
}

.ww-onboarding-steps strong {
	color: var(--ww-ink);
	font-size: 0.88rem;
	line-height: 1.25;
}

.ww-onboarding-steps small {
	color: var(--ww-muted);
	font-size: 0.76rem;
	line-height: 1.45;
}

.ww-workspace-panel--summary {
	border-top: 4px solid var(--ww-ink);
	background: #fbfcfc;
}

.ww-deal-summary {
	margin-bottom: 18px;
}

.ww-deal-summary__header,
.ww-deal-summary__footer {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 16px;
	align-items: center;
	justify-content: space-between;
}

.ww-deal-summary__header h3 {
	margin: 6px 0 4px;
	color: var(--ww-ink);
	font-size: 1.3rem;
	line-height: 1.15;
}

.ww-deal-summary__header span,
.ww-deal-summary__footer {
	color: var(--ww-muted);
	font-size: 0.78rem;
	font-weight: 700;
}

.ww-deal-summary__metrics {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	overflow: hidden;
	margin-top: 16px;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-surface);
}

.ww-deal-summary__metrics > div {
	display: grid;
	gap: 5px;
	min-width: 0;
	border-left: 1px solid var(--ww-line);
	padding: 12px;
}

.ww-deal-summary__metrics > div:first-child {
	border-left: 0;
}

.ww-deal-summary__metrics small {
	color: var(--ww-faint);
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-deal-summary__metrics strong {
	overflow-wrap: anywhere;
	color: var(--ww-ink);
	font-size: 1rem;
	line-height: 1.2;
}

.ww-deal-summary__footer {
	margin-top: 12px;
	border-top: 1px solid var(--ww-line);
	padding-top: 12px;
}

.ww-deal-summary__footer strong {
	color: var(--ww-ink);
}

.ww-workspace-section-nav {
	position: sticky;
	z-index: 5;
	top: 16px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 18px;
	border: 1px solid var(--ww-line);
	border-radius: var(--workspace-panel-radius);
	background: rgba(247, 249, 250, 0.96);
	padding: 8px;
	box-shadow: var(--workspace-panel-shadow);
}

.ww-workspace-section-nav button,
.ww-workspace-section__heading button {
	display: inline-flex;
	min-height: 36px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-surface);
	color: var(--ww-navy);
	padding: 6px 10px;
	font-size: 0.76rem;
	font-weight: 800;
	text-decoration: none;
}

.ww-workspace-section-nav button:hover,
.ww-workspace-section__heading button:hover {
	border-color: var(--ww-accent);
	color: var(--ww-accent);
}

.ww-workspace-section-nav button.is-active {
	border-color: var(--ww-navy);
	background: var(--ww-navy);
	color: var(--ww-surface);
}

.ww-workspace-section-nav button span {
	display: inline-grid;
	min-width: 20px;
	height: 20px;
	place-items: center;
	margin-left: 5px;
	border-radius: 999px;
	background: var(--ww-tint);
	color: var(--ww-accent);
	font-size: 0.65rem;
	font-variant-numeric: tabular-nums;
}

.ww-workspace-section-nav button.is-active span {
	background: rgba(255, 255, 255, 0.16);
	color: var(--ww-surface);
}

.ww-workspace-section {
	scroll-margin-top: 24px;
	margin-top: 22px;
	border-top: 1px solid var(--ww-line);
	padding-top: 18px;
}

.ww-workspace-section.is-current {
	border-top-color: var(--ww-accent);
}

.ww-workspace-section.is-current > .ww-workspace-section__heading {
	border-left: 4px solid var(--ww-accent);
	padding-left: 12px;
}

.ww-workspace-section__heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
}

.ww-workspace-section__heading h3 {
	margin: 6px 0 0;
	color: var(--ww-ink);
	font-size: 1.12rem;
	line-height: 1.2;
}

.ww-workspace-section__heading button {
	min-height: 34px;
	color: var(--ww-muted);
}

.ww-billing-summary {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 18px 0 8px;
}

.ww-billing-summary strong {
	color: var(--ww-ink);
	font-size: 1.2rem;
	text-transform: capitalize;
}

.ww-billing-summary span {
	color: var(--ww-muted);
	font-size: 0.75rem;
	text-align: right;
}

.ww-workspace-panel {
	min-width: 0;
	border-radius: var(--workspace-panel-radius);
	box-shadow: var(--workspace-panel-shadow);
	padding: 24px;
}

.ww-workspace-panel--context,
.ww-workspace-panel--support {
	box-shadow: none;
}

.ww-workspace-panel--decision {
	border-inline-start: 3px solid var(--ww-accent);
}

.ww-workspace-panel__heading {
	align-items: baseline;
	margin-bottom: 20px;
}

.ww-workspace-panel__heading h3 {
	font-size: 1.05rem;
}

.ww-workspace-panel__heading > span {
	color: var(--ww-muted);
	font-size: .78rem;
}

.ww-workspace-panel__heading > div {
	display: grid;
	gap: 3px;
}

.ww-notifications-panel {
	grid-column: span 2;
}

.ww-notifications-panel .ww-workspace-panel__heading {
	align-items: center;
}

.ww-notification-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
}

.ww-notification-item.is-unread {
	border-left: 3px solid var(--ww-focus);
	padding-left: 10px;
}

.ww-notification-item strong {
	color: var(--ww-ink);
}

.ww-workspace-panel form {
	display: grid;
	gap: 12px;
}

.ww-workspace-panel label {
	display: grid;
	gap: 6px;
	color: var(--ww-ink);
	font-size: .8125rem;
	font-weight: 700;
	line-height: 1.35;
}

.ww-workspace-panel input,
.ww-workspace-panel select,
.ww-workspace-panel textarea {
	width: 100%;
	min-height: 48px;
	border: 1px solid color-mix(in srgb, var(--ww-line) 88%, var(--ww-ink));
	border-radius: 6px;
	background: var(--ww-surface);
	color: var(--ww-ink);
	font: inherit;
	padding: 11px 12px;
	font-size: .95rem;
}

.ww-workspace-panel textarea {
	min-height: 96px;
	resize: vertical;
}

.ww-permission-note {
	margin-top: 12px;
}

.ww-read-only-fields {
	display: grid;
	gap: 10px;
}

.ww-read-only-field {
	display: grid;
	gap: 4px;
	border-top: 1px solid var(--ww-line);
	padding-top: 10px;
}

.ww-read-only-field small {
	color: var(--ww-faint);
	font-size: 0.7rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-read-only-field strong {
	overflow-wrap: anywhere;
	color: var(--ww-ink);
	font-size: 0.84rem;
	font-weight: 650;
}

.ww-market-context {
	margin-bottom: 20px;
}

.ww-market-context__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.ww-market-context__grid > div {
	display: grid;
	gap: 4px;
	border-top: 1px solid var(--ww-line);
	padding-top: 10px;
}

.ww-market-context__grid small {
	color: var(--ww-muted);
	font-size: .75rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-market-context__grid strong {
	color: var(--ww-ink);
	font-size: .95rem;
}

.ww-market-context__grid span,
.ww-market-context__grid a {
	color: var(--ww-muted);
	font-size: .8125rem;
}

.ww-market-context__grid a {
	text-decoration: underline;
}

.ww-workspace-panel input:focus,
.ww-workspace-panel select:focus,
.ww-workspace-panel textarea:focus {
	border-color: var(--ww-focus);
	outline: 2px solid color-mix(in srgb, var(--ww-focus) 22%, transparent);
	outline-offset: 1px;
}

.ww-workspace-panel input:hover,
.ww-workspace-panel select:hover,
.ww-workspace-panel textarea:hover {
	border-color: var(--ww-accent);
}

.ww-workspace-panel input:focus-visible,
.ww-workspace-panel select:focus-visible,
.ww-workspace-panel textarea:focus-visible {
	outline-width: 3px;
}

.ww-workspace-form-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.ww-scenario-list {
	display: grid;
	gap: 10px;
	margin-bottom: 20px;
}

.ww-scenario-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: 12px;
	align-items: baseline;
	border-top: 1px solid var(--ww-line);
	padding-top: 12px;
	color: var(--ww-muted);
	font-size: .875rem;
}

.ww-scenario-row strong {
	color: var(--ww-ink);
}

.ww-scenario-row small {
	color: var(--ww-muted);
	font-size: .75rem;
}

.ww-scenario-form {
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 12px;
	align-items: end;
}

.ww-scenario-form .ww-button {
	white-space: nowrap;
}

.ww-analysis-controls {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
	gap: 12px;
	align-items: end;
	margin: 0 0 18px;
}

.ww-analysis-controls label {
	margin: 0;
	padding: 0;
}

.ww-analysis-controls .ww-button {
	white-space: nowrap;
}

.ww-analysis-panel {
	margin-bottom: 18px;
}

.ww-monte-carlo-panel {
	margin-bottom: 18px;
}

.ww-simulation-form {
	display: grid;
	gap: 16px;
	margin-top: 16px;
}

.ww-simulation-form__top,
.ww-simulation-variable__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	align-items: end;
}

.ww-simulation-form fieldset {
	display: grid;
	gap: 12px;
	margin: 0;
	border: 1px solid var(--ww-line);
	border-radius: 6px;
	padding: 16px;
}

.ww-simulation-form legend {
	padding: 0 6px;
	color: var(--ww-ink);
	font-size: .8125rem;
	font-weight: 800;
}

.ww-simulation-variable {
	border-top: 1px solid var(--ww-line);
	padding-top: 12px;
}

.ww-simulation-variable:first-child {
	border-top: 0;
	padding-top: 0;
}

.ww-simulation-variable__heading {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
	color: var(--ww-muted);
	font-size: 0.75rem;
}

.ww-simulation-variable__heading strong {
	color: var(--ww-ink);
}

.ww-simulation-metrics {
	display: grid;
	gap: 8px;
}

.ww-simulation-metric {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) 150px;
	gap: 10px;
	align-items: center;
	border: 1px solid var(--ww-line);
	border-radius: 6px;
	padding: 14px;
}

.ww-simulation-metric span {
	display: grid;
	gap: 3px;
}

.ww-simulation-metric strong,
.ww-simulation-metric b {
	color: var(--ww-ink);
}

.ww-simulation-metric small,
.ww-simulation-provenance,
.ww-risk-rule small {
	color: var(--ww-muted);
	font-size: .75rem;
}

.ww-simulation-results,
.ww-risk-rules {
	margin-top: 18px;
	border-top: 1px solid var(--ww-line);
	padding-top: 14px;
}

.ww-simulation-metric__values {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.ww-simulation-metric__values span {
	display: grid;
	gap: 3px;
}

.ww-risk-rule {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border-top: 1px solid var(--ww-line);
	padding: 10px 0 0;
}

.ww-risk-rule:first-of-type {
	border-top: 0;
}

.ww-risk-rule > div {
	display: grid;
	gap: 3px;
}

.ww-risk-rule__status {
	border: 1px solid var(--ww-line);
	border-radius: 999px;
	padding: 4px 8px;
	font-size: 0.67rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-risk-rule__status.is-pass {
	color: var(--ww-positive);
}

.ww-risk-rule__status.is-warning {
	color: var(--ww-warning);
}

.ww-risk-rule__status.is-fail {
	color: var(--ww-negative);
}

.ww-simulation-provenance {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.ww-comparison-controls {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
	gap: 10px;
	align-items: end;
	margin: 0 0 18px;
}

.ww-comparison-controls label {
	margin: 0;
	padding: 10px 12px;
}

.ww-comparison-controls .ww-button {
	white-space: nowrap;
}

.ww-comparison-panel {
	margin-bottom: 18px;
}

.ww-comparison-warnings {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	color: var(--ww-muted);
	font-size: 0.78rem;
}

.ww-analysis-section {
	margin-top: 18px;
	border-top: 1px solid var(--ww-line);
	padding-top: 14px;
}

.ww-analysis-section__heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.ww-analysis-section__heading h4 {
	margin: 0;
	color: var(--ww-ink);
	font-size: 0.9rem;
}

.ww-analysis-section__heading > span {
	color: var(--ww-faint);
	font-size: 0.72rem;
}

.ww-analysis-table-wrap {
	overflow-x: auto;
	margin-top: 12px;
}

.ww-analysis-table {
	min-width: 720px;
	margin: 0;
	font-size: 0.75rem;
}

.ww-analysis-table th,
.ww-analysis-table td {
	white-space: nowrap;
	vertical-align: top;
}

.ww-analysis-table tbody th {
	min-width: 130px;
	color: var(--ww-ink);
}

.ww-analysis-table tbody th small,
.ww-analysis-table td small {
	display: block;
	margin-top: 4px;
	color: var(--ww-faint);
	font-size: 0.68rem;
	font-weight: 600;
	white-space: normal;
}

.ww-analysis-table td strong {
	color: var(--ww-ink);
	font-size: 0.82rem;
}

.ww-analysis-error {
	color: var(--ww-negative) !important;
}

.ww-sensitivity-cell {
	background: color-mix(in srgb, var(--ww-tint) 62%, var(--ww-surface));
}

.ww-record-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-top: 20px;
}

.ww-record-list {
	display: grid;
	gap: 8px;
	margin-bottom: 16px;
}

.ww-record-item {
	border-top: 1px solid var(--ww-line);
	padding-top: 10px;
	color: var(--ww-muted);
	font-size: .875rem;
}

.ww-record-item strong {
	color: var(--ww-ink);
}

.ww-record-item p {
	margin: 4px 0 0;
	white-space: pre-wrap;
}

.ww-record-item small {
	display: block;
	margin-top: 4px;
	color: var(--ww-muted);
	font-size: .75rem;
}

.ww-record-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 10px;
}

.ww-record-actions .ww-button {
	min-height: 40px;
	padding: 8px 11px;
	font-size: .78rem;
}

.ww-report-panel {
	grid-column: 1 / -1;
}

.ww-report-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 16px;
}

.ww-report-card {
	display: grid;
	gap: 14px;
	min-width: 0;
	border: 1px solid var(--ww-line);
	border-top: 4px solid var(--ww-accent);
	border-radius: var(--workspace-panel-radius);
	background: var(--ww-surface);
	padding: 16px;
}

.ww-report-card__header,
.ww-report-card__actions,
.ww-report-card__exports {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	justify-content: space-between;
}

.ww-report-card__header > div {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.ww-report-card__eyebrow,
.ww-report-card__meta small,
.ww-report-card__exports > span {
	color: var(--ww-faint);
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-report-card__header strong {
	overflow-wrap: anywhere;
	color: var(--ww-ink);
	font-size: 1.05rem;
	line-height: 1.22;
}

.ww-report-card__header small {
	color: var(--ww-muted);
	font-size: 0.76rem;
	line-height: 1.45;
}

.ww-report-card__meta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	overflow: hidden;
	border: 1px solid var(--ww-line);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-paper);
}

.ww-report-card__meta > div {
	display: grid;
	gap: 4px;
	min-width: 0;
	border-left: 1px solid var(--ww-line);
	padding: 10px;
}

.ww-report-card__meta > div:first-child {
	border-left: 0;
}

.ww-report-card__meta strong {
	overflow-wrap: anywhere;
	color: var(--ww-ink);
	font-size: 0.82rem;
	line-height: 1.2;
}

.ww-report-card__actions {
	justify-content: flex-start;
}

.ww-report-card__exports {
	justify-content: flex-start;
	border-top: 1px solid var(--ww-line);
	padding-top: 12px;
}

.ww-report-card__exports .ww-button {
	min-height: 34px;
	padding: 6px 9px;
	font-size: 0.72rem;
}

.ww-report-card__exports small {
	flex-basis: 100%;
	min-height: 1.25em;
	color: var(--ww-muted);
	font-size: 0.72rem;
	font-weight: 700;
}

.ww-report-primary-action {
	min-width: 136px;
}

.ww-report-form {
	border-top: 1px solid var(--ww-line);
	padding-top: 14px;
}

.ww-report-sharing {
	margin-top: 14px;
	border-top: 1px solid var(--ww-line);
	padding-top: 12px;
}

.ww-report-sharing .ww-workspace-panel__heading {
	margin-bottom: 8px;
}

.ww-report-sharing h4 {
	margin: 0;
	color: var(--ww-ink);
	font-size: 0.84rem;
}

.ww-share-row,
.ww-audit-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	border-top: 1px solid var(--ww-line);
	padding: 9px 0;
}

.ww-share-row strong,
.ww-audit-row strong {
	color: var(--ww-ink);
	font-size: 0.76rem;
	text-transform: capitalize;
}

.ww-share-row small,
.ww-audit-row small {
	display: block;
	margin-top: 3px;
	color: var(--ww-faint);
	font-size: 0.68rem;
}

.ww-audit-panel {
	grid-column: span 2;
}

.ww-audit-row {
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
}

.ww-audit-row code {
	display: block;
	overflow-wrap: anywhere;
	color: var(--ww-muted);
	font: 0.68rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.ww-report-preview {
	margin-bottom: 18px;
	border: 1px solid var(--ww-line);
	background: var(--ww-surface);
	padding: 20px;
}

.ww-report-preview-backdrop {
	position: fixed;
	inset: 0;
	z-index: 999;
	border: 0;
	background: rgba(23, 40, 50, 0.38);
	cursor: pointer;
}

.ww-report-preview--dialog {
	position: fixed;
	inset: 0;
	z-index: 1000;
	width: min(920px, calc(100vw - 40px));
	max-width: none;
	max-height: min(90vh, 960px);
	margin: auto;
	overflow: auto;
	border-radius: var(--workspace-panel-radius);
	padding: 0;
	box-shadow: 0 1.25rem 3rem rgba(11, 24, 34, .22);
}

.ww-report-preview__document {
	display: grid;
	gap: 0;
	min-height: 100%;
	background: var(--ww-surface);
	padding: 24px;
}

.ww-report-preview--dialog .ww-icon-button {
	flex: 0 0 auto;
	font-size: 1.15rem;
}

.ww-report-preview__header,
.ww-report-preview__section-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.ww-report-preview__header h3,
.ww-report-preview__section-heading h4 {
	margin: 4px 0 0;
	color: var(--ww-ink);
}

.ww-report-preview__header > div {
	min-width: 0;
}

.ww-report-preview__header > div > span,
.ww-report-preview__meta,
.ww-report-preview__section-heading > span {
	color: var(--ww-faint);
	font-size: 0.72rem;
}

.ww-report-preview__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-top: 12px;
	border-top: 1px solid var(--ww-line);
	padding-top: 10px;
}

.ww-report-preview__section {
	margin-top: 20px;
	border-top: 1px solid var(--ww-line);
	padding-top: 16px;
}

.ww-report-preview__section--outputs {
	border-top: 2px solid var(--ww-ink);
}

.ww-report-output-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: 12px;
}

.ww-report-output {
	min-width: 0;
	border: 1px solid var(--ww-line);
	padding: 12px;
}

.ww-report-output > small,
.ww-report-output__label small,
.ww-report-inputs small,
.ww-report-provenance small {
	display: block;
	color: var(--ww-faint);
	font-size: 0.68rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ww-report-output > strong {
	display: block;
	margin-top: 8px;
	overflow-wrap: anywhere;
	color: var(--ww-ink);
	font-size: 1.1rem;
}

.ww-report-output > span {
	display: block;
	margin-top: 4px;
	color: var(--ww-muted);
	font-size: 0.72rem;
}

.ww-report-output__label {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.ww-report-output__label strong {
	color: var(--ww-ink);
}

.ww-report-table-wrap {
	overflow-x: auto;
	margin-top: 10px;
}

.ww-report-table-wrap table {
	min-width: 100%;
	margin: 0;
	font-size: 0.74rem;
}

.ww-report-table-wrap th,
.ww-report-table-wrap td {
	white-space: nowrap;
}

.ww-report-inputs,
.ww-report-provenance {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: 12px;
}

.ww-report-inputs > div,
.ww-report-provenance > div {
	border-top: 1px solid var(--ww-line);
	padding-top: 9px;
}

.ww-report-inputs strong,
.ww-report-provenance strong {
	display: block;
	margin-top: 5px;
	overflow-wrap: anywhere;
	color: var(--ww-ink);
	font-size: 0.82rem;
}

.ww-report-preview ul {
	margin: 10px 0 0;
	padding-left: 18px;
	color: var(--ww-muted);
	font-size: 0.8rem;
}

.ww-report-preview li + li {
	margin-top: 5px;
}

.ww-approval-heading {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.ww-approval-controls {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
	gap: 8px;
	align-items: end;
	margin-top: 12px;
}

.ww-approval-controls label {
	font-size: 0.7rem;
}

.ww-approval-controls textarea {
	min-height: 42px;
}

.ww-attachment-form {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ww-attachment-form > label:last-of-type {
	grid-column: 1 / -1;
}

.ww-attachment-picker {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	grid-column: 1 / -1;
}

.ww-attachment-picker span {
	color: var(--ww-faint);
	font-size: 0.75rem;
}

.ww-attachment-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
	align-items: start;
	border-top: 1px solid var(--ww-line);
	padding-top: 10px;
	color: var(--ww-muted);
	font-size: .875rem;
}

.ww-attachment-row strong {
	color: var(--ww-ink);
}

.ww-attachment-row strong a {
	color: inherit;
}

.ww-attachment-row p {
	margin: 4px 0 0;
	white-space: pre-wrap;
}

.ww-attachment-row small {
	display: block;
	margin-top: 4px;
	color: var(--ww-muted);
	font-size: .75rem;
}

.ww-record-form {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: end;
}

.ww-record-form label:first-child {
	grid-column: 1 / -1;
}

.ww-record-form textarea {
	min-height: 62px;
}

.ww-comment-form select[multiple] {
	min-height: 104px;
}

.ww-workspace-member {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto auto;
	gap: 8px;
	align-items: center;
	border-top: 1px solid var(--ww-line);
	padding-top: 10px;
	color: var(--ww-muted);
	font-size: .875rem;
}

.ww-workspace-member > div {
	min-width: 0;
	display: grid;
	gap: 3px;
}

.ww-workspace-member strong {
	overflow: hidden;
	color: var(--ww-ink);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ww-workspace-member small {
	color: var(--ww-muted);
	font-size: .75rem;
}

.ww-workspace-member select {
	min-height: 34px;
	padding: 6px 8px;
	font-size: 0.74rem;
}

.ww-workspace-member .ww-status-badge {
	white-space: nowrap;
}

.ww-workspace-invitations,
.ww-workspace-privacy-list {
	margin-top: 18px;
}

.ww-workspace-inline-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ww-mfa-secret,
.ww-mfa-recovery {
	display: grid;
	gap: 6px;
	margin: 0 0 14px;
	border-top: 1px solid var(--ww-line);
	padding-top: 12px;
}

.ww-mfa-secret code,
.ww-mfa-recovery code {
	display: block;
	overflow-wrap: anywhere;
	color: var(--ww-ink);
	font: 0.78rem/1.6 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.ww-mfa-recovery {
	border-color: var(--ww-caution-strong);
	background: var(--ww-caution-surface);
	padding: 12px;
}

.ww-mfa-recovery strong {
	color: var(--ww-caution-strong);
	font-size: 0.78rem;
}

.ww-security-sessions,
.ww-account-deletion {
	margin-top: 18px;
	border-top: 1px solid var(--ww-line);
	padding-top: 14px;
}

.ww-security-sessions .ww-workspace-panel__heading,
.ww-account-deletion .ww-workspace-panel__heading {
	margin-bottom: 10px;
}

.ww-security-sessions h4,
.ww-account-deletion h4 {
	margin: 0;
	color: var(--ww-ink);
	font-size: 0.84rem;
}

.ww-session-row {
	display: grid;
	gap: 3px;
	min-width: 0;
	border-top: 1px solid var(--ww-line);
	padding: 10px 0;
}

.ww-session-row strong,
.ww-session-row small {
	min-width: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
	white-space: normal;
}

.ww-session-row strong {
	color: var(--ww-ink);
	font-size: 0.78rem;
}

.ww-session-row small {
	color: var(--ww-faint);
	font-size: 0.7rem;
}

.ww-button-danger {
	border: 1px solid var(--ww-negative);
	background: var(--ww-danger-surface);
	color: var(--ww-negative);
}

.ww-button-danger:hover {
	border-color: var(--ww-ink);
	background: var(--ww-negative);
	color: var(--ww-surface);
}

.ww-checkbox-label {
	display: flex !important;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 8px !important;
}

.ww-checkbox-label input {
	width: 16px;
	min-height: 16px;
	margin: 0;
}

.ww-empty--compact {
	padding: 18px 0;
}

.ww-auth-prompt {
	padding-bottom: 80px;
}

.ww-workspace-invite {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 4px 16px;
	align-items: center;
	margin-bottom: 18px;
	border: 1px solid var(--ww-line);
	padding: 14px 16px;
	background: var(--ww-tint);
}

.ww-workspace-invite strong,
.ww-workspace-invite span {
	grid-column: 1;
}

.ww-workspace-invite strong {
	color: var(--ww-ink);
}

.ww-workspace-invite span {
	color: var(--ww-muted);
	font-size: 0.8rem;
}

.ww-workspace-invite .ww-button {
	grid-column: 2;
	grid-row: 1 / span 2;
	white-space: nowrap;
}

@media (max-width: 860px) {
	.ww-workspace-layout,
	.ww-workspace-grid,
	.ww-workspace-management,
	.ww-workspace-onboarding,
	.ww-workspace-command-bar,
	.ww-record-grid,
	.ww-report-list,
	.ww-workspace-form-grid,
	.ww-scenario-form,
	.ww-analysis-controls,
	.ww-comparison-controls,
	.ww-simulation-form__top,
	.ww-simulation-variable__grid,
	.ww-record-form,
	.ww-approval-controls,
	.ww-market-context__grid,
	.ww-report-output-grid,
	.ww-report-inputs,
	.ww-report-provenance {
		grid-template-columns: 1fr;
	}

	.ww-workspace-sidebar {
		position: static;
	}

	.ww-workspace-section-nav {
		position: static;
		flex-wrap: nowrap;
		overflow-x: auto;
	}

	.ww-workspace-section-nav button {
		flex: 0 0 auto;
	}

	.ww-workspace-command-actions {
		justify-content: flex-start;
	}

	.ww-deal-summary__metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ww-deal-summary__metrics > div,
	.ww-deal-summary__metrics > div:first-child {
		border-top: 1px solid var(--ww-line);
		border-left: 0;
	}

	.ww-deal-summary__metrics > div:first-child,
	.ww-deal-summary__metrics > div:nth-child(2) {
		border-top: 0;
	}

	.ww-deal-summary__metrics > div:nth-child(even) {
		border-left: 1px solid var(--ww-line);
	}

	.ww-notifications-panel {
		grid-column: auto;
	}

	.ww-audit-panel {
		grid-column: auto;
	}

	.ww-analysis-controls .ww-button,
	.ww-comparison-controls .ww-button,
	.ww-scenario-form .ww-button {
		width: 100%;
	}
}

@media (max-width: 640px) {
	.ww-workspace-app {
		padding-right: 20px;
		padding-left: 20px;
		padding-bottom: 64px;
	}

	.ww-workspace-layout {
		gap: 16px;
	}

	.ww-workspace-sidebar,
	.ww-workspace-panel {
		padding: 18px;
	}

	.ww-workspace-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}

	.ww-workspace-heading h2 {
		font-size: 1.65rem;
	}

	.ww-workspace-heading__actions {
		gap: 8px;
	}

	.ww-workspace-command-bar {
		padding: 16px;
	}

	.ww-workspace-command-bar dl {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ww-workspace-command-bar dl > div:nth-child(odd) {
		border-left: 0;
	}

	.ww-workspace-command-bar dl > div:nth-child(n + 3) {
		border-top: 1px solid var(--ww-line);
	}

	.ww-workspace-section__heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.ww-workspace-onboarding {
		padding: 20px;
	}

	.ww-deal-summary__metrics {
		grid-template-columns: 1fr;
	}

	.ww-deal-summary__metrics > div,
	.ww-deal-summary__metrics > div:first-child,
	.ww-deal-summary__metrics > div:nth-child(2),
	.ww-deal-summary__metrics > div:nth-child(even) {
		border-top: 1px solid var(--ww-line);
		border-left: 0;
	}

	.ww-deal-summary__metrics > div:first-child {
		border-top: 0;
	}

	.ww-report-card__meta {
		grid-template-columns: 1fr;
	}

	.ww-report-card__meta > div,
	.ww-report-card__meta > div:first-child {
		border-top: 1px solid var(--ww-line);
		border-left: 0;
	}

	.ww-report-card__meta > div:first-child {
		border-top: 0;
	}

	.ww-report-preview--dialog {
		width: calc(100vw - 24px);
		max-height: calc(100vh - 24px);
	}

	.ww-report-preview__document {
		padding: 18px;
	}

	.ww-workspace-form-grid,
	.ww-scenario-form,
	.ww-analysis-controls,
	.ww-comparison-controls,
	.ww-simulation-form__top,
	.ww-simulation-variable__grid,
	.ww-record-form,
	.ww-approval-controls,
	.ww-market-context__grid,
	.ww-report-list,
	.ww-report-output-grid,
	.ww-report-inputs,
	.ww-report-provenance {
		grid-template-columns: 1fr !important;
	}

	.ww-simulation-metric {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.ww-simulation-metric > input[type="number"] {
		grid-column: 2;
	}

	.ww-simulation-metric__values {
		grid-column: 1 / -1;
	}

	.ww-scenario-row {
		grid-template-columns: 1fr;
		gap: 4px;
	}

	.ww-workspace-member {
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: start;
	}

	.ww-workspace-member select,
	.ww-workspace-member > button {
		grid-column: 1 / -1;
		width: 100%;
		min-height: 44px;
	}

	.ww-record-actions .ww-button {
		min-height: 44px;
	}

	.ww-workspace-projects {
		max-height: 11rem;
		overflow-y: auto;
		padding-right: 2px;
	}

	.ww-workspace-management,
	.ww-workspace-management .ww-workspace-panel,
	.ww-session-row {
		min-width: 0;
	}

	.ww-workspace-management-summary {
		align-items: flex-start;
		flex-direction: column;
		gap: 6px;
		padding-block: 16px;
	}

	.ww-workspace-management-toggle {
		font-size: .78rem;
	}

	.ww-workspace-invite {
		grid-template-columns: 1fr;
	}

	.ww-workspace-invite strong,
	.ww-workspace-invite span,
	.ww-workspace-invite .ww-button {
		grid-column: 1;
		grid-row: auto;
	}

	.ww-workspace-heading__actions {
		width: 100%;
		justify-content: flex-start;
	}
}
