/**
 * Lucas PC RepairTracker — Frontend styling
 * Versie: 2.17.0
 * © Lucas Computer Services — Alle rechten voorbehouden
 *
 * Alle selectors zijn geprefixt met .lcs-rt- om conflicten met
 * Divi-thema-classes te voorkomen.
 *
 * Lettertypes (lopende tekst + koppen apart), kleuren (accent, tekst,
 * achtergrond) en randen (kleur + hoekafronding) zijn instelbaar via
 * Instellingen → Vormgeving; de gekozen waarden worden als CSS-variabelen op
 * .lcs-rt-wrap gezet door een kleine inline <style> (zie enqueue_vormgeving()).
 * Onderstaande zijn de standaardwaarden wanneer er nog niets is ingesteld.
 */

.lcs-rt-wrap {
	--lcs-rt-kleur: #2271b1;
	--lcs-rt-lettertype: inherit;
	--lcs-rt-kop-lettertype: inherit;
	--lcs-rt-tekstkleur: #333333;
	--lcs-rt-achtergrond: #ffffff;
	--lcs-rt-randkleur: #e2e2e2;
	--lcs-rt-randradius: 6px;
	max-width: 720px;
	margin: 0 auto;
	font-family: var(--lcs-rt-lettertype);
	color: var(--lcs-rt-tekstkleur);
}

.lcs-rt-heading {
	margin-bottom: 1em;
	color: var(--lcs-rt-kleur);
	font-family: var(--lcs-rt-kop-lettertype);
}

.lcs-rt-empty {
	padding: 1em;
	background: #f7f7f7;
	border-radius: 6px;
}

.lcs-rt-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.lcs-rt-card {
	border: 1px solid var(--lcs-rt-randkleur);
	border-left: 5px solid #999;
	border-radius: var(--lcs-rt-randradius);
	padding: 16px 18px;
	background: var(--lcs-rt-achtergrond);
}

.lcs-rt-card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 8px;
}

.lcs-rt-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 0.8em;
	font-weight: 600;
	background: #eee;
	color: #333;
}

.lcs-rt-klacht {
	margin: 6px 0;
	color: #444;
}

.lcs-rt-meta {
	display: flex;
	gap: 16px;
	font-size: 0.85em;
	color: #777;
	flex-wrap: wrap;
}

/* Statuskleuren */
/* Statuskleuren komen nu dynamisch via inline style (zie Instellingen → Statussen) */

.lcs-rt-login {
	padding: 2em;
	background: #f7f7f7;
	border-radius: 8px;
	max-width: 400px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.lcs-rt-login-titel {
	margin: 0 0 1.2em;
	font-size: 1.2em;
	font-weight: 600;
	line-height: 1.4;
	color: #23282d;
}

.lcs-rt-login form p {
	margin: 0 0 1.1em;
}

.lcs-rt-login form label {
	display: block;
	margin-bottom: 0.4em;
	font-weight: 600;
	font-size: 0.9em;
	color: #444;
}

.lcs-rt-login form input.input,
.lcs-rt-login form input[type="text"],
.lcs-rt-login form input[type="email"],
.lcs-rt-login form input[type="password"] {
	width: 100%;
	box-sizing: border-box;
	padding: 0.65em 0.8em;
	border: 1px solid #ccd0d4;
	border-radius: 4px;
	font-size: 1em;
}

.lcs-rt-login form .forgetmenot {
	display: flex;
	align-items: center;
	gap: 0.5em;
}

.lcs-rt-login form .forgetmenot label {
	display: inline;
	margin: 0;
	font-weight: 400;
}

.lcs-rt-login form .login-submit {
	margin-top: 1.4em;
}

.lcs-rt-login form .button,
.lcs-rt-login form input[type="submit"] {
	width: 100%;
	background: #2271b1;
	color: #fff;
	border: none;
	padding: 0.75em 1.4em;
	border-radius: 4px;
	cursor: pointer;
	font-size: 1em;
	font-weight: 600;
}

.lcs-rt-login form .button:hover,
.lcs-rt-login form input[type="submit"]:hover {
	background: #135e96;
}

.lcs-rt-login-links {
	margin: 1.2em 0 0;
	text-align: center;
	font-size: 0.9em;
}

.lcs-rt-login-links a {
	color: #2271b1;
	text-decoration: none;
}

.lcs-rt-login-links a:hover {
	text-decoration: underline;
}

.lcs-rt-uitloggen {
	text-align: right;
	margin: 0 0 1em;
}

.lcs-rt-uitloggen a {
	color: #666;
	text-decoration: none;
	font-size: 0.9em;
}

.lcs-rt-uitloggen a:hover {
	color: #b32d2e;
}

.lcs-rt-specificatie {
	margin: 8px 0;
	font-size: 0.9em;
}

.lcs-rt-specificatie summary {
	cursor: pointer;
	color: #2271b1;
	font-weight: 600;
}

.lcs-rt-specificatie ul {
	margin: 8px 0 0 18px;
	padding: 0;
	list-style: disc;
	color: #555;
}

/* Portaal — algemeen */
.lcs-rt-portaal { max-width: 760px; }

.lcs-rt-tabs-nav {
	display: flex;
	gap: 4px;
	border-bottom: 2px solid #e5e5e5;
	margin-bottom: 24px;
	flex-wrap: wrap;
}

.lcs-rt-tab-btn {
	background: transparent;
	border: none;
	border-bottom: 3px solid transparent;
	padding: 10px 16px;
	font-size: 0.95em;
	font-weight: 600;
	color: #666;
	cursor: pointer;
	margin-bottom: -2px;
}
.lcs-rt-tab-btn:hover { color: var(--lcs-rt-kleur); }
.lcs-rt-tab-btn-actief { color: var(--lcs-rt-kleur); border-bottom-color: var(--lcs-rt-kleur); }

.lcs-rt-tab-paneel { }

.lcs-rt-sectie-fe {
	margin-bottom: 32px;
	padding-bottom: 24px;
	border-bottom: 1px solid #e5e5e5;
}
.lcs-rt-sectie-fe:last-child { border-bottom: none; }

.lcs-rt-notice {
	background: #eef6ff;
	border: 1px solid #bcd9f7;
	color: #1a4971;
	padding: 12px 16px;
	border-radius: 6px;
	margin-bottom: 20px;
}

/* Knoppen */
.lcs-rt-btn {
	display: inline-block;
	background: var(--lcs-rt-kleur);
	color: #fff;
	border: none;
	padding: 9px 18px;
	border-radius: var(--lcs-rt-randradius);
	font-size: 0.95em;
	cursor: pointer;
}
.lcs-rt-btn:hover { filter: brightness(0.87); }
.lcs-rt-btn:disabled { opacity: 0.6; cursor: default; }

.lcs-rt-btn-klein {
	display: inline-block;
	background: #f0f0f1;
	color: #1d2327;
	border: 1px solid #ccc;
	padding: 5px 12px;
	border-radius: var(--lcs-rt-randradius);
	font-size: 0.85em;
	cursor: pointer;
}
.lcs-rt-btn-klein:hover { background: #e2e2e2; }

.lcs-rt-btn-danger { color: #a02222; border-color: #e0b4b4; }
.lcs-rt-btn-danger:hover { background: #fbeaea; }

.lcs-rt-btn-betalen { background: #1e8449; margin-top: 8px; }
.lcs-rt-btn-betalen:hover { background: #176938; }

.lcs-rt-afgehandeld-kop {
	margin: 24px 0 10px;
	padding-top: 14px;
	border-top: 1px solid var(--lcs-rt-randkleur);
	font-size: 0.95em;
	color: #666;
	font-weight: 600;
}

.lcs-rt-lijst-compact { gap: 6px; }

.lcs-rt-card-compact {
	padding: 0;
}
.lcs-rt-card-compact summary {
	cursor: pointer;
	list-style: none;
	padding: 10px 14px;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	font-size: 0.92em;
}
.lcs-rt-card-compact summary::-webkit-details-marker { display: none; }
.lcs-rt-card-compact summary .lcs-rt-compact-klacht {
	color: #777;
	flex: 1 1 auto;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.lcs-rt-card-compact summary .lcs-rt-compact-datum { color: #999; font-size: 0.9em; }
.lcs-rt-card-compact summary .lcs-rt-compact-toon-meer {
	color: var(--lcs-rt-kleur);
	font-size: 0.85em;
	font-weight: 600;
	white-space: nowrap;
}
.lcs-rt-card-compact[open] summary { border-bottom: 1px solid var(--lcs-rt-randkleur); }
.lcs-rt-card-detail-body { padding: 14px; }

.lcs-rt-snel-bestel-form table th { border-bottom: 2px solid var(--lcs-rt-randkleur); }

.lcs-rt-mijn-links-lijst { list-style: none; margin: 0 0 10px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.lcs-rt-mijn-links-lijst li { margin: 0; }
.lcs-rt-snel-bestel-form table td { border-bottom: 1px solid var(--lcs-rt-randkleur); }

.lcs-rt-toggle {
	margin: 10px 0;
	background: transparent;
	color: var(--lcs-rt-kleur);
	border: 1px dashed var(--lcs-rt-kleur);
}
.lcs-rt-toggle:hover { background: #eef6ff; }

/* Formulieren */
.lcs-rt-fe-form {
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: var(--lcs-rt-achtergrond);
	border: 1px solid var(--lcs-rt-randkleur);
	border-radius: var(--lcs-rt-randradius);
	padding: 14px;
	margin-top: 10px;
	max-width: 480px;
}
.lcs-rt-fe-form label { display: flex; flex-direction: column; font-size: 0.85em; font-weight: 600; gap: 3px; }
.lcs-rt-fe-form input,
.lcs-rt-fe-form select,
.lcs-rt-fe-form textarea {
	font-family: inherit;
	font-size: 0.95em;
	padding: 7px 9px;
	border: 1px solid var(--lcs-rt-randkleur);
	border-radius: var(--lcs-rt-randradius);
}
.lcs-rt-fe-form textarea { min-height: 70px; resize: vertical; }

.lcs-rt-fe-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
@media (max-width: 560px) {
	.lcs-rt-fe-grid { grid-template-columns: 1fr; }
}

.lcs-rt-fe-feedback { font-size: 0.85em; margin-left: 8px; }
.lcs-rt-fe-feedback-ok { color: #1e8449; }
.lcs-rt-fe-feedback-fout { color: #a02222; }

/* Apparaten */
.lcs-rt-apparaten-lijst { display: flex; flex-direction: column; gap: 10px; margin-bottom: 10px; }

.lcs-rt-apparaat-card {
	border: 1px solid var(--lcs-rt-randkleur);
	border-radius: var(--lcs-rt-randradius);
	padding: 12px 14px;
	background: var(--lcs-rt-achtergrond);
}
.lcs-rt-apparaat-header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.lcs-rt-apparaat-header img { border-radius: 4px; }
.lcs-rt-merk-logo { width: 28px; height: 28px; object-fit: contain; background: #fff; border: 1px solid #eee; padding: 2px; }
.lcs-rt-apparaat-acties { display: flex; gap: 8px; flex-wrap: wrap; }

.lcs-rt-badge-pending { color: #9a5b00; background: #fff3e0; display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 0.8em; margin: 0; }
.lcs-rt-badge-betaald { color: #1e8449; background: #e8f8ef; display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 0.8em; margin: 8px 0 0; }
.lcs-rt-badge-garantie { color: #9a5b00; background: #fdf3e3; display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 0.8em; font-weight: 600; margin: 0 0 8px; }

/* Reacties */
.lcs-rt-reacties { margin-top: 16px; border-top: 1px dashed #e2e2e2; padding-top: 12px; }
.lcs-rt-reacties h4 { margin: 0 0 8px; font-size: 0.9em; color: #555; }
.lcs-rt-reacties-thread-fe { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }

.lcs-rt-reactie-fe {
	padding: 8px 10px;
	border-radius: 6px;
	font-size: 0.9em;
	max-width: 90%;
}
.lcs-rt-reactie-fe-klant { background: #eef6ff; align-self: flex-end; }
.lcs-rt-reactie-fe-medewerker { background: #f0f0f1; align-self: flex-start; }
.lcs-rt-reactie-fe p { margin: 4px 0 0; }
.lcs-rt-reactie-datum { font-size: 0.75em; color: #888; margin-left: 6px; }

.lcs-rt-reactie-form { flex-direction: row; align-items: flex-start; max-width: 100%; }
.lcs-rt-reactie-form textarea { flex: 1; min-height: 40px; }

.lcs-rt-card-gemarkeerd {
	box-shadow: 0 0 0 3px #2271b1;
	animation: lcs-rt-pulseer 1.6s ease-out 2;
}
@keyframes lcs-rt-pulseer {
	0% { box-shadow: 0 0 0 3px rgba(34,113,177,0.9); }
	100% { box-shadow: 0 0 0 3px rgba(34,113,177,0.15); }
}
