/* Kontrolljournalen (sviten 3.213): QR-sidan och vyn i hubben och kundportalen. */
.kdkj-qr [hidden], .kdkj-app [hidden] { display: none !important; }
.kdkj-qr-sida { margin: 0; background: #f4f6f8; color: #12181F; font: 16px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; }
.kdkj-qr { max-width: 640px; margin: 0 auto; padding: 16px; }
.kdkj-qr-rubrik { font-size: 22px; margin: 8px 0 16px; }
.kdkj-qr-in { background: #fff; border: 1px solid #dcdcde; border-radius: 8px; padding: 16px; display: flex; flex-direction: column; gap: 10px; }
.kdkj-qr-in input { font-size: 28px; letter-spacing: 0.4em; text-align: center; padding: 10px; border: 1px solid #8a8f94; border-radius: 6px; }
.kdkj-qr button, .kdkj-app button:not(.kdkj-lank) { background: #1E3A5F; color: #fff; border: 0; border-radius: 6px; padding: 10px 16px; font-size: 15px; cursor: pointer; }
.kdkj-qr button:disabled, .kdkj-app button:disabled { opacity: 0.6; cursor: default; }
.kdkj-lank { background: none !important; border: 0; color: #1E3A5F !important; text-decoration: underline; padding: 0 !important; cursor: pointer; font-size: inherit; }
.kdkj-qr-fel { color: #b3261e; min-height: 1.2em; margin: 0; }
.kdkj-not { color: #5B6B7A; font-size: 13px; margin: 0; }
.kdkj-besked { background: #fff; border-left: 4px solid #b3261e; padding: 12px 14px; }
.kdkj-qr-anl { background: #fff; border: 1px solid #dcdcde; border-radius: 8px; padding: 12px 14px; display: flex; flex-direction: column; gap: 2px; }
.kdkj-qr-anl span { color: #5B6B7A; font-size: 14px; }
.kdkj-qr-rad { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 10px 0; font-size: 14px; }
.kdkj-nat { font-size: 12px; padding: 2px 8px; border-radius: 10px; background: #e6eef6; }
.kdkj-nat.is-av { background: #fde7e6; color: #b3261e; }
.kdkj-nat.is-ko { background: #fff4d6; }
.kdkj-qr-status { min-height: 1.2em; color: #1a5f2a; }
.kdkj-ny { background: #fff; border: 1px solid #dcdcde; border-radius: 8px; padding: 14px; display: flex; flex-direction: column; gap: 10px; margin: 8px 0 16px; }
.kdkj-ny h2, .kdkj-ny h3 { margin: 0; font-size: 17px; }
.kdkj-ny label { display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.kdkj-ny select, .kdkj-ny input, .kdkj-ny textarea { font-size: 16px; padding: 8px; border: 1px solid #8a8f94; border-radius: 6px; max-width: 100%; box-sizing: border-box; }
.kdkj-poster { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.kdkj-post { background: #fff; border: 1px solid #dcdcde; border-radius: 8px; padding: 10px 12px; font-size: 14px; }
.kdkj-post.is-rattad .kdkj-post-text { text-decoration: line-through; color: #8a8f94; }
.kdkj-post-huvud { display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline; }
.kdkj-post-huvud span { color: #5B6B7A; font-size: 13px; }
.kdkj-nr { margin-left: auto; }
.kdkj-post-vem { color: #5B6B7A; font-size: 12px; margin-top: 4px; }
.kdkj-rattar, .kdkj-rattad { font-size: 12px; color: #8a5a00; }
.kdkj-status-utgangen, .kdkj-status-last, .kdkj-status-ej_aktiv { background: #fff4d6; border-left: 4px solid #8a5a00; padding: 8px 12px; }
.kdkj-status-beta { color: #5B6B7A; }

/* Vyn i hubben och kundportalen */
.kdkj-app { max-width: 1000px; }
.kdkj-app h2 { font-size: 19px; margin: 0 0 10px; }
.kdkj-app h3 { font-size: 16px; margin: 20px 0 8px; }
.kdkj-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; margin: 12px 0; }
.kdkj-kort { text-align: left; background: #fff !important; color: #12181F !important; border: 1px solid #dcdcde !important; border-left: 4px solid #1E3A5F !important; border-radius: 8px; padding: 12px 14px !important; display: flex; flex-direction: column; gap: 3px; cursor: pointer; font-size: 14px !important; }
.kdkj-kort strong { font-size: 15px; }
.kdkj-kort span { color: #5B6B7A; font-size: 13px; }
.kdkj-kort.is-utgangen, .kdkj-kort.is-last { border-left-color: #b3261e !important; }
.kdkj-kort.is-ej_aktiv { border-left-color: #8a8f94 !important; }
.kdkj-tabell { width: 100%; border-collapse: collapse; font-size: 14px; }
.kdkj-tabell th, .kdkj-tabell td { border-bottom: 1px solid #e3e6e9; padding: 6px 8px; text-align: left; vertical-align: top; }
.kdkj-falt { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.kdkj-falt label { display: flex; flex-direction: column; gap: 3px; font-size: 13px; }
.kdkj-falt input, .kdkj-falt select { padding: 6px 8px; border: 1px solid #8a8f94; border-radius: 5px; font-size: 14px; }
.kdkj-knappar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 10px 0; }
.kdkj-ruta { background: #fff; border: 1px solid #dcdcde; border-radius: 8px; padding: 14px; margin: 12px 0; }
.kdkj-meddelande { min-height: 1.2em; }
.kdkj-meddelande.is-fel { color: #b3261e; }
.kdkj-meddelande.is-ok { color: #1a5f2a; }
.kdkj-kod { font-family: monospace; font-size: 18px; letter-spacing: 0.2em; }
@media (max-width: 600px) {
	.kdkj-tabell thead { display: none; }
	.kdkj-tabell tr { display: block; border-bottom: 1px solid #e3e6e9; padding: 6px 0; }
	.kdkj-tabell td { display: block; border: 0; padding: 2px 4px; }
}
