/* EB Assistent Pro · compact commercial line editor.
   The customer-facing PDF is deliberately unaffected. */
.doc-items-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:-2px 0 14px}
.doc-items-actions,.doc-collapse-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.doc-items-actions .btn{min-height:37px}
.doc-collapse-actions .btn{background:#f5f9fb;border-color:#d5e3ec;color:#42667b}
.doc-items{overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:5px}
.doc-editor-group{min-width:1180px;overflow:hidden;border:1px solid #d5e0e9;border-radius:12px;margin-bottom:13px;background:#fff;box-shadow:0 3px 13px rgba(21,59,81,.045)}
.doc-editor-group-head{background:#f0f6fa;color:#1e455f;min-height:63px;gap:16px;padding:10px 16px}
.doc-group-collapse{display:inline-flex;align-items:center;gap:9px;min-width:0;padding:5px 8px 5px 0;background:transparent;border:0;color:#24475f;cursor:pointer;text-align:left;font-size:14px}
.doc-group-collapse:hover strong{color:#12638f}
.doc-group-collapse:focus-visible{border-radius:8px}
.doc-group-collapse strong{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}
.doc-group-count{color:#597d96;font-weight:850}
.doc-group-position-count{white-space:nowrap;color:#698295;font-size:11px;font-weight:600}
.doc-group-chevron{display:inline-block;color:#3f7595;font-size:22px;line-height:1;transition:transform .17s}
.doc-editor-group.is-collapsed .doc-group-chevron{transform:rotate(-90deg)}
.doc-editor-group.is-collapsed .doc-editor-group-body{display:none}
.doc-group-actions{gap:8px}
.doc-group-actions>.btn{min-height:31px}
.doc-group-tax{font-size:11px;white-space:nowrap}
.doc-group-tax select{height:34px;max-width:245px;color:#244b63;background:white}
.doc-group-amount{color:#1f455e;font-size:15px;white-space:nowrap;min-width:105px}
.doc-positions-heading,
.doc-item-grid{
 display:grid;
 grid-template-columns:34px minmax(118px,1fr) 67px 87px minmax(250px,2.65fr) 95px 90px 94px 102px 112px;
 align-items:center;
 gap:7px;
}
.doc-positions-heading{min-height:41px;padding:6px 15px;background:#fafcfe;border-bottom:1px solid #e1e9ef;color:#5f788a;font-size:10px;font-weight:800;letter-spacing:.025em}
.doc-positions-heading>span:nth-child(n+6){text-align:right}
.doc-item{padding:11px 15px 12px;border-top:1px solid #dce5eb;transition:background .15s}
.doc-editor-group-body>.doc-item:first-of-type{border-top:none}
.doc-item:nth-of-type(even){background:#fcfdfe}
.doc-item:hover{background:#f5fafc}
.doc-item-grid{align-items:center}
.doc-item-num{padding-top:0;color:#648299;font-size:12px}
.doc-item-grid .doc-line-field{display:flex;flex-direction:column;gap:0;min-width:0}
.doc-item-grid .doc-line-field>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.doc-item-grid input,.doc-item-grid select{height:40px;min-height:40px;padding:7px 8px;font-size:12px;border-radius:7px;border-color:#c9d6e0;background:white}
.doc-item-grid input[type=number]{text-align:right;font-variant-numeric:tabular-nums}
.doc-item-grid .doc-name{display:flex;flex-direction:row;gap:5px}
.doc-item-grid .doc-name select{flex:0 0 35%;width:35%;min-width:0;color:#3c6179}
.doc-item-grid .doc-name input{flex:1;min-width:0;margin-top:0;font-weight:650}
.doc-item-grid .doc-unit-sale strong,.doc-item-grid .doc-line-sum strong{display:flex;align-items:center;justify-content:flex-end;min-height:40px;padding:8px 5px;background:#f6f9fb;border:1px solid #e4edf3;border-radius:7px;white-space:nowrap;font-size:12px;font-weight:750;color:#24485f;letter-spacing:-.015em;font-variant-numeric:tabular-nums}
.doc-item-grid .doc-line-sum strong{background:#eaf3f8;color:#16557b;border-color:#d7e5ee;font-weight:850}
.doc-item-grid .doc-unit-sale small{display:block;padding-top:2px}
.doc-item-detail{display:grid;grid-template-columns:minmax(350px,3.7fr) minmax(130px,1.05fr) minmax(160px,1.35fr) auto;align-items:start;gap:12px;margin:10px 0 0 34px}
.doc-item-detail .doc-line-field>span{display:block;margin-bottom:5px;color:#647d91;font-weight:750}
.doc-item-description textarea{min-height:60px;max-height:180px;padding:10px 12px;font-size:12px;line-height:1.5;border-color:#d0dce5;background:#fff}
.doc-item-group,.doc-tax-field{padding-top:2px}
.doc-item-group .doc-line-group,.doc-tax-field .doc-line-tax{display:flex;align-items:center;min-height:35px;padding:7px 10px;border:1px solid #e5edf3;border-radius:8px;background:#f7fafc;font-size:12px;color:#456478;overflow-wrap:anywhere}
.doc-item-actions{align-self:end;padding-bottom:3px;display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.doc-item-actions .btn.danger{font-weight:650}
.doc-advanced-markups{margin:17px 0 4px;border:1px solid #d8e5ed;background:#f8fbfd;border-radius:12px;padding:0 17px}
.doc-advanced-markups summary{cursor:pointer;padding:15px 0;font-size:13px;font-weight:750;color:#315d78}
.doc-advanced-markups summary:hover{color:#0e638f}
.doc-advanced-markups[open] summary{border-bottom:1px solid #e2eaf1;margin-bottom:13px}
.doc-advanced-markups>.muted{line-height:1.5;margin-bottom:14px}
.doc-advanced-markups h4{margin:18px 0 12px;font-size:13px}
.doc-advanced-markups .category-grid{margin-bottom:17px}
.doc-global-markups{display:flex;align-items:end;gap:9px;flex-wrap:wrap}
.doc-global-markups label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:750}
.doc-global-markups .control{width:116px;min-height:38px}
.group-subtotals{max-width:none;margin:12px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 18px;align-items:baseline;background:#f6f9fb;border-color:#dce6ee;padding:13px 17px}
.group-subtotals>strong{grid-column:1/-1;color:#36556b}
.group-subtotals .total-row{border-bottom:0;padding:0;font-size:12px;gap:12px}
.doc-finance-layout{display:grid;grid-template-columns:minmax(310px,1.25fr) minmax(280px,.85fr);gap:18px;align-items:start;margin:21px 0 22px}
.doc-finance-margin,.doc-finance-totals{min-width:0;border:1px solid #dbe6ee;border-radius:14px;background:white;padding:21px 24px;box-shadow:0 3px 14px rgba(19,56,84,.045)}
.doc-finance-totals h3{font-size:17px;color:#24465c;padding-bottom:15px;margin:0 0 3px;border-bottom:1px solid #e7edf3}
.doc-finance-totals .totals{width:100%;margin:0}
.doc-finance-totals .total-row{font-size:13px;gap:16px}
.doc-finance-totals .total-row.grand{font-size:18px;color:#125982;font-weight:850}
.doc-margin-overview{display:flex;flex-direction:column;gap:0}
.doc-margin-overview-heading{padding-bottom:14px;border-bottom:1px solid #e2eaf1;margin-bottom:10px}
.doc-margin-overview-heading strong{font-size:17px;color:#24465f}
.doc-margin-overview-heading small{display:block;margin-top:4px;font-size:11px;color:#698397}
.doc-margin-main-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;color:#294a63;font-size:15px;font-weight:750}
.doc-margin-main-row strong{font-size:19px;white-space:nowrap;font-variant-numeric:tabular-nums}
.doc-margin-subheading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0 10px;color:#38566e;font-size:13px;font-weight:750}
.doc-margin-detail-row{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:5px 0 5px 13px;color:#586f82;font-size:12px}
.doc-margin-detail-row span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}
.doc-margin-profit{border-top:1px solid #dbe6ed;margin-top:13px;padding-top:17px;color:#0c607f}
.doc-margin-profit strong{color:#14587b}
.doc-margin-discount-note{font-size:11px;color:#667f90;line-height:1.5;margin:8px 0 0}
.doc-margin-cta{padding-top:18px;margin-top:12px;border-top:1px solid #e5edf2}
.doc-margin-cta .btn{min-height:41px}
.doc-margin-dialog{display:flex;flex-direction:column;gap:17px;color:#2e485a}
.doc-margin-dialog-note{font-size:14px;line-height:1.55;margin:2px 0 0;color:#4b6373}
.doc-margin-dialog-grid{display:grid;gap:11px}
.doc-margin-dialog-row{display:grid;grid-template-columns:minmax(165px,1.35fr) minmax(135px,1.05fr) minmax(110px,.85fr) minmax(145px,1fr);gap:12px;align-items:end;padding:13px;border:1px solid #dbe5ed;border-radius:10px;background:#fbfdfe}
.doc-margin-dialog-row:nth-child(even){background:#f6f9fb}
.doc-margin-dialog-name{display:flex;flex-direction:column;gap:5px;padding-bottom:9px}
.doc-margin-dialog-name strong{font-size:14px;color:#294b62}
.doc-margin-dialog-name small{font-size:11px;color:#71879a}
.doc-margin-dialog-row label{display:flex;flex-direction:column;gap:7px;min-width:0;color:#4d6374;font-size:11px;font-weight:750}
.doc-margin-dialog-row input,.doc-margin-dialog-cost output{display:flex;align-items:center;justify-content:flex-end;width:100%;height:43px;min-width:0;padding:9px 10px;text-align:right;background:white;border:1px solid #c6d6e2;border-radius:8px;color:#28465b;font-weight:750;font-size:15px;font-variant-numeric:tabular-nums}
.doc-margin-dialog-row input:focus{outline:3px solid #d4edf9;outline-offset:0;border-color:#438cb5}
.doc-margin-dialog-row input:disabled{background:#f0f4f7;color:#91a1ae}
.doc-margin-dialog-cost output{background:#edf2f6;color:#536a7c}
.doc-margin-preview{background:#e9f4fa;border:1px solid #cde1ed;border-radius:10px;padding:16px}
.doc-margin-preview>div{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:15px;font-weight:800}
.doc-margin-preview strong{font-size:23px;color:#145d86;font-variant-numeric:tabular-nums}
.doc-margin-preview strong.is-negative{color:#b34747}
.doc-margin-preview small{display:block;margin-top:8px;color:#456778;line-height:1.5}
.doc-margin-preview .error-text{color:#a43d3d}
.doc-margin-dialog-warning{font-size:12px;line-height:1.55;color:#856447;background:#fff8ef;border-left:3px solid #d7a66a;border-radius:5px;padding:12px 14px;margin:0}
@media(max-width:1470px){
 .doc-positions-heading,.doc-item-grid{grid-template-columns:32px 119px 67px 83px minmax(220px,2fr) 91px 88px 88px 99px 103px;gap:6px}
 .doc-editor-group{min-width:1120px}
 .doc-item-detail{grid-template-columns:minmax(260px,3fr) 135px 150px auto}
}
@media(max-width:1100px){
 .doc-finance-layout{grid-template-columns:1fr}
 .doc-finance-totals,.doc-finance-margin{padding:17px}
 .doc-margin-dialog-row{grid-template-columns:repeat(2,minmax(0,1fr))}
 .doc-margin-dialog-name{grid-column:1/-1;padding-bottom:0}
}
@media(max-width:720px){
 .doc-items-toolbar{align-items:flex-start}
 .doc-collapse-actions{width:100%}
 .doc-finance-layout{gap:12px}
 .doc-margin-dialog-row{grid-template-columns:1fr}
 .doc-margin-dialog-cost output{justify-content:flex-start}
 .doc-margin-dialog-name{grid-column:auto}
 .doc-margin-dialog-row input{text-align:left}
 .doc-finance-margin,.doc-finance-totals{padding:14px}
 .doc-advanced-markups{padding:0 11px}
}
@media(prefers-reduced-motion:reduce){
 .doc-group-chevron{transition:none}
}

/* Vereinfachte Dokumentansicht – Detailaufstellung ausschließlich im Margenfenster. */
.doc-editor-footer{display:flex;flex-direction:column;gap:14px;margin:16px 0 22px}
.doc-editor-margin-action{display:flex;justify-content:flex-end}
.doc-editor-margin-action .btn{min-width:205px}
.doc-editor-footer .doc-finance-totals{width:100%;padding:18px 22px}
.doc-editor-footer .doc-finance-totals h3{margin:0 0 12px}
.doc-editor-group .doc-item-detail{background:#f9fbfd;padding:8px 12px;border-top:1px solid #e7edf2}


/* Kunden-Sonderpreise: suchbare Auswahl im Kundenstamm und direkt im Beleg. */
.doc-special-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:6px 0 3px}
.doc-special-actions .btn{flex:0 1 auto}
.special-prices-existing,.special-prices-create{margin:12px 0 18px;padding:14px 16px;border:1px solid #dce6ef;border-radius:10px;background:#fbfdff}
.special-prices-existing h3,.special-prices-create h3{margin:0 0 12px;font-size:15px;font-weight:700}
.special-prices-existing .field,.special-prices-create .field{margin-bottom:8px}
.special-prices-existing .table-wrap{margin-top:12px;max-height:300px;overflow:auto}
.special-prices-existing .table-wrap table{width:100%}
.special-prices-create .form-grid{margin-top:12px}
.special-prices-create select,.special-prices-existing input[type=search],.special-prices-create input[type=search]{width:100%}
@media(max-width:700px){.doc-special-actions{display:grid;grid-template-columns:1fr}.doc-special-actions .btn{width:100%}
.special-prices-existing,.special-prices-create{padding:11px}}
