:root { --ink:#182432; --muted:#64748b; --line:#dbe3ea; --surface:#fff; --canvas:#f5f7f9; --green:#12715b; --amber:#9a6700; --red:#b42318; --blue:#155e9c; }
* { box-sizing:border-box; }
body { margin:0; background:var(--canvas); color:var(--ink); font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
a { color:var(--blue); }
.site-header { display:flex; justify-content:space-between; align-items:center; padding:1rem max(1.25rem,calc((100% - 1120px)/2)); background:#102a43; color:#fff; }
.site-header a { color:#fff; text-decoration:none; margin-left:1rem; }
.site-header .brand { margin:0; font-weight:750; font-size:1.2rem; }
.page { max-width:1120px; margin:0 auto; padding:2rem 1.25rem 4rem; }
.page-heading { display:flex; justify-content:space-between; align-items:end; gap:1rem; }
h1,h2,h3,h4,p { margin-top:0; }
h1 { font-size:clamp(1.7rem,4vw,2.4rem); line-height:1.15; }
h2 { margin-top:2rem; }
h3 { font-size:1rem; margin-bottom:.35rem; }
h4 { font-size:1rem; margin-bottom:.35rem; }
.eyebrow,.muted { color:var(--muted); }
.eyebrow { text-transform:uppercase; letter-spacing:.08em; font-size:.75rem; font-weight:700; margin-bottom:.4rem; }
.intro { max-width:760px; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:1rem; }
.radar-list,.list { display:grid; gap:1rem; }
.card,.radar-card,.detail-header,.profile-summary,.empty,.question,.list-item { background:var(--surface); border:1px solid var(--line); border-radius:.65rem; padding:1.15rem; }
.card,.radar-card { border-left-width:5px; }
.radar-card h2 { margin:1rem 0 .25rem; }
.compact { min-height:0; }
.level-klare_chance { border-left-color:var(--green); }
.level-moegliche_chance { border-left-color:var(--amber); }
.level-keine_chance { border-left-color:var(--red); }
.card-top,.actions,.answer-buttons,.card-actions,.detail-title-row { display:flex; justify-content:space-between; align-items:center; gap:.75rem; flex-wrap:wrap; }
.badge,.match { display:inline-block; border-radius:999px; padding:.18rem .55rem; font-size:.82rem; font-weight:700; background:#e8edf2; }
.lifecycle-badge { display:inline-block; border-radius:999px; padding:.18rem .55rem; margin-left:.35rem; font-size:.82rem; font-weight:700; }
.lifecycle-badge.expired { color:var(--red); background:#fee4e2; }
.lifecycle-badge.rejected { color:#475569; background:#e8edf2; }
.favorite-toggle { padding:.05rem .25rem; min-width:1.55rem; background:transparent; color:#b7791f; font-size:1.45rem; line-height:1; }
.favorite-toggle:hover { background:#fff1cc; }
.detail-title-row { align-items:flex-start; }
.detail-title-row h1 { flex:1; margin-bottom:0; }
.level-klare_chance .badge,.match.confirmed_match,.match.yes { color:var(--green); background:#dff5ee; }
.level-moegliche_chance .badge,.match.unknown { color:var(--amber); background:#fff1cc; }
.level-keine_chance .badge,.match.known_gap,.match.no { color:var(--red); background:#fee4e2; }
.facts { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; margin:1rem 0; }
.radar-facts { justify-content:space-between; gap:.75rem; }
.radar-facts div { flex:1 1 180px; }
.facts div { min-width:120px; }
dt { color:var(--muted); font-size:.8rem; }
dd { margin:0; font-weight:600; }
.why { border-top:1px solid var(--line); padding-top:1rem; margin-top:1rem; }
.why h3 { color:var(--muted); text-transform:uppercase; font-size:.75rem; letter-spacing:.05em; }
.button,button { border:0; border-radius:.35rem; background:var(--blue); color:#fff; padding:.5rem .7rem; font:inherit; cursor:pointer; text-decoration:none; }
.button.secondary,button.secondary,.answer-unknown { background:#e8edf2; color:var(--ink); }
.favorite-form { display:inline; margin:0; }
.detail-favorite-form { margin:.7rem 0; }
.answer-yes { background:var(--green); }
.answer-no { background:var(--red); }
.compact-button { padding:.3rem .55rem; font-size:.9rem; }
.question { margin:.75rem 0; border-left:4px solid var(--amber); }
.inline-question { margin:.65rem 0 0; background:#fffaf0; padding:.7rem .8rem; }
.requirement .answered-question { margin:.65rem 0 0; background:var(--surface); border-left-color:var(--line); padding:.7rem .8rem; }
.inline-question summary,details.answered-question summary { cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:.75rem; font-weight:700; }
.inline-question p { margin-bottom:.45rem; }
.requirement-list { gap:.55rem; }
.requirement { padding:0; }
.requirement-header { display:flex; align-items:flex-start; justify-content:space-between; gap:.8rem; padding:.8rem 1rem; }
details.requirement > .requirement-header { padding-right:2.6rem; cursor:pointer; list-style:none; position:relative; }
details.requirement > .requirement-header::-webkit-details-marker { display:none; }
details.requirement > .requirement-header::after { content:"›"; position:absolute; right:1rem; top:50%; color:var(--muted); font-size:1.35rem; line-height:1; transform:translateY(-52%); transition:transform .12s ease; }
details.requirement[open] > .requirement-header::after { transform:translateY(-52%) rotate(90deg); }
.requirement-header h3 { margin:0; }
.requirement-status { display:flex; align-items:center; justify-content:flex-end; gap:.4rem; flex-wrap:wrap; white-space:nowrap; }
.requirement-content { padding:0 .8rem .8rem; }
.importance { color:var(--muted); font-size:.85rem; font-weight:650; }
.answer-form { display:flex; align-items:end; justify-content:space-between; gap:.7rem; margin-top:.55rem; }
.answer-form label { display:grid; gap:.25rem; font-size:.9rem; flex:1 1 260px; }
.answer-buttons { justify-content:flex-start; flex:0 0 auto; }
.inline-action { display:inline; margin-left:.4rem; }
.capability-actions { margin-bottom:0; }
.capability-list { gap:.55rem; }
.capability { padding:.75rem .9rem; }
.capability header { display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.capability header h3 { margin:0; }
.capability-description,.capability-source,.capability-impact { margin:.3rem 0; }
.capability-description { font-size:.94rem; }
.capability-source,.capability-impact { font-size:.88rem; }
.capability-impact { color:var(--muted); }
.removal-hint { display:block; max-width:650px; margin:0 0 .45rem; color:var(--muted); font-size:.88rem; }
.removed-capabilities { margin-top:1rem; }
.removed-capabilities summary { cursor:pointer; font-weight:700; }
.profile-accordion { margin-top:1.25rem; }
.radar-status-summary { position:sticky; top:.75rem; z-index:2; display:flex; align-items:center; gap:1rem; margin:1rem 0 1.25rem; padding:.8rem 1rem; border:1px solid var(--line); border-radius:.65rem; background:rgb(255 255 255 / 96%); box-shadow:0 2px 8px rgb(24 36 50 / 8%); }
.radar-status-entry { display:grid; justify-items:center; gap:.3rem; min-width:82px; color:var(--ink); font-size:.84rem; font-weight:700; text-align:center; }
.radar-status-circle { display:grid; place-items:center; width:76px; height:76px; border-radius:50%; color:#fff; font-size:1.5rem; font-weight:800; line-height:1; box-shadow:inset 0 0 0 1px rgb(0 0 0 / 9%); }
.status-clear .radar-status-circle { background:var(--green); }.status-possible .radar-status-circle { background:var(--amber); }.status-relevant .radar-status-circle { background:var(--blue); }
.radar-status-meta { display:grid; gap:.12rem; margin:0 0 0 auto; padding-left:1rem; border-left:1px solid var(--line); color:var(--muted); font-size:.84rem; }.radar-status-meta strong { color:var(--ink); font-size:1.05rem; }.radar-status-meta span { font-size:.76rem; }
.profile-accordion > details { background:var(--surface); border:1px solid var(--line); border-radius:.65rem; }
.profile-accordion > details > summary { cursor:pointer; padding:.85rem 1rem; font-size:1.15rem; font-weight:750; }
.profile-accordion > details > :not(summary) { margin-left:1rem; margin-right:1rem; }
.profile-accordion > details > :last-child { margin-bottom:1rem; }
.backfill-progress { display:grid; gap:.2rem; margin:1rem 0; padding:.8rem 1rem; border-left:4px solid var(--blue); border-radius:.45rem; background:#eaf4fb; }
.backfill-progress span { font-weight:650; }
.backfill-progress small { color:var(--muted); }
.backfill-progress.partially_failed,.backfill-progress.failed { border-left-color:var(--amber); background:#fff7df; }
.detail-rejection-form { margin-top:.7rem; }
input[type=text] { width:100%; max-width:550px; padding:.45rem; border:1px solid var(--line); border-radius:.3rem; font:inherit; }
.notice { border-left:4px solid var(--amber); background:#fff7df; padding:.8rem; }
.reason-container { position:relative; margin:.8rem 0; padding:.7rem .85rem; border:1px dashed var(--line); border-radius:.45rem; overflow:hidden; min-height:7rem; }
.stale-reason .reason-content { opacity:.58; filter:blur(.15px); }
.reason-container h2 { margin:0 0 .25rem; font-size:.9rem; }
.reason-container p { margin:0; }
.reason-overlay { position:absolute; inset:auto .8rem .8rem .8rem; display:grid; gap:.15rem; padding:.55rem .7rem; border-left:4px solid var(--amber); border-radius:.3rem; background:rgb(255 247 223 / 94%); }
.reason-overlay span { font-size:.92rem; }
.current-reason { margin:1rem 0; }
.answered { color:var(--muted); }
.lots-summary { font-size:.9rem; }
.question-context { margin-bottom:.25rem; }
.question-references { margin:.25rem 0 1rem; padding-left:1.25rem; }
.tender-text { margin:1rem 0; background:var(--surface); border:1px solid var(--line); border-radius:.5rem; padding:.7rem .9rem; }
.tender-text summary { cursor:pointer; font-weight:700; }
.tender-text pre { margin:.8rem 0 .1rem; white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; }
.question-group { margin:.65rem 0; background:var(--surface); border:1px solid var(--line); border-radius:.5rem; }
.question-group summary { cursor:pointer; display:flex; justify-content:space-between; gap:.75rem; padding:.8rem 1rem; font-weight:700; }
.group-count { color:var(--muted); font-size:.9rem; font-weight:600; white-space:nowrap; }
.question-group-content { padding:0 .8rem .4rem; }
details.answered-question { padding:0; }
details.answered-question summary { padding:.8rem 1rem; }
.answered-question-content { padding:0 .9rem .8rem; }
.knowledge-progress { margin:1rem 0; padding:.85rem 1rem; border:1px solid var(--line); border-radius:.5rem; background:var(--surface); }
.knowledge-progress h2 { margin:0 0 .4rem; font-size:1.15rem; }
.knowledge-progress p { margin:.4rem 0; }
.knowledge-metrics { display:flex; flex-wrap:wrap; gap:1rem 2rem; }
.knowledge-metrics strong { font-size:1.6rem; color:var(--blue); }
.knowledge-metrics p { max-width:18rem; }
.knowledge-explanation summary { cursor:pointer; color:var(--muted); }
.internal-nav { font-size:.9rem; padding:.5rem; border:1px dashed var(--line); }
.table-scroll { overflow-x:auto; margin:.8rem 0; }
.table-scroll table { width:100%; border-collapse:collapse; font-size:.9rem; }
.table-scroll th,.table-scroll td { text-align:left; vertical-align:top; padding:.5rem; border-bottom:1px solid var(--line); }
.ops-issue { padding:.6rem; border-left:3px solid var(--line); margin:.5rem 0; }
.ops-issue.critical,.ops-issue.error { border-color:#b42318; }
.ops-issue.warning { border-color:var(--amber); }
@media (max-width:620px) { .site-header { align-items:flex-start; flex-direction:column; gap:.6rem; } .site-header a { margin-left:0; margin-right:1rem; } .page-heading,.requirement-header,.answer-form,.radar-status-summary { align-items:flex-start; flex-direction:column; } .requirement-status { justify-content:flex-start; white-space:normal; } .answer-buttons { width:100%; } .radar-status-summary { display:grid; align-items:stretch; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; } .radar-status-entry { min-width:0; } .radar-status-circle { width:70px; height:70px; font-size:1.35rem; } .radar-status-meta { grid-column:1 / -1; width:100%; margin:0; padding:.7rem 0 0; border-top:1px solid var(--line); border-left:0; } }
/* Profile V2: a bounded list, not one expanded card per fact. */
.profile-tabs { display:flex; flex-wrap:wrap; gap:1rem; margin:1rem 0; }
.profile-tabs [aria-current="page"] { font-weight:700; border-bottom:2px solid currentColor; }
.knowledge-filters { display:flex; flex-wrap:wrap; gap:.7rem; align-items:end; }
.knowledge-filters label { display:flex; flex-direction:column; gap:.25rem; }
.knowledge-filters input, .knowledge-filters select { max-width:100%; padding:.45rem; }
.knowledge-fact { border-bottom:1px solid #dde2e6; margin:0; padding:0; }
.knowledge-fact > summary { display:flex; align-items:center; gap:.6rem; padding:.6rem .3rem; cursor:pointer; }
.knowledge-fact > summary::before { content:'▸'; flex:none; }
.knowledge-fact[open] > summary::before { content:'▾'; }
.knowledge-fact > summary > .match { margin-left:auto; flex:none; }
.knowledge-fact-body { padding:.3rem 1rem 1rem; }
.knowledge-fact-body details { margin:.5rem 0; }
.knowledge-family { margin:1.2rem 0 .4rem; font-size:1rem; }
@media(max-width:600px) { .knowledge-filters label { width:100%; } .knowledge-fact > summary { flex-wrap:wrap; } .site-header nav { display:flex; flex-wrap:wrap; max-width:100%; gap:.4rem; } }
