body{background:var(--bg)}.app-shell{display:grid;grid-template-columns:230px minmax(0,1fr);min-height:100dvh}.sidebar{background:var(--surface);border-right:1px solid var(--line);padding:28px 18px;display:flex;flex-direction:column;gap:24px}.brand-logo{width:185px;height:44px}.sidebar nav{display:grid;gap:8px}.sidebar nav button{width:100%;white-space:normal}.sidebar nav button[aria-current=page]{color:var(--accent);background:var(--accent-soft)}.sidebar .small{margin-top:auto}.app-header{background:var(--surface);border-bottom:1px solid var(--line);padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.app-header p{font-size:13px}.notice{padding:0 28px;min-height:28px;color:var(--accent);overflow-wrap:anywhere}.notice.error,.field-error{color:var(--portal-danger,#a52d20)}.small,small{font-size:12px;color:var(--muted)}#main{padding:18px 28px 36px;display:grid;gap:22px;min-width:0}.heading{display:grid;gap:12px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;min-width:0}.table-scroll{overflow:auto;min-height:160px}table{border-collapse:collapse;width:100%;text-align:left}th,td{padding:14px 12px;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere}td{max-width:360px}td small{display:block}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fields label,label{display:grid;gap:6px}.wide{grid-column:1/-1}input,select,textarea{padding:10px;min-height:44px;border:1px solid var(--line);border-radius:9px;width:100%;min-width:0;font:inherit;background:var(--surface);color:var(--text)}input[type=checkbox]{width:20px;min-height:20px}.check{display:flex;align-items:center;gap:10px;padding:7px 0}textarea{resize:none;min-height:120px}fieldset{border:1px solid var(--line);border-radius:12px;margin:18px 0;padding:18px;min-width:0}fieldset label+label{margin-top:10px}.detail-body{overflow:auto}.button{min-height:44px}.pdf-input{padding:18px 0}dl{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px}dd{margin:0;overflow-wrap:anywhere}details{padding:12px 0}summary{cursor:pointer}summary:hover{color:var(--accent)}#preview img{max-width:100%;height:auto}.motion-enter{animation:contractors-enter 210ms ease-out}dialog[open]{animation:contractors-enter 180ms ease-out}@keyframes contractors-enter{from{transform:translateY(8px);opacity:.6}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.motion-enter,dialog[open]{animation:none}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.app-shell>.sidebar{position:static;height:auto;min-height:0;padding:16px;gap:14px;border-right:0;border-bottom:1px solid var(--line)}.sidebar nav{display:flex;flex-wrap:wrap}.sidebar nav button{width:auto;flex:1}.sidebar>.small{display:none}.app-header{padding:16px}.notice{padding:0 16px}#main{padding:16px}.panel{padding:16px}.fields{grid-template-columns:1fr}.wide{grid-column:auto}input,select,textarea{font-size:16px}dl{grid-template-columns:1fr}dd{margin-bottom:10px}}#print-document{background:white;color:black}.print-logo{width:180px;height:44px}.pre{white-space:pre-wrap}
@media print{@page{size:A4;margin:18mm}body{background:white!important;color:black!important}.app-shell,.skip,dialog,#notice{display:none!important}#print-document:not([hidden]){display:block!important;font:11pt 'Segoe UI',sans-serif}#print-document h1,#print-document h2{color:var(--document-heading)}#print-document table{table-layout:fixed}#print-document th{background:var(--document-table-header);color:black}#print-document th,#print-document td{border:1px solid var(--document-line);padding:8px;max-width:none}#print-document tr{break-inside:avoid}#print-document th:first-child{width:42%}#print-document .answer-space{height:75px}#print-document thead{display:table-header-group}#print-document header,#print-document footer{break-inside:avoid}#print-document footer{margin-top:20px}#print-document p{overflow-wrap:anywhere}*{animation:none!important}}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.heading>button{justify-self:start}.app-shell>.sidebar{top:0;height:100dvh}.button{text-decoration:none;color:var(--text)}.button.primary{color:var(--accent-ink)}@media(max-width:760px){.app-shell>.sidebar{height:auto;top:auto}}
.detail[open]{display:flex;flex-direction:column}.detail>form{display:flex;flex-direction:column;flex:1;min-height:0}.window-header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-shrink:0;border-bottom:1px solid var(--line)}.window-header h2{font-size:22px}.window-footer{display:flex;flex-shrink:0;border-top:1px solid var(--line)}.window-footer small{white-space:normal}.detail .floating-workspace{min-height:0}@media(max-width:760px){.window-header{align-items:flex-start}.window-header h2{font-size:18px;overflow-wrap:anywhere}.window-footer{flex-wrap:wrap}.detail .window-controls{flex-shrink:0}.detail .window-context{flex-shrink:0}}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dashboard-metric{display:grid;gap:10px;min-height:145px;padding:22px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:16px;color:var(--text);cursor:pointer}.dashboard-metric strong{font:600 36px Bahnschrift,'Segoe UI',sans-serif}.dashboard-metric span{font-weight:600}.dashboard-metric small{font-weight:400}.dashboard-metric[data-tone=danger] strong{color:var(--portal-danger,#a52d20)}.dashboard-metric:hover,.stage-row:hover{border-color:var(--accent);background:var(--accent-soft)}.dashboard-metric:active,.stage-row:active{transform:translateY(1px)}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:22px}.dashboard-caption{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.dashboard-caption p,.agenda-row p{margin:6px 0}.dashboard-agenda{min-height:120px}.agenda-row{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding:18px 0}.agenda-row>div{min-width:0;overflow-wrap:anywhere}.agenda-row .button{white-space:normal;flex-shrink:0;max-width:220px}.dashboard-stages{display:grid;gap:6px;margin:20px 0}.stage-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px;border:1px solid transparent;border-radius:9px;text-align:left;background:var(--surface);color:var(--text);cursor:pointer}.stage-row meter{grid-column:1/-1;width:100%;height:8px;accent-color:var(--accent)}.dashboard-firms{border-top:1px solid var(--line);padding-top:20px}.dashboard-firms p{margin:8px 0 14px}.dashboard-empty{padding:26px 0}.dashboard-guide ol{display:flex;gap:16px 30px;flex-wrap:wrap;padding-left:20px;margin:18px 0}.request-filter{max-width:360px}.dashboard-metric:focus-visible,.stage-row:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media(max-width:1050px){.dashboard-metrics{grid-template-columns:1fr 1fr}.dashboard-columns{grid-template-columns:1fr}}@media(max-width:520px){.dashboard-metric{padding:16px;min-height:135px}.dashboard-metric strong{font-size:30px}.agenda-row{align-items:flex-start;flex-direction:column;gap:12px}.agenda-row .button{max-width:100%}.dashboard-guide ol{display:grid;gap:12px}.request-filter{max-width:none}}@media(prefers-reduced-motion:reduce){.dashboard-metric:active,.stage-row:active{transform:none}}
.stage-row meter::-webkit-meter-optimum-value{background:var(--accent)}.stage-row meter::-moz-meter-bar{background:var(--accent)}
.record-search,.calendar-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.record-search label{flex:1;min-width:180px}.calendar-toolbar{margin-bottom:20px}.calendar-toolbar label{min-width:180px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin:18px 0}.calendar-grid>span{text-align:center}.calendar-day{min-height:64px;display:grid;place-items:center;gap:2px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:8px;cursor:pointer}.calendar-day:hover,.calendar-day[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.calendar-day[aria-current=date]{outline:2px solid var(--accent);outline-offset:-3px}.calendar-day:focus-visible{outline:3px solid var(--accent)}@media(max-width:520px){.calendar-day{min-height:54px}.record-search label{flex-basis:100%}.calendar-toolbar label{order:-1;flex-basis:100%}}
@media print{@page{@bottom-right{content:"Seite " counter(page) " / " counter(pages);font:9pt sans-serif;color:var(--document-heading)}}}
