:root{--paper:var(--color-bg);--line:var(--color-border);--ctl:color-mix(in srgb,var(--color-muted) 35%,white);--blue:var(--color-accent);--ink:var(--color-ink);--muted:var(--color-muted)}*{box-sizing:border-box}body{margin:0;background:var(--color-bg-subtle);color:var(--ink);font:14px/1.5 Arial,Helvetica,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid var(--ctl);border-radius:4px;background:white;padding:8px 11px;color:var(--ink)}button:hover{background:var(--color-accent-soft)}button.primary{background:var(--blue);color:white;border-color:var(--blue)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}input,textarea,select{border:1px solid var(--ctl);border-radius:4px;background:white;padding:7px;color:var(--ink);width:100%}textarea{resize:vertical;min-height:70px}label{display:block;font-size:12px;color:var(--muted)}label input,label textarea,label select{display:block;margin-top:4px}header,main,footer{max-width:98vw;margin:auto}header{padding:22px 22px 12px}.brand{font-size:23px;font-weight:bold;letter-spacing:-1px}.brand span{color:var(--blue)}.brand a{color:inherit;text-decoration:none}footer a{color:inherit}footer a:hover{color:var(--blue)}h1{font-size:32px;letter-spacing:-1px;margin:9px 0 0}h2{font-size:20px}h3{font-size:16px;margin:0}.cell-top h2{font-size:16px;margin:0}p{margin:6px 0 12px}.muted{color:var(--muted)}.tools,.tabs,.actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}details.menu{position:relative}details.menu summary{cursor:pointer;list-style:none;border:1px solid var(--ctl);border-radius:4px;background:white;padding:8px 11px;color:var(--ink)}details.menu summary::-webkit-details-marker{display:none}details.menu[open] summary{background:var(--color-bg-subtle)}details.menu .menu-panel{position:absolute;right:0;top:calc(100% + 4px);background:var(--paper);border:1px solid var(--line);border-radius:5px;box-shadow:0 2px 8px rgba(0,0,0,.14);padding:6px;display:flex;flex-direction:column;gap:4px;z-index:30;min-width:210px}details.menu .menu-panel button{width:100%;text-align:left;margin:0}details.menu .menu-panel input[type=file]{display:none}.tools{margin:15px 0 10px}.tabs{margin:15px 0 0}.tabs button[aria-selected=true]{background:var(--ink);color:white;border-color:var(--ink)}#status{font-size:12px;min-height:20px;color:var(--muted)}main{padding:0 22px 25px}.panel,.meta,.decision{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:17px;margin:12px 0}.meta{display:block}#flags-top{grid-column:1/-1;display:flex;gap:6px 18px;flex-wrap:wrap;align-items:center;margin:0;padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--ink)}
#flags-top .flags-title{font-size:12px;color:var(--muted)}#flags-top .flags-note{flex-basis:100%;font-size:12px;color:var(--muted);margin-top:-4px}#flags-top label{display:flex;align-items:center;gap:6px;font-weight:normal}#flags-top input{width:auto}.section-label{font-size:11px;letter-spacing:1px;color:var(--blue);margin:20px 0 8px;font-weight:bold}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cell{background:white;border:1px solid var(--line);border-radius:5px;padding:14px;min-height:140px;scroll-margin-top:20px}.cell-top{display:flex;gap:9px;align-items:start}.cell-top span{color:var(--blue);font-size:12px;font-weight:bold}.cell-top button{margin-left:auto;padding:3px 10px;font-size:13px;line-height:1.3;white-space:nowrap}.question{color:var(--muted);font-size:12px;margin:10px 0 12px}.note{border-left:3px solid var(--color-muted);background:var(--color-bg);padding:10px;margin:9px 0;border-radius:3px}.note[data-state=angenommen]{border-color:var(--color-warning)}.note[data-state=belegt]{border-color:var(--color-success)}.note-head{display:flex;gap:8px;align-items:center;margin-bottom:7px}.note-head code{font-size:11px}.note-head select{font-size:11px;padding:3px 8px;width:auto;max-width:140px;border-radius:12px;border:1px solid var(--line)}.note-head .status-select{background:var(--color-bg-subtle);border-color:var(--color-muted)}.note[data-state=angenommen] .status-select{background:var(--color-warning-soft);border-color:var(--color-warning)}.note[data-state=belegt] .status-select{background:var(--color-success-soft);border-color:var(--color-success)}.note-head .kind-select{background:var(--color-bg-subtle);color:var(--muted)}.note-head details.note-menu{margin-left:auto}.note-head details.note-menu summary{border:0;background:transparent;padding:0 5px;font-size:16px;line-height:1}.note-menu .menu-panel{min-width:130px}.menu-panel button.danger{color:var(--color-danger)}.note>label{margin-top:6px}.note details{margin-top:8px}.note summary{font-size:12px;cursor:pointer;color:var(--blue)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}.full{grid-column:1/-1}.print-only{display:none}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:var(--color-bg-subtle)}td textarea{min-width:160px}td input{min-width:125px}.warn{background:var(--color-warning-soft);border-left:3px solid var(--color-warning);padding:12px;margin:9px 0}.ok{background:var(--color-success-soft);padding:12px}.small{font-size:12px}.decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.decision-grid label{margin-top:8px}.badge{display:inline-block;padding:2px 6px;background:var(--color-bg-subtle);border-radius:3px;font-size:11px}.review-list li{margin:10px 0}.review-list a{color:var(--blue)}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:white;border:1px solid var(--line);padding:17px;font-size:13px}.hidden{display:none!important}footer{padding:0 22px 30px;font-size:12px;color:var(--muted)}.help li{margin:7px 0}.file-input{display:none}.snap{display:flex;gap:9px;flex-wrap:wrap;margin:9px 0}.history-row{border-bottom:1px solid var(--line);padding:10px 0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.legend{font-size:12px;color:var(--muted)}
@media(max-width:1050px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meta{grid-template-columns:1fr 1fr}}@media(max-width:680px){header{padding:16px 12px 8px}#flags-top{flex-direction:column;gap:6px}main{padding:0 12px 20px}.grid,.meta,.decision-grid,.detail-grid{grid-template-columns:1fr}.full{grid-column:auto}h1{font-size:27px}.tools button,.tabs button{font-size:12px}.cell{min-height:120px}footer{padding:0 12px 20px}}
@page{size:A3 landscape;margin:9mm}@media print{body{background:white;print-color-adjust:exact;-webkit-print-color-adjust:exact}header{padding:0}h1{font-size:24px}.tools,.tabs,#status,.meta,.legend,footer,.no-print,.cell-top button,.note-head button{display:none!important}main{padding:0}#view-canvas{display:block!important}.other-view{display:none!important}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.cell{padding:9px;min-height:150px;break-inside:avoid}h3{font-size:12px}.cell-top h2{font-size:12px}.question{font-size:9px;margin:5px 0}.section-label{font-size:9px;margin:8px 0 4px}.note{padding:6px;margin:5px 0;break-inside:avoid}.note-head,.note>label,.note details{display:none}.print-only{display:block;font-size:10px;white-space:pre-wrap;overflow-wrap:anywhere}.print-only small{font-size:8px}.decision{font-size:10px;margin:8px 0;padding:9px}.decision .decision-grid,.decision>.no-print{display:none}#print-meta{display:block;font-size:11px;margin:6px 0} }

.flash{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}
@media print{.flash{outline:none}}

.mode-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:12px 0 0;font-size:13px}
.empty-hint{color:var(--muted);font-size:12px;font-style:italic;margin:8px 0}
.review-mode{display:flex;gap:6px;margin:8px 0}
.review-mode button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}
.review-group{border:1px solid var(--line);border-radius:5px;margin:8px 0;padding:6px 12px;background:var(--paper)}
.review-group summary{cursor:pointer;font-weight:bold;padding:4px 0}
.review-group .review-list{margin:6px 0 4px}
.bulk{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0;padding:8px;background:var(--color-bg-subtle);border-radius:4px}
.bulk input{width:auto;min-width:180px}
@media print{.empty-hint,.mode-row{display:none}}

.start-row{margin:4px 0 18px}.start-lead{font-weight:bold;margin:0 0 8px}.start-btns{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 8px}.start-row .muted{margin:0}.examples-note{font-size:12px;margin:6px 0 0}
dialog{border:1px solid var(--line);border-radius:8px;padding:20px;max-width:640px;width:calc(100% - 24px);background:var(--paper);color:var(--ink)}
dialog::backdrop{background:rgba(15,23,42,.45)}
dialog h2{margin:0 0 6px}
dialog form{display:flex;flex-direction:column;gap:10px}
dialog textarea{min-height:56px}
.dlg-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}
@media print{dialog{display:none}}

.zone-toggle{display:block;width:100%;text-align:left;background:none;border:0;padding:0;cursor:pointer;font-family:inherit}.zone-toggle:hover{text-decoration:underline}.grid.collapsed{display:none}@media print{.grid.collapsed{display:grid!important}.zone-toggle{cursor:default}}

.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.top-actions{display:flex;gap:7px;align-items:center}
.navbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:15px}.navbar .tabs{margin:0}
.case-field{font-size:12px}.case-field input{font-size:16px;padding:9px}
.meta-more{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.meta-more>summary{cursor:pointer}.meta-title{font-size:13px;font-weight:bold;color:var(--ink)}.meta-sub{display:block;font-size:12px;color:var(--muted);font-weight:normal;margin-top:2px}
.meta-grid{display:grid;grid-template-columns:2fr 1fr .6fr;gap:14px;margin:12px 0}.meta-more #flags-top{grid-column:auto}
@media(max-width:1050px){.meta-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.meta-grid{grid-template-columns:1fr}.navbar button,.top-actions button,details.menu summary{font-size:12px}.navbar{align-items:stretch}}
@media print{.top-actions,.navbar{display:none!important}}
#status{margin-top:8px}
.top-actions button[aria-selected=true]{background:var(--ink);color:white;border-color:var(--ink)}

.cell-top .cell-zoom{margin-left:6px;padding:4px 7px;line-height:0;display:inline-flex;align-items:center}
.cell .ico-min{display:none}.cell.focused .ico-min{display:block}.cell.focused .ico-zoom{display:none}
.focus-mode .zone-toggle,.focus-mode .decision,.focus-mode .examples-note,body.focusing #start-slot{display:none}
.focus-mode .grid:not(.has-focus){display:none}.focus-mode .grid.has-focus{display:block}.focus-mode .cell:not(.focused){display:none}
.cell.focused{min-height:var(--focus-h,140px);display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:0 16px;align-content:start;align-items:start}
.cell.focused>.cell-top,.cell.focused>.question,.cell.focused>.empty-hint{grid-column:1/-1}
::view-transition-group(focus-cell){animation-duration:.42s;animation-timing-function:cubic-bezier(.22,.8,.24,1);overflow:clip;box-sizing:border-box;background:var(--paper,#fff);border:1px solid var(--line,#ddd);border-radius:6px}
::view-transition-old(focus-cell),::view-transition-new(focus-cell){width:auto;height:auto;top:0;left:0;mix-blend-mode:normal}
::view-transition-old(focus-cell){animation:zf-out .16s ease-in both}
::view-transition-new(focus-cell){animation:zf-in .28s ease-out .14s both}
@keyframes zf-out{to{opacity:0}}@keyframes zf-in{from{opacity:0}}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:.01s}}
.cell.focused{grid-template-columns:repeat(auto-fill,minmax(min(460px,100%),1fr));gap:0 22px;font-size:17px}
.cell.focused h2{font-size:26px}.cell.focused>.cell-top>span{font-size:16px}.cell.focused>.question{font-size:16px;margin:12px 0 18px}
.cell.focused .note{padding:16px 18px;margin:0 0 18px}
.cell.focused .note label,.cell.focused .note summary,.cell.focused .note-head code{font-size:14px}
.cell.focused .note textarea{font-size:17px;line-height:1.5;padding:11px;min-height:96px}
.cell.focused .note select,.cell.focused .note input{font-size:15px;padding:8px}
.cell.focused .cell-top button{font-size:15px;padding:6px 14px}.cell.focused .cell-top .cell-zoom{padding:7px 10px}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.note>label textarea{margin-top:0}
.note>details>summary{color:var(--muted)}.note>details>summary:hover{color:var(--blue)}
.note-head .kind-select{background:transparent;border-color:transparent;color:var(--muted);padding-left:2px}
.note-head .status-select{margin-left:auto}.note-head details.note-menu{margin-left:0}
.zoom-label{display:none;margin-left:7px;font-size:15px;line-height:1.2}.cell.focused .zoom-label{display:inline}
.cell.focused .note-head code{font-size:14px}.cell.focused .note>details>summary{font-size:14px}
.cell-top .zoom-label{color:var(--ink);font-weight:normal;font-size:15px;letter-spacing:0}

.logo{display:block;height:56px;width:auto;color:var(--ink);overflow:visible}
.logo__grid{fill:none;stroke:currentColor;stroke-width:2.5}.logo__grid .logo__accent{fill:var(--blue);stroke:var(--blue)}
.logo__wordmark{fill:currentColor;font-family:Arial,Helvetica,sans-serif;font-size:66px;font-weight:700;letter-spacing:-2px}.logo__dot{fill:var(--blue)}
.logo__signature{fill:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:18px;letter-spacing:.2px}
.logo__link:hover .logo__signature,.logo__link:focus-visible .logo__signature{fill:var(--blue);text-decoration:underline}
.topbar+.sr-only+p{margin:10px 0 0}
@media(max-width:680px){.logo{height:44px}}

details.menu.status-help summary{width:20px;height:20px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:bold;color:var(--muted);background:transparent;border:1px solid var(--line)}
details.menu.status-help summary:hover,details.menu.status-help[open] summary{color:var(--blue);border-color:var(--blue)}
details.menu.status-help .menu-panel{min-width:250px;padding:10px 12px;gap:6px}
.status-hint p{margin:0;font-size:12px;line-height:1.4;font-weight:normal;color:var(--ink)}
.cell.focused details.menu.status-help summary{width:24px;height:24px;font-size:13px}

.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head h2{margin:0}
.task-subject{width:32%;min-width:220px}.task-text{font-size:14px;color:var(--ink);margin-bottom:4px}.task-meta{font-size:12px;color:var(--muted)}
#taskTable td textarea{min-height:52px}
.task-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.task-actions label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink)}
details.incomplete{margin-top:14px}details.incomplete summary{cursor:pointer;font-size:13px;color:var(--muted)}details.incomplete ul{margin:6px 0;padding-left:18px}details.incomplete li{margin:6px 0;font-size:13px}details.incomplete li button{margin-left:6px;padding:3px 10px;font-size:12px}
.task-actions label input{margin:0;display:inline-block;width:auto;flex:none}.task-actions button{white-space:nowrap}
.task-actions label input{min-width:0}

.kind-help .menu-panel{left:0;right:auto;min-width:300px}.note-head .kind-select{margin-right:-4px}

#status:empty{min-height:0;margin:0}
#toast{position:fixed;right:18px;bottom:18px;z-index:60;background:var(--ink);color:#fff;font-size:13px;padding:8px 14px;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.2);opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s;pointer-events:none}
#toast.show{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){#toast{transition:none}}
@media print{#toast{display:none!important}}

.help-guide{margin:14px 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:6px;background:var(--color-bg-subtle)}.help-guide h3{margin:0 0 6px}.help-guide p{margin:0 0 8px}.help-guide ol{margin:0 0 12px;padding-left:20px}.help-guide li{margin:3px 0}

.help-guide{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:10px 14px}.help-guide p{margin:0}

html{scrollbar-gutter:stable}
html:has(dialog[open]),body:has(dialog[open]){overflow:hidden}
dialog{max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}

#flags-top .flags-note{margin-top:0}
/* Kein Layout-Sprung: Inhalt erst zeigen, wenn die App ihn aufgebaut hat (js setzt html.ready) */
html:not(.ready) main,html:not(.ready) footer{visibility:hidden}
