/* Scoped module styles; reuse MH identity and compact workspace tokens. */
.datev-view{min-width:0;max-width:1280px;color:var(--ink);font-variant-numeric:tabular-nums}
.datev-view [hidden]{display:none!important}
.datev-view .page-heading{align-items:flex-start;gap:12px;margin-bottom:16px}
.datev-view .page-heading p{max-width:70ch}
.datev-view p{overflow-wrap:anywhere}
.datev-warning{padding:10px 12px;border-left:3px solid var(--warning);background:var(--warning-soft);color:var(--warning);border-radius:var(--radius-sm);font-size:12px;line-height:1.55;margin:0 0 18px}
.datev-steps{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--line);padding-bottom:8px}
.datev-steps button{color:var(--ink-secondary);justify-content:flex-start;white-space:normal;text-align:left;min-width:0}
.datev-steps button[aria-current="step"]{color:var(--accent-deep);background:var(--accent-soft);font-weight:600}
.datev-status{font-size:12px;margin:12px 0;min-height:18px}
.datev-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;min-width:0}
.datev-panel h2{margin:0 0 12px}
.datev-section-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.datev-section-heading h2{margin:0}
.datev-help{font-size:12px;line-height:1.55;color:var(--muted);margin:8px 0 12px;max-width:100ch}
.datev-view fieldset{margin:0;padding:0;min-width:0;border:0}
.datev-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px;margin:20px 0}
.datev-view label{margin:0;min-width:0;font-size:12px}
.datev-view label small{display:block;line-height:1.45;margin-top:4px;min-height:16px}
.datev-view input,.datev-view select,.datev-view textarea{min-width:0;max-width:100%;width:100%}
.datev-view input:focus-visible,.datev-view select:focus-visible,.datev-view textarea:focus-visible,.datev-view button:focus-visible,.datev-view a:focus-visible{outline:2px solid var(--accent-deep);outline-offset:3px}
.datev-view button:active:not(:disabled){transform:translateY(1px)}
.datev-view button:disabled{cursor:not-allowed}
.datev-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px}
.datev-actions .datev-help{margin-right:auto}
.datev-filter{display:grid;grid-template-columns:minmax(140px,1.2fr) repeat(2,minmax(140px,1fr)) auto;align-items:end;gap:12px}
.datev-view .datev-check{display:flex;align-items:flex-start;gap:9px;line-height:1.6;font-size:12px;margin:14px 0}
.datev-view .datev-check input[type="checkbox"]{width:17px;height:17px;min-width:17px;min-height:17px;flex:0 0 17px;margin:2px 0 0;padding:0;accent-color:var(--accent)}
.datev-view .datev-check small{display:inline;font-weight:400;margin-left:8px}
.datev-bulk{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;padding:14px 0 0;border-top:1px solid var(--line)}
.datev-bulk label{flex:0 1 180px}
.datev-selection{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px;margin-top:16px;font-size:12px}
.datev-selection>div{display:flex;gap:4px;flex-wrap:wrap}
.datev-booking{padding:14px 0;border-top:1px solid var(--line);min-width:0}
.datev-booking-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.datev-booking-head .datev-check{margin:0;font-weight:600;min-width:0}
.datev-amount{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;font-size:13px}
.datev-row-selected .datev-booking-head{color:var(--ink)}
.datev-description{font-size:12px;margin:6px 0 12px;color:var(--ink-secondary);white-space:pre-wrap;overflow-wrap:anywhere}
.datev-coding{display:grid;grid-template-columns:minmax(85px,.8fr) minmax(95px,.9fr) minmax(85px,.7fr) minmax(120px,1.2fr) minmax(200px,2fr);gap:12px}
.datev-coding textarea{height:60px;min-height:60px;resize:vertical;line-height:1.4}
.datev-row-issues{color:var(--danger);font-size:11px;line-height:1.5;margin:6px 0 0;max-width:110ch}
.datev-row-issues:empty{display:none}
.datev-issues{border-left:3px solid var(--danger);background:var(--danger-soft);border-radius:var(--radius-sm);padding:10px 12px;color:var(--danger);font-size:12px;margin:0 0 14px;overflow-wrap:anywhere;max-height:260px;overflow:auto}
.datev-issues ul{padding-left:18px;margin:6px 0 0}
.datev-issues li+li{margin-top:5px}
.datev-view .datev-confirm{background:var(--surface-soft);border-radius:var(--radius-sm);padding:12px;margin:16px 0 8px;color:var(--ink)}
.datev-export-actions{justify-content:flex-start;margin:14px 0}
.datev-empty{padding:18px 0;margin:0;font-size:12px;max-width:75ch}
.datev-totals{display:flex;flex-wrap:wrap;gap:24px 40px;border-block:1px solid var(--line);padding:16px 0;margin:18px 0 12px}
.datev-totals span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}
.datev-totals strong{font-size:23px;line-height:1.2;font-weight:600;letter-spacing:-.5px}
.datev-table-scroll{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm);margin-top:12px}
.datev-table-scroll table{min-width:760px;width:100%;font-size:12px;table-layout:fixed}
.datev-table-scroll th,.datev-table-scroll td{padding:10px 12px;vertical-align:top;overflow-wrap:anywhere}
.datev-table-scroll th{font-size:11px;letter-spacing:0;text-transform:none}
.datev-table-scroll th:last-child{width:24%}
.datev-table-scroll th:nth-child(3){width:48px}
.datev-table-scroll th:nth-child(6){width:52px}
.datev-table-scroll td:first-child{white-space:nowrap}
.datev-history{border-top:1px solid var(--line);padding-top:20px;margin-top:24px}
.datev-history ul{list-style:none;margin:0;padding:0}
.datev-history li{border-top:1px solid var(--line);padding:12px 0;font-size:12px;min-width:0}
.datev-history li:first-child{border-top:0}
.datev-history-head{display:flex;justify-content:space-between;gap:8px 16px;flex-wrap:wrap}
.datev-history a{color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;min-width:0;font-weight:500}
.datev-history a:hover{color:var(--ink)}
.datev-history span,.datev-history p{font-size:11px;color:var(--muted)}
.datev-history p{margin:6px 0}
.datev-history summary{cursor:pointer;font-size:11px;color:var(--muted);padding:4px 0}
.datev-history code{display:block;font-size:11px;overflow-wrap:anywhere;white-space:normal;margin:6px 0}
.datev-spec{border-top:1px solid var(--line);margin-top:14px;padding-top:12px;font-size:11px;color:var(--muted)}
.datev-spec summary{cursor:pointer;padding:4px 0}
.datev-spec p{font-size:12px;margin:8px 0;max-width:80ch}
.datev-spec a{color:var(--accent-deep);text-decoration:underline;text-underline-offset:3px}
@media(max-width:1100px){.datev-coding{grid-template-columns:repeat(4,minmax(0,1fr))}.datev-text{grid-column:1/-1}.datev-filter{grid-template-columns:repeat(3,minmax(0,1fr))}.datev-filter button{grid-column:1/-1;justify-self:start}}
@media(max-width:760px){.datev-panel{padding:14px}.datev-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.datev-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.datev-filter label:first-child{grid-column:1/-1}.datev-view input,.datev-view select,.datev-view textarea{font-size:16px}.datev-view button{min-height:44px;white-space:normal}.datev-bulk label{flex:1 1 140px}.datev-coding{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.datev-view .datev-check small{display:block;margin-left:0}.datev-totals{gap:16px}.datev-totals strong{font-size:20px}.datev-selection>div{gap:0}}
@media(max-width:420px){.datev-steps{display:grid;grid-template-columns:1fr}.datev-steps button{width:100%;padding:8px 10px}.datev-settings-grid{grid-template-columns:1fr}.datev-filter{grid-template-columns:minmax(0,1fr)}.datev-filter label:first-child,.datev-filter button{grid-column:auto}.datev-filter button{justify-self:stretch}.datev-actions{align-items:stretch;flex-direction:column;gap:6px}.datev-actions .datev-help{margin-right:0}.datev-section-heading{gap:6px}.datev-selection>div{display:grid;grid-template-columns:1fr}.datev-bulk{display:grid;grid-template-columns:minmax(0,1fr)}.datev-totals>div:first-child{flex-basis:100%}.datev-booking-head{align-items:flex-start}.datev-coding{column-gap:8px}}
@media(prefers-reduced-motion:reduce){.datev-view *{animation:none!important;transition:none!important}.datev-view button:active:not(:disabled){transform:none}}
