:root{--green:#184c3a;--navy:#24342d;--sand:#f7f5f0;--blue:#416783}body{background:#f8f7f3}header{position:sticky;top:0;background:#fffffff2;backdrop-filter:blur(12px);border-bottom:1px solid #e7e7e2;box-shadow:0 3px 16px #24342d0a}.logo{font-size:15px}.header-nav{gap:20px!important}.user{gap:10px!important}.language-switch{background:#f1f2ef!important}.stats article{background:#314d43}.stats article:nth-child(2){background:#526a76}.stats article:nth-child(3){background:#e8ecea}.eyebrow{color:#416783}.card,.expense{border-color:#e2e4e0;box-shadow:0 5px 20px #25372f0a}.expense-icon{background:#e9eef1;color:#345c70}.flat-rate-box{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#eef2f4;border:1px solid #d9e1e5;border-radius:12px;padding:14px 16px;margin-bottom:16px}.flat-rate-box p{margin:0;color:#56676f;font-size:13px}.flat-rate-box button{background:#416783}.total-card{background:#243d34!important;color:#fff;border:0!important}.total-card h3{color:#cbdad3}.total-line{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px solid #ffffff22}.total-line:last-child{border:0}.total-line strong{font-size:20px}.no-receipt{display:inline-block;margin-top:8px;color:#60716a;font-size:12px;font-weight:700}.receipt-viewer{height:calc(100vh - 68px);background:#202925;display:grid;grid-template-rows:auto 1fr}.receipt-toolbar{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:12px 20px;border-bottom:1px solid #ddd}.receipt-toolbar p{margin:0}.receipt-frame{width:100%;height:100%;border:0;background:#e9ecea}.close-viewer{background:#24342d}.site-footer{background:#f1f1ed}@media(max-width:760px){header{height:auto;min-height:68px;flex-wrap:wrap;gap:8px;padding:10px 16px}.header-nav{gap:9px!important;flex-wrap:wrap;row-gap:8px}.user>span{display:none}.flat-rate-box{align-items:flex-start;flex-direction:column}.receipt-viewer{height:calc(100vh - 86px)}}
.report-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.pdf-download-button{display:inline-flex;align-items:center;padding:9px 14px;border-radius:8px;background:#416783;color:#fff;text-decoration:none;font-size:13px;font-weight:800}.pdf-download-button:hover{background:#34566d}@media(max-width:760px){.report-topbar{align-items:flex-start;flex-direction:column}.pdf-download-button{width:100%;justify-content:center}}
.receipt-validation{margin:10px 0 14px;padding:10px 12px;border-radius:8px;background:#f8eaea;color:#8a3d3d;font-size:12px;font-weight:700}
.meal-hint{margin:0 0 24px;padding:0;overflow:hidden;border-left:4px solid #416783;background:#f8fbfc}.meal-summary{display:flex;min-height:82px;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;cursor:pointer;list-style:none;background:#fbfcfc;color:#304e5e;transition:background .18s ease}.meal-summary::-webkit-details-marker{display:none}.meal-summary:hover{background:#f5f8f9}.meal-hint[open]>.meal-summary{border-bottom:1px solid #d7e0e5}.meal-summary-main,.meal-summary-meta{display:flex;align-items:center}.meal-summary-main{min-width:0;gap:13px}.meal-info-icon{display:grid;flex:0 0 38px;height:38px;place-items:center;border-radius:11px;background:#e5eef3;color:#416783;font:700 20px Georgia,serif}.meal-summary-copy{display:flex;min-width:0;flex-direction:column}.meal-summary-copy b{color:#243842;font-size:16px;line-height:1.25}.meal-summary-copy small{margin-top:3px;color:#59676e;font-size:11px;font-weight:600}.meal-private{margin-bottom:3px;color:#416783;font-size:10px;font-weight:800;letter-spacing:.03em}.meal-summary-meta{flex:0 0 auto;gap:15px}.meal-year{padding:5px 9px;border-radius:999px;background:#e5eef3;color:#416783;font-size:11px;font-weight:800}.meal-toggle{display:flex;align-items:center;gap:8px;color:#416783;font-size:12px;font-weight:800}.meal-toggle i{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}.meal-hide{display:none}.meal-hint[open] .meal-show{display:none}.meal-hint[open] .meal-hide{display:inline}.meal-hint[open]>.meal-summary .meal-toggle i{transform:rotate(225deg) translate(-1px,-1px)}.meal-content{padding:18px 20px 20px}.meal-content>p{color:#50636c}.meal-regions{font-weight:750}.meal-table{overflow:hidden;margin:14px 0;border:1px solid #d7e0e5;border-radius:10px;background:#fff}.meal-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(145px,.55fr) minmax(200px,.8fr);gap:12px;padding:10px 12px;border-bottom:1px solid #e6ebee}.meal-row:last-child{border-bottom:0}.meal-row strong{text-align:right}.meal-labels{background:#edf3f6;color:#536873;font-size:11px}.meal-notice{padding:10px 12px;border-radius:8px;background:#f4f0e4;color:#6c5c35!important}.meal-conditions{padding-top:4px}.meal-conditions>summary{cursor:pointer;color:#304e5e;font-size:12px;font-weight:800}.meal-conditions p{font-size:12px;color:#65757d}.meal-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.meal-links a{color:#416783;font-size:12px;font-weight:800}.country-required{display:flex;align-items:end;gap:12px;margin-bottom:18px;padding:14px 16px}.country-required label{flex:1;margin:0}.country-required button{background:#416783}.currency-conversion{grid-column:2/-1;display:grid;grid-template-columns:1fr auto;align-items:end;gap:9px;padding:11px;border-radius:9px;background:#fff2e3;border:1px solid #ecd5ae}.currency-conversion label{margin:0}.currency-conversion button{background:#416783}.legacy-currency{background:#fff2e3;border-color:#ecd5ae;color:#6e552a}@media(max-width:760px){.meal-summary{min-height:74px;padding:13px 14px}.meal-summary-copy small,.meal-toggle>span{display:none}.meal-summary-meta{gap:9px}.meal-info-icon{flex-basis:34px;height:34px}.meal-content{padding:15px 14px 17px}.meal-row{grid-template-columns:1fr}.meal-labels{display:none}.meal-row strong{text-align:left}.country-required,.currency-conversion{grid-column:1/-1;align-items:stretch;grid-template-columns:1fr;flex-direction:column}.country-required{display:flex}}
.report-top-actions,.table-actions{display:flex;align-items:center;gap:9px}.report-top-actions form,.table-actions form{margin:0}.expense-delete{grid-column:2/-1;display:flex;justify-content:flex-end}.expense-delete button{font-size:12px;padding:7px 11px}.report-group-title{margin:24px 0 10px;font-size:18px}.approved-group{margin-top:22px}.approved-group>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;background:#fff;border:1px solid #dfe3e0;border-radius:12px;padding:16px 18px;color:#24342d;font-weight:800;list-style:none}.approved-group>summary::-webkit-details-marker{display:none}.approved-group>summary:after{content:'▾';margin-left:12px;color:#416783}.approved-group[open]>summary{border-radius:12px 12px 0 0}.approved-group[open]>summary:after{transform:rotate(180deg)}.approved-group>.table-wrap{border-radius:0 0 14px 14px;border-top:0}.stale-report td{background:#fff0f0;border-bottom-color:#f0caca}.stale-report:hover td{background:#ffe8e8}.stale-note{display:block;width:max-content;margin-top:6px;padding:3px 7px;border-radius:999px;background:#a43b3b;color:#fff!important;font-size:10px!important;font-weight:800}.table-delete{background:#fff;color:#a43b3b;border:1px solid #e5bcbc;padding:4px 9px;font-size:16px}.table-delete:hover{background:#fff0f0}@media(max-width:760px){.report-top-actions{width:100%;align-items:stretch;flex-direction:column}.report-top-actions form,.report-top-actions button{width:100%}.expense-delete{grid-column:1/-1}.approved-group>summary{padding:14px}}
.withdraw-submission{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin:0 0 24px;padding:16px 18px;border-color:#d8e2dd;background:#f8fbf9}.withdraw-submission-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:#e4eee9;color:#285d47;font-size:24px;font-weight:800}.withdraw-submission h2{margin:0 0 3px;font-size:16px}.withdraw-submission p{margin:0;color:#66766f;font-size:12px}.withdraw-submission form{margin:0}.withdraw-submission button{white-space:nowrap}@media(max-width:700px){.withdraw-submission{grid-template-columns:auto 1fr}.withdraw-submission form{grid-column:1/-1}.withdraw-submission button{width:100%}}
.approved-group{margin-top:28px;overflow:hidden;background:#eef1ef;border:1px solid #dce2de;border-radius:16px;box-shadow:0 7px 24px #25372f0b}.approved-group>summary{min-height:82px;padding:16px 20px!important;background:#fbfcfb!important;border:0!important;border-radius:0!important;transition:background .18s ease}.approved-group>summary:hover{background:#f6f8f7!important}.approved-group>summary:after{display:none!important;content:none!important}.approved-group[open]>summary{border-bottom:1px solid #dce2de!important}.archive-summary-main,.archive-summary-meta{display:flex;align-items:center}.archive-summary-main{gap:14px;min-width:0}.archive-summary-main>span:last-child{display:flex;min-width:0;flex-direction:column}.archive-summary-main b{font-size:16px;line-height:1.25}.archive-summary-main small{margin-top:3px;color:#58675f;font-size:12px;font-weight:500}.archive-icon{display:grid;flex:0 0 42px;height:42px;place-items:center;border-radius:12px;background:#e1eee7;color:#246046;font-size:18px;font-weight:900}.archive-summary-meta{gap:18px;margin-left:20px}.archive-count{display:grid;min-width:34px;height:28px;padding:0 9px;place-items:center;border-radius:999px;background:#243d34;color:#fff;font-size:12px;font-weight:850}.archive-toggle{display:flex;align-items:center;gap:8px;color:#416783;font-size:12px;font-weight:800}.archive-toggle i{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}.archive-hide{display:none}.approved-group[open] .archive-show{display:none}.approved-group[open] .archive-hide{display:inline}.approved-group[open] .archive-toggle i{transform:rotate(225deg) translate(-1px,-1px)}.archive-content{padding:14px;background:#eef1ef}.archive-content>.table-wrap{border-color:#dce2de;border-radius:11px;box-shadow:none}@media(max-width:760px){.archive-summary-main small{display:none}.archive-summary-meta{gap:10px;margin-left:10px}.archive-toggle>span{display:none}.archive-icon{flex-basis:36px;height:36px;border-radius:10px}.archive-content{padding:8px}}
.delete-control{border:1px solid #e4d6d6;background:#f8f5f5;color:#875252;box-shadow:none;font-size:12px;font-weight:750;line-height:1;padding:10px 13px;transition:background .16s ease,border-color .16s ease,color .16s ease}.delete-control:hover{border-color:#d8b8b8;background:#f4eaea;color:#7b3737}.delete-control:focus-visible{outline:3px solid #dbaaaa66;outline-offset:2px}.delete-control.compact{padding:7px 10px;border-radius:7px;font-size:11px}.table-actions{white-space:nowrap}.table-actions .arrow{margin-right:2px}
.statistics-panel{margin-top:38px;overflow:hidden;border:1px solid #d9e0e4;border-radius:16px;background:#edf1f3;box-shadow:0 8px 28px #2537430d}.statistics-panel>summary{display:flex;min-height:84px;align-items:center;justify-content:space-between;padding:17px 20px;cursor:pointer;list-style:none;background:#fbfcfd;transition:background .18s ease}.statistics-panel>summary::-webkit-details-marker{display:none}.statistics-panel>summary:hover{background:#f6f8f9}.statistics-panel[open]>summary{border-bottom:1px solid #d9e0e4}.statistics-summary-main,.statistics-toggle{display:flex;align-items:center}.statistics-summary-main{gap:14px}.statistics-summary-main>span:last-child{display:flex;flex-direction:column}.statistics-summary-main b{font-size:16px;line-height:1.25}.statistics-summary-main small{margin-top:3px;color:#596870;font-size:12px;font-weight:500}.statistics-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:#e3edf3;color:#416783;font:700 20px Georgia,serif}.statistics-toggle{gap:9px;color:#416783;font-size:12px;font-weight:800}.statistics-toggle i{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}.statistics-hide{display:none}.statistics-panel[open] .statistics-show{display:none}.statistics-panel[open] .statistics-hide{display:inline}.statistics-panel[open] .statistics-toggle i{transform:rotate(225deg) translate(-1px,-1px)}.statistics-content{padding:16px;background:#edf1f3}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:12px}.metric-grid article{min-height:104px;padding:15px;border:1px solid #dce3e6;border-radius:11px;background:#fff}.metric-grid article>span{display:block;min-height:36px;color:#56666d;font-size:11px;font-weight:700;line-height:1.3}.metric-grid article>strong{display:flex;align-items:baseline;gap:5px;margin-top:8px;color:#243842;font:30px Georgia,serif}.metric-grid article>strong small{color:#59676e;font:600 11px system-ui,-apple-system,sans-serif}.metric-grid .metric-warning{border-color:#e6cccc;background:#fff7f7}.metric-grid .metric-warning strong{color:#973f3f}.statistics-detail-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:12px}.statistics-card{min-height:210px;padding:18px;border:1px solid #dce3e6;border-radius:11px;background:#fff}.statistics-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.statistics-card-head h3{margin:0;font-size:15px}.statistics-card-head span{color:#5d6a70;font-size:10px;font-weight:700;text-align:right}.category-bars{display:grid;gap:13px}.category-bar>div{display:flex;justify-content:space-between;margin-bottom:5px;font-size:12px}.category-bar>div span{color:#50636c}.category-bar>div strong{color:#243842}.category-bar>i{display:block;height:7px;overflow:hidden;border-radius:999px;background:#e9eef0}.category-bar>i>b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#416783,#7195ab)}.currency-totals{display:grid;gap:9px}.currency-totals>div{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:11px 12px;border-radius:9px;background:#f3f6f7}.currency-totals span{color:#57676f;font-size:11px;font-weight:800}.currency-totals strong{color:#243842;font-size:15px}.statistics-empty{margin:34px 0;color:#5d6a70;font-size:12px;text-align:center}@media(max-width:900px){.metric-grid{grid-template-columns:repeat(3,1fr)}.statistics-detail-grid{grid-template-columns:1fr}}@media(max-width:600px){.statistics-panel{margin-top:28px}.statistics-summary-main small,.statistics-toggle>span{display:none}.statistics-content{padding:8px}.metric-grid{grid-template-columns:repeat(2,1fr);gap:8px}.metric-grid article{min-height:92px;padding:12px}.metric-grid article>strong{font-size:25px}.statistics-card{padding:14px}.statistics-icon{width:36px;height:36px}.statistics-detail-grid{gap:8px}}
.viewer-actions{display:flex;align-items:center;gap:9px}.viewer-download{display:inline-flex;align-items:center;padding:8px 11px;border-radius:7px;background:#eef2f4;color:#345b70;text-decoration:none;font-size:12px;font-weight:800}.viewer-download:hover{background:#e2e9ed}.pdf-fallback{display:grid;height:100%;place-items:center;align-content:center;gap:12px;background:#eef1ef;color:#586861;text-align:center}.pdf-fallback p{margin:0}.pdf-fallback a{padding:9px 13px;border-radius:7px;background:#416783;color:#fff;text-decoration:none;font-weight:800}
/* Standardzoom 75% + Mausrad-Zoom (Rückmeldung nach der Demo): gemeinsam von receipt.php (Beleg-Viewer) und
   pdf-viewer.php (allgemeiner PDF-Betrachter, z. B. "Original-PDF ansehen", genehmigtes PDF) genutzt - vorher
   nur lokal in receipt.php definiert, jetzt hierher verschoben statt dupliziert. */
.receipt-zoom{display:flex;align-items:center;gap:8px}
.receipt-zoom button{width:28px;height:28px;padding:0;border-radius:7px;background:#edf0ee;color:var(--ink);font-weight:800;font-size:15px;line-height:1}
.receipt-zoom input[type=range]{width:130px;margin:0}
.receipt-zoom output{min-width:40px;text-align:right;font-size:12px;font-weight:700;color:var(--muted)}
.receipt-stage{width:100%;height:100%;overflow:auto;background:#e9ecea;display:flex}
.receipt-image,.receipt-stage canvas{display:block;margin:auto;max-width:none}
.receipt-pagenav{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;background:#17251fe6;color:#fff;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:700;box-shadow:0 6px 20px #0003}
/* Same bug pattern as .expense-main span (fixed 2ff1e02): an author-CSS display property ties in specificity
   with the UA [hidden]{display:none} rule, and author styles win ties - so the bar rendered even while
   [hidden] for a single-page PDF. This more specific selector restores the hidden behavior. */
.receipt-pagenav[hidden]{display:none}
.receipt-pagenav button{width:26px;height:26px;padding:0;border-radius:50%;background:#ffffff26;color:#fff;font-weight:800}
.receipt-pagenav button:disabled{opacity:.35}
@media(max-width:600px){.receipt-toolbar{gap:10px;padding:10px 12px}.receipt-toolbar p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-actions{flex:0 0 auto}.viewer-download{display:inline-block;font-size:0}.viewer-download:first-letter{font-size:14px}.close-viewer{padding:9px 11px;font-size:11px}.receipt-zoom input[type=range]{width:80px}
 /* Runde 10 (Fund u11-04): Titel, Zoom-Regler und "Beleg schließen" passten am Handy zusammen nicht in eine Zeile -
    die Leiste ragte über den Bildschirmrand, "Beleg schließen" war teils nicht mehr erreichbar. Titel und
    Schließen-Knopf bleiben in einer Zeile (wie bisher), der Zoom-Regler bekommt eine eigene, zentrierte Zeile. */
 .receipt-toolbar{flex-wrap:wrap;row-gap:8px}
 .receipt-toolbar p{order:1;flex:1 1 auto;min-width:0}
 .close-viewer{order:2}
 .receipt-zoom{order:3;flex:0 0 100%;justify-content:center}
}

/* Betrachter eines Auftrags: Leiste mit allen PDFs des Auftrags (neueste zuerst). */
.pdf-doc-switch{display:flex;flex-wrap:wrap;gap:8px;padding:8px 20px;background:#f4f6f5;border-bottom:1px solid #ddd}
.pdf-password{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 20px;background:#fff6dd;border-bottom:1px solid #e3d29a;color:#3d2f05}
.pdf-password[hidden],.pdf-password-wrong[hidden]{display:none}
.pdf-password input{min-width:200px}
.pdf-password-wrong{margin:0;font-weight:700;color:#8a1c14}
#pdf-error{margin:12px 20px}
html[data-theme="dark"] .pdf-password{background:#3a3115;border-bottom-color:#5c4e1f;color:#f3e7c0}
html[data-theme="dark"] .pdf-password-wrong{color:#ffb4ab}
.pdf-doc-chip{display:flex;flex-direction:column;padding:6px 12px;border:1px solid #d5dcd8;border-radius:8px;background:#fff;color:var(--ink);text-decoration:none;font-size:13px;line-height:1.3}
.pdf-doc-chip small{color:var(--muted);font-size:11px}
.pdf-doc-chip .pdf-doc-file{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pdf-doc-chip:hover{border-color:var(--green)}
.pdf-doc-chip.active{border-color:var(--green);background:var(--mint);box-shadow:inset 0 0 0 1px var(--green)}
@media(max-width:600px){.pdf-doc-switch{padding:8px 12px}}

/* Hinweis unter dem Zoomregler: Strg/Cmd + Mausrad zoomt (am Handy ohne Mausrad ausgeblendet). */
.receipt-zoom{flex-wrap:wrap}
.zoom-hint{flex-basis:100%;font-size:11px;line-height:1.2;opacity:.7}
@media(max-width:820px){.zoom-hint{display:none}}
