/* Project presentation belongs to Builder; IDs/classes preserve the existing appearance. */
.btm-save-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.btm-save-trigger-indicator { display: inline-block; flex: 0 0 8px; width: 8px; height: 8px; margin-top: 2px; border-radius: 50%; background: #c59b1c; }
.btm-save-trigger-indicator[data-state="saved"] { background: #32834b; }
.btm-save-trigger-indicator[hidden] { display: none; }
.btm-projects-save-panel { width: 100%; min-width: 0; }
.btm-projects-save-panel [hidden] { display: none !important; }
.btm-projects-save-panel label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 500; }
.btm-projects-save-panel input[type="text"] { box-sizing: border-box; width: 100%; min-width: 0; margin: 0 0 14px; }
.btm-projects-save-panel p {
	padding-inline: 3px;
	margin: 0 0 14px; color: inherit; font-size: 14px; font-weight: 400;
	line-height: 1.5; text-align: start; overflow-wrap: anywhere;
}
.btm-projects-save-panel #btm-projects-save-message { margin: 12px 0 0; }
.btm-projects-save-panel #btm-projects-save-message:empty { display: none; }
.btm-projects-name-row { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; padding-inline: 3px; }
.btm-projects-name-display { min-width: 0; font-size: 15px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.btm-projects-save-panel .btm-projects-edit-name { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; height: 32px; min-height: 0; padding: 6px; border: 0; border-radius: 6px; background: transparent; color: inherit; box-shadow: none; }
.btm-projects-edit-name svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.btm-projects-save-panel .btm-projects-edit-name:hover { background: #ededed; }
.btm-projects-edit-name:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.btm-projects-save-panel .btm-projects-undo-name { flex: 0 0 auto; min-height: 32px; padding: 4px 6px; border: 0; border-radius: 6px; background: transparent; color: inherit; box-shadow: none; font-family: inherit; font-size: 13px; line-height: 1.4; cursor: pointer; }
.btm-projects-save-panel .btm-projects-undo-name:hover { background: #ededed; }
.btm-projects-undo-name:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.btm-projects-name-input-row { display: flex; align-items: stretch; gap: 8px; margin-bottom: 14px; }
.btm-projects-save-panel .btm-projects-name-input-row input[type="text"] { flex: 1 1 0; width: auto; margin: 0; }
.btm-projects-save-panel .btm-projects-name-ok { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 40px; padding: 8px 12px; border: 0; border-radius: 6px; background: #484848; color: #fff; font-family: inherit; font-size: 14px; line-height: 1; cursor: pointer; }
.btm-projects-save-panel .btm-projects-name-ok:hover { background: #3c3c3c; }
.btm-projects-panel-actions { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.btm-projects-save-panel .btm-projects-secondary { border: 1px solid #606060; background: transparent; color: #363636; }
.btm-projects-save-panel .btm-projects-secondary:hover { background: #ededed; color: #363636; }
.btm-projects-save-panel .btm-projects-copy-title { font-size: 15px; font-weight: 600; }
.btm-projects-save-panel #btm-projects-saved-label { display: flex; align-items: baseline; gap: 8px; margin-bottom: 0; }
.btm-projects-save-dot { display: inline-block; flex: 0 0 8px; width: 8px; height: 8px; border-radius: 50%; }
.btm-projects-save-status[data-state="saved"] .btm-projects-save-dot { background: #32834b; }
.btm-projects-save-status:is([data-state="saving"], [data-state="pending"], [data-state="loading"]) .btm-projects-save-dot { background: #c59b1c; }
.btm-projects-save-status:is([data-state="error"], [data-state="unavailable"]) .btm-projects-save-dot { background: #be4141; }
.btm-projects-save-panel a.btm-save-panel-btn { text-decoration: none; }
.btm-projects-save-panel .btm-save-panel-btn { max-width: none; border-radius: 999px; }
.btm-projects-save-panel .btm-save-panel-btn:disabled { cursor: default; opacity: .55; }
.btm-projects-save-panel [type="submit"] {
	display: flex; align-items: center; justify-content: center; box-sizing: border-box;
	width: 100%; min-height: 44px; margin: 0; padding: 8px 12px; border: 0; border-radius: 999px;
	background: #484848; color: #fff; font-family: inherit; font-size: 14.5px; font-weight: 600; line-height: 1; cursor: pointer;
}
.btm-projects-save-panel [type="submit"]:hover { background: #3c3c3c; color: #fff; }

@media (max-width: 900px) {
	.btm-mount--drawer .btm-projects-save-panel {
		max-width: 290px;
		margin-inline: auto;
	}
}

.btm-app-wrapper:has(> .btm-projects-load-status) { position: relative; }
.btm-projects-load-status {
	position: absolute; inset: 0; z-index: 500; display: flex; flex-direction: column;
	align-items: center; justify-content: center; gap: 16px; min-height: 240px;
	padding: 24px; background: #f9f9f9; color: #363636; text-align: center;
}
.btm-projects-load-status[hidden], .btm-projects-load-status [hidden] { display: none; }
.btm-projects-load-status:not([hidden]) ~ #btm-app-layout { visibility: hidden; pointer-events: none; }
.btm-projects-load-status p { margin: 0; }
.btm-projects-load-status > div { display: flex; align-items: center; flex-wrap: wrap; justify-content: center; gap: 16px; }
.btm-projects-load-status button, .btm-projects-load-status .button {
	border: 1px solid #606060; border-radius: 6px; padding: 8px 16px;
	background: #fff; color: #363636; font: inherit; cursor: pointer; text-decoration: none;
}
.btm-project-preview-measure {
  position: fixed;
  inset-inline-start: -100000px;
  top: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
}
