/* Nur Kostenstellen-Unterlagen; bestehende Fahrer-/Dispo-Regeln bleiben erhalten. */
.fpu-tour-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:10px}
.fpu-tour-actions .rp-mobile-overall-route{height:100%;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;padding:9px 8px}
.fpu-tour-actions .rp-mobile-overall-route strong{font-size:14px;overflow-wrap:anywhere}
.fpu-tour-actions .rp-mobile-overall-route-arrow{grid-column:3}
.fpu-tour-docs{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border:1px solid rgba(37,99,235,.24);border-radius:13px;background:#eff6ff;color:#1d4ed8;font-weight:800;cursor:pointer;padding:8px}
.fpu-tour-docs svg{flex:none}
.fpu-modal{position:fixed;inset:0;z-index:100000;display:flex;flex-direction:column;height:100%;height:100dvh;background:#f4f7fb;color:#1f2937;font:15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
.fpu-modal *, .fpu-admin *{box-sizing:border-box}
.fpu-viewer-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(12px + env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) 12px max(12px,env(safe-area-inset-left,0px));border-bottom:1px solid #dbe3ef;background:white;box-shadow:0 2px 8px #00000009}
.fpu-viewer-head h2{font-size:18px;margin:0;overflow-wrap:anywhere;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fpu-viewer-head>div{display:flex;gap:8px;flex:none}
.fpu-modal .btn{min-height:44px;border:1px solid #cbd5e1;border-radius:12px;background:white;color:#1f2937;padding:8px 12px;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}
.fpu-modal .btn[hidden]{display:none}
.fpu-modal button:focus-visible,.fpu-admin button:focus-visible{outline:3px solid #2563eb;outline-offset:2px}
.fpu-viewer-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding-bottom:env(safe-area-inset-bottom,0px);-webkit-overflow-scrolling:touch}
.fpu-message{padding:24px;margin:0;overflow-wrap:anywhere}
.fpu-file-list{max-width:850px;margin:0 auto;padding:16px;display:grid;gap:10px}
.fpu-file-item{display:grid;grid-template-columns:48px minmax(0,1fr) 14px;align-items:center;gap:12px;border:1px solid #dbe3ef;border-radius:14px;background:white;color:#1f2937;padding:16px;text-align:left;font:inherit;cursor:pointer;min-height:72px}
.fpu-file-item strong,.fpu-file-item small{display:block;overflow-wrap:anywhere}
.fpu-file-item small{color:#64748b;margin-top:4px}
.fpu-file-type{padding:8px 0;text-align:center;border-radius:8px;background:#eaf2ff;color:#1d4ed8;font-size:12px;font-weight:800}
.fpu-pdf-tools{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:10px;background:white;position:sticky;top:0;z-index:1;border-bottom:1px solid #e2e8f0}
.fpu-modal button:disabled{opacity:.45;cursor:default}
.fpu-canvas-wrap{padding:16px;min-width:100%;width:max-content}
.fpu-canvas-wrap canvas{display:block;margin:auto;background:white;box-shadow:0 2px 9px #0002}
.fpu-image-wrap{min-height:100%;display:flex;justify-content:center;align-items:flex-start;padding:16px}
.fpu-image-wrap img{max-width:100%;height:auto;object-fit:contain}
.fpu-admin{padding:20px;width:100%;max-width:1250px;margin:auto}
.fpu-admin h2{margin:0 0 12px}.fpu-admin section{background:var(--panel,#fff);border:1px solid var(--border,#dbe3ef);border-radius:16px;padding:18px;margin:16px 0}
.fpu-admin label{display:flex;flex-direction:column;gap:6px;font-weight:700;min-width:0}.fpu-admin .fpu-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:16px;margin-bottom:16px}
.fpu-admin .fpu-filter-row{grid-template-columns:minmax(0,1fr) auto}.fpu-admin .fpu-filter-row>div{display:flex;justify-content:flex-end}
.fpu-admin .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.fpu-admin input,.fpu-admin select{font:inherit;font-weight:400;border:1px solid #cbd5e1;border-radius:8px;padding:10px;min-height:44px;width:100%;max-width:100%;background:var(--panel,#fff);color:inherit}
.fpu-admin .fpu-status{margin:12px 0;white-space:pre-line}.fpu-admin .fpu-status:empty{display:none}.fpu-admin .fpu-status.error{color:#b91c1c}
.fpu-admin-list{display:grid;gap:12px}.fpu-admin-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--border,#dbe3ef);border-radius:12px;padding:14px}
.fpu-admin-item strong,.fpu-admin-item small{display:block;overflow-wrap:anywhere}.fpu-admin-item small{color:var(--muted,#64748b);margin-top:4px}
.fpu-admin-item>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.fpu-edit{grid-column:1/-1;border-top:1px solid #dbe3ef;padding-top:14px}
@media(max-width:820px){.fpu-admin input,.fpu-admin select,.fpu-admin .btn{min-height:48px}}
@media(max-width:560px){.fpu-viewer-head{flex-wrap:wrap;gap:8px}.fpu-viewer-head h2{width:100%;font-size:16px}.fpu-viewer-head>div{width:100%;justify-content:space-between}.fpu-viewer-head [data-fpu-action="close"]{margin-left:auto}.fpu-admin{padding:12px}.fpu-admin .fpu-form-row{grid-template-columns:1fr}.fpu-admin .fpu-filter-row .btn{width:100%}.fpu-admin-item{grid-template-columns:1fr}.fpu-tour-docs{gap:6px;font-size:13px}.fpu-tour-actions .rp-mobile-overall-route-icon{font-size:15px}}

/* Globaler Fahrerhinweis in der Tourunterlagen-Verwaltung. */
.fpu-driver-notice-admin h3{margin:0 0 6px}.fpu-driver-notice-admin>p,.fpu-notice-head p{margin:0;color:var(--muted,#64748b)}
.fpu-notice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.fpu-notice-limit{flex:none;display:inline-flex;align-items:baseline;gap:3px;padding:5px 9px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:12px;font-weight:700}.fpu-notice-limit strong{font-size:13px;color:#0f172a}
.fpu-admin textarea{font:inherit;font-weight:400;border:1px solid #cbd5e1;border-radius:8px;padding:10px;min-height:92px;width:100%;max-width:100%;resize:vertical;background:var(--panel,#fff);color:inherit}
.fpu-notice-meta{margin:9px 0 0}.fpu-notice-status{margin:10px 0 0;white-space:pre-line}.fpu-notice-status:empty{display:none}.fpu-notice-status.error{color:#b91c1c}
.fpu-notice-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.fpu-notice-preview{display:flex;flex-direction:column;gap:3px;margin-top:12px;padding:11px 13px;border:1px solid #ef4444;border-radius:12px;background:#fef2f2;color:#991b1b}
@media(max-width:560px){.fpu-notice-head{flex-direction:column}.fpu-notice-limit{align-self:flex-start}.fpu-notice-actions .btn{width:100%}}
