:root {
	--ikd-blue: #113f67;
	--ikd-dark-blue: #0b2239;
	--ikd-cyan: #38598b;
	--ikd-bg: #f4f6f9;
	--ikd-card-bg: #ffffff;
	--ikd-border: #e2e8f0;
	--ikd-text: #2d3748;
	--ikd-muted: #718096;
	--ikd-success: #38a169;
	--ikd-danger: #e53e3e;
}

body.portal-login-body {
	background: linear-gradient(135deg, var(--ikd-dark-blue) 0%, var(--ikd-blue) 100%);
	margin: 0;
	font-family: 'Vazirmatn', sans-serif;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
}

.ikd-login-card {
	background: #fff;
	width: 100%;
	max-width: 420px;
	border-radius: 16px;
	padding: 36px 30px;
	box-shadow: 0 20px 40px rgba(0,0,0,0.15);
}

.ikd-header-brand { text-align: center; margin-bottom: 24px; }
.ikd-header-brand h2 { font-size: 20px; color: var(--ikd-blue); margin: 8px 0; }
.ikd-header-brand p { font-size: 13px; color: var(--ikd-muted); margin: 0; }

.ikd-form-group { margin-bottom: 18px; }
.ikd-form-group label { display: block; font-size: 13.5px; font-weight: 600; margin-bottom: 6px; color: var(--ikd-text); }
.ikd-form-group input {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--ikd-border);
	border-radius: 8px;
	font-family: inherit;
	box-sizing: border-box;
	font-size: 14px;
}
.ikd-form-group input:focus { border-color: var(--ikd-blue); outline: none; }

.btn-ikd-primary {
	width: 100%;
	background: var(--ikd-blue);
	color: #fff;
	border: none;
	padding: 13px;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	font-family: inherit;
}
.btn-ikd-primary:hover { background: var(--ikd-dark-blue); }

.alert-box {
	padding: 10px;
	border-radius: 6px;
	font-size: 13px;
	margin-bottom: 15px;
}
.alert-box.error { background: #fed7d7; color: var(--ikd-danger); }

/* Dashboard Styles */
body.portal-app-body { background: var(--ikd-bg); margin: 0; font-family: 'Vazirmatn', sans-serif; }
.ikd-topbar { background: #fff; border-bottom: 1px solid var(--ikd-border); position: sticky; top: 0; z-index: 50; }
.ikd-bar-container { max-width: 1280px; margin: 0 auto; padding: 12px 20px; display: flex; justify-content: space-between; align-items: center; }
.portal-badge { background: #ebf8ff; color: #3182ce; font-size: 12px; padding: 3px 8px; border-radius: 6px; margin-right: 6px; }
.ikd-user-section { display: flex; gap: 14px; align-items: center; font-size: 13.5px; }
.ikd-logout-btn { background: #fee2e2; color: var(--ikd-danger); padding: 5px 12px; border-radius: 6px; text-decoration: none; }

.ikd-main-wrapper { max-width: 1280px; margin: 30px auto; padding: 0 20px; }
.ikd-products-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; margin-top: 20px; }
.ikd-product-card { background: #fff; border-radius: 12px; border: 1px solid var(--ikd-border); overflow: hidden; display: flex; flex-direction: column; }
.ikd-card-image img { width: 100%; height: 180px; object-fit: cover; }
.ikd-card-body { padding: 16px; display: flex; flex-direction: column; flex-grow: 1; }
.ikd-card-title { font-size: 16px; margin: 0 0 10px 0; color: var(--ikd-dark-blue); }
.ikd-card-footer { margin-top: auto; padding-top: 12px; border-top: 1px dashed var(--ikd-border); display: flex; justify-content: space-between; align-items: center; }
.ikd-btn-order { background: var(--ikd-blue); color: #fff; text-decoration: none; padding: 7px 14px; border-radius: 6px; font-size: 13px; }
