/*
 * Portal-Komponenten. Farben und Abstände kommen aus theme.json (fkr-portal-Theme) mit Fallbacks,
 * damit das Plugin auch unter einem anderen Block-Theme lesbar bleibt.
 * Ziel: WCAG 2.2 AA. Kontraste geprüft: Text #203446 auf #FFFFFF 12.9:1, Petrol #087E87 auf Weiß 4.9:1.
 */
:root {
	--fkr-ink: var(--wp--preset--color--ink, #010F3B);
	--fkr-primary: var(--wp--preset--color--primary, #0036D8);
	--fkr-primary-dark: var(--wp--preset--color--primary-dark, #0029A6);
	--fkr-surface: var(--wp--preset--color--surface, #F3F5F9);
	--fkr-line: var(--wp--preset--color--line, #DDE3EC);
	--fkr-white: var(--wp--preset--color--white, #FFFFFF);
	--fkr-accent: var(--wp--preset--color--accent, #2BD6CA);
	--fkr-text: var(--wp--preset--color--ink, #010F3B);
	--fkr-muted: var(--wp--preset--color--muted, #4A5570);
	--fkr-danger: var(--wp--preset--color--danger, #B42318);
	--fkr-warn-bg: #FFF6E5;
	--fkr-ok: #1C6B3A;
	--fkr-radius: 4px;
	--fkr-s1: 4px; --fkr-s2: 8px; --fkr-s3: 12px; --fkr-s4: 16px; --fkr-s5: 24px; --fkr-s6: 32px;
	--fkr-shadow: 0 1px 2px rgba(20, 43, 67, .06), 0 1px 1px rgba(20, 43, 67, .04);
	--fkr-focus: 0 0 0 3px var(--fkr-white), 0 0 0 5px var(--fkr-primary);
}

.fkr-block { color: var(--fkr-text); }
.fkr-block :focus-visible, .fkr-dialog :focus-visible { outline: none; box-shadow: var(--fkr-focus); border-radius: 3px; }

/* Kopf */
.fkr-pagehead { margin: 0 0 var(--fkr-s5); }
.fkr-pagehead h1 { margin: 0; font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.1rem); line-height: 1.2; color: var(--fkr-ink); letter-spacing: -.01em; }
.fkr-eyebrow { margin: 0 0 var(--fkr-s1); text-transform: uppercase; font-size: .75rem; letter-spacing: .08em; color: var(--fkr-muted); font-weight: 600; }
.fkr-lead { margin: var(--fkr-s2) 0 0; color: var(--fkr-muted); max-width: 70ch; }
.fkr-meta { color: var(--fkr-muted); font-size: .85rem; }
.fkr-footnote { margin-top: var(--fkr-s6); font-size: .85rem; color: var(--fkr-muted); border-top: 1px solid var(--fkr-line); padding-top: var(--fkr-s3); }

/* Navigation */
.fkr-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.fkr-nav { min-width: 0; }
.fkr-nav a { display: block; padding: 10px 14px; border-radius: var(--fkr-radius); color: var(--fkr-white); text-decoration: none; font-weight: 500; border-left: 3px solid transparent; }
.fkr-nav a:hover { background: rgba(255, 255, 255, .08); }
.fkr-nav a[aria-current="page"] { background: rgba(255, 255, 255, .12); border-left-color: var(--fkr-accent); font-weight: 650; }
@media (max-width: 781px) {
	.fkr-nav ul { flex-direction: row; overflow-x: auto; gap: var(--fkr-s1); -webkit-overflow-scrolling: touch; }
	.fkr-nav a { white-space: nowrap; border-left: 0; border-bottom: 3px solid transparent; }
	.fkr-nav a[aria-current="page"] { border-bottom-color: var(--fkr-accent); }
}
.fkr-usermenu .fkr-btn { min-height: 36px; padding: 6px 14px; }
.fkr-usermenu { display: flex; align-items: center; gap: var(--fkr-s3); flex-wrap: wrap; }
.fkr-usermenu__name { font-weight: 600; color: inherit; text-decoration: none; }

.fkr-breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; gap: var(--fkr-s2); padding: 0; margin: 0 0 var(--fkr-s3); font-size: .85rem; color: var(--fkr-muted); }
.fkr-breadcrumb li + li::before { content: "/"; margin-right: var(--fkr-s2); color: var(--fkr-line); }
.fkr-breadcrumb a { color: var(--fkr-primary-dark); }

/* Raster und Kacheln */
.fkr-grid { display: grid; gap: var(--fkr-s4); }
.fkr-grid--cockpit { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.fkr-grid--room { grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr); }
@media (max-width: 900px) { .fkr-grid--room { grid-template-columns: 1fr; } }

.fkr-tile, .fkr-panel, .fkr-card { background: var(--fkr-white); border: 1px solid var(--fkr-line); border-radius: var(--fkr-radius); box-shadow: var(--fkr-shadow); }
.fkr-tile { display: flex; flex-direction: column; padding: var(--fkr-s4) var(--fkr-s5); }
.fkr-tile__head { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px solid var(--fkr-line); padding-bottom: var(--fkr-s2); margin-bottom: var(--fkr-s3); }
.fkr-tile__head h2 { margin: 0; font-size: 1rem; color: var(--fkr-ink); }
.fkr-tile__count { font-variant-numeric: tabular-nums; font-weight: 700; color: var(--fkr-primary-dark); }
.fkr-tile__body { flex: 1; }
.fkr-tile__more { margin-top: var(--fkr-s3); font-size: .9rem; font-weight: 600; color: var(--fkr-primary-dark); text-decoration: none; }
.fkr-tile__more:hover { text-decoration: underline; }
.fkr-panel { padding: var(--fkr-s5); margin-bottom: var(--fkr-s4); }
.fkr-panel h2 { margin-top: 0; font-size: 1.15rem; color: var(--fkr-ink); }
.fkr-panel h3 { font-size: 1rem; margin: var(--fkr-s5) 0 var(--fkr-s2); color: var(--fkr-ink); }

.fkr-list { list-style: none; margin: 0; padding: 0; }
.fkr-list li { display: flex; flex-wrap: wrap; align-items: center; gap: var(--fkr-s2); padding: var(--fkr-s2) 0; border-bottom: 1px solid var(--fkr-surface); }
.fkr-list li:last-child { border-bottom: 0; }
.fkr-list a { color: var(--fkr-text); font-weight: 600; }
.fkr-list small { color: var(--fkr-muted); margin-left: auto; }

.fkr-cards { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--fkr-s4); grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.fkr-card { padding: var(--fkr-s4) var(--fkr-s5); }
.fkr-card__title { font-size: 1.05rem; margin: 0 0 var(--fkr-s2); }
.fkr-card__title a { color: var(--fkr-ink); text-decoration: none; }
.fkr-card__title a:hover { text-decoration: underline; }
.fkr-card__meta { display: flex; flex-wrap: wrap; gap: var(--fkr-s2); align-items: center; margin: 0; }
.fkr-card__text { color: var(--fkr-muted); margin: var(--fkr-s3) 0 0; }

.fkr-badge, .fkr-label { display: inline-block; font-size: .75rem; line-height: 1.4; padding: 2px 8px; border-radius: 999px; background: var(--fkr-surface); color: var(--fkr-text); border: 1px solid var(--fkr-line); }
.fkr-badge--strong { background: var(--fkr-ink); color: var(--fkr-white); border-color: var(--fkr-ink); }
.fkr-badge--warn { background: var(--fkr-warn-bg); border-color: #D9A23A; color: #6B4A10; text-decoration: none; font-weight: 600; }
.fkr-label--confidential { background: #FBEDEC; border-color: #E2B7B5; color: #7A1F22; }
.fkr-label--members { background: #E8EEFF; border-color: #B7C7F5; color: #0029A6; }
.fkr-count { font-size: .85rem; color: var(--fkr-muted); font-weight: 500; }

.fkr-people { list-style: none; margin: 0; padding: 0; }
.fkr-people li { display: flex; align-items: center; gap: var(--fkr-s3); padding: var(--fkr-s2) 0; border-bottom: 1px solid var(--fkr-surface); flex-wrap: wrap; }
.fkr-people small { display: block; color: var(--fkr-muted); }
.fkr-avatar { width: 36px; height: 36px; flex: 0 0 36px; border-radius: 50%; background: var(--fkr-surface); color: var(--fkr-ink); display: grid; place-items: center; font-weight: 700; border: 1px solid var(--fkr-line); }

/* Zustände */
.fkr-state { text-align: center; padding: var(--fkr-s5) var(--fkr-s4); color: var(--fkr-muted); }
.fkr-state__icon { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--fkr-surface); color: var(--fkr-ink); font-weight: 700; margin-bottom: var(--fkr-s2); }
.fkr-state__title { margin: 0 0 var(--fkr-s1); font-size: 1rem; color: var(--fkr-text); }
.fkr-state p { margin: 0 auto; max-width: 52ch; }
.fkr-state--error .fkr-state__icon, .fkr-state--forbidden .fkr-state__icon { background: #FBEDEC; color: var(--fkr-danger); }
.fkr-alert { border-left: 4px solid var(--fkr-primary); background: var(--fkr-surface); padding: var(--fkr-s3) var(--fkr-s4); border-radius: 0 var(--fkr-radius) var(--fkr-radius) 0; margin-bottom: var(--fkr-s4); }
.fkr-alert--warn { border-left-color: #D9A23A; background: var(--fkr-warn-bg); }
.fkr-alert a, .fkr-prose a { color: var(--fkr-primary-dark); font-weight: 600; }
.fkr-ok { color: var(--fkr-ok); font-weight: 600; }

/* Formulare */
.fkr-form { display: grid; gap: var(--fkr-s3); max-width: 780px; }
.fkr-form[aria-busy="true"] { opacity: .7; }
.fkr-form--inline { display: inline-flex; margin: 0 var(--fkr-s1) var(--fkr-s1) 0; }
.fkr-form--inline .fkr-form__status:empty { display: none; }
.fkr-fieldrow { display: grid; grid-template-columns: minmax(0, 1fr) 200px; gap: var(--fkr-s3); align-items: start; padding-bottom: var(--fkr-s3); border-bottom: 1px solid var(--fkr-surface); }
@media (max-width: 640px) { .fkr-fieldrow { grid-template-columns: 1fr; } }
.fkr-field { display: grid; gap: var(--fkr-s1); }
.fkr-field label { font-weight: 600; font-size: .9rem; }
.fkr-field__hint { font-size: .8rem; color: var(--fkr-muted); }
.fkr-field input:not([type="checkbox"]), .fkr-field select, .fkr-field textarea {
	font: inherit; color: var(--fkr-text); background: var(--fkr-white); border: 1px solid #9FB2C0; border-radius: var(--fkr-radius); padding: 9px 11px; min-height: 44px; width: 100%; box-sizing: border-box;
}
.fkr-field select[multiple] { min-height: 120px; }
.fkr-field input:focus-visible, .fkr-field select:focus-visible, .fkr-field textarea:focus-visible { border-color: var(--fkr-primary); }
.fkr-field--check { grid-template-columns: auto 1fr; align-items: start; gap: var(--fkr-s2); }
.fkr-field--check input { width: 20px; height: 20px; margin-top: 2px; }
.fkr-field--check label { font-weight: 400; }
.fkr-form__actions { display: flex; gap: var(--fkr-s2); flex-wrap: wrap; }
.fkr-form__status { margin: 0; font-size: .9rem; min-height: 1.2em; }
.fkr-form__status.is-ok { color: var(--fkr-ok); }
.fkr-form__status.is-error { color: var(--fkr-danger); font-weight: 600; }

.fkr-btn { font: inherit; font-weight: 600; font-size: .95rem; min-height: 44px; padding: 9px 18px; border-radius: var(--fkr-radius); border: 1px solid transparent; cursor: pointer; display: inline-flex; align-items: center; gap: var(--fkr-s2); text-decoration: none; line-height: 1.2; }
.fkr-btn--primary { background: var(--fkr-primary); color: var(--fkr-white); }
.fkr-btn--primary:hover { background: var(--fkr-primary-dark); }
.fkr-btn--ghost { background: transparent; border-color: currentColor; color: inherit; }
.fkr-btn--danger { background: var(--fkr-white); color: var(--fkr-danger); border-color: var(--fkr-danger); }
.fkr-btn--danger:hover { background: #FBEDEC; }
.fkr-btn:disabled { opacity: .55; cursor: wait; }
.fkr-form--inline .fkr-btn { min-height: 36px; padding: 5px 12px; font-size: .85rem; }

.fkr-details { margin-top: var(--fkr-s4); border: 1px solid var(--fkr-line); border-radius: var(--fkr-radius); padding: var(--fkr-s3) var(--fkr-s4); }
.fkr-details summary { cursor: pointer; font-weight: 600; color: var(--fkr-primary-dark); }
.fkr-details[open] summary { margin-bottom: var(--fkr-s3); }
.fkr-details--danger summary { color: var(--fkr-danger); }
.fkr-mfa code, .fkr-mfa__secret { font-size: 1.1rem; letter-spacing: .08em; background: var(--fkr-surface); padding: 6px 10px; border-radius: 4px; word-break: break-all; }

/* Tabellen */
.fkr-tablewrap { position: relative; overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--fkr-line); border-radius: var(--fkr-radius); }
.fkr-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.fkr-table th, .fkr-table td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--fkr-surface); vertical-align: top; }
.fkr-table thead th { background: var(--fkr-surface); font-weight: 650; color: var(--fkr-ink); white-space: nowrap; }
.fkr-table tbody tr:hover { background: #F7FAFB; }

.fkr-dialog { border: 1px solid var(--fkr-line); border-radius: 8px; padding: var(--fkr-s5); max-width: 440px; color: var(--fkr-text); }
.fkr-dialog::backdrop { background: rgba(20, 43, 67, .45); }
.fkr-dialog h2 { margin-top: 0; font-size: 1.1rem; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

/* Markenschriften: Überschriften Noto Serif, Fließtext Arimo (aus theme.json) */
.fkr-pagehead h1, .fkr-panel h2, .fkr-tile__head h2, .fkr-card__title, .fkr-state__title, .fkr-dialog h2 { font-family: var(--wp--preset--font-family--noto-serif, Georgia, serif); }
.fkr-block, .fkr-btn, .fkr-field input, .fkr-field select, .fkr-field textarea { font-family: var(--wp--preset--font-family--arimo, Arial, sans-serif); }

/* ==========================================================================
   Inkrement 2: Navigation mit Gruppen, Cockpit, Module
   ========================================================================== */
.fkr-nav__group { margin: 18px 14px 6px; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .5); font-weight: 700; }
.fkr-nav__group:first-child { margin-top: 4px; }
.fkr-nav a { display: flex; align-items: center; gap: 12px; padding: 9px 12px; font-size: .92rem; }
.fkr-nav a .fkr-ico { flex: 0 0 18px; opacity: .8; }
.fkr-nav a[aria-current="page"] .fkr-ico { opacity: 1; }
.fkr-nav a span:not(.fkr-nav__badge) { flex: 1; min-width: 0; }
.fkr-nav__badge { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--fkr-primary); color: #fff; font-size: .72rem; font-weight: 700; display: inline-grid; place-items: center; box-sizing: border-box; }
@media (max-width: 781px) {
	.fkr-nav { display: flex; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.fkr-nav__group { display: none; }
	.fkr-nav ul { flex-wrap: nowrap; }
	.fkr-nav a .fkr-ico { display: none; }
}

/* Kopf, Rücksprung, Artikel */
.fkr-backlink { margin: 0 0 var(--fkr-s4); font-size: .9rem; }
.fkr-backlink a { color: var(--fkr-primary-dark); font-weight: 600; text-decoration: none; }
.fkr-backlink a:hover { text-decoration: underline; }
.fkr-detail { max-width: 980px; }
.fkr-prose { line-height: 1.65; }
.fkr-prose > :first-child { margin-top: 0; }
.fkr-prose h2 { font-size: 1.2rem; margin: 1.6em 0 .5em; color: var(--fkr-ink); }
.fkr-prose ul, .fkr-prose ol { padding-left: 1.3em; }
.fkr-prose li { margin: .35em 0; }
.fkr-panel__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--fkr-s3); flex-wrap: wrap; }
.fkr-panel__head h2 { margin-bottom: var(--fkr-s2); }

/* Cockpit: Kopfband */
.fkr-welcome { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 340px); background: #06123A; color: #fff; border-radius: var(--fkr-radius); overflow: hidden; margin-bottom: var(--fkr-s4); }
.fkr-welcome__main { padding: clamp(24px, 3vw, 40px); }
.fkr-welcome__date { margin: 0 0 6px; font-size: .85rem; color: rgba(255, 255, 255, .7); }
.fkr-welcome h1 { margin: 0; color: #fff; font-family: var(--wp--preset--font-family--noto-serif, Georgia, serif); font-size: clamp(1.6rem, 1.2rem + 1.4vw, 2.3rem); line-height: 1.2; }
.fkr-welcome__lead { margin: 10px 0 0; color: rgba(255, 255, 255, .82); max-width: 60ch; }
.fkr-welcome__lead a { color: #fff; font-weight: 700; }
.fkr-welcome__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.fkr-welcome__side { background: var(--fkr-primary); padding: clamp(22px, 2.6vw, 34px); display: flex; flex-direction: column; justify-content: center; }
.fkr-welcome__label { margin: 0; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: rgba(255, 255, 255, .78); }
.fkr-welcome__event { margin: 8px 0 6px; font-family: var(--wp--preset--font-family--noto-serif, Georgia, serif); font-size: 1.2rem; line-height: 1.3; }
.fkr-welcome__event a { color: #fff; }
.fkr-welcome__meta { margin: 0; font-size: .88rem; color: rgba(255, 255, 255, .85); line-height: 1.5; }
.fkr-btn--light { background: #fff; color: var(--fkr-ink); }
.fkr-btn--light:hover { background: #E8EEFF; }
.fkr-btn--outline { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .55); }
.fkr-btn--outline:hover { border-color: #fff; background: rgba(255, 255, 255, .08); }
@media (max-width: 900px) { .fkr-welcome { grid-template-columns: 1fr; } }

/* Kennzahlen */
.fkr-kpis { list-style: none; margin: 0 0 var(--fkr-s4); padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--fkr-line); border: 1px solid var(--fkr-line); border-radius: var(--fkr-radius); overflow: hidden; }
.fkr-kpis li { background: var(--fkr-white); }
.fkr-kpis a { display: block; padding: 18px 22px; text-decoration: none; color: var(--fkr-text); height: 100%; box-sizing: border-box; }
.fkr-kpis a:hover { background: #F7F9FC; }
.fkr-kpi__n { display: block; font-family: var(--wp--preset--font-family--noto-serif, Georgia, serif); font-size: 1.9rem; line-height: 1.1; color: var(--fkr-ink); font-variant-numeric: tabular-nums; }
.fkr-kpi__l { display: block; margin-top: 4px; font-size: .85rem; color: var(--fkr-muted); }
@media (max-width: 900px) { .fkr-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Spalten */
.fkr-cols { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, 1fr); gap: var(--fkr-s4); align-items: start; }
.fkr-cols__main, .fkr-cols__side { display: grid; gap: var(--fkr-s4); min-width: 0; }
@media (max-width: 1100px) { .fkr-cols { grid-template-columns: 1fr; } }

/* Mitteilungen */
.fkr-feed { list-style: none; margin: 0; padding: 0; }
.fkr-feed__item { padding: 14px 0; border-bottom: 1px solid var(--fkr-line); }
.fkr-feed__item:first-child { padding-top: 0; }
.fkr-feed__item:last-child { border-bottom: 0; padding-bottom: 0; }
.fkr-feed__meta { margin: 0 0 4px; font-size: .8rem; color: var(--fkr-muted); display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.fkr-feed__title { margin: 0; font-size: 1.02rem; line-height: 1.35; font-family: var(--wp--preset--font-family--noto-serif, Georgia, serif); }
.fkr-feed__title a { color: var(--fkr-ink); text-decoration: none; }
.fkr-feed__title a:hover { text-decoration: underline; }
.fkr-feed__text { margin: 6px 0 0; color: var(--fkr-muted); font-size: .92rem; line-height: 1.5; }
.fkr-feed--large .fkr-feed__item { padding: 20px 0; }
.fkr-feed--large .fkr-feed__title { font-size: 1.2rem; }
.fkr-new, .fkr-pin { font-size: .7rem; font-weight: 700; padding: 1px 7px; border-radius: 3px; letter-spacing: .02em; }
.fkr-new { background: var(--fkr-primary); color: #fff; }
.fkr-pin { background: var(--fkr-surface); color: var(--fkr-ink); border: 1px solid var(--fkr-line); }

/* Fahrplan */
.fkr-phases { list-style: none; margin: 0; padding: 0; counter-reset: none; }
.fkr-phase { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 14px; padding: 12px 0; border-top: 1px solid var(--fkr-line); }
.fkr-phase:first-child { border-top: 0; padding-top: 4px; }
.fkr-phase__no { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: .85rem; border: 1px solid #9FB2C0; color: var(--fkr-ink); background: var(--fkr-white); }
.fkr-phase.is-active .fkr-phase__no { background: var(--fkr-primary); border-color: var(--fkr-primary); color: #fff; }
.fkr-phase.is-done .fkr-phase__no { background: var(--fkr-ink); border-color: var(--fkr-ink); color: #fff; }
.fkr-phase__title { margin: 4px 0 0; font-weight: 700; color: var(--fkr-ink); }
.fkr-phase__state { font-weight: 400; color: var(--fkr-muted); font-size: .85rem; margin-left: 6px; }
.fkr-phase.is-active .fkr-phase__state { color: var(--fkr-primary-dark); font-weight: 600; }
.fkr-phase__desc { margin: 4px 0 0; color: var(--fkr-muted); font-size: .92rem; }
.fkr-phase__note { margin: 8px 0 0; font-size: .9rem; padding: 8px 12px; background: var(--fkr-surface); border-left: 3px solid var(--fkr-primary); }
.fkr-phases--compact .fkr-phase { padding: 9px 0; }
.fkr-phases--compact .fkr-phase__title { margin-top: 5px; font-size: .95rem; }

/* Erste Schritte */
.fkr-progress { height: 6px; background: var(--fkr-surface); border-radius: 3px; overflow: hidden; margin-bottom: 6px; }
.fkr-progress span { display: block; height: 100%; background: var(--fkr-primary); }
.fkr-checklist { list-style: none; margin: 10px 0 0; padding: 0; }
.fkr-checklist li { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--fkr-surface); font-size: .93rem; }
.fkr-checklist li:last-child { border-bottom: 0; }
.fkr-checklist a { color: var(--fkr-primary-dark); font-weight: 600; }
.fkr-check { width: 18px; height: 18px; flex: 0 0 18px; border: 1.5px solid #9FB2C0; border-radius: 50%; box-sizing: border-box; position: relative; }
.fkr-checklist .is-done { color: var(--fkr-muted); }
.fkr-checklist .is-done .fkr-check { background: var(--fkr-ok); border-color: var(--fkr-ok); }
.fkr-checklist .is-done .fkr-check::after { content: ""; position: absolute; left: 5px; top: 2px; width: 4px; height: 8px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }

/* Termine */
.fkr-datebox { flex: 0 0 52px; width: 52px; height: 56px; border: 1px solid var(--fkr-line); border-top: 4px solid var(--fkr-primary); border-radius: 3px; display: grid; place-items: center; align-content: center; background: var(--fkr-white); line-height: 1; box-sizing: border-box; }
.fkr-datebox b { font-size: 1.25rem; color: var(--fkr-ink); font-family: var(--wp--preset--font-family--noto-serif, Georgia, serif); }
.fkr-datebox small { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: var(--fkr-muted); margin-top: 3px; }
.fkr-datebox--open { border-top-color: #9FB2C0; }
.fkr-evlist, .fkr-evitems { list-style: none; margin: 0; padding: 0; }
.fkr-evrow { display: flex; gap: 12px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--fkr-surface); }
.fkr-evrow:last-child { border-bottom: 0; }
.fkr-evrow a { font-weight: 600; color: var(--fkr-ink); text-decoration: none; display: block; line-height: 1.35; }
.fkr-evrow a:hover { text-decoration: underline; }
.fkr-evrow small { color: var(--fkr-muted); font-size: .82rem; }
.fkr-evitem { display: flex; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--fkr-line); }
.fkr-evitem:first-child { padding-top: 4px; }
.fkr-evitem:last-child { border-bottom: 0; }
.fkr-evitem__meta { margin: 0; font-size: .8rem; color: var(--fkr-muted); }
.fkr-evitem__title { margin: 4px 0; font-size: 1.12rem; font-family: var(--wp--preset--font-family--noto-serif, Georgia, serif); }
.fkr-evitem__title a { color: var(--fkr-ink); text-decoration: none; }
.fkr-evitem__title a:hover { text-decoration: underline; }
.fkr-evitem__when { margin: 0; font-size: .92rem; }
.is-cancelled .fkr-evitem__title a, .is-cancelled > div > a { text-decoration: line-through; color: var(--fkr-muted); }
.fkr-details--plain summary { cursor: pointer; font-weight: 700; color: var(--fkr-ink); }
.fkr-details--plain[open] summary { margin-bottom: var(--fkr-s3); }
.fkr-kv { margin: 0 0 var(--fkr-s4); display: grid; gap: 10px; }
.fkr-kv div { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--fkr-surface); }
.fkr-kv dt { font-size: .82rem; color: var(--fkr-muted); }
.fkr-kv dd { margin: 0; font-weight: 600; }

/* Einreichungen */
.fkr-fieldrow--even { grid-template-columns: 1fr 1fr; border-bottom: 0; padding-bottom: 0; }
@media (max-width: 640px) { .fkr-fieldrow--even { grid-template-columns: 1fr; } }
.fkr-subs { list-style: none; margin: 0; padding: 0; }
.fkr-subs li { padding: 12px 0; border-bottom: 1px solid var(--fkr-surface); }
.fkr-subs li:last-child { border-bottom: 0; }
.fkr-sub__title { margin: 0 0 6px; font-weight: 600; color: var(--fkr-ink); }
.fkr-sub__reply { margin: 8px 0 0; font-size: .9rem; background: var(--fkr-surface); padding: 8px 10px; }
.fkr-status { display: inline-block; font-size: .75rem; font-weight: 700; padding: 2px 8px; border-radius: 3px; background: var(--fkr-surface); border: 1px solid var(--fkr-line); }
.fkr-status--review { background: #E8EEFF; border-color: #B7C7F5; color: var(--fkr-primary-dark); }
.fkr-status--adopted { background: #E6F4EA; border-color: #A8D5B5; color: var(--fkr-ok); }

/* Fachgebiete */
.fkr-domains__summary { margin: 0 0 var(--fkr-s3); }
.fkr-domains { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--fkr-s4); }
@media (max-width: 1100px) { .fkr-domains { grid-template-columns: 1fr; } }
.fkr-domains__cluster { background: var(--fkr-white); border: 1px solid var(--fkr-line); border-radius: var(--fkr-radius); padding: 18px 22px; }
.fkr-domains__cluster h2 { margin: 0 0 6px; font-size: 1.1rem; color: var(--fkr-ink); font-family: var(--wp--preset--font-family--noto-serif, Georgia, serif); }
.fkr-domains__cluster ul { list-style: none; margin: 0; padding: 0; }
.fkr-domain { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 0; border-top: 1px solid var(--fkr-surface); }
.fkr-domain__text { display: grid; grid-template-columns: 34px minmax(0, 1fr); column-gap: 8px; min-width: 0; }
.fkr-domain__title { font-weight: 600; color: var(--fkr-ink); }
.fkr-domain__meta { grid-column: 2; font-size: .8rem; color: var(--fkr-muted); }
.fkr-code { font-variant-numeric: tabular-nums; font-size: .8rem; font-weight: 700; color: var(--fkr-primary-dark); padding-top: 2px; }
.fkr-domain__toggle { margin: 0; flex: 0 0 auto; }
.fkr-domain__toggle .fkr-form__status { display: none; }
.fkr-domain__toggle .fkr-btn { white-space: nowrap; background: var(--fkr-white); color: var(--fkr-primary-dark); border-color: var(--fkr-primary); }
.fkr-domain__toggle .fkr-btn:hover { background: #E8EEFF; }
.fkr-domain__toggle.is-on .fkr-btn { background: var(--fkr-primary); color: #fff; }
.fkr-domain__toggle.is-on .fkr-btn::before { content: "✓"; }
.fkr-list--plain li { gap: 8px; }

/* Mitglieder */
.fkr-toolbar { display: flex; flex-wrap: wrap; gap: var(--fkr-s3) var(--fkr-s4); align-items: end; justify-content: space-between; margin-bottom: var(--fkr-s4); }
.fkr-field--search { min-width: min(100%, 360px); }
.fkr-field--search input { font: inherit; border: 1px solid #9FB2C0; border-radius: var(--fkr-radius); padding: 9px 11px; min-height: 44px; width: 100%; box-sizing: border-box; background: var(--fkr-white); }
.fkr-toolbar .fkr-meta { margin: 0 0 10px; }
.fkr-people-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--fkr-s3); }
.fkr-person { display: flex; gap: 14px; align-items: flex-start; background: var(--fkr-white); border: 1px solid var(--fkr-line); border-radius: var(--fkr-radius); padding: 16px 18px; }
.fkr-person[hidden] { display: none; }
.fkr-person__avatar { width: 44px; height: 44px; flex: 0 0 44px; border-radius: 50%; background: #06123A; color: #fff; display: grid; place-items: center; font-weight: 700; font-size: .9rem; letter-spacing: .02em; }
.fkr-person__name { margin: 2px 0 0; font-weight: 700; color: var(--fkr-ink); }
.fkr-person__sub { margin: 2px 0 0; font-size: .88rem; color: var(--fkr-text); }
.fkr-person__exp { margin: 6px 0 0; font-size: .84rem; color: var(--fkr-muted); }

/* Bibliothek */
.fkr-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.fkr-chip { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border: 1px solid var(--fkr-line); border-radius: 999px; background: var(--fkr-white); color: var(--fkr-text); text-decoration: none; font-size: .88rem; font-weight: 600; }
.fkr-chip span { color: var(--fkr-muted); font-weight: 400; }
.fkr-chip:hover { border-color: var(--fkr-primary); }
.fkr-chip[aria-current="true"] { background: var(--fkr-ink); border-color: var(--fkr-ink); color: #fff; }
.fkr-chip[aria-current="true"] span { color: rgba(255, 255, 255, .7); }
.fkr-search { display: flex; gap: 8px; }
.fkr-search input { font: inherit; border: 1px solid #9FB2C0; border-radius: var(--fkr-radius); padding: 9px 11px; min-height: 44px; width: min(320px, 60vw); box-sizing: border-box; background: var(--fkr-white); }
.fkr-docs { list-style: none; margin: 0; padding: 0; }
.fkr-doc { display: flex; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--fkr-line); }
.fkr-doc:first-child { padding-top: 0; }
.fkr-doc:last-child { border-bottom: 0; padding-bottom: 0; }
.fkr-doc__icon { flex: 0 0 40px; width: 40px; height: 40px; border-radius: var(--fkr-radius); background: var(--fkr-surface); color: var(--fkr-primary-dark); display: grid; place-items: center; }
.fkr-doc__icon .fkr-ico { width: 20px; height: 20px; }
.fkr-doc__title { margin: 0; font-size: 1.05rem; font-family: var(--wp--preset--font-family--noto-serif, Georgia, serif); }
.fkr-doc__title a { color: var(--fkr-ink); text-decoration: none; }
.fkr-doc__title a:hover { text-decoration: underline; }
.fkr-doc__text { margin: 4px 0 0; color: var(--fkr-text); font-size: .93rem; }
.fkr-doc__meta { margin: 4px 0 0; color: var(--fkr-muted); font-size: .8rem; }
@media (max-width: 640px) { .fkr-search { width: 100%; } .fkr-search input { flex: 1; width: auto; } }
.fkr-tile .fkr-state { padding: 12px 4px 4px; }
.fkr-tile .fkr-state__icon { width: 32px; height: 32px; margin-bottom: 4px; }
.fkr-tile .fkr-state p { font-size: .9rem; }
.fkr-tile .fkr-state .fkr-btn { min-height: 38px; padding: 7px 14px; font-size: .88rem; margin-top: 10px; }

/* Abgrenzung gegen Website-Stile des Themes (gleichnamige Klassen) */
.fkr-shell__content .fkr-eyebrow { margin: 0 0 6px !important; font-size: .75rem; letter-spacing: .1em; color: var(--fkr-muted); }
.fkr-shell__content .fkr-lead { font-size: 1rem; line-height: 1.6; color: var(--fkr-muted); margin-top: 8px; }
.fkr-shell__content .fkr-cards { grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--fkr-s4); }
.fkr-shell__content .fkr-card h3::before { display: none; }
.fkr-shell__content .fkr-card > * + * { margin-top: var(--fkr-s2) !important; }
.fkr-list--plain li { flex-wrap: nowrap; align-items: baseline; }
@media (max-width: 781px) { .fkr-nav li { flex: 0 0 auto; } .fkr-nav__badge { margin-left: 6px; } }

/* ==========================================================================
   Großzügigere Abstände (12.10.2026): 8-px-Raster, Abschnittsabstand 32 bis 40 px
   ========================================================================== */
.fkr-shell .fkr-shell__content { padding: clamp(32px, 4vw, 56px) clamp(24px, 4.5vw, 72px) clamp(48px, 6vw, 88px); max-width: 1400px; }
.fkr-block { line-height: 1.6; }
.fkr-pagehead { margin-bottom: 40px; }
.fkr-shell__content .fkr-lead { margin-top: 14px; max-width: 72ch; }
.fkr-welcome { margin-bottom: 32px; }
.fkr-welcome__main { padding: clamp(32px, 4vw, 56px); }
.fkr-welcome__side { padding: clamp(28px, 3.5vw, 48px); }
.fkr-welcome__lead { margin-top: 14px; }
.fkr-welcome__actions { margin-top: 32px; gap: 16px; }
.fkr-kpis { margin-bottom: 40px; }
.fkr-kpis a { padding: 26px 32px; }
.fkr-kpi__l { margin-top: 8px; }
.fkr-cols, .fkr-cols__main, .fkr-cols__side { gap: 32px; }
.fkr-grid { gap: 32px; }
.fkr-tile { padding: 28px 32px 30px; }
.fkr-tile__head { padding-bottom: 14px; margin-bottom: 20px; }
.fkr-tile__more { margin-top: 20px; }
.fkr-panel { padding: clamp(24px, 3vw, 40px); margin-bottom: 32px; }
.fkr-panel h2 { margin-bottom: 16px; }
.fkr-feed__item { padding: 20px 0; }
.fkr-feed--large .fkr-feed__item { padding: 28px 0; }
.fkr-feed__text { margin-top: 8px; }
.fkr-list li { padding: 12px 0; }
.fkr-phase { padding: 16px 0; gap: 18px; }
.fkr-phases--compact .fkr-phase { padding: 12px 0; }
.fkr-checklist { margin-top: 16px; }
.fkr-checklist li { padding: 12px 0; }
.fkr-evrow { padding: 12px 0; gap: 16px; }
.fkr-evitem { padding: 24px 0; gap: 24px; }
.fkr-domains { gap: 32px; }
.fkr-domains__summary { margin-bottom: 24px; }
.fkr-domains__cluster { padding: 28px 32px 20px; }
.fkr-domains__cluster h2 { margin-bottom: 12px; }
.fkr-domain { padding: 16px 0; gap: 20px; }
.fkr-toolbar { margin-bottom: 32px; gap: 16px 24px; }
.fkr-people-grid { gap: 24px; }
.fkr-person { padding: 24px 26px; gap: 18px; }
.fkr-docs .fkr-doc { padding: 24px 0; gap: 20px; }
.fkr-docs .fkr-doc:first-child { padding-top: 4px; }
.fkr-subs li { padding: 16px 0; }
.fkr-form { gap: 20px; }
.fkr-fieldrow { gap: 20px; padding-bottom: 20px; }
.fkr-details { margin-top: 24px; padding: 16px 20px; }
.fkr-footnote { margin-top: 48px; padding-top: 20px; }
.fkr-kv { gap: 14px; }
.fkr-kv div { padding-bottom: 14px; }
.fkr-nav__group { margin: 28px 14px 8px; }
.fkr-nav ul { gap: 4px; }
.fkr-nav a { padding: 10px 14px; }
@media (max-width: 781px) {
	.fkr-shell .fkr-shell__content { padding: 24px 16px 48px; }
	.fkr-tile, .fkr-domains__cluster { padding: 22px 20px; }
	.fkr-kpis a { padding: 20px; }
	.fkr-welcome__main, .fkr-welcome__side { padding: 28px 22px; }
	.fkr-cols, .fkr-cols__main, .fkr-cols__side, .fkr-grid, .fkr-domains { gap: 24px; }
}

/* ==========================================================================
   Abstimmungen (namentliche Meinungsbilder)
   ========================================================================== */
.fkr-kpis--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 700px) { .fkr-kpis--3 { grid-template-columns: 1fr; } }
.fkr-btn--dark { color: var(--fkr-ink); border-color: #9FB2C0; }
.fkr-btn--dark:hover { border-color: var(--fkr-ink); }
.fkr-btn--sm { min-height: 36px; padding: 6px 14px; font-size: .85rem; }

.fkr-vcreate { padding: 0; }
.fkr-vcreate > summary { list-style: none; cursor: pointer; padding: 22px clamp(24px, 3vw, 40px); font-weight: 700; color: var(--fkr-ink); display: flex; align-items: center; gap: 14px; font-family: var(--wp--preset--font-family--noto-serif, Georgia, serif); font-size: 1.1rem; }
.fkr-vcreate > summary::-webkit-details-marker { display: none; }
.fkr-vcreate__plus { width: 30px; height: 30px; border-radius: 50%; background: var(--fkr-primary); color: #fff; display: inline-grid; place-items: center; font-family: var(--wp--preset--font-family--arimo, Arial, sans-serif); font-size: 1.2rem; line-height: 1; transition: transform .2s ease; }
.fkr-vcreate[open] .fkr-vcreate__plus { transform: rotate(45deg); }
.fkr-vcreate[open] { padding-bottom: clamp(24px, 3vw, 40px); }
.fkr-vcreate[open] > :not(summary) { margin-left: clamp(24px, 3vw, 40px); margin-right: clamp(24px, 3vw, 40px); }
.fkr-vcreate .fkr-meta { margin-top: 0; margin-bottom: 20px; }

.fkr-vfilter { display: grid; grid-template-columns: minmax(180px, 2fr) repeat(2, minmax(150px, 1fr)) repeat(2, minmax(140px, 1fr)); gap: 16px; align-items: end; padding: 20px; background: var(--fkr-surface); border-radius: var(--fkr-radius); margin-bottom: 8px; }
.fkr-vfilter .fkr-field input, .fkr-vfilter .fkr-field select { font: inherit; border: 1px solid #9FB2C0; border-radius: var(--fkr-radius); padding: 9px 11px; min-height: 44px; width: 100%; box-sizing: border-box; background: #fff; color: var(--fkr-text); }
.fkr-vfilter__actions { grid-column: 1 / -1; display: flex; gap: 20px; align-items: center; }
.fkr-vfilter__reset { color: var(--fkr-primary-dark); font-weight: 600; font-size: .9rem; }
@media (max-width: 1100px) { .fkr-vfilter { grid-template-columns: 1fr 1fr; } .fkr-vfilter .fkr-field:first-child { grid-column: 1 / -1; } }
@media (max-width: 600px) { .fkr-vfilter { grid-template-columns: 1fr; } }

.fkr-votes { list-style: none; margin: 0; padding: 0; }
.fkr-vote { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 28px; align-items: center; padding: 28px 0; border-bottom: 1px solid var(--fkr-line); }
.fkr-vote:last-child { border-bottom: 0; padding-bottom: 0; }
.fkr-vote.is-withdrawn { opacity: .65; }
.fkr-vote__meta { margin: 0 0 6px; font-size: .82rem; color: var(--fkr-muted); }
.fkr-vote__title { margin: 0 0 10px; font-size: 1.15rem; line-height: 1.35; font-family: var(--wp--preset--font-family--noto-serif, Georgia, serif); }
.fkr-vote__title a { color: var(--fkr-ink); text-decoration: none; }
.fkr-vote__title a:hover { text-decoration: underline; }
.fkr-vote__status { margin: 10px 0 0; font-size: .9rem; color: var(--fkr-text); }
.fkr-vstatus { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .02em; padding: 2px 8px; border-radius: 3px; }
.fkr-vstatus.is-open { background: #E8EEFF; color: var(--fkr-primary-dark); }
.fkr-vstatus.is-closed { background: var(--fkr-ink); color: #fff; }
.fkr-vstatus.is-withdrawn { background: var(--fkr-surface); color: var(--fkr-muted); border: 1px solid var(--fkr-line); }
@media (max-width: 760px) {
	.fkr-vote { grid-template-columns: 72px minmax(0, 1fr); gap: 16px 18px; }
	.fkr-vote .fkr-donut { width: 72px; height: 72px; }
	.fkr-vote__cta { grid-column: 1 / -1; }
}

.fkr-donut { display: block; overflow: visible; }
.fkr-donut circle { transition: stroke-dasharray .6s ease; }
.fkr-donut__n { font-family: var(--wp--preset--font-family--noto-serif, Georgia, serif); font-size: 7.2px; font-weight: 700; fill: var(--fkr-ink); }
.fkr-donut__l { font-size: 3.6px; fill: var(--fkr-muted); font-family: var(--wp--preset--font-family--arimo, Arial, sans-serif); }

.fkr-ballot__state { margin: 0 0 20px; }
.fkr-countdown { font-size: .85rem; font-weight: 700; color: var(--fkr-primary-dark); background: #E8EEFF; padding: 4px 10px; border-radius: 3px; }
.fkr-ballot__opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.fkr-ballot__opt { display: block; margin: 0; max-width: none; }
.fkr-ballot__opt .fkr-form__actions { display: block; }
.fkr-ballot__opt .fkr-form__status { font-size: .8rem; min-height: 0; margin-top: 4px; }
.fkr-ballot__opt .fkr-btn { width: 100%; justify-content: center; min-height: 64px; font-size: 1.05rem; background: #fff; color: var(--fkr-ink); border: 2px solid var(--fkr-line); }
.fkr-ballot__opt--yes .fkr-btn:hover, .fkr-ballot__opt--yes.is-chosen .fkr-btn { border-color: #0036D8; }
.fkr-ballot__opt--no .fkr-btn:hover, .fkr-ballot__opt--no.is-chosen .fkr-btn { border-color: #B42318; }
.fkr-ballot__opt--abstain .fkr-btn:hover, .fkr-ballot__opt--abstain.is-chosen .fkr-btn { border-color: #6B768F; }
.fkr-ballot__opt--yes.is-chosen .fkr-btn { background: #0036D8; color: #fff; }
.fkr-ballot__opt--no.is-chosen .fkr-btn { background: #B42318; color: #fff; }
.fkr-ballot__opt--abstain.is-chosen .fkr-btn { background: #6B768F; color: #fff; }
.fkr-ballot__opt.is-chosen .fkr-btn::before { content: "✓"; }
.fkr-ballot__note { margin-top: 12px; }
.fkr-participation { margin-top: 4px; }
@media (max-width: 600px) { .fkr-ballot__opts { grid-template-columns: 1fr; } }

.fkr-result__grid { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 40px; align-items: center; }
@media (max-width: 640px) { .fkr-result__grid { grid-template-columns: 1fr; justify-items: center; } }
.fkr-result__outcome { margin: 0 0 16px; font-family: var(--wp--preset--font-family--noto-serif, Georgia, serif); font-size: 1.35rem; color: var(--fkr-ink); }
.fkr-result__outcome.is-adopted { color: #0029A6; }
.fkr-result__outcome.is-rejected { color: #8E1B13; }
.fkr-legend { list-style: none; margin: 0 0 12px; padding: 0; }
.fkr-legend li { display: grid; grid-template-columns: 14px minmax(0, 1fr) 48px 56px; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--fkr-surface); }
.fkr-legend__n { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
.fkr-legend__p { text-align: right; color: var(--fkr-muted); font-variant-numeric: tabular-nums; }
.fkr-dot { width: 12px; height: 12px; border-radius: 50%; display: inline-block; }
.fkr-dot--yes { background: #0036D8; } .fkr-dot--no { background: #B42318; } .fkr-dot--abstain { background: #8F9AB3; } .fkr-dot--none { background: #DDE3EC; border: 1px solid #C3CBDB; box-sizing: border-box; }

.fkr-pill { display: inline-block; font-size: .78rem; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
.fkr-pill--yes { background: #E8EEFF; color: #0029A6; }
.fkr-pill--no { background: #FBEDEC; color: #8E1B13; }
.fkr-pill--abstain { background: #EEF1F6; color: #4A5570; }
.fkr-pill--none { background: #fff; color: var(--fkr-muted); border: 1px solid var(--fkr-line); }
button.fkr-chip { font: inherit; cursor: pointer; }
.fkr-chip[aria-pressed="true"] { background: var(--fkr-ink); border-color: var(--fkr-ink); color: #fff; }
.fkr-chip[aria-pressed="true"] span { color: rgba(255, 255, 255, .7); }
.fkr-roll tbody tr[hidden] { display: none; }

.fkr-vrows { list-style: none; margin: 0; padding: 0; }
.fkr-vrow { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--fkr-surface); }
.fkr-vrow:first-child { padding-top: 0; }
.fkr-vrow:last-child { border-bottom: 0; padding-bottom: 0; }
.fkr-vrow a:not(.fkr-btn) { display: block; color: var(--fkr-ink); font-weight: 600; text-decoration: none; line-height: 1.4; }
.fkr-vrow a:not(.fkr-btn):hover { text-decoration: underline; }
.fkr-vrow small { color: var(--fkr-muted); font-size: .82rem; }
.fkr-vrow .fkr-btn { white-space: nowrap; }
.fkr-sub__vote { font-size: .85rem; font-weight: 600; color: var(--fkr-primary-dark); margin-left: 8px; }
.fkr-vfilter { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fkr-vfilter > * { min-width: 0; }
.fkr-vfilter .fkr-field:first-child { grid-column: span 2; }
.fkr-vfilter__actions { grid-column: span 2; justify-content: flex-start; }
.fkr-vfilter .fkr-field input[type="date"] { min-width: 0; }
@media (max-width: 1100px) { .fkr-vfilter { grid-template-columns: 1fr 1fr; } .fkr-vfilter .fkr-field:first-child, .fkr-vfilter__actions { grid-column: 1 / -1; } }
@media (max-width: 600px) { .fkr-vfilter { grid-template-columns: 1fr; } }
.fkr-grid--room > aside, .fkr-grid--room > .fkr-panel:last-child { align-self: start; }
.fkr-grid--room .fkr-cols__main { display: grid; gap: 32px; align-content: start; }
.fkr-grid--room .fkr-cols__main > .fkr-panel { margin-bottom: 0; }
.fkr-kv div { grid-template-columns: 120px minmax(0, 1fr); }
