/* app css stylesheet */

.swarm-detail-panel .plan-full-panel svg {
	display: block;
}

plan-full-panel {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 0;
	flex: 1 1 0;
}

/* Host element must participate in the flex height chain (inner .contribution-plan-editor alone is not enough). */
contribution-plan-editor {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 0;
	flex: 1 1 0;
	align-self: stretch;
}

.plan-full-panel {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-height: 0;
	width: 100%;
	height: 100%;
	max-height: 100%;
	box-sizing: border-box;
	overflow: hidden;
}

.plan-full-panel__viz {
	position: relative;
	box-sizing: border-box;
	flex: 1 1 0;
	min-height: 120px;
	width: 100%;
	height: auto;
	max-height: none;
	overflow: hidden;
}

.plan-full-panel__viz > svg {
	width: 100%;
	height: 100%;
}

.plan-full-panel__footer {
	position: relative;
	z-index: 2;
	flex: 0 0 auto;
	background: #000;
}

/* Notes + step chrome below structural Save; scroll if the panel is short. */
.plan-full-panel__below-footer {
	flex: 0 1 auto;
	min-height: 0;
	max-height: 45%;
	overflow-x: hidden;
	overflow-y: auto;
	width: 100%;
}

.plan-full-panel__notes {
	gap: 6px;
	margin-top: 8px;
	width: 100%;
	flex: 0 0 auto;
	position: relative;
	z-index: 2;
}

.plan-full-panel__notes-toggle {
	align-self: flex-start;
	position: relative;
}

.plan-full-panel__notes-toggle--dirty {
	border-color: #FF8C00;
	color: #FFBC00;
}

.plan-full-panel__notes-dirty-dot {
	display: inline-block;
	width: 8px;
	height: 8px;
	margin-left: 6px;
	border-radius: 50%;
	background: #FF8C00;
	box-shadow: 0 0 0 2px rgba(255, 140, 0, 0.25);
	vertical-align: middle;
}

.plan-full-panel__notes-body {
	gap: 6px;
	width: 100%;
}

.plan-full-panel__notes-unsaved {
	gap: 8px;
	margin: 0;
	padding: 8px 10px;
	border-radius: 6px;
	border: 1px solid #FF8C00;
	background: #2a1b00;
	color: #FFBC00;
	font-size: 12px;
}

.plan-full-panel__notes-unsaved-icon {
	color: #FF8C00 !important;
	width: 20px;
	height: 20px;
	min-width: 20px;
	min-height: 20px;
	font-size: 20px !important;
}

.plan-full-panel__notes-input {
	width: 100%;
	min-height: 88px;
	box-sizing: border-box;
	resize: vertical;
	padding: 8px 10px;
	border: 1px solid #555;
	border-radius: 4px;
	background: #111;
	color: #ffbc00;
	font-size: 13px;
	line-height: 1.35;
}

.plan-full-panel__notes-input--dirty {
	border-color: #FF8C00;
	box-shadow: inset 0 0 0 1px rgba(255, 140, 0, 0.35);
}

.plan-full-panel__notes-input:disabled {
	opacity: 0.6;
}

.plan-full-panel__notes-save--dirty:not(:disabled) {
	border-color: #FF8C00;
	color: #FFBC00;
}

.plan-full-panel .plan-full-panel-mode-fab {
	position: absolute;
	top: 6px;
	left: 6px;
	z-index: 4;
}

.plan-full-panel .plan-full-panel-collapse-all-fab {
	position: absolute;
	top: 6px;
	right: 6px;
	z-index: 4;
}

.contribution-plan-editor__unsaved-banner,
.plan-full-panel__step-preview-banner {
	gap: 8px;
	margin: 0;
	padding: 8px 10px;
	border-radius: 6px;
	border: 1px solid #FF8C00;
	background: #2a1b00;
	color: #FFBC00;
	font-size: 12px;
}

.contribution-plan-editor__unsaved-banner {
	margin: 0 0 10px;
}

.contribution-plan-editor {
	flex: 1 1 0;
	min-height: 0;
	height: 100%;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.contribution-plan-editor > plan-full-panel {
	flex: 1 1 0;
	min-height: 0;
	height: auto;
	align-self: stretch;
}

.contribution-plan-editor__unsaved-icon,
.plan-full-panel__step-preview-banner-icon {
	color: #FF8C00 !important;
	width: 20px;
	height: 20px;
	min-width: 20px;
	min-height: 20px;
	font-size: 20px !important;
}

.plan-full-panel__promote-effort-btn {
	width: auto;
	height: 36px;
	min-width: 150px;
	min-height: 36px;
	box-sizing: border-box;
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 4px 12px;
	line-height: 1.2;
	text-align: center;
	white-space: nowrap;
}

.plan-full-panel__promote-effort-btn md-icon {
	font-size: 20px;
	width: 20px;
	height: 20px;
	min-width: 20px;
	min-height: 20px;
	line-height: 1;
}

.plan-full-panel__promote-effort-btn .swarm-subnav-label {
	font-size: 12px;
}

.plan-full-panel__list {
	min-height: 120px;
	height: 100%;
	max-height: 100%;
	overflow-y: auto;
	box-sizing: border-box;
	padding: 4px 2px 8px;
	color: #ffbc00;
}

.plan-full-panel__list-step {
	border: 1px solid #555;
	border-radius: 4px;
	padding: 6px;
	margin-top: 6px;
	font-size: 12px;
	cursor: pointer;
	color: #ffbc00;
	background: rgba(255, 255, 255, 0.04);
}

.plan-full-panel__list-gutter {
	width: 18px;
	min-width: 18px;
	text-align: center;
	line-height: 1;
}

.plan-full-panel__list-chevron {
	font-size: 18px !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	cursor: pointer;
	color: #ffbc00;
	vertical-align: middle;
}

.plan-full-panel__list-chevron--placeholder {
	visibility: hidden;
	cursor: default;
	pointer-events: none;
}

.plan-full-panel__list-step-body {
	min-width: 0;
}

.plan-full-panel__list-step--selected {
	border-color: #4dd0e1 !important;
	box-shadow: inset 0 0 0 1px rgba(77, 208, 225, 0.5);
}

.plan-full-panel__list-badge {
	font-size: 11px;
}

.plan-full-panel__list-badge--speculative {
	color: #7e57c2;
}

.plan-full-panel__list-badge--locked {
	color: #e65100;
}

.plan-full-panel__list-empty {
	color: #999;
	font-size: 12px;
	margin: 8px 0 0;
}

.plan-full-panel g[class*="plan-tree-step-selected"] rect {
	stroke: #4dd0e1 !important;
	stroke-width: 2px !important;
}

.btn-primary,
.effort-action,
.project-access,
.tree-action {
	background-color: #FF8C00;
	color: #000000;
	border-radius: 5px;
	border: 2px solid #000000;
	font-size: 20px;
	height: 50px;
	width: 150px;
}

a:hover,
a:focus {
	color: #000000;
}

.active-toggle {
	background-color: #000000 !important;
	color: #FFBC00 !important;
}

.active-toggle > md-icon {
	color: #FFBC00 !important;
}

.address-button {
	height: 95px;
	width: 95px;
}

.alert,
.alert-info {
	background-color: #FFFFFF;
	border-color: transparent;
	color: #E7E7E7;
}

.alert-box {
	background-color: #000000;
	border: 2px solid #FF8C00;
	border-radius: 3px;
	font-size: 24px;
	max-height: 150px;
	min-height: 30px;
	right: 50%;
	overflow-y: auto;
	padding: 10px;
	pointer-events: auto;
	position: absolute;
	top: 75px;
	transform: translateX(50%);
	width: 360px;
	/* Above .swarm-logged-in-shell (1) so login/register toasts are not covered. */
	z-index: 40;
}

.alert-panel {
	background-color: #FF8C00;
	border: 3px solid #000000;
	border-radius: 3px;
	color: #000000;
	margin: 5px;
	max-width: 450px;
	padding: 10px;
	z-index: 3;
}

.aux-box {
	background-color: #000000;
	border: 2px solid #FF8C00;
	bottom: 30px;
	color: #FF8C00;
	height: 400px;
	left: 30px;
	margin: 0px;
	overflow-y: auto;
	position: absolute;
	width: 600px;
}

.badge-icon {
	color: #FFBC00;
	left: 50%;
	position: relative;
	top: 50%;
	transform: translate(-50%, -50%);
}

.blocker-box {
	background-color: #000000;
	border: 2px solid #FF8C00;
	border-radius: 3px;
	font-size: 24px;
	max-height: 150px;
	min-height: 30px;
	left: 250px;
	overflow-y: auto;
	padding: 10px;
	position: absolute;
	top: 350px;
	transform: translateX(50%);
	width: 350px;
}

body {
  background-color: #E7E7E7;
  background:
  radial-gradient(circle farthest-side at 0% 50%,#000 23.5%,rgba(240,166,17,0) 0)21px 30px,
  radial-gradient(circle farthest-side at 0% 50%,#FF8C00 24%,rgba(240,166,17,0) 0)19px 30px,
  linear-gradient(#000 14%,rgba(240,166,17,0) 0, rgba(240,166,17,0) 85%,#000 0)0 0,
  linear-gradient(150deg,#000 24%,#FF8C00 0,#FF8C00 26%,rgba(240,166,17,0) 0,rgba(240,166,17,0) 74%,#FF8C00 0,#FF8C00 76%,#000 0)0 0,
  linear-gradient(30deg,#000 24%,#FF8C00 0,#FF8C00 26%,rgba(240,166,17,0) 0,rgba(240,166,17,0) 74%,#FF8C00 0,#FF8C00 76%,#000 0)0 0,
  linear-gradient(90deg,#FF8C00 2%,#000 0,#000 98%,#FF8C00 0%)0 0 #000;
  background-size: 40px 60px;
  color: #FFBC00;
  font-family: "Righteous";
  font-size: 14px;
  height: 100vh;
  overflow: hidden;
}

.btn {
	background-color: #000000;
	border: 2px solid #FFBC00;
	border-radius: 4px;
	color: #FFBC00;
}

.btn:active,
.btn:focus,
.btn:hover {
	background-color: #FF8C00;
	color: #000000;
}

.btn-default {
	background-color: #000000;
	border-color: #FF8C00; /* 98d5e8 */
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	color: #FFBC00; /* 98d5e8 */
	font-size: 20px;
	margin: 5px;
}

.btn-default:active,
.btn-default:focus,
.btn-default:hover {
	background-color: #E7E7E7;
	border-color: #FFFFFF;
	color: #000000;
}

.btn-group {
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
}

.btn-group-payment {
	border: 3px;
}

.btn-image-set {
	border-radius: 5px;
	height: 30px;
	line-height: 1.2;
	padding: 0 14px;
	position: relative;
	top: -3px;
	white-space: nowrap;
}

.btn-payment {
	background-color: #FFFFFF;
	color: #E7E7E7;
}

.btn-primary {
  background-color: #FFFFFF;
  border-color: #FFFFFF;
  color: #4A51E8;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.open .dropdown-toggle.btn-primary {
  background-color: #FFFFFF;
  border-color: #FFFFFF;
  color: #000000;
}

.btn-project-nav {
	border: 0px;
	height: 50px;
	margin-left: 0px;
	margin-right: 0px;
	padding-left: 2px;
	padding-right: 2px;
	width: 75px;
}

.btn-swarming {
	background: #000000;
	border: 1px solid #FFBC00;
	border-radius: 3px;
	color: #FF8C00;
	height: 50px;
	min-width: 325px;
	max-width: 500px;
	width: 35%;
}

.btn-swarming-half {
	font-size: 14px !important;
	height: 25px;
	min-width: 162px;
	max-width: 250px;
	width: 17%;
	padding-top: 1px;
}

.btn-swarming:hover,
.btn-swarming-half:hover {
	background-color: #FF8C00;
	color: #000000;
}

.btn-warning {
	background-color: #E7E7E7;
	border-color: #4A51E8;
	color: #000000;
}

.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-warning.active,
.open .dropdown-toggle.btn-warning,
.open .dropdown-toggle.btn-default {
	background-color: #E7E7E7;
	border-color: #FFFFFF;
	color: #000000;
}

button {
  background-color: #000000;
  border: 1px solid #FF8C00;
  border-radius: 5px;
  color: #FFBC00; /* 98d5e8 */
  font-size: 12px;
  font-weight: bold;
  font-family: "Righteous";
  height: 40px;
  margin: 5px;
  transition-duration: 0.4s;
  -webkit-transition-duration: 0.4s;
  width: 90px;
}

.button-wide {
	height: 50px;
	width: 65%;

	margin: 25px;
}

button:hover {
	background-color: #FFFFFF; /* 98d5e8 */
	color: #000000;
}

.button .navbar-toggle .collapsed:before {
	font-family: FontAwesome;
	content: "\f07b";
}

.cardProviderPulldown {
	height: 49px !important;
}

.carousel-control.left, .carousel-control.right {
    background-image: none;
    color: #000000;
}

.carousel-image {
	height: 150px;
}

.center-landing-panel {
	/* position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%); */
}

.chat-box-list {
	display: flex;
	flex-direction: column-reverse;
	height: 200px;
	list-style-position: inside;
	overflow-y: auto;
}

.chat-box-input {
	text-align: left;
	width: 100%;
}

.clickable {
	cursor: default;
}

.close-element-focus:not(.swarm-view-workspace__close):not(.swarm-pane-close-float):not(.effort-panel-close-float) {
	position: absolute;
	right: -5px;
	top: -50px;
}

.close-element-focus > md-icon {
	color: #FF8C00;
}

.commodity-container {
	border: 3px solid #FFFFFF;
	border-radius: 5px;
}

.commodity-header {
	font-size: 14px;
	color: #FFFFFF;
}

.commodity-type-header {
	font-size: 20px;
	color: #4A51E8;
}

.contribution {
	background-color: #000;
	border: 3px solid #FFBC00;
	border-radius: 5px;
	color: #FF8C00;
	font-size: 16px;
	padding: 5px;
}

.corner-nav-shell {
	position: absolute;
	right: 50px;
	top: 15px;
	width: 50px;
	/* Above .swarm-logged-in-shell (1); empty areas pass clicks through to workspace close below. */
	z-index: 10;
	pointer-events: none;
}

/* Only interactive chrome — not the empty anchor/widget boxes (those were eating close clicks). */
.corner-nav-shell .corner-nav-icon,
.corner-nav-shell .corner-nav,
.corner-nav-shell .corner-nav-menu-row,
.corner-nav-shell .corner-nav-notifications-flyout {
	pointer-events: auto;
}

.corner-notification-anchor {
	position: absolute;
	right: 0;
	transition: top 0.25s ease;
	width: 50px;
	pointer-events: none;
}

.corner-notification-widget {
	position: relative;
	width: 50px;
	pointer-events: none;
}

.corner-notification-widget .corner-notification-icon,
.corner-notification-widget .corner-nav-notifications-flyout,
.corner-notification-widget .corner-nav-invite-count {
	pointer-events: auto;
}

.corner-notification-icon {
	display: block;
	font-size: 44px;
	height: 44px;
	margin: 0 auto;
	min-height: 44px;
	min-width: 44px;
	width: 44px;
}

.corner-nav-notifications-flyout {
	background-color: #000000;
	border: 1px solid #FF8C00;
	color: #FFBC00;
	font-size: 13px;
	max-height: min(380px, calc(100vh - 120px));
	overflow-x: hidden;
	overflow-y: auto;
	padding: 10px 12px;
	position: absolute;
	right: 0;
	top: calc(100% + 6px);
	transform-origin: top right;
	width: 300px;
	z-index: 12;
	animation: corner-notifications-flyout-in 0.22s ease;
}

@keyframes corner-notifications-flyout-in {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.corner-notifications-row {
	border-bottom: 1px solid #333333;
	margin-bottom: 8px;
	padding-bottom: 10px;
}

.corner-notifications-row:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

.corner-notifications-event {
	color: #FF8C00;
	font-size: 12px;
	font-weight: bold;
	margin: 0 0 4px;
	text-transform: uppercase;
}

.corner-notifications-message {
	font-size: 13px;
	line-height: 1.35;
	margin: 0 0 4px;
	white-space: pre-wrap;
}

.corner-notifications-meta {
	font-size: 11px;
	margin: 0;
	opacity: 0.85;
}

.corner-nav-menu-row {
	align-items: flex-start;
	display: flex;
	flex-direction: row;
	position: absolute;
	right: 0;
	top: 56px;
}

.corner-nav-invites-flyout {
	background-color: #000000;
	border: 1px solid #FF8C00;
	color: #FFBC00;
	flex: 0 0 auto;
	font-size: 13px;
	margin-right: 0;
	max-height: min(380px, calc(100vh - 100px));
	max-width: calc(100vw - 220px);
	order: -1;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 10px 12px;
	width: 280px;
}

.corner-invites-empty-msg {
	font-size: 13px;
	margin: 6px 0;
	opacity: 0.85;
}

.corner-invites-row {
	border-bottom: 1px solid #333333;
	margin-bottom: 8px;
	padding-bottom: 10px;
}

.corner-invites-row:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

.corner-invites-hive-name {
	color: #FF8C00;
	cursor: pointer;
	font-weight: bold;
	margin: 0 0 4px;
	user-select: none;
}

.corner-invites-byline {
	font-size: 11px;
	margin: 0 0 6px;
	opacity: 0.9;
}

.corner-invites-actions {
	flex-shrink: 0;
	padding-left: 6px;
}

.corner-invite-act {
	background: transparent;
	border: 1px solid #FF8C00;
	cursor: pointer;
	display: inline-block;
	line-height: 0;
	padding: 2px;
	vertical-align: middle;
}

.corner-invite-act + .corner-invite-act {
	margin-left: 4px;
}

.corner-invite-glyph {
	color: #FF8C00;
	font-size: 19px !important;
	height: 19px;
	min-height: 19px;
	min-width: 19px;
	width: 19px;
}

.corner-invites-description {
	border-left: 2px solid #FF8C00;
	color: #cccccc;
	font-size: 12px;
	line-height: 1.35;
	margin: 6px 0 0;
	padding-left: 8px;
	white-space: pre-wrap;
}

.corner-nav {
	background-color: #000000;
	border-right: 1px solid #FF8C00;
	flex: 0 0 auto;
	padding-left: 12px;
	padding-right: 20px;
	position: relative;
	right: auto;
	top: auto;
	width: 125px;
}

.corner-nav-icon {
	color: #FF8C00;
	cursor: pointer;
	flex-shrink: 0;
	font-size: 50px;
	height: 50px;
	min-height: 50px;
	min-width: 50px;
	position: relative;
	width: 50px;
	z-index: 11;
}

.corner-nav-icon.corner-nav-menu-icon {
	left: 30px;
	position: relative;
	top: 0;
}

.corner-nav-invites-row {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.corner-nav-invite-count {
	align-items: center;
	background-color: #ff8c00;
	border-radius: 50%;
	color: #000000;
	display: inline-flex;
	font-size: 11px;
	font-weight: bold;
	height: 16px;
	justify-content: center;
	line-height: 1;
	margin-left: 8px;
	min-width: 16px;
	padding: 0 4px;
}

.corner-notification-widget .corner-nav-invite-count {
	margin-left: 0;
	position: absolute;
	right: 8px;
	top: -8px;
}

.courier-payment,
.courier-route {
	background-color: #FFFFFF;
	color: #FFFFFF; /* 98d5e8 */
	padding: 5px;
}

.cursor-default {
	cursor: default;
}

.dash-button {
	background-color: #FFBC00;
	border: 3px solid #FF8C00;
	color: #000000;
	font-size: 20px;
	height: 50px;
	margin-left: 10px;
	width: 50px;
}

.delivery-window-item {
	background-color: #FFFFFF !important; /* 98d5e8 */
	color: #000000 !important;
}

.dependency-card {
	overflow-x: hidden;
	overflow-y: hidden;
}

.dependency-set {
	height: 35vh;
	overflow-y: auto;
}

.disclaimer {
	border: 5px;
	border-color: #E7E7E7;
	font-style: italic;
}

.discussion-action-icon {
	color: #FF8C00;
	cursor: pointer;
	font-size: 11;
	height: 11px;
	min-width: 11px;
	min-height: 11px;
	padding: 1px;
	width: 11px;
}

.discussion-action-icon.discussion-voted-up,
.discussion-action-icon.discussion-voted-down {
	border: 1px solid #FF8C00;
	border-radius: 50%;
	padding: 1px;
}

.discussion-vote-score {
	color: #FF8C00;
	font-size: 11px;
	margin: 3px;
	min-width: 16px;
}

.discussion-reply-button {
	height: 15px;
	margin: 0px;
	width: 50px;
}

.discussion-sender-name {
	font-size: 10px;
	text-align: right;
}

.bot-discussion-effort-groups-empty {
	margin: 0;
	font-size: 0.9em;
	color: #999;
}

.bot-discussion-thread-gutter {
	width: 18px;
	min-width: 18px;
	text-align: center;
}

.bot-discussion-message-text {
	padding-right: 5px;
}

.bot-discussion-thread-header {
	flex: none;
	margin-bottom: 12px;
	padding-bottom: 4px;
}

.bot-discussion-thread-header-row {
	width: 100%;
}

.bot-discussion-thread-title {
	display: block;
	width: 100%;
	margin: 0 0 6px;
	text-align: center;
}

.bot-discussion-thread-back-row {
	width: 100%;
	margin-bottom: 4px;
}

.bot-discussion-thread-header + .messages-container {
	margin-top: 4px;
}

/* Match Effort/Hive chrome titles on the black workspace viewport. */
.swarm-view-workspace .swarm-view-pane__discussion-host .bot-discussion-thread-title {
	color: #FFBC00;
}

.voting-detail-header {
	flex: none;
	margin-bottom: 12px;
	padding-bottom: 4px;
}

.voting-detail-header-row {
	width: 100%;
}

.voting-detail-title {
	display: block;
	width: 100%;
	margin: 0 0 6px;
	text-align: center;
}

.voting-detail-back-row {
	width: 100%;
	margin-bottom: 4px;
}

.swarm-view-workspace .swarm-view-pane__vote-host .voting-detail-title {
	color: #FFBC00;
}

.bot-discussion-back-button {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: auto;
	min-height: 30px;
	padding: 4px 8px 4px 4px;
	margin: 0;
	border: none;
	border-radius: 4px;
	background: transparent;
	color: #FFBC00;
	font-size: 13px;
	line-height: 1.2;
	cursor: pointer;
	white-space: nowrap;
}

.bot-discussion-back-button:hover {
	background-color: rgba(255, 188, 0, 0.08);
}

.bot-discussion-back-button__icon {
	color: #FFBC00 !important;
	font-size: 18px;
	width: 18px;
	height: 18px;
	min-width: 18px;
	min-height: 18px;
}

.discussion-message-input {
	background-color: #000;
	color: #FF8C00;
}

.discussion-message-input::placeholder {
	color: #FF8C00;
	opacity: 0.8;
}

div.tooltip {
    position: absolute;
    /*text-align: center;*/
    width: 350px;
    height: 70px;
    padding: 2px;
    font: 12px sans-serif;
    background-color: #FFBC00;
	border: 3px solid #FF8C00;
	color: #000000;
    border-radius: 8px;
    pointer-events: none;
	/* Above swarm-logged-in-shell (1) / DAG svg (2) / margin list (3) / preview card (4). */
	z-index: 30;
}

div.tooltip.graph-path-tooltip {
	z-index: 30;
}

.dot {
	border-radius: 50%;
	display: inline-block;
	height: 25px;
	margin-bottom: -10px;
	margin-right: 15px;
	margin-top: 15px;
	width: 25px;
}

.dropdown-menu {
	background-color: #E7E7E7;
	border-color: #FFFFFF;
	color: #000000;
}

.dropdown-menu li:hover {
	background-color: #FFFFFF; /* 98d5e8 */
	cursor: default;
}

.edgePath path {
	stroke: #FFBC00;
	stroke-width: 1.5px;
}

.editable-icon-button {
	position: relative;
	top: -10px;
}

.editable-large-icon-button {
	top: 0px;
}

.editable-large-textarea {
	height: 250px;
	width: 96%;
}

/* Effort panel. Tabs: .swarm-subview-tab below. */
.effort-panel {
	background-color: #000;
	color: #FFBC00;
	display: flex;
	flex-direction: column;
	margin: 0;
	max-width: 100%;
	min-height: 0;
	min-width: 0;
	overflow: hidden;
	padding: 0;
	position: relative;
	text-align: left;
	width: 100%;
}

.effort-panel-close-float,
.swarm-pane-close-float {
	align-items: center;
	background: rgba(0, 0, 0, 1);
	border: 1px solid rgba(255, 140, 0, 0.75);
	border-radius: 50%;
	box-sizing: border-box;
	cursor: pointer;
	display: flex;
	height: 38px;
	justify-content: center;
	line-height: 0;
	padding: 0;
	position: absolute;
	right: 6px;
	top: 9px;
	width: 38px;
	z-index: 20;
}

.effort-panel-close-float md-icon,
.swarm-pane-close-float md-icon {
	color: #ff8c00;
	font-size: 22px;
}

.effort-panel .effort-panel-stack {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	margin: 0;
	min-height: 0;
	overflow: hidden;
	max-width: 100%;
}

.effort-panel .effort-panel-stack {
	padding: 6px 8px;
}

.effort-panel .effort-panel-chrome {
	flex-shrink: 0;
}

.effort-panel .effort-panel-body-scroll {
	flex: 1 1 auto;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
}

.effort-panel-image-block {
	margin-top: 12px;
	margin-bottom: 12px;
	max-width: 100%;
}

.effort-panel-image-block .effort-display-image-set {
	display: block;
	max-width: 100%;
	width: 100%;
}

.effort-panel-stat-row {
	margin-bottom: 8px;
	gap: 4px 0;
}

.effort-panel-stat-cell {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding: 4px 6px;
	text-align: center;
}

.effort-panel-stat-cell > div {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	text-align: center;
	width: 100%;
}

.effort-panel-stat-cell md-icon {
	margin-bottom: 4px;
	color: #FF8C00 !important;
}

.effort-panel-stat-label {
	font-size: 13px;
	line-height: 1.25;
}

.effort-panel-stat-repeatable .effort-panel-stat-label {
	color: #1e7b1e;
}

.effort-panel-stat-repeatable md-icon {
	color: #FF8C00 !important;
}

.effort-panel-stat-nonrepeat .effort-panel-stat-label {
	color: #a32020;
}

.effort-panel-stat-nonrepeat md-icon {
	color: #FF8C00 !important;
}

.effort-admin-panel,
.effort-assign-panel,
.effort-reports-panel {
	padding: 12px 8px 16px;
}

.effort-admin-assign {
	margin-bottom: 20px;
	padding-bottom: 16px;
	border-bottom: 1px solid rgba(255, 188, 0, 0.2);
}

.effort-admin-tasks {
	margin-top: 8px;
}

.effort-assign-panel__hint,
.effort-assign-panel__empty,
.effort-reports-panel__empty {
	margin: 0 0 12px;
	font-size: 0.95em;
	line-height: 1.4;
}

.effort-assign-panel__label {
	display: block;
	margin-bottom: 6px;
	font-size: 0.9em;
	color: #FFBC00;
}

.effort-assign-panel__controls {
	gap: 10px;
	margin-bottom: 12px;
}

.effort-assign-panel__select {
	min-width: 180px;
	max-width: 100%;
	min-height: 36px;
	padding: 6px 8px;
	border: 1px solid #663300;
	border-radius: 4px;
	background: #111;
	color: #FFBC00;
}

.effort-assign-panel__back,
.effort-reports-panel__link {
	align-self: flex-start;
	padding: 0;
	border: none;
	background: transparent;
	color: #FF8C00;
	text-decoration: underline;
	cursor: pointer;
	font-size: 0.9em;
}

.effort-reports-panel__header {
	gap: 8px;
	margin-bottom: 8px;
}

.effort-reports-panel__header .hive-context-title {
	margin: 0;
}

/* Workspace edge-set: pane identity owns the title; header is Refresh-only. */
.effort-reports-panel--workspace {
	padding-top: 8px;
}

.effort-reports-panel--workspace > .effort-reports-panel__header {
	margin-bottom: 4px;
}

.effort-panel-description {
	line-height: 1.45;
	margin-top: 4px;
	white-space: pre-wrap;
	word-break: break-word;
}

.effort-panel-description--empty {
	color: #CC9900;
	font-style: italic;
}

.effort-panel .effort-volunteer-view {
	display: block;
	min-height: 12rem;
}

.effort-volunteer-cta {
	justify-content: center;
	min-height: 8rem;
}

.effort-volunteer-closed-msg {
	color: #a32020;
	text-align: center;
	max-width: 22em;
}

.effort-volunteer-view .modification-button {
	height: auto;
	width: auto;
	min-height: 44px;
	padding: 8px 18px;
}

.effort-volunteer-confirm-prompt {
	margin: 0 0 10px;
}

.effort-volunteer-confirm-actions {
	gap: 10px;
	flex-wrap: nowrap;
}

.effort-volunteer-confirmed-line {
	margin-bottom: 8px;
}

.effort-volunteer-materials-note {
	margin: 12px 0 0;
	line-height: 1.45;
}

/* state-flow-graph directive (dagre-d3, reports status colors) */
.state-flow-graph-root {
	margin: 0 0 10px;
}

.state-flow-graph-heading,
.reports-directive-root .reports-heading,
.reports-directive-root .reports-detail-title {
	color: #000000;
	font-weight: 600;
}

/* Effort reports panel (workspace edge-set + overlay) is on black chrome. */
.effort-reports-panel .reports-directive-root .reports-heading,
.effort-reports-panel .reports-directive-root .reports-detail-title {
	color: #FF8C00;
}

.state-flow-graph-heading {
	font-size: 0.82em;
	margin: 0 0 4px;
}

.state-flow-graph-loading,
.reports-directive-root .reports-muted,
.reports-directive-root .reports-empty {
	color: #999;
}

.state-flow-graph-loading {
	font-size: 0.8em;
	padding: 4px 0;
}

.state-flow-graph-svg-wrap {
	height: 118px;
	overflow: hidden;
	width: 100%;
}

.state-flow-graph-svg {
	display: block;
	height: 118px;
	width: 100%;
}

.state-flow-graph-svg .state-flow-cluster rect {
	fill: rgba(255, 140, 0, 0.04);
	stroke: rgba(255, 140, 0, 0.22);
	stroke-dasharray: 4 3;
	stroke-width: 1px;
}

.state-flow-graph-svg .state-flow-cluster--terminal rect {
	fill: rgba(158, 158, 158, 0.06);
	stroke: rgba(158, 158, 158, 0.35);
}

.state-flow-graph-svg g.node.state-flow-dagre-node rect {
	fill: #000;
	rx: 8;
	ry: 8;
	stroke-width: 1.5px;
}

.state-flow-graph-svg g.node.state-flow-dagre-node text {
	font-size: 9px;
	font-weight: 600;
	pointer-events: none;
}

.state-flow-graph-svg g.node.state-flow-dagre-node--current rect {
	filter: drop-shadow(0 0 3px rgba(255, 140, 0, 0.55));
	stroke-width: 2.5px;
}

.state-flow-graph-svg g.edgePath.state-flow-edge path {
	fill: none;
	stroke: #666;
	stroke-width: 1.1px;
}

.state-flow-graph-svg g.edgePath.state-flow-edge marker path {
	fill: #666;
}

.state-flow-graph-svg g.edgePath.state-flow-edge--from-current path {
	stroke: #FF8C00;
	stroke-width: 1.4px;
}

.state-flow-graph-svg g.edgePath.state-flow-edge--from-current marker path {
	fill: #FF8C00;
}

/* Phase 11 — logged-in viewport shell & workspace host (11a/11d) */
.swarm-site-brand {
	position: fixed;
	left: 25px;
	top: 0;
	z-index: 10;
	pointer-events: none;
}

.swarm-logged-in-shell {
	--swarm-shell-h-inset: 24px;
	--swarm-shell-top-inset: 64px;
	--swarm-shell-bottom-chrome: 132px;
	--swarm-dag-node-list-top-offset: 150px;
	--swarm-pane-width-min: 400px;
	--swarm-pane-width-max: 520px;
	--swarm-pane-seam: 6px;

	position: fixed;
	inset: 0;
	display: flex;
	flex-direction: column;
	pointer-events: none;
	z-index: 1;
	box-sizing: border-box;
}

.swarm-logged-in-shell #swarm-main-graph-svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	pointer-events: none;
}

.swarm-logged-in-shell--active.swarm-shell--mode-dag #swarm-main-graph-svg {
	z-index: 2;
	pointer-events: auto;
}

.swarm-logged-in-shell--active.swarm-shell--mode-panes #swarm-main-graph-svg {
	pointer-events: none;
}

.swarm-logged-in-shell.swarm-shell--mode-dag swarm-view-workspace.swarm-workspace-host {
	flex: none;
	height: 0;
	min-height: 0;
	padding: 0;
	overflow: hidden;
	visibility: hidden;
	pointer-events: none;
}

.swarm-shell-view-mode-toggle md-icon {
	font-size: 22px;
	width: 22px;
	height: 22px;
	line-height: 22px;
}

.swarm-dag-node-list {
	position: fixed;
	top: calc(
		var(--swarm-shell-top-inset) + var(--swarm-dag-node-list-top-offset, 150px)
		+ env(safe-area-inset-top, 0)
	);
	left: max(var(--swarm-shell-h-inset), env(safe-area-inset-left, 0));
	width: min(400px, calc(100vw - (2 * var(--swarm-shell-h-inset))));
	max-height: calc(
		100vh - var(--swarm-shell-top-inset) - var(--swarm-dag-node-list-top-offset, 150px)
		- var(--swarm-shell-bottom-chrome) - 16px
		- env(safe-area-inset-top, 0) - env(safe-area-inset-bottom, 0)
	);
	overflow: hidden;
	z-index: 3;
	pointer-events: auto;
	box-sizing: border-box;
	padding: 0 4px 8px 0;
	display: flex;
	flex-direction: column;
}

/* Flex chain so list-scroll (not the fixed shell) owns overflow-y. */
.swarm-dag-node-list > node-list {
	flex: 1 1 auto;
	min-height: 0;
	max-height: 100%;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.swarm-dag-node-list node-list > .swarm-node-list,
.swarm-dag-node-list .swarm-dag-node-list__shell {
	flex: 1 1 auto;
	min-height: 0;
	max-height: 100%;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

/* Phase 16c-4 — DAG radial menu (retired UI; styles retained for tests / fallback). */
.swarm-dag-radial-menu {
	position: fixed;
	left: 50%;
	top: 42%;
	transform: translate(-50%, -50%);
	z-index: 4;
	pointer-events: auto;
	max-width: min(360px, calc(100vw - 32px));
}

/* Phase 16c-5 — floating DAG preview card */
.swarm-dag-preview-card {
	position: fixed;
	left: 525px;
	top: 675px;
	transform: translate(-50%, 0);
	z-index: 4;
	pointer-events: auto;
	max-width: min(320px, calc(100vw - 32px));
	min-width: 220px;
}

.swarm-dag-preview-card__panel {
	position: relative;
	background: rgba(12, 12, 12, 0.94);
	border: 1px solid #663300;
	border-radius: 10px;
	padding: 16px 18px 14px;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
	color: #FFBC00;
}

.swarm-dag-preview-card__close {
	position: absolute;
	top: 6px;
	right: 6px;
	min-width: 32px;
	min-height: 32px;
	padding: 0;
	border: none;
	background: transparent;
	color: #FF8C00;
	cursor: pointer;
}

.swarm-dag-preview-card__type {
	margin: 0 28px 4px 0;
	font-size: 0.7rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	opacity: 0.8;
}

.swarm-dag-preview-card__name {
	margin: 0 28px 12px 0;
	font-size: 1.1rem;
	font-weight: 600;
	color: #FF8C00;
	word-break: break-word;
}

.swarm-dag-preview-card__open {
	width: 100%;
}

.swarm-dag-node-list__rows .node-line.node-preview {
	border-color: #38ff9c;
	box-shadow: inset 0 0 0 1px rgba(56, 255, 156, 0.35);
}

path.graph-node.nav-dag-preview {
	stroke: #38ff9c !important;
	stroke-width: 6px !important;
	opacity: 1 !important;
}

.swarm-dag-radial-menu__panel {
	background: rgba(12, 12, 12, 0.94);
	border: 1px solid rgba(255, 188, 0, 0.45);
	border-radius: 12px;
	padding: 10px 12px 12px;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
}

.swarm-dag-radial-menu__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 8px;
}

.swarm-dag-radial-menu__title {
	color: #ffbc00;
	font-size: 0.95rem;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.swarm-dag-radial-menu__close {
	min-width: 36px;
	min-height: 36px;
	padding: 4px;
}

.swarm-dag-radial-menu__slots {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.swarm-dag-radial-menu__slot {
	min-height: 44px;
	padding: 8px 10px;
	border-radius: 8px;
	border: 1px solid rgba(255, 188, 0, 0.35);
	background: rgba(255, 188, 0, 0.08);
	color: #f5f5f5;
	cursor: pointer;
	font-size: 0.9rem;
}

.swarm-dag-radial-menu__slot:hover,
.swarm-dag-radial-menu__slot:focus-visible {
	background: rgba(255, 188, 0, 0.18);
	outline: none;
}

.swarm-dag-node-list__shell {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	max-height: 100%;
	width: 100%;
	overflow: hidden;
}

.swarm-dag-node-list__filter-row {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 6px;
	flex: none;
	margin-bottom: 8px;
	width: 100%;
}

.swarm-dag-node-list .node-filter-input {
	position: static;
	left: auto;
	top: auto;
	transform: none;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 6px;
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 6px 8px;
	border: 1px solid #663300;
	border-radius: 8px;
	background-color: rgba(0, 0, 0, 0.35);
}

.swarm-dag-node-list .node-filter-input md-input-container {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.swarm-dag-node-list .node-filter-input .md-errors-spacer {
	min-height: 0;
}

.swarm-dag-node-list .node-filter-input button {
	flex: none;
	margin-left: 0;
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: #FF8C00;
	cursor: pointer;
}

.swarm-dag-node-list .node-filter-input button:hover,
.swarm-dag-node-list .node-filter-input button:focus-visible {
	background-color: rgba(255, 140, 0, 0.12);
	outline: none;
}

.swarm-dag-node-list__filter-clear {
	flex: none;
	min-width: 36px;
	min-height: 36px;
	padding: 0;
	border: 1px solid #663300;
	border-radius: 6px;
	background-color: rgba(0, 0, 0, 0.35);
	color: #FF8C00;
	cursor: pointer;
}

.swarm-dag-node-list__filter-clear:hover,
.swarm-dag-node-list__filter-clear:focus-visible {
	background-color: rgba(255, 140, 0, 0.12);
	border-color: #FF8C00;
	outline: none;
}

.swarm-dag-node-list__list-scroll {
	flex: 1 1 auto;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.swarm-dag-node-list__section {
	margin-bottom: 12px;
}

.swarm-dag-node-list__section-title {
	color: rgba(255, 188, 0, 0.85);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 0 0 6px 2px;
}

.swarm-dag-node-list__rows--archive .node-line {
	opacity: 0.72;
}

.swarm-dag-node-list__rows--archive .node-line.node-selected {
	opacity: 1;
}

.swarm-dag-node-list__rows--history .node-line {
	opacity: 0.8;
}

.swarm-dag-node-list__rows--history .node-line.node-selected {
	opacity: 1;
}

.swarm-dag-node-list__rows .node-line {
	cursor: pointer;
}

.swarm-dag-node-list__empty {
	margin: 8px 0 0;
	padding: 0 4px;
	font-size: 12px;
	color: #FFBC00;
	opacity: 0.85;
}

/* Phase 15 — navigation DAG graph layers */
path.graph-node {
	cursor: grab;
}

/* On-graph node names: gold on black with a dark halo for contrast over hex fills. */
#swarm-main-graph-svg text.graph-node-label {
	fill: #FFBC00 !important;
	stroke: rgba(0, 0, 0, 0.92) !important;
	stroke-width: 3.5px !important;
	paint-order: stroke fill;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 12px !important;
	font-weight: 600;
	letter-spacing: 0.01em;
	pointer-events: none;
	user-select: none;
}

path.graph-node.nav-dag-ephemeral {
	opacity: 0.45;
}

#swarm-main-graph-svg text.graph-node-label.nav-dag-ephemeral {
	opacity: 0.55;
}

line.graph-link.nav-dag-ephemeral {
	stroke-dasharray: 6 4;
	opacity: 0.5;
}

path.graph-node.nav-dag-ancestry,
line.graph-link.nav-dag-ancestry {
	stroke: #38ff9c !important;
	stroke-width: 6px !important;
}

path.graph-node.nav-dag-hub {
	stroke-width: 7px !important;
}

path.graph-node.nav-dag-nav {
	stroke-width: 6px !important;
}

path.graph-node.nav-dag-visited {
	opacity: 1;
}

.swarm-logged-in-shell .view-container {
	position: relative;
	z-index: 3;
	pointer-events: auto;
	flex: 1 1 auto;
	min-height: 0;
}

.swarm-logged-in-shell--active .view-container {
	flex: none;
	height: 0;
	min-height: 0;
	overflow: hidden;
	pointer-events: none;
}

.swarm-bottom-chrome {
	flex: none;
	flex-shrink: 0;
	position: relative;
	z-index: 4;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	/* Phase 18-4: reserve the full stacked band (main-nav + menu-bar + safe-area). */
	min-height: 80px;
	padding: 8px var(--swarm-shell-h-inset) calc(15px + env(safe-area-inset-bottom, 0));
	pointer-events: none;
	box-sizing: border-box;
	overflow: visible;
}

.swarm-bottom-chrome__main-nav {
	position: relative;
	z-index: 5;
	width: 100%;
	max-width: min(960px, calc(100vw - 32px));
	min-width: 0;
	pointer-events: auto;
	/* Density follows this band's width (capped at 960px), not the viewport. */
	container-type: inline-size;
	container-name: swarm-workspace-main-nav;
}

.swarm-bottom-chrome__main-nav .swarm-main-nav-row--workspace,
.swarm-bottom-chrome__main-nav .swarm-main-nav-row__inner {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.swarm-bottom-chrome__main-nav .swarm-main-nav-row__inner {
	overflow: visible;
	gap: 10px;
}

/* Keep the 50×50 modification-button size; shrink only when the band is tight. */
.swarm-bottom-chrome__main-nav .swarm-main-nav-tab.modification-button {
	flex: 0 1 50px;
	width: 50px;
	max-width: 50px;
	min-width: 44px;
	height: 50px;
	max-height: 50px;
	min-height: 44px;
	box-sizing: border-box;
	margin: 0;
	padding: 2px 1px 3px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1px;
	position: relative;
	background-color: transparent;
}

.swarm-bottom-chrome__main-nav .swarm-main-nav-tab.swarm-main-nav-tab--active {
	border-color: #ff8c00 !important;
	background-color: rgba(255, 140, 0, 0.18);
	color: #ffbc00;
}

.swarm-bottom-chrome__main-nav .swarm-main-nav-tab-glyph {
	flex: 0 0 auto;
	width: 100%;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.swarm-bottom-chrome__main-nav .swarm-main-nav-tab .swarm-main-nav-tab-glyph > md-icon {
	font-size: 20px;
	width: 20px;
	height: 20px;
	min-width: 20px;
	min-height: 20px;
}

.swarm-bottom-chrome__main-nav .swarm-main-nav-tab-md,
.swarm-bottom-chrome__main-nav .swarm-main-nav-tab md-icon,
.swarm-bottom-chrome__main-nav .modification-button > md-icon {
	color: #FFBC00 !important;
}

.swarm-bottom-chrome__main-nav .swarm-main-nav-tab--active .swarm-main-nav-tab-md,
.swarm-bottom-chrome__main-nav .swarm-main-nav-tab--active md-icon {
	color: #FFC857 !important;
}

.swarm-bottom-chrome__main-nav .swarm-main-nav-label {
	flex: 0 0 auto;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	padding: 0 1px;
	font-size: 9px;
	line-height: 1.1;
	font-weight: 600;
	text-align: center;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	word-break: break-word;
}

/* Tight chrome: keep every tab, drop visible labels (title / text remain for AT). */
@container swarm-workspace-main-nav (max-width: 640px) {
	.swarm-bottom-chrome__main-nav .swarm-main-nav-row__inner {
		gap: 6px;
	}

	.swarm-bottom-chrome__main-nav .swarm-main-nav-tab.modification-button {
		padding: 2px;
		gap: 0;
	}

	.swarm-bottom-chrome__main-nav .swarm-main-nav-label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		clip-path: inset(50%);
		white-space: nowrap;
		border: 0;
		display: block;
		-webkit-line-clamp: unset;
		line-clamp: unset;
	}
}

/* Phase 18-4: menu-bar is in-flow inside the chrome stack (no second fixed layer). */
.swarm-bottom-chrome .menu-bar {
	position: relative;
	bottom: auto;
	left: auto;
	transform: none;
	z-index: 30;
	overflow: visible;
	pointer-events: auto;
	text-align: center;
}

/* Legacy / non-shell menu-bar hosts (wizards) keep classic fixed placement. */
.menu-bar {
	position: fixed;
	bottom: calc(15px + env(safe-area-inset-bottom, 0));
	left: 50%;
	transform: translate(-50%, 0%);
	z-index: 30;
	overflow: visible;
	pointer-events: auto;
	text-align: center;
}

.menu-bar .menu-bar__caption {
	/* Out of flow so hover labels sit above icons without shifting the button row. */
	position: absolute;
	left: 50%;
	bottom: 100%;
	transform: translateX(-50%);
	margin: 0 0 8px;
	background-color: #000000;
	border-radius: 15px;
	font-size: 24px;
	line-height: 1.2;
	min-height: 30px;
	padding: 10px 16px;
	color: #FFBC00;
	pointer-events: none;
	white-space: nowrap;
}

swarm-view-workspace.swarm-workspace-host,
swarm-view-workspace.node-list-panel {
	position: relative;
	z-index: 2;
	flex: 1 1 0;
	min-height: 0;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding:
		calc(var(--swarm-shell-top-inset) + env(safe-area-inset-top, 0))
		env(safe-area-inset-right, 0)
		0
		env(safe-area-inset-left, 0);
	box-sizing: border-box;
	pointer-events: none;
	overflow: hidden;
}

/*
 * Mobile workspace remains in the logged-in shell's column flow. The bottom
 * chrome is the following flex row, so its measured height is reserved
 * automatically instead of relying on a fixed 132px estimate. Keep overflow
 * clipped and avoid height:auto so content cannot push chrome below the fold.
 */
swarm-view-workspace.swarm-workspace-host.swarm-workspace-host--mobile {
	position: relative;
	inset: auto;
	flex: 1 1 0;
	width: 100%;
	height: auto;
	max-width: none;
	max-height: 100%;
	min-height: 0;
	padding: 0;
	overflow: hidden;
	align-items: center;
}

swarm-view-workspace.swarm-workspace-host--mobile swarm-view-pane,
swarm-view-workspace.swarm-workspace-host--mobile .swarm-view-pane {
	min-width: 0;
	flex: 1 1 auto;
	max-width: 100%;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

swarm-view-workspace.swarm-workspace-host--mobile
	.swarm-view-workspace-shell.swarm-view-workspace--browser-primary
	swarm-view-pane,
swarm-view-workspace.swarm-workspace-host--mobile
	.swarm-view-workspace-shell:not(.swarm-view-workspace--multipane):not(.swarm-view-workspace--detail)
	swarm-view-pane {
	max-width: 100%;
}

swarm-view-workspace.swarm-workspace-host > .swarm-view-workspace-shell,
swarm-view-workspace.node-list-panel > .swarm-view-workspace-shell {
	flex: 1 1 0;
	min-height: 0;
	width: 100%;
	max-width: none;
	overflow: visible;
	display: flex;
	flex-direction: column;
}

swarm-view-workspace.swarm-workspace-host > .swarm-view-workspace-shell.swarm-view-workspace--browser-primary,
swarm-view-workspace.node-list-panel > .swarm-view-workspace-shell.swarm-view-workspace--browser-primary,
swarm-view-workspace.swarm-workspace-host > .swarm-view-workspace-shell.swarm-view-workspace--multipane,
swarm-view-workspace.node-list-panel > .swarm-view-workspace-shell.swarm-view-workspace--multipane {
	max-width: 100%;
	width: 100%;
}

swarm-view-workspace.swarm-workspace-host > .swarm-view-workspace-shell.swarm-view-workspace--detail:not(.swarm-view-workspace--multipane):not(.swarm-view-workspace--browser-primary),
swarm-view-workspace.node-list-panel > .swarm-view-workspace-shell.swarm-view-workspace--detail:not(.swarm-view-workspace--multipane):not(.swarm-view-workspace--browser-primary) {
	max-width: 100%;
}

swarm-view-workspace.swarm-workspace-host > .swarm-view-workspace-shell > .swarm-view-workspace,
swarm-view-workspace.node-list-panel > .swarm-view-workspace-shell > .swarm-view-workspace {
	flex: 1 1 0;
	min-height: 0;
	width: 100%;
	overflow: hidden;
}

swarm-view-workspace.swarm-workspace-host swarm-view-pane,
swarm-view-workspace.swarm-workspace-host swarm-view-pane *,
swarm-view-workspace.node-list-panel swarm-view-pane,
swarm-view-workspace.node-list-panel swarm-view-pane * {
	pointer-events: auto;
}

.swarm-view-workspace-shell {
	position: relative;
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-height: 0;
	width: 100%;
	overflow: visible;
}

.swarm-view-workspace {
	width: 100%;
	min-width: 0;
	min-height: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	align-items: stretch;
	flex: 1 1 0;
	overflow: hidden;
}

.swarm-view-workspace-shell.swarm-view-workspace--multipane .swarm-view-workspace {
	gap: var(--swarm-pane-seam, 6px);
}

.swarm-view-workspace-shell.swarm-view-workspace--multipane swarm-view-pane + swarm-view-pane {
	border-left: 1px solid #663300;
}

.swarm-view-workspace__close.close-element-focus {
	position: fixed;
	top: calc(var(--swarm-shell-top-inset, 64px) + 12px + env(safe-area-inset-top, 0));
	/* Clear of corner-nav column + notification icon (shell right:50px, width:50px, icons shift left:~30px). */
	right: max(130px, env(safe-area-inset-right, 0));
	z-index: 20;
	margin: 0;
	padding: 8px;
	min-width: 44px;
	min-height: 44px;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.45);
	border: 1px solid #FF8C00;
	border-radius: 6px;
	cursor: pointer;
	pointer-events: auto;
}

.swarm-view-workspace__close.close-element-focus > md-icon {
	color: #FFBC00;
}

.swarm-view-workspace__main-nav {
	/* Phase 18-4: main-nav moved to `.swarm-bottom-chrome__main-nav`. Keep selector for tests/legacy. */
	display: none;
}

.swarm-view-workspace__main-nav .swarm-main-nav-row--workspace {
	width: 100%;
}

.swarm-view-workspace__main-nav .swarm-main-nav-tab-md,
.swarm-view-workspace__main-nav .swarm-main-nav-tab md-icon,
.swarm-view-workspace__main-nav .modification-button > md-icon {
	color: #FFBC00 !important;
}

.swarm-view-workspace__main-nav .swarm-main-nav-tab--active .swarm-main-nav-tab-md,
.swarm-view-workspace__main-nav .swarm-main-nav-tab--active md-icon {
	color: #FFC857 !important;
}

.swarm-view-workspace-viewport {
	position: relative;
	display: flex;
	flex: 1 1 0;
	min-height: 0;
	width: 100%;
	align-items: stretch;
	border: none;
	border-radius: 0;
	background-color: #000000;
	overflow: hidden;
	box-sizing: border-box;
}

.swarm-view-workspace__carousel-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 56px;
	padding: 0;
	margin: 0;
	border: none;
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.45);
	color: #fff;
	cursor: pointer;
	pointer-events: auto;
}

.swarm-view-workspace__carousel-btn:disabled {
	opacity: 0.35;
	cursor: default;
}

.swarm-view-workspace__carousel-btn--prev {
	left: 8px;
}

.swarm-view-workspace__carousel-btn--next {
	right: 8px;
}

.swarm-view-workspace__carousel-btn md-icon {
	font-size: 32px;
	width: 32px;
	height: 32px;
	line-height: 32px;
}

.swarm-view-workspace-shell.swarm-view-workspace--bottom-main-nav
.swarm-view-pane__hive-host .swarm-main-nav-row {
	display: none !important;
}

swarm-view-pane {
	display: flex;
	flex-direction: column;
	flex: 1 1 var(--swarm-pane-width-min, 400px);
	min-width: min(var(--swarm-pane-width-min, 400px), 100%);
	max-width: none;
	max-height: 100%;
	min-height: 0;
	align-self: stretch;
	overflow: hidden;
	box-sizing: border-box;
}

swarm-view-pane > .swarm-view-pane {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	width: 100%;
	max-height: 100%;
	min-height: 0;
	overflow: hidden;
	box-sizing: border-box;
}

.swarm-navigation-browse {
	flex: 1 1 0;
	min-height: 0;
	max-height: 100%;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	overflow: hidden;
}

.swarm-navigation-browse > node-list {
	flex: 1 1 0;
	min-height: 0;
	max-height: 100%;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.swarm-node-browser,
.swarm-view-pane__node-browser-host .swarm-node-browser {
	flex: 1 1 0;
	min-height: 0;
	max-height: 100%;
	display: grid;
	grid-template-rows: auto auto minmax(0, 1fr);
	padding: 16px 18px;
	box-sizing: border-box;
	overflow: hidden;
	gap: 0;
}

.swarm-node-browser__heading,
.swarm-node-browser__nav-buttons,
.swarm-node-browser__filter-row {
	flex: none;
}

.swarm-node-browser__nav-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 8px;
	margin-bottom: 10px;
	grid-row: 1;
}

.swarm-node-browser__nav-btn {
	min-height: 36px;
	margin: 0;
	padding: 6px 12px;
	border: 1px solid #CC6600;
	border-radius: 6px;
	background-color: #1a1a1a;
	color: #FFBC00;
	font-size: 13px;
	line-height: 1.2;
	cursor: pointer;
}

.swarm-node-browser__nav-btn:hover,
.swarm-node-browser__nav-btn:focus-visible {
	background-color: rgba(255, 140, 0, 0.15);
	border-color: #FF8C00;
	outline: none;
}

.swarm-node-browser__filter-row {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 6px;
	margin-bottom: 10px;
	width: 100%;
	grid-row: 2;
}

.swarm-node-browser .node-filter-input,
.swarm-navigation-browse .node-filter-input {
	position: static;
	left: auto;
	top: auto;
	transform: none;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 6px;
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 6px 8px;
	border: 1px solid #663300;
	border-radius: 8px;
	background-color: rgba(0, 0, 0, 0.35);
}

.swarm-node-browser .node-filter-input md-input-container,
.swarm-navigation-browse .node-filter-input md-input-container {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.swarm-node-browser .node-filter-input .md-errors-spacer,
.swarm-navigation-browse .node-filter-input .md-errors-spacer {
	min-height: 0;
}

.swarm-node-browser .node-filter-input button,
.swarm-navigation-browse .node-filter-input button {
	flex: none;
	margin-left: 0;
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: #FF8C00;
	cursor: pointer;
}

.swarm-node-browser .node-filter-input button:hover,
.swarm-node-browser .node-filter-input button:focus-visible,
.swarm-navigation-browse .node-filter-input button:hover,
.swarm-navigation-browse .node-filter-input button:focus-visible {
	background-color: rgba(255, 140, 0, 0.12);
	outline: none;
}

.swarm-node-browser__filter-clear {
	flex: none;
	min-width: 44px;
	min-height: 44px;
	margin: 0;
	padding: 0;
	border: 1px solid #663300;
	border-radius: 8px;
	background-color: rgba(0, 0, 0, 0.35);
	color: #FF8C00;
	cursor: pointer;
}

.swarm-node-browser__filter-clear:hover,
.swarm-node-browser__filter-clear:focus-visible {
	background-color: rgba(255, 140, 0, 0.12);
	border-color: #FF8C00;
	outline: none;
}

.swarm-node-browser__list-scroll,
.swarm-navigation-browse__list-scroll {
	grid-row: 3;
	min-height: 0;
	max-height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding-right: 2px;
}

.swarm-node-browser__list,
.swarm-node-browser .node-list {
	display: flex;
	flex-direction: column;
	gap: 2px;
	background-color: transparent;
}

.swarm-node-browser__row,
.swarm-node-browser .node-line,
.swarm-node-list__row.node-line {
	display: flex;
	align-items: center;
	min-height: 40px;
	height: auto !important;
	padding: 8px 12px;
	border: 1px solid transparent;
	border-radius: 6px;
	font-size: 14px;
	line-height: 1.3;
	color: #FFBC00;
	cursor: pointer;
	box-sizing: border-box;
	overflow: visible;
}

.swarm-node-browser__row .node-title,
.swarm-node-browser .node-line .node-title,
.swarm-node-list__row .node-title {
	position: static;
	left: auto;
	top: auto;
	margin: 0;
	overflow-wrap: break-word;
	word-break: normal;
}

.swarm-node-browser__row:hover,
.swarm-node-browser .node-line:hover,
.swarm-node-browser__row.node-highlight,
.swarm-node-browser .node-line.node-highlight,
.swarm-node-list__row.node-highlight,
.swarm-node-list__row:hover {
	background-color: rgba(255, 140, 0, 0.12);
	border-color: #663300;
	font-size: 14px;
	height: auto !important;
	min-height: 44px;
}

/* Selection must read clearly vs hover — solid fill + leading accent bar. */
.swarm-node-browser__row.node-selected,
.swarm-node-browser .node-line.node-selected,
.swarm-node-list__row.node-selected,
.swarm-node-list__row--selected,
.swarm-dag-node-list__rows .node-line.node-selected {
	background-color: #FFBC00 !important;
	border-color: #FF8C00 !important;
	box-shadow:
		inset 4px 0 0 #CC6600,
		0 0 0 1px rgba(255, 140, 0, 0.55);
	color: #000000 !important;
	opacity: 1 !important;
	font-weight: 600;
	height: auto !important;
	min-height: 44px;
}

.swarm-node-browser__row.node-selected .node-title,
.swarm-node-browser .node-line.node-selected .node-title,
.swarm-node-list__row.node-selected .node-title,
.swarm-node-list__row--selected .node-title,
.swarm-dag-node-list__rows .node-line.node-selected .node-title,
.swarm-node-browser__row.node-selected .swarm-node-list__row-subtitle,
.swarm-node-list__row--selected .swarm-node-list__row-subtitle {
	color: #000000 !important;
}

/* Hovering the selected row keeps selection chrome; only brighten slightly. */
.swarm-node-browser__row.node-selected:hover,
.swarm-node-browser .node-line.node-selected:hover,
.swarm-node-list__row.node-selected:hover,
.swarm-node-list__row--selected:hover,
.swarm-dag-node-list__rows .node-line.node-selected:hover,
.swarm-node-browser__row.node-selected.node-highlight,
.swarm-node-browser .node-line.node-selected.node-highlight,
.swarm-node-list__row.node-selected.node-highlight,
.swarm-node-list__row--selected.node-highlight {
	background-color: #FFC857 !important;
	border-color: #FF8C00 !important;
}

.swarm-node-browser__row:focus-visible,
.swarm-node-browser .node-line:focus-visible {
	outline: 2px solid #FF8C00;
	outline-offset: 1px;
}

/* Phase 11c — shared node list row shell + action rail */
.swarm-node-list__row {
	position: relative;
	display: flex;
	align-items: stretch;
	gap: 8px;
	/* Title uses full row width; hover rail overlays instead of reserving flex space. */
	padding-right: 12px;
}

.swarm-node-list__row-body {
	flex: 1 1 auto;
	display: flex;
	align-items: flex-start;
	gap: 8px;
	min-width: 0;
	width: 100%;
}

.swarm-node-list__row-glyph {
	flex: 0 0 28px;
	width: 28px;
	min-width: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #FFBC00;
}

.swarm-node-list__row-text {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
}

.swarm-node-list__row-subtitle {
	margin-top: 2px;
	font-size: 12px;
	line-height: 1.35;
	color: #CC6600;
	opacity: 0.9;
	overflow-wrap: break-word;
	word-break: normal;
}

.swarm-node-list__row-actions {
	position: absolute;
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 2px 4px;
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.85);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.15s ease;
}

.swarm-node-list__row:hover .swarm-node-list__row-actions,
.swarm-node-list__row:focus-within .swarm-node-list__row-actions,
.swarm-node-list__row--swiped .swarm-node-list__row-actions,
.swarm-node-list__row--overflow-open .swarm-node-list__row-actions {
	opacity: 1;
	pointer-events: auto;
}

.swarm-node-list__row-action,
.swarm-node-list__row-mobile-menu {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	border: none;
	border-radius: 6px;
	background: transparent;
	color: #FFBC00;
	cursor: pointer;
}

.swarm-node-list__row-action md-icon,
.swarm-node-list__row-mobile-menu md-icon,
.swarm-node-list__row-overflow-item md-icon {
	color: #FFBC00 !important;
}

.swarm-node-list__row-action:hover,
.swarm-node-list__row-mobile-menu:hover {
	background: rgba(255, 140, 0, 0.22);
}

.swarm-node-list__row-action:hover md-icon,
.swarm-node-list__row-mobile-menu:hover md-icon {
	color: #FFC857 !important;
}

.swarm-node-list__row-action:disabled {
	opacity: 0.45;
	cursor: default;
}

.swarm-node-list__row-mobile-menu {
	display: none;
	flex: 0 0 auto;
	margin-left: auto;
}

.swarm-node-list__row-overflow-menu {
	position: absolute;
	right: 8px;
	top: calc(100% - 4px);
	z-index: 5;
	min-width: 180px;
	padding: 4px;
	border: 1px solid #663300;
	border-radius: 8px;
	background: #111;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

.swarm-node-list__row-overflow-item {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	min-height: 44px;
	padding: 8px 10px;
	border: none;
	border-radius: 6px;
	background: transparent;
	color: #FFBC00;
	text-align: left;
	cursor: pointer;
}

.swarm-node-list__row-overflow-item:hover {
	background: rgba(255, 140, 0, 0.12);
}

/* Phase 18-2: shared list scroll hosts — flex fill + no horizontal bleed. */
.swarm-volunteer-efforts__scroll,
.swarm-admin-efforts__scroll,
.swarm-admin-effort-tasks__scroll,
.swarm-vote-topics__scroll,
.swarm-discussion-threads__scroll,
.swarm-plan-frontier-nodes__scroll {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-height: 0;
	min-width: 0;
	max-height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
}

.swarm-volunteer-efforts__list {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.swarm-volunteer-efforts__empty {
	margin: 0;
	padding: 16px 12px;
	color: #CC6600;
	font-size: 14px;
	text-align: center;
}

.swarm-discussion-threads__list {
	padding: 0;
}

.swarm-discussion-threads__empty {
	padding: 12px 8px;
	color: #999;
	font-size: 0.95em;
}

.swarm-vote-topics__list {
	padding: 0;
}

.swarm-vote-topics__empty {
	padding: 12px 8px;
	color: #999;
	font-size: 0.95em;
}

.swarm-plan-frontier-nodes__list {
	padding: 0;
}

.swarm-plan-frontier-nodes__empty {
	padding: 12px 8px;
	color: #999;
	font-size: 0.95em;
}

.swarm-plan-frontier-node__row {
	align-items: stretch;
	flex-direction: column;
	gap: 6px;
	height: auto !important;
	min-height: 40px;
}

.swarm-plan-frontier-node__main {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	min-width: 0;
	position: relative;
}

.swarm-plan-frontier-node__row .swarm-node-list__row-body {
	flex: 1 1 auto;
	min-width: 0;
}

.swarm-plan-frontier-node__row .swarm-node-list__row-actions {
	position: static;
	transform: none;
	opacity: 1;
	pointer-events: auto;
	background: transparent;
	padding: 0;
	flex: 0 0 auto;
}

.swarm-plan-frontier-node__votes {
	display: flex;
	align-items: stretch;
	justify-content: stretch;
	gap: 4px;
	width: 100%;
	min-width: 0;
}

.swarm-plan-frontier-node__vote {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	min-width: 0;
	min-height: 52px;
	padding: 4px 2px;
	border: 1px solid #663300;
	border-radius: 6px;
	background: rgba(0, 0, 0, 0.35);
	color: #FFBC00;
	cursor: pointer;
}

.swarm-plan-frontier-node__vote md-icon {
	color: #FFBC00 !important;
}

.swarm-plan-frontier-node__vote-tally {
	font-size: 11px;
	line-height: 1.2;
	color: #CC6600;
}

.swarm-plan-frontier-node__vote:hover {
	background: rgba(255, 140, 0, 0.16);
	border-color: #FF8C00;
}

.swarm-plan-frontier-node__vote--selected {
	background: rgba(255, 188, 0, 0.22);
	border-color: #FFBC00;
}

.swarm-plan-frontier-node__vote--selected md-icon {
	color: #FFC857 !important;
}

.swarm-plan-frontier-node__expand,
.swarm-plan-frontier-node__expand-spacer {
	flex: 0 0 28px;
	width: 28px;
	min-width: 28px;
	height: 28px;
	padding: 0;
	margin: 0 4px 0 0;
	border: none;
	background: transparent;
	color: #FF8C00;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.swarm-plan-frontier-node__expand-spacer {
	visibility: hidden;
	pointer-events: none;
}

/* Flat lists (hive voting frontier): no tree chrome, no reserved expand gutter. */
.swarm-plan-frontier-node__row--flat .swarm-plan-frontier-node__expand-spacer {
	display: none;
}

.swarm-admin-efforts__list {
	padding: 0;
}

.swarm-admin-efforts__empty {
	padding: 12px 8px;
	color: #999;
	font-size: 0.95em;
}

.swarm-admin-effort-tasks__list {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.swarm-admin-effort-tasks__empty {
	margin: 0;
	padding: 16px 12px;
	color: #999;
	font-size: 14px;
	text-align: center;
}

@media (max-width: 767px) {
	.swarm-node-list__row {
		padding-right: 4px;
	}

	.swarm-node-list__row-mobile-menu {
		display: inline-flex;
	}

	.swarm-node-list__row-actions {
		opacity: 0;
		pointer-events: none;
	}

	/* Swipe reveals the icon rail; opening ⋯ does not (menu is the overflow surface). */
	.swarm-node-list__row--swiped .swarm-node-list__row-actions {
		opacity: 1;
		pointer-events: auto;
	}

	.swarm-node-list__row-overflow-trigger {
		display: none;
	}

	.swarm-node-list__row-overflow-menu {
		right: 4px;
		left: auto;
		min-width: 0;
		max-width: min(220px, calc(100% - 8px));
		width: max-content;
		box-sizing: border-box;
	}
}

/* Phase 18-3: same mobile row chrome under ViewLayoutService --mobile (narrow fixtures + single-pane). */
.swarm-view-workspace--mobile .swarm-node-list__row {
	padding-right: 4px;
	min-width: 0;
	max-width: 100%;
}

.swarm-view-workspace--mobile .swarm-node-list__row-mobile-menu {
	display: inline-flex;
	flex: 0 0 auto;
	min-width: 44px;
	min-height: 44px;
}

.swarm-view-workspace--mobile .swarm-node-list__row-actions {
	opacity: 0;
	pointer-events: none;
	max-width: calc(100% - 16px);
	flex-wrap: wrap;
	justify-content: flex-end;
}

.swarm-view-workspace--mobile .swarm-node-list__row--swiped .swarm-node-list__row-actions {
	opacity: 1;
	pointer-events: auto;
}

.swarm-view-workspace--mobile .swarm-node-list__row-overflow-trigger {
	display: none;
}

.swarm-view-workspace--mobile .swarm-node-list__row-overflow-menu {
	right: 4px;
	left: auto;
	min-width: 0;
	max-width: min(220px, calc(100% - 8px));
	width: max-content;
	box-sizing: border-box;
}

.swarm-view-workspace--mobile .swarm-node-list__row-action,
.swarm-view-workspace--mobile .swarm-node-list__row-overflow-item {
	min-width: 44px;
	min-height: 44px;
}

.swarm-node-browser__empty {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 120px;
	margin: 0;
	padding: 24px 16px;
	color: #CC6600;
	font-size: 14px;
	line-height: 1.4;
	text-align: center;
}

.swarm-view-pane__node-browser-host {
	flex: 1 1 0;
	min-height: 0;
	max-height: 100%;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.swarm-view-pane__node-browser-host > node-list,
.swarm-view-pane__node-browser-host > .swarm-node-browser {
	flex: 1 1 0;
	min-height: 0;
	max-height: 100%;
}

.swarm-view-pane__node-browser-host > node-list {
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.swarm-view-pane__node-browser-host node-list > .swarm-node-list {
	flex: 1 1 0;
	min-height: 0;
	max-height: 100%;
	overflow: hidden;
	display: grid;
	grid-template-rows: auto auto minmax(0, 1fr);
}

.swarm-view-workspace .swarm-view-pane--node-browser .swarm-node-browser__list-scroll,
.swarm-view-workspace .swarm-view-pane--browse .swarm-node-browser__list-scroll {
	min-height: 0;
	height: 100%;
	max-height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
}

.swarm-view-pane--node-browser,
.swarm-view-pane--node-browser .swarm-view-pane__body {
	flex: 1 1 0;
	min-height: 0;
	max-height: 100%;
	overflow: hidden;
}

.swarm-view-workspace-shell.swarm-view-workspace--browser-primary {
	width: 100%;
}

.swarm-view-workspace-shell.swarm-view-workspace--browser-primary swarm-view-pane {
	flex: 1 1 100%;
	max-width: 100%;
}

/* Plan pane expand: solo focused Plan fills the workspace (any device width). */
.swarm-view-workspace-shell.swarm-view-workspace--plan-expanded {
	width: 100%;
	max-width: 100%;
}

.swarm-view-workspace-shell.swarm-view-workspace--plan-expanded swarm-view-pane,
.swarm-view-workspace-shell.swarm-view-workspace--plan-expanded .swarm-view-pane {
	flex: 1 1 100%;
	min-width: 0;
	max-width: 100%;
	width: 100%;
}

.swarm-view-pane__browse-host {
	flex: 1 1 0;
	min-height: 0;
	max-height: 100%;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.swarm-view-pane__browse-host > .swarm-navigation-browse {
	flex: 1 1 0;
	min-height: 0;
}

.swarm-view-pane--browse,
.swarm-view-workspace-shell:not(.swarm-view-workspace--multipane):not(.swarm-view-workspace--detail) swarm-view-pane {
	flex: 1 1 100%;
	min-width: 0;
	max-width: 100%;
}

.swarm-view-pane--browse .swarm-view-pane__body {
	flex: 1 1 0;
	min-height: 0;
	max-height: 100%;
	overflow: hidden;
}

.swarm-all-hives-body {
	flex: 1 1 0;
	min-height: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	width: 100%;
}

.swarm-all-hives-body > .swarm-navigation-browse,
.swarm-all-hives-body > .swarm-all-hives-body__browse {
	flex: 1 1 0;
	min-height: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.swarm-all-hives-body__browse > .swarm-navigation-browse,
.swarm-all-hives-body__browse > node-list,
.swarm-all-hives-body__browse > .swarm-node-browser {
	flex: 1 1 0;
	min-height: 0;
}

.swarm-all-hives-body__browse > node-list {
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.swarm-view-workspace swarm-view-pane,
.swarm-view-workspace .swarm-view-pane__body,
.swarm-view-workspace .swarm-view-pane__browse-host,
.swarm-view-workspace .swarm-view-pane__node-browser-host,
.swarm-view-workspace .swarm-view-pane__hive-host,
.swarm-view-workspace .swarm-view-pane__plan-host,
.swarm-view-workspace .swarm-view-pane__effort-host,
.swarm-view-workspace .swarm-view-pane__edge-set-host,
.swarm-view-workspace .swarm-view-pane__vote-host,
.swarm-view-workspace .swarm-view-pane__edge-set-reports-host {
	flex: 1 1 0;
	min-height: 0;
	min-width: 0;
	max-height: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.swarm-view-workspace .swarm-view-pane__edge-set-host > voting,
/* The directive element wraps `.swarm-list-pane-shell`; without it in the chain the
 * whole list collapses to 0px and the rows are clipped away. */
.swarm-view-workspace .swarm-view-pane__edge-set-host > swarm-list-pane-shell,
.swarm-view-workspace .swarm-view-pane__edge-set-host .swarm-list-pane-shell,
.swarm-view-workspace .swarm-view-pane__edge-set-host .swarm-list-pane-shell__list,
.swarm-view-workspace .swarm-view-pane__edge-set-host node-list,
.swarm-view-workspace .swarm-view-pane__edge-set-host .swarm-node-list,
.swarm-view-workspace .swarm-view-pane__vote-host > voting,
.swarm-view-workspace .swarm-view-pane__vote-host > vote,
.swarm-view-workspace .swarm-view-pane__edge-set-reports-host > .effort-reports-panel {
	flex: 1 1 0;
	min-height: 0;
	min-width: 0;
	width: 100%;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

/**
 * Vote topics render inside the `voting` directive, whose own wrappers are plain
 * blocks. A flex-fill list has nothing to fill against there and collapses to 0px,
 * so let the list take its natural height and scroll the pane host instead.
 */
.swarm-view-workspace .swarm-view-pane__edge-set-host--vote-topics {
	overflow-y: auto;
}

.swarm-view-workspace .swarm-view-pane__edge-set-host--vote-topics node-list,
.swarm-view-workspace .swarm-view-pane__edge-set-host--vote-topics .swarm-node-list {
	display: block;
	flex: 0 0 auto;
	min-height: auto;
	overflow: visible;
}

.swarm-view-workspace .swarm-view-pane__edge-set-host--vote-topics .swarm-vote-topics__scroll {
	flex: 0 0 auto;
	min-height: auto;
	max-height: none;
	overflow: visible;
}

.swarm-view-workspace .swarm-view-pane__hive-host > hive,
.swarm-view-workspace .swarm-view-pane__plan-host > planning-sieve {
	flex: 1 1 0;
	min-height: 0;
	display: flex;
	flex-direction: column;
	width: 100%;
	overflow: hidden;
}

.swarm-view-workspace .swarm-view-pane__hive-host > hive > .swarm-detail-panel,
.swarm-view-workspace .swarm-view-pane__plan-host > planning-sieve > .swarm-detail-panel {
	flex: 1 1 0;
	min-height: 0;
}

/* Shared workspace detail chrome: fill pane, drop legacy floating-card border. */
.swarm-view-workspace .swarm-view-pane__hive-host .swarm-detail-panel,
.swarm-view-workspace .swarm-view-pane__plan-host .swarm-detail-panel {
	width: 100%;
	height: auto;
	max-height: 100%;
	min-height: 0;
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	left: auto;
	top: auto;
	transform: none;
	border: none;
	border-radius: 0;
	padding: 15px;
	box-sizing: border-box;
}

.swarm-view-workspace md-icon.material-icons,
.swarm-view-workspace md-icon {
	font-family: "Material Icons";
	font-weight: normal;
	font-style: normal;
	font-size: 24px;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	display: inline-block;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	-webkit-font-feature-settings: "liga";
	font-feature-settings: "liga";
	-webkit-font-smoothing: antialiased;
}

.swarm-view-pane__chrome {
	flex: none;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	min-height: 32px;
	height: 32px;
	padding: 0 8px;
	box-sizing: border-box;
}

.swarm-view-pane__close.close-element-focus {
	position: static;
	transform: none;
	margin: 0;
	padding: 0;
	flex: none;
}

.swarm-view-pane--detail {
	position: relative;
}

.swarm-view-pane {
	min-width: 400px;
	min-height: 0;
	max-height: 100%;
	flex: 1 1 400px;
	max-width: 520px;
	box-sizing: border-box;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-self: stretch;
}

.swarm-view-pane__body {
	flex: 1 1 0;
	min-height: 0;
	max-height: 100%;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.swarm-view-pane__identity {
	flex: none;
	padding: 8px 12px 6px;
	border-bottom: 1px solid #663300;
	box-sizing: border-box;
}

.swarm-view-pane__identity--focused {
	padding: 10px 14px 8px;
}

.swarm-view-pane__identity-row {
	display: flex;
	flex-direction: row;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 8px 10px;
	min-width: 0;
}

.swarm-view-pane__identity--with-context .swarm-view-pane__display-name {
	flex: 0 1 auto;
}

.swarm-view-pane__context {
	display: inline-flex;
	flex: 0 1 auto;
	align-items: baseline;
	min-width: 0;
	color: #FF8C00;
	font-size: 0.9rem;
	line-height: 1.25;
	white-space: nowrap;
}

.swarm-view-pane__context-separator {
	flex: none;
	margin-right: 10px;
	color: #996633;
}

.swarm-view-pane__context-view {
	overflow: hidden;
	text-overflow: ellipsis;
}

.swarm-view-pane--history .swarm-view-pane__context {
	opacity: 0.85;
}

.swarm-view-pane__type-badge {
	flex: none;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #CC6600;
	border: 1px solid #663300;
	border-radius: 4px;
	padding: 2px 6px;
}

/* Shared pane node title — smaller than former h2; grows when the pane is focused. */
.swarm-pane-node-title,
.swarm-view-pane__display-name {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	font-family: "Righteous", sans-serif;
	font-size: 0.95rem;
	font-weight: normal;
	line-height: 1.25;
	color: #FFBC00;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.swarm-pane-node-title--focused,
.swarm-view-pane--focused > .swarm-view-pane__identity .swarm-pane-node-title {
	font-size: 1.15rem;
}

.swarm-view-pane--list .swarm-view-pane__identity {
	border-bottom-color: #442200;
}

.swarm-view-pane--history {
	opacity: 0.85;
}

.swarm-view-pane--history .swarm-pane-node-title,
.swarm-view-pane--history .swarm-view-pane__display-name {
	font-weight: normal;
	color: #CC9900;
}

.swarm-view-pane--history .swarm-view-pane__type-badge {
	color: #996633;
	border-color: #553300;
}

.swarm-view-workspace-shell.swarm-view-workspace--multipane .swarm-view-pane--focused > .swarm-view-pane {
	box-shadow: inset -3px 0 0 #FF8C00;
}

.swarm-view-workspace-shell:not(.swarm-view-workspace--multipane) .swarm-view-pane--focused > .swarm-view-pane {
	box-shadow: inset 0 -3px 0 #FF8C00;
}

.swarm-view-pane__chrome-spacer {
	flex: 1 1 auto;
	min-width: 0;
}

.swarm-view-pane__breadcrumb {
	color: #FF8C00;
	font-size: 0.85em;
	padding: 4px 8px;
	flex: 1 1 auto;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.swarm-view-pane--history .swarm-view-pane__hive-host .swarm-detail-panel,
.swarm-view-pane--history .swarm-view-pane__plan-host .swarm-detail-panel {
	opacity: 0.97;
}

.swarm-view-pane--history .swarm-view-pane__breadcrumb {
	opacity: 0.85;
}

.swarm-detail-panel__title-spacer {
	min-height: 1.5em;
	flex: none;
}

.swarm-detail-panel__header {
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	position: relative;
	z-index: 5;
}

.swarm-detail-panel .swarm-main-nav-row,
.swarm-detail-panel .swarm-detail-panel__subnav-wrap {
	position: relative;
	z-index: 6;
}

.swarm-detail-panel__subnav-wrap {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	padding-left: 0;
	padding-right: 0;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
}

.swarm-detail-panel__top-row {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.swarm-view-workspace--multipane.swarm-view-workspace--detail .swarm-detail-panel__top-row {
	min-height: var(--swarm-detail-header-row-min-height, auto);
}

.swarm-view-workspace--multipane.swarm-view-workspace--detail .swarm-detail-panel__title-col {
	display: flex;
	align-items: center;
}

.swarm-view-workspace--multipane.swarm-view-workspace--detail .swarm-detail-panel__nav-col.swarm-main-nav-row {
	align-self: stretch;
	align-items: center;
}

.swarm-view-workspace--multipane.swarm-view-workspace--detail .swarm-detail-panel__subnav-wrap:not(.ng-hide) {
	margin-top: var(--swarm-detail-subnav-band-pad, 0px);
}

.swarm-detail-panel__title-col {
	flex: 0 0 auto;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.swarm-detail-panel__title-col h2 {
	margin-bottom: 0;
}

.swarm-detail-panel__breadcrumb-row {
	flex: none;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

/* Multipane detail: keep hive chrome stacked in-column within each pane so nav
   is never positioned into a sibling column (avoids overflow clipping). */
.swarm-view-workspace--multipane.swarm-view-workspace--detail .swarm-detail-panel__top-row {
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	max-width: 100%;
}

.swarm-view-workspace--multipane.swarm-view-workspace--detail .swarm-detail-panel__title-col {
	flex: 0 0 auto;
	width: 100%;
	max-width: 100%;
}

.swarm-view-workspace--multipane.swarm-view-workspace--detail .swarm-detail-panel__nav-col.swarm-main-nav-row {
	flex: 0 0 auto;
	width: 100%;
	max-width: 100%;
	margin-left: 0;
}

.swarm-view-workspace--detail .swarm-detail-panel__header,
.swarm-view-workspace--detail .swarm-detail-panel__top-row,
.swarm-view-workspace--detail .swarm-main-nav-row,
.swarm-view-workspace--detail .swarm-detail-panel__subnav-wrap {
	overflow: visible;
}

.swarm-detail-panel__breadcrumb-wrap {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	box-sizing: border-box;
}

.swarm-detail-panel__breadcrumb-inner {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.swarm-view-workspace--multipane.swarm-view-workspace--detail .swarm-detail-panel__subnav-inner {
	width: 100%;
	max-width: 100%;
}

.swarm-view-workspace--multipane.swarm-view-workspace--detail .swarm-detail-panel__header,
.swarm-view-workspace--multipane.swarm-view-workspace--detail .swarm-detail-panel__top-row,
.swarm-view-workspace--multipane.swarm-view-workspace--detail .swarm-main-nav-row,
.swarm-view-workspace--multipane.swarm-view-workspace--detail .swarm-detail-panel__subnav-wrap {
	flex: 0 0 auto;
}

.swarm-view-workspace--multipane.swarm-view-workspace--detail swarm-view-pane:first-child .swarm-detail-panel__subnav-wrap,
.swarm-view-pane__hive-host .swarm-detail-panel__subnav-wrap {
	overflow: visible;
}

.swarm-detail-panel__subnav-inner {
	width: var(--single-pane-width, 400px);
	max-width: var(--single-pane-width, 400px);
	min-width: 0;
	flex: 0 0 auto;
	box-sizing: border-box;
}

.swarm-detail-panel__header-spacer--synthetic {
	flex: none;
	min-height: var(--swarm-detail-chrome-offset, var(--swarm-detail-header-offset, 0px));
}

.swarm-detail-panel__header-spacer--subnav-band {
	flex: none;
	min-height: max(0px, calc(var(--swarm-detail-chrome-offset, var(--swarm-detail-header-offset, 0px)) - 3rem));
	max-height: max(0px, calc(var(--swarm-detail-chrome-offset, var(--swarm-detail-header-offset, 0px)) - 3rem));
}

.swarm-view-pane--history .swarm-detail-panel--subnav-only .swarm-detail-panel__header {
	flex: none;
}

.swarm-view-pane--history .swarm-detail-panel--subnav-only .swarm-detail-panel__subnav-wrap {
	flex: none;
}

.swarm-view-workspace--multipane.swarm-view-workspace--detail swarm-view-pane:first-child,
.swarm-view-workspace--multipane.swarm-view-workspace--detail swarm-view-pane:first-child > .swarm-view-pane,
.swarm-view-workspace--multipane.swarm-view-workspace--detail swarm-view-pane:first-child .swarm-view-pane__body,
.swarm-view-workspace--multipane.swarm-view-workspace--detail swarm-view-pane:first-child .swarm-view-pane__hive-host,
.swarm-view-workspace--multipane.swarm-view-workspace--detail swarm-view-pane:first-child .swarm-detail-panel,
.swarm-view-workspace--multipane.swarm-view-workspace--detail swarm-view-pane:first-child .swarm-detail-panel__stack,
.swarm-view-workspace--multipane.swarm-view-workspace--detail swarm-view-pane:first-child .swarm-detail-panel__header {
	overflow: visible;
}

.swarm-view-workspace--multipane.swarm-view-workspace--detail swarm-view-pane:first-child .swarm-detail-panel__header {
	position: relative;
	z-index: 7;
}

.swarm-view-workspace--multipane .swarm-view-pane__hive-host .swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--partials > .swarm-detail-partial-host:not(.ng-hide),
.swarm-view-workspace--multipane .swarm-view-pane__plan-host .swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--partials > .swarm-detail-partial-host:not(.ng-hide),
.swarm-view-workspace--multipane .swarm-view-pane__effort-host .effort-panel-body-scroll.swarm-detail-scroll--partials > .swarm-detail-partial-host:not(.ng-hide) {
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.swarm-view-workspace--multipane swarm-view-pane:first-child .swarm-detail-scroll {
	overflow: auto;
}

.swarm-view-workspace--multipane swarm-view-pane:first-child .swarm-detail-scroll.swarm-detail-scroll--overview {
	overflow: hidden;
}

.swarm-view-workspace--multipane swarm-view-pane:first-child .swarm-detail-scroll.swarm-detail-scroll--all-hives {
	overflow: hidden;
}

.swarm-view-workspace--multipane swarm-view-pane {
	isolation: isolate;
}

.swarm-view-workspace--multipane swarm-view-pane:not(:first-child) {
	position: relative;
	z-index: 1;
}

.swarm-view-workspace--multipane swarm-view-pane:first-child {
	position: relative;
	z-index: 2;
}

.swarm-view-workspace--multipane swarm-view-pane.swarm-view-pane--effort-primary {
	z-index: 1;
}

.swarm-view-workspace--multipane.swarm-view-workspace--detail swarm-view-pane.swarm-view-pane--effort-primary .swarm-view-pane__body,
.swarm-view-workspace--multipane.swarm-view-workspace--detail swarm-view-pane.swarm-view-pane--effort-primary .swarm-view-pane__effort-host,
.swarm-view-workspace--multipane.swarm-view-workspace--detail swarm-view-pane.swarm-view-pane--effort-primary .effort-panel--workspace {
	overflow: hidden;
}

.swarm-view-workspace .swarm-detail-panel__stack {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-height: 0;
}

.swarm-detail-panel .swarm-detail-panel__stack {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-height: 0;
}

.swarm-view-pane--history .swarm-view-pane__hive-host .swarm-detail-panel,
.swarm-view-pane--history .swarm-view-pane__plan-host .swarm-detail-panel {
	padding-top: 0;
}

.swarm-view-pane--history .swarm-detail-panel__header-spacer--synthetic {
	flex: none;
	min-height: var(--swarm-detail-chrome-offset, var(--swarm-detail-header-offset, 0px));
	max-height: 240px;
}

.swarm-view-pane--history .swarm-view-pane__hive-host .swarm-detail-panel .swarm-detail-scroll,
.swarm-view-pane--history .swarm-view-pane__plan-host .swarm-detail-panel .swarm-detail-scroll {
	flex: 1 1 0;
	min-height: 0;
	overflow: hidden;
	margin-top: 0;
}

.swarm-view-pane--history .swarm-view-pane__hive-host .swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--partials > .swarm-detail-partial-host:not(.ng-hide),
.swarm-view-pane--history .swarm-view-pane__plan-host .swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--partials > .swarm-detail-partial-host:not(.ng-hide) {
	overflow-y: auto;
}

.swarm-view-pane--history .swarm-detail-panel__breadcrumb-row {
	opacity: 0.85;
}

.swarm-view-workspace .swarm-view-pane__hive-host .swarm-detail-panel > div[flex="100"],
.swarm-view-workspace .swarm-view-pane__plan-host .swarm-detail-panel > div[flex="100"] {
	flex: 1 1 0;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

.swarm-view-workspace .swarm-view-pane__hive-host .swarm-detail-panel .swarm-detail-scroll,
.swarm-view-workspace .swarm-view-pane__plan-host .swarm-detail-panel .swarm-detail-scroll {
	flex: 1 1 0;
	min-height: 0;
}

.swarm-view-workspace .swarm-view-pane__hive-host .swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--partials,
.swarm-view-workspace .swarm-view-pane__plan-host .swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--partials {
	overflow: hidden;
}

.swarm-view-workspace .swarm-view-pane__hive-host .swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--partials > .swarm-detail-partial-host:not(.ng-hide),
.swarm-view-workspace .swarm-view-pane__plan-host .swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--partials > .swarm-detail-partial-host:not(.ng-hide) {
	flex: 1 1 0;
	min-height: 0;
	overflow-y: auto;
	overflow-x: hidden;
}

.swarm-view-workspace .swarm-view-pane__hive-host .swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--overview {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-height: 0;
	overflow: hidden;
}

.swarm-view-workspace .swarm-view-pane__hive-host .swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--overview > .swarm-detail-partial-host--overview {
	flex: 1 1 0;
	min-height: 0;
}

.swarm-view-workspace .swarm-view-pane__hive-host .swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--all-hives {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-height: 0;
	overflow: hidden;
}

.swarm-view-workspace .swarm-view-pane__hive-host .swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--all-hives > .swarm-detail-partial-host--all-hives {
	flex: 1 1 0;
	min-height: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.swarm-view-workspace .swarm-view-pane__effort-host {
	flex: 1 1 0;
	min-height: 0;
	max-height: 100%;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	width: 100%;
	box-sizing: border-box;
	background-color: transparent;
}

.swarm-view-workspace .swarm-view-pane__effort-host > .swarm-detail-panel__stack {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-height: 0;
	height: 100%;
}

.swarm-view-workspace .swarm-view-pane__effort-host > .swarm-detail-panel__stack > effort {
	flex: 1 1 0;
	min-height: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	width: 100%;
}

.swarm-view-workspace .swarm-view-pane__effort-host > .swarm-detail-panel__stack > effort > .effort-directive-host {
	flex: 1 1 0;
	min-height: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	width: 100%;
	height: 100%;
}

.swarm-view-workspace .swarm-view-pane__effort-host > .swarm-detail-panel__stack > effort > .effort-directive-host > .effort-panel--workspace {
	flex: 1 1 0;
	min-height: 0;
	height: 100%;
	align-self: stretch;
}

/* Edge-set Reports: host flex is shared above with other pane hosts; pin header, scroll list. */
.swarm-view-workspace .swarm-view-pane__edge-set-reports-host > .effort-reports-panel > .effort-reports-panel__header {
	flex: 0 0 auto;
}

.swarm-view-workspace .swarm-view-pane__edge-set-reports-host > .effort-reports-panel > reports {
	flex: 1 1 0;
	min-height: 0;
	overflow-y: auto;
	overflow-x: hidden;
}

/* Workspace effort panel: chrome + breadcrumb pinned; only inner scroll area grows. */
.swarm-view-workspace .effort-panel--workspace {
	flex: 1 1 0;
	min-height: 0;
	max-height: 100%;
	overflow: hidden;
	display: flex !important;
	flex-direction: column;
	width: 100%;
}

.swarm-view-workspace .effort-panel--workspace .effort-panel-body-scroll {
	flex: 1 1 0;
	min-height: 0 !important;
	max-height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	padding-top: 10px;
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch;
}

.swarm-view-workspace .effort-panel--workspace .effort-panel-body-scroll.swarm-detail-scroll--partials {
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.swarm-view-workspace .effort-panel--workspace .effort-panel-body-scroll.swarm-detail-scroll--partials > .swarm-detail-partial-host:not(.ng-hide) {
	flex: 1 1 0;
	min-height: 0;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}

.swarm-view-workspace .effort-panel--workspace .effort-panel-body-scroll.swarm-detail-scroll--partials > .swarm-detail-partial-host.ng-hide {
	flex: 0 0 0;
	height: 0;
	min-height: 0;
	overflow: hidden;
}

.swarm-view-pane--history .swarm-view-pane__effort-host .effort-panel--workspace .effort-panel-body-scroll.swarm-detail-scroll--partials > .swarm-detail-partial-host:not(.ng-hide) {
	overflow-y: auto;
}

.swarm-view-pane__placeholder {
	color: #999;
	padding: 12px;
	font-size: 0.9em;
}

.element-focus {
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%)
}

.existing-plan-element-cell {
	border: 1px solid #FFBC00;
}

.existing-plan-element-display {
	text-align: center;
}

/* Plan frontier admin node edit: left-align labels and field chrome (parent uses centered display) */
.existing-plan-element-display.plan-frontier-node-edit,
.existing-plan-element-display.plan-frontier-node-edit h4,
.existing-plan-element-display.plan-frontier-node-edit strong,
.existing-plan-element-display.plan-frontier-node-edit .plan-frontier-admin-edit-form,
.existing-plan-element-display.plan-frontier-node-edit md-input-container {
	text-align: left;
}

.existing-plan-element-display.plan-frontier-node-edit md-input-container label {
	text-align: left !important;
}

.existing-plan-element-display.plan-frontier-node-edit md-select .md-select-value {
	text-align: left;
}

.upstream-group-header .discussion-action-icon {
	cursor: pointer;
}

.upstream-child-row .existing-plan-element-cell {
	border-top: 1px dotted #FFBC00;
}

.features-container {
	margin: 20px;
}

.file-input {
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	width: 0.1px;
	z-index: -1;
}

.filter-search-term {
	background-color: #FFFFFF; /* 98d5e8 */
	border: 5px;
	border-color: #FFFFFF;
	color: #FFFFFF;
}

.full-width {
	width: 100%;
}

.guide-box {
	background-color: #000000;
	border: 2px solid #FF8C00;
	border-radius: 3px;
	bottom: 80px;
	font-size: 16px;
	height: 175px;
	left: 30px;
	overflow-y: auto;
	padding: 10px;
	position: absolute;
	width: 360px;
}

.graph-settings {
	background-color: #000000;
	border: 2px solid #FF8C00;
	border-radius: 3px;
	bottom: 125px;
	font-size: 16px;
	height: 250px;
	overflow-x: hidden;
	overflow-y: scroll;
	padding: 10px;
	position: absolute;
	right: 450px;
	width: 450px;
}

.graph-settings-list {
	height: 450px;
	overflow-x: hidden;
	overflow-y: auto !important;
}

h1 {
	font-family: "Righteous";
}

h2 {
	font-family: "Righteous";
}

h2 .courier-route {
	color: #FFFFFF; /* 98d5e8 */
}

.header-seller-profile {
	background-color: #FFFFFF;
	color: #FFFFFF; /* 98d5e8 */
}

.hexagons {
	pointer-events: all;
/*	stroke: #FF8C00;*/
	stroke-width: 3px;
}

.hive-browser {
	height: 200px;
	left: 100px;
	position: absolute;
	top: 350px;
	width: 400px;
}

.swarm-detail-panel,
.profile-panel {
	background-color: #000000;
	border: 3px solid #CC6600;
	border-radius: 10px;
	box-sizing: border-box;
	color: #FFBC00;
	overflow-y: auto;
	padding: 15px;
	position: relative;
	width: 425px;
	z-index: 2;
}

.swarm-detail-panel {
	height: 600px;
	left: 50%;
	transform: translate(-50%, 0%);
}

/* Phase 18-1: plan-frontier fills host instead of legacy 450×600 card. */
.swarm-detail-panel.plan-frontier-panel {
	position: relative;
	left: auto;
	transform: none;
	width: 100%;
	max-width: 100%;
	height: 100%;
	max-height: 100%;
	min-height: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: none;
	border-radius: 0;
}

.plan-frontier-panel__nav {
	flex: 0 0 auto;
}

.plan-frontier-panel__body {
	flex: 1 1 0;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	display: flex;
	flex-direction: column;
}

.plan-frontier-panel__view {
	min-width: 0;
	width: 100%;
}

/* plan-full-panel viz hosts (Full Plan + Plan Frontier + Common Plan) need height for getBoundingClientRect. */
#plan-frontier-svg-container,
#plan-frontier-svg-container-frontier {
	width: 100%;
	min-height: 180px;
	height: 40vh;
	max-height: none;
	box-sizing: border-box;
}

#planning-sieve-common-plan-container {
	width: 100%;
	min-height: 160px;
	height: 100%;
	max-height: none;
	box-sizing: border-box;
	flex: 1 1 0;
}

/* Contribution editor: do NOT force height:100% — that fights footer/quick-add/notes and collapses the SVG. */
#planning-sieve-contrib-plan-container {
	width: 100%;
	min-height: 160px;
	height: auto;
	max-height: none;
	box-sizing: border-box;
	flex: 1 1 0;
}

#plan-frontier-svg-container svg,
#plan-frontier-svg-container-frontier svg,
#planning-sieve-common-plan-container svg,
#planning-sieve-contrib-plan-container svg {
	width: 100%;
	height: 100%;
	display: block;
	min-height: 120px;
}

/* Discussion thread fills pane host instead of fixed 335px card. */
.bot-discussion-thread {
	flex: 1 1 0;
	min-height: 0;
	height: auto;
	max-height: 100%;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.bot-discussion-thread > .messages-container {
	flex: 1 1 0;
	min-height: 0;
}

.swarm-view-workspace .swarm-view-pane__discussion-host {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-height: 0;
	min-width: 0;
	width: 100%;
	overflow: hidden;
}

.swarm-view-workspace .swarm-view-pane__discussion-host > bot-discussion,
.swarm-view-workspace .swarm-view-pane__discussion-host > bot-discussion > [layout="column"] {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-height: 0;
	min-width: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

/* Let nested flex columns shrink so .swarm-detail-scroll can fill and delegate scroll to effort. */
.swarm-detail-panel > div[flex="100"],
.swarm-detail-panel > div[flex="100"] > div[flex="100"] {
	min-height: 0;
}

/* Hive Overview: single scrollable body (no Images/Description sub-views). */
.swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--overview > .swarm-detail-partial-host--overview {
	flex: 1 1 0;
	min-height: 0;
	display: flex;
	flex-direction: column;
	align-self: stretch;
	width: 100%;
	overflow: hidden;
}

.swarm-detail-panel .hive-overview-panel {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-height: 0;
	box-sizing: border-box;
	width: 100%;
	align-self: stretch;
	overflow: hidden;
}

.swarm-detail-panel .hive-overview-panel .hive-context-title {
	flex: 0 0 auto;
}

.swarm-detail-panel .hive-overview-panel__scroll {
	flex: 1 1 0;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 0 12px 12px;
	box-sizing: border-box;
}

.swarm-detail-panel .hive-overview-description {
	margin-top: 12px;
	padding-bottom: 8px;
}

/* image-set is a custom element; stretch to section width (ancestors must not shrink-wrap) */
.swarm-detail-panel .hive-main-images-section {
	align-self: stretch;
	margin-top: 50px;
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
}

.swarm-detail-panel image-set.hive-display-image-set,
.profile-panel image-set.profile-display-image-set {
	align-self: stretch;
	display: block;
	max-width: 100%;
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
}

/* Orange pill sub-view tabs (hive, effort, state). */
.swarm-subnav-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 3px 5px;
	overflow-x: auto;
	width: 100%;
	min-width: 0;
	margin-top: 4px;
}

.effort-panel .swarm-subnav-row {
	margin-bottom: 10px;
}

.state-directive-root .swarm-subnav-row {
	margin: 8px 0;
}

.swarm-subview-tab.modification-button {
	height: auto;
	width: auto;
	min-width: 44px;
	max-width: 72px;
	min-height: 44px;
	padding: 4px 5px 5px;
	background: #000;
	border: 1px solid #ffbc00;
	color: #ffbc00;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	flex: 0 0 auto;
	box-sizing: border-box;
	overflow: hidden;
}

.swarm-detail-panel .swarm-subview-tab.modification-button {
	min-width: 56px;
	max-width: 104px;
	min-height: 26px;
	max-height: 28px;
	padding: 3px 8px;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 4px;
	flex: 0 0 auto;
}

.swarm-subview-tab--active.modification-button {
	border-color: #ff8c00 !important;
	background-color: #000;
	background-image: linear-gradient(rgba(255, 140, 0, 0.5), rgba(255, 140, 0, 0.5));
	color: #ffbc00;
}

.state-directive-root .state-report-images-draft {
	margin-top: 8px;
}

.state-directive-root .state-report-images-heading {
	color: #000000;
	font-size: 0.95em;
	margin-bottom: 8px;
}

.state-directive-root .state-report-images-carousel-row {
	align-items: center;
	gap: 8px;
	margin-bottom: 6px;
}

.state-directive-root .state-report-images-viewport {
	align-items: center;
	display: flex;
	justify-content: center;
	min-width: 0;
}

.state-directive-root .state-report-images-preview {
	border: 2px solid #ff8c00;
	border-radius: 4px;
	box-sizing: border-box;
}

.state-directive-root .state-report-images-chevron {
	cursor: pointer;
	flex: 0 0 auto;
	user-select: none;
}

.state-directive-root .state-report-images-count {
	color: #666;
	font-size: 0.85em;
	margin: 0 0 8px;
}

.state-directive-root .state-report-images-actions {
	gap: 8px;
}

.state-directive-root .swarm-subview-tab--current.modification-button {
	border-width: 2px;
}

/* reports directive (list layout uses Angular Material flex attrs) */
.reports-directive-root {
	font-size: 0.9em;
	margin-top: 12px;
}

.reports-directive-root .reports-heading {
	margin: 0 0 8px;
}

.reports-directive-root .reports-member-filter {
	margin-bottom: 12px;
	max-width: 320px;
}

.reports-directive-root .reports-empty {
	padding: 10px 0;
}

.reports-directive-root .reports-list {
	overflow-x: auto;
	width: 100%;
}

.reports-directive-root .reports-list-row {
	border-bottom: 1px solid #e0e0e0;
	padding: 8px 4px;
}

.reports-directive-root .reports-list-header,
.reports-directive-root .reports-detail-label {
	font-size: 0.85em;
	font-weight: 600;
}

.reports-directive-root .reports-list-header {
	color: #666;
	padding-bottom: 4px;
}

.reports-directive-root .reports-col-date {
	font-size: 0.82em;
	line-height: 1.3;
}

.reports-directive-root .reports-status-pill {
	align-items: center;
	background: #000;
	border: 1px solid #FF8C00;
	border-radius: 12px;
	display: inline-flex;
	font-size: 0.85em;
	font-weight: 600;
	gap: 6px;
	line-height: 1.2;
	padding: 3px 10px 3px 7px;
}

.reports-directive-root .reports-status-dot {
	border-radius: 50%;
	flex-shrink: 0;
	height: 9px;
	width: 9px;
}

.reports-directive-root .reports-col-action .glyphicon {
	cursor: pointer;
	font-size: 14px;
}

.reports-directive-root .reports-detail-toolbar {
	margin-bottom: 12px;
}

.reports-directive-root .reports-detail-title {
	font-size: 1em;
}

.reports-directive-root .reports-detail-meta {
	margin-top: 12px;
}

.reports-directive-root .reports-detail-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	margin-bottom: 6px;
}

.reports-directive-root .reports-detail-label {
	color: #666;
	flex: 0 0 72px;
}

.reports-directive-root .reports-detail-value {
	color: #333;
	flex: 1 1 200px;
	min-width: 0;
	word-break: break-word;
}

.swarm-subnav-label {
	font-size: 9px;
	font-weight: 600;
	line-height: 1.1;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	color: #ffbc00;
	text-align: center;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	word-break: break-word;
}

.swarm-detail-panel .swarm-subnav-label {
	font-size: 10px;
	flex: 1 1 auto;
	min-width: 0;
	text-align: left;
	display: block;
	white-space: nowrap;
	-webkit-line-clamp: unset;
	line-clamp: unset;
}

.swarm-subview-tab-glyph {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 0;
}

.swarm-subview-tab-glyph > md-icon,
.swarm-subview-tab > md-icon {
	font-size: 16px;
	width: 16px;
	height: 16px;
	min-width: 16px;
	min-height: 16px;
	flex-shrink: 0;
	color: #ffbc00 !important;
}

.swarm-detail-panel .swarm-subview-tab-glyph > md-icon,
.swarm-detail-panel .swarm-subview-tab > md-icon {
	font-size: 14px;
	width: 14px;
	height: 14px;
	min-width: 14px;
	min-height: 14px;
}

.swarm-subview-tab--active > md-icon,
.swarm-subview-tab--current > md-icon {
	color: #ffc857 !important;
}

.swarm-detail-panel .swarm-breadcrumb {
	font-size: 16px;
	color: #ff8c00;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin: 4px 0 2px 0;
	line-height: 1.35;
}

.swarm-detail-panel .swarm-breadcrumb-row {
	border-bottom: 1px solid rgba(255, 140, 0, 0.45);
	margin-bottom: 4px;
	padding-bottom: 2px;
}

/* Main hive tabs within pane column */
.swarm-detail-panel .swarm-main-nav-row {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	padding-left: 0;
	padding-right: 0;
	min-width: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: center;
	gap: 0;
}

.swarm-detail-panel .swarm-main-nav-row__inner {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	flex: 1 1 auto;
	box-sizing: border-box;
}

.swarm-detail-panel .swarm-main-nav-tab {
	flex: 1 1 0;
	min-width: 0;
	width: auto;
	max-width: none;
	height: auto;
	min-height: 52px;
	box-sizing: border-box;
	padding: 4px 1px 6px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
}

.swarm-detail-panel .swarm-main-nav-tab.swarm-main-nav-tab--active {
	border-color: #ff8c00 !important;
	background-color: rgba(255, 140, 0, 0.18);
	color: #ffbc00;
}

.swarm-detail-panel .swarm-main-nav-tab-glyph {
	flex: 0 0 auto;
	width: 100%;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.swarm-detail-panel .swarm-main-nav-tab .swarm-main-nav-tab-glyph > md-icon {
	font-size: 20px;
	width: 20px;
	height: 20px;
	min-width: 20px;
	min-height: 20px;
}

.swarm-detail-panel .swarm-main-nav-tab-md {
	color: #ffbc00 !important;
	flex-shrink: 0;
}

.swarm-detail-panel .swarm-main-nav-tab--active .swarm-main-nav-tab-md {
	color: #ffc857 !important;
}

.swarm-detail-panel .swarm-main-nav-label {
	flex: 0 0 auto;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	padding: 0;
	font-size: 8px;
	line-height: 1.1;
	font-weight: 600;
	text-align: center;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	word-break: break-word;
}

.swarm-detail-panel .hive-subview-section {
	scroll-margin-top: 8px;
	padding-bottom: 16px;
	margin-bottom: 12px;
	border-bottom: 1px solid rgba(255, 140, 0, 0.22);
}

.swarm-detail-panel .hive-subview-section:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

/* Hive Discussion / Voting: inset orange-bordered collapsible panels */
.swarm-detail-panel .hive-collapsible-sections {
	padding: 0 12px 8px;
	box-sizing: border-box;
}

.swarm-detail-panel .hive-collapsible-section {
	border: 2px solid #FFBC00;
	border-radius: 8px;
	margin-bottom: 12px;
	box-sizing: border-box;
	overflow: hidden;
	background-color: #000;
}

.swarm-detail-panel .hive-collapsible-section--collapsed {
	margin-bottom: 10px;
}

.swarm-detail-panel .hive-collapsible-section__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
	min-height: 40px;
	padding: 8px 12px;
	margin: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	color: #FFBC00;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-align: left;
	cursor: pointer;
	box-sizing: border-box;
}

.swarm-detail-panel .hive-collapsible-section__header:hover {
	background-color: rgba(255, 188, 0, 0.08);
}

.swarm-detail-panel .hive-collapsible-section__header:focus {
	outline: none;
}

.swarm-detail-panel .hive-collapsible-section__header:focus-visible {
	outline: 2px solid rgba(255, 188, 0, 0.55);
	outline-offset: -2px;
}

.swarm-detail-panel .hive-collapsible-section__title {
	flex: 1 1 auto;
	min-width: 0;
}

.swarm-detail-panel .hive-collapsible-section__caret {
	flex: 0 0 auto;
	color: #FFBC00 !important;
	font-size: 22px;
	width: 22px;
	height: 22px;
	min-width: 22px;
	min-height: 22px;
}

.swarm-detail-panel .hive-collapsible-section__body {
	padding: 0 12px 12px;
}

.swarm-detail-panel .hive-collapsible-sections--discuss .hive-collapsible-section__body {
	max-height: 350px;
	overflow-x: hidden;
	overflow-y: auto;
	box-sizing: border-box;
	min-height: 0;
}

.swarm-detail-panel .hive-collapsible-section__hint {
	margin: 0 0 8px;
	font-size: 0.85em;
	color: #999;
}

.swarm-list-pane-shell {
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1 1 0;
	min-height: 0;
	min-width: 0;
	overflow: hidden;
}

.swarm-list-pane-shell__stats,
.swarm-list-pane-shell__composer {
	flex: 0 0 auto;
	min-width: 0;
}

.swarm-list-pane-shell__list {
	flex: 1 1 0;
	min-height: 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.swarm-view-pane__edge-set-host .hive-collapsible-section,
.swarm-list-pane-shell .hive-collapsible-section {
	border: 1px solid rgba(255, 188, 0, 0.35);
	border-radius: 8px;
	background-color: rgba(0, 0, 0, 0.35);
}

.swarm-view-pane__edge-set-host .hive-collapsible-section__header,
.swarm-list-pane-shell .hive-collapsible-section__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 10px 12px;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
	text-align: left;
}

.swarm-view-pane__edge-set-host .hive-collapsible-section__body,
.swarm-list-pane-shell .hive-collapsible-section__body {
	padding: 0 12px 12px;
}

/* .swarm-detail-scroll: scroll target for hive.js */
.swarm-detail-panel .swarm-detail-scroll {
	min-height: 0;
	overflow: auto;
}

.swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--overview {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-height: 0;
	overflow: hidden;
}

.swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--overview > div:not(.swarm-detail-partial-host--overview) {
	flex: 0 0 0;
	height: 0;
	min-height: 0;
	overflow: hidden;
}

.swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--partials {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-height: 0;
	overflow: hidden;
}

.swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--partials > .swarm-detail-partial-host:not(.ng-hide) {
	flex: 1 1 0;
	min-height: 0;
	width: 100%;
	display: flex;
	flex-direction: column;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--partials > .swarm-detail-partial-host:not(.ng-hide) .hive-contribution-body:not(.hive-contribution-body--effort-focus) {
	flex: 0 0 auto;
	min-height: auto;
}

.swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--partials > .swarm-detail-partial-host.ng-hide {
	flex: 0 0 0;
	height: 0;
	min-height: 0;
	overflow: hidden;
}

.swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--all-hives {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-height: 0;
	overflow: hidden;
}

.swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--all-hives > div:not(.swarm-detail-partial-host--all-hives) {
	flex: 0 0 0;
	height: 0;
	min-height: 0;
	overflow: hidden;
}

.swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--all-hives > .swarm-detail-partial-host--all-hives {
	flex: 1 1 0;
	min-height: 0;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--all-hives .swarm-navigation-browse__list-scroll {
	flex: 1 1 0;
	min-height: 0;
	max-height: none;
}

/* Effort focus: fill scroll area; inner .effort-panel-body-scroll scrolls (no min-height:0 collapse). */
.swarm-detail-panel .swarm-detail-scroll.swarm-detail-scroll--effort-focus .hive-contribution-body--effort-focus {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.swarm-detail-panel .hive-volunteer-effort-focus-panel {
	width: 100%;
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
	overflow: visible;
}

.swarm-detail-panel .hive-volunteer-effort-focus-panel effort,
.swarm-detail-panel .hive-volunteer-effort-focus-panel .effort-panel {
	display: flex;
	flex-direction: column;
	min-height: 0;
	width: 100%;
}

.swarm-detail-panel .hive-volunteer-effort-focus-panel .effort-panel > .effort-panel-stack {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	height: 400px;
	max-height: 400px;
	min-height: 400px;
	overflow: hidden;
	width: 100%;
}

.swarm-detail-panel .hive-volunteer-effort-focus-panel .effort-panel .effort-panel-stack {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	margin: 0;
	min-height: 0;
	overflow: hidden;
	max-width: 100%;
}

.swarm-detail-panel .hive-volunteer-effort-focus-panel .effort-panel .effort-panel-chrome {
	flex: 0 0 auto;
}

.swarm-detail-panel .hive-volunteer-effort-focus-panel .effort-panel .effort-panel-body-scroll {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

/* Volunteer effort focus inside a workspace hive column (inline View before openInPane). */
.swarm-view-workspace .swarm-view-pane__hive-host .hive-volunteer-effort-focus-panel {
	width: 100%;
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	min-height: 0;
	overflow: hidden;
}

.swarm-view-workspace .swarm-view-pane__hive-host .hive-volunteer-effort-focus-panel effort,
.swarm-view-workspace .swarm-view-pane__hive-host .hive-volunteer-effort-focus-panel .effort-panel {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-height: 0;
	width: 100%;
}

.swarm-view-workspace .swarm-view-pane__hive-host .hive-volunteer-effort-focus-panel .effort-panel > .effort-panel-stack {
	box-sizing: border-box;
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	height: auto;
	min-height: 0;
	max-height: 100%;
	overflow: hidden;
	width: 100%;
	margin: 0;
}

/* Team roster: contained horizontal strip (does not inflate pane scrollWidth). */
.hive-team-roster-strip {
	max-width: 100%;
	min-width: 0;
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}

/* Phase 18-2: under --mobile class (ViewLayoutService), stack edits and wrap vote strips.
   Tied to the class (not only @media) so narrow pane fixtures match production mobile mode. */
.swarm-view-workspace--mobile .effort-editing-layout,
.swarm-view-workspace--mobile .hive-editing-layout {
	flex-direction: column !important;
	max-width: 100%;
	min-width: 0;
}

.swarm-view-workspace--mobile .effort-editing-layout > [flex],
.swarm-view-workspace--mobile .hive-editing-layout > [flex] {
	flex: 1 1 auto !important;
	max-width: 100%;
	width: 100%;
	min-width: 0;
}

.swarm-view-workspace--mobile .vote-options,
.swarm-view-workspace--mobile .vote-mode-toggle,
.swarm-view-workspace--mobile .vote-choice-row {
	flex-wrap: wrap;
	min-width: 0;
	max-width: 100%;
}

.swarm-view-workspace--mobile .vote-options button {
	min-width: 44px;
	min-height: 44px;
	width: 44px;
	height: 44px;
	padding: 0;
}

.swarm-view-workspace--mobile .swarm-plan-frontier-node__votes {
	flex-wrap: wrap;
}

.swarm-view-workspace--mobile .swarm-plan-frontier-node__vote {
	flex: 1 1 30%;
	min-width: 56px;
}

.swarm-view-workspace--mobile .effort-assign-panel__select {
	min-width: 0;
	width: 100%;
	max-width: 100%;
}

.swarm-view-workspace--mobile .hive-invite-panel form > [layout="row"] {
	flex-wrap: wrap;
	gap: 8px;
	min-width: 0;
	max-width: 100%;
}

.swarm-view-workspace .swarm-view-pane__hive-host .swarm-detail-scroll.swarm-detail-scroll--effort-focus .hive-contribution-body--effort-focus {
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-height: 0;
}

.swarm-detail-panel .hive-team-roster-cell {
	text-align: center;
}

.swarm-detail-panel .hive-team-avatar-wrap {
	position: relative;
	display: inline-block;
	line-height: 0;
	vertical-align: middle;
}

.swarm-detail-panel .hive-team-queen-crown {
	position: absolute;
	top: -2px;
	right: -2px;
	font-size: 18px;
	line-height: 1;
	color: #FF8C00;
	text-shadow: 0 0 1px rgba(0, 0, 0, 0.85), 0 0 2px rgba(0, 0, 0, 0.6);
}

.swarm-detail-panel .hive-invite-email-label {
	display: block;
	margin-bottom: 8px;
	color: #FF8C00;
	font-weight: normal;
	cursor: pointer;
}

.swarm-detail-panel .hive-invite-email-input {
	background-color: #000000;
	color: #FF8C00;
	border: none;
	border-bottom: 2px solid #FF8C00;
	border-radius: 0;
	box-shadow: none;
	margin-right: 8px;
	padding: 8px 4px;
	min-width: 0;
	box-sizing: border-box;
}

.swarm-detail-panel .hive-invite-email-input:focus {
	outline: none;
	border-bottom-color: #FF8C00;
}

.swarm-detail-panel .hive-invite-email-input::placeholder {
	color: #FF8C00;
	opacity: 1;
}

.swarm-detail-panel .hive-invite-email-input::-webkit-input-placeholder {
	color: #FF8C00;
	opacity: 1;
}

.swarm-detail-panel .hive-invite-email-input::-moz-placeholder {
	color: #FF8C00;
	opacity: 1;
}

/* Theme Angular Material form labels/values for dark panels */
.swarm-detail-panel md-input-container label,
.swarm-detail-panel md-input-container .md-placeholder,
.swarm-detail-panel md-select .md-select-value.md-select-placeholder {
	color: #FF8C00 !important;
}

.swarm-detail-panel md-input-container .md-input,
.swarm-detail-panel md-select .md-select-value,
.swarm-detail-panel md-select .md-select-value span {
	color: #FFBC00 !important;
}

/* Angular Material checkboxes: match hive amber/rust theme; keep unchecked box visible on black */
.swarm-detail-panel md-checkbox .md-label {
	color: #FFBC00 !important;
}

.swarm-detail-panel md-checkbox .md-icon {
	border-color: #CC6600 !important;
	background-color: rgba(255, 188, 0, 0.07) !important;
}

.swarm-detail-panel md-checkbox.md-checked .md-icon {
	background-color: #CC6600 !important;
	border-color: transparent !important;
}

.swarm-detail-panel md-checkbox.md-checked .md-icon:after {
	border-color: #000000 !important;
}

.swarm-detail-panel md-checkbox.md-indeterminate .md-icon:after {
	border-color: #000000 !important;
	background-color: transparent !important;
}

.swarm-detail-panel md-checkbox.md-focused:not([disabled]):not(.md-checked) .md-container:before {
	background-color: rgba(204, 102, 0, 0.22) !important;
}

.swarm-detail-panel md-checkbox .md-ripple {
	color: #CC6600 !important;
}

/* Angular Material switches: black / #FF8C00 / #FFBC00 (global) */
md-switch .md-label {
	color: #FFBC00 !important;
}

md-switch .md-bar {
	background-color: rgba(255, 140, 0, 0.22) !important;
}

md-switch.md-checked .md-bar {
	background-color: #FF8C00 !important;
}

md-switch .md-thumb {
	background-color: #FFBC00 !important;
	box-sizing: border-box;
}

md-switch.md-checked .md-thumb {
	background-color: #000000 !important;
	border: 2px solid #FF8C00 !important;
}

md-switch.md-focused:not([disabled]) .md-container:before {
	background-color: rgba(255, 140, 0, 0.22) !important;
}

md-switch .md-ripple {
	color: #FF8C00 !important;
}

md-switch[disabled] .md-label {
	color: rgba(255, 188, 0, 0.45) !important;
}

md-switch[disabled] .md-bar {
	background-color: rgba(255, 140, 0, 0.12) !important;
}

md-switch[disabled] .md-thumb {
	background-color: rgba(255, 188, 0, 0.35) !important;
}

md-switch[disabled].md-checked .md-bar {
	background-color: rgba(255, 140, 0, 0.4) !important;
}

md-switch[disabled].md-checked .md-thumb {
	background-color: rgba(0, 0, 0, 0.35) !important;
	border: 2px solid rgba(255, 140, 0, 0.45) !important;
}

.hr-footer {
	border-color: #FFFFFF;
	margin-bottom: 10px;
	margin-top: 50px;
	width: 35%;
}

.hr-header {
	border-color: #FFFFFF;
	margin-bottom: 10px;
	margin-top: 50px;
	width: 35%;
}

.hr-mobile-menu-break {
	border-color: #FFFFFF; /* 98d5e8 */
	margin: 0px;
}

.hr-seller-dash {
	border-top: 3px solid #FFFFFF; /* 98d5e8 */
	margin-bottom: 50px;
	width: 50%;
}

html {
	margin: 0px;
	overflow: -moz-scrollbars-none;
	padding: 0px;
}

.image-set-carousel-row {
	align-items: center;
	gap: 8px;
	width: 100%;
}

.image-set-viewport {
	align-items: center;
	display: flex;
	flex: 0 1 auto;
	justify-content: center;
	min-width: 0;
}

.image-set-chevron {
	cursor: pointer;
	flex: 0 0 auto;
	font-size: 24px;
	line-height: 1;
	padding: 4px 8px;
	user-select: none;
}

.image-set-chevron:hover {
	color: #ff8c00;
}

.image-set-upload-row {
	gap: 8px;
	margin-top: 8px;
}

.image-set-carousel-image {
	/*height: auto;*/
	width: auto;
}

.image-set-staged-for-upload {
	border: 3px solid #ff8c00;
	box-sizing: border-box;
}

.image-set-unstage-btn {
	margin-left: 6px;
	min-width: 28px;
	padding: 2px 8px;
	white-space: nowrap;
}

.image-set-input-container {
	border: 3px solid #000000;
	border-radius: 3px;
	height: 50px;
	margin: 10px;
	padding: 5px;
	width: 100px;
}

.image-set-upload-label {
	cursor: pointer;
}

img {
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;
}

.input-container-label {
	color: #FF8C00 !important;
}

.input-group .form-control {
	color: #FFFFFF; /* 98d5e8 */
}

.input-template-container {
	margin: 5%;
	width: 90%;
}

.input-width-std {
	width: 250px;
}

.item-select-arrow {
	color: #FFBC00;
	font-size: 100px;
	position: absolute;
	top: 50%;
	transform: translate(0,-50%);
}

.item-select-card {
	background-color: #000000;
	border: 5px solid #FF8C00;
	border-radius: 10px;
	height: 500px;
	padding: 15px;
	text-align: center;
}

.item-select-card-wrap {
	background-color: #000000;
	height: 650px;
	padding: 25px;
	z-index: 1;
}

.item-highlighted {
	background-color: #FFBC00;
	color: #000000;
}

.item-selected {
	background-color: #FF8C00;
	color: #000000;
}

.jumbotron {
	background-color: #333300;
	color: #CC6600;
}

.landing {
	position: relative;
}

.landing-card {
	background-color: #FF8C00;
	border: 0px;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0px;
	margin-top: 150px;
	min-width: 0;
	max-width: 600px;
	padding: 25px;
	width: calc(100% - 32px);
}

.landing-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.landing-actions .btn-swarming-half {
	flex: 1 1 160px;
	margin: 0;
	max-width: none;
	min-width: 0;
	width: auto;
}

@media (max-width: 767px) {
	.landing-login {
		align-items: center;
		box-sizing: border-box;
		display: flex;
		height: 100%;
		max-height: none;
		overflow-y: auto;
		padding: 72px 0 16px;
	}

	.landing-login .center-landing-panel {
		margin-bottom: auto;
		margin-top: auto;
		width: 100%;
	}

	.landing-login .landing-card {
		margin-top: 0;
		padding: 16px;
	}
}

.landing-nav-btn {
	margin-bottom: 15px;
	margin-top: 15px;
	width: 75%;
}

.links line {
	stroke: #FFBC00;
}

.login-button {
	margin-left: 0px !important;
	margin-right: 0px !important;
}

.main-image-set {
}

.market-result {
	border: 2px !important;
	border-color: #FFFFFF !important;
	margin: 10px;
}

.md-button {
	background-color: #FF8C00;
	border: 2px solid #000000;
	color: #000000;
	text-transform: none;
}

md-card {
	background-color: #FF8C00;
	border: 5px solid #FFBC00;
	border-radius: 10px;
	overflow-x: hidden;
	overflow-y: auto;
	padding-left: 5px;
	padding-right: 5px;
}

md-input-container {
	margin-top: 5px;
	margin-bottom: 0px;
}

md-progress-linear .md-bar {
	background-color: #FF8C00;
}

md-progress-linear .md-container {
	background-color: #FFBC00;
}

md-select span {
	color: #FF8C00;
}

/* css style to change mini warning message upon touch
md-input-container.md-input-focused:not(.md-input-has-value) md-select .md-select-value.md-select-placeholder {
    color: #008cba; 
}
/* css style to change the bottom line color in dropdown options
md-select:not([disabled]):focus .md-select-value{
    border-bottom-color: #008cba;
}
*/

.menu-bar {
	position: fixed;
	bottom: calc(15px + env(safe-area-inset-bottom, 0));
	left: 50%;
	transform: translate(-50%, 0%);
	z-index: 30;
	overflow: visible;
	pointer-events: auto;
	text-align: center;
}

.message-list-item {
	@extend .list-group-item;
}

.message-menu-buttons > button > md-icon {
	color: #FF8C00 !important;
}

#messagesModalContent {
	background-color: #000000;
}

#messageTile {
	background-color: #FFFFFF; /* 98d5e8 */
}

#messengerTile {
	background-color: #FFFFFF; /* 98d5e8 */
	color: #000000;
}

.mobile-navigation-button {
	border: 3px solid #FFFFFF; /* 98d5e8 */
	color: #FFFFFF; /* 98d5e8 */
	margin-left: 5px;
	margin-right: 5px;
	margin-top: 10px;
	margin-bottom: 10px;
	height: 95px;
	width: 150px;
	border-radius: 15px;
}

.mobile-route-map {
	height: 70vh;
	width: 100%;
}

.mobile-view-search-type {
	background-color: #000000;
	color: #FFFFFF; /* 98d5e8 */
}

.mod-highlight {
	background-color: #FF8C00;
}
.mod-selected {
	background-color: #FFBC00;
}

.modification-button {
	width: 50px;
    height: 50px;
    border: 3px solid #FFBC00;
    color: #FFBC00;
}

.planning-sieve-panel {
	position: relative;
	width: 100%;
	min-height: 0;
}

.planning-sieve-panel:not(.planning-sieve-panel--workspace) {
	min-height: 650px;
}

/* Queen-of-hive indicator: bottom-left of the planning sieve panel */
.planning-sieve-panel .planning-sieve-queen-badge {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 2;
	width: 25px;
	height: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}
.planning-sieve-panel .planning-sieve-queen-md {
	bottom: 10px;
	color: #ffbc00;
	font-size: 25px;
	height: 25px;
	left: 10px;
	min-height: 25px;
	min-width: 25px;
	position: relative;
	width: 25px;
}

/* Return to sub-nav: overlays scroll area when the in-scroll sub-nav row scrolls out of view */
.planning-sieve-panel .planning-sieve-return-top {
	position: absolute;
	top: 4px;
	right: 4px;
	z-index: 4;
	width: 40px;
	height: 40px;
	min-width: 40px;
	padding: 0;
	margin: 0;
	border-width: 2px;
}

.planning-sieve-panel .planning-sieve-return-top .swarm-main-nav-tab-md {
	font-size: 20px;
	width: 20px;
	height: 20px;
	min-width: 20px;
	min-height: 20px;
}

/* SVG node labels: global `text { }` / fill rules must not hide labels on black backgrounds */
.plan-full-panel text.plan-full-panel-dag-label,
#ps-dual-sieve-svg g.ps-map-dag-node > text.ps-map-node-label,
#ps-review-dual-sieve-svg g.ps-map-dag-node > text.ps-map-node-label {
	fill: #ffbc00 !important;
	stroke: none !important;
	font-size: 10px !important;
	font-weight: 500;
}

#ps-dual-sieve-svg text.ps-sieve-vote-sliver-lbl,
#ps-review-dual-sieve-svg text.ps-sieve-vote-sliver-lbl {
	font-family: "Inter", "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
	font-size: 9px;
	font-weight: 650;
	letter-spacing: 0.02em;
	text-transform: capitalize;
	shape-rendering: geometricPrecision;
}

#ps-dual-sieve-svg text.ps-sieve-vote-sliver-glyph,
#ps-review-dual-sieve-svg text.ps-sieve-vote-sliver-glyph {
	font-family: "Segoe UI Symbol", "Segoe UI", "Roboto", Arial, sans-serif;
	font-weight: 700;
	fill: rgba(0, 0, 0, 0.78);
	transition: fill 120ms ease, transform 120ms ease;
}

#ps-dual-sieve-svg .ps-sieve-vote-sliver.is-drag-target,
#ps-review-dual-sieve-svg .ps-sieve-vote-sliver.is-drag-target {
	opacity: 0.96;
	stroke: #ff8c00;
	stroke-width: 2.2;
	filter: saturate(1.25) brightness(1.1);
}

#ps-dual-sieve-svg .ps-sieve-vote-sliver-lbl.is-drag-target,
#ps-review-dual-sieve-svg .ps-sieve-vote-sliver-lbl.is-drag-target {
	fill: rgba(0, 0, 0, 0.9);
	font-weight: 700;
}

#ps-dual-sieve-svg .ps-sieve-vote-sliver-glyph.is-drag-target,
#ps-review-dual-sieve-svg .ps-sieve-vote-sliver-glyph.is-drag-target {
	fill: #111;
	font-weight: 800;
}

/* Plan tab: step preview card + list/tree selection */
.planning-sieve-panel .planning-sieve-plan-header-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 6px;
}

.planning-sieve-panel .planning-sieve-plan-title-wrap {
	display: flex;
	align-items: baseline;
	gap: 6px;
	min-width: 0;
}

.planning-sieve-panel .planning-sieve-plan-title {
	font-size: 13px;
}

.planning-sieve-panel .planning-sieve-plan-id {
	color: #999;
	font-size: 11px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.planning-sieve-panel .planning-sieve-plan-frontier-toggle {
	margin: 0;
	flex: 0 0 auto;
}

.planning-sieve-panel .planning-sieve-common-plan-wrap,
.planning-sieve-panel .planning-sieve-common-plan-body {
	flex: 1 1 0;
	min-height: 0;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.planning-sieve-panel .planning-sieve-common-plan-viz {
	position: relative;
	flex: 1 1 0;
	min-height: 160px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.planning-sieve-panel .planning-sieve-common-plan-viz > plan-full-panel {
	flex: 1 1 0;
	min-height: 0;
	height: 100%;
}

.swarm-view-workspace .swarm-view-pane__plan-host .swarm-detail-partial-host--plan:not(.ng-hide),
.swarm-view-workspace .swarm-view-pane__plan-host .swarm-detail-partial-host--related-plans:not(.ng-hide) {
	overflow: hidden;
	display: flex;
	flex-direction: column;
	flex: 1 1 0;
	min-height: 0;
	align-self: stretch;
}

.planning-sieve-panel .planning-sieve-related-plans-wrap,
.planning-sieve-panel .planning-sieve-related-plans-editor,
.planning-sieve-panel .contribution-plan-editor {
	flex: 1 1 0;
	min-height: 0;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
}

.planning-sieve-panel .contribution-plan-editor > plan-full-panel {
	flex: 1 1 0;
	min-height: 0;
}

.planning-sieve-panel .planning-sieve-plan-step-preview,
.plan-full-panel__step-preview {
	border-top: 1px solid rgba(255, 188, 0, 0.35);
	margin-top: 8px;
	padding: 10px 4px 8px 4px;
	max-height: 22vh;
	min-height: 72px;
	overflow-y: auto;
	box-sizing: border-box;
	background: linear-gradient(to bottom, rgba(20, 20, 20, 0.92), rgba(12, 12, 12, 0.98));
	border-radius: 0 0 4px 4px;
	flex: none;
	width: 100%;
}

.planning-sieve-panel .planning-sieve-plan-step-id-tail {
	font-size: 11px;
	color: #ccc;
	background: rgba(0, 0, 0, 0.35);
	padding: 1px 5px;
	border-radius: 3px;
}

.planning-sieve-panel .planning-sieve-queen-lock-label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	cursor: pointer;
	user-select: none;
}

.planning-sieve-panel .planning-sieve-queen-lock-label input {
	width: 16px;
	height: 16px;
}

.planning-sieve-panel .planning-sieve-effort-form-cancel {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	min-height: 28px;
	padding: 0;
	border: none;
	border-radius: 4px;
	background: transparent;
	color: #888;
	cursor: pointer;
	line-height: 1;
}

.planning-sieve-panel .planning-sieve-effort-form-cancel .glyphicon {
	font-size: 14px;
}

.planning-sieve-panel .planning-sieve-effort-form-cancel:hover:not(:disabled),
.planning-sieve-panel .planning-sieve-effort-form-cancel:focus-visible:not(:disabled) {
	color: #e53935;
	background: rgba(0, 0, 0, 0.06);
}

.planning-sieve-panel .planning-sieve-effort-form-cancel:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

/* Dual lists: step title on one line, compact action row below */
.planning-sieve-panel .planning-sieve-dual-list-step {
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 6px 6px 4px 6px;
	margin-top: 6px;
	gap: 6px;
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
}

/* Dual list mapping: dark green focus states (inset so layout does not shift) */
.planning-sieve-panel .planning-sieve-dual-list-step.planning-sieve-dual-list-step--map-bulk-all,
.planning-sieve-panel .planning-sieve-dual-list-step.planning-sieve-dual-list-step--map-bulk-eligible {
	box-shadow: inset 0 0 0 2px #1b5e20;
}

.planning-sieve-panel .planning-sieve-dual-list-step.planning-sieve-dual-list-step--map-bulk-first,
.planning-sieve-panel .planning-sieve-dual-list-step.planning-sieve-dual-list-step--map-anchor {
	box-shadow: inset 0 0 0 2px #0d4218;
}

.planning-sieve-panel .planning-sieve-dual-list-label {
	display: block;
	width: 100%;
	font-size: 12px;
	line-height: 1.3;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.planning-sieve-panel .planning-sieve-dual-list-actions {
	width: 100%;
	flex: 0 0 auto;
	box-sizing: border-box;
	gap: 2px;
	padding-top: 1px;
}

.planning-sieve-panel .planning-sieve-dual-list-btn {
	width: 28px;
	height: 28px;
	border-width: 2px;
	margin: 1px;
	padding: 0;
	box-sizing: border-box;
	flex: 0 0 auto;
}

.planning-sieve-panel .planning-sieve-dual-list-btn > md-icon {
	font-size: 16px;
	width: 16px;
	height: 16px;
	min-width: 16px;
	min-height: 16px;
}

/* DAG mapping: compact plan like buttons (default .modification-button is 50×50) */
.planning-sieve-panel .planning-sieve-plan-like-btn {
	width: 28px;
	height: 28px;
	min-width: 28px;
	min-height: 28px;
	border-width: 2px;
	padding: 0;
	box-sizing: border-box;
	flex-shrink: 0;
}

.planning-sieve-panel .planning-sieve-plan-like-btn > md-icon {
	font-size: 16px;
	width: 16px;
	height: 16px;
	min-width: 16px;
	min-height: 16px;
}

/* DAG mapping: row below the dual canvas — reload left (~50% − 45px), Favor my Branch on the right */
.planning-sieve-panel .planning-sieve-dag-toolbar-below {
	padding: 6px 6% 2px 6%;
	box-sizing: border-box;
	border-top: 1px solid rgba(255, 140, 0, 0.2);
}

.planning-sieve-panel .planning-sieve-dag-toolbar {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	gap: 8px;
	width: 100%;
	box-sizing: border-box;
	padding: 0;
}

.planning-sieve-panel .planning-sieve-dag-toolbar-reload-wrap {
	flex: 0 0 calc(50% - 15px);
	max-width: calc(50% - 15px);
	min-width: 0;
	display: flex;
	align-items: center;
}

.planning-sieve-panel .planning-sieve-dag-toolbar-favor-wrap {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.planning-sieve-panel .planning-sieve-reload-pair-btn {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	max-width: none;
	height: auto;
	min-height: 38px;
	min-width: 0;
	border-width: 2px;
	padding: 6px 10px;
	box-sizing: border-box;
}

.planning-sieve-panel .planning-sieve-reload-pair-btn > md-icon {
	font-size: 20px;
	width: 20px;
	height: 20px;
	min-width: 20px;
	min-height: 20px;
	flex-shrink: 0;
}

.planning-sieve-panel .planning-sieve-reload-pair-btn-label {
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
}

/* Favor my Branch: smaller than default md-checkbox label */
.planning-sieve-panel .planning-sieve-favor-branch-checkbox {
	margin: 0;
}

.planning-sieve-panel .planning-sieve-favor-branch-checkbox .md-label {
	font-size: 11px;
	line-height: 1.25;
}

.modification-button > md-icon {
	color: #FFBC00;
}

.modification-modal {
	background-color: #000000;
	border: 5px solid #FFBC00;
	border-radius: 5px;
	height: 400px;
	left: 50%;
	position: absolute;
	top: 200px;
	transform: translate(-50%, 0);
	width: 800px;
}

.modification-wizard {
    background-color: #FFBC00;
    border: 5px solid #FF8C00;
    border-bottom-right-radius: 5px;
    border-left: 0;
    border-top-right-radius: 5px;
    bottom: -5px;
    color: #000000;
    height: 370px;
    overflow: hidden;
	overflow-y: scroll;
	padding: 15px;
	position: absolute;
    right: -235px;
	width: 200px;
}

.msgReceived {
	background-color: #FFFFFF; /* 98d5e8 */
	color: #4A51E8;
}

.msgSent {
	color: #4A51E8;
}

/* Match font-size between swarming-input and swarming-input-addon.
	Will also need to match element height for given font size. */
.nav-button {
	color: #FF8C00;
	height: 35px;
	width: 35px;
}

.nav-button:active,
.nav-button:focus {
	color: #FF8C00;
}

.nav-button:hover {
	background-color: #000000;
	color: #FFBC00;
}

.nav-courier-dash,
.nav-listing-detail,
.nav-market,
.nav-market-search,
.nav-mobile,
.nav-search-style,
.nav-seller-dash,
.nav-seller-profile {
	background-color: #FFFFFF !important;
	border: 10px;
	border-color: #FFFFFF;
	color: #000000; /* 98d5e8 */
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 0px;
	padding: 10px;
}

#nav-tab-courier-dash > a,
#nav-tab-listing-detail > a,
#nav-tab-market > a,
#nav-tab-payments > a,
#nav-tab-seller-dash > a,
#nav-tab-seller-profile > a {
	background-color: #4A51E8;
	border-radius: 0px;
	color: #000000;
	max-height: 100vh;
}

#nav-tab-courier-dash.active > a,
#nav-tab-listing-detail.active > a,
#nav-tab-market.active > a,
#nav-tab-payments.active > a,
#nav-tab-seller-dash.active > a,
#nav-tab-seller-profile.active > a {
	background-color: #FFFFFF;
	color: #000000;
}

#nav-tab-courier-dash > a:hover,
#nav-tab-listing-detail > a:hover,
#nav-tab-market > a:hover,
#nav-tab-seller-dash > a:hover,
#nav-tab-seller-profile > a:hover {
	background-color: #FFFFFF;
	color: #000000;
}

.nav-tabs > li {
	display: inline-block;
	float: none;	
}

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover {
	background-color: #000000;
	border: 5px;
	color: #FFFFFF;
}

.nav-tabs > li > a:active,
.nav-tabs > li > a:focus {
	background-color: #E7E7E7;
	border: 0px;
	color: #FFFFFF;
}

.nav-tabs > li > a:hover {
	background-color: #000000;
	border-color: #FFFFFF;
	color: #FFFFFF;
}

.nav-tabs > li > a {
	color: #000000;
}

.nav-tabs {
	border: 0px;
	margin: auto;
	text-align: center;
}

.navbar {
	background-color: #FFBC00;
	border-bottom: 4px solid #FF8C00;

	border-color: transparent;
	color: #000000; /* 98d5e8 */
	margin-top: 0px;
}

.navbar-center {
	margin-top: 20px;
}

.navbar-default .navbar-brand,
.navbar-default .navbar-brand:focus {
	color: #FFFFFF; /* 98d5e8 */
}

.navbar-default .navbar-brand:hover {
	color: #E7E7E7;
}

.navbar-default .navbar-nav > li > a {
	color: #E7E7E7;
}

.navbar-default .navbar-nav > li > a:active,
.navbar-default .navbar-nav > li > a:focus {
	color: #FFFFFF; /* 98d5e8 */
}

.navbar-default .navbar-nav > li > a:hover {
	color: #FFFFFF; /* 98d5e8 */
}

.navbar-default .navbar-toggle {
	background-color: #E7E7E7;
	border-color: transparent;
}

.navbar-default .navbar-toggle .icon-bar {
	background-color: #000000;
}

.navbar-default .navbar-toggle .icon-bar:hover {
	background-color: #E7E7E7;
}

.navbar-nav.navbar-center {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

.navbar-right {
	margin-top: 20px;
}

.navbar-text {
	color: #000000;
}

.navbar-toggle {
	height: 35px !important;
	width: 35px !important;
	border: 2px solid #FFBC00 !important;
	border-radius: 5px;
	background-color: #000000 !important;
	position: relative;
	left: 50%;
	top: 50%;
}

.no-margin-top {
	margin-top: 0px;
}
/*
.node rect {
	stroke: #000000;
	fill: #FF8C00;
	stroke-width: 1.5px;
}*/

.node-creation {
	background-color: #000000;
	border: 2px solid #FF8C00;
	color: #FF8C00;
	height: 575px;
	margin: 0px;
	overflow-x: hidden;
	overflow-y: auto;
	width: 400px;
}

.node-default {
	stroke: #000000;
	fill: #FF8C00;
}

.tree-node text {
	font-size: 16px;
	fill: #000000;
	margin: 25px;
}

.node-filter-input {
	background-color: #000000;
	border-radius: 15px;
	color: #FF8C00;
	padding: 10px;
	position: absolute;
	/*left: 50%;
	top: 10px;
	transform: translateX(-50%);*/
	left: 45px;
	top: 85px;
}

.node-filter-input button {
	border: 1px solid #FF8C00;
	border-radius: 0px;
	height: 40px;
	margin-left: -4px;
	padding-left: 0px;
	width: 36px;
}

.node-filter-input button md-icon {
	color: #FFBC00;
	font-size: 25px;
	padding-left: 4px;
}

.node-filter-input input {
	border-color: #FFBC00;
}

.node-filter-input label {
	color: #FF8C00 !important;
}

.node-filter-input md-input-container {
	background-color: #000000;
	/*color:#FF8C00;*/
}

.node-filter-input .md-errors-spacer {
	display: none;
}

.node-frontier {
	stroke: #000000 !important;
}

.node-highlight {
	border: 1px solid #FFBC00 !important;
	font-size: 16px !important;
}

.node-image {
	position: relative;
	left: 10px;
	top: 3px;
}

.node-line {
	font-size: 12px;
	height: 20px;
}

.node-list-element {
	font-size: 12px;
	height: auto;
	min-height: 20px;
}

#swarm-main-graph-svg {
	touch-action: none;
}

.node-list {
	background-color: #000000;
}

@media (max-width: 767px) {
	.corner-nav-shell {
		top: calc(60px + env(safe-area-inset-top, 0));
	}

	.swarm-logged-in-shell {
		--swarm-shell-h-inset: 0px;
		--swarm-shell-top-inset: 60px;
	}

	swarm-view-workspace.swarm-workspace-host,
	swarm-view-workspace.node-list-panel {
		position: relative;
		inset: auto;
		flex: 1 1 0;
		padding:
			0
			env(safe-area-inset-right, 0)
			0
			env(safe-area-inset-left, 0);
		width: 100%;
		height: auto;
		max-width: none;
		max-height: 100%;
		min-height: 0;
		overflow: hidden;
		/* Center the single capped pane (detail max-width) instead of left-aligning under stretch. */
		align-items: center;
	}

	swarm-view-workspace.swarm-workspace-host.swarm-workspace-host--mobile {
		padding-top: calc(
			var(--swarm-shell-top-inset) + env(safe-area-inset-top, 0)
		);
	}

	swarm-view-workspace.swarm-workspace-host > .swarm-view-workspace-shell,
	swarm-view-workspace.node-list-panel > .swarm-view-workspace-shell {
		min-height: 0;
		height: 100%;
		max-height: 100%;
		max-width: 100%;
		width: 100%;
	}

	/* Single-pane detail fills the available safe-area width. */
	swarm-view-workspace.swarm-workspace-host > .swarm-view-workspace-shell.swarm-view-workspace--detail:not(.swarm-view-workspace--multipane):not(.swarm-view-workspace--browser-primary),
	swarm-view-workspace.node-list-panel > .swarm-view-workspace-shell.swarm-view-workspace--detail:not(.swarm-view-workspace--multipane):not(.swarm-view-workspace--browser-primary) {
		width: 100%;
		max-width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.swarm-view-workspace-shell.swarm-view-workspace--mobile {
		min-height: 0;
		height: 100%;
	}

	.swarm-view-workspace-shell.swarm-view-workspace--mobile .swarm-view-workspace-viewport,
	.swarm-view-workspace-shell.swarm-view-workspace--mobile .swarm-view-workspace {
		justify-content: center;
	}

	.swarm-view-workspace-viewport {
		min-width: 0;
		width: 100%;
	}

	swarm-view-pane,
	.swarm-view-pane {
		min-width: 0;
		flex: 1 1 auto;
		max-width: 100%;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	.swarm-view-workspace-shell.swarm-view-workspace--browser-primary swarm-view-pane,
	.swarm-view-workspace-shell:not(.swarm-view-workspace--multipane):not(.swarm-view-workspace--detail) swarm-view-pane,
	.swarm-view-pane--browse,
	.swarm-view-pane--node-browser {
		min-width: 0;
		max-width: 100%;
	}

	.swarm-view-workspace--mobile #plan-frontier-svg-container,
	.swarm-view-workspace--mobile #plan-frontier-svg-container-frontier {
		height: 32vh;
		min-height: 160px;
		max-height: 240px;
	}

	.swarm-view-workspace--mobile .plan-frontier-panel {
		width: 100%;
		max-width: 100%;
	}

	.swarm-bottom-chrome__main-nav {
		max-width: calc(100vw - 16px - env(safe-area-inset-left, 0) - env(safe-area-inset-right, 0));
	}

	.swarm-view-workspace__carousel-btn {
		width: 36px;
		height: 48px;
	}

	.swarm-view-workspace__carousel-btn--prev {
		left: 4px;
	}

	.swarm-view-workspace__carousel-btn--next {
		right: 4px;
	}
}

@supports (height: 100dvh) {
	@media (max-width: 767px) {
		swarm-view-workspace.swarm-workspace-host,
		swarm-view-workspace.node-list-panel {
			max-height: none;
		}
	}
}

.node-specified,
.node-locked {
	/*background-color: #FFBC00;*/
	fill: #FF8C00 !important;
}

.node-focused {
	fill: #00e5ff !important;
	stroke: #ffff00 !important;
	stroke-width: 3px !important;
}

.plan-full-panel-dag-node--focused circle {
	fill: #00e5ff !important;
	stroke: #ffff00 !important;
	stroke-width: 3px !important;
}

.plan-full-panel__list-step--focused {
	outline: 2px solid #ffff00;
	outline-offset: -2px;
	background: rgba(0, 229, 255, 0.12);
}

.plan-full-panel__list-badge--focused {
	color: #00e5ff;
	border-color: #ffff00;
}

.plan-full-panel__list-badge--sequence {
	color: #ffb74d;
	border-color: rgba(255, 140, 0, 0.55);
	font-weight: 500;
}

.plan-full-panel__sequence {
	border-top: 1px solid rgba(255, 140, 0, 0.35);
	padding-top: 8px;
}

.plan-full-panel-dag-link--temporal,
.link-plan-temporal {
	pointer-events: none;
}

.planning-sieve-plan-sequence-toggle {
	margin: 0;
}

.node-plan-base {
	fill: #FFBC00;
	stroke: #000000;
	stroke-width: 1px;
}

.plan-step-state-badges {
	pointer-events: none;
}

.plan-step-state-icon {
	fill: #ffbc00;
	font-family: "Material Icons";
	font-weight: normal;
	font-style: normal;
	line-height: 1;
	letter-spacing: normal;
	text-transform: none;
	display: inline-block;
	white-space: nowrap;
	word-wrap: normal;
	direction: ltr;
	-webkit-font-feature-settings: "liga";
	font-feature-settings: "liga";
	-webkit-font-smoothing: antialiased;
}

.plan-step-state--accepted .plan-step-state-icon {
	fill: #38ff9c;
}

.plan-step-state--specified .plan-step-state-icon {
	fill: #ffbc00;
}

.plan-step-state--promoted .plan-step-state-icon {
	fill: #82b1ff;
}

.plan-step-state--focused .plan-step-state-icon {
	fill: #00e5ff;
}

.plan-step-state--proposed .plan-step-state-icon {
	fill: #ce93d8;
}

.drag-handle {
	fill: #FF8C00;
	stroke: #000000;
	stroke-width: 1px;
	opacity: 0.9;
}

.drag-handle:hover {
	fill: #FFBC00;
	opacity: 1;
}

.node-drop-target-active rect {
	stroke: #38FF9C !important;
	stroke-width: 3px !important;
}

.plan-tree-delete-zone-bg {
	fill: rgba(0, 0, 0, 0.45);
	stroke: #FF8C00;
	stroke-width: 1px;
}

.delete-drop-target-active .plan-tree-delete-zone-bg {
	stroke: #38FF9C !important;
	stroke-width: 3px !important;
}

.plan-tree-delete-zone-icon-stroke {
	fill: none;
	stroke: #ff8c00;
	stroke-width: 1.75px;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.delete-drop-target-active .plan-tree-delete-zone-icon-stroke {
	stroke: #38ff9c !important;
}

.node-contribution-selected rect {
	stroke: #38FF9C !important;
	stroke-width: 4px !important;
}

.node-contribution-selected text {
	font-weight: 700;
}

.node-selected {
	background-color: #FFBC00 !important;
	color: #000000 !important;
	opacity: 1 !important;
}

.node-title {
	left: 25px;
	position: relative;
	top: 0px;
}

.node-list-element {
	background-color: #000000;
	border: 3px solid #FF8C00;
	border-radius: 5px;
	color: #FF8C00;
	font-size: 14px;
	padding: 15px;
}

.nodes circle {
	pointer-events: all;
	stroke: #FF8C00;
	stroke-width: 3px;
}

.note-creation {
	background-color: #FF8C00;
	border: 2px solid #FFBC00;
	bottom: 455px;
	border-radius: 5px;
	height: 250px;
	right: 50px;
	padding: 10px;
	position: absolute;
	width: 500px;
}

.note-details {
	background-color: #FF8C00;
	border: 2px solid #FFBC00;
	bottom: 125px;
	border-radius: 5px;
	height: 250px;
	left: 50px;
	padding: 10px;
	position: absolute;
	width: 500px;
}

.note-highlighted-text {
	color: #FF7777;
}

.offset-indicators {
	bottom: -40px;
}

.ontology-body {
	background-color: #000000;
	border: 3px solid #FF8C00;
	border-radius: 5px;
	height: 75px;
	margin: 10px;
	width: 250px;
}

.panel-bid {
	border: 15px;
}

.panel-default {
	background-color: #4A51E8;
	border-color: #4A51E8;
	-moz-border-radius: 15px;
	-webkit-border-radius: 15px;
	border-radius: 15px;
	padding: 30px;
}

.panel-landing {
	background-color: #E7E7E7;
	border-color: #FFFFFF;
	color: #4A51E8;
	width: 65%;
}

.plan-deliverable-editor {
	background-color: #FFBC00;
	color: #000000;
	height: 250px;
	left: 150px;
	position: absolute;
	top: 500px;
	width: 200px;
}

.plan-addlink,
.plan-del-deliverable,
.plan-map-mode-toggle,
.plan-map-view-toggle,
.plan-new {
	position: relative;
}

.plan-effort-edit-button {
	height: 30px;
	left: 50%;
	position: relative;
	transform: translateX(-52%);
	width: 80%;
}

.plan-name-input {
	background-color: #FFBC00;
	border-radius: 15px;
	height: 250px;
	padding: 25px;
	position: absolute;
	right: 200px;
	top: 50px;
	width: 250px;
}

.plan-node {
	color: #FFBC00;
    position: relative;
    left: 150px;
    top: 200px;
    border: 2px solid #FFBC00;
    width: 130px;
    height: 85px;
	padding: 10px;
	border-radius: 10px;
}

.plan-save {
	position: relative;
}

.plan-toggle-box {
	height: 200px;
	left: 300px;
	position: absolute;
	top: 150px;
	width: 100px;
}

.plan-update {
	position: relative;
}

.plan-wizard-nav-btn {
	height: 30px;
}

.previewed-mod {
	background-color: #FF8C00;
}

.primary-view-panel {
	min-width: 33%;
}

.task-tile {
	background-color: #000000;
	border: 2px solid #FF8C00;
	border-radius: 5px;
	color: #FFBC00;
	height: 65px;
	left: 2.5%;
	margin-top: 5px;
	overflow-x: hidden;
	overflow-y: hidden;
	position: relative;
	width: 95%;
}

.task-tile > div > button {
	height: 50px;
	margin: 3px;
	width: 80px;
}

.task-tile > div > button > md-icon {
	color: #FFBC00;
	font-size: 20px;
}

.task-tile > div > md-icon {
	color: #FFBC00;
	left: 50%;
	position: relative;
	top: 50%;
	transform: translate(-50%, -50%);
}

.task-tile > div > span {
	display: block;  /* Enables transform. */
	position: relative;
	top: 50%;
	transform: translate(0%, -50%);
}

transfer {
	background-color: #000000;
	border: 5px solid #FF8C00;
	border-radius: 10px;
	left: 50%;
	padding: 15px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 750px;
}

.wizard-element-display {
	overflow-x: hidden;
	overflow-y: auto;
}

.wizard-header {
	margin-bottom: 15px;
}

.wizard-row-action {
	height: 25px;
	margin-left: 0px;
	margin-right: 0px;
	width: 25px;
}

.wizard-row-action md-icon {
	color: #FF8C00;
	left: 50%;
	position: relative;
	top: 50%;
	transform: translate(-50%, -50%);
}

.wizard-step {
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	/*margin-left: 10px;
	margin-right: 10px;*/
	text-align: center;
}

.wizard-step span {
	top: 30%;
	position: relative;

}

.active-wizard-step {
	background-color: #FF8C00;
	color: #000000;

}

.inactive-wizard-step {
	background-color: #000000;
	border: 2px solid #FF8C00;
	border-bottom: 1px solid #FF8C00;
	color: #FF8C00;
}

.plan-wizard {
	background-color: #000000;
	border: 3px solid #FF8C00;
	border-radius: 5px;
	height: 800px;
	left: 50%;
	overflow-y: auto;
	padding: 25px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 950px;
}

.plan-wizard .md-input {
	color: #FF8C00;
}
/*
.plan-wizard-panel {

}*/

.priceTextBox {
	width: 100px;
}

.product-handler-well {
	height: 700px;
}

.productNamePulldown {
	color: #000000;
	width: 150px;
}

.profile-icon {
	border: 4px solid #000000;
	border-radius: 5px;
	margin-top: 3px;
}

.profile-panel {
	max-height: 85vh;
	min-height: 320px;
}

.profile-view-panel {
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.profile-view-panel > div[flex="none"],
.profile-view-panel > .profile-subnav-row {
	flex-shrink: 0;
}

.profile-view-panel #profile-directive-body-scroll {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
}

.profile-subview-section {
	border-bottom: 1px solid rgba(255, 140, 0, 0.22);
	margin-bottom: 12px;
	padding-bottom: 16px;
	scroll-margin-top: 8px;
}

.profile-subview-section:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

.profile-subscriptions-intro {
	font-size: 13px;
	margin: 0 0 12px;
	opacity: 0.9;
}

.profile-subscriptions-empty {
	font-size: 13px;
	margin: 8px 0;
	opacity: 0.85;
}

.profile-subscription-row {
	border-bottom: 1px solid rgba(255, 140, 0, 0.15);
	margin-bottom: 8px;
	padding-bottom: 8px;
}

.profile-subscription-row:last-child {
	border-bottom: none;
	margin-bottom: 0;
}

.profile-subscription-hive-name {
	font-weight: bold;
	padding-right: 8px;
}

.profile-subscription-switch {
	margin: 0;
}

.profile-panel > div {
	width: 100%;
}

.profile-panel-title {
	margin: 0 0 8px;
	text-align: center;
}

.profile-panel-image-row {
	margin-bottom: 12px;
}

.profile-panel-actions {
	margin-top: 8px;
}

.profile-panel-actions .profile-save-btn.btn-swarming {
	height: 40px;
	max-width: none;
	min-width: 0;
	padding: 0 28px;
	width: auto;
}

/* Theme Angular Material form labels/values for dark profile panel (matches swarm-detail-panel) */
.profile-panel md-input-container label,
.profile-panel md-input-container .md-placeholder,
.profile-panel editable label,
.profile-panel editable-large label {
	color: #FF8C00 !important;
}

.profile-panel md-input-container .md-input,
.profile-panel .swarming-input,
.profile-panel .editable-large-textarea {
	color: #FFBC00 !important;
}

.profile-panel .swarming-input::placeholder,
.profile-panel .swarming-input::-webkit-input-placeholder,
.profile-panel .swarming-input::-moz-placeholder,
.profile-panel .editable-large-textarea::placeholder {
	color: #FF8C00;
	opacity: 1;
}

/* editable-large: tall textareas cover AM floating labels — stack label above the field */
.profile-panel editable-large md-input-container {
	padding-top: 4px;
}

.profile-panel editable-large md-input-container label {
	position: static !important;
	bottom: auto !important;
	transform: none !important;
	width: auto;
	overflow: visible;
	margin-bottom: 6px;
}

.project-content-container {
	height: 70vh;
	overflow-x:hidden;
	overflow-y: scroll;
}

.project-description {
	font-size: 18px;
}

.project-description-card {
	height: 50%;
	min-height: 200px;
	overflow-x: hidden;
	overflow-y: auto;
	padding-top: 0px;
	white-space: pre-line;
}

.project-heading {
	font-size: 20px;
	font-weight: bold;
	margin-left: 10px;
}

.project-label {
	font-size: 35px;
	font-weight: bold;
	margin-left: 10px;
}

.project-nav {
	height: 10vh;
	margin-top: 5px;
}

.project-preview {
	display: block;
	height: 150px; 
	position: absolute;
	width: 600px;
}

.recruit-card {
	height: 95vh;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 15px;
	position: relative;
}

.recruit-center-element {
	left: 50%;
	max-width: 400px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%)
}

.relationship {
	background-color: #FFBC00;
	border: 3px solid #FF8C00;
	border-radius: 3px;
	color: #000000;
	height: 50px;
	margin-top: 30px;
	padding: 5px;
	position: relative;
	width: 150px;
}

.relationship-node-image {
	height: 35px;
	position: absolute;
	right: 15px;
	top: 14px;
	width: 35px;
}

.relationship-node-name {
	left: 15px;
	position: relative;
	top: 15px;
}

.relationship-panel {
	bottom: 90px;
	left: 405px;
	position: absolute;
}

.relationship-type {
	color: #FF8C00;
	left: 0px;
	position: absolute;
	top: -25px;
}

.result-list {
	position: absolute;
	right: 75px;
	top: 300px;
}

.route-map {
	height: 85vh;
	width: 100%;
}

.search-category {
	background-color: #FFFFFF; /* 98d5e8 */
	color: #000000;
}

.search-category:active,
.search-category:focus {
	background-color: #000000;
	color: #FFFFFF; /* 98d5e8 */
}

select {
	background-color: #000000;
	color: #E7E7E7;
	font-family: "Righteous";
}

.select-signup {
	background-color: #E7E7E7;
	border-color: transparent;
	color: #FFFFFF;
	margin: 10px;
}

.selected-transfer-tab {
	border-bottom: 2px solid #000000 !important;
}

.signup-modal-label {
	bottom: 5px;
}

.signup-modal-title {
	color: #000000;
}

.space-above {
	margin-top: 10px;
}

.space-below {
	margin-bottom: 25px;
}

.space-left {
	margin-left: 10px;
}

.space-right {
	margin-right: 10px;
}

.subscription-handler {
	background-color: #FFFFFF; /* 98d5e8 */
	border-color: #4A51E8;
	border-radius: 25px;
	border-style: solid;
	border-width: 5px;
	-moz-border-radius: 25px;
	-webkit-border-radius: 25px;
	color: #000000;
	padding: 10px;
}

.subscription-list-group-item {
	background-color: #FFFFFF; /* 98d5e8 */
	color: #000000;
}

.swarming-header {
	color: #FF8C00;
	font-size: 50px;
	font-weight: bold;
	margin-top: 0px;
	text-align: center;
}

.swarming-input {
	border-color: #FF8C00 !important;
	color: #000000; /*#FF8C00 !important;*/
	text-align: right;
}

/* Match font-size between swarming-input and swarming-input-addon. */
.swarming-input-addon {
	background-color: #000000;
	border: 2px solid #FFBC00;
	border-right: 4px solid #FFBC00 !important; 
	color: #FFBC00;
	font-size: 20px !important;
	padding: 10px;
	width: auto;
}

.tagline {
	margin-left: 15px;
}

.taketime-button {
	position: relative;
	z-index: 1;
}

.taketime-schedule {
	background-color: #FF8C00;
	border: 2px solid #FFBC00;
	bottom: 250px;
	border-radius: 5px;
	height: 550px;
	left: 450px;
	padding: 10px;
	position: absolute;
	width: 700px;
}

.team-member-thumbnail {
	height: 50px !important;
	width: 50px !important;
}

.test-navbar {
	background-color: #FFFFFF;
	border: 0;
	color: #E7E7E7;
}

.test-primary-content {
	background-color: #000000;
	color: #FFFFFF; /* 98d5e8 */
	height: 100%;
}

.test-secondary-content {
	background-color: #FFFFFF; /* 98d5e8 */
	color: #FFFFFF;
	height: 100%;
}

.test-secondary-list-item {
	background-color: #FFFFFF !important;
	border-color: #FFFFFF; /* 98d5e8 */
	color: #FFFFFF; /* 98d5e8 */
}

.test-tertiary-content {
	background-color: #FFFFFF;
	color: #E7E7E7;
	height: 100%;
}

text {
	font-weight: 300;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 14px;
}

.todays-hours {
	font-weight: bold;
	font-size: 22px;
}

.transfer-box {
	background-color: #FF8C00;
	border: 2px solid #000000;
	border-top-left-radius: 0px;
	border-radius: 5px;
	color: #FFBC00;
	height: 320px;
	padding: 5px;
	position: absolute;
	right: 150px;
	top: 200px;
	width: 375px;
}

.transfer-commodity-name {
	font-size: 14px;
}

.transfer-direction-icon {
	font-size: 15px;
}

.transfer-image-icon {
	margin: 5px;
}

.transfer-name {
	font-size: 14px;
	padding-left: 15px;
	padding-top: 10px;
}

.transfer-offer-tab {
	background-color: #000000;
	border: 2px solid #FF8C00;
	border-radius: 3px;
	color: #FF8C00;
	left: -2px;
	position: absolute;
	text-align: center;
	top: -24px;
	width: 85px;
}

.transfer-request-tab {
	background-color: #000000;
	border: 2px solid #FF8C00;
	border-radius: 3px;
	color: #FF8C00;
	left: 85px;
	position: absolute;
	text-align: center;
	top: -24px;
	width: 85px;
}

.transfer-offer-nav-tag {
	background-color: #000000;
	border: 1px solid #FF8C00;
	border-radius: 3px;
	color: #FF8C00;
	position: absolute;
	right: -2px;
	text-align: center;
	bottom: -28px;
	width: 140px;
}

.tree-effort-card {
	margin-bottom: 15px;
	overflow-x: hidden;
	overflow-y: hidden;
}

.tree-card {
	margin-bottom: 15px;
	overflow-x: hidden;
	overflow-y: hidden;
}

.tree-half-height {
	height: 45vh;
}

.tree-mobile-card {
	margin-bottom: 15px;
	margin-top: 15px;
	overflow-x: hidden;
	overflow-y: hidden;
}

.tree-team-card {
	margin-bottom: 15px;
	overflow-x: hidden;
	overflow-y: hidden;
}

.ui-panel {
	border: 2px solid #FF8C00;
	border-radius: 3px;
	overflow-x: hidden;
	overflow-y: auto;
}

ul > li > a {
	background-color: #000000;
}

.ul-no-style {
	list-style-type: none;
}

.view {
	max-height: 95vh;
	overflow: hidden;
	z-index: 1;
}

.view-container {
/*	margin: 15px;
	margin-top: 10px;
	padding-top: 10px;
	left: 0px;
	position: absolute;
	top: 0px;*/
	overflow-x: hidden;
	overflow-y: auto;
}

.view-pane {
	margin-top: 50px;
}

.vote-options button {
	height: 25px;
	margin: 1px;
	padding: 0px;
	padding-top: 4px;
	width: 25px;
}

.vote-options button > md-icon {
	color: #FFBC00;
	font-size: 15px;
}

.vote-options button.vote-selected {
	background-color: #FF8C00;
	border: 2px solid #FFBC00;
	color: #000000;
}

.vote-options button.vote-selected > md-icon {
	color: #000000;
	margin-top: 0px;
}

.node-vote-option {
	margin-right: 2px;
	margin-bottom: 4px;
}

.node-vote-tally {
	font-size: 10px;
	line-height: 1.2;
	text-align: center;
	margin-top: 2px;
	min-width: 22px;
	color: #FFBC00;
}

.voting-action-icon {
	color: #FF8C00; font-size: 13px;
	left: 50%;
	position: relative;
	top: 50%;
	transform: translate(0%, -50%);
}

.voting-input-full {
	background-color: #000000;
	border: 1px solid #FF8C00;
	color: #FFBC00;
	margin-bottom: 6px;
	width: 100%;
}

.vote-mode-toggle {
	gap: 12px;
	margin-bottom: 8px;
}

.vote-mode-option {
	color: #FFBC00;
	font-size: 12px;
}

.vote-choice-editor {
	background-color: #000000;
	border: 1px solid #FF8C00;
	margin-bottom: 8px;
	padding: 8px;
}

.vote-choice-empty {
	color: #FFBC00;
	font-size: 12px;
	margin-top: 6px;
	opacity: 0.75;
}

.vote-choice-row {
	border-top: 1px solid #FF8C00;
	color: #FFBC00;
	font-size: 12px;
	padding: 6px 0;
}

.vote-choice-actions {
	gap: 4px;
}

.vote-existing {
	background: rgba(255, 140, 0, 0.15);
	border-left: 3px solid #FF8C00;
	margin-bottom: 10px;
	padding: 8px;
}

.vote-existing-hint {
	color: #FFBC00;
	font-size: 12px;
	opacity: 0.75;
}

.vote-choice-select select {
	background-color: #000000;
	border: 1px solid #FF8C00;
	color: #FFBC00;
	padding: 4px;
}

.vote-choice-dropdown {
	min-width: 180px;
}

.vote-reasoning-input {
	background-color: #000000;
	border: 1px solid #FF8C00;
	color: #FFBC00;
}

.vote-tally-chart {
	background-color: #000000;
	border: 1px solid #FF8C00;
	margin-bottom: 8px;
	padding: 8px;
}

.vote-tally-title {
	color: #FF8C00;
	font-size: 12px;
	font-weight: bold;
	margin-bottom: 6px;
}

.vote-tally-row {
	margin-bottom: 6px;
}

.vote-tally-header {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 3px;
}

.vote-tally-label {
	color: #FFBC00;
	font-size: 12px;
	margin-right: 8px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.vote-tally-bar-wrap {
	background-color: rgba(255, 140, 0, 0.2);
	border: 1px solid #FF8C00;
	height: 10px;
	width: 100%;
}

.vote-tally-bar-fill {
	background-color: #FF8C00;
	height: 100%;
	min-width: 2px;
}

.vote-tally-count {
	color: #FFBC00;
	font-size: 12px;
	min-width: 52px;
	text-align: right;
}

::-webkit-scrollbar {
	width: 10px;
}

/* Track */
::-webkit-scrollbar-track {
	/*background: #FFBC00;*/
	border: 1px solid #442200;
}

/* Handle */
::-webkit-scrollbar-thumb {
	background: #000000;
	border: 3px solid #FF8C00;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
	background: #FFBC00;
	border: 3px solid#FF8C00;
}

.well {
	background-color: #FFBC00; /* 98d5e8 */
	border: 2px solid #FF8C00;
	border-color: #4A51E8;
	-moz-border-radius: 25px;
	-webkit-border-radius: 25px;
	border-radius: 0px;
	color: #000000;

	padding: 10px;
	border-width: 6px;
}

.well .nested-well {
	background-color: #000000 !important;
	border: 2px solid #FF8C00 !important;
	color: #FFBC00 !important;
	margin: 10px;
	padding: 20px;
}

.well-bitcoin {
	background-color: #E7E7E7;
	color: #FFFFFF;
	width: 50%;
}

.x-button {
	height: 21px;
	width: 21px;
	padding: 0px;
}