:root { --rkp-cream: #f1faee; }
[data-theme="dark"] .rkp-fb-ok { color: #ecfdf5 !important; }
[data-theme="dark"] .rkp-fb-ok span { color: #ecfdf5 !important; }
/* RheinKompass Intranet — Frontend (team.rheinkompass.de) */

:root {
	--rk-primary: #1B3A5F;
	--rk-accent:  #E8B86A;
	--rk-bg:      #FFFFFF;
	--rk-surface: #FAF6EC;
	--rk-text:    #1A1A1A;
}

.rki-dashboard {
	max-width: 1100px;
	margin: 0 auto;
	padding: 1rem 1.25rem;
	font-family: 'Inter', system-ui, sans-serif;
	color: var(--rk-text);
}
.rki-dashboard h2 { font-size: 1.4rem; margin: 0 0 1.5rem; }
.rki-dashboard h3 { font-size: 1.1rem; margin: 0 0 0.75rem; color: var(--rk-primary); border-bottom: 1px solid var(--rk-surface); padding-bottom: 0.4rem; }

.rki-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
	gap: 1.5rem;
}
.rki-section {
	background: var(--rk-bg);
	border: 1px solid #eee;
	border-radius: 8px;
	padding: 1rem 1.25rem;
}

.rki-table-wrap { overflow-x: auto; }
.rki-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.rki-table th { background: var(--rk-surface); text-align: left; padding: 8px 10px; font-weight: 600; color: var(--rk-primary); }
.rki-table td { padding: 8px 10px; border-bottom: 1px solid #f0f0f0; }
.rki-table tfoot th { background: var(--rk-primary); color: var(--rk-surface); }

.rki-badge {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 10px;
	font-size: 0.75rem;
	font-weight: 600;
}
.rki-badge-go     { background: #d8efd8; color: #1e6b1e; }
.rki-badge-risiko { background: #fff1d6; color: #b07020; }
.rki-badge-nogo   { background: #f5d4d4; color: #8b1f1f; }

.rki-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1rem;
}
.rki-card {
	background: var(--rk-bg);
	border: 1px solid #eee;
	border-left: 4px solid var(--rk-accent);
	border-radius: 8px;
	padding: 1rem;
}
.rki-card h3 { margin: 0 0 0.6rem; font-size: 1.05rem; color: var(--rk-primary); border: none; padding: 0; }
.rki-card dl { margin: 0; font-size: 0.85rem; }
.rki-card dt { font-weight: 600; color: var(--rk-text); margin-top: 6px; }
.rki-card dd { margin: 0 0 4px; color: #555; }
.rki-card-content { margin-top: 8px; font-size: 0.9rem; line-height: 1.5; }

.rki-form { background: var(--rk-surface); padding: 1rem; border-radius: 8px; }
.rki-form input[type="text"],
.rki-form input[type="number"],
.rki-form input[type="date"],
.rki-form select,
.rki-form textarea {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-family: inherit;
	font-size: 0.92rem;
	background: #fff;
}
.rki-form label { display: block; font-weight: 600; font-size: 0.88rem; margin-bottom: 0.4rem; color: var(--rk-text); }
.rki-form p { margin: 0 0 0.8rem; }
.rki-btn {
	background: var(--rk-primary);
	color: #fff;
	border: none;
	padding: 10px 22px;
	border-radius: 4px;
	font-weight: 600;
	font-size: 0.95rem;
	cursor: pointer;
}
.rki-btn:hover { background: #2C4F76; }

.rki-doc-list { list-style: none; padding: 0; margin: 0; }
.rki-doc-list li { padding: 8px 0; border-bottom: 1px solid #eee; font-size: 0.92rem; }
.rki-doc-cat { display: inline-block; background: var(--rk-surface); color: var(--rk-primary); padding: 2px 8px; border-radius: 10px; font-size: 0.75rem; font-weight: 600; margin-right: 8px; }

.rki-notice {
	padding: 12px 16px;
	background: var(--rk-surface);
	border-left: 4px solid var(--rk-accent);
	border-radius: 4px;
	margin: 1rem 0;
}
.rki-notice a { color: var(--rk-primary); font-weight: 600; }

.rki-flash {
	position: fixed;
	bottom: 1rem;
	right: 1rem;
	padding: 12px 20px;
	border-radius: 6px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
	z-index: 9999;
}
.rki-flash.error   { background: #f5d4d4; color: #8b1f1f; }
.rki-flash.success { background: #d8efd8; color: #1e6b1e; }

/* ============================================
 * v2.2.0 — To-Do + Aktivitaeten styles
 * ============================================ */
.rki-todos-wrap { margin-top: 1rem; }
.rki-todos-table th { background: #f4f4f4; }
.rki-todo-row.rki-status-erledigt { opacity: 0.55; text-decoration: line-through; }
.rki-todo-row.rki-status-in_bearbeitung td:first-child { border-left: 3px solid #f0a500; }
.rki-todo-row.rki-prio-hoch td:first-child { border-left: 3px solid #d33; }
.rki-todo-row.rki-prio-mittel td:first-child:not(.rki-prio-hoch) { border-left: 3px solid #9bc; }
.rki-due-overdue { color: #d33; font-weight: bold; }
.rki-due-soon { color: #f0a500; font-weight: bold; }
.rki-auto {
    display: inline-block; background: #e7f3ff; color: #06c;
    border-radius: 3px; padding: 1px 5px; font-size: 0.7em; margin-left: 4px;
}
.rki-todo-done-info { font-size: 0.85em; color: #666; margin-top: 2px; }

.rki-form { display: flex; flex-direction: column; gap: 8px; max-width: 720px; }
.rki-form label { display: flex; flex-direction: column; font-size: 0.9em; }
.rki-form input, .rki-form select, .rki-form textarea {
    padding: 6px 8px; border: 1px solid #ccc; border-radius: 4px; font-size: 0.95em;
}
.rki-form-row { display: flex; gap: 10px; flex-wrap: wrap; }
.rki-form-row label { flex: 1 1 200px; }
.rki-btn { padding: 6px 14px; border: 1px solid #999; background: #fafafa; border-radius: 4px; cursor: pointer; }
.rki-btn-primary { background: #1d3557; color: #fff; border-color: #1d3557; }
.rki-btn-danger { background: #d33; color: #fff; border-color: #d33; }
.rki-todo-actions { display: flex; gap: 12px; margin-top: 10px; }
.rki-inline-form { display: inline-flex; gap: 6px; align-items: center; }

.rki-akt-feed {
    border-left: 3px solid #e7e7e7; padding: 0 0 0 14px; margin-top: 1rem;
}
.rki-akt-feed h4 { margin: 0 0 10px; font-size: 1em; color: #555; text-transform: uppercase; letter-spacing: 0.05em; }
.rki-akt-list { list-style: none; margin: 0; padding: 0; }
.rki-akt-item { background: #fff; border: 1px solid #eee; border-radius: 4px; padding: 10px 12px; margin-bottom: 10px; }
.rki-akt-head { display: flex; justify-content: space-between; font-size: 0.85em; color: #888; }
.rki-akt-typ { background: #1d3557; color: #fff; padding: 2px 8px; border-radius: 3px; font-size: 0.8em; }
.rki-akt-title { font-weight: 600; margin: 4px 0; }
.rki-akt-content { font-size: 0.9em; color: #444; }
.rki-akt-meta { font-size: 0.8em; color: #666; margin-top: 4px; }
.rki-akt-typ-antrag_eingereicht { background-color: #e8f8e8; }
.rki-akt-typ-zusage   { background-color: #e0f7e0; }
.rki-akt-typ-absage   { background-color: #fbe6e6; }
.rki-akt-typ-telefonat { background-color: #fff8e0; }
.rki-akt-typ-treffen   { background-color: #f0e6ff; }
.rki-akt-typ-meilenstein { background-color: #fff0d6; }
.rki-empty { color: #999; font-style: italic; padding: 10px; }

/* ============================================
 * v2.2.1 — Modern layout + filter UI
 * ============================================ */
.rki-split { display: grid; grid-template-columns: 2fr 1fr; gap: 24px; margin-top: 20px; }
.rki-split-main { min-width: 0; }
.rki-split-side { min-width: 280px; }
@media (max-width: 900px) { .rki-split { grid-template-columns: 1fr; } }

.rki-section-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.rki-section-head h3 { margin: 0; font-size: 1.1em; color: #1d3557; }

.rki-filter-bar {
    display: flex; gap: 10px; flex-wrap: wrap; align-items: end;
    background: #fafbfd; border: 1px solid #e5e7eb; border-radius: 8px; padding: 12px 14px; margin-bottom: 14px;
}
.rki-filter-bar label { display: flex; flex-direction: column; font-size: 0.78em; color: #555; gap: 3px; }
.rki-filter-bar input, .rki-filter-bar select { padding: 6px 8px; border: 1px solid #cbd5e1; border-radius: 5px; font-size: 0.9em; min-width: 140px; }
.rki-filter-bar .rki-btn { align-self: stretch; }

.rki-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; overflow: hidden; }
.rki-table th { background: #f3f4f6; color: #374151; text-align: left; padding: 10px 12px; font-size: 0.85em; text-transform: uppercase; letter-spacing: 0.04em; }
.rki-table td { padding: 12px; border-top: 1px solid #f1f5f9; font-size: 0.95em; vertical-align: top; }
.rki-table tr:hover td { background: #fafbfd; }
.rki-todo-row td:first-child { font-weight: 500; }

.rki-btn {
    display: inline-block; padding: 8px 16px; border: 1px solid #cbd5e1; background: #fff;
    border-radius: 6px; cursor: pointer; font-size: 0.9em; text-decoration: none; color: #1d3557;
    transition: all 0.15s ease;
}
.rki-btn:hover { background: #f3f4f6; border-color: #94a3b8; }
.rki-btn-primary { background: #1d3557; color: #fff; border-color: #1d3557; }
.rki-btn-primary:hover { background: #15294a; color: #fff; }
.rki-btn-danger { background: #dc2626; color: #fff; border-color: #dc2626; }
.rki-btn-danger:hover { background: #b91c1c; }

.rki-akt-feed { padding-left: 0; border-left: none; }
.rki-akt-feed h4 { color: #1d3557; font-weight: 600; margin-bottom: 12px; }
.rki-akt-item { box-shadow: 0 1px 2px rgba(0,0,0,0.04); }

/* v2.3.0 — Links module */
.rki-link-filterbar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; background: #fff; border: 1px solid var(--rkp-border, #e5e0d3); border-radius: 10px; padding: 8px 10px; margin: 0 0 16px; box-shadow: 0 1px 3px rgba(26,35,50,0.05); }
.rki-link-tab { padding: 6px 12px; border-radius: 6px; font-size: 0.85rem; font-weight: 500; text-decoration: none; color: var(--rkp-muted, #5a6b80); transition: all 0.15s ease; }
.rki-link-tab:hover { background: #f1f5f9; color: var(--rkp-primary, #1a2332); }
.rki-link-tab.is-active { background: var(--rkp-primary, #1a2332); color: #fff !important; }
.rki-link-sep { width: 1px; height: 20px; background: #e5e7eb; margin: 0 6px; }
.rki-link-newbtn { margin-left: auto !important; }
.rki-link-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.rki-link-card { display: flex; align-items: flex-start; gap: 12px; background: #fff; border: 1px solid var(--rkp-border, #e5e0d3); border-radius: 10px; padding: 14px 16px; box-shadow: 0 1px 2px rgba(26,35,50,0.04); transition: all 0.15s ease; }
.rki-link-card:hover { box-shadow: 0 4px 12px rgba(26,35,50,0.08); transform: translateY(-1px); }
.rki-link-card[data-tier="1"] { border-left: 3px solid #2d8b8b; }
.rki-link-card[data-tier="2"] { border-left: 3px solid #6b9b76; }
.rki-link-card[data-tier="3"] { border-left: 3px solid #94a3b8; }
.rki-link-card[data-tier="4"] { border-left: 3px solid #cbd5e1; opacity: 0.7; }
.rki-link-icon { flex: 0 0 32px; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; }
.rki-link-icon img { width: 24px; height: 24px; border-radius: 4px; }
.rki-link-body { flex: 1 1 auto; min-width: 0; }
.rki-link-title-row { display: flex; align-items: center; gap: 6px; }
.rki-link-title { font-weight: 600; color: var(--rkp-primary, #1a2332) !important; text-decoration: none !important; font-size: 0.95rem; }
.rki-link-title:hover { color: var(--rkp-accent, #2d8b8b) !important; }
.rki-link-flag { font-size: 0.85rem; }
.rki-link-fav { color: #f59e0b; }
.rki-link-inuse { width: 8px; height: 8px; background: #16a34a; border-radius: 50%; display: inline-block; }
.rki-link-desc { color: #475569; font-size: 0.84rem; margin: 4px 0 6px; line-height: 1.4; }
.rki-link-meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 0.72rem; color: var(--rkp-muted, #5a6b80); }
.rki-link-tier { padding: 2px 7px; border-radius: 4px; background: #f1f5f9; font-weight: 600; }
.rki-link-tier-1 { background: rgba(45,139,139,0.15); color: #2d8b8b; }
.rki-link-tier-2 { background: rgba(107,155,118,0.15); color: #15803d; }
.rki-link-tier-4 { background: #f1f5f9; color: #94a3b8; }
.rki-link-kat { padding: 2px 7px; border-radius: 4px; background: #fefce8; color: #854d0e; }
.rki-link-host { color: #94a3b8; font-family: monospace; }
.rki-link-edit { margin-left: auto; color: var(--rkp-muted, #5a6b80); font-size: 0.75rem; text-decoration: none; }
.rki-link-edit:hover { color: var(--rkp-accent, #2d8b8b); }
.rki-checkbox { display: flex; flex-direction: row !important; align-items: center; gap: 8px; font-weight: 500; cursor: pointer; }
.rki-checkbox input { width: auto !important; }

/* v2.3.3 — Dokumente module */
.rki-doc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.rki-doc-card { display: flex; gap: 12px; background: #fff; border: 1px solid var(--rkp-border, #e5e0d3); border-radius: 10px; padding: 14px 16px; box-shadow: 0 1px 2px rgba(26,35,50,0.04); transition: all 0.15s ease; }
.rki-doc-card:hover { box-shadow: 0 4px 12px rgba(26,35,50,0.08); transform: translateY(-1px); }
.rki-doc-icon { font-size: 1.8rem; flex: 0 0 36px; }
.rki-doc-body { flex: 1 1 auto; min-width: 0; }
.rki-doc-title { font-weight: 600; color: var(--rkp-primary, #1a2332); font-size: 0.95rem; }
.rki-doc-title a { color: var(--rkp-primary, #1a2332) !important; text-decoration: none; }
.rki-doc-title a:hover { color: var(--rkp-accent, #2d8b8b) !important; }
.rki-doc-desc { color: #475569; font-size: 0.82rem; margin: 4px 0 6px; line-height: 1.4; }
.rki-doc-meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 0.7rem; }
.rki-doc-allg { padding: 2px 7px; border-radius: 4px; background: #f1f5f9; color: #64748b; }
.rki-doc-projfilter { margin: 0 8px; }
.rki-doc-projfilter select { padding: 6px 8px; border: 1px solid var(--rkp-border, #e5e0d3); border-radius: 6px; font-size: 0.84rem; }

/* v2.3.7 — Todo inline action buttons */
.rki-todo-actions-cell { white-space:nowrap; }
.rki-btn-mini { display:inline-block; padding:4px 9px; font-size:12px; border-radius:5px; border:1px solid transparent; cursor:pointer; line-height:1.2; text-decoration:none; }
.rki-btn-done { background:#2d8b8b; color:#fff; }
.rki-btn-done:hover { background:#206d6d; }
.rki-btn-reopen { background:#a8dadc; color:#1a2332; }
.rki-btn-reopen:hover { background:#8ccfd1; }
.rki-todo-edit.rki-btn-mini { background:transparent; color:#1a2332; border:1px solid #cbd5e1; padding:3px 8px; }
.rki-todo-edit.rki-btn-mini:hover { background:#f1f5f9; }

/* v2.4.3 — To-Do description line below title in list */
.rki-todo-desc { font-size: 12px; color: #6b7a87; margin-top: 4px; line-height: 1.4; max-width: 480px; }

/* v2.4.4 — Dark mode hover overrides */
[data-theme="dark"] .rki-table { background: var(--rkp-card-bg) !important; color: var(--rkp-text) !important; }
[data-theme="dark"] .rki-table th { background: #14141a !important; color: var(--rkp-text) !important; }
[data-theme="dark"] .rki-table td { color: var(--rkp-text) !important; border-color: #1a1a1f !important; }
[data-theme="dark"] .rki-table tr:hover td,
[data-theme="dark"] .rki-table tbody tr:hover td,
[data-theme="dark"] .rki-todo-row:hover td { background: #14141a !important; color: var(--rkp-text) !important; }
[data-theme="dark"] .rki-todo-row.rki-status-erledigt td,
[data-theme="dark"] .rki-todo-row.rki-status-erledigt:hover td { color: var(--rkp-text-muted) !important; }
[data-theme="dark"] .rki-todo-desc { color: var(--rkp-text-muted) !important; }
[data-theme="dark"] .rki-link-card { background: var(--rkp-card-bg) !important; border-color: var(--rkp-border) !important; color: var(--rkp-text) !important; }
[data-theme="dark"] .rki-link-card:hover { background: #14141a !important; box-shadow: 0 4px 12px rgba(0,0,0,0.45) !important; }
[data-theme="dark"] .rki-link-title { color: var(--rkp-text) !important; }
[data-theme="dark"] .rki-link-title:hover { color: var(--rkp-accent-2) !important; }
[data-theme="dark"] .rki-doc-card { background: var(--rkp-card-bg) !important; border-color: var(--rkp-border) !important; color: var(--rkp-text) !important; }
[data-theme="dark"] .rki-doc-card:hover { background: #14141a !important; }
[data-theme="dark"] .rki-doc-title a { color: var(--rkp-text) !important; }
[data-theme="dark"] .rki-doc-title a:hover { color: var(--rkp-accent-2) !important; }
[data-theme="dark"] .rki-link-tab { color: var(--rkp-text) !important; }
[data-theme="dark"] .rki-link-tab:hover { background: #14141a !important; color: var(--rkp-accent-2) !important; }
[data-theme="dark"] .rki-btn { background: #1a1a1f !important; color: var(--rkp-text) !important; border-color: var(--rkp-border) !important; }
[data-theme="dark"] .rki-btn:hover { background: #2a2a32 !important; }
[data-theme="dark"] .rki-btn-primary { background: var(--rkp-accent) !important; color: #fff !important; }
[data-theme="dark"] .rki-btn-primary:hover { background: #226d6d !important; color: #fff !important; }
[data-theme="dark"] .rki-empty,
[data-theme="dark"] .rki-muted { color: var(--rkp-text-muted) !important; }

/* v2.4.5 — Override intranet --rk-* vars for dark mode */
[data-theme="dark"] :root,
[data-theme="dark"] body {
  --rk-primary: #ffffff;
  --rk-accent: #2d8b8b;
  --rk-bg: #0a0a0c;
  --rk-surface: #14141a;
  --rk-text: #ffffff;
}
[data-theme="dark"] .rki-table th,
[data-theme="dark"] .rki-todos-table th { background: #14141a !important; color: #ffffff !important; }
[data-theme="dark"] .rki-table tfoot th { background: #2d8b8b !important; color: #ffffff !important; }
[data-theme="dark"] .rki-table tr:hover td { background: #1a1a1f !important; color: #ffffff !important; }

/* v2.4.6 — To-Do comments */
.rki-todo-comments-list { background: #f8fafc; border-radius: 8px; padding: 12px; }
.rki-todo-comment { background: #fff; padding: 8px 12px; border-radius: 6px; margin-bottom: 8px; font-size: 13px; border: 1px solid #e2e8f0; }
.rki-todo-comment-head { margin-bottom: 4px; font-size: 12px; }
.rki-todo-comment-head strong { color: #2d8b8b; }
.rki-todo-comment-body { color: #1a2332; }
[data-theme="dark"] .rki-todo-comments-list { background: #0a0a0c !important; }
[data-theme="dark"] .rki-todo-comment { background: #14141a !important; border-color: #1a1a1f !important; color: #fff !important; }
[data-theme="dark"] .rki-todo-comment-body { color: #fff !important; }

/* v2.4.10 — Mirror button overrides */
[data-theme="dark"] .rki-btn,
[data-theme="dark"] button.rki-btn,
[data-theme="dark"] a.rki-btn { background: #1f2433 !important; color: #f1faee !important; border: 1px solid #2a3142 !important; }
[data-theme="dark"] .rki-btn-primary,
[data-theme="dark"] button.rki-btn-primary { background: #2d8b8b !important; color: #ffffff !important; border-color: #2d8b8b !important; }
[data-theme="dark"] .rki-btn-mini,
[data-theme="dark"] button.rki-btn-mini { background: #1f2433 !important; color: #f1faee !important; }
[data-theme="dark"] .rki-btn-done,
[data-theme="dark"] button.rki-btn-done { background: #2d8b8b !important; color: #ffffff !important; }
[data-theme="dark"] .rki-btn-reopen,
[data-theme="dark"] button.rki-btn-reopen { background: #1f2433 !important; color: #a8dadc !important; }
