/* SnapWeb Core frontend styles chunk 3 of 4. Loaded by the snapweb-core style handle. */

.snapweb-core-site-table__action[data-tooltip]::after {
	position: absolute;
	left: 50%;
	bottom: calc(100% + 8px);
	z-index: 70;
	transform: translateX(-50%) translateY(3px);
	padding: 5px 8px;
	border-radius: 8px;
	background: #0f172a;
	color: #ffffff;
	content: attr(data-tooltip);
	font-size: 10.5px;
	font-weight: 750;
	line-height: 1;
	letter-spacing: .01em;
	white-space: nowrap;
	opacity: 0;
	pointer-events: none;
	box-shadow: 0 10px 22px rgba(15, 23, 42, .18);
	transition: opacity .14s ease, transform .14s ease;
}

.snapweb-core-site-table__action[data-tooltip]:hover::after,
.snapweb-core-site-table__action[data-tooltip]:focus-visible::after {
	transform: translateX(-50%) translateY(0);
	opacity: 1;
}

.snapweb-core-site__summary-tools .snapweb-core-copy-button {
	width: 24px;
	height: 24px;
}

.snapweb-core-site__summary-tools .snapweb-core-copy-button svg {
	width: 13px;
	height: 13px;
}

.snapweb-core-site__summary-value {
	font-size: 13px;
	font-weight: 400;
	line-height: 1.35;
	color: #0f172a;
	overflow-wrap: anywhere;
}

.snapweb-core-site-list-tools {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 12px;
}

.snapweb-core-site-list-tools__bulk {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.snapweb-core-site-list-tools__bulk select,
.snapweb-core-site-list-tools__filters select,
.snapweb-core-site-list-tools__apply,
.snapweb-core-site-list-tools__search {
	min-height: 32px;
	height: 32px;
	border: 1px solid #d7e0ea;
	border-radius: 999px;
	background-color: #ffffff;
	color: #0f172a;
	font-size: 12.5px;
	line-height: 32px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
	transition: border-color .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease;
}

.snapweb-core-site-list-tools__bulk select,
.snapweb-core-site-list-tools__filters select {
	appearance: none;
	-webkit-appearance: none;
	margin: 0;
	padding: 0 28px 0 11px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M6 8l4 4 4-4' stroke='%235b7190' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 11px center;
	background-size: 11px 11px;
	cursor: pointer;
}

.snapweb-core-site-list-tools__bulk select {
	width: 134px;
}

.snapweb-core-site-list-tools__filters select {
	width: auto;
	min-width: 118px;
	max-width: 154px;
}

.snapweb-core-site-list-tools__apply {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 12px;
	font-weight: 650;
	cursor: pointer;
}

.snapweb-core-site-list-tools__apply:hover:not(:disabled),
.snapweb-core-site-list-tools__apply:focus-visible:not(:disabled),
.snapweb-core-site-list-tools__bulk select:focus,
.snapweb-core-site-list-tools__filters select:focus,
.snapweb-core-site-list-tools__search:focus-within {
	border-color: rgba(96, 165, 250, .45);
	background-color: #ffffff;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.08);
	outline: none;
}

.snapweb-core-site-list-tools__apply:disabled {
	cursor: not-allowed;
	opacity: .48;
}

.snapweb-core-site-list-tools__filters {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	margin-left: auto;
	min-width: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.snapweb-core-site-list-tools__filter {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 0 12px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: #52667a;
	font-size: 12px;
	font-weight: 650;
	cursor: pointer;
	transition: background .16s ease, color .16s ease, box-shadow .16s ease;
}

.snapweb-core-site-list-tools__filter:hover,
.snapweb-core-site-list-tools__filter:focus-visible {
	background: #ffffff;
	color: #0f172a;
	outline: none;
}

.snapweb-core-site-list-tools__filter.is-active {
	background: #ffffff;
	color: #2563eb;
	box-shadow: 0 6px 14px rgba(15, 23, 42, .08);
}

.snapweb-core-site-list-tools__search {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0 11px;
	color: #718197;
	width: 132px;
	box-shadow: none;
}

.snapweb-core-site-list-tools__search svg {
	width: 13px;
	height: 13px;
	flex: 0 0 auto;
}

.snapweb-core-site-list-tools__search input {
	width: 100%;
	min-width: 0;
	border: 0;
	background: transparent;
	color: #0f172a;
	font-size: 12.5px;
	outline: none;
}

.snapweb-core-site-table {
	display: grid;
	overflow: visible;
	border: 1px solid #e3ebf3;
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.045);
}

.snapweb-core-site-table__head,
.snapweb-core-site-table__row {
	display: grid;
	grid-template-columns: 28px minmax(250px, 1.55fr) minmax(130px, .7fr) minmax(120px, .6fr) minmax(170px, auto);
	align-items: center;
	gap: 14px;
}

.snapweb-core-snapshot-table .snapweb-core-site-table__head,
.snapweb-core-snapshot-table .snapweb-core-site-table__row {
	grid-template-columns: minmax(230px, 1.35fr) minmax(130px, .7fr) minmax(125px, .6fr) minmax(120px, .62fr) minmax(96px, auto);
}

.snapweb-core-snapshot-table__instant {
	width: 22px;
	height: 22px;
	flex-basis: 22px;
}

.snapweb-core-snapshot-pending {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: 0 0 14px;
	padding: 0 2px 10px;
	border-bottom: 1px solid #e8eef5;
	color: #24364a;
}

.snapweb-core-snapshot-pending strong,
.snapweb-core-snapshot-pending span {
	display: block;
}

.snapweb-core-snapshot-pending strong {
	margin-bottom: 3px;
	font-size: 13px;
	line-height: 1.2;
}

.snapweb-core-snapshot-pending span {
	font-size: 12px;
	line-height: 1.35;
	color: #5f7188;
}

.snapweb-core-snapshot-pending__items {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 6px;
}

.snapweb-core-snapshot-pending__item {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: #24364a;
	font-size: 11px;
	font-weight: 700;
}

.snapweb-core-snapshot-pending .snapweb-core-snapshot-pending__item-label {
	display: inline;
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.snapweb-core-snapshot-pending__resume {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 24px;
	max-width: 180px;
	padding: 2px 8px;
	border: 1px solid #dce8f5;
	border-radius: 999px;
	background: transparent;
	color: #24364a;
	cursor: pointer;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.snapweb-core-snapshot-pending__resume:hover,
.snapweb-core-snapshot-pending__resume:focus-visible {
	border-color: #9dc5ff;
	color: #1753d8;
	outline: none;
}

.snapweb-core-snapshot-pending__cancel {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 1px solid #cddff2;
	border-radius: 999px;
	background: transparent;
	color: #2659d9;
	cursor: pointer;
	line-height: 1;
}

.snapweb-core-snapshot-pending__cancel svg {
	width: 13px;
	height: 13px;
}

.snapweb-core-snapshot-pending__cancel:hover,
.snapweb-core-snapshot-pending__cancel:focus-visible {
	border-color: #fecaca;
	color: #b91c1c;
	outline: none;
}

.snapweb-core-snapshot-pending__cancel:disabled {
	cursor: progress;
	opacity: .62;
}

.snapweb-core-site-table__head {
	padding: 8px 14px;
	border-radius: 18px 18px 0 0;
	background: #f8fafc;
	border-bottom: 1px solid #e8eef5;
	color: #607282;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.snapweb-core-site-table__head > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	text-align: center;
}

.snapweb-core-site-table__stacked-head {
	display: grid !important;
	gap: 1px;
	line-height: 1.15;
}

.snapweb-core-site-table > .snapweb-core-site {
	display: block;
	position: relative;
	padding: 0;
	border: 0;
	border-top: 1px solid #eef3f8;
	border-radius: 0;
	background: #ffffff;
	box-shadow: none;
}

.snapweb-core-site-table > .snapweb-core-site:first-of-type {
	border-top: 0;
}

.snapweb-core-site-table > .snapweb-core-site:not(.is-selected),
.snapweb-core-site-table > .snapweb-core-site.is-selected,
.snapweb-core-sites > .snapweb-core-site.is-selected:first-child {
	padding: 0;
	border-radius: 0;
	background: #ffffff;
	box-shadow: none;
}

.snapweb-core-site-table > .snapweb-core-site.is-selected {
	box-shadow: inset 3px 0 0 #60a5fa;
}

.snapweb-core-site-table > .snapweb-core-site.is-filtered-out {
	display: none;
}

.snapweb-core-site-table__check-head,
.snapweb-core-site-table__cell--check {
	display: flex;
	align-items: center;
	justify-content: center;
}

.snapweb-core-site-table input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: #2563eb;
	cursor: pointer;
}

.snapweb-core-site-table__row {
	min-width: 0;
	padding: 9px 14px;
}

.snapweb-core-site-table__cell {
	display: grid;
	gap: 3px;
	justify-items: center;
	min-width: 0;
	color: #607282;
	font-size: 11px;
	line-height: 1.3;
	text-align: center;
}

.snapweb-core-site-table__cell strong {
	min-width: 0;
	color: #0f172a;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.snapweb-core-site-table__cell > span,
.snapweb-core-site-table__inline-value > span {
	min-width: 0;
	overflow-wrap: anywhere;
}

.snapweb-core-site-table__cell--status {
	align-items: center;
	justify-items: center;
}

.snapweb-core-site-table__cell--actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.snapweb-core-site-table__actions-group {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	border: 1px solid #dbe5ef;
	border-radius: 12px;
	background: #ffffff;
	box-shadow: 0 7px 16px rgba(15, 23, 42, .055);
}

.snapweb-core-site-table__actions-group .snapweb-core-site-table__action {
	width: 30px;
	height: 30px;
	border: 0;
	border-radius: 0;
	border-left: 1px solid #e3ebf3;
	background: transparent;
	box-shadow: none;
	color: #334155;
}

.snapweb-core-site-table__actions-group > .snapweb-core-site-table__action:first-child {
	border-left: 0;
	border-radius: 11px 0 0 11px;
}

.snapweb-core-site-table__more > .snapweb-core-site-table__action {
	border-radius: 0 11px 11px 0;
}

.snapweb-core-site-table__action[disabled],
.snapweb-core-site-table__menu button[disabled] {
	cursor: not-allowed;
	opacity: .48;
}

.snapweb-core-site-table__more {
	position: relative;
	display: inline-flex;
}

.snapweb-core-site-table__menu {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	z-index: 50;
	display: grid;
	min-width: 210px;
	padding: 8px;
	border: 1px solid #dbe5ef;
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 18px 40px rgba(15, 23, 42, .16);
}

.snapweb-core-site-table__menu[hidden] {
	display: none;
}

.snapweb-core-site-table__more:hover .snapweb-core-site-table__menu:not([hidden]),
.snapweb-core-site-table__more:focus-within .snapweb-core-site-table__menu:not([hidden]) {
	display: grid;
}

.snapweb-core-site-table__menu button {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr) auto;
	align-items: center;
	gap: 9px;
	width: 100%;
	min-height: 34px;
	padding: 0 8px;
	border: 0;
	border-radius: 9px;
	background: transparent;
	color: #1f2a37;
	font-size: 12.5px;
	font-weight: 650;
	text-align: left;
	cursor: pointer;
}

.snapweb-core-site-table__menu button:not([disabled]):hover,
.snapweb-core-site-table__menu button:not([disabled]):focus-visible {
	background: #f5f8fb;
	outline: none;
}

.snapweb-core-site-table__menu button svg {
	width: 15px;
	height: 15px;
	color: #52667a;
}

.snapweb-core-site-table__menu button em {
	font-size: 10px;
	font-style: normal;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #8da0b3;
}

.snapweb-core-site-table__menu button.is-danger {
	color: #b42318;
}

.snapweb-core-site-table__menu button.is-danger svg {
	color: #b42318;
}

.snapweb-core-site-table__title-line,
.snapweb-core-site-table__inline-value,
.snapweb-core-site-table__domain-line {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-width: 0;
	width: 100%;
	text-align: center;
}

.snapweb-core-site-table__domain-line {
	color: #607282;
	font-size: 11px;
}

.snapweb-core-site-table__domain-line > span {
	min-width: 0;
	overflow-wrap: anywhere;
}

.snapweb-core-site-table__title-line h3 {
	min-width: 0;
	overflow-wrap: anywhere;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.25;
}

.snapweb-core-site-table__title-line .snapweb-core-copy-button,
.snapweb-core-site-table__inline-value .snapweb-core-copy-button,
.snapweb-core-site-table__domain-line .snapweb-core-copy-button {
	width: 24px;
	height: 24px;
}

.snapweb-core-site-table__action--inline {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
}

.snapweb-core-site-table__plan-manage {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	min-height: 24px;
	padding: 0 9px;
	border: 1px solid #d7e6f6;
	border-radius: 999px;
	background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
	color: #1f5fd6;
	font-size: 10px;
	font-weight: 750;
	line-height: 1;
	box-shadow: 0 7px 16px rgba(37, 99, 235, .08);
	cursor: pointer;
	transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, color .16s ease;
}

.snapweb-core-site-table__plan-manage svg {
	width: 12px;
	height: 12px;
}

.snapweb-core-site-table__plan-manage:hover,
.snapweb-core-site-table__plan-manage:focus-visible {
	border-color: #9ec5ff;
	color: #144fbd;
	outline: none;
	box-shadow: 0 10px 20px rgba(37, 99, 235, .14);
	transform: translateY(-1px);
}

.snapweb-core-site-table__cell--meta strong,
.snapweb-core-site-table__cell--meta span {
	display: block;
	max-width: 100%;
	overflow-wrap: anywhere;
}

.snapweb-core-site-table .snapweb-core-site__note,
.snapweb-core-site-table .snapweb-core-progress {
	margin-right: 16px;
	margin-left: 16px;
}

.snapweb-core-site-table .snapweb-core-progress {
	margin-bottom: 14px;
}

.snapweb-core-site__workspace {
	display: grid;
	gap: 10px;
	margin-top: 12px;
	padding-top: 0;
	border-top: 0;
}

.snapweb-core-site__modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: none;
}

.snapweb-core-delete-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: none;
}

.snapweb-core-snapshot-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: none;
}

.snapweb-core-template-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: none;
}

.snapweb-core-checkout-modal {
	position: fixed;
	inset: 0;
	z-index: 10020;
	display: none;
}

.snapweb-core-site__modal.is-active,
.snapweb-core-create-modal.is-active,
.snapweb-core-delete-modal.is-active,
.snapweb-core-snapshot-modal.is-active,
.snapweb-core-template-modal.is-active,
.snapweb-core-checkout-modal.is-active {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px;
}

.snapweb-core-site__modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.42);
	backdrop-filter: blur(6px);
}

html.snapweb-core-modal-open,
body.snapweb-core-modal-open {
	overflow: hidden;
}

.snapweb-core-site__modal-dialog {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 14px;
	width: min(820px, calc(100vw - 32px));
	max-height: calc(100vh - 36px);
	margin: 0;
	padding: 18px;
	overflow: auto;
	overflow-x: hidden;
	overscroll-behavior: contain;
	border: 1px solid #e5edf5;
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}

.snapweb-core-site__modal-dialog--delete {
	width: min(520px, calc(100vw - 32px));
}

.snapweb-core-site__modal-dialog--snapshot {
	width: min(560px, calc(100vw - 32px));
}

.snapweb-core-site__modal-dialog--checkout {
	width: min(820px, calc(100vw - 28px));
	padding: 16px;
	gap: 12px;
}

.snapweb-core-create-modal[hidden] {
	display: none !important;
}

.snapweb-core-delete-modal[hidden] {
	display: none !important;
}

.snapweb-core-snapshot-modal[hidden] {
	display: none !important;
}

.snapweb-core-template-modal[hidden] {
	display: none !important;
}

.snapweb-core-checkout-modal[hidden] {
	display: none !important;
}

.snapweb-core-checkout-modal__status {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 10px 12px;
	border: 1px solid #dbeafe;
	border-radius: 14px;
	background: linear-gradient(135deg, #eff6ff, #ffffff);
	color: #1e3a8a;
	font-size: 12px;
	font-weight: 700;
}

.snapweb-core-checkout-modal__status.is-done {
	border-color: #bbf7d0;
	background: #f0fdf4;
	color: #166534;
}

.snapweb-core-checkout-modal__spinner {
	width: 15px;
	height: 15px;
	border: 2px solid rgba(37, 99, 235, 0.2);
	border-top-color: #2563eb;
	border-radius: 999px;
	animation: snapweb-core-spin 0.8s linear infinite;
}

.snapweb-core-checkout-modal__frame-wrap {
	overflow: hidden;
	min-height: min(640px, calc(100vh - 245px));
	border: 1px solid #e5edf5;
	border-radius: 18px;
	background: #f8fbff;
}

.snapweb-core-checkout-modal__frame-wrap iframe {
	display: block;
	width: 100%;
	min-height: min(640px, calc(100vh - 245px));
	border: 0;
	background: #ffffff;
}

.snapweb-core-checkout-modal__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	color: #6b7b8c;
	font-size: 11px;
}

.snapweb-core-checkout-modal__footer .snapweb-core-button {
	min-height: 32px;
	padding: 7px 12px;
	font-size: 11px;
}

.snapweb-core-embedded-checkout-host {
	margin-top: 12px;
}

.snapweb-core-embedded-checkout-host--upgrade {
	margin-top: 12px;
}

.snapweb-core-embedded-checkout-host--upgrade .snapweb-core-embedded-checkout {
	max-width: none;
	margin-right: 0;
	margin-left: 0;
}

.snapweb-core-embedded-checkout {
	overflow: visible;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.snapweb-core-embedded-checkout.is-updating {
	pointer-events: none;
}

.snapweb-core-embedded-checkout__head {
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 0 0 8px;
	border-bottom: 0;
}

.snapweb-core-embedded-checkout__head > div {
	display: grid;
	gap: 3px;
}

.snapweb-core-embedded-checkout__head strong {
	color: #0f172a;
	font-size: 13px;
	line-height: 1.2;
}

.snapweb-core-embedded-checkout__head span {
	color: #64748b;
	font-size: 11px;
	line-height: 1.35;
}

.snapweb-core-embedded-checkout__head span.is-done {
	color: #15803d;
	font-weight: 700;
}

.snapweb-core-embedded-checkout__frame-wrap {
	position: relative;
	overflow: visible;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.snapweb-core-embedded-checkout__frame-wrap::after {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	border-radius: 14px;
	background: rgba(248, 251, 255, .72);
	color: #64748b;
	content: "Updating checkout...";
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .01em;
	opacity: 0;
	pointer-events: none;
	transform: translateY(3px);
	transition: opacity .18s ease, transform .18s ease;
}

.snapweb-core-embedded-checkout.is-updating .snapweb-core-embedded-checkout__frame-wrap::after {
	opacity: 1;
	transform: translateY(0);
}

.snapweb-core-embedded-checkout__frame-wrap iframe {
	display: block;
	width: 100%;
	min-height: 0;
	border: 0;
	background: transparent;
	opacity: 1;
	transition: opacity .18s ease;
}

.snapweb-core-embedded-checkout.is-updating .snapweb-core-embedded-checkout__frame-wrap iframe {
	opacity: .42;
}

.snapweb-core-site__modal-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.snapweb-core-site__modal-header h4 {
	margin: 0;
	font-size: 18px;
	line-height: 1.2;
	color: #0f172a;
}

.snapweb-core-site__modal-header p {
	margin: 4px 0 0;
	color: #6b7b8c;
	font-size: 12px;
}

.snapweb-core-delete-confirm {
	display: grid;
	gap: 12px;
}

.snapweb-core-delete-confirm label {
	display: grid;
	gap: 7px;
	margin: 0;
	color: #475569;
	font-size: 12px;
	font-weight: 750;
}

.snapweb-core-delete-confirm .snapweb-core-create__name-input {
	width: 100%;
	min-height: 32px;
	height: 32px;
	padding: 0 11px;
	border: 1px solid #d7e0ea;
	border-radius: 999px;
	background: #ffffff;
	color: #0f172a;
	font-size: 12.5px;
	line-height: 32px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.03);
}

.snapweb-core-delete-confirm .snapweb-core-create__name-input:focus {
	border-color: rgba(96, 165, 250, .45);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.08);
	outline: none;
}

.snapweb-core-delete-confirm__copy-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 34px;
	gap: 8px;
	align-items: center;
}

.snapweb-core-delete-confirm__actions {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	flex-wrap: wrap;
}

.snapweb-core-site__modal-dialog--template {
	width: min(1180px, calc(100vw - 40px));
	max-height: calc(100vh - 40px);
	padding: 22px;
}

.snapweb-core-template-modal__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

.snapweb-core-template-modal__devices {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.snapweb-core-template-modal__devices .snapweb-core-button {
	width: 36px;
	min-width: 36px;
	padding: 0;
}

.snapweb-core-template-modal__devices svg {
	display: block;
	width: 17px;
	height: 17px;
}

.snapweb-core-template-modal__devices .snapweb-core-button.is-active {
	border-color: rgba(96, 165, 250, 0.42);
	background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
	color: #0f172a;
	box-shadow: 0 10px 24px rgba(37, 99, 235, 0.1);
}

.snapweb-core-template-modal__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	min-height: 0;
}

.snapweb-core-template-modal__image,
.snapweb-core-template-modal__viewer {
	min-height: 0;
}

.snapweb-core-template-modal__image-frame {
	overflow: hidden;
	height: min(72vh, 760px);
	border: 1px solid #e2e8f0;
	border-radius: 18px;
	background: linear-gradient(180deg, #f8fafc 0%, #eff6ff 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 20px 50px rgba(15, 23, 42, 0.08);
}

.snapweb-core-template-modal__image-frame img {
	display: block;
	width: 100%;
	height: auto;
	transform: translateY(0);
	will-change: transform;
}

.snapweb-core-template-modal__viewer {
	display: grid;
	gap: 12px;
}

.snapweb-core-template-modal__viewer-shell {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	min-height: min(72vh, 760px);
	padding: 0;
	border: 1px solid #e2e8f0;
	border-radius: 18px;
	background: #ffffff;
	box-shadow: none;
	overflow: auto;
}

.snapweb-core-template-modal__viewer-shell iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: min(68vh, 720px);
	border: 0;
	border-radius: 18px;
	background: #ffffff;
	box-shadow: none;
}

.snapweb-core-template-modal__viewer.is-desktop .snapweb-core-template-modal__viewer-shell iframe {
	max-width: 100%;
}

.snapweb-core-template-modal__viewer.is-tablet .snapweb-core-template-modal__viewer-shell iframe {
	width: min(760px, 100%);
	max-width: 760px;
}

.snapweb-core-template-modal__viewer.is-mobile .snapweb-core-template-modal__viewer-shell iframe {
	width: min(430px, 100%);
	max-width: 430px;
}

.snapweb-core-site__modal-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid #dbe2e8;
	border-radius: 999px;
	background: #ffffff;
	color: #334155;
	cursor: pointer;
}

.snapweb-core-site__modal-close:hover,
.snapweb-core-site__modal-close:focus-visible {
	border-color: rgba(96, 165, 250, .38);
	background: #f8fbff;
	color: #0f172a;
	outline: none;
}

.snapweb-core-site__modal-close svg {
	width: 16px;
	height: 16px;
	display: block;
}

.snapweb-core-snapshot-form {
	display: grid;
	gap: 12px;
}

.snapweb-core-snapshot-form__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(142px, auto);
	gap: 12px;
	align-items: end;
}

.snapweb-core-snapshot-form__field {
	display: grid;
	gap: 6px;
	color: #607282;
	font-size: 12px;
	font-weight: 650;
	letter-spacing: .01em;
}

.snapweb-core-snapshot-form textarea.snapweb-core-create__name-input {
	min-height: 84px;
	padding-top: 10px;
	resize: vertical;
	line-height: 1.45;
}

.snapweb-core-snapshot-form__toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 0;
	border: 1px solid #dbe5ef;
	border-radius: 999px;
	background: #f8fafc;
	color: #0f172a;
	font-size: 12px;
	font-weight: 650;
	white-space: nowrap;
	cursor: pointer;
	transition: border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}

.snapweb-core-snapshot-form__toggle:hover,
.snapweb-core-snapshot-form__toggle:focus-within,
.snapweb-core-snapshot-form__toggle.is-active {
	border-color: rgba(96, 165, 250, .5);
	background: #eff6ff;
	color: #1d4ed8;
	box-shadow: 0 8px 20px rgba(59, 130, 246, .1);
}

.snapweb-core-snapshot-form__toggle input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.snapweb-core-snapshot-form__toggle-shell {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	width: 100%;
	min-height: 34px;
	padding: 0 12px;
}

.snapweb-core-snapshot-form__instant-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 15px;
	height: 15px;
	color: currentColor;
}

.snapweb-core-snapshot-form__instant-icon svg {
	display: block;
	width: 15px;
	height: 15px;
}

.snapweb-core-snapshot-form__notice {
	margin: 0;
	padding: 10px 12px;
	border: 1px solid #fed7aa;
	border-radius: 12px;
	background: #fff7ed;
	color: #9a3412;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: .01em;
}

.snapweb-core-snapshot-form__price {
	margin: -2px 0 0;
	color: #607282;
	font-size: 12px;
	line-height: 1.4;
}

.snapweb-core-snapshot-form .snapweb-core-create__step-panel {
	padding: 18px;
}

.snapweb-core-snapshot-form .snapweb-core-create__payment-options {
	grid-template-columns: minmax(0, 1fr);
}

.snapweb-core-php-config-form {
	display: grid;
	gap: 10px;
}

.snapweb-core-php-config-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.snapweb-core-php-config-field {
	display: grid;
	gap: 5px;
	min-width: 0;
}

.snapweb-core-php-config-field span {
	color: #728299;
	font-size: 10px;
	font-weight: 750;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.snapweb-core-php-config-field input,
.snapweb-core-php-config-field select {
	width: 100%;
	min-height: 36px;
	padding: 7px 10px;
	border: 1px solid #dbe5ef;
	border-radius: 12px;
	background: #ffffff;
	color: #0f172a;
	font-size: 12px;
	font-weight: 650;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
}

.snapweb-core-php-config-field input:focus,
.snapweb-core-php-config-field select:focus {
	border-color: rgba(37, 99, 235, .45);
	outline: 2px solid rgba(37, 99, 235, .14);
	outline-offset: 0;
}

.snapweb-core-site-section-button {
	gap: 8px;
}

.snapweb-core-site-section-button.is-icon-only {
	width: 34px;
	padding: 0;
	border-color: rgba(148, 163, 184, .24);
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(246,248,251,.98) 100%);
	box-shadow: 0 1px 2px rgba(15, 23, 42, .05), inset 0 1px 0 rgba(255,255,255,.9);
}

.snapweb-core-site-section-button__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 15px;
	height: 15px;
	color: #475569;
}

.snapweb-core-site-section-button__icon svg {
	width: 15px;
	height: 15px;
	display: block;
}

.snapweb-core-site-section-button.is-active {
	border-color: rgba(96, 165, 250, .42);
	background: linear-gradient(180deg, #f8fbff 0%, #eef6ff 100%);
	color: #0f172a;
	box-shadow: 0 6px 18px rgba(37, 99, 235, .08);
}

.snapweb-core-site-section-button.is-active .snapweb-core-site-section-button__icon {
	color: #2563eb;
}

.snapweb-core-domain-row-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	margin: 0 0 10px;
	color: #607282;
	font-size: 12px;
}

.snapweb-core-domain-row-meta span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
}

.snapweb-core-domain-row-meta span:not(:last-child)::after {
	content: "";
	width: 4px;
	height: 4px;
	border-radius: 999px;
	background: #cbd5e1;
	margin-left: 10px;
}

.snapweb-core-site__quick-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 4px;
	align-items: center;
	justify-content: flex-start;
}

.snapweb-core-site__quick-actions .snapweb-core-site-section-button.is-icon-only:hover,
.snapweb-core-site__quick-actions .snapweb-core-site-section-button.is-icon-only:focus-visible,
.snapweb-core-site__quick-actions .snapweb-core-icon-action:hover,
.snapweb-core-site__quick-actions .snapweb-core-icon-action:focus-visible {
	border-color: rgba(96, 165, 250, .38);
	color: #0f172a;
	outline: none;
}

.snapweb-core-billing-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 14px;
}

.snapweb-core-billing-card {
	display: grid;
	gap: 8px;
	padding: 14px;
	border: 1px solid #edf2f7;
	border-radius: 8px;
	background: var(--snapweb-core-surface, #ffffff);
}

.snapweb-core-billing-card__summary {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 14px;
	color: #607282;
	font-size: 13px;
}

.snapweb-core-billing-card__summary span {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 0 10px;
	border-radius: 999px;
	background: #f8fafc;
}

.snapweb-core-billing-card__meta {
	display: grid;
	gap: 6px;
	color: #607282;
	font-size: 13px;
}

.snapweb-core-admin-launch-card {
	display: grid;
	gap: 16px;
	padding: 18px;
	border: 1px solid #dbe6f0;
	border-radius: 16px;
	background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.04);
}

.snapweb-core-admin-launch-card__hero {
	display: grid;
	gap: 6px;
}

.snapweb-core-admin-launch-card__hero h3 {
	margin: 0;
	font-size: 22px;
	line-height: 1.15;
	color: #0f172a;
}

.snapweb-core-admin-launch-card__hero p {
	margin: 0;
	color: #607282;
	max-width: 720px;
}

.snapweb-core-admin-launch-card__eyebrow {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #64748b;
}

.snapweb-core-admin-launch-card__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 12px;
}

.snapweb-core-admin-launch-metric {
	display: grid;
	gap: 6px;
	padding: 12px 13px;
	border: 1px solid #edf2f7;
	border-radius: 14px;
	background: #ffffff;
}

.snapweb-core-admin-launch-metric strong {
	font-size: 14px;
	line-height: 1.35;
	color: #0f172a;
}

.snapweb-core-admin-launch-metric span,
.snapweb-core-admin-launch-metric code {
	font-size: 12px;
	color: #607282;
	overflow-wrap: anywhere;
}

.snapweb-core-admin-launch-metric__label {
	font-size: 11px !important;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #64748b !important;
}

.snapweb-core-admin-launch-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.snapweb-core-admin-launch-chip {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0 10px;
	border: 1px solid #dbe6f0;
	border-radius: 999px;
	background: #f8fbff;
	font-size: 12px;
	font-weight: 600;
	color: #0f172a;
}

.snapweb-core-admin-launch-flow {
	display: grid;
	gap: 10px;
}

.snapweb-core-admin-launch-flow__step {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px 0;
	border-top: 1px solid #edf2f7;
}

.snapweb-core-admin-launch-flow__step:first-child {
	border-top: 0;
	padding-top: 0;
}

.snapweb-core-admin-launch-flow__step span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 999px;
	background: #eff6ff;
	color: #1d4ed8;
	font-size: 12px;
	font-weight: 700;
	flex: 0 0 auto;
}

.snapweb-core-admin-launch-flow__step div {
	display: grid;
	gap: 2px;
}

.snapweb-core-admin-launch-flow__step strong {
	color: #0f172a;
}

.snapweb-core-admin-launch-flow__step p {
	margin: 0;
	font-size: 12px;
	color: #607282;
}

.snapweb-core-admin-domain-note summary,
.snapweb-core-domain-handoff .snapweb-core-guidance-card__topline {
	cursor: default;
}

.snapweb-core-site-panel {
	display: grid;
	gap: 10px;
	padding: 6px 0 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
}

.snapweb-core-panel-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.snapweb-core-panel-section--wide {
	grid-column: 1 / -1;
}

.snapweb-core-panel-grid--domain {
	align-items: start;
}

.snapweb-core-panel-section {
	display: grid;
	gap: 8px;
	padding: 12px 13px;
	border: 1px solid #edf2f7;
	border-radius: 14px;
	background: linear-gradient(180deg, #ffffff 0%, #fcfdff 100%);
}

.snapweb-core-panel-section--plain {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.snapweb-core-panel-section__heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	flex-wrap: wrap;
}

