/* Cuttles brand layer for the auth pages (login, signup, forgot/reset password).
   Scoped to body.cut-auth, which brand.js sets only while a system page is shown.
   Tokens mirror www.cuttles.io (theme cuttles.css). */
body.cut-auth {
	--cb-blue: #124AFF;
	--cb-blue-hover: #0b34c0;
	--cb-navy: #10214F;
	--cb-body: #4E5A80;
	--cb-muted: #8A94B8;
	--cb-border: #E4EAFA;
	--cb-section: #F6F8FE;
	--cb-tint: #EAF0FF;
	background: linear-gradient(180deg, var(--cb-tint) 0, var(--cb-section) 420px) !important;
	font-family: "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
	color: var(--cb-body);
	min-height: 100vh;
}

body.cut-auth cuttles-system,
body.cut-auth cuttles-system .layout-wrapper,
body.cut-auth cuttles-system .layout-inner,
body.cut-auth cuttles-system .layout-container,
body.cut-auth cuttles-system .layout-content { background: transparent !important; }

/* Top bar */
.cut-auth-bar {
	display: none;
}
body.cut-auth .cut-auth-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 50;
	height: 68px;
	padding: 0 clamp(16px, 5vw, 48px);
	background: rgba(255, 255, 255, .92);
	backdrop-filter: saturate(1.4) blur(8px);
	border-bottom: 1px solid var(--cb-border);
}
.cut-auth-bar a { text-decoration: none; }
.cut-auth-logo img { display: block; height: 26px; width: auto; }
.cut-auth-back {
	font: 700 14.5px/1 "Nunito Sans", system-ui, sans-serif;
	color: var(--cb-navy);
	padding: 10px 16px;
	border: 1px solid var(--cb-border);
	border-radius: 99px;
	background: #fff;
	transition: border-color .15s, color .15s;
	white-space: nowrap;
}
.cut-auth-back:hover { color: var(--cb-blue); border-color: var(--cb-blue); }

/* Page layout: undo the fixed 120px offset, centre the card under the bar */
body.cut-auth cuttles-system .container[style] { margin-top: 0 !important; padding-top: 112px; padding-bottom: 48px; }

/* Card */
body.cut-auth cuttles-system .row > [class*="col-"][style],
body.cut-auth cuttles-system .list-group-item[style] {
	background: #fff !important;
	border: 1px solid var(--cb-border) !important;
	border-radius: 20px !important;
	box-shadow: 0 12px 30px rgba(16, 33, 79, .10) !important;
	padding: 36px 8px 28px !important;
}
body.cut-auth cuttles-system .header { text-align: center; margin-bottom: 8px; }
body.cut-auth cuttles-system .header-image {
	width: 88px; height: 88px; margin: 0 auto 14px;
	background: var(--cb-tint) url("/brand/cuttles-idea.png") center / 78% no-repeat;
	border-radius: 50%;
}
body.cut-auth cuttles-system h1,
body.cut-auth cuttles-system h2 {
	font-family: "Quicksand", "Nunito Sans", sans-serif !important;
	font-weight: 700 !important;
	font-size: clamp(22px, 2.4vw, 27px) !important;
	line-height: 1.25 !important;
	color: var(--cb-navy) !important;
	letter-spacing: -.01em;
	margin: 0 0 6px;
}
body.cut-auth .cut-auth-sub {
	text-align: center;
	margin: 0 0 22px;
	font-size: 15px;
	color: var(--cb-body);
}

/* Fields */
body.cut-auth cuttles-system .field-label {
	font-family: "Nunito Sans", sans-serif !important;
	font-weight: 700 !important;
	color: var(--cb-navy) !important;
	font-size: 14.5px !important;
}
body.cut-auth cuttles-system .field-control {
	font-family: "Nunito Sans", sans-serif !important;
	border: 1.5px solid var(--cb-border) !important;
	border-radius: 12px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--cb-navy) !important;
	transition: border-color .15s, box-shadow .15s;
}
body.cut-auth cuttles-system .field-control:focus {
	border-color: var(--cb-blue) !important;
	box-shadow: 0 0 0 4px rgba(18, 74, 255, .12) !important;
	outline: none;
}
body.cut-auth cuttles-system .field-label i { color: var(--cb-muted); }

/* Primary button */
body.cut-auth cuttles-system .btn-moon,
body.cut-auth cuttles-system .btn-chameleon {
	font-family: "Nunito Sans", sans-serif !important;
	font-weight: 800 !important;
	background: var(--cb-blue) !important;
	border-color: var(--cb-blue) !important;
	color: #fff !important;
	border-radius: 99px !important;
	padding-top: 12px !important;
	padding-bottom: 12px !important;
	box-shadow: 0 8px 20px rgba(18, 74, 255, .22);
}
body.cut-auth cuttles-system .btn-moon:hover:not(.disabled),
body.cut-auth cuttles-system .btn-chameleon:hover:not(.disabled) { background: var(--cb-blue-hover) !important; border-color: var(--cb-blue-hover) !important; }
body.cut-auth cuttles-system .btn-moon.disabled,
body.cut-auth cuttles-system .btn-moon:disabled,
body.cut-auth cuttles-system .btn-chameleon:disabled { opacity: .55 !important; box-shadow: none; }

/* Hints and links */
body.cut-auth cuttles-system .hint { font-size: 14px; color: var(--cb-muted); }
body.cut-auth cuttles-system a:not(.btn) { color: var(--cb-blue) !important; font-weight: 700; text-decoration: none; }
body.cut-auth cuttles-system a:not(.btn):hover { text-decoration: underline; }

/* Footnote under the card */
.cut-auth-note { display: none; }
body.cut-auth .cut-auth-note {
	display: block;
	text-align: center;
	margin: 18px auto 0;
	font-size: 13.5px;
	color: var(--cb-muted);
}
body.cut-auth .cut-auth-note strong { color: var(--cb-navy); }

@media (max-width: 575px) {
	body.cut-auth cuttles-system .container[style] { padding-top: 92px; }
	body.cut-auth cuttles-system .row > [class*="col-"][style],
	body.cut-auth cuttles-system .list-group-item[style] { border-radius: 16px !important; margin: 0 4px; }
	.cut-auth-back { padding: 9px 12px; font-size: 13.5px; }
	.cut-auth-logo img { height: 22px; }
}

/* Signup: padding inside the card, left intro column */
body.cut-auth cuttles-system .list-group-item[style] { padding: 28px 28px 24px !important; }
body.cut-auth cuttles-system cuttles-signup .text-center p { color: var(--cb-body); font-size: 15.5px; }
body.cut-auth cuttles-system .field-label { margin-bottom: 6px; }

/* 404 page: space background is dark, so the message needs light text */
body not-found .layout-content h2.text-center { color: #fff !important; text-shadow: 0 2px 12px rgba(0,0,0,.6); }
