:root{
	--accent: #0b3d91;
	--accent-light: #1a5dc1;
	--accent-dark: #082050;
	--accent-2: #8b1d1d;
	--muted: #6b7280;
	--success: #10b981;
	--border: #e5e7eb;
}

*{box-sizing:border-box}
body{
	font-family: 'Poppins', system-ui, Arial, sans-serif;
	color:#1f2937;
	margin:0;
	background:linear-gradient(135deg, #f7f7f7 0%, #f0f4f8 100%);
	min-height:100vh;
}

.container{max-width:1100px;margin:0 auto;padding:0 16px}
.site-header, main, .site-footer{position:relative; z-index:1}


/* HEADER STYLING */
.site-header{
	background:rgba(255,255,255,0.97);
	border-bottom:2px solid var(--border);
	position:sticky;
	top:0;
	backdrop-filter:blur(10px);
	box-shadow:0 4px 20px rgba(0,0,0,0.08);
	transition: all 0.3s ease;
}

.site-header.scrolled{
	box-shadow:0 8px 32px rgba(0,0,0,0.12);
}

.header-inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:16px 0;
}

.main-nav{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:10px;
	flex-wrap:wrap;
}

.brand{
	font-weight:700;
	color:var(--accent);
	text-decoration:none;
	font-size:1.3rem;
	letter-spacing:-0.5px;
	transition: all 0.3s ease;
}

.brand:hover{
	color:var(--accent-light);
	transform:scale(1.05);
}

.main-nav a{
	margin-left:0;
	color:#374151;
	text-decoration:none;
	padding:8px 12px;
	border-radius:6px;
	font-weight:500;
	transition: all 0.3s ease;
	position:relative;
}

.main-nav a::after{
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	width:0;
	height:2px;
	background:var(--accent);
	transition: width 0.3s ease;
}

.main-nav a:hover{
	color:var(--accent);
	background:rgba(11,61,145,0.08);
}

.main-nav a:hover::after{
	width:100%;
}

.cart-link,
.cart-icon{
	display:flex;
	align-items:center;
	justify-content:center;
	color:#374151;
	padding:8px 12px;
	border-radius:8px;
	position:relative;
	transition: all 0.3s ease;
	margin-left:0;
}

.cart-link:hover,
.cart-icon:hover{
	color:var(--accent);
	background:rgba(11,61,145,0.1);
	transform:scale(1.1);
}

.cart-link svg,
.cart-icon svg{
	width:22px;
	height:22px;
	stroke:currentColor;
	stroke-width:2;
}

#userNameDisplay{
	color:var(--accent-dark) !important;
	font-weight:600;
	padding:6px 10px;
	border-radius:999px;
	background:rgba(11,61,145,0.08);
	margin-left:4px !important;
}

body::before{
	content:'';
	position:fixed;
	inset:0;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'><g stroke='%23c8cfd6' stroke-width='1.6' fill='none' stroke-linecap='round'><path d='M18 12 L18 80' /><path d='M14 18 L22 18' /><path d='M14 28 L22 28' /><path d='M14 38 L22 38' /><g transform='translate(80,0)'><ellipse cx='20' cy='20' rx='8' ry='12' /><path d='M20 32 L20 84' stroke-linecap='round'/></g></g></svg>");
	background-repeat: repeat;
	background-position: center;
	opacity: 0.05;
	pointer-events: none;
	z-index:0;
}

/* HERO SECTION */
.hero{
	background:linear-gradient(135deg, rgba(11,61,145,0.85) 0%, rgba(26,93,193,0.75) 100%), url('https://images.unsplash.com/photo-1501117716987-c8e4044e7d2b?auto=format&fit=crop&w=1600&q=80');
	background-size:cover;
	background-position:center;
	color:#fff;
	padding:100px 0;
	position:relative;
	overflow:hidden;
}

.hero::before{
	content:'';
	position:absolute;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%);
	pointer-events:none;
}

.hero-inner{
	display:flex;
	align-items:center;
	gap:40px;
	position:relative;
	z-index:2;
}

.hero-copy{flex:1;max-width:640px}

.hero h1{
	font-size:2.8rem;
	margin:0 0 18px;
	line-height:1.2;
	font-weight:700;
	text-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

.lead{
	color:rgba(255,255,255,0.95);
	margin:0 0 24px;
	font-size:1.1rem;
	line-height:1.7;
	text-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

.hero-ctas{
	display:flex;
	gap:14px;
	flex-wrap:wrap;
}

.hero-visual{
	flex:0 0 320px;
	border-radius:16px;
	overflow:hidden;
	box-shadow:0 20px 60px rgba(0,0,0,0.4);
	transform:translateY(-10px);
	animation:float 3s ease-in-out infinite;
}

.hero-visual img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

@keyframes float{
	0%, 100%{transform:translateY(-10px)}
	50%{transform:translateY(10px)}
}

.hero .container{display:block;max-width:1100px}

/* BUTTONS */
.btn{
	border:none;
	cursor:pointer;
	transition:all 0.3s ease;
	font-size:1rem;
	font-family:inherit;
	font-weight:600;
	display:inline-block;
	text-decoration:none;
	border-radius:8px;
}

.btn.primary{
	background:linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);
	color:#fff;
	padding:14px 28px;
	box-shadow:0 4px 15px rgba(11,61,145,0.3);
}

.btn.primary:hover{
	transform:translateY(-3px);
	box-shadow:0 8px 25px rgba(11,61,145,0.4);
	background:linear-gradient(135deg, var(--accent-light) 0%, var(--accent) 100%);
}

.btn.primary:active{
	transform:translateY(-1px);
}

.btn.outline{
	border:2px solid #fff;
	color:#fff;
	background:transparent;
	padding:12px 26px;
}

.btn.outline:hover{
	background:rgba(255,255,255,0.15);
	transform:translateY(-2px);
}

/* PRODUCT SECTION */
.products-page{
	padding:64px 0 72px;
	background:linear-gradient(180deg, #f7f9fc 0%, #f1f5f9 100%);
	margin-top:0;
	position:relative;
	overflow:hidden;
}

.products-page::before{
	content:'';
	position:absolute;
	inset:auto -8% 0 auto;
	width:320px;
	height:320px;
	background:radial-gradient(circle, rgba(11,61,145,0.08) 0%, rgba(11,61,145,0) 70%);
	pointer-events:none;
}

.products-page h1{
	font-size:2.55rem;
	font-weight:700;
	margin:0 0 14px;
	color:#0b3d91;
	text-align:center;
	letter-spacing:-0.03em;
}

.products-intro{
	font-size:1.1rem;
	color:#6b7280;
	margin:0 auto 38px;
	line-height:1.8;
	max-width:760px;
	text-align:center;
}

.filter-wrapper{
	margin-bottom:40px;
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:16px;
	justify-content:center;
}

.advanced-filters{
	display:grid;
	grid-template-columns:2fr 1fr 1fr 1.3fr auto auto;
	gap:12px;
	align-items:center;
	margin:0 auto 16px;
	max-width:1200px;
	padding:16px;
	background:rgba(255,255,255,0.92);
	border:1px solid rgba(229,231,235,0.9);
	border-radius:20px;
	box-shadow:0 14px 30px rgba(15,23,42,0.06);
	backdrop-filter:blur(8px);
}

.advanced-filters input,
.advanced-filters select{
	width:100%;
	padding:10px 12px;
	border:1px solid var(--border);
	border-radius:10px;
	font:inherit;
	background:#fff;
	color:#374151;
}

.stock-filter{
	display:flex;
	align-items:center;
	gap:8px;
	font-size:0.92rem;
	color:#374151;
	white-space:nowrap;
}

.products-count{
	text-align:center;
	margin:0 0 22px;
	color:#6b7280;
	font-size:0.95rem;
}

.no-results{
	grid-column:1/-1;
	text-align:center;
	padding:30px 12px;
	color:#6b7280;
	background:#fff;
	border:1px dashed var(--border);
	border-radius:12px;
}

.categories{
	display:flex;
	flex-wrap:wrap;
	gap:12px;
	list-style:none;
	padding:0;
	margin:0;
	justify-content:center;
}

.categories li{background:transparent;border:none;padding:0;border-radius:0}

.category-btn{
	background:#fff;
	border:2px solid var(--border);
	padding:10px 20px;
	border-radius:25px;
	cursor:pointer;
	font-family:inherit;
	font-size:0.95rem;
	font-weight:500;
	color:#4b5563;
	transition:all 0.3s ease;
	box-shadow:0 2px 8px rgba(0,0,0,0.05);
}

.category-btn:hover{
	background:rgba(11,61,145,0.05);
	border-color:var(--accent);
	color:var(--accent);
	transform:translateY(-2px);
	box-shadow:0 4px 12px rgba(11,61,145,0.15);
}

.category-btn.active{
	background:linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);
	color:#fff;
	border-color:var(--accent);
	font-weight:600;
	box-shadow:0 6px 20px rgba(11,61,145,0.3);
}

/* PRODUCT CARDS */
.products-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(250px,1fr));
	gap:24px;
	margin-top:0;
	align-items: start;
}

.product-card{
	background:#fff;
	border:1px solid var(--border);
	padding:0;
	border-radius:20px;
	display:flex;
	flex-direction:column;
	overflow:hidden;
	box-shadow:0 10px 30px rgba(15,23,42,0.08);
	transition:all 0.3s ease;
	height:100%;
}

.product-card::before{
	content:'';
	display:none;
}

.product-card:hover{
	transform:translateY(-6px);
	box-shadow:0 18px 36px rgba(11,61,145,0.16);
	border-color:var(--accent);
}

.product-image-box{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	aspect-ratio:1 / 1;
	height:auto;
	min-height:240px;
	overflow:hidden;
	background:#f4f7fa;
	position:relative;
	margin:0;
	padding:8px;
	border:none;
	border-radius:0;
	flex-shrink:0;
}

.product-image-box.catalog-image-box{
	background:linear-gradient(180deg, #eef3f8 0%, #f5f8fb 100%);
}

.product-image-box.catalog-image-box img{
	object-fit:contain;
	object-position:center;
	padding:0;
	background:transparent;
}

.product-card img{
	display:block;
	width:100%;
	height:100%;
	object-fit:contain;
	object-position:center;
	border:none;
	margin:0;
	padding:0;
	max-width:100%;
	max-height:100%;
	transition:filter 0.3s ease;
}

.product-card:hover img{
	filter:brightness(1.01);
}

.product-card h3{
	margin:16px 16px 8px;
	font-size:1.02rem;
	line-height:1.35;
	letter-spacing:-0.01em;
	min-height:2.7em;
}

.product-card .price{
	margin:4px 16px 6px;
	font-size:1.15rem;
}

.product-card .desc{
	margin:8px 16px 16px;
	font-size:0.86rem;
	line-height:1.55;
	color:#667085;
	min-height:4.65em;
}

@media (max-width:980px){
	.products-page{
		padding:56px 0 64px;
	}

	.advanced-filters{
		grid-template-columns:1fr 1fr;
	}

	.product-image-box{
		min-height:220px;
	}
}

@media (max-width:640px){
	.products-page h1{
		font-size:2rem;
	}

	.products-intro{
		font-size:1rem;
		margin-bottom:28px;
	}

	.advanced-filters{
		padding:12px;
		border-radius:16px;
	}

	.product-image-box{
		min-height:200px;
		padding:8px;
	}

	.product-image-box.catalog-image-box img{
		padding:0;
	}

	.product-card h3,
	.product-card .price,
	.product-card .desc{
		margin-left:14px;
		margin-right:14px;
	}

	.advanced-filters{
		grid-template-columns:1fr;
	}
}

.product-card h3{
	margin:16px 14px 8px 14px;
	padding:0;
	font-size:0.95rem;
	color:#0b3d91;
	line-height:1.3;
	font-weight:600;
	text-align:left;
	flex-shrink:0;
	word-break:break-word;
}

.product-card .price{
	margin:6px 14px;
	padding:0;
	font-weight:700;
	color:var(--success);
	font-size:1.1rem;
	text-align:left;
	flex-shrink:0;
}

.product-card .desc{
	color:#6b7280;
	font-size:0.8rem;
	line-height:1.4;
	margin:8px 14px 14px 14px;
	padding:0;
	flex-grow:1;
	text-align:left;
	word-break:break-word;
	overflow:hidden;
	text-overflow:ellipsis;
	display:-webkit-box;
	-webkit-line-clamp:3;
	line-clamp:3;
	-webkit-box-orient:vertical;
}

/* HIGHLIGHTS SECTIONS */
.product-highlights, .who-serve, .trust{
	background:#fff;
	margin:40px 0;
	padding:40px;
	border-radius:14px;
	box-shadow:0 4px 15px rgba(0,0,0,0.08);
	border-left:4px solid var(--accent);
}

.product-highlights h2, .who-serve h2, .trust h2{
	margin-top:0;
	margin-bottom:24px;
	color:#0b3d91;
	font-size:2rem;
	font-weight:700;
}

/* BOOKING PAGE STYLING */
.booking-summary{
	background:linear-gradient(135deg, #fff 0%, #f9fafb 100%);
	padding:28px;
	border-radius:14px;
	border:1px solid var(--border);
	box-shadow:0 4px 15px rgba(0,0,0,0.08);
	margin-bottom:30px;
}

.booking-list{
	list-style:none;
	padding:0;
	margin:0;
}

.booking-item{
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:16px;
	border-bottom:1px solid var(--border);
	gap:12px;
	background:#fff;
	border-radius:8px;
	margin-bottom:10px;
	box-shadow:0 2px 8px rgba(0,0,0,0.04);
	transition: all 0.3s ease;
}

.booking-item:hover{
	background:#f9fafb;
	box-shadow:0 4px 12px rgba(0,0,0,0.08);
}

.booking-item-info{
	flex:1;
}

.booking-item-name{
	font-weight:600;
	color:#1f2937;
	margin-bottom:4px;
}

.booking-item-price{
	color:#6b7280;
	font-size:0.9rem;
}

.booking-item-controls{
	display:flex;
	align-items:center;
	gap:8px;
	background:#f3f4f6;
	padding:6px 8px;
	border-radius:8px;
}

.qty-btn{
	background:var(--accent);
	color:#fff;
	border:none;
	width:32px;
	height:32px;
	border-radius:6px;
	cursor:pointer;
	font-weight:600;
	transition: all 0.2s ease;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.1rem;
}

.qty-btn:hover{
	background:var(--accent-light);
	transform:scale(1.05);
}

.qty-btn:active{
	transform:scale(0.95);
}

.qty-input{
	width:50px;
	padding:6px;
	text-align:center;
	border:1px solid var(--border);
	border-radius:6px;
	font-size:0.95rem;
	font-weight:600;
	color:#0b3d91;
}

.qty-input:focus{
	outline:none;
	border-color:var(--accent);
	box-shadow:0 0 8px rgba(11,61,145,0.2);
}

.booking-item-total{
	font-weight:700;
	color:var(--accent);
	font-size:1.1rem;
	min-width:120px;
	text-align:right;
}

.remove-btn{
	background:#ff4757;
	color:#fff;
	border:none;
	width:32px;
	height:32px;
	border-radius:6px;
	cursor:pointer;
	font-weight:600;
	transition: all 0.2s ease;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.2rem;
}

.remove-btn:hover{
	background:#ff3838;
	transform:scale(1.1);
}

#booking-summary{
	margin-top:24px;
	padding-top:16px;
	border-top:3px solid var(--accent);
	color:var(--accent);
	font-size:1.4rem;
	font-weight:700;
	text-align:right;
}

/* BOOKING FORM */
#booking-form{
	background:#fff;
	padding:32px;
	border-radius:14px;
	box-shadow:0 4px 15px rgba(0,0,0,0.08);
	border:1px solid var(--border);
}

#booking-form input,
#booking-form textarea{
	width:100%;
	padding:12px 16px;
	border:1px solid var(--border);
	border-radius:8px;
	font-family:inherit;
	font-size:0.95rem;
	transition: all 0.3s ease;
	background:#f9fafb;
}

#booking-form input:focus,
#booking-form textarea:focus{
	outline:none;
	border-color:var(--accent);
	background:#fff;
	box-shadow:0 0 12px rgba(11,61,145,0.15);
}

#booking-form label{
	display:flex;
	align-items:center;
	gap:8px;
	cursor:pointer;
	font-weight:500;
	transition: all 0.2s ease;
}

#booking-form label:hover{
	color:var(--accent);
}

#booking-form input[type="radio"]{
	width:auto;
	cursor:pointer;
	accent-color:var(--accent);
}

/* FOOTER */
.site-footer{
	background:linear-gradient(135deg, #1f2937 0%, #0b3d91 100%);
	border-top:2px solid var(--border);
	padding:28px 0;
	margin-top:50px;
	color:#fff;
}

.footer-inner{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:40px;
}

.site-footer a{
	color:#fbbf24;
	text-decoration:none;
	font-weight:600;
	transition: all 0.3s ease;
}

.site-footer a:hover{
	color:#fff;
	text-decoration:underline;
}

/* ABOUT & WHY PAGE STYLING */
.about-page, .why-page {
	max-width:1000px;
	border-radius:14px;
	backdrop-filter:blur(2px);
}

.about-page h1, .about-page h2, .about-page p, .about-page li, .about-page ul,
.why-page h1, .why-page h2, .why-page p, .why-page li, .why-page ul{
	text-shadow: 0 2px 6px rgba(0,0,0,0.4);
	margin-bottom:14px;
	line-height:1.8;
}

.about-page h1, .why-page h1 {
	font-size:2.5rem;
	margin-bottom:20px;
	font-weight:700;
	color:#fff;
}

.about-page h2, .why-page h2 {
	font-size:1.5rem;
	margin-top:26px;
	margin-bottom:14px;
	font-weight:600;
	color:#fbbf24;
}

.about-page ul, .why-page ul{
	padding-left:28px;
	margin-left:0;
}

.about-page li, .why-page li{
	margin-bottom:12px;
	line-height:1.8;
	list-style-type:disc;
	color:rgba(255,255,255,0.95);
}

.about-page a, .why-page a{
	color:#fbbf24;
	text-decoration:none;
	font-weight:600;
	transition: all 0.3s ease;
}

.about-page a:hover, .why-page a:hover{
	text-decoration:underline;
	color:#fff;
	text-shadow: 0 0 8px rgba(251,191,36,0.5);
}

/* ANIMATIONS */
@keyframes fadeUp {
	from { opacity: 0; transform: translateY(20px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes slideIn {
	from { opacity: 0; transform: translateX(-20px); }
	to { opacity: 1; transform: translateX(0); }
}

.products-grid .product-card{
	opacity:0;
	transform:translateY(20px);
	animation:fadeUp 0.5s ease forwards;
}

.products-grid .product-card:nth-child(1){animation-delay:0ms}
.products-grid .product-card:nth-child(2){animation-delay:60ms}
.products-grid .product-card:nth-child(3){animation-delay:120ms}
.products-grid .product-card:nth-child(4){animation-delay:180ms}
.products-grid .product-card:nth-child(5){animation-delay:240ms}
.products-grid .product-card:nth-child(6){animation-delay:300ms}
.products-grid .product-card:nth-child(n+7){animation-delay:0ms}

/* PAGE ANIMATIONS */
@keyframes pageFade {
	from { opacity: 0; transform: translateY(10px) }
	to { opacity: 1; transform: translateY(0) }
}

body{animation: pageFade 0.6s ease both}

.fade-in{
	opacity:0;
	transform:translateY(12px);
	animation:pageFade 0.5s ease forwards;
}

.section-reveal{
	opacity:0;
	transform:translateY(18px);
	transition:opacity 0.6s ease, transform 0.6s ease;
}

.section-reveal.visible{
	opacity:1;
	transform:translateY(0);
}

/* UTILITY: dark overlay for hero areas */
.page-hero{
	position:relative;
	color:#fff;
	border-radius:14px;
	overflow:hidden;
	background:linear-gradient(135deg, rgba(11,61,145,0.8) 0%, rgba(26,93,193,0.7) 100%);
	min-height:380px;
	display:flex;
	align-items:center;
	margin-bottom:40px;
}

.page-hero::before{
	content:'';
	position:absolute;
	inset:0;
	background:radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%);
	z-index:0;
}

.page-hero > *{
	position:relative;
	z-index:1;
}

/* PAGE CONTENT */
.page-content{
	max-width:900px;
	margin:0 auto;
	padding:40px 24px;
	background:#fff;
	border-radius:14px;
	box-shadow:0 4px 15px rgba(0,0,0,0.08);
	border:1px solid var(--border);
}

.page-content h1{
	font-size:2.2rem;
	margin-bottom:16px;
	color:#0b3d91;
	font-weight:700;
}

.page-content h2{
	font-size:1.4rem;
	margin-top:28px;
	margin-bottom:14px;
	color:#0b3d91;
	font-weight:600;
	border-bottom:2px solid var(--accent);
	padding-bottom:8px;
}

.page-content p, .page-content ul, .page-content li{
	color:#374151;
	font-size:1rem;
	line-height:1.8;
}

.page-content ul{
	padding-left:24px;
}

.page-content li{
	margin-bottom:10px;
	list-style-type:disc;
}

/* RESPONSIVE */
@media (max-width:900px){
	.hero-inner{
		flex-direction:column;
		gap:28px;
	}

	.hero-visual{
		flex:0 0 100%;
		max-width:400px;
	}

	.hero h1{font-size:2rem}
	.lead{font-size:1rem}

	.products-grid{
		grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
		gap:20px;
	}

	.footer-inner{
		flex-direction:column;
		text-align:center;
		gap:16px;
	}

	.page-content{
		padding:28px 16px;
	}

	#booking-form{
		padding:24px 16px;
	}
}

@media (max-width:720px){
	.main-nav{display:none}
	.header-inner{padding:12px 0}
	.brand{font-size:1.1rem}

	.hero h1{font-size:1.6rem}
	.lead{font-size:0.95rem}

	.hero-ctas{
		flex-direction:column;
	}

	.hero-ctas .btn{
		width:100%;
		text-align:center;
	}

	.products-grid{grid-template-columns:repeat(2,1fr)}
	.products-page h1{font-size:1.8rem}

	.booking-item{
		flex-wrap:wrap;
		justify-content:space-between;
	}

	.booking-item-controls{
		order:3;
		flex-basis:100%;
		margin-top:10px;
		justify-content:flex-start;
	}

	.booking-item-total{
		order:2;
	}

	.remove-btn{
		order:4;
		margin-top:10px;
	}

	.page-content{
		padding:20px 12px;
	}

	.page-content h1{font-size:1.5rem}
	.page-content h2{font-size:1.1rem}
}

@media (max-width:480px){
	.hero h1{font-size:1.3rem}
	.hero-visual{flex:0 0 100%}
	.products-grid{grid-template-columns:1fr}
	.category-btn{padding:8px 14px;font-size:0.85rem}
	
	.booking-item{
		flex-direction:column;
		padding:12px;
	}

	.qty-input{width:40px}
	.booking-item-total{width:100%;text-align:left}
}

.auth-card {
  max-width:420px;
  margin:28px auto;
  background:#fff;
  border-radius:14px;
  border:1px solid #e5e7eb;
  box-shadow:0 8px 30px rgba(0,0,0,0.08);
  padding:24px;
}
.auth-card h1 { margin:0 0 8px; color:#0b3d91; }
.auth-card p { color:#4b5563; margin-bottom:18px; }
.auth-card input { width:100%; margin-bottom:10px; padding:10px 14px; border:1px solid #d1d5db; border-radius:8px; font-size:0.95rem; }
.auth-card select,
.auth-select {
	width:100%;
	margin-bottom:10px;
	padding:10px 14px;
	border:1px solid #d1d5db;
	border-radius:8px;
	font-size:0.95rem;
	background:#fff;
	color:#111827;
	font-family:inherit;
}

.auth-inline-grid {
	display:grid;
	grid-template-columns:1fr 2fr;
	gap:8px;
	margin-bottom:10px;
}

.auth-inline-grid input,
.auth-inline-grid select {
	margin-bottom:0;
}

.auth-card input:focus,
.auth-card select:focus {
	outline:none;
	border-color:#0b3d91;
	box-shadow:0 0 0 3px rgba(11,61,145,0.1);
}
.auth-card button { margin-top:6px; border-radius:8px; }
.error-message { color:#dc2626; margin-top:10px; font-weight:600; }

.auth-tabs{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:8px;
	margin-bottom:16px;
}

.auth-tab{
	border:1px solid #d1d5db;
	background:#fff;
	color:#374151;
	padding:10px 12px;
	font-weight:600;
	border-radius:8px;
	cursor:pointer;
}

.auth-tab.active{
	background:#0b3d91;
	border-color:#0b3d91;
	color:#fff;
}

.auth-panel{ display:none; }
.auth-panel.active{ display:block; }

@media (max-width:640px){
	.auth-inline-grid {
		grid-template-columns:1fr;
	}
}

