/**
 * StorePilot Standalone Login
 * Full-screen SaaS login page — no theme wrapper.
 */

*,*::before,*::after{box-sizing:border-box}

body.sp-standalone-login{
	margin:0;padding:0;
	font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
	font-size:14px;line-height:1.5;
	color:#1e293b;
	background:#f1f5f9;
	-webkit-font-smoothing:antialiased;
	min-height:100vh;
}

/* ==========================================================================
   Split layout: brand panel + form panel
   ========================================================================== */

.sp-login-split{
	display:flex;
	min-height:100vh;
}

/* Left brand panel */
.sp-login-brand-panel{
	display:none;
	width:420px;
	flex-shrink:0;
	background:linear-gradient(135deg,#1e293b 0%,#312e81 50%,#4f46e5 100%);
	color:#fff;
	padding:60px 48px;
	flex-direction:column;
	justify-content:center;
	position:relative;
	overflow:hidden;
}

.sp-login-brand-panel::before{
	content:'';
	position:absolute;
	top:-80px;right:-80px;
	width:300px;height:300px;
	border-radius:50%;
	background:rgba(255,255,255,.04);
}

.sp-login-brand-panel::after{
	content:'';
	position:absolute;
	bottom:-60px;left:-60px;
	width:220px;height:220px;
	border-radius:50%;
	background:rgba(255,255,255,.03);
}

.sp-login-brand-panel__logo{
	display:flex;align-items:center;gap:12px;
	margin-bottom:32px;
	position:relative;z-index:1;
}

.sp-login-brand-panel__logo svg{
	flex-shrink:0;
}

.sp-login-brand-panel__logo span{
	font-size:26px;font-weight:800;
	letter-spacing:-.5px;
}

.sp-login-brand-panel__tagline{
	font-size:18px;font-weight:300;
	line-height:1.6;
	opacity:.85;
	position:relative;z-index:1;
	max-width:320px;
}

.sp-login-brand-panel__footer{
	margin-top:auto;
	font-size:11px;
	opacity:.4;
	position:relative;z-index:1;
}

@media(min-width:960px){
	.sp-login-brand-panel{
		display:flex;
	}
}

/* Right form panel */
.sp-login-form-panel{
	flex:1;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:40px 24px;
	background:#f1f5f9;
}

/* ==========================================================================
   Login card
   ========================================================================== */

.sp-login-card{
	width:100%;
	max-width:400px;
	background:#fff;
	border-radius:16px;
	padding:40px 36px 32px;
	box-shadow:0 8px 32px rgba(0,0,0,.08);
	border:1px solid #e2e8f0;
}

.sp-login-card__brand{
	display:flex;align-items:center;gap:10px;
	justify-content:center;
	margin-bottom:6px;
}

.sp-login-card__brand svg{color:#4f46e5}

.sp-login-card__brand h1{
	font-size:22px;font-weight:700;
	margin:0;color:#1e293b;
}

.sp-login-card__customer-logo{
	text-align:center;
	margin-bottom:28px;
}

.sp-login-card__customer-logo span{
	display:inline-block;
	padding:8px 22px;
	border:2px dashed #cbd5e1;
	border-radius:8px;
	color:#94a3b8;
	font-size:12px;font-weight:500;
}

/* ==========================================================================
   Form
   ========================================================================== */

.sp-login-error{
	background:#fef2f2;
	border:1px solid #fecaca;
	color:#dc2626;
	padding:10px 14px;
	border-radius:6px;
	font-size:13px;
	margin-bottom:18px;
}

.sp-login-field{margin-bottom:18px}

.sp-login-field label{
	display:block;
	font-size:13px;font-weight:600;
	color:#1e293b;
	margin-bottom:5px;
}

.sp-login-field input[type=text],
.sp-login-field input[type=password]{
	width:100%;
	padding:11px 14px;
	font-size:14px;
	border:1px solid #cbd5e1;
	border-radius:8px;
	outline:none;
	transition:border-color .2s,box-shadow .2s;
}

.sp-login-field input:focus{
	border-color:#4f46e5;
	box-shadow:0 0 0 3px rgba(79,70,229,.12);
}

.sp-login-row{
	display:flex;align-items:center;
	justify-content:space-between;
	margin-bottom:20px;
	font-size:13px;
}

.sp-login-row label{
	display:flex;align-items:center;gap:6px;
	color:#64748b;cursor:pointer;
}

.sp-login-row input[type=checkbox]{margin:0}

.sp-login-row a{
	color:#4f46e5;text-decoration:none;
	font-weight:500;
}
.sp-login-row a:hover{text-decoration:underline}

.sp-login-btn{
	display:block;width:100%;
	padding:12px;
	font-size:14px;font-weight:600;
	color:#fff;
	background:linear-gradient(135deg,#4f46e5,#6366f1);
	border:none;border-radius:8px;
	cursor:pointer;
	transition:opacity .2s;
}
.sp-login-btn:hover{opacity:.9}

.sp-login-footer{
	text-align:center;
	font-size:11px;
	color:#94a3b8;
	margin-top:24px;
}

/* ==========================================================================
   Mobile
   ========================================================================== */

@media(max-width:600px){
	.sp-login-card{
		padding:28px 22px 24px;
		border-radius:12px;
	}
	.sp-login-form-panel{
		padding:24px 16px;
	}
}
