/* DFB Referencer – Hvem er hvem? */
.dfb-ref-widget { font-size: .92rem; }
.dfb-ref-status { margin: .25rem 0; opacity: .75; font-style: italic; }
.dfb-ref-intro { margin: 0 0 .6em; font-size: .88em; opacity: .8; }

.dfb-ref-personer { list-style: none; margin: 0; padding: 0; }
.dfb-ref-personer li {
	display: grid;
	grid-template-columns: 14px 1fr auto;
	align-items: center;
	gap: 0 .5em;
	padding: .35em .4em;
	border-radius: 4px;
	cursor: pointer;
}
.dfb-ref-personer li:hover { background: rgba(127, 127, 127, .08); }
.dfb-ref-personer li.dfb-ref-aktiv { background: rgba(139, 26, 26, .07); }
.dfb-ref-personer li.dfb-ref-aktiv .dfb-ref-navn { font-weight: 700; }
.dfb-ref-navn { font-weight: 600; }
.dfb-ref-antal { font-variant-numeric: tabular-nums; opacity: .7; font-size: .9em; }
.dfb-ref-note { grid-column: 2 / 4; font-size: .8em; opacity: .7; margin-top: .15em; }

.dfb-ref-prik { width: 12px; height: 12px; border-radius: 50%; display: inline-block; }
.dfb-ref-f0 { background: #c0504d; }
.dfb-ref-f1 { background: #3d7ab8; }
.dfb-ref-f2 { background: #4f9a55; }
.dfb-ref-f3 { background: #d39a1c; }
.dfb-ref-f4 { background: #8a62b3; }
.dfb-ref-f5 { background: #2a9a96; }
.dfb-ref-fx { background: #9a9a9a; }

.dfb-ref-alle { display: flex; gap: .4em; align-items: center; margin: .6em 0 .2em; font-size: .88em; cursor: pointer; }

.dfb-ref-vers { margin-top: .5em; font-size: .85em; }
.dfb-ref-vers summary { cursor: pointer; opacity: .8; }
.dfb-ref-vers ol { list-style: none; margin: .4em 0 0; padding: 0; max-height: 320px; overflow-y: auto; }
.dfb-ref-vers li { padding: .2em 0; border-bottom: 1px solid rgba(127, 127, 127, .12); line-height: 1.4; }
.dfb-ref-vnr { display: inline-block; min-width: 1.6em; font-weight: 600; opacity: .6; }
.dfb-ref-par { white-space: nowrap; }

.dfb-ref-fod { margin: .6em 0 0; font-size: .75em; opacity: .55; }

/* Farver i teksten (CSS Custom Highlight API) – samme rækkefølge som prikkerne */
::highlight(dfb-ref-0) { background-color: rgba(192, 80, 77, .34); color: inherit; }
::highlight(dfb-ref-1) { background-color: rgba(61, 122, 184, .34); color: inherit; }
::highlight(dfb-ref-2) { background-color: rgba(79, 154, 85, .34); color: inherit; }
::highlight(dfb-ref-3) { background-color: rgba(211, 154, 28, .38); color: inherit; }
::highlight(dfb-ref-4) { background-color: rgba(138, 98, 179, .34); color: inherit; }
::highlight(dfb-ref-5) { background-color: rgba(42, 154, 150, .34); color: inherit; }
::highlight(dfb-ref-x) { background-color: rgba(154, 154, 154, .34); color: inherit; }

.dfb-ref-tip {
	position: absolute;
	z-index: 100000;
	padding: 4px 9px;
	border-radius: 4px;
	background: #2c2420;
	color: #fff;
	font: 13px/1.3 "Source Sans 3", system-ui, sans-serif;
	pointer-events: none;
	white-space: nowrap;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .2);
}
.dfb-ref-tip em { font-style: italic; opacity: .85; }

/* Fremdriftsbjælke under første analyse (et skøn – se referencer.js) */
.dfb-ref-fremdrift { margin: .5em 0 .2em; }
.dfb-ref-fremdrift__spor { height: 6px; border-radius: 3px; background: rgba(139, 26, 26, .12); overflow: hidden; }
.dfb-ref-fremdrift__fyld { height: 100%; width: 0; border-radius: 3px; background: #8b1a1a; transition: width .4s linear; }
.dfb-ref-fremdrift__tekst { margin-top: .3em; font-size: .78em; opacity: .65; font-variant-numeric: tabular-nums; }

/* Ikke logget ind */
.dfb-ref-laast .dfb-ref-intro { opacity: .85; }
.dfb-ref-login {
	display: inline-block;
	margin-top: .2em;
	padding: .45em .9em;
	border-radius: 999px;
	background: #8b1a1a;
	color: #fff !important;
	font-weight: 600;
	font-size: .88em;
	text-decoration: none !important;
}
.dfb-ref-login:hover { background: #6e1414; }

/* Ret farver (administrator / den der oprettede analysen) */
.dfb-ref-redig { margin: .5em 0 .2em; }
.dfb-ref-ret-knap {
	padding: .35em .8em;
	border: 1px solid #8b1a1a;
	border-radius: 999px;
	background: transparent;
	color: #8b1a1a;
	font-size: .85em;
	font-weight: 600;
	cursor: pointer;
}
.dfb-ref-retter .dfb-ref-ret-knap { background: #8b1a1a; color: #fff; }
.dfb-ref-ret-hjaelp { margin: .4em 0 0; font-size: .8em; opacity: .75; }
.dfb-ref-retter .dfb-vers-tekst { cursor: pointer; }
.dfb-ref-manuel em { text-decoration: underline dotted; }

.dfb-ref-menu {
	position: absolute;
	z-index: 100001;
	min-width: 200px;
	max-width: 280px;
	padding: 6px;
	border: 1px solid rgba(0, 0, 0, .12);
	border-radius: 6px;
	background: #fff;
	color: #222;
	font: 14px/1.3 "Source Sans 3", system-ui, sans-serif;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .18);
}
.dfb-ref-menu--gemmer { opacity: .6; pointer-events: none; }
.dfb-ref-menu__top { padding: 2px 6px 6px; font-size: .85em; opacity: .7; border-bottom: 1px solid rgba(0, 0, 0, .08); margin-bottom: 4px; }
.dfb-ref-menu__valg {
	display: flex;
	align-items: center;
	gap: .5em;
	width: 100%;
	padding: 5px 6px;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}
.dfb-ref-menu__valg:hover { background: rgba(127, 127, 127, .1); }
.dfb-ref-menu__nu { font-weight: 700; }
.dfb-ref-menu__flueben { margin-left: auto; }
.dfb-ref-menu__fjern { color: #8b1a1a; border-top: 1px solid rgba(0, 0, 0, .08); border-radius: 0 0 4px 4px; margin-top: 2px; }
.dfb-ref-menu__ny { display: flex; gap: 4px; margin-top: 6px; padding-top: 6px; border-top: 1px solid rgba(0, 0, 0, .08); }
.dfb-ref-menu__ny input { flex: 1; min-width: 0; padding: 4px 6px; border: 1px solid rgba(0, 0, 0, .2); border-radius: 4px; font: inherit; }
.dfb-ref-menu__ny button { padding: 4px 8px; border: 0; border-radius: 4px; background: #8b1a1a; color: #fff; font: inherit; cursor: pointer; }
.dfb-ref-menu__fejl { margin-top: 6px; padding: 4px 6px; font-size: .85em; color: #8b1a1a; background: rgba(139, 26, 26, .07); border-radius: 4px; }

/* Skift en persons farve */
.dfb-ref-widget--retter .dfb-ref-personer .dfb-ref-prik { cursor: pointer; box-shadow: 0 0 0 2px #fff, 0 0 0 3px rgba(0, 0, 0, .25); }
.dfb-ref-widget--retter .dfb-ref-personer .dfb-ref-prik:hover { transform: scale(1.25); }
.dfb-ref-palet__felter { display: grid; grid-template-columns: repeat(7, 26px); gap: 6px; padding: 4px 4px 8px; }
.dfb-ref-palet__felt { width: 26px; height: 26px; border: 0; border-radius: 50%; cursor: pointer; padding: 0; }
.dfb-ref-palet__felt:hover { transform: scale(1.12); }
.dfb-ref-palet__nu { box-shadow: 0 0 0 2px #fff, 0 0 0 4px #222; }
.dfb-ref-palet__egen { display: flex; align-items: center; justify-content: space-between; gap: .5em; padding: 6px 6px 2px; border-top: 1px solid rgba(0, 0, 0, .08); font-size: .9em; cursor: pointer; }
.dfb-ref-palet__egen input { width: 36px; height: 26px; padding: 0; border: 0; background: none; cursor: pointer; }
.dfb-ref-palet__std { margin-top: 4px; border-top: 1px solid rgba(0, 0, 0, .08); border-radius: 0; font-size: .9em; }

/* Standardfarve (brugerens egen farve i alle tekster) */
.dfb-ref-palet__standard { display: flex; align-items: flex-start; gap: .5em; padding: 8px 6px 4px; border-top: 1px solid rgba(0, 0, 0, .08); cursor: pointer; }
.dfb-ref-palet__standard[hidden] { display: none; }
.dfb-ref-palet__standard input { margin-top: 3px; }
.dfb-ref-palet__standard small { display: block; font-size: .8em; opacity: .7; }
.dfb-ref-palet__note { margin: 4px 6px 2px; font-size: .8em; opacity: .7; }

/* Titel for en person (v1.7.0) */
.dfb-ref-widget--retter .dfb-ref-navn { cursor: text; text-decoration: underline dotted rgba(139, 26, 26, .5); text-underline-offset: 3px; }
.dfb-ref-widget--retter .dfb-ref-navn:hover { color: #8b1a1a; }
.dfb-ref-navnemenu .dfb-ref-navnemenu__form { margin-top: 2px; padding-top: 2px; border-top: 0; }
.dfb-ref-navnemenu__ai { margin-top: 6px; border-top: 1px solid rgba(0, 0, 0, .08); border-radius: 0; font-size: .9em; }

/* Søg på tværs – [dfb_referencer_soeg] (v1.7.0) */
.dfb-ref-soeg { font-size: .95rem; }
.dfb-ref-soeg__form { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .6em .8em; align-items: end; margin: 0 0 1em; }
.dfb-ref-soeg__form label { display: flex; flex-direction: column; gap: .25em; font-size: .85em; font-weight: 600; }
.dfb-ref-soeg__form input,
.dfb-ref-soeg__form select { padding: .45em .6em; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; font: inherit; font-weight: 400; font-size: 1rem; background: #fff; min-width: 0; }
.dfb-ref-soeg__form button { padding: .55em 1.2em; border: 0; border-radius: 999px; background: #8b1a1a; color: #fff; font: inherit; font-weight: 600; cursor: pointer; justify-self: start; }
.dfb-ref-soeg__form button:hover { background: #6e1414; }
.dfb-ref-soeg__status { margin: 0 0 .6em; opacity: .75; font-style: italic; }
.dfb-ref-soeg__liste { list-style: none; margin: 0; padding: 0; }
.dfb-ref-soeg__liste li { padding: .6em 0; border-bottom: 1px solid rgba(127, 127, 127, .15); line-height: 1.5; }
.dfb-ref-soeg__ref { display: inline-block; min-width: 5.5em; margin-right: .5em; font-weight: 700; color: #8b1a1a; text-decoration: none; }
.dfb-ref-soeg__ref:hover { text-decoration: underline; }
.dfb-ref-soeg__tekst mark { background: rgba(211, 154, 28, .38); color: inherit; padding: 0 .1em; border-radius: 2px; }
.dfb-ref-soeg__hvem { display: block; margin-top: .2em; font-size: .82em; opacity: .7; }