.eip-auth-box,
.eip-dashboard,
.eip-chatbot {
	--eip-ink: #0f2417;
	--eip-primary: #1c6e3c;
	--eip-primary-dark: #124d29;
	--eip-border: #dbe6de;
	--eip-bg-soft: #f4f8f5;
	color: var(--eip-ink);
	box-sizing: border-box;
}
.eip-auth-box *,
.eip-dashboard *,
.eip-chatbot * {
	box-sizing: inherit;
}

/* Auth */
.eip-auth-box {
	max-width: 420px;
	margin: 2rem auto;
	padding: 2rem;
	border: 1px solid var(--eip-border);
	border-radius: 12px;
	background: #fff;
}
.eip-form-row {
	margin: 0 0 1rem;
	display: flex;
	flex-direction: column;
	gap: .35rem;
}
.eip-form-row label {
	font-size: .85rem;
	font-weight: 600;
}
.eip-form-row input,
.eip-chat-form textarea {
	padding: .6rem .75rem;
	border: 1px solid var(--eip-border);
	border-radius: 8px;
	font-size: 1rem;
}
.eip-btn {
	display: inline-block;
	padding: .65rem 1.25rem;
	border-radius: 8px;
	border: none;
	cursor: pointer;
	font-weight: 600;
	text-decoration: none;
}
.eip-btn-primary {
	background: var(--eip-primary);
	color: #fff;
}
.eip-btn-primary:hover {
	background: var(--eip-primary-dark);
}
.eip-btn-ghost {
	background: transparent;
	border: 1px solid var(--eip-border);
	color: var(--eip-ink);
}
.eip-form-error {
	color: #b3261e;
	font-size: .9rem;
}
.eip-form-success {
	color: var(--eip-primary-dark);
	font-size: .9rem;
}
.eip-auth-switch {
	margin-top: 1rem;
	font-size: .9rem;
}

/* Dashboard */
.eip-dashboard-hero {
	margin-bottom: 2rem;
}
.eip-dashboard-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.25rem;
}
.eip-card {
	border: 1px solid var(--eip-border);
	border-radius: 12px;
	padding: 1.25rem;
	background: var(--eip-bg-soft);
}
.eip-card h2 {
	margin: 0 0 .75rem;
	font-size: 1.05rem;
}
.eip-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.eip-list li {
	padding: .5rem 0;
	border-bottom: 1px solid var(--eip-border);
}
.eip-list li:last-child {
	border-bottom: none;
}
.eip-kpi-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
	gap: .75rem;
}
.eip-kpi {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: .75rem;
	background: #fff;
	border-radius: 8px;
	border: 1px solid var(--eip-border);
}
.eip-kpi-value {
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--eip-primary-dark);
}
.eip-kpi-label {
	font-size: .8rem;
}
.eip-empty,
.eip-loading {
	font-size: .9rem;
	opacity: .7;
}

/* Chat */
.eip-chatbot {
	max-width: 480px;
	border: 1px solid var(--eip-border);
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	display: flex;
	flex-direction: column;
}
.eip-chat-log {
	max-height: 320px;
	overflow-y: auto;
	padding: 1rem;
	display: flex;
	flex-direction: column;
	gap: .5rem;
}
.eip-chat-msg {
	padding: .6rem .85rem;
	border-radius: 10px;
	max-width: 85%;
	font-size: .92rem;
	white-space: pre-wrap;
}
.eip-chat-msg-bot {
	background: var(--eip-bg-soft);
	align-self: flex-start;
}
.eip-chat-msg-user {
	background: var(--eip-primary);
	color: #fff;
	align-self: flex-end;
}
.eip-chat-msg-error {
	background: #fdecea;
	color: #b3261e;
}
.eip-chat-form {
	display: flex;
	gap: .5rem;
	padding: .75rem;
	border-top: 1px solid var(--eip-border);
}
.eip-chat-form textarea {
	flex: 1;
	resize: none;
}
