* { box-sizing:border-box; margin:0; padding:0; font-family:var(--font-family); }
html { overflow-y:scroll; }
html.modal-open,body.modal-open { overflow:hidden !important; }
:root {
  --required-static:#6b7280; --required-dynamic:#dc2626; --required-conditional:#b45309;
  --primary:#374d58; --primary-dark:#2b3d46; --sidebar:#374d58; --secondary:#2e86ab; --accent:#f18f01;
  --positive-bg:#dcfce7; --positive-text:#166534; --positive-border:#bbf7d0; --positive-solid:#22c55e;
  --blue:#2e86ab; --green:var(--positive-solid); --red:#cf1322; --bg:#f0f2f5; --surface:#fff; --white:#fff;
  --border:#e5eaee; --text:#262626; --muted:#7b8790; --text-muted:rgba(255,255,255,.55);
  --radius:8px; --font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --menu-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --menu-font-size:14px; --menu-text-color:#fff;
  --font-size-caption:10px; --font-size-small:11px; --font-size-label:12px; --font-size-body:13px;
  --font-size-medium:14px; --font-size-subtitle:15px; --font-size-heading-small:16px;
  --font-size-dialog-title:17px; --font-size-page-title:20px; --font-size-metric:22px;
  --line-height-tight:1.25; --line-height-body:1.4; --line-height-relaxed:1.5;
}
body { background:var(--bg); color:var(--text); font-size:var(--font-size-body); line-height:var(--line-height-body); }
button,input,select,textarea { font:inherit; }
.hidden { display:none !important; }

/* Initialer Sitzungs-Bootstrap: verhindert, dass beim Öffnen eines Arbeitsfensters
   kurz der Anmeldedialog sichtbar wird. */
#boot-screen { display:none; position:fixed; inset:0; z-index:10000; align-items:center; justify-content:center; background:var(--bg); color:var(--text); }
body.booting #boot-screen { display:flex; }
body.booting #login-screen,
body.booting #app { display:none !important; }
.boot-card { min-width:310px; max-width:calc(100vw - 32px); display:grid; grid-template-columns:48px minmax(0,1fr) 24px; align-items:center; gap:14px; padding:18px 20px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:0 10px 30px rgba(0,0,0,.10); }
.boot-brandmark { width:48px; height:48px; border-radius:12px; display:grid; place-items:center; background:var(--primary); color:#fff; font-size:24px; font-weight:800; }
.boot-copy { display:flex; flex-direction:column; gap:3px; min-width:0; }
.boot-copy strong { color:var(--primary); font-size:var(--font-size-subtitle); }
.boot-copy span { color:var(--muted); font-size:var(--font-size-small); line-height:1.35; }
.boot-spinner { width:20px; height:20px; border:2px solid color-mix(in srgb,var(--primary) 18%,transparent); border-top-color:var(--primary); border-radius:50%; animation:mindsoft-boot-spin .8s linear infinite; }
@keyframes mindsoft-boot-spin { to { transform:rotate(360deg); } }

/* Login */
#login-screen { position:fixed; inset:0; background:linear-gradient(135deg,var(--primary) 0%,var(--secondary) 100%); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:20px; z-index:9999; }
.login-brandmark { width:62px; height:62px; border-radius:16px; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.28); color:#fff; display:flex; align-items:center; justify-content:center; font-size:32px; font-weight:800; box-shadow:0 12px 30px rgba(0,0,0,.18); }
.login-card { background:#fff; border-radius:12px; padding:36px; width:360px; max-width:calc(100vw - 32px); box-shadow:0 20px 60px rgba(0,0,0,.3); }
.login-logo { text-align:center; margin-bottom:24px; }
.login-logo .brand { font-size:27px; font-weight:700; color:var(--primary); }
.login-logo .sub { font-size:var(--font-size-body); color:#888; margin-top:4px; }
.btn-login { width:100%; padding:10px; background:var(--primary); color:#fff; border:none; border-radius:6px; font-size:var(--font-size-medium); font-weight:600; cursor:pointer; margin-top:5px; }
.btn-login:hover { background:var(--primary-dark); }

/* App-Shell */
#app { display:none; }
.layout { display:flex; min-height:100vh; }
.sider { width:220px; background:var(--sidebar); position:fixed; height:100vh; left:0; top:0; z-index:100; transition:width .2s; display:flex; flex-direction:column; font-family:var(--menu-font-family); }
.sider button { font-family:var(--menu-font-family); }
.sider.collapsed { width:80px; }
.sider-logo { flex:0 0 auto; padding:13px 16px; min-height:60px; border-bottom:1px solid rgba(255,255,255,.1); margin-bottom:6px; overflow:hidden; white-space:nowrap; display:flex; align-items:center; gap:11px; }
.brand-symbol { width:32px; height:32px; border-radius:8px; flex:0 0 32px; background:rgba(255,255,255,.14); color:#fff; display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:800; }
.sider-logo .brand-text { display:flex; flex-direction:column; overflow:hidden; }
.sider-logo .brand-name { color:var(--menu-text-color); font-size:var(--font-size-heading-small); font-weight:700; }
.sider-logo .brand-sub { color:color-mix(in srgb,var(--menu-text-color) 55%,transparent); font-size:var(--font-size-small); margin-top:1px; overflow:hidden; text-overflow:ellipsis; }
.sider.collapsed .sider-logo { justify-content:center; padding:13px 8px; }
.sider.collapsed .brand-text { display:none; }
.sider-search { flex:0 0 auto; min-height:34px; margin:2px 12px 7px; padding:0 9px; display:flex; align-items:center; gap:7px; border:1px solid rgba(255,255,255,.14); border-radius:10px; background:rgba(255,255,255,.07); color:color-mix(in srgb,var(--menu-text-color) 64%,transparent); transition:border-color .15s,background .15s,box-shadow .15s; }
.sider-search:hover { background:rgba(255,255,255,.10); border-color:rgba(255,255,255,.22); }
.sider-search:focus-within { background:rgba(255,255,255,.12); border-color:color-mix(in srgb,var(--accent) 72%,white); box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent); }
.sider-search-icon { width:16px; height:16px; flex:0 0 16px; display:grid; place-items:center; }
.sider-search-icon svg { width:16px; height:16px; display:block; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#nav-search-input { min-width:0; width:100%; height:32px; padding:0!important; border:0!important; outline:0!important; box-shadow:none!important; background:transparent!important; color:var(--menu-text-color)!important; font-family:var(--menu-font-family); font-size:calc(var(--menu-font-size) - 1px); }
#nav-search-input::placeholder { color:color-mix(in srgb,var(--menu-text-color) 46%,transparent); opacity:1; }
#nav-search-input::-webkit-search-cancel-button { display:none; }
.sider-search-clear { width:20px; height:20px; flex:0 0 20px; border:0; border-radius:6px; padding:0; display:grid; place-items:center; background:rgba(255,255,255,.08); color:color-mix(in srgb,var(--menu-text-color) 72%,transparent); font-size:16px; line-height:1; cursor:pointer; }
.sider-search-clear:hover { color:var(--menu-text-color); background:rgba(255,255,255,.16); }
.sider.collapsed .sider-search { width:38px; min-height:34px; margin:2px auto 7px; padding:0; justify-content:center; cursor:pointer; }
.sider.collapsed .sider-search-icon { width:18px; height:18px; flex-basis:18px; }
.sider.collapsed .sider-search-icon svg { width:17px; height:17px; }
.sider.collapsed #nav-search-input,.sider.collapsed .sider-search-clear { display:none!important; }
#nav-menu { flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; padding-bottom:12px; scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.22) transparent; }
#nav-menu.nav-searching .nav-toolbar { display:none; }
#nav-menu.nav-searching .nav-group-wrap.collapsed .nav-item:not(.nav-search-hidden) { display:flex; }
#nav-menu .nav-search-hidden { display:none!important; }
.nav-search-empty { padding:20px 16px; text-align:center; color:color-mix(in srgb,var(--menu-text-color) 52%,transparent); font-size:calc(var(--menu-font-size) - 1px); line-height:1.45; }
#nav-menu::-webkit-scrollbar { width:8px; }
#nav-menu::-webkit-scrollbar-thumb { background:rgba(255,255,255,.22); border-radius:4px; }
#nav-menu::-webkit-scrollbar-thumb:hover { background:rgba(255,255,255,.35); }
#nav-menu::-webkit-scrollbar-track { background:transparent; }
#nav-menu .nav-toolbar { position:sticky; top:0; z-index:2; background:var(--sidebar); }
.nav-toolbar { display:flex; align-items:center; gap:8px; padding:9px 16px; cursor:pointer; user-select:none; color:color-mix(in srgb,var(--menu-text-color) 50%,transparent); font-size:calc(var(--menu-font-size) - 3.5px); font-weight:700; letter-spacing:.6px; text-transform:uppercase; border-bottom:1px solid rgba(255,255,255,.10); }
.nav-toolbar:hover { color:var(--menu-text-color); background:rgba(255,255,255,.08); }
.nav-toolbar-icon { font-size:var(--font-size-medium); line-height:1; }
.nav-group { width:100%; border:0; background:none; padding:14px 16px 5px; display:flex; align-items:center; justify-content:space-between; cursor:pointer; user-select:none; }
.nav-toolbar + .nav-group-wrap .nav-group { padding-top:4px; }
.nav-group:hover .nav-group-label,.nav-group:hover .nav-chevron { color:color-mix(in srgb,var(--menu-text-color) 78%,transparent); }
.nav-group-label { color:color-mix(in srgb,var(--menu-text-color) 48%,transparent); font-size:calc(var(--menu-font-size) - 3.5px); font-weight:700; letter-spacing:.7px; text-transform:uppercase; white-space:nowrap; }
.nav-chevron { color:color-mix(in srgb,var(--menu-text-color) 42%,transparent); font-size:var(--font-size-caption); transition:transform .15s; }
.nav-group-wrap.collapsed .nav-chevron { transform:rotate(-90deg); }
.nav-group-wrap.collapsed .nav-item { display:none; }
.nav-item { display:flex; align-items:center; gap:12px; padding:12px 16px; color:color-mix(in srgb,var(--menu-text-color) 72%,transparent); cursor:pointer; font-size:var(--menu-font-size); transition:all .15s; white-space:nowrap; }
.nav-item:hover { color:var(--menu-text-color); background:rgba(255,255,255,.08); }
.nav-item.active { color:var(--menu-text-color); background:rgba(255,255,255,.15); border-right:3px solid var(--accent); }
.nav-icon { width:18px; height:18px; min-width:18px; display:inline-grid; place-items:center; flex:0 0 18px; line-height:1; font-size:0; color:inherit; text-align:center; text-shadow:none !important; -webkit-text-stroke:0 transparent !important; filter:none !important; }
.nav-svg-icon { width:17px; height:17px; display:block; fill:none; color:var(--nav-icon-color,currentColor); stroke:var(--nav-icon-color,currentColor); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.nav-label,.nav-group-label,.nav-toolbar-label { text-shadow:none !important; -webkit-text-stroke:0 transparent !important; filter:none !important; }
.sider.collapsed .nav-toolbar { justify-content:center; padding:10px 0; }
.sider.collapsed .nav-toolbar-label { display:none; }
.sider.collapsed .nav-group { padding:6px 0; margin:0 16px; border-top:1px solid rgba(255,255,255,.12); justify-content:center; cursor:default; }
.sider.collapsed .nav-toolbar + .nav-group-wrap .nav-group { border-top:none; }
.sider.collapsed .nav-group-label,.sider.collapsed .nav-chevron,.sider.collapsed .nav-label { display:none; }
.sider.collapsed .nav-item { justify-content:center; padding:14px 0; }
.sider.collapsed .nav-group-wrap.collapsed .nav-item { display:flex; }

.main-layout { margin-left:220px; width:calc(100% - 220px); transition:margin-left .2s,width .2s; min-height:100vh; background:var(--bg); }
.main-layout.expanded { margin-left:80px; width:calc(100% - 80px); }
.topbar { background:#fff; height:52px; padding:0 20px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--border); position:sticky; top:0; z-index:2000; box-shadow:0 1px 4px rgba(26,58,92,.08); }
.topbar-left { display:flex; align-items:center; gap:12px; min-width:0; }
.collapse-btn { font-size:var(--font-size-dialog-title); cursor:pointer; color:var(--primary); background:none; border:none; padding:4px; }
.page-context { font-size:var(--font-size-body); color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.user-area { display:flex; align-items:center; gap:8px; cursor:pointer; position:relative; }
.avatar { width:30px; height:30px; background:var(--blue); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:var(--font-size-body); font-weight:600; }
.user-name { font-size:var(--font-size-body); color:var(--primary); font-weight:500; }
.role-badge { background:var(--accent); color:#fff; font-size:var(--font-size-caption); font-weight:700; padding:2px 7px; border-radius:10px; }
.user-chevron { color:#8e999f; font-size:var(--font-size-caption); }
.user-dropdown { position:absolute; right:0; top:40px; background:#fff; border:1px solid #e0e0e0; border-radius:8px; box-shadow:0 4px 16px rgba(0,0,0,.12); min-width:235px; display:none; z-index:2100; overflow:hidden; }
.user-dropdown.open { display:block; }
.user-dropdown button { display:block; width:100%; border:0; background:#fff; padding:10px 14px; text-align:left; font-size:var(--font-size-body); color:var(--primary); cursor:pointer; }
.user-dropdown button:hover { background:#f5f7f8; }
.user-dropdown button.danger { color:var(--red); border-top:1px solid #eee; }
.user-dropdown button.danger:hover { background:#fff1f0; }
.user-language-setting { display:flex; flex-direction:column; gap:6px; padding:9px 14px 11px; border-top:1px solid #eee; background:var(--surface,#fff); }
.user-language-setting label { display:flex; align-items:center; gap:6px; color:var(--primary); font-size:var(--font-size-small); font-weight:800; }
.user-language-setting select { width:100%; min-height:34px; padding:5px 28px 5px 8px; border:1px solid #d6dde2; border-radius:6px; background:var(--surface,#fff); color:var(--text,#263238); font:inherit; cursor:pointer; }
.user-language-setting select:focus { border-color:var(--accent); outline:0; box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent); }

/* Pages and cards: intentionally tighter than V04. */
.content { padding:18px 20px; min-height:calc(100vh - 52px); width:100%; }
.page { display:none; width:100%; }
.page.active { display:block; }
.page-header { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:14px; }
.compact-page-header { margin-bottom:12px; }
h1 { color:var(--primary); font-size:var(--font-size-page-title); font-weight:700; margin-bottom:3px; }
.page-header p { color:var(--muted); font-size:var(--font-size-label); }
.card { background:#fff; border-radius:8px; padding:16px; box-shadow:0 1px 4px rgba(0,0,0,.06); margin-bottom:14px; width:100%; }
.management-card { padding:0; overflow:hidden; }
.narrow-card { max-width:520px; }
.compact-form-card { padding:18px; }
.card-title { font-size:var(--font-size-medium); font-weight:600; color:var(--text); margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid #f0f0f0; }
.card-title.no-border { border:0; padding:0; margin:0; }
.card-subtitle { color:var(--muted); font-size:var(--font-size-small); margin-top:3px; }
.card-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:12px; }
.management-card > .card-head { padding:13px 14px 11px; margin:0; border-bottom:1px solid var(--border); }
.card-head.wrap { flex-wrap:wrap; }
.compact-head { min-height:54px; }

.stat-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
.stat-card { background:#fff; border-radius:8px; padding:15px 18px; box-shadow:0 1px 4px rgba(0,0,0,.06); border-top:3px solid var(--primary); }
.stat-card:nth-child(2) { border-top-color:var(--blue); }
.stat-card:nth-child(3) { border-top-color:var(--accent); }
.stat-card .label { font-size:var(--font-size-label); color:#888; margin-bottom:5px; }
.stat-card .value { font-size:var(--font-size-metric); font-weight:700; color:var(--text); }
.stat-card .detail { font-size:var(--font-size-small); color:var(--muted); margin-top:4px; }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.feature-card { border:1px solid var(--border); background:#fff; border-radius:8px; padding:14px; display:flex; align-items:flex-start; gap:11px; text-align:left; cursor:pointer; color:var(--text); transition:transform .12s,border-color .12s,box-shadow .12s; }
.feature-card:hover { transform:translateY(-1px); border-color:var(--blue); box-shadow:0 3px 10px rgba(0,0,0,.06); }
.feature-icon { font-size:var(--font-size-metric); }
.feature-card strong { display:block; color:var(--primary); font-size:var(--font-size-body); margin-bottom:3px; }
.feature-card small { display:block; color:var(--muted); line-height:1.35; font-size:var(--font-size-small); }

/* Forms */
.form-grid { display:grid; gap:11px 14px; }
.form-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.form-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.form-group { margin-bottom:13px; }
.form-grid .form-group { margin-bottom:0; }
.form-group label { display:block; font-size:var(--font-size-label); font-weight:600; color:#555; margin-bottom:4px; }
.form-group input,.form-group select { width:100%; padding:7px 9px; border:1px solid #d9d9d9; border-radius:6px; font-size:var(--font-size-body); outline:none; background:#fff; color:var(--text); min-height:34px; }
.form-group input[readonly],.form-group select:disabled { background:#f7f8f9; color:#6d777d; cursor:not-allowed; }
.form-group input:focus,.form-group select:focus { border-color:var(--primary); box-shadow:0 0 0 2px rgba(55,77,88,.10); }
.form-group small,.field-hint { display:block; font-size:var(--font-size-caption); color:#909ba2; margin-top:4px; line-height:1.35; }
.form-group.compact { margin:0; min-width:210px; }
.form-group.compact label { margin-bottom:2px; font-size:var(--font-size-caption); }
.form-group.compact select { padding:5px 8px; font-size:var(--font-size-label); min-height:30px; }
.section-caption { font-size:var(--font-size-small); font-weight:700; color:var(--primary); text-transform:uppercase; letter-spacing:.05em; border-top:1px solid #eee; padding-top:12px; margin:14px 0 10px; }
.form-actions { display:flex; justify-content:flex-end; margin-top:14px; }
.form-message { margin-top:11px; border-radius:6px; padding:8px 10px; font-size:var(--font-size-label); }
.form-message.success { background:var(--positive-bg); color:var(--positive-text); border:1px solid var(--positive-border); }
.form-message.error { background:#fff1f0; color:#cf1322; border:1px solid #ffa39e; }
.modal-body > .form-message.modal-sticky-message:not(.hidden) { position:sticky; top:var(--modal-message-sticky-top,0); z-index:7; margin:0 0 12px; box-shadow:0 5px 16px rgba(15,23,42,.14); }
.modal-body > .form-message.modal-sticky-message[data-modal-body-scroll-container="true"]:not(.hidden) { margin-top:calc(-1 * var(--modal-message-flow-offset,0px)); }

/* Module assignment */
.module-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 10px; }
.module-option { display:grid; grid-template-columns:auto minmax(0,1fr) 135px; align-items:center; gap:9px; border:1px solid var(--border); border-radius:7px; padding:8px 9px; background:#fafbfc; min-width:0; }
.module-option.active { border-color:#b8c9d1; background:#f7fafb; }
.module-option.expired { border-color:#ffd591; background:#fffbe6; }
.module-option input[type="checkbox"] { width:16px; height:16px; accent-color:var(--primary); cursor:pointer; }
.module-option input[type="checkbox"]:disabled { cursor:not-allowed; }
.module-copy { min-width:0; }
.module-copy strong { display:block; font-size:var(--font-size-label); color:var(--text); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.module-copy small { display:block; font-size:var(--font-size-caption); color:var(--muted); margin-top:1px; font-family:"SFMono-Regular",Consolas,monospace; }
.module-until { width:100%; padding:5px 7px; min-height:30px; border:1px solid #d9d9d9; border-radius:5px; font-size:var(--font-size-small); background:#fff; color:var(--text); }
.module-until:disabled { background:#f1f2f3; color:#9aa2a7; }
.module-summary { display:inline-flex; align-items:center; gap:5px; color:var(--text); }
.module-count { font-weight:600; }
.module-expired-note { color:#d46b08; font-size:var(--font-size-caption); }

/* Controls */
.btn { padding:7px 13px; border-radius:6px; font-size:var(--font-size-label); font-weight:500; cursor:pointer; border:1px solid transparent; display:inline-flex; align-items:center; justify-content:center; gap:5px; transition:all .15s; white-space:nowrap; }
.btn-primary { background:var(--primary); color:#fff; border-color:var(--primary); }
.btn-primary:hover { background:var(--primary-dark); }
.btn-default { background:#fff; color:#555; border-color:#d9d9d9; }
.btn-default:hover { border-color:var(--primary); color:var(--primary); }
.btn-danger { background:#fff; color:var(--red); border-color:#ffb8b5; }
.btn-danger:hover { background:#fff1f0; }
.btn-sm { padding:4px 8px; font-size:var(--font-size-small); min-height:27px; }
.btn:disabled { opacity:.55; cursor:not-allowed; }
.toolbar { display:flex; align-items:flex-end; gap:7px; flex-wrap:wrap; }

/* Tables */
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:var(--font-size-label); }
thead th { background:#fafafa; padding:8px 9px; text-align:left; font-weight:600; color:#555; border-bottom:1px solid #eceff1; white-space:nowrap; }
tbody tr { border-bottom:1px solid #f0f2f3; transition:background .1s; }
tbody tr:last-child { border-bottom:0; }
tbody tr:hover { background:#f7fafb; }
td { padding:8px 9px; color:var(--text); white-space:nowrap; vertical-align:middle; }
.empty-row td { text-align:center; color:#999; padding:24px; white-space:normal; }
.actions { display:flex; justify-content:flex-end; gap:5px; }
.tag { display:inline-block; padding:2px 6px; border-radius:4px; font-size:var(--font-size-caption); font-weight:700; text-transform:uppercase; letter-spacing:.03em; }
.tag-green { background:var(--positive-bg); color:var(--positive-text); }
.tag-red { background:#fff1f0; color:#cf1322; }
.tag-orange { background:#fff7e6; color:#d46b08; }
.tag-default { background:#fafafa; color:#595959; border:1px solid #d9d9d9; }
.mono { font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace; }

/* Modals */
.modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:3000; display:none; align-items:center; justify-content:center; padding:14px; }
.modal-overlay.open { display:flex; }
.modal-box { background:#fff; border-radius:10px; width:600px; max-width:96vw; max-height:92vh; overflow-y:auto; box-shadow:0 8px 40px rgba(0,0,0,.2); }
.modal-box.small { width:430px; }
.modal-box.modal-wide { width:820px; }
.modal-header { padding:14px 18px 11px; border-bottom:1px solid #f0f0f0; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; position:sticky; top:0; background:#fff; z-index:2; }
.modal-header h2 { color:var(--primary); font-size:var(--font-size-dialog-title); margin-bottom:2px; }
.modal-header p { color:var(--muted); font-size:var(--font-size-small); }
.modal-close { border:0; background:none; color:#89949a; cursor:pointer; font-size:var(--font-size-metric); line-height:1; }
.modal-body { padding:15px 18px 4px; }
.modal-footer { padding:11px 18px 14px; display:flex; justify-content:flex-end; gap:7px; border-top:1px solid #f0f0f0; position:sticky; bottom:0; background:#fff; z-index:2; }

#toast { position:fixed; bottom:20px; right:20px; background:var(--primary); color:#fff; padding:10px 15px; border-radius:8px; font-size:var(--font-size-label); z-index:9999; box-shadow:0 4px 16px rgba(0,0,0,.2); transform:translateY(80px); opacity:0; transition:all .25s; pointer-events:none; max-width:420px; }
#toast.show { transform:translateY(0); opacity:1; }
#toast.success { background:var(--positive-text); }
#toast.error { background:#cf1322; }

@media (max-width:980px) {
  .form-grid.three,.feature-grid,.stat-row { grid-template-columns:1fr 1fr; }
  .module-grid { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  html { overflow-y:auto; }
  .sider { transform:translateX(-100%); width:220px; box-shadow:5px 0 20px rgba(0,0,0,.2); }
  .sider.mobile-open { transform:translateX(0); }
  .main-layout,.main-layout.expanded { margin-left:0; width:100%; }
  .content { padding:14px; }
  .user-name,.role-badge { display:none; }
  .page-context { display:none; }
  .form-grid.two,.form-grid.three,.feature-grid,.stat-row { grid-template-columns:1fr; }
  .topbar { padding:0 14px; }
  .card { padding:14px; }
  .management-card { padding:0; }
  .management-card > .card-head { align-items:flex-start; }
  .toolbar { width:100%; }
  .toolbar .btn { flex:1 1 auto; }
  .form-group.compact { min-width:100%; }
  .form-actions { justify-content:stretch; }
  .form-actions .btn { width:100%; }
  .module-option { grid-template-columns:auto minmax(0,1fr); }
  .module-until { grid-column:2; }
}

/* V08: Demo-Navigation und direkte Stammdatenpflege ohne zweite Navigation. */
.master-content-card { min-width:0; margin:0; }
.master-page-header { align-items:flex-end; }
.master-page-actions { justify-content:flex-end; }
.master-search-wrap { height:30px; width:210px; display:flex; align-items:center; gap:5px; padding:0 8px; border:1px solid #d9d9d9; border-radius:6px; background:#fff; color:#89949a; }
.master-search-wrap:focus-within { border-color:var(--primary); box-shadow:0 0 0 2px rgba(55,77,88,.10); }
.master-search-wrap input { border:0; outline:0; min-width:0; width:100%; font-size:var(--font-size-label); color:var(--text); background:transparent; }
.master-cell-main { font-weight:600; color:var(--primary); }
.master-cell-sub { color:var(--muted); font-size:var(--font-size-caption); margin-top:2px; }
.master-row-clickable { cursor:pointer; }
.master-row-clickable:hover .master-cell-main { text-decoration:underline; }
.master-actions { display:flex; justify-content:flex-end; gap:5px; }
.master-status-dot { display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:5px; background:#bfbfbf; }
.master-status-dot.active { background:var(--positive-solid); }
.master-toolbar-note { color:var(--muted); font-size:var(--font-size-caption); }

.master-form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 13px; }
.master-form-grid .span-2 { grid-column:span 2; }
.master-form-grid .span-3 { grid-column:1 / -1; }
.master-form-grid textarea { width:100%; min-height:74px; resize:vertical; padding:7px 9px; border:1px solid #d9d9d9; border-radius:6px; font-size:var(--font-size-body); outline:none; }
.master-form-grid textarea:focus { border-color:var(--primary); box-shadow:0 0 0 2px rgba(55,77,88,.10); }
.master-form-section { grid-column:1 / -1; margin-top:5px; padding-top:10px; border-top:1px solid #edf0f2; color:var(--primary); text-transform:uppercase; letter-spacing:.05em; font-size:var(--font-size-caption); font-weight:750; }
.master-checkbox { min-height:34px; display:flex; align-items:center; gap:8px; border:1px solid #e4e8ea; border-radius:6px; padding:6px 9px; background:#fafbfb; }
.master-form-grid .master-checkbox-group { display:flex; flex-direction:column; justify-content:flex-end; }
.master-checkbox input { width:16px !important; min-height:auto !important; accent-color:var(--primary); }
.master-checkbox label { margin:0; cursor:pointer; }
.modal-box.modal-xwide { width:960px; }
.modal-message { margin:0 auto 0 0; max-width:520px; }

.contact-editor { grid-column:1 / -1; }
.contact-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:7px; }
.contact-list { display:grid; gap:7px; }
.contact-row { display:grid; grid-template-columns:1.3fr 1fr 1fr 1.25fr auto auto; gap:7px; align-items:end; padding:8px; border:1px solid var(--border); border-radius:7px; background:#fafbfc; }
.contact-row .form-group { margin:0; }
.contact-main-check { display:flex; align-items:center; justify-content:center; height:34px; gap:5px; font-size:var(--font-size-caption); color:var(--muted); }
.contact-main-check input { width:15px; height:15px; accent-color:var(--primary); }
.contact-empty { color:var(--muted); font-size:var(--font-size-small); padding:10px; border:1px dashed #d8dfe2; border-radius:7px; text-align:center; }

.inline-price-form { display:grid; grid-template-columns:160px 170px 170px auto; gap:10px; align-items:end; padding:10px; border:1px solid var(--border); border-radius:8px; background:#fafbfc; }
.inline-price-form .form-group { margin:0; }
.price-history { margin-top:13px; border:1px solid var(--border); border-radius:7px; }
.price-history table { margin:0; }

.placeholder-card { min-height:180px; display:flex; align-items:center; justify-content:center; gap:22px; text-align:left; }
.placeholder-card p { color:var(--muted); font-size:var(--font-size-label); margin-top:6px; line-height:1.5; max-width:620px; }
.placeholder-icon { font-size:42px; filter:grayscale(.15); }

@media (max-width:1100px) {
  .master-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .master-form-grid .span-3 { grid-column:1 / -1; }
  .contact-row { grid-template-columns:1fr 1fr; }
  .contact-row .contact-main-check,.contact-row .contact-remove { align-self:center; }
  .inline-price-form { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
  .master-page-header { align-items:flex-start; flex-direction:column; gap:10px; }
  .master-page-actions { width:100%; }
  .master-search-wrap { width:100%; }
  .master-form-grid { grid-template-columns:1fr; }
  .master-form-grid .span-2,.master-form-grid .span-3 { grid-column:auto; }
  .contact-row { grid-template-columns:1fr; }
  .inline-price-form { grid-template-columns:1fr; }
  .placeholder-card { align-items:flex-start; justify-content:flex-start; }
}

/* V07: mandantenspezifisches Branding und CSS. */
.theme-logo { display:block; max-width:100%; max-height:100%; object-fit:contain; }
.login-brandmark .theme-logo { width:52px; height:52px; padding:5px; }
.brand-symbol .theme-logo { width:28px; height:28px; }

/* Die zentralen Theme-Werte wirken auf die komplette Shell, nicht nur auf eine hübsche Vorschau. */
.login-card,.topbar,.card,.stat-card,.feature-card,.modal-box,.modal-header,.modal-footer,.user-dropdown,
.form-group input,.form-group select,.master-search-wrap,.master-checkbox,.contact-row,.inline-price-form {
  background:var(--surface);
}
.card,.stat-card,.feature-card,.modal-box,.user-dropdown,.master-search-wrap,.master-checkbox,
.contact-row,.inline-price-form,.form-group input,.form-group select,.btn,.tag {
  border-radius:var(--radius);
}
.login-card { background:var(--surface); }
.topbar,.modal-header,.modal-footer { background:var(--surface); }
.btn-primary { background:var(--primary); border-color:var(--primary); }
.btn-primary:hover { background:var(--primary-dark); border-color:var(--primary-dark); }
.btn-default { background:var(--surface); color:var(--primary); }
.user-dropdown button { background:var(--surface); color:var(--primary); }
.feature-card { color:var(--text); }
.form-group input,.form-group select,.master-form-grid textarea { color:var(--text); background:var(--surface); }

.design-page-header { align-items:flex-end; gap:16px; }
.design-header-actions { justify-content:flex-end; }
.design-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr); gap:14px; align-items:start; }
.design-preview-card,.design-settings-card,.design-menu-card,.design-css-card,.design-dashboard-card { grid-column:1 / -1; }
.design-logo-card,.design-favicon-card { grid-column:1 / -1; }
.design-live-note { color:var(--muted); font-size:var(--font-size-caption); margin-top:9px; line-height:1.4; }
.design-message { margin-top:0; margin-bottom:14px; }

.tenant-preview {
  --preview-primary:#374d58; --preview-secondary:#2e86ab; --preview-accent:#f18f01;
  --preview-bg:#f0f2f5; --preview-surface:#fff; --preview-text:#262626; --preview-radius:8px;
  --preview-menu-font:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; --preview-menu-size:14px; --preview-menu-color:#fff;
  display:grid; grid-template-columns:190px minmax(0,1fr); min-height:180px; border:1px solid var(--border);
  border-radius:10px; overflow:hidden; background:var(--preview-bg); color:var(--preview-text);
}
.tenant-preview-sidebar { background:var(--preview-primary); color:var(--preview-menu-color); padding:15px 14px; display:flex; flex-direction:column; justify-content:flex-start; gap:12px; font-family:var(--preview-menu-font); }
.preview-brand-row { display:flex; align-items:center; gap:10px; }
.preview-brand-copy { display:flex; flex-direction:column; min-width:0; }
.preview-brand-copy strong { color:var(--preview-menu-color); font-size:var(--font-size-subtitle); }
.preview-brand-copy span { color:color-mix(in srgb,var(--preview-menu-color) 68%,transparent); font-size:var(--font-size-caption); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.preview-brand { width:40px; height:40px; flex:0 0 40px; border-radius:var(--preview-radius); background:rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center; font-size:var(--font-size-page-title); font-weight:800; }
.preview-brand img { width:36px; height:36px; object-fit:contain; padding:3px; }
.preview-menu { display:flex; flex-direction:column; margin:0 -6px; }
.preview-menu-caption { color:color-mix(in srgb,var(--preview-menu-color) 48%,transparent); font-size:calc(var(--preview-menu-size) - 3.5px); font-weight:700; letter-spacing:.6px; text-transform:uppercase; padding:5px 7px 3px; }
.preview-menu-item { color:color-mix(in srgb,var(--preview-menu-color) 72%,transparent); font-size:var(--preview-menu-size); padding:7px; border-radius:5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.preview-menu-item span { display:inline-block; width:20px; }
.preview-menu-item.active { color:var(--preview-menu-color); background:rgba(255,255,255,.15); border-right:3px solid var(--preview-accent); }
.tenant-preview-main { min-width:0; background:var(--preview-bg); }
.preview-topbar { height:34px; background:var(--preview-surface); border-bottom:1px solid rgba(120,130,140,.18); }
.preview-content { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:18px; }
.preview-primary,.preview-default { border-radius:var(--preview-radius); padding:7px 12px; font-size:var(--font-size-small); cursor:default; }
.preview-primary { border:1px solid var(--preview-primary); background:var(--preview-primary); color:#fff; }
.preview-default { border:1px solid rgba(120,130,140,.35); background:var(--preview-surface); color:var(--preview-text); }
.tenant-preview-surface { flex:1 1 180px; min-height:68px; padding:14px; background:var(--preview-surface); color:var(--preview-text); border-left:4px solid var(--preview-accent); border-radius:var(--preview-radius); box-shadow:0 2px 8px rgba(0,0,0,.07); }
.tenant-preview-input { flex:1 1 150px; padding:8px 10px; background:var(--preview-surface); color:var(--preview-text); border:1px solid rgba(120,130,140,.35); border-radius:var(--preview-radius); }

.logo-editor { display:flex; align-items:center; gap:18px; }
.logo-preview-box { width:190px; min-height:88px; border:1px dashed #cfd7db; border-radius:var(--radius); display:flex; align-items:center; justify-content:center; padding:12px; background:var(--surface); color:var(--muted); font-size:var(--font-size-small); }
.logo-preview-box img { max-width:164px; max-height:64px; object-fit:contain; }
.logo-editor-fields { flex:1; display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; }
.logo-editor-fields .form-group { flex:1 1 250px; margin:0; }
.design-logo-url { margin-top:13px; margin-bottom:0; }
.favicon-editor { display:flex; align-items:center; gap:18px; }
.favicon-preview-box { width:92px; height:92px; flex:0 0 92px; border:1px dashed #cfd7db; border-radius:var(--radius); display:flex; align-items:center; justify-content:center; padding:12px; background:
  linear-gradient(45deg,#f3f4f6 25%,transparent 25%),
  linear-gradient(-45deg,#f3f4f6 25%,transparent 25%),
  linear-gradient(45deg,transparent 75%,#f3f4f6 75%),
  linear-gradient(-45deg,transparent 75%,#f3f4f6 75%);
  background-size:16px 16px; background-position:0 0,0 8px,8px -8px,-8px 0;
}
.favicon-preview-box img { width:64px; height:64px; object-fit:contain; image-rendering:auto; }
.favicon-editor-fields { flex:1; display:flex; align-items:flex-end; gap:10px; flex-wrap:wrap; }
.favicon-editor-fields .form-group { flex:1 1 250px; margin:0; }
.design-favicon-url { margin-top:13px; margin-bottom:0; }


.design-preset-group { min-width:230px; }
.design-color-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px 14px; }
.design-color-grid .form-group { margin:0; }
.color-input-row { display:flex; align-items:center; gap:7px; }
.color-input-row input[type="color"] { flex:0 0 40px; width:40px; height:34px; padding:2px; border:1px solid #d9d9d9; border-radius:var(--radius); background:var(--surface); cursor:pointer; }
.color-input-row input[type="text"] { flex:1 1 auto; min-width:0; font-family:"SFMono-Regular",Consolas,monospace; }
.radius-input-row { display:grid; grid-template-columns:minmax(120px,1fr) 70px; align-items:center; gap:10px; }
.radius-input-row input[type="range"] { width:100%; accent-color:var(--primary); }
.radius-input-row input[type="text"] { font-family:"SFMono-Regular",Consolas,monospace; }
.design-menu-subtitle { margin:-5px 0 13px; }
.design-menu-grid { display:grid; grid-template-columns:minmax(240px,1.5fr) minmax(220px,1fr) minmax(220px,1fr); gap:11px 14px; align-items:start; }
.design-menu-grid .form-group { margin:0; }
.menu-size-input-row { display:grid; grid-template-columns:minmax(120px,1fr) 70px; align-items:center; gap:10px; }
.menu-size-input-row input[type="range"] { width:100%; accent-color:var(--primary); }
.menu-size-input-row input[type="text"] { font-family:"SFMono-Regular",Consolas,monospace; }
.design-css-card textarea { width:100%; min-height:220px; resize:vertical; border:1px solid #d9d9d9; border-radius:var(--radius); padding:10px 12px; background:#111827; color:#e5e7eb; font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace; font-size:var(--font-size-label); line-height:1.5; outline:none; }
.design-css-card textarea:focus { border-color:var(--primary); box-shadow:0 0 0 2px rgba(55,77,88,.10); }

@media (max-width:980px) {
  .design-color-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .design-menu-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .design-page-header { align-items:flex-start; flex-direction:column; }
  .design-header-actions { width:100%; justify-content:flex-start; }
}
@media (max-width:720px) {
  .design-grid,.design-color-grid,.design-menu-grid { grid-template-columns:1fr; }
  .tenant-preview { grid-template-columns:1fr; }
  .tenant-preview-sidebar { min-height:120px; }
  .logo-editor,.favicon-editor { align-items:flex-start; flex-direction:column; }
  .logo-preview-box { width:100%; }
  .design-header-actions .form-group.compact { min-width:100%; }
}

/* ── V09: ausgearbeitete Stammdaten-Dialoge aus der MindSoft-Demo ───────── */
.demo-modal { max-width:95vw; max-height:90vh; overflow-y:auto; }
.demo-modal-waage { width:960px; }
.demo-modal-lagerort { width:520px; }
.demo-modal-partner { width:620px; }
.demo-modal-partner-detail { width:720px; }
.demo-modal .modal-header { padding:18px 24px 14px; align-items:center; position:static; background:var(--surface); }
.demo-modal .modal-title { font-size:var(--font-size-dialog-title); font-weight:700; color:var(--primary); }
.demo-modal .modal-body { padding:20px 24px; }
.demo-modal .modal-footer { padding:14px 24px; position:static; }
.demo-modal .modal-close { color:#78858c; }
.demo-modal .form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.demo-modal .form-group-m { margin-bottom:16px; }
.demo-modal .form-group-m label { display:block; font-size:var(--font-size-body); font-weight:500; color:var(--text); margin-bottom:5px; }
/* Pflichtfeld-Herkunft: technisch = grau, dynamisch = rot, unaufgelöst bedingt = orange. */
.required:not(.dynamic-required-marker),.static-required-marker { color:var(--required-static,#6b7280); margin-left:2px; font-weight:800; }
.demo-modal .form-group-m label .required:not(.dynamic-required-marker),
.demo-modal .required:not(.dynamic-required-marker):not(.dynamic-required-active) { color:var(--required-static,#6b7280); }
.demo-modal .form-group-m input,
.demo-modal .form-group-m select,
.demo-modal .form-group-m textarea { width:100%; padding:8px 11px; border:1px solid var(--border); border-radius:6px; font-size:var(--font-size-body); outline:none; color:var(--text); background:var(--surface); min-height:38px; }
.demo-modal .form-group-m input:focus,
.demo-modal .form-group-m select:focus,
.demo-modal .form-group-m textarea:focus { border-color:var(--primary); box-shadow:0 0 0 2px rgba(26,58,92,.08); }
.demo-modal .form-group-m input[readonly] { background:#f7f8f9; color:#6d777d; cursor:not-allowed; }
.demo-modal .form-section-title { font-size:var(--font-size-label); font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--primary); border-top:1px solid var(--border); padding-top:14px; margin-bottom:14px; overflow:hidden; }
.cfg-toggle { display:flex; align-items:flex-start; gap:8px; font-size:var(--font-size-body); color:var(--text); padding:4px 0; cursor:pointer; }
.cfg-toggle input { width:auto; margin-top:2px; }
.ptab-bar { display:flex; gap:2px; padding:0 20px; border-bottom:1px solid var(--border); background:color-mix(in srgb,var(--surface) 96%,var(--bg)); flex-wrap:wrap; }
.ptab { border:none; background:none; font-size:var(--font-size-body); color:var(--muted); padding:10px 14px; cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px; }
.ptab:hover { color:var(--primary); }
.ptab.active { color:var(--primary); font-weight:600; border-bottom-color:var(--primary); }
.kontakt-row { position:relative; border:1px solid var(--border); border-radius:8px; padding:14px 14px 0; margin-bottom:12px; background:color-mix(in srgb,var(--surface) 96%,var(--bg)); }
.kontakt-row .form-group-m { margin-bottom:12px; }
.kontakt-row.standort-inaktiv { opacity:.6; border-style:dashed; }
.kontakt-del { position:absolute; right:8px; top:8px; border:0; background:transparent; color:#cf1322; cursor:pointer; font-size:var(--font-size-subtitle); z-index:1; }
.demo-inline-editor { background:color-mix(in srgb,var(--surface) 96%,var(--bg)); border:1px solid var(--border); border-radius:8px; padding:12px; margin-top:8px; }
.demo-eich-row { grid-template-columns:1fr 1fr 1fr !important; }
.demo-eich-file-row { grid-template-columns:1fr auto auto !important; align-items:end; }
.demo-file-info,.demo-field-hint { font-size:var(--font-size-small); color:var(--muted); margin-top:4px; }
.compact-bottom { margin-bottom:8px !important; }
.no-bottom { margin-bottom:0 !important; }
.demo-note-field { margin-top:10px; }
.demo-delete-button { margin-right:auto; color:#cf1322; }
.demo-label-note { font-weight:400; color:var(--muted); }
.demo-help-text { font-size:var(--font-size-label); color:var(--muted); margin:-4px 0 4px; }
.demo-konditionen-row { grid-template-columns:1fr 1fr 1fr 2fr !important; align-items:end; }
.demo-section-gap { margin-top:14px; }
.demo-handling-row { grid-template-columns:auto 1fr !important; align-items:end; gap:0 18px !important; }
.demo-handling-row input { width:140px !important; }
.demo-inline-hint { font-size:var(--font-size-label); color:var(--muted); align-self:center; }
.demo-toggle-gap { margin-top:8px; }
.demo-section-button { float:right; font-weight:500; text-transform:none; letter-spacing:0; }
.demo-eich-table table { margin-bottom:10px; }
.demo-eich-table td,.demo-eich-table th { font-size:var(--font-size-label); }
.demo-action-icon { border:1px solid var(--border); background:var(--surface); border-radius:6px; min-width:30px; min-height:30px; cursor:pointer; color:var(--text); }
.demo-action-icon:hover { border-color:var(--primary); color:var(--primary); }
.icon-action { display:inline-grid; place-items:center; width:30px; min-width:30px; height:30px; padding:0; border:1px solid var(--border); background:var(--surface); border-radius:6px; cursor:pointer; color:var(--text); font:inherit; line-height:1; }
.icon-action:hover { border-color:var(--primary); background:var(--surface); color:var(--primary); }
.icon-action:disabled { opacity:.35; cursor:not-allowed; }
.demo-master-name { color:var(--primary); cursor:pointer; font-weight:500; }
.demo-master-name:hover { text-decoration:underline; }
.demo-hierarchy-indent { display:inline-block; }
.demo-feature-tags { display:flex; flex-wrap:wrap; gap:4px; }
.demo-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.demo-detail-panel { border:1px solid var(--border); border-radius:8px; padding:14px; background:var(--surface); }
.demo-detail-panel.full { grid-column:1/-1; }
.demo-detail-title { font-size:var(--font-size-label); font-weight:700; text-transform:uppercase; letter-spacing:.4px; color:var(--primary); margin-bottom:10px; }
.demo-detail-field { margin-bottom:9px; }
.demo-detail-field:last-child { margin-bottom:0; }
.demo-detail-label { color:var(--muted); font-size:var(--font-size-small); margin-bottom:2px; }
.demo-detail-value { font-size:var(--font-size-body); }
.demo-lock-banner { border:1px solid #ffd591; background:#fffbe6; color:#874d00; border-radius:7px; padding:10px 12px; margin-bottom:14px; font-size:var(--font-size-body); }
.demo-pause-row { display:grid; grid-template-columns:1fr 1fr auto; gap:8px; align-items:end; margin-bottom:8px; }
.demo-standort-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; flex-wrap:wrap; }
.demo-standort-meta { display:flex; align-items:center; gap:8px; font-size:var(--font-size-label); color:var(--muted); }
.demo-map-actions { display:flex; gap:6px; flex-wrap:wrap; }

@media (max-width:760px) {
  .demo-modal .form-row,.demo-eich-row,.demo-eich-file-row,.demo-konditionen-row,.demo-handling-row { grid-template-columns:1fr !important; }
  .demo-detail-grid { grid-template-columns:1fr; }
  .demo-detail-panel.full { grid-column:auto; }
  .demo-handling-row input { width:100% !important; }
}
.tag-blue { background:#e6f7ff; color:#096dd9; }
.link-button { border:0; padding:0; background:transparent; color:var(--primary); cursor:pointer; font:inherit; }
.link-button:hover { text-decoration:underline; }
.number-cell { text-align:right; white-space:nowrap; }
.center-cell { text-align:center; }
.action-cell { text-align:right; white-space:nowrap; }
.action-cell .demo-action-icon + .demo-action-icon { margin-left:5px; }
.muted-cell,.tree-corner,.demo-empty-note { color:var(--muted); }
.demo-empty-note { font-size:var(--font-size-body); padding:4px 0 12px; }
.demo-row-danger { background:#fff8f8; }
.demo-row-warning { background:#fffbe6; }
.demo-row-inactive { opacity:.58; }

/* V09: Polygon-Dialog der Demo */
.demo-map-help { font-size:var(--font-size-label); color:#666; margin-bottom:8px; }
.demo-map-help .s-poly-info { color:var(--primary); margin-left:8px; }
.demo-polygon-map { height:460px; border-radius:8px; overflow:hidden; background:#eef2f4; }
.demo-map-footer { justify-content:flex-start; }
.demo-footer-spacer { flex:1; }
.demo-map-unavailable { padding:24px; color:#888; }
.demo-poly-active { color:var(--positive-text) !important; }
.leaflet-popup-content { font-size:var(--font-size-body); }
.leaflet-popup-content b { color:var(--primary); }

/* ── V10: restliche Demo-Dialoge und kompakte Benutzerpflege ───────────── */
.demo-modal-user { width:440px; }
.demo-modal-article { width:760px; }
.demo-modal-container-type { width:820px; }
.demo-modal-container { width:760px; }
.demo-modal-supplier { width:720px; }
.demo-modal-landfill { width:760px; }
.demo-modal-tariff { width:620px; }
.demo-three { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
.demo-lme-row { align-items:end; }
.demo-float-toggle { float:right; display:flex; align-items:center; gap:6px; font-size:var(--font-size-label); font-weight:500; text-transform:none; letter-spacing:0; color:var(--text); }
.demo-float-toggle input { width:auto; min-height:auto; }
.demo-qr-row { grid-template-columns:1fr 96px !important; align-items:end; }
.demo-qr-preview { width:96px; height:96px; display:flex; align-items:center; justify-content:center; border:1px dashed var(--border); border-radius:8px; background:color-mix(in srgb,var(--surface) 94%,var(--bg)); color:var(--primary); font-size:var(--font-size-small); font-weight:700; overflow:hidden; text-align:center; padding:6px; word-break:break-all; }
.demo-qr-preview.has-code { background:#fff; border-style:solid; padding:5px; }
.demo-qr-preview svg { display:block; width:100%; height:100%; }
.demo-qr-preview .demo-qr-error { color:#cf1322; font-weight:600; }
.demo-qr-preview.is-empty { color:var(--muted); }
.demo-iban-row { grid-template-columns:2fr 1fr !important; }
.demo-sub-toolbar { display:flex; justify-content:space-between; align-items:center; gap:10px; margin:2px 0 10px; font-size:var(--font-size-label); color:var(--muted); }
.demo-maint-row { display:grid; grid-template-columns:minmax(0,2fr) minmax(100px,1fr) auto; gap:8px; align-items:center; position:relative; margin-bottom:8px; }
.demo-maint-row input { width:100%; padding:8px 11px; border:1px solid var(--border); border-radius:6px; background:var(--surface); color:var(--text); }
.scan-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.scan-slot { min-width:0; }
.scan-label { font-size:var(--font-size-label); font-weight:600; margin-bottom:6px; color:var(--text); }
.scan-preview { width:100%; min-height:126px; border:1px dashed var(--border); border-radius:8px; background:color-mix(in srgb,var(--surface) 96%,var(--bg)); color:var(--muted); display:flex; align-items:center; justify-content:center; cursor:pointer; overflow:hidden; padding:8px; }
.scan-preview:hover { border-color:var(--primary); color:var(--primary); }
.scan-preview img { width:100%; height:110px; object-fit:contain; }
.demo-tariff-list { display:flex; flex-direction:column; gap:8px; }
.v10-tariff-row { display:grid; grid-template-columns:minmax(220px,1fr) 110px auto; gap:8px; align-items:center; min-height:38px; }
.v10-tariff-label { display:flex; align-items:center; gap:7px; min-width:0; cursor:pointer; font-weight:400; }
.v10-tariff-label input { width:auto; min-height:auto; margin:0; }
.v10-tariff-label > span:nth-child(2) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.v10-tariff-row:not(.is-selected) .v10-tariff-value { background:color-mix(in srgb,var(--surface) 82%,var(--border)); color:var(--muted); }
.v10-tariff-row input,.th-row input,.pause-row input { width:100%; padding:8px 11px; border:1px solid var(--border); border-radius:6px; min-height:38px; color:var(--text); background:var(--surface); }
.v10-tariff-row .v10-tariff-check { width:auto; min-height:auto; padding:0; margin:0; }
.th-row { display:grid; grid-template-columns:1fr 1fr auto; gap:8px; align-items:center; margin-bottom:8px; position:relative; }
.demo-tariff-info { margin-top:12px; padding:9px 11px; border-radius:6px; background:color-mix(in srgb,var(--primary) 7%,var(--surface)); color:var(--text); font-size:var(--font-size-label); }
.pause-row { display:grid; grid-template-columns:auto 1fr auto 1fr auto; gap:8px; align-items:center; margin-bottom:8px; position:relative; font-size:var(--font-size-label); color:var(--muted); }
.compact-actions { display:flex; justify-content:flex-end; gap:5px; }
.demo-action-icon.danger-icon { color:#cf1322; }
.demo-action-icon:disabled { opacity:.35; cursor:not-allowed; }
.ok-text { color:var(--positive-text); }
.error-text { color:#cf1322; }

@media (max-width:760px) {
  .demo-three,.demo-qr-row,.demo-iban-row { grid-template-columns:1fr !important; }
  .demo-qr-preview { justify-self:start; }
  .scan-grid { grid-template-columns:1fr; }
  .v10-tariff-row { grid-template-columns:minmax(150px,1fr) 90px auto; }
  .demo-maint-row { grid-template-columns:1fr; }
  .pause-row { grid-template-columns:auto 1fr auto 1fr auto; }
}

/* V10.1: Materialauswahl im Deponie-Dialog muss die allgemeinen Modal-Formregeln überstimmen. */
.demo-modal .form-group-m .v10-tariff-label {
  display:flex;
  align-items:center;
  gap:7px;
  margin:0;
  font-weight:400;
  cursor:pointer;
}
.demo-modal .form-group-m .v10-tariff-check {
  flex:0 0 16px;
  width:16px !important;
  height:16px;
  min-height:16px;
  padding:0;
  margin:0;
  border:0;
  border-radius:3px;
  background:transparent;
  accent-color:var(--primary);
}

/* V11 · aufgeräumte, fachlich getrennte Systemkonfiguration */
.sysconfig-page-header { align-items:flex-end; }
.sysconfig-audit { color:var(--muted); font-size:var(--font-size-small); text-align:right; min-height:16px; }
.sysconfig-shell { padding:0; overflow:hidden; }
.sysconfig-tabs { padding-left:18px; padding-right:18px; }
.sysconfig-loading { padding:30px; color:var(--muted); text-align:center; }
.sysconfig-panel { display:none; }
.sysconfig-panel.active { display:block; }
.sysconfig-section { padding:20px 22px; border-bottom:1px solid var(--border); }
.sysconfig-section:last-of-type { border-bottom:none; }
.sysconfig-section h2 { font-size:var(--font-size-medium); margin:0 0 14px; color:var(--primary); }
.sysconfig-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:14px; }
.sysconfig-section-head h2 { margin:0 0 3px; }
.sysconfig-section-head p,.sysconfig-section > p { margin:0; color:var(--muted); font-size:var(--font-size-label); }
.sys-grid {
  display:grid;
  gap:12px 14px;
  /* Felder werden an Label und Eingabekante ausgerichtet. Hinweise und
     Validierungsrückmeldungen dürfen darunter wachsen, ohne Nachbarfelder
     nach oben oder unten zu verschieben. */
  align-items:start;
}
.sys-grid-company { grid-template-columns:1.4fr 1fr 1fr; }
.sys-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sys-grid .span-2 { grid-column:span 2; }
.sys-grid .form-group { margin:0; }
.sys-grid.compact-values { max-width:760px; }
.sysconfig-info-box { align-self:stretch; display:flex; align-items:center; padding:10px 12px; border:1px solid var(--border); border-radius:var(--radius); background:color-mix(in srgb,var(--bg) 70%,var(--surface)); color:var(--muted); font-size:var(--font-size-small); }
.sysconfig-footer { position:sticky; bottom:0; display:flex; justify-content:flex-end; align-items:center; gap:9px; padding:12px 22px; border-top:1px solid var(--border); background:color-mix(in srgb,var(--surface) 96%,var(--bg)); z-index:2; }
.sys-dirty { margin-right:auto; color:#c46a00; font-size:var(--font-size-small); font-weight:600; }
.sysconfig-table input[type="text"],.sysconfig-table input[type="number"] { min-width:70px; padding:6px 8px; font-size:var(--font-size-label); }
.sysconfig-table input.sys-prefix { width:86px; text-transform:uppercase; }
.sysconfig-table input.sys-digits { width:68px; text-align:center; }
.sysconfig-table input[type="checkbox"] { width:auto; }
.sys-next-number { font-family:Consolas,"Courier New",monospace; font-weight:600; white-space:nowrap; }
.sys-setting-list { max-width:880px; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; }
.sys-setting-row { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:24px; align-items:center; padding:14px 16px; border-bottom:1px solid var(--border); }
.sys-setting-row:last-child { border-bottom:none; }
.sys-setting-row strong { display:block; font-size:var(--font-size-body); margin-bottom:3px; }
.sys-setting-row p { margin:0; color:var(--muted); font-size:var(--font-size-small); }
.sys-setting-control { display:flex; align-items:center; gap:8px; }
.sys-setting-control input { text-align:right; }
.sys-setting-control span { color:var(--muted); min-width:28px; font-size:var(--font-size-label); }
.sys-switch-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.sys-switch-card { display:flex; gap:10px; align-items:flex-start; border:1px solid var(--border); border-radius:var(--radius); padding:13px; cursor:pointer; background:var(--surface); }
.sys-switch-card:hover { border-color:color-mix(in srgb,var(--primary) 45%,var(--border)); }
.sys-switch-card input { width:auto; margin-top:2px; }
.sys-switch-card strong { display:block; font-size:var(--font-size-label); margin-bottom:4px; }
.sys-switch-card small { color:var(--muted); font-size:var(--font-size-small); line-height:1.45; }
.sys-zone-list { display:flex; flex-direction:column; gap:8px; max-width:900px; }
.sys-zone-row { display:grid; grid-template-columns:1.4fr 130px 145px 90px 36px; gap:9px; align-items:center; border:1px solid var(--border); border-radius:var(--radius); padding:9px; background:var(--surface); }
.sys-zone-row input { padding:7px 9px; }
.sys-zone-row .sys-zone-number { display:flex; align-items:center; gap:5px; }
.sys-zone-row .sys-zone-number span { color:var(--muted); font-size:var(--font-size-small); }
.sys-zone-remove,.sys-leg-remove,.sys-leg-move { border:1px solid var(--border); background:var(--surface); border-radius:6px; height:30px; min-width:30px; cursor:pointer; color:var(--muted); }
.sys-zone-remove:hover,.sys-leg-remove:hover { color:#cf1322; border-color:#ffccc7; }
.sysconfig-modal { width:860px; max-width:95vw; }
.sysconfig-modal-small { width:560px; max-width:95vw; }
.sys-leg-help { margin:-2px 0 8px; color:var(--muted); font-size:var(--font-size-small); line-height:1.4; }
.sys-leg-list { display:flex; flex-direction:column; gap:7px; }
.sys-leg-row { display:grid; grid-template-columns:minmax(0,1fr) 190px auto auto auto; gap:6px; align-items:center; border:1px solid transparent; border-radius:8px; padding:4px; }
.sys-leg-row.is-segment-start { border-color:color-mix(in srgb,var(--warning,#f59e0b) 38%,var(--border)); background:color-mix(in srgb,var(--warning,#f59e0b) 5%,var(--surface)); }
.sys-leg-row select { min-width:0; }
.sys-leg-segment-fixed,.sys-leg-segment-toggle { min-height:30px; display:flex; align-items:center; border-radius:6px; font-size:var(--font-size-small); }
.sys-leg-segment-fixed { padding:0 9px; color:var(--muted); background:color-mix(in srgb,var(--surface) 88%,var(--bg)); border:1px solid var(--border); font-weight:600; }
.sys-leg-segment-toggle { gap:7px; padding:0 9px; cursor:pointer; color:var(--text); border:1px solid var(--border); background:var(--surface); white-space:nowrap; }
.sys-leg-segment-toggle input { width:auto; margin:0; accent-color:var(--primary); }
.sys-order-segment-marker { display:inline-flex; align-items:center; margin:0 3px 0 7px; padding:2px 6px; border-radius:999px; border:1px solid color-mix(in srgb,var(--warning,#f59e0b) 42%,var(--border)); background:color-mix(in srgb,var(--warning,#f59e0b) 8%,var(--surface)); color:var(--text); font-size:var(--font-size-small); font-weight:700; }
.sysconfig-action-cell { white-space:nowrap; text-align:right; }
.sysconfig-action-cell .btn { margin-left:5px; }
.sysconfig-status-note { color:var(--muted); font-size:var(--font-size-small); }

@media (max-width:980px) {
  .sys-grid-company,.sys-grid-three,.sys-switch-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sys-zone-row { grid-template-columns:1fr 115px 130px 80px 34px; }
}
@media (max-width:720px) {
  .sysconfig-tabs { overflow-x:auto; flex-wrap:nowrap; }
  .sysconfig-tabs .ptab { white-space:nowrap; }
  .sysconfig-section { padding:16px; }
  .sys-grid-company,.sys-grid-three,.sys-switch-grid { grid-template-columns:1fr; }
  .sys-grid .span-2 { grid-column:auto; }
  .sys-setting-row { grid-template-columns:1fr; gap:10px; }
  .sys-zone-row { grid-template-columns:1fr 1fr; }
  .sys-zone-row .sys-zone-label { grid-column:1 / -1; }
  .sys-zone-row .sys-zone-remove { grid-column:2; justify-self:end; }
  .sys-leg-row { grid-template-columns:minmax(0,1fr) auto auto auto; }
  .sys-leg-segment-fixed,.sys-leg-segment-toggle { grid-column:1 / -1; grid-row:2; justify-self:start; }
  .sysconfig-footer { padding:10px 16px; flex-wrap:wrap; }
  .sys-dirty { width:100%; }
}

/* V11.1 · kompaktere Systemkonfiguration und echte Tabellenfilter */
.master-filter-row th {
  padding:5px 6px;
  background:color-mix(in srgb,var(--surface) 92%,var(--bg));
  border-bottom:1px solid var(--border);
}
.master-filter-cell input,
.master-filter-cell select {
  width:100%;
  min-width:72px;
  height:27px;
  padding:3px 7px;
  border:1px solid #d7dde1;
  border-radius:5px;
  background:var(--surface);
  color:var(--text);
  font-size:var(--font-size-small);
  font-weight:400;
  outline:none;
}
.master-filter-cell input:focus,
.master-filter-cell select:focus {
  border-color:var(--primary);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent);
}
.master-filter-cell input::placeholder { color:#9aa4aa; }
.master-filter-empty { min-width:24px; }
.master-filter-actions { width:34px; text-align:right; }
.master-filter-reset {
  width:26px;
  height:26px;
  border:1px solid var(--border);
  border-radius:5px;
  background:var(--surface);
  color:#a4adb2;
  cursor:pointer;
  font-size:var(--font-size-heading-small);
  line-height:1;
}
.master-filter-reset.active { color:var(--primary); border-color:color-mix(in srgb,var(--primary) 42%,var(--border)); }
.master-filter-reset:hover { color:#cf1322; border-color:#ffccc7; }

/* Die Konfiguration soll arbeiten und nicht den 49-Zoll-Monitor tapezieren. */
.sysconfig-section {
  padding:14px 18px;
}
.sysconfig-section h2 { margin-bottom:9px; font-size:var(--font-size-body); }
.sysconfig-section-head { margin-bottom:9px; }
.sysconfig-section-head p,.sysconfig-section > p { font-size:var(--font-size-small); }
.sys-grid {
  gap:8px 10px;
  align-items:start;
}
.sys-grid-company { grid-template-columns:repeat(4,minmax(150px,1fr)); max-width:1180px; }
.sys-grid-three { max-width:980px; }
.sys-grid.compact-values { max-width:650px; }
.sys-grid .form-group label { font-size:var(--font-size-small); margin-bottom:3px; }
.sys-grid .form-group input,
.sys-grid .form-group select,
.sysconfig-table input[type="text"],
.sysconfig-table input[type="number"],
.sys-setting-control input,
.sys-zone-row input {
  min-height:30px;
  height:30px;
  padding:4px 7px;
  font-size:var(--font-size-label);
  font-weight:400;
}
.sys-grid .form-group small { margin-top:2px; font-size:var(--font-size-caption); }
.sysconfig-info-box { max-width:410px; padding:7px 9px; font-size:var(--font-size-caption); line-height:1.35; }
.sysconfig-footer { padding:9px 18px; }
.sysconfig-tabs { padding-left:14px; padding-right:14px; }

/* Unternehmen: Allgemeine Daten plus kompakte fachliche Unterregister. */
#sys-panel-company.active {
  display:flex;
  flex-direction:column;
}
#sys-panel-company > .sysconfig-section,
#sys-panel-company > .sysconfig-footer { width:100%; }
#sys-panel-company > .sysconfig-section { border-right:0; }
#sys-panel-company .sys-grid-three { grid-template-columns:repeat(3,minmax(150px,1fr)); }
.syscompany-general-section { border-bottom:1px solid var(--border); }
.syscompany-details { background:color-mix(in srgb,var(--surface) 96%,var(--bg)); border-bottom:1px solid var(--border); }
.syscompany-detail-tabs {
  display:flex;
  align-items:flex-end;
  gap:4px;
  min-height:43px;
  padding:8px 18px 0;
  border-bottom:1px solid var(--border);
  background:color-mix(in srgb,var(--surface) 92%,var(--bg));
}
.syscompany-detail-tab {
  position:relative;
  min-height:34px;
  padding:7px 14px 9px;
  border:0;
  border-radius:7px 7px 0 0;
  background:transparent;
  color:var(--muted);
  font-size:var(--font-size-label);
  font-weight:600;
  cursor:pointer;
  white-space:nowrap;
}
.syscompany-detail-tab:hover { color:var(--primary); background:color-mix(in srgb,var(--surface) 72%,transparent); }
.syscompany-detail-tab.active { color:var(--primary); background:var(--surface); }
.syscompany-detail-tab.active::after {
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:-1px;
  height:2px;
  border-radius:2px 2px 0 0;
  background:var(--primary);
}
.syscompany-detail-tab:focus-visible { outline:2px solid color-mix(in srgb,var(--primary) 35%,transparent); outline-offset:-2px; }
.syscompany-detail-panel { display:none; padding:15px 18px 18px; background:var(--surface); min-height:164px; }
.syscompany-detail-panel.active { display:block; }
.syscompany-detail-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:12px; max-width:1180px; }
.syscompany-detail-head h2 { margin:0 0 3px; color:var(--primary); font-size:var(--font-size-body); }
.syscompany-detail-head p { margin:0; color:var(--muted); font-size:var(--font-size-small); }
.syscompany-detail-grid { max-width:1180px; }
.syscompany-subsection { max-width:1180px; margin-top:16px; padding-top:14px; border-top:1px solid var(--border); }
.syscompany-subsection-title { margin-bottom:10px; }
.syscompany-subsection-title h3 { margin:0 0 2px; color:var(--primary); font-size:var(--font-size-label); }
.syscompany-subsection-title p { margin:0; color:var(--muted); font-size:var(--font-size-small); }
.syscompany-yard-grid { align-items:stretch; }
.syscompany-yard-grid .sysconfig-info-box { max-width:none; }

/* Betrieb und Disposition sind kleine Einstellungsgruppen, keine Wanderausstellung. */
#sys-panel-operation.active,
#sys-panel-dispatch.active {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
#sys-panel-operation > .sysconfig-section:first-child,
#sys-panel-dispatch > .sysconfig-section:first-child { border-right:1px solid var(--border); }
#sys-panel-operation > .sysconfig-footer,
#sys-panel-dispatch > .sysconfig-footer { grid-column:1 / -1; }
.sys-setting-list { max-width:none; }
.sys-setting-row {
  grid-template-columns:minmax(0,1fr) 145px;
  gap:14px;
  padding:10px 12px;
}
.sys-setting-row strong { font-size:var(--font-size-label); margin-bottom:2px; }
.sys-setting-row p { font-size:var(--font-size-caption); line-height:1.35; }
.sys-setting-control { justify-content:flex-end; }
.sys-setting-control input { width:95px; text-align:right; }

.sys-switch-grid { max-width:980px; gap:8px; }
.sys-switch-card {
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:8px;
  padding:9px 10px;
}
.sys-switch-card input { width:15px; height:15px; margin-top:1px; }
.sys-switch-card strong { font-size:var(--font-size-small); margin-bottom:2px; }
.sys-switch-card small { font-size:var(--font-size-caption); line-height:1.35; }

/* Nummernkreise nicht über die gesamte Erdkrümmung verteilen. */
#sys-panel-documents .sysconfig-section { max-width:1220px; }
.sysconfig-table { width:auto; min-width:880px; max-width:1220px; }
.sysconfig-table th,.sysconfig-table td { padding:6px 8px; }
.sysconfig-table input[type="checkbox"] { width:15px; height:15px; display:block; margin:0 auto; }
.sysconfig-table th.center-cell { text-align:center; }
.sysconfig-table input.sys-prefix { width:76px; }
.sysconfig-table input.sys-digits { width:58px; }
.sys-next-number {
  font-size:var(--font-size-small);
  font-weight:500;
  letter-spacing:0;
  color:var(--primary);
}
#sys-number-range-rows td:first-child input { width:170px; }

/* Auftragskonfiguration bleibt tabellarisch, aber mit vernünftiger Lesebreite. */
#sys-panel-orders .sysconfig-section { max-width:1380px; }
#sys-panel-orders .sysconfig-table { width:100%; max-width:1380px; }

/* Preise und Zonen: links Grundwerte, rechts eine beschriftete, kompakte Zonentabelle. */
.sys-price-grid {
  grid-template-columns:1fr !important;
  max-width:260px !important;
}
.sys-price-grid .form-group {
  display:grid;
  grid-template-columns:minmax(0,1fr) 105px;
  gap:8px;
  align-items:center;
}
.sys-price-grid .form-group label { margin:0; }
.sys-price-grid .form-group small { grid-column:2; margin-top:-6px; }
.sys-price-grid .form-group input { text-align:right; }
.sys-zone-header,
.sys-zone-row {
  display:grid;
  grid-template-columns:minmax(180px,1fr) 125px 135px 72px 32px;
  gap:7px;
  align-items:center;
}
.sys-zone-header {
  max-width:900px;
  padding:0 9px 5px;
  color:var(--muted);
  font-size:var(--font-size-caption);
  font-weight:600;
}
.sys-zone-header span:nth-child(2),
.sys-zone-header span:nth-child(3),
.sys-zone-header span:nth-child(4) { text-align:center; }
.sys-zone-list { gap:6px; max-width:900px; }
.sys-zone-row { padding:6px 8px; border-radius:6px; }
.sys-zone-row .sys-zone-number input { text-align:right; }
.sys-zone-row .cfg-toggle {
  min-height:30px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  font-size:var(--font-size-caption);
  color:var(--muted);
}
.sys-zone-row .cfg-toggle input { width:15px; height:15px; min-height:15px; padding:0; }
.sys-zone-remove { height:28px; min-width:28px; }

@media (max-width:1250px) {
  .sys-grid-company { grid-template-columns:repeat(3,minmax(140px,1fr)); }
  #sys-panel-company.active { display:flex; }
  #sys-panel-company > .sysconfig-section { border-right:0 !important; }
  #sys-panel-operation.active,#sys-panel-dispatch.active { display:block; }
  #sys-panel-operation > .sysconfig-section,#sys-panel-dispatch > .sysconfig-section { border-right:0 !important; }
  .sys-price-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; max-width:760px !important; }
  .sys-price-grid .form-group { display:block; }
  .sys-price-grid .form-group small { margin-top:2px; }
}

@media (max-width:720px) {
  .master-filter-row { display:none; }
  .sys-grid-company { grid-template-columns:1fr; }
  #sys-panel-company .sys-grid-three { grid-template-columns:1fr; }
  .syscompany-detail-tabs { overflow-x:auto; align-items:stretch; padding-left:12px; padding-right:12px; }
  .syscompany-detail-tab { flex:0 0 auto; }
  .syscompany-detail-panel { padding:14px 12px 16px; }
  .syscompany-detail-head { flex-direction:column; align-items:stretch; gap:9px; }
  .syscompany-detail-head .btn { align-self:flex-start; }
  .sys-price-grid { grid-template-columns:1fr !important; }
  .sys-zone-header { display:none; }
  .sys-zone-row { grid-template-columns:1fr 1fr; }
}
.sys-zone-row .sys-zone-number {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:5px;
  align-items:center;
  min-width:0;
}
.sys-zone-row .sys-zone-number input { width:100%; min-width:0; }

/* V12: Administration – Module/Lizenz und Rollen/Rechte */
.admin-settings-card { padding:0; overflow:hidden; }
.admin-info-strip { min-height:42px; padding:9px 14px; border-bottom:1px solid var(--border); background:#fafbfc; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.admin-info-strip > div { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.admin-info-strip strong { color:var(--primary); }
.admin-info-strip .mono { color:var(--muted); font-size:var(--font-size-caption); }
.admin-inline-message { margin:10px 14px 14px; }
.admin-loading { padding:28px; text-align:center; color:var(--muted); }
.admin-loading.error { color:var(--red); }
.admin-module-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
.admin-module-row { display:grid; grid-template-columns:38px minmax(0,1fr) 110px 150px; gap:10px; align-items:center; min-height:58px; padding:8px 14px; border-bottom:1px solid #eef0f2; }
.admin-module-row:nth-child(odd) { border-right:1px solid #eef0f2; }
.admin-module-row.active { background:#fbfdfd; }
.admin-module-row.expired { background:#fffaf0; }
.admin-module-copy { min-width:0; }
.admin-module-copy strong { display:block; font-size:var(--font-size-label); color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.admin-module-copy small { display:block; margin-top:2px; font-size:var(--font-size-caption); color:var(--muted); font-family:"SFMono-Regular",Consolas,monospace; }
.admin-module-status { text-align:left; }
.admin-module-date { min-width:0; }
.admin-module-date input { min-height:30px; padding:4px 6px; font-size:var(--font-size-small); }
.admin-module-switch { position:relative; width:30px; height:18px; display:inline-block; }
.admin-module-switch input { opacity:0; width:0; height:0; }
.admin-module-switch span { position:absolute; inset:0; border-radius:12px; background:#c7cdd1; transition:.15s; }
.admin-module-switch span::before { content:""; position:absolute; width:14px; height:14px; left:2px; top:2px; border-radius:50%; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.22); transition:.15s; }
.admin-module-switch input:checked + span { background:var(--primary); }
.admin-module-switch input:checked + span::before { transform:translateX(12px); }
.admin-module-switch input:disabled + span { opacity:.55; cursor:not-allowed; }
.admin-rights-search-wrap { width:190px; }
.admin-rights-table-wrap { max-height:calc(100vh - 235px); overflow:auto; }
.rights-matrix thead th { position:sticky; top:0; z-index:2; background:#f8f9fa; }
.rights-matrix th:first-child { min-width:360px; }
.rights-role-head { text-align:center; min-width:96px; }
.rights-group-row td { padding:7px 10px; background:#eef2f4; color:var(--primary); font-size:var(--font-size-caption); font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.rights-permission-row.module-disabled { opacity:.58; }
.rights-name strong { display:block; font-size:var(--font-size-small); }
.rights-name small { display:block; margin-top:2px; color:var(--muted); font-size:var(--font-size-caption); }
.rights-admin-cell,.rights-check-cell { text-align:center; }
.rights-admin-cell span { color:var(--positive-text); font-weight:700; }
.rights-check-cell input { width:15px; height:15px; accent-color:var(--primary); }

@media (max-width:1100px) {
  .admin-module-grid { grid-template-columns:1fr; }
  .admin-module-row:nth-child(odd) { border-right:0; }
}
@media (max-width:720px) {
  .admin-module-row { grid-template-columns:34px minmax(0,1fr); }
  .admin-module-status,.admin-module-date { grid-column:2; }
  .admin-info-strip { align-items:flex-start; flex-direction:column; }
  .admin-rights-search-wrap { width:100%; }
}

/* V13 – dynamische Validierungen */
.validation-toolbar { align-items:flex-end; }
.validation-toolbar .form-group.compact { min-width:190px; margin:0; }
.validation-card { padding:0; overflow:hidden; }
.validation-card .admin-info-strip { margin:0; border:0; border-bottom:1px solid var(--border); border-radius:0; }
.validation-table th:nth-child(1) { width:82px; }
.validation-table th:nth-child(2) { width:170px; }
.validation-table th:nth-child(3) { width:180px; }
.validation-table th:nth-child(4) { width:210px; }
.validation-table th:nth-child(5) { width:95px; }
.validation-table .table-subline { display:block; margin-top:2px; font-size:var(--font-size-caption); color:var(--muted); font-weight:400; }
.validation-rule-modal-box { width:min(780px, calc(100vw - 28px)); }
.validation-rule-modal-box [hidden] { display:none !important; }
.validation-rule-modal-box textarea { width:100%; resize:vertical; min-height:58px; }
.validation-rule-modal-box .validation-parameter-help { align-self:end; min-height:34px; padding:7px 9px; border:1px dashed var(--border); border-radius:6px; background:#fafbfc; color:var(--muted); }
.validation-rule-modal-box .validation-parameter-help small { display:block; margin-bottom:4px; }
.validation-field-chips { display:flex; flex-wrap:wrap; gap:4px; max-height:88px; overflow:auto; }
.validation-field-chip { border:1px solid #d8dfe2; background:#fff; color:var(--primary); border-radius:999px; padding:2px 7px; font-size:var(--font-size-caption); cursor:pointer; }
.validation-field-chip:hover { border-color:var(--accent); color:var(--accent); }
.validation-condition-row { align-items:end; }
.validation-message-row { grid-template-columns:minmax(0,1fr) 130px; align-items:end; }
.validation-order-group input { text-align:right; }
.validation-active-toggle { margin-top:10px; }
.status-dot { display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:6px; vertical-align:1px; background:#aab3b8; }
.status-dot.active { background:var(--positive-solid); }
.status-dot.inactive { background:#aab3b8; }
.tag-red { background:#fdecec; color:#9d2d2d; border-color:#f1caca; }
.muted { color:var(--muted); }

@media (max-width:900px) {
  .validation-toolbar { width:100%; }
  .validation-toolbar .form-group.compact { flex:1 1 180px; width:auto; }
}


/* V13.1 · sortierbare Stammdatenlisten und echte Einzel-Fenster */
.master-sortable { padding:0; }
.master-sort-button {
  width:100%;
  min-height:33px;
  padding:8px 9px;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:6px;
  text-align:left;
  font-weight:600;
  white-space:nowrap;
}
.master-sort-button:hover { color:var(--primary); background:color-mix(in srgb,var(--primary) 5%,transparent); }
.master-sort-button:focus-visible { outline:2px solid color-mix(in srgb,var(--primary) 45%,transparent); outline-offset:-2px; }
.master-sort-button.active { color:var(--primary); }
.master-sort-indicator { color:#a5adb2; font-size:var(--font-size-caption); line-height:1; }
.master-sort-button.active .master-sort-indicator { color:var(--primary); }

body.standalone-master .sider,
body.standalone-master .topbar { display:none; }
body.standalone-master .main-layout,
body.standalone-master .main-layout.expanded { margin-left:0; width:100%; min-height:100vh; }
body.standalone-master .content { min-height:100vh; padding:14px 16px; }
body.standalone-master #master-open-window { display:none !important; }
body.standalone-master .master-content-card { box-shadow:none; border:1px solid var(--border); }


/* V13.2 – sichtbare Rückmeldung für dynamische Validierungen */
#dynamic-validation-modal { z-index:3300; }
.dynamic-validation-modal-box { width:min(760px, calc(100vw - 36px)); overflow:hidden; }
.dynamic-validation-modal-box .modal-body { padding:18px; }
.dynamic-validation-summary { display:flex; align-items:flex-start; gap:12px; margin-bottom:14px; }
.dynamic-validation-summary p { margin:1px 0 0; color:var(--text); line-height:1.45; }
.dynamic-validation-icon { flex:0 0 28px; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; font-weight:800; font-size:var(--font-size-heading-small); }
.validation-warning .dynamic-validation-icon { background:#fff7e6; color:#ad6800; border:1px solid #ffd591; }
.validation-error .dynamic-validation-icon { background:#fff1f0; color:#cf1322; border:1px solid #ffa39e; }
.dynamic-validation-list { list-style:none; padding:0; margin:0; border:1px solid var(--border); border-radius:7px; overflow:hidden; }
.dynamic-validation-list li { display:grid; grid-template-columns:minmax(210px, 34%) 1fr; gap:18px; padding:12px 14px; background:var(--surface); }
.dynamic-validation-list li + li { border-top:1px solid var(--border); }
.dynamic-validation-field { font-weight:650; color:var(--text); }
.dynamic-validation-message { color:var(--muted); line-height:1.4; overflow-wrap:anywhere; }
.dynamic-validation-invalid { border-color:#ff4d4f !important; box-shadow:0 0 0 2px rgba(255,77,79,.14) !important; }
@media (max-width:560px) {
  .dynamic-validation-list li { grid-template-columns:1fr; gap:3px; }
  .dynamic-validation-modal-box .modal-footer { flex-wrap:wrap; }
}


/* V13.4 · Validierungsregeln wie Stammdaten filtern und sortieren */
.validation-table { min-width:1180px; }
.validation-table th:nth-child(1) { width:82px; }
.validation-table th:nth-child(2) { width:155px; }
.validation-table th:nth-child(3) { width:170px; }
.validation-table th:nth-child(4) { width:185px; }
.validation-table th:nth-child(5) { width:215px; }
.validation-table th:nth-child(6) { width:96px; }
.validation-table th:nth-child(7) { min-width:250px; }
.validation-table th:nth-child(8) { width:46px; }
.validation-filter-row .master-filter-cell input,
.validation-filter-row .master-filter-cell select { min-width:0; }
.validation-filter-row .master-filter-actions { vertical-align:middle; }


/* V13.5: synchronisierte Preislisten und Trendanzeige. */
.article-price-cell { white-space:nowrap; font-variant-numeric:tabular-nums; }
.article-price-changed { white-space:nowrap; color:var(--muted); font-size:var(--font-size-small); }
.price-trend { display:inline-block; margin-left:3px; font-size:var(--font-size-caption); font-weight:800; vertical-align:1px; }
.price-trend-up { color:var(--positive-text); }
.price-trend-down { color:var(--red); }
.price-trend-stable { color:var(--muted); }


/* V13.6 – IBAN/BIC-Eingabemaske und direkte Prüfrückmeldung */
.bank-field-feedback {
  min-height: 14px;
  margin-top: 3px;
  font-size:var(--font-size-small);
  line-height: 1.25;
  color: var(--muted);
}
.bank-field-feedback.is-valid { color:var(--positive-text); }
.bank-field-feedback.is-invalid { color: #b42318; }
input.bank-input-valid { border-color:var(--positive-solid) !important; }
input.bank-input-invalid { border-color: #d66a61 !important; box-shadow: 0 0 0 1px rgba(180,35,24,.08); }
#lf-iban, #sys-firma-iban, #lf-bic, #sys-firma-bic {
  text-transform: uppercase;
  font-variant-numeric: tabular-nums;
  letter-spacing: .02em;
}

/* V14.0: sichtbarer, aber kompakter Zustand der benutzerspezifischen Fensterpräferenz. */
.master-window-preference.active {
  border-color:var(--accent);
  color:var(--accent);
  background:color-mix(in srgb, var(--accent) 9%, var(--surface));
}

/* V14.1: Wiederherstellung und Live-Status persönlicher Arbeitsfenster. */
.workspace-restore-banner {
  margin:10px 18px 0;
  padding:10px 12px;
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));
  border-radius:var(--radius);
  background:color-mix(in srgb, var(--accent) 7%, var(--surface));
}
.workspace-restore-symbol {
  flex:0 0 30px;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:var(--accent);
  color:#fff;
  font-size:var(--font-size-subtitle);
  font-weight:800;
}
.workspace-restore-copy { min-width:0; flex:1 1 auto; display:flex; flex-direction:column; gap:1px; }
.workspace-restore-copy strong { font-size:var(--font-size-label); color:var(--text); }
.workspace-restore-copy span { font-size:var(--font-size-small); color:var(--muted); }
.workspace-restore-actions { display:flex; align-items:center; gap:6px; flex:0 0 auto; }
.workspace-restore-modal-box { width:min(690px, calc(100vw - 28px)); }
.workspace-restore-intro { margin:0 0 12px; color:var(--muted); font-size:var(--font-size-label); line-height:1.45; }
.workspace-window-list { display:flex; flex-direction:column; border:1px solid var(--border); border-radius:8px; overflow:hidden; }
.workspace-window-row {
  min-height:56px;
  display:grid;
  grid-template-columns:34px minmax(170px, 1fr) minmax(150px, auto) 92px 112px;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  background:var(--surface);
}
.workspace-window-row + .workspace-window-row { border-top:1px solid var(--border); }
.workspace-window-icon {
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--bg);
  font-size:var(--font-size-subtitle);
}
.workspace-window-copy { min-width:0; display:flex; flex-direction:column; gap:1px; }
.workspace-window-copy strong { font-size:var(--font-size-label); color:var(--text); }
.workspace-window-copy small { font-size:var(--font-size-caption); color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.workspace-window-auto-open { display:flex; align-items:center; gap:7px; white-space:nowrap; color:var(--text); font-size:var(--font-size-small); cursor:pointer; }
.workspace-window-auto-open input { width:15px; height:15px; margin:0; accent-color:var(--accent); cursor:pointer; }
.workspace-window-status { justify-self:start; padding:3px 7px; border-radius:999px; font-size:var(--font-size-caption); font-weight:700; }
.workspace-window-status.open { color:var(--positive-text); background:var(--positive-bg); border:1px solid var(--positive-border); }
.workspace-window-status.opening { color:#ad6800; background:#fffbe6; border:1px solid #ffe58f; }
.workspace-window-status.closed { color:var(--muted); background:var(--bg); border:1px solid var(--border); }
.workspace-window-row .btn { min-width:104px; justify-content:center; }
.workspace-window-empty { padding:22px 14px; text-align:center; color:var(--muted); font-size:var(--font-size-label); }
body.standalone-master .workspace-restore-banner { display:none !important; }

@media (max-width:720px) {
  .workspace-restore-banner { margin:8px 10px 0; align-items:flex-start; flex-wrap:wrap; }
  .workspace-restore-copy { min-width:210px; }
  .workspace-restore-actions { width:100%; justify-content:flex-end; }
  .workspace-window-row { grid-template-columns:34px minmax(0,1fr); }
  .workspace-window-auto-open { grid-column:2; }
  .workspace-window-status { grid-column:2; }
  .workspace-window-row .btn { grid-column:2; justify-self:start; }
}

/* V14.4 – Plattform-Mandantenarbeitsbereich */
.tenant-workbench-page-header {
  align-items:flex-end;
  margin-bottom:12px;
}
.tenant-workbench-eyebrow,
.tenant-context-kicker {
  color:var(--muted);
  font-size:var(--font-size-small);
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tenant-workbench-layout {
  display:grid;
  grid-template-columns:290px minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.tenant-tree-card {
  padding:0;
  overflow:hidden;
  position:sticky;
  top:10px;
  max-height:calc(100vh - 150px);
  display:flex;
  flex-direction:column;
}
.tenant-tree-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 14px 9px;
  border-bottom:1px solid var(--border);
}
.tenant-tree-head strong { display:block; font-size:var(--font-size-medium); }
.tenant-tree-head small { display:block; color:var(--muted); margin-top:2px; }
.tenant-tree-search {
  display:flex;
  align-items:center;
  gap:7px;
  margin:10px 10px 8px;
  padding:0 9px;
  min-height:34px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--surface);
}
.tenant-tree-search span { color:var(--muted); }
.tenant-tree-search input {
  width:100%;
  min-width:0;
  border:0;
  padding:7px 0;
  background:transparent;
  box-shadow:none;
}
.tenant-tree-search input:focus { outline:none; }
.tenant-tree {
  padding:0 8px 10px;
  overflow:auto;
}
.tenant-tree-loading {
  padding:18px 10px;
  color:var(--muted);
  text-align:center;
}
.tenant-tree-loading.error { color:var(--red); }
.tenant-tree-node {
  margin:2px 0 7px;
  border:1px solid transparent;
  border-radius:var(--radius);
}
.tenant-tree-node.selected-tenant {
  border-color:color-mix(in srgb,var(--accent) 28%,var(--border));
  background:color-mix(in srgb,var(--accent) 4%,var(--surface));
}
.tenant-tree-root-row {
  display:grid;
  grid-template-columns:25px minmax(0,1fr);
  align-items:stretch;
}
.tenant-tree-toggle {
  border:0;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  transition:transform .16s ease;
}
.tenant-tree-node.collapsed .tenant-tree-toggle { transform:rotate(-90deg); }
.tenant-tree-root,
.tenant-tree-child {
  border:0;
  background:transparent;
  color:var(--text);
  cursor:pointer;
  text-align:left;
}
.tenant-tree-root {
  display:grid;
  grid-template-columns:9px minmax(0,1fr);
  gap:9px;
  align-items:center;
  min-height:48px;
  padding:7px 8px 7px 2px;
  border-radius:calc(var(--radius) - 2px);
}
.tenant-tree-root:hover,
.tenant-tree-child:hover { background:color-mix(in srgb,var(--primary) 6%,var(--surface)); }
.tenant-tree-root.selected,
.tenant-tree-child.selected {
  color:var(--primary);
  background:color-mix(in srgb,var(--accent) 11%,var(--surface));
  font-weight:700;
}
.tenant-tree-status {
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--muted);
}
.tenant-tree-status.active { background:var(--positive-solid); }
.tenant-tree-status.locked { background:var(--accent); }
.tenant-tree-status.inactive { background:var(--red); }
.tenant-tree-root-copy { min-width:0; }
.tenant-tree-root-copy strong,
.tenant-tree-root-copy small {
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tenant-tree-root-copy strong { font-size:var(--font-size-body); }
.tenant-tree-root-copy small { color:var(--muted); font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:var(--font-size-caption); margin-top:2px; }
.tenant-tree-children {
  margin-left:26px;
  padding:1px 5px 6px 8px;
  border-left:1px solid var(--border);
}
.tenant-tree-node.collapsed .tenant-tree-children { display:none; }
.tenant-tree-child {
  width:100%;
  min-height:31px;
  display:grid;
  grid-template-columns:20px minmax(0,1fr) auto;
  gap:5px;
  align-items:center;
  padding:5px 7px;
  border-radius:calc(var(--radius) - 3px);
  font-size:var(--font-size-label);
}
.tenant-tree-child small {
  min-width:20px;
  padding:1px 5px;
  border-radius:999px;
  background:var(--bg);
  color:var(--muted);
  text-align:center;
  font-size:var(--font-size-caption);
}
.tenant-tree-child-icon { width:18px; text-align:center; }

.tenant-workbench-detail-card {
  padding:0;
  overflow:hidden;
  min-width:0;
}
.tenant-context-header {
  padding:14px 16px 11px;
  border-bottom:1px solid var(--border);
  background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 7%,var(--surface)),var(--surface) 55%);
}
.tenant-context-header h2 {
  margin:2px 0 7px;
  font-size:var(--font-size-page-title);
}
.tenant-context-meta {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
}
.tenant-context-chip {
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:3px 7px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--surface);
  color:var(--muted);
  font-size:var(--font-size-small);
}
.tenant-context-chip b { color:var(--text); font-weight:600; }
.tenant-workbench-tabs {
  display:flex;
  align-items:flex-end;
  gap:2px;
  padding:0 12px;
  border-bottom:1px solid var(--border);
  overflow-x:auto;
  background:var(--surface);
}
.tenant-workbench-tab {
  min-height:42px;
  padding:0 12px;
  border:0;
  border-bottom:2px solid transparent;
  background:transparent;
  color:var(--muted);
  cursor:pointer;
  white-space:nowrap;
  font-size:var(--font-size-label);
  font-weight:600;
}
.tenant-workbench-tab:hover { color:var(--text); background:color-mix(in srgb,var(--primary) 6%,var(--surface)); }
.tenant-workbench-tab.active { color:var(--primary); border-bottom-color:var(--accent); }
.tenant-workbench-panel { display:none; padding:14px 16px 16px; min-width:0; }
.tenant-workbench-panel.active { display:block; }
.tenant-detail-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 16px;
  max-width:1050px;
}
.tenant-readonly-value {
  min-height:38px;
  display:flex;
  align-items:center;
  padding:0 11px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--bg);
  color:var(--muted);
}
.tenant-detail-actions {
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding-top:14px;
  margin-top:14px;
  border-top:1px solid var(--border);
}

/* Eingebettete Detailseiten verwenden den Mandantenkontext des Trees. */
.tenant-workbench-panel .admin-page-content > .page-header {
  min-height:0;
  margin:0 0 10px;
  padding:0;
  border:0;
  background:transparent;
}
.tenant-workbench-panel .admin-page-content > .page-header > div:first-child { display:none; }
.tenant-workbench-panel .admin-page-content > .page-header .toolbar {
  width:100%;
  justify-content:flex-end;
}
.tenant-workbench-panel #design-tenant-group,
.tenant-workbench-panel #admin-modules-tenant-group,
.tenant-workbench-panel #admin-rights-tenant-group,
.tenant-workbench-panel #validation-tenant-group,
.tenant-workbench-panel #user-filter-group { display:none !important; }
.tenant-workbench-panel .management-card {
  border:0;
  box-shadow:none;
  padding:0;
  margin:0;
}
.tenant-workbench-panel .admin-settings-card { overflow:visible; }
.tenant-workbench-panel .admin-info-strip { margin-top:0; }
.tenant-workbench-panel #admin-users-page-content > .page-header { display:none; }
.tenant-workbench-panel #admin-users-page-content .management-card { padding:0; }
.tenant-workbench-panel #admin-users-page-content .card-head { padding-top:0; }

/* Module im Mandanten-Arbeitsbereich bewusst untereinander. Die Liste darf vertikal
   wachsen und scrollen, statt den Inhalt in zwei schmale Hälften zu zwingen. */
.tenant-workbench-panel #admin-modules-grid {
  grid-template-columns:1fr;
}
.tenant-workbench-panel #admin-modules-grid .admin-module-row:nth-child(odd) {
  border-right:0;
}

/* Die bestehende Darstellungspflege wird unverändert in den Mandantenkontext
   portiert. Der äußere Seitenkopf entfällt, die Aktionen bleiben rechts sichtbar. */
.tenant-workbench-panel #admin-design-page-content > .design-grid {
  margin-top:0;
}
.tenant-workbench-panel #admin-design-page-content > .page-header {
  min-height:0;
  margin:0 0 10px;
  padding:0;
  border:0;
  background:transparent;
}
.tenant-workbench-panel #admin-design-page-content > .page-header > div:first-child {
  display:none;
}
.tenant-workbench-panel #admin-design-page-content > .page-header .toolbar {
  width:100%;
  justify-content:flex-end;
}

@media (max-width:1050px) {
  .tenant-workbench-layout { grid-template-columns:240px minmax(0,1fr); }
  .tenant-detail-grid { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .tenant-workbench-layout { grid-template-columns:1fr; }
  .tenant-tree-card { position:static; max-height:none; }
  .tenant-tree { max-height:320px; }
  .tenant-context-meta { align-items:flex-start; }
  .tenant-workbench-panel { padding:12px; }
}

/* V14.5.1 – Module & Lizenz: Datumsfelder bleiben innerhalb der Inhaltsbreite.
   .form-group.compact bringt global eine Mindestbreite von 210 px mit. In der
   Modulzeile war die Datumsspalte aber nur 150 px breit, wodurch das native
   Date-Input rechts aus der Seite lief. */
.admin-module-row {
  width:100%;
  min-width:0;
  grid-template-columns:38px minmax(0,1fr) minmax(96px,120px) minmax(138px,164px);
}
.admin-module-row > * { min-width:0; }
.admin-module-row .form-group.compact.admin-module-date {
  width:100%;
  min-width:0;
  max-width:164px;
  justify-self:end;
}
.admin-module-row .admin-module-date input {
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
}

@media (max-width:720px) {
  .admin-module-row {
    grid-template-columns:34px minmax(0,1fr);
  }
  .admin-module-row .form-group.compact.admin-module-date {
    max-width:210px;
    justify-self:start;
  }
}

/* V15.0 – pflegbare Mandantenrollen */
.admin-role-list { border-bottom:1px solid var(--border); background:var(--surface); }
.admin-role-list-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; background:#fafbfc; border-bottom:1px solid var(--border); }
.admin-role-list-head > div { display:flex; align-items:baseline; gap:10px; min-width:0; }
.admin-role-list-head strong { font-size:var(--font-size-label); color:var(--primary); }
.admin-role-list-head span { color:var(--muted); font-size:var(--font-size-caption); }
.admin-role-rows { display:grid; grid-template-columns:repeat(auto-fit,minmax(360px,1fr)); gap:0; }
.admin-role-row { display:grid; grid-template-columns:minmax(180px,1fr) auto auto; align-items:center; gap:10px; min-height:58px; padding:8px 12px; border-bottom:1px solid #edf0f2; }
.admin-role-row:nth-child(odd) { background:#fff; }
.admin-role-row.inactive { opacity:.62; background:#fafafa; }
.admin-role-row.system-role { background:#fbfcfd; }
.admin-role-copy { min-width:0; }
.admin-role-copy strong { display:block; font-size:var(--font-size-small); color:var(--text); }
.admin-role-copy small { display:block; margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:var(--font-size-caption); }
.admin-role-meta { display:flex; align-items:center; justify-content:flex-end; gap:5px; flex-wrap:wrap; }
.admin-role-row .actions { justify-content:flex-end; }
.admin-rights-section-title { display:flex; align-items:baseline; gap:10px; padding:10px 12px 7px; background:var(--surface); }
.admin-rights-section-title strong { color:var(--primary); font-size:var(--font-size-label); }
.admin-rights-section-title span { color:var(--muted); font-size:var(--font-size-caption); }
.rights-role-head { vertical-align:bottom; }
.rights-role-head span { display:block; max-width:120px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin:auto; }
.rights-role-head small { display:block; margin-top:2px; color:#b42318; font-size:var(--font-size-caption); font-weight:600; }
.rights-role-head.inactive { background:#f2f2f2; color:var(--muted); }
.role-modal-box textarea { resize:vertical; min-height:76px; }

@media (max-width:900px) {
  .admin-role-rows { grid-template-columns:1fr; }
  .admin-role-row { grid-template-columns:minmax(150px,1fr) auto; }
  .admin-role-row .actions { grid-column:2; }
  .admin-role-meta { grid-column:1 / -1; justify-content:flex-start; }
}

/* V15.1 – Rollen und Rechtematrix als getrennte Unterregister */
.admin-rights-card { overflow:hidden; }
.admin-rights-tabs {
  display:flex;
  align-items:flex-end;
  gap:18px;
  min-height:42px;
  padding:0 12px;
  border-bottom:1px solid var(--border);
  background:var(--surface);
}
.admin-rights-tab {
  appearance:none;
  border:0;
  border-bottom:2px solid transparent;
  background:transparent;
  color:var(--muted);
  min-height:42px;
  padding:0 2px;
  font:inherit;
  font-size:var(--font-size-small);
  font-weight:600;
  cursor:pointer;
}
.admin-rights-tab:hover { color:var(--text); }
.admin-rights-tab.active {
  color:var(--primary);
  border-bottom-color:var(--accent);
}
.admin-rights-tab-count {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:18px;
  margin-left:5px;
  padding:0 5px;
  border-radius:9px;
  background:#eef2f4;
  color:var(--muted);
  font-size:var(--font-size-caption);
  line-height:1;
}
.admin-rights-panel { background:var(--surface); }
.admin-rights-panel[hidden] { display:none !important; }
.admin-rights-panel-toolbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:54px;
  padding:8px 12px;
  border-bottom:1px solid var(--border);
  background:#fafbfc;
}
.admin-rights-panel-toolbar > div:first-child { min-width:0; }
.admin-rights-panel-toolbar strong {
  display:block;
  color:var(--primary);
  font-size:var(--font-size-label);
}
.admin-rights-panel-toolbar span {
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:var(--font-size-caption);
}
.admin-rights-matrix-toolbar > .toolbar {
  flex:0 0 auto;
  flex-wrap:nowrap;
}
.admin-role-list { border-bottom:0; }
.admin-role-rows {
  display:block;
  grid-template-columns:none;
}
.admin-role-row {
  width:100%;
  grid-template-columns:minmax(240px,1fr) minmax(210px,auto) auto;
}
.admin-role-empty { padding:22px 12px; }
.admin-rights-table-wrap {
  max-height:calc(100vh - 345px);
  border-top:0;
}

@media (max-width:900px) {
  .admin-rights-panel-toolbar,
  .admin-rights-matrix-toolbar {
    align-items:stretch;
    flex-direction:column;
  }
  .admin-rights-matrix-toolbar > .toolbar {
    width:100%;
    flex-wrap:wrap;
  }
  .admin-rights-search-wrap { flex:1 1 220px; width:auto; }
  .admin-role-row {
    grid-template-columns:minmax(150px,1fr) auto;
  }
}

/* V15.2 · Mandantenbanner in eigenen Stammdatenfenstern */
.standalone-master-banner { display:none; }
body.standalone-master .standalone-master-banner {
  position:sticky;
  top:0;
  z-index:80;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:82px;
  padding:13px 22px;
  background:var(--primary);
  color:#fff;
  border-bottom:2px solid var(--accent);
}
.standalone-master-brand { display:flex; align-items:center; gap:13px; min-width:0; }
.standalone-master-brandmark {
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.26);
  color:#fff;
  font-size:23px;
  font-weight:800;
  overflow:hidden;
}
.standalone-master-brandmark .theme-logo { width:42px; height:42px; padding:3px; }
.standalone-master-copy { display:flex; flex-direction:column; min-width:0; }
.standalone-master-copy strong { font-size:var(--font-size-page-title); line-height:1.15; color:#fff; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.standalone-master-copy span { margin-top:4px; color:rgba(255,255,255,.82); font-size:var(--font-size-label); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.standalone-master-close {
  flex:0 0 auto;
  min-width:104px;
  color:#fff;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.72);
}
.standalone-master-close:hover { background:rgba(255,255,255,.18); color:#fff; }
body.standalone-master .content { min-height:calc(100vh - 82px); padding:14px 16px; }
@media (max-width:640px) {
  body.standalone-master .standalone-master-banner { min-height:68px; padding:10px 14px; }
  .standalone-master-brandmark { width:40px; height:40px; flex-basis:40px; }
  .standalone-master-copy strong { font-size:var(--font-size-dialog-title); }
  .standalone-master-close { min-width:auto; padding-inline:12px; }
}

/* V15.2 · Übersichtskontakt und Kommunikationslinks */
.partner-overview-contact { display:inline-flex; align-items:center; gap:6px; min-width:0; }
.partner-contact-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text); }
.contact-more-button {
  min-width:30px;
  height:24px;
  padding:0 8px;
  border:1px solid var(--border);
  border-radius:6px;
  background:var(--surface);
  color:var(--text);
  cursor:pointer;
  font-size:var(--font-size-small);
  font-weight:700;
}
.contact-more-button:hover { border-color:var(--primary); color:var(--primary); background:color-mix(in srgb,var(--primary) 5%,var(--surface)); }
.partner-communication-link { color:var(--secondary); text-decoration:none; white-space:nowrap; }
.partner-communication-link:hover { text-decoration:underline; }
.partner-contact-footer-row { align-items:end; }
.partner-overview-checkbox { min-width:220px; margin:0 0 10px; align-self:end; }
.partner-contacts-modal-box { width:min(920px,calc(100vw - 34px)); }
.partner-contacts-table { min-width:760px; }
.partner-contacts-table th,
.partner-contacts-table td { vertical-align:middle; }
.partner-overview-contact-row { background:color-mix(in srgb,var(--primary) 4%,var(--surface)); }
.partner-contacts-table-wrap { max-height:min(62vh,560px); }

/* V15.5: technische Schnittstellen in der Plattform-Mandantenpflege */
.tenant-integration-page { max-width:1180px; }
.tenant-integration-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:2px 0 16px;
  border-bottom:1px solid var(--border);
}
.tenant-integration-head h3 { margin:2px 0 5px; font-size:19px; }
.tenant-integration-head p { margin:0; max-width:760px; color:var(--muted); font-size:var(--font-size-label); line-height:1.5; }
.tenant-integration-eyebrow {
  color:var(--primary);
  font-size:var(--font-size-caption);
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tenant-integration-grid {
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(520px,1.38fr);
  gap:16px;
  margin-top:16px;
  align-items:stretch;
}
.tenant-integration-card {
  min-width:0;
  min-height:190px;
  padding:17px 18px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--surface);
}
.tenant-integration-card-title {
  display:block;
  margin-bottom:13px;
  color:var(--muted);
  font-size:var(--font-size-caption);
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.tenant-integration-enable-card { display:flex; flex-direction:column; cursor:pointer; }
.tenant-integration-switch-row {
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:auto 0;
}
.tenant-integration-switch-row input { width:18px; height:18px; margin-top:2px; flex:0 0 auto; }
.tenant-integration-switch-row strong { display:block; font-size:var(--font-size-medium); line-height:1.3; }
.tenant-integration-switch-row small { display:block; margin-top:7px; color:var(--muted); font-size:var(--font-size-small); line-height:1.45; }
.tenant-integration-page code {
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:.94em;
}
.tenant-integration-key-card { display:flex; flex-direction:column; }
.tenant-integration-key-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.tenant-integration-key-head .tenant-integration-card-title { margin-bottom:5px; }
.tenant-integration-key-head strong { display:block; font-size:var(--font-size-medium); line-height:1.35; }
.tenant-integration-key-actions { display:flex; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.tenant-integration-meta {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin:16px 0 0;
  border-top:1px solid var(--border);
  border-left:1px solid var(--border);
  border-radius:8px;
  overflow:hidden;
}
.tenant-integration-meta > div {
  min-width:0;
  padding:10px 12px;
  border-right:1px solid var(--border);
  border-bottom:1px solid var(--border);
  background:color-mix(in srgb,var(--primary) 2.5%,var(--surface));
}
.tenant-integration-meta dt { color:var(--muted); font-size:var(--font-size-caption); font-weight:700; }
.tenant-integration-meta dd { margin:4px 0 0; min-height:17px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:var(--font-size-label); }
.integration-secret {
  max-width:1180px;
  margin-top:16px;
  padding:14px;
  border:1px solid #e3b341;
  border-radius:var(--radius);
  background:#fff9e8;
}
.integration-secret-warning { margin-bottom:9px; font-size:var(--font-size-body); }
.integration-secret-row { display:flex; gap:8px; }
.integration-secret-row input {
  flex:1;
  min-width:0;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
}
.tenant-integration-help {
  display:flex;
  align-items:flex-start;
  gap:12px;
  max-width:1180px;
  margin-top:16px;
}
.tenant-integration-help strong { flex:0 0 auto; }
.tenant-integration-help span { line-height:1.45; }
.tenant-integration-footer {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--border);
}
.tenant-integration-footer .sys-dirty { margin-right:auto; }
@media (max-width:1040px) {
  .tenant-integration-grid { grid-template-columns:1fr; }
  .tenant-integration-card { min-height:auto; }
  .tenant-integration-switch-row { margin:12px 0 4px; }
}
@media (max-width:680px) {
  .tenant-integration-head,
  .tenant-integration-key-head { flex-direction:column; }
  .tenant-integration-key-actions { justify-content:flex-start; }
  .tenant-integration-meta { grid-template-columns:1fr; }
  .integration-secret-row,
  .tenant-integration-help { flex-direction:column; }
  .tenant-integration-footer { align-items:stretch; flex-direction:column; }
  .tenant-integration-footer .sys-dirty { margin-right:0; }
}

/* ── V15.6 Personal ─────────────────────────────────────────────────────── */
.personal-celebration-dashboard {
  padding: 16px 18px 14px;
  border-bottom: 1px solid var(--border-color, #e5e7eb);
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent-color, #e67e22) 4%, white), transparent);
}
.personal-dashboard-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
.personal-dashboard-heading > div { display:flex; align-items:baseline; gap:12px; min-width:0; }
.personal-dashboard-heading strong { font-size:var(--font-size-medium); color:var(--text-color,#17202a); }
.personal-dashboard-heading span { color:#667085; font-size:var(--font-size-label); }
.personal-dashboard-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.personal-dashboard-card {
  appearance:none; border:1px solid #dce2e8; border-radius:var(--border-radius,8px); background:#fff;
  padding:12px 13px; display:flex; gap:11px; align-items:flex-start; text-align:left; cursor:pointer;
  min-height:84px; transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.personal-dashboard-card:hover { border-color:var(--accent-color,#e67e22); box-shadow:0 3px 10px rgba(31,41,55,.08); transform:translateY(-1px); }
.personal-dashboard-card.active { border-color:var(--accent-color,#e67e22); box-shadow:0 0 0 2px color-mix(in srgb, var(--accent-color,#e67e22) 20%, transparent); background:color-mix(in srgb, var(--accent-color,#e67e22) 5%, white); }
.personal-dashboard-icon { font-size:var(--font-size-metric); line-height:1; padding-top:2px; }
.personal-dashboard-copy { min-width:0; display:flex; flex-direction:column; gap:3px; }
.personal-dashboard-copy strong { font-size:var(--font-size-body); color:#17202a; }
.personal-dashboard-copy > span { font-size:var(--font-size-small); color:#475467; line-height:1.3; }
.personal-dashboard-copy small { font-size:var(--font-size-small); color:#667085; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.personal-active-filter { margin-top:10px; padding:7px 10px; border-radius:6px; background:#f6f8fa; color:#475467; font-size:var(--font-size-label); }
.personal-active-filter button { border:0; background:transparent; cursor:pointer; font-size:var(--font-size-heading-small); line-height:1; margin-left:4px; color:#667085; }
.personal-table a { color:inherit; text-decoration:none; }
.personal-table a:hover { text-decoration:underline; }
.personal-availability { font-weight:600; white-space:nowrap; }
.personal-availability.available { color:var(--positive-text); }
.personal-availability.absent { color:#c05a00; }

.personal-modal-box { width:min(920px,calc(100vw - 28px)); height:min(860px,calc(100vh - 28px)); max-height:none; overflow:hidden; display:flex; flex-direction:column; }
.personal-modal-box > .modal-header { flex:0 0 auto; }
.personal-modal-box > form { min-height:0; flex:1 1 auto; display:flex; flex-direction:column; }
.personal-modal-body { flex:1 1 auto; min-height:0; overflow:auto; max-height:none; padding:18px 20px; }
.personal-modal-box .modal-footer { flex:0 0 auto; }
.personal-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 14px; }
.personal-form-grid .span-2 { grid-column:span 2; }
.personal-date-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.personal-section-title { margin:18px 0 10px; padding-top:14px; border-top:1px solid #e8ebef; font-size:var(--font-size-small); line-height:1; font-weight:800; text-transform:uppercase; letter-spacing:.04em; color:#30485a; }
.personal-section-head { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:18px; padding-top:14px; border-top:1px solid #e8ebef; }
.personal-section-head .personal-section-title { margin:0 0 5px; padding:0; border:0; }
.personal-section-head small { color:#667085; }
.personal-active-field { display:flex; align-items:flex-end; padding-bottom:7px; }
.personal-check { display:flex; gap:8px; align-items:center; font-weight:600; cursor:pointer; }
.personal-check input { width:auto; }
.personal-repeat-list { display:flex; flex-direction:column; gap:8px; margin-top:9px; }
.personal-repeat-empty { padding:12px; border:1px dashed #d7dde4; border-radius:7px; color:#7b8794; font-size:var(--font-size-label); text-align:center; background:#fafbfc; }
.personal-repeat-row { position:relative; display:grid; gap:10px; padding:10px 38px 10px 10px; border:1px solid #e0e5ea; border-radius:8px; background:#fafbfc; }
.personal-qualification-row { grid-template-columns:2fr 1fr; }
.personal-absence-row { grid-template-columns:120px 145px 145px minmax(180px,1fr); }
.personal-repeat-row .form-group { margin:0; }
.personal-repeat-remove { position:absolute; top:7px; right:8px; width:24px; height:24px; border:0; border-radius:5px; background:transparent; color:#8b98a5; font-size:var(--font-size-page-title); line-height:20px; cursor:pointer; }
.personal-repeat-remove:hover { background:#feecec; color:#b42318; }
.personal-dependent-section.hidden { display:none !important; }

.personal-group-table input[type="text"], .personal-group-table input:not([type]) { min-width:130px; }
.personal-group-table input[type="number"] { width:82px; }
.personal-group-table input[type="checkbox"] { width:16px; height:16px; }
.personal-group-hint { margin-top:14px; }

@media (max-width:1100px) {
  .personal-dashboard-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .personal-date-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .personal-absence-row { grid-template-columns:110px 1fr 1fr; }
  .personal-absence-note { grid-column:1 / -1; }
}
@media (max-width:720px) {
  .personal-dashboard-heading, .personal-dashboard-heading > div { align-items:flex-start; flex-direction:column; gap:5px; }
  .personal-dashboard-cards { grid-template-columns:1fr; }
  .personal-form-grid, .personal-date-grid, .personal-qualification-row, .personal-absence-row { grid-template-columns:1fr; }
  .personal-form-grid .span-2, .personal-absence-note { grid-column:auto; }
  .personal-modal-body { padding:14px; }
}

/* ── V15.7 Personaldokumente und Abwesenheitsplanung ───────────────────── */
.personal-document-type-table input[type="text"],
.personal-document-type-table input:not([type]) { min-width:150px; }
.personal-document-type-table input[type="number"] { width:82px; }
.personal-document-type-table input[type="checkbox"] { width:16px; height:16px; }
.personal-document-upload {
  margin-top:10px;
  padding:13px;
  border:1px solid #dce3e9;
  border-radius:8px;
  background:#f8fafb;
}
.personal-document-upload-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px 14px;
}
.personal-document-upload-grid .span-2 { grid-column:span 2; }
.personal-document-upload-grid .span-3 { grid-column:span 3; }
.personal-document-upload-actions {
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:12px;
}
.personal-document-table-wrap { margin-top:10px; max-height:260px; }
.personal-document-table { width:100%; border-collapse:collapse; font-size:var(--font-size-label); }
.personal-document-table th {
  position:sticky;
  top:0;
  z-index:1;
  padding:8px 9px;
  border-bottom:1px solid #dce2e8;
  background:#f5f7f9;
  color:#475467;
  font-size:var(--font-size-small);
  text-align:left;
  white-space:nowrap;
}
.personal-document-table td { padding:8px 9px; border-bottom:1px solid #edf0f2; vertical-align:top; }
.personal-document-table td small { display:block; margin-top:3px; color:#667085; font-size:var(--font-size-caption); }
.personal-document-table .action-cell { width:38px; text-align:right; }
.personal-document-link {
  max-width:230px;
  padding:0;
  overflow:hidden;
  border:0;
  background:transparent;
  color:#1d607d;
  font:inherit;
  text-align:left;
  text-decoration:underline;
  text-overflow:ellipsis;
  white-space:nowrap;
  cursor:pointer;
}
.personal-document-link:hover { color:#103f55; }
.tenant-integration-section-divider {
  max-width:1180px;
  height:1px;
  margin:28px 0 24px;
  background:var(--border);
}

.absence-planning-header { align-items:flex-end; }
.absence-planning-navigation { display:flex; align-items:center; gap:14px; }
.absence-planning-navigation strong { min-width:210px; color:#344054; font-size:var(--font-size-label); text-align:center; }
.absence-planning-legend {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin:-5px 0 10px;
  color:#475467;
  font-size:var(--font-size-small);
}
.absence-planning-legend span { display:inline-flex; align-items:center; gap:5px; }
.absence-legend-color { width:11px; height:11px; border-radius:2px; }
.absence-legend-color.vacation { background:#72b8ff; }
.absence-legend-color.sick { background:#ff7a86; }
.absence-legend-color.other { background:#f5a14a; }
.absence-legend-color.overlap {
  background:repeating-linear-gradient(135deg,#d24d57 0 3px,#f5a14a 3px 6px);
}
.absence-legend-color.holiday { background:#eee7f7; border:1px solid #aa95c5; }
.absence-holiday-scope { margin-left:auto; color:#667085; font-size:var(--font-size-caption); }
.absence-planning-card { padding:0; overflow:hidden; }
.absence-plan-state { padding:24px; color:#667085; text-align:center; }
.absence-plan-scroll { width:100%; overflow:auto; }
.absence-plan-table {
  width:max-content;
  min-width:100%;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
  font-size:var(--font-size-caption);
}
.absence-plan-table th,
.absence-plan-table td { box-sizing:border-box; }
.absence-employee-head,
.absence-employee-name {
  position:sticky;
  left:0;
  z-index:4;
  width:190px;
  min-width:190px;
  max-width:190px;
  border-right:1px solid #d8dee5;
  background:#fff;
  text-align:left;
}
.absence-employee-head {
  top:0;
  z-index:8;
  height:62px;
  padding:9px 10px;
  border-bottom:1px solid #d8dee5;
  color:#475467;
  font-size:var(--font-size-small);
  vertical-align:middle;
}
.absence-month-head {
  position:sticky;
  top:0;
  z-index:7;
  height:20px;
  padding:3px 6px 2px;
  border-right:1px solid #e4e8ed;
  border-bottom:1px solid #d8dee5;
  background:#f8fafb;
  color:#667085;
  font-size:var(--font-size-caption);
  font-weight:700;
  letter-spacing:.025em;
  text-align:left;
  text-transform:capitalize;
  white-space:nowrap;
}
.absence-month-head.month-start { border-left:2px solid #b8c2cc; }
.absence-day-head {
  position:sticky;
  top:20px;
  z-index:6;
  width:24px;
  min-width:24px;
  height:42px;
  padding:4px 1px 3px;
  border-right:1px solid #edf0f3;
  border-bottom:1px solid #d8dee5;
  background:#fff;
  color:#344054;
  font-weight:500;
  text-align:center;
}
.absence-day-head span { display:block; font-size:var(--font-size-caption); line-height:14px; }
.absence-day-head small { display:block; color:#98a2b3; font-size:var(--font-size-caption); font-weight:500; line-height:11px; text-transform:uppercase; }
.absence-day-head.weekend,
.absence-day-cell.weekend { background:#f4f6f8; }
.absence-day-head.holiday,
.absence-day-cell.holiday { background:#f2edf8; }
.absence-day-head.holiday { color:#725b91; font-weight:700; }
.absence-day-head.holiday::after {
  position:absolute;
  right:2px;
  top:2px;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#8b70aa;
  content:"";
}
.absence-day-head.month-start,
.absence-day-cell.month-start { border-left:2px solid #cbd3dc; }
.absence-day-head.today,
.absence-day-cell.today { border-left:2px solid #ee8b18; }
.absence-day-head.today { background:#fff7ea; color:#bb5e00; font-weight:800; }
.absence-day-cell.has-absence.holiday { background:#eee7f7; }
.absence-group-row td {
  position:sticky;
  left:0;
  z-index:3;
  height:22px;
  padding:5px 10px 3px;
  border-bottom:1px solid #e7ebef;
  background:#eef2f5;
  color:#667085;
  font-size:var(--font-size-caption);
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.absence-employee-name {
  height:28px;
  padding:5px 10px;
  border-bottom:1px solid #edf0f3;
}
.absence-employee-name strong {
  display:block;
  overflow:hidden;
  color:#17202a;
  font-size:var(--font-size-caption);
  text-overflow:ellipsis;
  white-space:nowrap;
}
.absence-employee-name small {
  display:block;
  overflow:hidden;
  color:#98a2b3;
  font-size:var(--font-size-caption);
  font-weight:400;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.absence-day-cell {
  width:24px;
  min-width:24px;
  height:28px;
  padding:0;
  border-right:1px solid #f0f2f4;
  border-bottom:1px solid #edf0f3;
  background:#fff;
}
.absence-day-cell.has-absence { position:relative; }
.absence-day-cell.has-absence span { position:absolute; inset:2px 0; display:block; }
.absence-day-cell.vacation span { background:#72b8ff; }
.absence-day-cell.sick span { background:#ff7a86; }
.absence-day-cell.other span { background:#f5a14a; }
.absence-day-cell.overlap span {
  background:repeating-linear-gradient(135deg,#d24d57 0 3px,#f5a14a 3px 6px);
}
.absence-plan-empty { min-width:560px; padding:30px; color:#667085; text-align:center; }

@media (max-width:800px) {
  .personal-document-upload-grid { grid-template-columns:1fr; }
  .personal-document-upload-grid .span-2,
  .personal-document-upload-grid .span-3 { grid-column:auto; }
  .absence-planning-header { align-items:flex-start; }
  .absence-planning-navigation { width:100%; justify-content:space-between; }
  .absence-planning-navigation strong { min-width:0; }
  .absence-holiday-scope { width:100%; margin-left:0; }
  .absence-employee-head,.absence-employee-name { width:150px; min-width:150px; max-width:150px; }
}
.personal-absence-row.externally-managed { background:#f4f7fa; border-color:#d7e0e8; }
.personal-absence-row.externally-managed input[readonly],
.personal-absence-row.externally-managed input:disabled,
.personal-absence-row.externally-managed select:disabled { color:#475467; background:#eef2f5; opacity:1; cursor:not-allowed; }
.personal-absence-row.externally-managed small { display:block; margin-top:4px; color:#526c7b; font-size:var(--font-size-caption); }

/* V15.9 · operative Containerverwaltung */
.container-management-header { align-items:flex-end; }
.container-management-toolbar { justify-content:flex-end; flex-wrap:wrap; }
.container-result-count { color:var(--muted); font-size:var(--font-size-label); white-space:nowrap; }
.container-management-card { padding:0; overflow:hidden; }
.container-management-table-wrap { overflow:auto; max-height:calc(100vh - 245px); min-height:260px; }
.container-management-table { min-width:1780px; width:100%; border-collapse:separate; border-spacing:0; }
.container-management-table thead { position:sticky; top:0; z-index:3; }
.container-management-table thead tr:first-child th { background:var(--surface); }
.container-management-table th,
.container-management-table td { white-space:nowrap; vertical-align:middle; }
.container-management-table th:first-child,
.container-management-table td:first-child { position:sticky; left:0; z-index:2; background:var(--surface); }
.container-management-table thead th:first-child { z-index:5; }
.container-management-table tbody tr:hover td { background:color-mix(in srgb, var(--primary) 5%, var(--surface)); }
.container-management-table tbody tr:hover td:first-child { background:color-mix(in srgb, var(--primary) 5%, var(--surface)); }
.container-management-row { cursor:pointer; }
.container-number { font-weight:700; color:var(--text); }
.container-qr-label { font-size:var(--font-size-label); color:var(--text); }
.container-filter-row th { padding:5px 6px; }
.container-filter-row .master-filter-cell input,
.container-filter-row .master-filter-cell select { min-width:88px; }
.container-filter-row th:first-child input { min-width:110px; }
.container-filter-row th:nth-child(12) input,
.container-filter-row th:nth-child(13) input { min-width:145px; }
.container-range-filter { display:grid; grid-template-columns:repeat(2,minmax(62px,1fr)); gap:4px; min-width:132px; }
.container-range-filter input { min-width:0 !important; }
.container-filter-reset-cell { text-align:right; }
.container-deadline { font-size:var(--font-size-small); }
.container-deadline.expired { color:#d93025; font-weight:650; }
.container-deadline.due-soon { color:#c56700; font-weight:650; }
.container-deadline.valid { color:var(--muted); }
.container-location-pin { color:#d43b75; font-size:var(--font-size-caption); }
.container-coordinates { font-size:var(--font-size-small); color:var(--muted); }
.container-pagination { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:9px 14px; border-top:1px solid var(--border); background:var(--surface); }
.container-page-summary { color:var(--muted); font-size:var(--font-size-label); }
.container-page-controls { display:flex; align-items:center; gap:7px; font-size:var(--font-size-label); }
.container-page-controls label { display:flex; align-items:center; gap:6px; color:var(--muted); }
.container-page-controls select { height:30px; border:1px solid var(--border); border-radius:4px; background:var(--surface); color:var(--text); }
.container-management-modal-box { width:min(780px,calc(100vw - 28px)); overflow:hidden; }
.container-management-modal-box form { display:flex; flex-direction:column; max-height:92vh; }
.container-management-modal-header { align-items:flex-start; }
.container-management-modal-header p { margin:4px 0 0; color:var(--muted); font-size:var(--font-size-label); }
.container-management-modal-body { padding:18px 20px 20px; overflow:auto; }
.container-management-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:18px; }
.container-management-summary-item { min-width:0; padding:10px 11px; border:1px solid var(--border); border-radius:7px; background:color-mix(in srgb,var(--surface) 94%,var(--background)); }
.container-management-summary-item span { display:block; margin-bottom:4px; color:var(--muted); font-size:var(--font-size-caption); font-weight:700; text-transform:uppercase; letter-spacing:.035em; }
.container-management-summary-item strong { display:block; overflow:hidden; color:var(--text); font-size:var(--font-size-label); text-overflow:ellipsis; white-space:nowrap; }
.container-management-section { margin-top:16px; padding-top:16px; border-top:1px solid var(--border); }
.container-management-section:first-of-type { margin-top:0; }
.container-management-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:11px; }
.container-management-section-head h3 { margin:0 0 4px; color:#30485a; font-size:var(--font-size-small); line-height:1; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.container-management-section-head p { margin:0; color:var(--muted); font-size:var(--font-size-small); line-height:1.4; }
.container-management-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 14px; align-items:end; }
.container-management-form-grid .form-group { margin:0; }
.container-management-form-grid input,
.container-management-form-grid select { width:100%; }
.container-management-status-note { min-height:38px; display:flex; align-items:center; gap:9px; padding:8px 10px; border:1px solid var(--border); border-radius:6px; background:#fafbfc; color:#52606d; font-size:var(--font-size-small); line-height:1.35; }
.container-status-dot { width:9px; height:9px; flex:0 0 9px; border-radius:50%; background:#8a98a5; }
.container-status-dot.verfuegbar { background:var(--positive-solid); }
.container-status-dot.im_einsatz,.container-status-dot.vermietet { background:#2f80ed; }
.container-status-dot.werkstatt { background:#e0a000; }
.container-status-dot.abgezogen,.container-status-dot.gesperrt,.container-status-dot.ausgemustert { background:#8a98a5; }
.container-order-assignment { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:12px; min-height:66px; padding:11px 12px; border:1px solid var(--border); border-radius:7px; background:color-mix(in srgb,var(--surface) 94%,var(--background)); }
.container-order-copy { min-width:0; display:flex; flex-direction:column; gap:3px; }
.container-readonly-label { color:var(--muted); font-size:var(--font-size-caption); font-weight:700; text-transform:uppercase; letter-spacing:.035em; }
.container-order-copy strong { color:var(--text); font-size:var(--font-size-label); }
.container-order-copy small { max-width:560px; color:var(--muted); font-size:var(--font-size-caption); line-height:1.35; }
.container-order-assignment .btn { flex:0 0 auto; }
.container-location-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.container-location-item { min-width:0; padding:11px 12px; border:1px solid var(--border); border-radius:7px; background:color-mix(in srgb,var(--surface) 94%,var(--background)); }
.container-location-item.wide { grid-column:1 / -1; }
.container-location-item span { display:block; margin-bottom:4px; color:var(--muted); font-size:var(--font-size-caption); font-weight:700; text-transform:uppercase; letter-spacing:.035em; }
.container-location-item strong { display:block; overflow:hidden; color:var(--text); font-size:var(--font-size-label); text-overflow:ellipsis; white-space:nowrap; }
.container-location-item small { display:block; margin-top:4px; color:var(--muted); font-size:var(--font-size-caption); }
body.standalone-master #page-container .container-management-table-wrap { max-height:calc(100vh - 215px); }

@media (max-width:900px) {
  .container-management-header { align-items:stretch; }
  .container-management-toolbar { justify-content:flex-start; }
  .container-pagination { align-items:flex-start; flex-direction:column; }
  .container-page-controls { flex-wrap:wrap; }
  .container-management-modal-box { width:min(780px, calc(100vw - 24px)); }
  .container-management-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:620px) {
  .container-management-summary-grid,
  .container-management-form-grid,
  .container-location-summary { grid-template-columns:1fr; }
  .container-location-item.wide { grid-column:auto; }
  .container-order-assignment { align-items:stretch; flex-direction:column; }
  .container-order-assignment .btn { width:100%; }
}

/* V15.10 · mandantenbezogene Kartenkonfiguration */
.tenant-map-config-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:14px; }
.tenant-map-status-card { gap:10px; }
.tenant-map-layer-state { display:grid; grid-template-columns:32px minmax(0,1fr) auto; align-items:center; gap:10px; min-height:58px; padding:10px 11px; border:1px solid var(--border); border-radius:7px; background:color-mix(in srgb,var(--surface) 94%,var(--background)); }
.tenant-map-layer-icon { width:30px; height:30px; display:grid; place-items:center; border-radius:7px; background:color-mix(in srgb,var(--primary) 10%,var(--surface)); color:var(--primary); font-size:var(--font-size-dialog-title); }
.tenant-map-layer-state strong,.tenant-map-layer-state small { display:block; }
.tenant-map-layer-state strong { font-size:var(--font-size-label); }
.tenant-map-layer-state small { margin-top:3px; color:var(--muted); font-size:var(--font-size-caption); line-height:1.35; }
.tenant-map-key-input { margin:15px 0 0; }
.tenant-map-key-input input { width:100%; }
.tenant-map-key-input small { display:block; margin-top:5px; color:var(--muted); line-height:1.4; }
.tenant-map-meta { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:auto; }

/* V15.10 · Containerortung */
.container-map-card { padding:0; overflow:hidden; }
.container-map-page-header { align-items:flex-end; }
.container-map-header-actions { justify-content:flex-end; }
.container-map-toolbar { display:flex; align-items:center; gap:8px; padding:10px 12px; border-bottom:1px solid var(--border); background:var(--surface); }
.container-map-toolbar select { min-width:175px; height:34px; border:1px solid var(--border); border-radius:5px; background:var(--surface); color:var(--text); }
.container-map-search-wrap { width:min(420px,34vw); min-width:250px; }
.container-map-scope { margin-left:auto; color:var(--muted); font-size:var(--font-size-small); text-align:right; white-space:nowrap; }
.container-map-stage { position:relative; min-height:510px; border-bottom:1px solid var(--border); background:#e8edf1; isolation:isolate; }
.container-map-canvas { width:100%; height:510px; z-index:1; }
.container-map-loading { position:absolute; inset:0; z-index:6; display:grid; place-items:center; padding:30px; background:rgba(246,248,250,.83); color:#506273; font-size:var(--font-size-body); text-align:center; backdrop-filter:blur(1px); pointer-events:none; }
.container-map-loading.empty-state { inset:14px auto auto 50%; display:block; width:min(520px,calc(100% - 190px)); padding:9px 13px; transform:translateX(-50%); border:1px solid rgba(45,62,76,.2); border-radius:7px; background:rgba(255,255,255,.94); box-shadow:0 2px 10px rgba(20,35,48,.14); color:#506273; line-height:1.4; backdrop-filter:none; }
body.standalone-master #container-map-open-window { display:none !important; }
.container-map-layer-switch { position:absolute; z-index:510; top:12px; right:12px; display:flex; padding:3px; border:1px solid rgba(45,62,76,.23); border-radius:7px; background:rgba(255,255,255,.94); box-shadow:0 2px 9px rgba(20,35,48,.14); }
.container-map-layer-switch button { min-width:68px; padding:6px 9px; border:0; border-radius:5px; background:transparent; color:#425564; font-size:var(--font-size-small); cursor:pointer; }
.container-map-layer-switch button.active { background:#304b5c; color:#fff; }
.container-map-legend { position:absolute; z-index:500; left:12px; bottom:12px; width:210px; padding:10px; border:1px solid rgba(45,62,76,.2); border-radius:8px; background:rgba(255,255,255,.95); box-shadow:0 2px 12px rgba(20,35,48,.15); color:#344b5c; }
.container-map-legend-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.container-map-legend-head strong,.container-map-legend > strong { font-size:var(--font-size-caption); text-transform:uppercase; letter-spacing:.04em; }
.container-map-legend-head button { border:0; background:transparent; color:var(--primary); font-size:var(--font-size-caption); cursor:pointer; }
.container-map-legend-head button.active { font-weight:800; text-decoration:underline; }
.container-map-legend-item { width:100%; display:grid; grid-template-columns:13px minmax(0,1fr) auto; align-items:center; gap:7px; padding:4px 3px; border:0; border-radius:4px; background:transparent; color:#475a68; font-size:var(--font-size-caption); text-align:left; opacity:.4; cursor:pointer; }
.container-map-legend-item.active { opacity:1; }
.container-map-legend-item:hover { background:#eef3f6; }
.container-map-legend-item i { width:9px; height:9px; border-radius:50%; background:#85929d; }
.container-map-legend-item strong { font-size:var(--font-size-caption); font-variant-numeric:tabular-nums; }
.container-map-legend-divider { height:1px; margin:7px 0; background:var(--border); }
.container-map-age-legend { display:grid; gap:4px; margin-top:6px; }
.container-map-age-legend span { display:flex; align-items:center; gap:7px; color:#596b78; font-size:var(--font-size-caption); }
.container-map-age-legend i { width:10px; height:10px; border:2px solid #6e98ad; border-radius:50%; background:white; }
.container-map-age-legend i.stale { border-style:dashed; border-color:#dc8a22; }
.container-map-age-legend i.old { border-color:#d44848; box-shadow:0 0 0 2px rgba(212,72,72,.16); }
.container-map-age-legend i.unknown { border-color:#87939d; border-style:dotted; }
.container-map-detail { position:absolute; z-index:520; top:56px; right:12px; width:min(370px,calc(100% - 30px)); max-height:calc(100% - 70px); overflow:auto; padding:17px; border:1px solid rgba(45,62,76,.2); border-radius:9px; background:rgba(255,255,255,.97); box-shadow:0 8px 28px rgba(20,35,48,.23); }
.container-map-detail-close { position:absolute; top:8px; right:9px; width:28px; height:28px; border:0; border-radius:50%; background:transparent; color:#6d7b86; font-size:var(--font-size-page-title); cursor:pointer; }
.container-map-detail-eyebrow { color:var(--muted); font-size:var(--font-size-caption); font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.container-map-detail h2 { margin:3px 30px 5px 0; color:#253e50; font-size:21px; }
.container-map-detail-badges { display:flex; align-items:center; gap:7px; flex-wrap:wrap; font-size:var(--font-size-caption); }
.container-map-detail-lead { margin:12px 0; color:#506575; font-size:var(--font-size-small); line-height:1.45; }
.container-map-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.container-map-detail-grid > div { padding:8px 9px; border:1px solid var(--border); border-radius:6px; background:#fafbfc; }
.container-map-detail-grid span,.container-map-detail dt { display:block; color:var(--muted); font-size:var(--font-size-caption); font-weight:800; text-transform:uppercase; letter-spacing:.035em; }
.container-map-detail-grid strong { display:block; margin-top:3px; overflow:hidden; font-size:var(--font-size-caption); text-overflow:ellipsis; white-space:nowrap; }
.container-map-detail section { margin-top:13px; padding-top:12px; border-top:1px solid var(--border); }
.container-map-detail section h3 { margin:0 0 8px; color:#304b5c; font-size:var(--font-size-caption); text-transform:uppercase; letter-spacing:.04em; }
.container-map-detail dl { margin:0; display:grid; gap:7px; }
.container-map-detail dl > div { display:grid; grid-template-columns:100px minmax(0,1fr); gap:8px; align-items:start; }
.container-map-detail dd { margin:0; font-size:var(--font-size-caption); line-height:1.35; }
.container-map-detail dd small { display:block; margin-top:2px; color:var(--muted); }
.container-map-detail-warning { display:flex; flex-direction:column; gap:3px; padding:9px 10px; border:1px solid var(--border); border-left-width:4px; border-radius:6px; background:#fafbfc; font-size:var(--font-size-caption); }
.container-map-detail-warning.success { border-left-color:var(--positive-solid); }
.container-map-detail-warning.warning { border-left-color:#dc8a22; }
.container-map-detail-warning.danger { border-left-color:#d44848; }
.container-map-detail-warning.neutral { border-left-color:#8a98a5; }
.container-map-detail-warning span { color:var(--muted); line-height:1.35; }
.container-map-manage-button { width:100%; margin-top:13px; }
.container-map-group-list { display:grid; gap:6px; margin-top:12px; }
.container-map-group-list button { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 10px; border:1px solid var(--border); border-radius:6px; background:#fafbfc; color:var(--text); text-align:left; cursor:pointer; }
.container-map-group-list button:hover { border-color:color-mix(in srgb,var(--primary) 50%,var(--border)); background:color-mix(in srgb,var(--primary) 4%,var(--surface)); }
.container-map-group-list strong,.container-map-group-list small { display:block; }
.container-map-group-list small { margin-top:2px; color:var(--muted); font-size:var(--font-size-caption); }
.container-map-div-icon { border:0 !important; background:transparent !important; }
.container-map-marker { width:28px; height:28px; display:grid; place-items:center; border:3px solid #fff; border-radius:50%; background:#84939e; color:#fff; box-shadow:0 2px 7px rgba(20,35,48,.38); font-size:var(--font-size-caption); }
.container-map-marker.selected { width:34px; height:34px; margin:-3px; box-shadow:0 0 0 4px rgba(35,77,101,.23),0 3px 10px rgba(20,35,48,.42); }
.container-map-marker.age-stale { border-style:dashed; border-color:#fff1da; }
.container-map-marker.age-old { box-shadow:0 0 0 3px rgba(212,72,72,.38),0 3px 9px rgba(20,35,48,.35); }
.container-map-marker.age-unknown { border-style:dotted; }
.container-map-cluster { width:34px; height:34px; font-size:var(--font-size-caption); }
.container-map-tooltip { display:flex; flex-direction:column; gap:2px; min-width:180px; }
.container-map-tooltip strong { color:#263f51; font-size:var(--font-size-small); }
.container-map-tooltip span { font-size:var(--font-size-caption); }
.container-map-tooltip small { color:#6c7a84; font-size:var(--font-size-caption); }
.container-map-table-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 12px 8px; background:var(--surface); }
.container-map-table-head div { display:flex; flex-direction:column; gap:2px; }
.container-map-table-head strong { font-size:var(--font-size-label); }
.container-map-table-head span { color:var(--muted); font-size:var(--font-size-caption); }
.container-map-table-wrap { max-height:330px; overflow:auto; }
.container-map-table { min-width:1250px; }
.container-map-table thead { position:sticky; top:0; z-index:3; background:var(--surface); }
.container-map-table-row { cursor:pointer; }
.container-map-table-row:hover td,.container-map-table-row.selected td { background:color-mix(in srgb,var(--primary) 6%,var(--surface)); }
.container-map-table-row td strong,.container-map-table-row td small { display:block; }
.container-map-table-row td small { margin-top:2px; color:var(--muted); font-size:var(--font-size-caption); }
.container-map-table-row td:first-child strong { color:#273f50; }
.container-map-no-location { color:#b24b4b; font-size:var(--font-size-caption); font-weight:700; }
.container-map-deadline { font-size:var(--font-size-caption); }
.container-map-deadline.danger { color:#c73535; }
.container-map-deadline.warning { color:#b86d00; }
.container-map-deadline.success { color:var(--positive-text); }
.container-map-deadline.neutral { color:var(--muted); }
.status-verfuegbar,.container-map-legend-item i.status-verfuegbar { background:var(--positive-solid) !important; color:#fff; }
.status-im-einsatz,.container-map-legend-item i.status-im-einsatz { background:#2f80ed !important; color:#fff; }
.status-vermietet,.container-map-legend-item i.status-vermietet { background:#7557c8 !important; color:#fff; }
.status-werkstatt,.container-map-legend-item i.status-werkstatt { background:#e0a000 !important; color:#fff; }
.status-abgezogen,.container-map-legend-item i.status-abgezogen { background:#7c8790 !important; color:#fff; }
.status-gesperrt,.container-map-legend-item i.status-gesperrt { background:#d44848 !important; color:#fff; }
.status-ausgemustert,.container-map-legend-item i.status-ausgemustert { background:#333e47 !important; color:#fff; }
.status-mixed { background:linear-gradient(135deg,var(--positive-solid) 0 25%,#2f80ed 25% 50%,#e0a000 50% 75%,#7c8790 75%) !important; }

@media (max-width:1050px) {
  .tenant-map-config-grid { grid-template-columns:1fr; }
  .container-map-toolbar { align-items:stretch; flex-wrap:wrap; }
  .container-map-search-wrap { width:auto; flex:1 1 320px; }
  .container-map-scope { width:100%; margin-left:0; text-align:left; white-space:normal; }
}
@media (max-width:720px) {
  .container-map-page-header { align-items:stretch; }
  .container-map-header-actions { justify-content:flex-start; }
  .container-map-stage,.container-map-canvas { height:440px; min-height:440px; }
  .container-map-toolbar select { flex:1 1 190px; }
  .container-map-legend { width:180px; }
  .container-map-detail { inset:52px 8px 8px 8px; width:auto; max-height:none; }
  .container-map-layer-switch { top:8px; right:8px; }
  .container-map-loading.empty-state { width:calc(100% - 24px); top:58px; }
}


/* V15.12 · Fahrzeugortung (bewusst 1:1 zur Containerortung) */
.fleet-map-card { padding:0; overflow:hidden; }
.fleet-map-page-header { align-items:flex-end; }
.fleet-map-header-actions { justify-content:flex-end; }
.fleet-map-toolbar { display:flex; align-items:center; gap:8px; padding:10px 12px; border-bottom:1px solid var(--border); background:var(--surface); }
.fleet-map-toolbar select { min-width:175px; height:34px; border:1px solid var(--border); border-radius:5px; background:var(--surface); color:var(--text); }
.fleet-map-search-wrap { width:min(420px,34vw); min-width:250px; }
.fleet-map-scope { margin-left:auto; color:var(--muted); font-size:var(--font-size-small); text-align:right; white-space:nowrap; }
.fleet-map-stage { position:relative; min-height:510px; border-bottom:1px solid var(--border); background:#e8edf1; isolation:isolate; }
.fleet-map-canvas { width:100%; height:510px; z-index:1; }
.fleet-map-loading { position:absolute; inset:0; z-index:6; display:grid; place-items:center; padding:30px; background:rgba(246,248,250,.83); color:#506273; font-size:var(--font-size-body); text-align:center; backdrop-filter:blur(1px); pointer-events:none; }
.fleet-map-loading.empty-state { inset:14px auto auto 50%; display:block; width:min(520px,calc(100% - 190px)); padding:9px 13px; transform:translateX(-50%); border:1px solid rgba(45,62,76,.2); border-radius:7px; background:rgba(255,255,255,.94); box-shadow:0 2px 10px rgba(20,35,48,.14); color:#506273; line-height:1.4; backdrop-filter:none; }
body.standalone-master #fleet-map-open-window { display:none !important; }
.fleet-map-layer-switch { position:absolute; z-index:510; top:12px; right:12px; display:flex; padding:3px; border:1px solid rgba(45,62,76,.23); border-radius:7px; background:rgba(255,255,255,.94); box-shadow:0 2px 9px rgba(20,35,48,.14); }
.fleet-map-layer-switch button { min-width:68px; padding:6px 9px; border:0; border-radius:5px; background:transparent; color:#425564; font-size:var(--font-size-small); cursor:pointer; }
.fleet-map-layer-switch button.active { background:#304b5c; color:#fff; }
.fleet-map-legend { position:absolute; z-index:500; left:12px; bottom:12px; width:210px; padding:10px; border:1px solid rgba(45,62,76,.2); border-radius:8px; background:rgba(255,255,255,.95); box-shadow:0 2px 12px rgba(20,35,48,.15); color:#344b5c; }
.fleet-map-legend-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.fleet-map-legend-head strong,.fleet-map-legend > strong { font-size:var(--font-size-caption); text-transform:uppercase; letter-spacing:.04em; }
.fleet-map-legend-head button { border:0; background:transparent; color:var(--primary); font-size:var(--font-size-caption); cursor:pointer; }
.fleet-map-legend-head button.active { font-weight:800; text-decoration:underline; }
.fleet-map-legend-item { width:100%; display:grid; grid-template-columns:13px minmax(0,1fr) auto; align-items:center; gap:7px; padding:4px 3px; border:0; border-radius:4px; background:transparent; color:#475a68; font-size:var(--font-size-caption); text-align:left; opacity:.4; cursor:pointer; }
.fleet-map-legend-item.active { opacity:1; }
.fleet-map-legend-item:hover { background:#eef3f6; }
.fleet-map-legend-item i { width:9px; height:9px; border-radius:50%; background:#85929d; }
.fleet-map-legend-item strong { font-size:var(--font-size-caption); font-variant-numeric:tabular-nums; }
.fleet-map-legend-divider { height:1px; margin:7px 0; background:var(--border); }
.fleet-map-age-legend { display:grid; gap:4px; margin-top:6px; }
.fleet-map-age-legend span { display:flex; align-items:center; gap:7px; color:#596b78; font-size:var(--font-size-caption); }
.fleet-map-age-legend i { width:10px; height:10px; border:2px solid #6e98ad; border-radius:50%; background:white; }
.fleet-map-age-legend i.stale { border-style:dashed; border-color:#dc8a22; }
.fleet-map-age-legend i.old { border-color:#d44848; box-shadow:0 0 0 2px rgba(212,72,72,.16); }
.fleet-map-age-legend i.unknown { border-color:#87939d; border-style:dotted; }
.fleet-map-detail { position:absolute; z-index:520; top:56px; right:12px; width:min(370px,calc(100% - 30px)); max-height:calc(100% - 70px); overflow:auto; padding:17px; border:1px solid rgba(45,62,76,.2); border-radius:9px; background:rgba(255,255,255,.97); box-shadow:0 8px 28px rgba(20,35,48,.23); }
.fleet-map-detail-close { position:absolute; top:8px; right:9px; width:28px; height:28px; border:0; border-radius:50%; background:transparent; color:#6d7b86; font-size:var(--font-size-page-title); cursor:pointer; }
.fleet-map-detail-eyebrow { color:var(--muted); font-size:var(--font-size-caption); font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.fleet-map-detail h2 { margin:3px 30px 5px 0; color:#253e50; font-size:21px; }
.fleet-map-detail-badges { display:flex; align-items:center; gap:7px; flex-wrap:wrap; font-size:var(--font-size-caption); }
.fleet-map-detail-lead { margin:12px 0; color:#506575; font-size:var(--font-size-small); line-height:1.45; }
.fleet-map-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.fleet-map-detail-grid > div { padding:8px 9px; border:1px solid var(--border); border-radius:6px; background:#fafbfc; }
.fleet-map-detail-grid span,.fleet-map-detail dt { display:block; color:var(--muted); font-size:var(--font-size-caption); font-weight:800; text-transform:uppercase; letter-spacing:.035em; }
.fleet-map-detail-grid strong { display:block; margin-top:3px; overflow:hidden; font-size:var(--font-size-caption); text-overflow:ellipsis; white-space:nowrap; }
.fleet-map-detail section { margin-top:13px; padding-top:12px; border-top:1px solid var(--border); }
.fleet-map-detail section h3 { margin:0 0 8px; color:#304b5c; font-size:var(--font-size-caption); text-transform:uppercase; letter-spacing:.04em; }
.fleet-map-detail dl { margin:0; display:grid; gap:7px; }
.fleet-map-detail dl > div { display:grid; grid-template-columns:100px minmax(0,1fr); gap:8px; align-items:start; }
.fleet-map-detail dd { margin:0; font-size:var(--font-size-caption); line-height:1.35; }
.fleet-map-detail dd small { display:block; margin-top:2px; color:var(--muted); }
.fleet-map-detail-warning { display:flex; flex-direction:column; gap:3px; padding:9px 10px; border:1px solid var(--border); border-left-width:4px; border-radius:6px; background:#fafbfc; font-size:var(--font-size-caption); }
.fleet-map-detail-warning.success { border-left-color:var(--positive-solid); }
.fleet-map-detail-warning.warning { border-left-color:#dc8a22; }
.fleet-map-detail-warning.danger { border-left-color:#d44848; }
.fleet-map-detail-warning.neutral { border-left-color:#8a98a5; }
.fleet-map-detail-warning span { color:var(--muted); line-height:1.35; }
.fleet-map-manage-button { width:100%; margin-top:13px; }
.fleet-map-group-list { display:grid; gap:6px; margin-top:12px; }
.fleet-map-group-list button { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 10px; border:1px solid var(--border); border-radius:6px; background:#fafbfc; color:var(--text); text-align:left; cursor:pointer; }
.fleet-map-group-list button:hover { border-color:color-mix(in srgb,var(--primary) 50%,var(--border)); background:color-mix(in srgb,var(--primary) 4%,var(--surface)); }
.fleet-map-group-list strong,.fleet-map-group-list small { display:block; }
.fleet-map-group-list small { margin-top:2px; color:var(--muted); font-size:var(--font-size-caption); }
.fleet-map-div-icon { border:0 !important; background:transparent !important; }
.fleet-map-marker { width:28px; height:28px; display:grid; place-items:center; border:3px solid #fff; border-radius:50%; background:#84939e; color:#fff; box-shadow:0 2px 7px rgba(20,35,48,.38); font-size:var(--font-size-caption); }
.fleet-map-marker.selected { width:34px; height:34px; margin:-3px; box-shadow:0 0 0 4px rgba(35,77,101,.23),0 3px 10px rgba(20,35,48,.42); }
.fleet-map-marker.age-stale { border-style:dashed; border-color:#fff1da; }
.fleet-map-marker.age-old { box-shadow:0 0 0 3px rgba(212,72,72,.38),0 3px 9px rgba(20,35,48,.35); }
.fleet-map-marker.age-unknown { border-style:dotted; }
.fleet-map-cluster { width:34px; height:34px; font-size:var(--font-size-caption); }
.fleet-map-tooltip { display:flex; flex-direction:column; gap:2px; min-width:180px; }
.fleet-map-tooltip strong { color:#263f51; font-size:var(--font-size-small); }
.fleet-map-tooltip span { font-size:var(--font-size-caption); }
.fleet-map-tooltip small { color:#6c7a84; font-size:var(--font-size-caption); }
.fleet-map-table-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:10px 12px 8px; background:var(--surface); }
.fleet-map-table-head div { display:flex; flex-direction:column; gap:2px; }
.fleet-map-table-head strong { font-size:var(--font-size-label); }
.fleet-map-table-head span { color:var(--muted); font-size:var(--font-size-caption); }
.fleet-map-table-wrap { max-height:330px; overflow:auto; }
.fleet-map-table { min-width:1250px; }
.fleet-map-table thead { position:sticky; top:0; z-index:3; background:var(--surface); }
.fleet-map-table-row { cursor:pointer; }
.fleet-map-table-row:hover td,.fleet-map-table-row.selected td { background:color-mix(in srgb,var(--primary) 6%,var(--surface)); }
.fleet-map-table-row td strong,.fleet-map-table-row td small { display:block; }
.fleet-map-table-row td small { margin-top:2px; color:var(--muted); font-size:var(--font-size-caption); }
.fleet-map-table-row td:first-child strong { color:#273f50; }
.fleet-map-no-location { color:#b24b4b; font-size:var(--font-size-caption); font-weight:700; }
.fleet-map-deadline { font-size:var(--font-size-caption); }
.fleet-map-deadline.danger { color:#c73535; }
.fleet-map-deadline.warning { color:#b86d00; }
.fleet-map-deadline.success { color:var(--positive-text); }
.fleet-map-deadline.neutral { color:var(--muted); }
.status-verfuegbar,.fleet-map-legend-item i.status-verfuegbar { background:var(--positive-solid) !important; color:#fff; }
.status-im-einsatz,.fleet-map-legend-item i.status-im-einsatz { background:#2f80ed !important; color:#fff; }
.status-vermietet,.fleet-map-legend-item i.status-vermietet { background:#7557c8 !important; color:#fff; }
.status-werkstatt,.fleet-map-legend-item i.status-werkstatt { background:#e0a000 !important; color:#fff; }
.status-abgezogen,.fleet-map-legend-item i.status-abgezogen { background:#7c8790 !important; color:#fff; }
.status-gesperrt,.fleet-map-legend-item i.status-gesperrt { background:#d44848 !important; color:#fff; }
.status-ausgemustert,.fleet-map-legend-item i.status-ausgemustert { background:#333e47 !important; color:#fff; }
.status-mixed { background:linear-gradient(135deg,var(--positive-solid) 0 25%,#2f80ed 25% 50%,#e0a000 50% 75%,#7c8790 75%) !important; }

@media (max-width:1050px) {
  .tenant-map-config-grid { grid-template-columns:1fr; }
  .fleet-map-toolbar { align-items:stretch; flex-wrap:wrap; }
  .fleet-map-search-wrap { width:auto; flex:1 1 320px; }
  .fleet-map-scope { width:100%; margin-left:0; text-align:left; white-space:normal; }
}
@media (max-width:720px) {
  .fleet-map-page-header { align-items:stretch; }
  .fleet-map-header-actions { justify-content:flex-start; }
  .fleet-map-stage,.fleet-map-canvas { height:440px; min-height:440px; }
  .fleet-map-toolbar select { flex:1 1 190px; }
  .fleet-map-legend { width:180px; }
  .fleet-map-detail { inset:52px 8px 8px 8px; width:auto; max-height:none; }
  .fleet-map-layer-switch { top:8px; right:8px; }
  .fleet-map-loading.empty-state { width:calc(100% - 24px); top:58px; }
}



/* ══════════════════════════════════════════════════════════════════════════
   V15.11 · Operative Fuhrparkverwaltung
   ══════════════════════════════════════════════════════════════════════════ */
.fleet-header{align-items:flex-start;gap:18px}.fleet-header-actions{justify-content:flex-end;flex-wrap:wrap}.fleet-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;margin:0 0 14px}.fleet-kpi{appearance:none;border:1px solid var(--border);border-top:3px solid #64748b;border-radius:var(--radius);background:var(--surface);padding:15px 17px;text-align:left;cursor:pointer;color:var(--text);box-shadow:0 1px 2px rgba(15,23,42,.03);transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.fleet-kpi:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(15,23,42,.08)}.fleet-kpi.active{outline:2px solid color-mix(in srgb,var(--primary) 26%,transparent);outline-offset:1px}.fleet-kpi.in-use{border-top-color:#0ea5e9}.fleet-kpi.workshop{border-top-color:#f59e0b}.fleet-kpi.due{border-top-color:#ef4444}.fleet-kpi span{display:block;font-size:var(--font-size-label);color:var(--muted);margin-bottom:6px}.fleet-kpi strong{display:block;font-size:25px;line-height:1.1}.fleet-kpi small{display:block;color:var(--muted);margin-top:5px}.fleet-card{padding:0;overflow:hidden}.fleet-table-wrap{max-height:calc(100vh - 340px);min-height:240px}.fleet-table{min-width:1320px}.fleet-table th,.fleet-table td{vertical-align:middle}.fleet-filter-row th{padding-top:7px;padding-bottom:7px}.fleet-actions{white-space:nowrap;min-width:84px}.fleet-calendar-action{font-size:var(--font-size-subtitle)}.fleet-complete-action{color:var(--positive-text)}.fleet-status.verfuegbar{background:var(--positive-bg);color:var(--positive-text)}.fleet-status.im-einsatz{background:#dbeafe;color:#1d4ed8}.fleet-status.werkstatt{background:#fef3c7;color:#92400e}.fleet-status.gesperrt{background:#fee2e2;color:#991b1b}.fleet-status.ausgemustert{background:#e2e8f0;color:#475569}.fleet-vehicle-modal-box{width:min(820px,calc(100vw - 28px))}.fleet-vehicle-modal-body{display:grid;gap:14px}.fleet-form-section,.fleet-schedule-section{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);padding:14px;background:color-mix(in srgb,var(--surface) 96%,var(--background))}.fleet-section-title{text-transform:uppercase;letter-spacing:.055em;font-size:var(--font-size-small);font-weight:800;color:var(--secondary);margin-bottom:11px}.fleet-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fleet-form-grid.two-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-active-field{align-self:end}.fleet-active-field .switch-row{min-height:38px}.fleet-schedule-modal-box{width:min(1180px,calc(100vw - 28px));max-height:calc(100vh - 36px)}.fleet-schedule-modal-body{display:grid;gap:16px;overflow:auto}.fleet-history-wrap{border:1px solid var(--border);border-radius:calc(var(--radius) - 3px);margin-bottom:10px;max-height:240px}.fleet-history-table{min-width:860px}.fleet-history-table th{background:color-mix(in srgb,var(--background) 72%,var(--surface));position:sticky;top:0;z-index:1}.fleet-inline-form{display:grid;grid-template-columns:130px 1fr 1fr 130px 1fr;gap:10px;align-items:end;background:color-mix(in srgb,var(--background) 58%,var(--surface));border:1px solid var(--border);border-radius:calc(var(--radius) - 3px);padding:10px}.fleet-inline-form .form-group-m{margin:0}.fleet-inline-note{grid-column:1/5}.fleet-inline-actions{display:flex;justify-content:flex-end;gap:8px;align-items:end}.fleet-inspection-form{grid-template-columns:140px 170px 1fr 1.4fr auto}.fleet-inspection-form .fleet-inline-note{grid-column:auto}.fleet-history.geplant{background:#fef3c7;color:#92400e}.fleet-history.erledigt,.fleet-history.bestanden{background:var(--positive-bg);color:var(--positive-text)}.fleet-history.nicht-bestanden,.fleet-history.maengel{background:#fee2e2;color:#991b1b}.icon-action.danger{color:#b91c1c}.strong-cell{font-weight:700}.number-cell{text-align:right;white-space:nowrap}
@media(max-width:1100px){.fleet-kpi-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.fleet-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-inline-form,.fleet-inspection-form{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-inline-note{grid-column:1/-1}.fleet-inline-actions{grid-column:1/-1}.fleet-table-wrap{max-height:none}}
@media(max-width:720px){.fleet-kpi-grid{grid-template-columns:1fr}.fleet-form-grid,.fleet-form-grid.two-cols{grid-template-columns:1fr}.fleet-header-actions{justify-content:flex-start}.fleet-inline-form,.fleet-inspection-form{grid-template-columns:1fr}.fleet-inline-note,.fleet-inline-actions{grid-column:auto}.fleet-schedule-section{padding:10px}}

/* ══════════════════════════════════════════════════════════════════════════
   V15.11.1 · Fuhrpark-Dialoge und Containerortungs-Feinschliff
   ══════════════════════════════════════════════════════════════════════════ */
.container-map-toolbar select {
  padding:6px 32px 6px 10px;
  font:inherit;
  font-size:var(--font-size-label);
  line-height:1.2;
}

.fleet-vehicle-cell {
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:3px;
  line-height:1.25;
}
.fleet-vehicle-cell strong {
  overflow:hidden;
  color:var(--text);
  font-weight:600;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.fleet-vehicle-cell .master-cell-sub {
  display:block;
  margin:0;
  color:var(--muted);
  font-size:var(--font-size-caption);
  line-height:1.2;
}

.fleet-vehicle-modal-box,
.fleet-schedule-modal-box {
  display:flex;
  max-height:calc(100vh - 36px);
  flex-direction:column;
  overflow:hidden;
}
.fleet-vehicle-modal-box { width:min(860px,calc(100vw - 28px)); }
.fleet-vehicle-modal-box > form {
  display:flex;
  min-height:0;
  flex:1 1 auto;
  flex-direction:column;
}
.fleet-vehicle-modal-body,
.fleet-schedule-modal-body {
  min-height:0;
  overflow:auto;
  padding:16px 18px;
}
.fleet-vehicle-modal-body { gap:12px; }
.fleet-schedule-modal-body { gap:14px; }

.fleet-form-section,
.fleet-schedule-section {
  overflow:hidden;
  padding:0;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface);
}
.fleet-section-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:11px 13px 9px;
  border-bottom:1px solid #edf0f2;
  background:color-mix(in srgb,var(--background) 52%,var(--surface));
}
.fleet-section-title {
  margin:0;
  color:var(--secondary);
  font-size:var(--font-size-small);
  font-weight:800;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.fleet-section-head p {
  margin:3px 0 0;
  color:var(--muted);
  font-size:var(--font-size-caption);
  line-height:1.35;
}
.fleet-form-grid {
  padding:13px;
}
.fleet-form-grid .form-group,
.fleet-inline-form .form-group,
.fleet-note-field {
  min-width:0;
  margin:0;
}
.fleet-form-grid .form-group input,
.fleet-form-grid .form-group select,
.fleet-inline-form .form-group input,
.fleet-inline-form .form-group select,
.fleet-note-field textarea {
  width:100%;
  min-width:0;
}
.fleet-note-field {
  padding:13px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface);
}
.fleet-note-field textarea {
  min-height:72px;
  resize:vertical;
  padding:8px 9px;
  border:1px solid #d9d9d9;
  border-radius:6px;
  background:var(--surface);
  color:var(--text);
  font:inherit;
  font-size:var(--font-size-body);
  outline:none;
}
.fleet-note-field textarea:focus {
  border-color:var(--primary);
  box-shadow:0 0 0 2px rgba(55,77,88,.10);
}
.fleet-active-field {
  grid-column:1 / -1;
  align-self:auto;
}
.fleet-active-field .switch-row {
  display:flex;
  min-height:36px;
  align-items:center;
  gap:9px;
  padding:8px 10px;
  border:1px solid var(--border);
  border-radius:6px;
  background:color-mix(in srgb,var(--background) 55%,var(--surface));
  color:var(--text);
  font-size:var(--font-size-small);
  font-weight:500;
  cursor:pointer;
}
.fleet-active-field .switch-row input {
  width:16px;
  min-height:16px;
  height:16px;
  margin:0;
  flex:0 0 auto;
}

.fleet-schedule-modal-box { width:min(1120px,calc(100vw - 28px)); }
.fleet-history-wrap {
  max-height:225px;
  margin:0;
  border:0;
  border-radius:0;
  border-bottom:1px solid var(--border);
}
.fleet-history-table { min-width:860px; }
.fleet-history-table th,
.fleet-history-table td { padding:8px 10px; }
.fleet-entry-panel {
  margin:12px;
  padding:11px;
  border:1px solid var(--border);
  border-radius:7px;
  background:color-mix(in srgb,var(--background) 52%,var(--surface));
}
.fleet-entry-title {
  margin-bottom:9px;
  color:var(--text);
  font-size:var(--font-size-small);
  font-weight:700;
}
.fleet-inline-form {
  display:grid;
  grid-template-columns:130px minmax(150px,1fr) minmax(150px,1fr) 130px minmax(170px,1fr);
  align-items:end;
  gap:10px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.fleet-inline-note { grid-column:1 / 5; }
.fleet-inline-actions {
  display:flex;
  min-height:34px;
  align-items:flex-end;
  justify-content:flex-end;
  gap:7px;
}
.fleet-inspection-form {
  grid-template-columns:140px 170px minmax(190px,1fr) minmax(220px,1.35fr) auto;
}
.fleet-inspection-form .fleet-inline-note { grid-column:auto; }

@media(max-width:1100px) {
  .fleet-inline-form,
  .fleet-inspection-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fleet-inline-note,
  .fleet-inspection-form .fleet-inline-note { grid-column:1 / -1; }
  .fleet-inline-actions { grid-column:1 / -1; }
}
@media(max-width:720px) {
  .fleet-vehicle-modal-body,
  .fleet-schedule-modal-body { padding:12px; }
  .fleet-form-grid { padding:11px; }
  .fleet-inline-form,
  .fleet-inspection-form { grid-template-columns:1fr; }
  .fleet-inline-note,
  .fleet-inspection-form .fleet-inline-note,
  .fleet-inline-actions { grid-column:auto; }
}

/* V15.12 · Kleine Vereinheitlichungen */
.fleet-map-toolbar select {
  padding:6px 32px 6px 10px;
  font:inherit;
  font-size:var(--font-size-label);
  line-height:1.2;
}

/* V15.13 – Container-Abdeckung, QR-Druck und Wartungsdialog */
.demo-maint-row-three{grid-template-columns:1fr 1.7fr 150px}.demo-qr-row-bottom{align-items:center;margin-top:8px}.demo-qr-print{margin-top:10px}.container-maintenance-link{appearance:none;border:0;background:transparent;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer;line-height:1.45}.container-maintenance-link:hover .container-deadline,.container-maintenance-link:focus-visible .container-deadline{text-decoration:underline;text-underline-offset:2px}.container-maintenance-link:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 45%,transparent);outline-offset:3px;border-radius:4px}.container-maintenance-empty{color:var(--primary);text-decoration:underline;text-underline-offset:2px}.container-maintenance-modal-box{width:min(1180px,calc(100vw - 28px));max-height:calc(100vh - 36px)}.container-maintenance-section-head{align-items:center}.container-maintenance-section-head>.btn{flex:0 0 auto}.sys-cover-types{display:grid;gap:8px}.sys-cover-type-row{display:grid;grid-template-columns:minmax(180px,1fr) 110px 44px;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--border);border-radius:calc(var(--radius) - 3px);background:var(--surface)}.sys-cover-type-row input[type="text"]{width:100%}.sys-cover-type-row .switch-row{min-height:auto}.sys-cover-type-row .icon-action{justify-self:end}
@media(max-width:760px){.demo-maint-row-three{grid-template-columns:1fr}.container-maintenance-section-head{align-items:flex-start}.container-maintenance-section-head>.btn{width:100%}.sys-cover-type-row{grid-template-columns:1fr 100px 40px}}

/* V15.14 Änderungsprotokoll */
.audit-toolbar{display:grid;grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) minmax(150px,.7fr) minmax(180px,1fr) auto;gap:10px;padding:14px;border-bottom:1px solid var(--border-color,#e5e7eb)}
.audit-toolbar input,.audit-toolbar select{min-width:0}
.audit-event-list{display:flex;flex-direction:column;gap:10px;padding:14px}
.audit-event{border:1px solid var(--border-color,#e5e7eb);border-radius:var(--tenant-radius,8px);background:var(--surface-color,#fff);padding:12px 14px}
.audit-event-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.audit-event-head>div:first-child{display:flex;gap:10px;align-items:center}.audit-event-meta{font-size:var(--font-size-body);color:var(--muted-color,#64748b);margin:4px 0 9px}
.audit-change-list{display:flex;flex-direction:column;gap:5px}.audit-change{display:grid;grid-template-columns:minmax(170px,1fr) minmax(100px,1fr) 20px minmax(100px,1fr);gap:8px;align-items:center;font-size:var(--font-size-medium)}.audit-change code{white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fafc;border:1px solid #e5e7eb;border-radius:5px;padding:4px 6px}.audit-change b{text-align:center;color:#64748b}
.audit-config-table input[type=checkbox]{width:18px;height:18px}
.audit-config-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 10px}.audit-config-search-wrap{width:min(520px,100%);height:36px}.audit-config-filter-count{font-size:var(--font-size-label);color:var(--muted);white-space:nowrap}.audit-config-table tr[hidden]{display:none}
@media(max-width:900px){.audit-toolbar{grid-template-columns:1fr 1fr}.audit-change{grid-template-columns:1fr}.audit-change b{display:none}}

/* V15.14.2 · Änderungsprotokoll optisch an die übrigen MindQube-Masken angeglichen. */
.audit-log-card {
  padding:0;
  overflow:hidden;
}
.audit-log-card,
.audit-log-card input,
.audit-log-card select,
.audit-log-card button,
.audit-log-card code {
  font-family:var(--font-family) !important;
}
.audit-toolbar {
  grid-template-columns:minmax(250px,2fr) minmax(170px,1fr) minmax(145px,.75fr) minmax(170px,1fr) auto;
  gap:8px;
  padding:10px 12px;
  background:var(--surface);
}
.audit-toolbar input,
.audit-toolbar select {
  width:100%;
  min-width:0;
  height:30px;
  padding:4px 10px;
  border:1px solid #d7dde1;
  border-radius:var(--radius);
  background:var(--surface);
  color:var(--text);
  font-size:var(--font-size-small);
  line-height:1.2;
  outline:none;
}
.audit-toolbar input:focus,
.audit-toolbar select:focus {
  border-color:var(--primary);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent);
}
.audit-toolbar input::placeholder { color:#9aa4aa; }
.audit-toolbar #audit-reset {
  height:30px;
  padding:0 11px;
  white-space:nowrap;
  font-size:var(--font-size-small);
}
.audit-event-list {
  gap:7px;
  padding:10px 12px;
  background:color-mix(in srgb,var(--surface) 94%,var(--bg));
}
.audit-event {
  padding:9px 11px;
  border-radius:var(--radius);
  box-shadow:0 1px 2px rgba(15,23,42,.025);
}
.audit-event-head {
  gap:12px;
  font-size:var(--font-size-small);
}
.audit-event-head > div:first-child { gap:7px; }
.audit-event-head strong {
  color:var(--text);
  font-size:var(--font-size-label);
  line-height:1.25;
}
.audit-event-head .tag {
  padding:1px 6px;
  font-size:var(--font-size-caption);
  line-height:1.35;
}
.audit-event-meta {
  margin:2px 0 6px;
  font-size:var(--font-size-caption);
  line-height:1.3;
}
.audit-change-list { gap:3px; }
.audit-change {
  grid-template-columns:minmax(145px,.8fr) minmax(130px,1fr) 16px minmax(130px,1fr);
  gap:6px;
  font-size:var(--font-size-small);
  line-height:1.25;
}
.audit-change > span {
  color:var(--text);
  font-weight:500;
}
.audit-change code {
  min-height:25px;
  display:flex;
  align-items:center;
  padding:3px 6px;
  border-radius:calc(var(--radius) - 2px);
  font-size:var(--font-size-small);
  line-height:1.25;
  color:var(--text);
}
.audit-change b { font-size:var(--font-size-small); }
.audit-log-card #audit-result-info {
  padding:7px 12px 0;
  color:var(--muted);
  font-size:var(--font-size-caption);
}
.audit-log-card .master-pagination {
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 12px;
  border-top:1px solid var(--border);
  background:var(--surface);
  color:var(--muted);
  font-size:var(--font-size-caption);
}
.audit-log-card .master-pagination > div { display:flex; gap:6px; }
@media(max-width:900px){
  .audit-toolbar { grid-template-columns:1fr 1fr; }
  .audit-toolbar #audit-reset { width:100%; }
  .audit-change { grid-template-columns:1fr; gap:3px; }
  .audit-change b { display:none; }
}

/* V15.16 – QR-Sammeldruck Container */
.container-qr-print-modal-box{width:min(560px,calc(100vw - 28px))}
.container-qr-print-modal-box .modal-header p{margin:4px 0 0;color:var(--muted);font-size:var(--font-size-label)}
.container-qr-print-section{padding:14px 0;border-bottom:1px solid var(--border)}
.container-qr-print-section:first-child{padding-top:0}
.container-qr-print-section:last-of-type{border-bottom:0}
.container-qr-print-section h3{margin:0 0 10px;color:#30485a;font-size:var(--font-size-small);text-transform:uppercase;letter-spacing:.04em}
.container-qr-print-choice{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;margin:7px 0;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer}
.container-qr-print-choice:hover{border-color:color-mix(in srgb,var(--primary) 45%,var(--border));background:color-mix(in srgb,var(--primary) 4%,var(--surface))}
.container-qr-print-choice input{margin-top:2px}
.container-qr-print-choice span{display:flex;flex-direction:column;gap:3px}
.container-qr-print-choice strong{font-size:var(--font-size-body);color:var(--text)}
.container-qr-print-choice small{font-size:var(--font-size-small);color:var(--muted)}


/* ── V15.17 Stammdaten-Pagination und feste Tabellenköpfe ─────────────── */
.master-content-card { padding:0; overflow:hidden; display:flex; flex-direction:column; min-height:320px; }
.master-content-card > .personal-celebration-dashboard { margin:14px 14px 0; }
.master-table-scroll {
  flex:1 1 auto;
  min-height:220px;
  max-height:calc(100vh - 270px);
  overflow:auto;
  overscroll-behavior:contain;
}
.master-table-scroll table { margin:0; }
.master-table-scroll thead th {
  position:sticky;
  top:0;
  z-index:4;
  background:var(--surface);
  box-shadow:0 1px 0 var(--border);
}
.master-table-scroll thead .master-filter-row th {
  top:var(--master-header-height, 40px);
  z-index:3;
  background:color-mix(in srgb,var(--surface) 96%,var(--background));
}
.master-pager {
  flex:0 0 auto;
  min-height:48px;
  padding:8px 12px;
  border-top:1px solid var(--border);
  background:var(--surface);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:var(--muted);
  font-size:var(--font-size-label);
}
.master-pager:empty { display:none; }
.master-pager-controls { display:flex; align-items:center; gap:6px; }
.master-pager-controls label { display:flex; align-items:center; gap:7px; }
.master-pager-controls select {
  min-width:68px;
  height:30px;
  padding:3px 24px 3px 9px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--surface);
  color:var(--text);
  font:inherit;
}
.master-pager-controls span { min-width:112px; text-align:center; color:var(--text); }
@media (max-width:760px) {
  .master-pager { align-items:flex-start; flex-direction:column; }
  .master-pager-controls { width:100%; flex-wrap:wrap; }
  .master-table-scroll { max-height:calc(100vh - 330px); }
}
/* V15.19 Termine */
.calendar-page-header .segmented{display:flex;border:1px solid var(--border);border-radius:10px;overflow:hidden}.calendar-page-header .segmented button{border:0;background:#fff;padding:7px 12px;font:inherit}.calendar-page-header .segmented button.active{background:var(--primary);color:#fff}.calendar-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.calendar-kpis button{background:#fff;border:1px solid var(--border);border-top:3px solid var(--primary);border-radius:var(--radius);padding:14px 16px;text-align:left;display:grid;grid-template-columns:auto 1fr;gap:2px 12px;cursor:pointer}.calendar-kpis button:nth-child(2){border-top-color:#0284c7}.calendar-kpis button:nth-child(3){border-top-color:#dc2626}.calendar-kpis button:nth-child(4){border-top-color:#f59e0b}.calendar-kpis button.active{box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 25%,transparent)}.calendar-kpis small{grid-column:1/-1;color:var(--muted)}.calendar-kpis strong{font-size:26px}.calendar-kpis span{align-self:end;color:var(--muted)}.calendar-shell{padding:0;overflow:hidden}.calendar-filterbar{display:grid;grid-template-columns:minmax(260px,1fr) 190px 190px 170px auto auto auto;gap:8px;padding:12px;border-bottom:1px solid var(--border);align-items:center}.calendar-filterbar select,.calendar-filterbar input{height:34px;border-radius:10px}.calendar-auto-filter{display:flex;align-items:center;gap:6px;white-space:nowrap}.calendar-table-scroll{max-height:calc(100vh - 365px);overflow:auto}.calendar-table thead{position:sticky;top:0;z-index:3}.calendar-table th{cursor:default}.calendar-table th[data-calendar-sort]{cursor:pointer}.calendar-table td{vertical-align:middle}.calendar-overdue{background:#fff7f7}.calendar-type-pill,.calendar-status-pill,.calendar-source-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:var(--font-size-small);font-weight:700;white-space:nowrap}.calendar-type-pill{background:color-mix(in srgb,var(--type-color) 12%,white);color:var(--type-color)}.calendar-status-pill{background:color-mix(in srgb,var(--status-color) 12%,white);color:var(--status-color)}.calendar-source-pill{background:#f1f5f9;color:#475569}.calendar-month-toolbar{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}.calendar-month-toolbar strong{min-width:170px;text-align:center;text-transform:capitalize}.calendar-personnel-filter{margin-left:auto;position:relative}.calendar-personnel-filter>summary{list-style:none;cursor:pointer;border:1px solid var(--border);border-radius:9px;background:#fff;padding:7px 11px;font-size:var(--font-size-small);font-weight:700}.calendar-personnel-filter>summary::-webkit-details-marker{display:none}.calendar-personnel-filter[open]>summary{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent)}.calendar-personnel-filter-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:25;min-width:210px;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 28px rgba(15,23,42,.16);padding:8px}.calendar-personnel-filter-menu label{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:7px;white-space:nowrap;font-size:var(--font-size-small);cursor:pointer}.calendar-personnel-filter-menu label:hover{background:#f8fafc}.calendar-day-heading{display:flex;flex-direction:column;align-items:flex-start;min-height:22px}.calendar-day-month{font-size:10px;line-height:1.05;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-bottom:2px}.calendar-day-events>span.calendar-personnel-event{border-left-style:dashed;background:color-mix(in srgb,var(--event-color) 7%,white)}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));padding:0 12px 12px}.calendar-weekday{padding:9px;text-align:center;font-size:var(--font-size-small);font-weight:700;color:var(--muted)}.calendar-day{min-height:120px;border:1px solid var(--border);background:#fff;text-align:left;padding:7px;position:relative;color:inherit}.calendar-day.weekend{background:#f8fafc}.calendar-day.outside{opacity:.55}.calendar-day.holiday{background:#fff9ed}.calendar-day.today{box-shadow:inset 0 0 0 2px var(--primary)}.calendar-day-number{font-weight:700}.calendar-holiday-name{display:block;color:#b45309;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-day-events{display:flex;flex-direction:column;gap:3px;margin-top:7px}.calendar-day-events>span{border-left:3px solid var(--event-color);background:color-mix(in srgb,var(--event-color) 9%,white);padding:3px 5px;border-radius:4px;font-size:var(--font-size-caption);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-day-events em{font-size:var(--font-size-caption);color:var(--muted)}.calendar-entry-modal-box{width:min(780px,calc(100vw - 30px))}.calendar-entry-body{display:flex;flex-direction:column;gap:14px}.calendar-form-section{border:1px solid var(--border);border-radius:12px;padding:14px}.calendar-form-section h3{margin:0 0 12px;font-size:var(--font-size-body);text-transform:uppercase;color:var(--primary)}.calendar-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.calendar-form-grid .span-2{grid-column:span 2}.calendar-check{display:flex;align-items:center;gap:7px}.calendar-reference-current{border:1px solid var(--border);border-radius:10px;padding:11px;display:flex;flex-direction:column}.calendar-reference-current small{color:var(--muted)}.calendar-reference-actions{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin-top:10px}.calendar-reference-results{display:flex;flex-direction:column;gap:6px;margin-top:12px;max-height:420px;overflow:auto}.calendar-reference-results button{border:1px solid var(--border);border-radius:10px;background:#fff;padding:10px;text-align:left;display:flex;flex-direction:column}.calendar-reference-results button:hover{border-color:var(--primary);background:#f8fafc}.calendar-reference-results small{color:var(--muted)}.modal-spacer{flex:1}@media(max-width:1000px){.calendar-kpis{grid-template-columns:repeat(2,1fr)}.calendar-filterbar{grid-template-columns:1fr 1fr}.calendar-day{min-height:95px}}@media(max-width:650px){.calendar-kpis{grid-template-columns:1fr}.calendar-form-grid{grid-template-columns:1fr}.calendar-form-grid .span-2{grid-column:auto}.calendar-reference-actions{grid-template-columns:1fr}.calendar-month-grid{min-width:850px}.calendar-month-view{overflow:auto}}

/* V15.20.2 · Terminseite typografisch und bei Formfeldern vereinheitlicht */
#calendar-view,
#calendar-view input,
#calendar-view select,
#calendar-view textarea,
#calendar-view button,
#calendar-entry-modal,
#calendar-entry-modal input,
#calendar-entry-modal select,
#calendar-entry-modal textarea,
#calendar-entry-modal button {
  font-family:var(--font-family) !important;
}

.calendar-page-header,
.calendar-shell,
.calendar-entry-modal-box {
  font-size:var(--font-size-body);
  color:var(--text);
}

.calendar-filterbar input,
.calendar-filterbar select {
  width:100%;
  min-width:0;
  height:36px;
  padding:6px 10px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--surface);
  color:var(--text);
  font-size:var(--font-size-label);
  line-height:1.25;
  outline:none;
}
.calendar-filterbar input:focus,
.calendar-filterbar select:focus {
  border-color:var(--primary);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent);
}
.calendar-filterbar .btn,
.calendar-page-header .btn,
.calendar-page-header .segmented button {
  min-height:36px;
  font-size:var(--font-size-label);
  line-height:1.2;
}
.calendar-auto-filter {
  min-height:36px;
  font-size:var(--font-size-label);
}
.calendar-auto-filter input[type="checkbox"] {
  width:15px;
  height:15px;
  min-height:0;
}

.calendar-entry-modal-box .modal-header {
  padding:16px 20px 13px;
  align-items:flex-start;
}
.calendar-entry-modal-box .modal-header > div {
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.calendar-entry-modal-box .modal-title {
  display:block;
  font-size:var(--font-size-dialog-title);
  line-height:1.25;
  font-weight:700;
  color:var(--primary);
}
.calendar-entry-modal-box .modal-header small {
  display:block;
  font-size:var(--font-size-small);
  line-height:1.35;
  color:var(--muted);
}
.calendar-entry-modal-box .modal-close {
  flex:0 0 auto;
  width:34px;
  height:34px;
  font-size:18px;
  line-height:1;
}
.calendar-entry-body {
  padding:16px 20px;
  gap:12px;
}
.calendar-form-section {
  padding:14px 15px;
  border-radius:var(--radius);
  background:color-mix(in srgb,var(--surface) 97%,var(--background));
}
.calendar-form-section h3 {
  margin:0 0 12px;
  font-size:var(--font-size-small);
  line-height:1.2;
  letter-spacing:.055em;
  font-weight:800;
}
.calendar-form-grid {
  gap:11px 12px;
}
.calendar-form-grid .form-group,
.calendar-form-section .form-group {
  margin:0;
}
.calendar-entry-modal-box .form-group label {
  margin:0 0 5px;
  font-size:var(--font-size-small);
  line-height:1.2;
  font-weight:700;
  color:var(--text);
}
.calendar-entry-modal-box .form-group input,
.calendar-entry-modal-box .form-group select,
.calendar-entry-modal-box textarea,
.calendar-reference-actions select {
  width:100%;
  min-width:0;
  min-height:38px;
  padding:8px 11px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--surface);
  color:var(--text);
  font-size:var(--font-size-body);
  line-height:1.25;
  outline:none;
}
.calendar-entry-modal-box textarea {
  min-height:92px;
  resize:vertical;
}
.calendar-entry-modal-box .form-group input:focus,
.calendar-entry-modal-box .form-group select:focus,
.calendar-entry-modal-box textarea:focus,
.calendar-reference-actions select:focus {
  border-color:var(--primary);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent);
}
.calendar-check {
  min-height:38px;
  font-size:var(--font-size-body);
  line-height:1.25;
  align-self:end;
}
.calendar-check input[type="checkbox"] {
  width:16px;
  height:16px;
  min-height:0;
}
.calendar-reference-current {
  min-height:44px;
  justify-content:center;
  font-size:var(--font-size-body);
  line-height:1.35;
  background:var(--surface);
}
.calendar-reference-actions .btn {
  min-height:38px;
  padding:8px 12px;
  font-size:var(--font-size-label);
  white-space:nowrap;
}
.calendar-entry-modal-box .modal-footer {
  padding:12px 20px 14px;
}
.calendar-entry-modal-box .modal-footer .btn {
  min-height:36px;
  padding:7px 14px;
  font-size:var(--font-size-label);
}

/* V15.20.3 · Kalender-Suchfeld: nur ein Rahmen, kein doppelter Pillen-Look */
.calendar-filterbar .master-search-wrap {
  width:100%;
  min-width:0;
  height:36px;
  box-sizing:border-box;
  padding:0 10px;
  gap:8px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  background:var(--surface);
}
.calendar-filterbar .master-search-wrap > span {
  flex:0 0 auto;
  font-size:var(--font-size-body);
  line-height:1;
  color:var(--muted);
}
.calendar-filterbar .master-search-wrap input,
.calendar-filterbar .master-search-wrap input:focus {
  flex:1 1 auto;
  width:100%;
  min-width:0;
  height:auto;
  padding:0;
  border:0 !important;
  border-radius:0;
  background:transparent;
  box-shadow:none !important;
  outline:0;
}
.calendar-filterbar .master-search-wrap:focus-within {
  border-color:var(--primary);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent);
}

/* V15.21 · Kalender-Fachnavigation und Kontaktrecherche */
.calendar-entry-row { cursor:pointer; }
.calendar-entry-row:hover td { background:color-mix(in srgb,var(--tenant-primary,#1f4b57) 5%,#fff); }
.calendar-day-events [data-calendar-entry],.calendar-day-events [data-calendar-personnel-id] { cursor:pointer; }
/* V15.22 Auftragsmodul */
.order-workspace{padding:0;overflow:hidden;display:flex;flex-direction:column;min-height:calc(100vh - 190px)}
.order-map-pane{height:330px;min-height:180px;position:relative;background:#f8fafc}
.order-pane-head{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-bottom:1px solid var(--border,#d8e0e8)}
.order-map-toolbar{flex:0 0 44px;background:#fff}
#orders-map{height:100%;width:100%}.order-splitter{height:10px;cursor:row-resize;display:grid;place-items:center;background:#f1f5f9;border-top:1px solid #dbe3ea;border-bottom:1px solid #dbe3ea}.order-splitter span{width:72px;height:3px;border-radius:3px;background:#94a3b8}.resizing-order-map{user-select:none;cursor:row-resize}.order-list-pane{min-height:260px;display:flex;flex-direction:column;flex:1}.order-filterbar{display:grid;grid-template-columns:minmax(260px,2fr) repeat(5,minmax(120px,1fr)) auto auto;gap:8px;padding:10px;border-bottom:1px solid #e2e8f0;align-items:center}.order-filterbar input,.order-filterbar select{height:36px;border:1px solid #d6dee6;border-radius:8px;padding:0 10px;font:inherit;background:#fff}.order-filterbar .master-search-wrap input{border:0;padding:0;background:transparent}.order-table-scroll{flex:1;max-height:none}.order-table th{cursor:pointer;white-space:nowrap}.order-table tbody tr{cursor:pointer}.order-type-pill,.order-status{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:var(--font-size-label);font-weight:700;background:#e8f0ff;color:#234d95}.order-status-abgeschlossen{background:var(--positive-bg);color:var(--positive-text)}.order-status-in_ausfuehrung,.order-status-disponiert{background:#dbeafe;color:#1d4ed8}.order-status-storniert{background:#fee2e2;color:#991b1b}.link-button{border:0;background:none;color:#0369a1;font:inherit;font-weight:700;padding:0;cursor:pointer}.order-modal-box{width:min(1380px,calc(100vw - 48px));height:min(930px,calc(100vh - 36px));max-width:none}.order-modal-body{overflow:auto;padding:18px 22px}.order-form-section{border:1px solid #e2e8f0;border-radius:12px;padding:16px;margin-bottom:14px;background:#fff}.order-head-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.order-customer-field{grid-column:span 2}.order-entity-input{display:flex;gap:8px}.order-entity-input input{flex:1}.order-entity-results{position:absolute;z-index:1200;width:min(620px,calc(100% - 44px));max-height:300px;overflow:auto;background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 18px 45px rgba(15,23,42,.22);padding:6px}.order-entity-results button{display:flex;width:100%;flex-direction:column;text-align:left;border:0;background:#fff;padding:9px 10px;border-radius:7px;cursor:pointer}.order-entity-results button:hover{background:#f1f5f9}.order-entity-results span{font-size:var(--font-size-label);color:#64748b}.order-address-head{display:flex;align-items:center;justify-content:space-between}.order-address-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.order-address-grid.single{grid-template-columns:1fr}.order-address-card{padding:14px;border:1px solid #dbe3ea;border-radius:10px;background:#f8fafc}.order-address-card>strong{display:block;margin-bottom:12px}.order-address-line{display:grid;grid-template-columns:160px 1fr;gap:12px}.order-address-line.geo{grid-template-columns:1fr 1fr}.order-date-time{display:grid;grid-template-columns:1.4fr 1fr;gap:8px}.order-modal-box .form-group-m{position:relative}.order-modal-box input,.order-modal-box select,.order-modal-box textarea{font:inherit}.order-modal-box textarea{width:100%;resize:vertical}.order-modal-box .modal-header small{display:block;color:#64748b;margin-top:3px;font-size:var(--font-size-label)}
@media(max-width:1200px){.order-filterbar{grid-template-columns:repeat(4,minmax(140px,1fr))}.order-filterbar .master-search-wrap{grid-column:span 2}.order-head-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-address-grid{grid-template-columns:1fr}.order-modal-box{width:calc(100vw - 24px)}}

/* V15.22.2 – Auftragsdialog und serverseitige Partnerauswahl */
#order-modal .order-modal-box{font-family:var(--font-family);width:min(1440px,calc(100vw - 32px));height:min(900px,calc(100vh - 24px));display:flex;flex-direction:column}
#order-modal .order-modal-body{flex:1;min-height:0;overflow:auto;padding:20px 24px;background:#f8fafc}
#order-modal .order-form-section{padding:18px 20px;margin:0 0 16px;border:1px solid #dbe3ea;border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.03)}
#order-modal .form-section-title{font-size:var(--font-size-subtitle);font-weight:750;color:#173447;margin:0 0 14px}
#order-modal .order-head-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px 16px;align-items:start}
#order-modal .order-head-grid>.form-group-m{grid-column:span 3}
#order-modal .order-head-grid>.order-customer-field{grid-column:span 6}
#order-modal .order-head-grid>.order-request-field{grid-column:span 6}
#order-modal .form-group-m{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0}
#order-modal .form-group-m label{display:block;margin:0;font-size:var(--font-size-label);line-height:1.25;font-weight:700;color:#334155}
#order-modal input:not([type=checkbox]),#order-modal select,#order-modal textarea{box-sizing:border-box;width:100%;min-width:0;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#0f172a;font:400 var(--font-size-body)/var(--line-height-body) var(--font-family);outline:0}
#order-modal input:not([type=checkbox]),#order-modal select{height:40px;padding:0 11px}
#order-modal textarea{padding:10px 12px;min-height:92px;resize:vertical}
#order-modal input:focus,#order-modal select:focus,#order-modal textarea:focus{border-color:#2c6e8f;box-shadow:0 0 0 3px rgba(44,110,143,.12)}
#order-modal .order-date-time{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(150px,.9fr);gap:8px}
#order-modal .order-time-selects{display:grid;grid-template-columns:minmax(58px,1fr) auto minmax(58px,1fr);align-items:center;gap:5px;min-width:0}
#order-modal .order-time-selects select{width:100%;min-width:0;text-align:center;text-align-last:center;padding-left:8px;padding-right:8px}
#order-modal .order-time-separator{font-weight:700;color:#475569;text-align:center}
#order-modal .order-address-head{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:12px}
#order-modal .order-address-head .form-section-title{margin:0}
#order-modal .order-address-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#order-modal .order-address-grid.single{grid-template-columns:minmax(0,1fr)}
#order-modal .order-address-card{padding:16px;border:1px solid #dbe3ea;border-radius:12px;background:#f8fafc}
#order-modal .order-address-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;margin:0 0 14px}
#order-modal .order-address-card-head>strong{font-size:var(--font-size-medium);color:#173447}
#order-modal .order-address-card-head .btn{flex:0 0 auto}
#order-modal .order-address-card .form-group-m{margin-bottom:11px}
#order-modal .order-address-card .form-group-m:last-child{margin-bottom:0}
#order-modal .order-address-line{display:grid;grid-template-columns:minmax(110px,.38fr) minmax(0,1fr);gap:12px}
#order-modal .order-address-line.geo{grid-template-columns:repeat(2,minmax(0,1fr))}
#order-modal .cfg-toggle{display:inline-flex;align-items:center;gap:8px;font-size:var(--font-size-body);color:#334155;white-space:nowrap}
#order-modal .cfg-toggle input{width:16px;height:16px}
#order-modal .modal-footer{flex:0 0 auto}
.order-partner-selection{display:flex;align-items:stretch;gap:10px;min-width:0}
.order-partner-selected{display:flex;align-items:center;min-height:40px;flex:1;min-width:0;padding:8px 11px;border:1px solid #cbd5e1;border-radius:9px;background:#fff}
.order-partner-selected strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-medium);color:#0f172a}
.order-partner-selected small{display:block;margin-top:2px;color:#64748b;font-size:var(--font-size-label)}
.order-partner-placeholder{color:#64748b;font-size:var(--font-size-medium)}
.order-partner-actions{display:flex;gap:8px;flex:0 0 auto}
.order-partner-modal-box{width:min(860px,calc(100vw - 36px));height:min(720px,calc(100vh - 36px));display:flex;flex-direction:column}
.order-partner-modal-body{display:flex;flex-direction:column;gap:14px;min-height:0;flex:1;overflow:hidden;background:#f8fafc}
.order-partner-search-wrap{flex:0 0 auto;width:100%;box-sizing:border-box}
.order-partner-search-wrap input{min-width:0;flex:1}
.order-partner-result-list{flex:1;min-height:0;overflow:auto;border:1px solid #dbe3ea;border-radius:12px;background:#fff}
.order-partner-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;width:100%;padding:13px 15px;border:0;border-bottom:1px solid #edf2f7;background:#fff;text-align:left;cursor:pointer}
.order-partner-result:last-child{border-bottom:0}
.order-partner-result:hover,.order-partner-result:focus{background:#f0f7fa;outline:0}
.order-partner-result-main{min-width:0}
.order-partner-result-main strong{display:block;color:#173447;font-size:var(--font-size-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.order-partner-result-main span{display:block;margin-top:3px;color:#64748b;font-size:var(--font-size-label)}
.order-partner-result-badge{font-size:var(--font-size-small);font-weight:750;padding:4px 8px;border-radius:999px;background:#e2e8f0;color:#475569}
.order-partner-result-badge.blocked{background:#fee2e2;color:#991b1b}
.order-partner-empty{padding:44px 20px;text-align:center;color:#64748b}
.order-partner-pager{flex:0 0 auto}
@media(max-width:1100px){#order-modal .order-head-grid>.form-group-m{grid-column:span 6}#order-modal .order-head-grid>.order-customer-field,#order-modal .order-head-grid>.order-request-field{grid-column:span 12}#order-modal .order-address-grid{grid-template-columns:1fr}}


/* V15.22.5 – Auftragsliste typografisch und spaltenrichtig */
.order-list-pane {
  font-family:var(--font-family);
  color:var(--text);
}
.order-table-scroll {
  flex:1;
  min-height:260px;
  overflow:auto;
  border-top:1px solid var(--border);
}
.order-table {
  width:100%;
  min-width:1280px;
  table-layout:fixed;
  border-collapse:collapse;
  font-family:var(--font-family);
  font-size:var(--font-size-label);
}
.order-table col.order-col-number { width:10%; }
.order-table col.order-col-type { width:18%; }
.order-table col.order-col-partner { width:17%; }
.order-table col.order-col-container-type { width:9%; }
.order-table col.order-col-container { width:10%; }
.order-table col.order-col-status { width:10%; }
.order-table col.order-col-requested { width:10%; }
.order-table col.order-col-created { width:12%; }
.order-table col.order-col-actions { width:4%; }
.order-table thead {
  position:sticky;
  top:0;
  z-index:4;
}
.order-table thead th {
  box-sizing:border-box;
  padding:8px 9px;
  background:var(--surface);
  color:#555;
  font-family:var(--font-family);
  font-size:var(--font-size-label);
  line-height:1.25;
  font-weight:600;
  vertical-align:middle;
  border-bottom:1px solid var(--border);
}
.order-table .order-heading-row th[data-order-sort] {
  cursor:pointer;
}
.order-table .order-column-filter-row th {
  padding:7px 6px;
  background:color-mix(in srgb,var(--surface) 96%,var(--background));
  box-shadow:0 1px 0 var(--border);
  cursor:default;
}
.order-column-filter-row input,
.order-column-filter-row select {
  display:block;
  width:100%;
  min-width:0;
  height:32px;
  padding:0 9px;
  border:1px solid #d9d9d9;
  border-radius:6px;
  background:var(--surface);
  color:var(--text);
  font-family:var(--font-family);
  font-size:var(--font-size-label);
  line-height:1;
  outline:0;
}
.order-column-filter-row input:focus,
.order-column-filter-row select:focus,
.order-filter-search:focus-within {
  border-color:var(--primary);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 10%,transparent);
}
.order-filter-search {
  display:flex;
  align-items:center;
  width:100%;
  min-width:0;
  height:32px;
  padding:0 8px;
  border:1px solid #d9d9d9;
  border-radius:6px;
  background:var(--surface);
  color:var(--muted);
}
.order-filter-search span {
  flex:0 0 auto;
  margin-right:5px;
  font-size:var(--font-size-body);
  line-height:1;
}
.order-filter-search input {
  flex:1;
  width:auto;
  height:30px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none !important;
  outline:0;
}
.order-filter-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:5px;
}
.order-filter-actions .btn {
  width:29px;
  height:29px;
  min-height:29px;
  padding:0;
  border-radius:6px;
  font-family:var(--font-family);
  font-size:var(--font-size-label);
}
.order-table tbody td {
  padding:8px 9px;
  font-family:var(--font-family);
  font-size:var(--font-size-label);
  line-height:1.35;
  vertical-align:middle;
  overflow:hidden;
  text-overflow:ellipsis;
}
.order-table tbody td[data-mq-column-key="type"],
.order-table tbody td[data-mq-column-key="partner"] {
  white-space:normal;
}
.order-table .link-button {
  font-family:var(--font-family);
  font-size:var(--font-size-label);
  font-weight:700;
}
.order-table .order-type-pill,
.order-table .order-status {
  padding:2px 7px;
  font-family:var(--font-family);
  font-size:var(--font-size-caption);
  line-height:1.35;
  font-weight:700;
}
.order-table td:last-child,
.order-table th:last-child {
  text-align:right;
}
@media(max-width:1200px) {
  .order-table { min-width:1160px; }
}

/* V15.23 – Standortbezogene Auftragsmarker */
.order-map-marker-host {
  border:0;
  background:transparent;
}
.order-map-marker {
  position:relative;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:3px solid #fff;
  border-radius:50% 50% 50% 10%;
  transform:rotate(-45deg);
  background:var(--primary,#244d5a);
  color:#fff;
  box-shadow:0 4px 12px rgba(15,23,42,.28);
}
.order-map-marker span {
  transform:rotate(45deg);
  font-family:var(--font-family);
  font-size:var(--font-size-label);
  line-height:1;
  font-weight:800;
}
.order-map-marker.new { background:#2784a8; }
.order-map-marker.planned { background:#d78a12; }
.order-map-marker.active { background:#7252c7; }
.order-map-marker.done { background:#2e8b57; }
.order-map-marker.neutral { background:#64748b; }
.order-map-leaflet-popup .leaflet-popup-content-wrapper {
  border-radius:12px;
  box-shadow:0 14px 36px rgba(15,23,42,.24);
}
.order-map-leaflet-popup .leaflet-popup-content {
  width:520px !important;
  max-width:calc(100vw - 96px);
  margin:14px;
  font-family:var(--font-family);
}
.order-map-popup {
  width:100%;
  min-width:0;
}
.order-map-popup-title {
  display:block;
  padding-right:22px;
  color:#173447;
  font-size:var(--font-size-medium);
  line-height:1.35;
}
.order-map-popup-meta {
  margin-top:4px;
  color:#64748b;
  font-size:var(--font-size-small);
}
.order-map-popup-list {
  max-height:260px;
  margin-top:10px;
  overflow:auto;
  border:1px solid #e2e8f0;
  border-radius:9px;
}
.order-map-popup-order {
  display:grid;
  grid-template-columns:118px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  width:100%;
  min-height:42px;
  padding:9px 10px;
  border:0;
  border-bottom:1px solid #edf2f7;
  background:#fff;
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.order-map-popup-order:last-child { border-bottom:0; }
.order-map-popup-order:hover,
.order-map-popup-order:focus {
  background:#f0f7fa;
  outline:0;
}
.order-map-popup-number {
  overflow:hidden;
  color:#075985;
  font-size:var(--font-size-label);
  text-overflow:ellipsis;
  white-space:nowrap;
}
.order-map-popup-partner {
  min-width:0;
  overflow:hidden;
  color:#334155;
  font-size:var(--font-size-label);
  text-overflow:ellipsis;
  white-space:nowrap;
}
.order-map-popup-order .order-status {
  font-size:var(--font-size-caption);
  white-space:nowrap;
}

@media(max-width:680px) {
  .order-map-leaflet-popup .leaflet-popup-content { width:calc(100vw - 96px) !important; }
  .order-map-popup-order { grid-template-columns:minmax(92px,auto) minmax(0,1fr); }
  .order-map-popup-order .order-status { grid-column:1 / -1; justify-self:start; }
}

/* V15.26 – Ad-hoc-Kunden und herausgelöste Auftragskarte */
.order-map-heading{display:flex;align-items:baseline;gap:12px;min-width:0}
.order-map-detached-note{display:none;align-items:center;gap:7px;padding:7px 10px;border:1px solid #b8cad5;border-radius:9px;background:#f3f8fb;color:#315266;font-size:var(--font-size-label);font-weight:700}
body.order-map-detached #order-map-pane,body.order-map-detached #order-splitter,body.order-map-detached #orders-map-toggle,body.order-map-detached #orders-map-layer{display:none!important}
body.order-map-detached #orders-map-open-window{border-color:#7fa1b4;background:#edf6fa;color:#173f55}
body.order-map-detached .order-map-detached-note{display:inline-flex}
.order-map-heading>strong{white-space:nowrap}
#orders-map-summary{overflow:hidden;color:#64748b;font-size:var(--font-size-label);text-overflow:ellipsis;white-space:nowrap}
.order-map-window-filters{display:grid;grid-template-columns:minmax(260px,1.8fr) repeat(5,minmax(120px,1fr)) auto auto;gap:8px;padding:10px 12px;border-bottom:1px solid #dbe3ea;background:#f8fafc;align-items:center}
.order-map-window-filters input,.order-map-window-filters select{box-sizing:border-box;width:100%;height:36px;border:1px solid #cbd5e1;border-radius:8px;padding:0 10px;background:#fff;color:#0f172a;font:inherit}
.order-map-window-filters .master-search-wrap{height:36px}
.order-map-window-filters .master-search-wrap input{height:auto;border:0;padding:0;background:transparent}
.order-partner-selected{gap:10px}
.order-partner-selected>div{min-width:0;flex:1}
.order-partner-kind{flex:0 0 auto;padding:3px 7px;border-radius:999px;background:#fff4d6;color:#8a5b00;font-size:var(--font-size-caption);font-weight:800;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.order-customer-field .order-partner-selected strong{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.2;font-weight:800}
.order-customer-field .order-partner-selected.adhoc{border-color:#e8c46a;background:#fffaf0;box-shadow:inset 3px 0 0 #d7a62d}
.order-customer-field .order-partner-selected.adhoc small{color:#6b5a2d}
.order-partner-kicker{display:block;margin-bottom:2px;color:#8a5b00;font-size:var(--font-size-caption);font-weight:800;text-transform:uppercase;letter-spacing:.035em}
.order-adhoc-modal-box{width:min(720px,calc(100vw - 36px))}
#order-adhoc-modal .modal-body{display:flex;flex-direction:column;gap:14px;background:#f8fafc}
#order-adhoc-modal .form-group-m{display:flex;flex-direction:column;gap:6px;margin:0}
#order-adhoc-modal .form-group-m label{font-size:var(--font-size-label);font-weight:700;color:#334155}
#order-adhoc-modal input:not([type=checkbox]){box-sizing:border-box;width:100%;height:40px;border:1px solid #cbd5e1;border-radius:9px;padding:0 11px;background:#fff;color:#0f172a;font:inherit}
#order-adhoc-modal input:focus{border-color:#2c6e8f;outline:0;box-shadow:0 0 0 3px rgba(44,110,143,.12)}
#order-adhoc-modal .order-address-line{grid-template-columns:minmax(110px,.38fr) minmax(0,1fr)}
.order-adhoc-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border:1px solid #dbe3ea;border-radius:10px;background:#fff}
.order-adhoc-options .cfg-toggle{display:flex;align-items:center;gap:8px;font-size:var(--font-size-body);color:#334155}
.order-adhoc-options input{width:16px;height:16px}
body.order-map-only-window .page-header.order-page-header{display:none}
body.order-map-only-window #page-auftraege{height:calc(100vh - 110px)}
body.order-map-only-window .order-workspace{height:100%;min-height:0;box-shadow:none}
body.order-map-only-window .order-list-pane,
body.order-map-only-window #order-splitter,
body.order-map-only-window #orders-map-toggle{display:none!important}
body.order-map-only-window .order-map-pane{height:auto!important;min-height:0;flex:1}
body.order-map-only-window .order-map-toolbar{flex-basis:48px;height:48px}
body.order-map-only-window .content{overflow:hidden}
@media(max-width:1200px){.order-map-window-filters{grid-template-columns:repeat(4,minmax(140px,1fr))}.order-map-window-filters .master-search-wrap{grid-column:span 2}}
@media(max-width:760px){.order-partner-selection{flex-direction:column}.order-partner-actions{flex-wrap:wrap}.order-adhoc-options{grid-template-columns:1fr}.order-map-window-filters{grid-template-columns:1fr 1fr}.order-map-window-filters .master-search-wrap{grid-column:1/-1}}

/* V15.27 – Reklamationen / Schäden */
.complaint-page-header{margin-bottom:14px}
.complaint-kpis{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px;margin-bottom:14px}
.complaint-kpis>button{position:relative;display:grid;grid-template-columns:1fr;gap:4px;min-height:94px;padding:14px 16px;border:1px solid #dbe3ea;border-top:3px solid #d78a12;border-radius:11px;background:#fff;color:var(--text);text-align:left;box-shadow:0 4px 14px rgba(15,23,42,.05);cursor:pointer}
.complaint-kpis>button:nth-child(2){border-top-color:#dc4b64}.complaint-kpis>button:nth-child(3){border-top-color:#2784a8}.complaint-kpis>button:nth-child(4){border-top-color:#39a14a}
.complaint-kpis>button:hover,.complaint-kpis>button:focus{border-color:#9eb7c6;outline:0;box-shadow:0 7px 20px rgba(15,23,42,.09);transform:translateY(-1px)}
.complaint-kpis small{color:#64748b;font-size:var(--font-size-small)}.complaint-kpis strong{color:#172b3a;font-size:23px;line-height:1.15}.complaint-kpis span{color:#94a3b8;font-size:var(--font-size-caption)}
.complaint-shell{padding:0;overflow:hidden}.complaint-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid #e2e8f0;background:#fff}.complaint-table-toolbar>span{color:#475569;font-size:var(--font-size-label);font-weight:700}
.complaint-table-scroll{max-height:calc(100vh - 355px);min-height:220px;overflow:auto}.complaint-table{width:100%;min-width:1380px;border-collapse:separate;border-spacing:0;font-size:var(--font-size-label)}.complaint-table th,.complaint-table td{padding:10px 9px;border-bottom:1px solid #edf2f7;vertical-align:top;text-align:left}.complaint-table thead th{position:sticky;top:0;z-index:3;background:#f8fafc;color:#475569;font-size:var(--font-size-small);white-space:nowrap}.complaint-table thead tr:first-child th[data-complaint-sort]{cursor:pointer}.complaint-table thead tr:first-child th[data-complaint-sort]::after{content:attr(data-sort-indicator);display:inline-block;margin-left:5px;color:var(--muted,#64748b);font-size:10px}.complaint-table thead tr:first-child th[data-complaint-sort]:hover{color:#0b5f83}.complaint-table .complaint-filter-row th{top:34px;padding:6px 9px;background:#fff;box-shadow:0 1px 0 #e2e8f0}.complaint-filter-row input,.complaint-filter-row select{box-sizing:border-box;width:100%;height:30px;border:1px solid #d4dde5;border-radius:6px;padding:0 8px;background:#fff;color:#334155;font:inherit}.complaint-table tbody tr:hover{background:#f8fbfd}.complaint-table td strong{display:block}.complaint-table td small{display:block;margin-top:3px;color:#64748b;font-size:var(--font-size-caption);line-height:1.3}.complaint-table .numeric{text-align:right;white-space:nowrap}.complaint-description-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.complaint-type-tag{display:inline-block;max-width:220px;padding:4px 7px;border-radius:999px;background:#fff3d6;color:#936000;font-size:var(--font-size-caption);font-weight:800;line-height:1.25;text-transform:uppercase}.complaint-status{display:inline-block;padding:4px 7px;border-radius:999px;font-size:var(--font-size-caption);font-weight:800;white-space:nowrap}.complaint-status-in_pruefung{background:#e7f2ff;color:#17679b}.complaint-status-rueckfrage{background:#fff3d6;color:#936000}.complaint-status-reguliert{background:#dcf7e5;color:#247443}.complaint-status-abgelehnt,.complaint-status-storniert{background:#f1f5f9;color:#64748b}.complaint-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}.link-button{border:0;padding:0;background:transparent;color:#075985;font:inherit;font-weight:800;cursor:pointer}.link-button:hover{text-decoration:underline}
.complaint-modal-box{width:min(980px,calc(100vw - 36px));max-height:calc(100vh - 34px)}.complaint-modal-box .modal-header>div,.complaint-picker-box .modal-header>div,.complaint-settlement-box .modal-header>div{display:flex;flex-direction:column;gap:2px}.complaint-modal-box .modal-header small,.complaint-picker-box .modal-header small,.complaint-settlement-box .modal-header small{color:#64748b;font-size:var(--font-size-small)}.complaint-modal-body{display:flex;flex-direction:column;gap:14px;padding:14px;background:#f8fafc}.complaint-form-section{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid #dfe7ed;border-radius:11px;background:#fff}.complaint-form-grid{display:grid;gap:12px}.complaint-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.complaint-form-section .form-group-m{display:flex;flex-direction:column;gap:6px;margin:0}.complaint-form-section .form-group-m label,.complaint-settlement-box .form-group-m label{color:#334155;font-size:var(--font-size-label);font-weight:700}.complaint-form-section input:not([type=file]),.complaint-form-section select,.complaint-form-section textarea,.complaint-settlement-box input,.complaint-settlement-box select{box-sizing:border-box;width:100%;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#0f172a;font:inherit}.complaint-form-section input:not([type=file]),.complaint-form-section select,.complaint-settlement-box input,.complaint-settlement-box select{height:39px;padding:0 10px}.complaint-form-section textarea{min-height:86px;padding:9px 10px;resize:vertical}.complaint-form-section input:focus,.complaint-form-section select:focus,.complaint-form-section textarea:focus,.complaint-settlement-box input:focus,.complaint-settlement-box select:focus{border-color:#2c6e8f;outline:0;box-shadow:0 0 0 3px rgba(44,110,143,.12)}.complaint-form-section input:disabled,.complaint-form-section select:disabled,.complaint-form-section textarea:disabled{background:#f1f5f9;color:#64748b}.complaint-selection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.complaint-selection-card{display:flex;flex-direction:column;gap:8px;padding:11px;border:1px solid #dbe3ea;border-radius:9px;background:#f8fafc}.complaint-selection-card>span{color:#334155;font-size:var(--font-size-label);font-weight:800}.complaint-selection-card>span small{font-weight:500}.complaint-selection-card>span b{color:#c9364f}.complaint-selection-card>div:last-of-type{display:flex;flex-wrap:wrap;gap:7px}.complaint-selection-card>small{color:#64748b;font-size:var(--font-size-caption);line-height:1.35}.complaint-selected-value{min-height:34px;padding:8px 9px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#334155}.complaint-selected-value.empty{color:#94a3b8}.complaint-selected-value strong{display:block}.complaint-selected-value small{display:block;margin-top:2px;color:#64748b;font-size:var(--font-size-caption)}.complaint-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.complaint-section-head>div{display:flex;flex-direction:column;gap:2px}.complaint-section-head strong{color:#173447;font-size:var(--font-size-label);text-transform:uppercase;letter-spacing:.04em}.complaint-section-head small{color:#64748b;font-size:var(--font-size-small)}.complaint-photo-add{position:relative;overflow:hidden;cursor:pointer}.complaint-photo-add input{position:absolute;inset:0;opacity:0;cursor:pointer}.complaint-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.complaint-photo-card{position:relative;display:grid;grid-template-rows:124px auto;min-width:0;overflow:hidden;border:1px solid #dbe3ea;border-radius:9px;background:#fff}.complaint-photo-card>a,.complaint-photo-card>img,.complaint-photo-loading{display:flex;width:100%;height:124px;align-items:center;justify-content:center;background:#f1f5f9}.complaint-photo-card img{display:block;width:100%;height:124px;object-fit:cover}.complaint-photo-card>div:not(.complaint-photo-loading){min-width:0;padding:8px 10px}.complaint-photo-card strong{display:block;overflow:hidden;color:#334155;font-size:var(--font-size-small);text-overflow:ellipsis;white-space:nowrap}.complaint-photo-card small{display:block;margin-top:2px;color:#64748b;font-size:var(--font-size-caption)}.complaint-photo-card>button{position:absolute;top:6px;right:6px;width:26px;height:26px;border:0;border-radius:50%;background:rgba(15,23,42,.78);color:#fff;cursor:pointer}.complaint-photo-card.pending{border-style:dashed}.complaint-photo-loading{padding:12px;color:#64748b;font-size:var(--font-size-small);text-align:center}.complaint-photo-empty{grid-column:1/-1;padding:28px;border:1px dashed #cbd5e1;border-radius:9px;background:#f8fafc;color:#94a3b8;text-align:center}.complaint-share-check{grid-column:1/-1;min-height:18px;font-size:var(--font-size-small)}.complaint-share-check.ok{color:#2e8b57}.complaint-share-check.error{color:#c9364f}.complaint-status-field{max-width:330px}
.complaint-picker-box{width:min(720px,calc(100vw - 36px));max-height:calc(100vh - 50px)}.complaint-picker-box .modal-body{display:flex;min-height:420px;flex-direction:column;gap:10px;background:#f8fafc}.complaint-picker-search-wrap{flex:0 0 auto}.complaint-picker-results{display:flex;flex:1;flex-direction:column;gap:7px;min-height:250px;overflow:auto}.complaint-picker-result{display:flex;flex-direction:column;gap:3px;width:100%;padding:10px 12px;border:1px solid #dbe3ea;border-radius:8px;background:#fff;color:#334155;text-align:left;cursor:pointer}.complaint-picker-result:hover,.complaint-picker-result:focus{border-color:#78a8bd;outline:0;background:#f1f8fb}.complaint-picker-result strong{font-size:var(--font-size-label)}.complaint-picker-result small{color:#64748b;font-size:var(--font-size-caption)}.complaint-picker-empty{display:flex;flex:1;align-items:center;justify-content:center;padding:24px;color:#64748b;text-align:center}.complaint-picker-empty.error{color:#b4233b}
.complaint-settlement-box{width:min(720px,calc(100vw - 36px))}.complaint-settlement-box .modal-body{display:flex;flex-direction:column;gap:14px;background:#f8fafc}.complaint-settlement-box .form-group-m{display:flex;flex-direction:column;gap:6px;margin:0}.complaint-settlement-summary{display:flex;flex-direction:column;gap:3px;padding:12px;border:1px solid #dbe3ea;border-radius:9px;background:#fff}.complaint-settlement-summary strong{color:#173447}.complaint-settlement-summary span{color:#334155}.complaint-settlement-summary small{color:#64748b}.complaint-settlement-note{padding:11px 12px;border-left:4px solid #2784a8;border-radius:7px;background:#eaf6fb;color:#31566a;font-size:var(--font-size-small);line-height:1.45}
@media(max-width:1100px){.complaint-kpis{grid-template-columns:repeat(2,minmax(180px,1fr))}.complaint-table-scroll{max-height:none}}
@media(max-width:700px){.complaint-kpis,.complaint-form-grid.two,.complaint-selection-grid{grid-template-columns:1fr}.complaint-modal-box,.complaint-picker-box,.complaint-settlement-box{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.complaint-modal-body{padding:9px}.complaint-form-section{padding:11px}.complaint-section-head{align-items:flex-start;flex-direction:column}.complaint-photo-grid{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.complaint-kpis,.complaint-photo-grid{grid-template-columns:1fr}}


/* V15.27.2 – Auftragszuordnung in der Containerverwaltung */
.container-order-assignment{align-items:flex-start}
.container-order-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.container-order-current strong{display:block;color:#173447}
.container-order-current small{display:block;margin-top:3px;color:#64748b;font-size:var(--font-size-caption);line-height:1.35}
.container-order-picker-box{width:min(760px,calc(100vw - 36px));max-height:calc(100vh - 50px)}
.container-order-picker-box .modal-header>div{display:flex;flex-direction:column;gap:2px}
.container-order-picker-box .modal-header small{color:#64748b;font-size:var(--font-size-small)}
.container-order-picker-body{display:flex;min-height:430px;flex-direction:column;gap:10px;background:#f8fafc}
.container-order-picker-results{display:flex;flex:1;min-height:260px;flex-direction:column;gap:7px;overflow:auto}
.container-order-picker-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;width:100%;padding:11px 12px;border:1px solid #dbe3ea;border-radius:8px;background:#fff;color:#334155;text-align:left;cursor:pointer}
.container-order-picker-result:hover,.container-order-picker-result:focus{border-color:#78a8bd;outline:0;background:#f1f8fb}
.container-order-picker-result strong{display:block;font-size:var(--font-size-label)}.container-order-picker-result small{display:block;margin-top:3px;color:#64748b;font-size:var(--font-size-caption);line-height:1.35}
.container-order-picker-result .order-picker-status{align-self:start;padding:4px 7px;border-radius:999px;background:#e7f2ff;color:#17679b;font-size:var(--font-size-caption);font-weight:800;white-space:nowrap}
.container-order-picker-empty{display:flex;flex:1;align-items:center;justify-content:center;padding:24px;color:#64748b;text-align:center}.container-order-picker-empty.error{color:#b4233b}
@media(max-width:720px){.container-order-picker-result{grid-template-columns:1fr}.container-order-actions{justify-content:flex-start}}

/* V15.28 – zentraler Preis-Kalkulator im Auftragsmodul */
.order-pricing-modal-box{width:min(820px,calc(100vw - 32px));max-height:calc(100vh - 28px);display:flex;flex-direction:column}
.order-pricing-modal-box .modal-header>div{display:flex;min-width:0;flex-direction:column;gap:3px}
.order-pricing-modal-box .modal-header small{color:#64748b;font-size:var(--font-size-small);line-height:1.35}
.order-pricing-modal-body{display:flex;min-height:0;flex:1;flex-direction:column;gap:16px;overflow:auto;padding:18px 22px;background:#fff}
.order-pricing-modal-box .form-group-m{display:flex;min-width:0;flex-direction:column;gap:6px;margin:0}
.order-pricing-modal-box .form-group-m>label{color:#334155;font-size:var(--font-size-label);font-weight:750;line-height:1.3}
.order-pricing-label-note{color:#64748b;font-weight:500}
.order-pricing-modal-box input:not([type=checkbox]),.order-pricing-modal-box select{box-sizing:border-box;width:100%;height:42px;min-width:0;padding:0 11px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#0f172a;font:inherit;outline:0}
.order-pricing-modal-box input:focus,.order-pricing-modal-box select:focus{border-color:#2c6e8f;box-shadow:0 0 0 3px rgba(44,110,143,.12)}
.order-pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.order-pricing-customer .order-partner-selection{align-items:stretch}
.order-pricing-customer .order-partner-selected{min-height:42px}
.order-pricing-address-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}
.order-pricing-address-row .btn{min-width:190px;justify-content:center}
.order-pricing-geo-info{min-height:18px;color:#64748b;font-size:var(--font-size-small);line-height:1.45}
.order-pricing-geo-info[data-tone=success]{color:#256b42}
.order-pricing-geo-info[data-tone=warning]{color:#a35b00}
.order-pricing-geo-info[data-tone=error]{color:#b4233b}
.order-pricing-time-row{align-items:end}
.order-pricing-time-toggle{min-height:42px;align-self:end;padding-bottom:10px}
.order-pricing-result{position:relative;min-height:130px;border-top:1px solid #e2e8f0;padding-top:4px}
.order-pricing-result.loading{opacity:.62;pointer-events:none}
.order-pricing-loading,.order-pricing-empty{display:flex;min-height:130px;align-items:center;justify-content:center;padding:20px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#64748b;text-align:center}
.order-pricing-empty.error{border-color:#fecaca;background:#fff1f2;color:#b4233b}
.order-pricing-condition-summary{margin:0 0 8px;padding:8px 10px;border-radius:8px;background:#f0f7fa;color:#31566a;font-size:var(--font-size-small);font-weight:700}
.order-pricing-table{width:100%;border-collapse:collapse;table-layout:fixed}
.order-pricing-table th,.order-pricing-table td{padding:10px 8px;border-bottom:1px solid #e8edf2;text-align:right;vertical-align:top}
.order-pricing-table th{color:#64748b;font-size:var(--font-size-caption);font-weight:800;text-transform:uppercase;letter-spacing:.035em}
.order-pricing-table th:first-child,.order-pricing-table td:first-child{width:53%;text-align:left}
.order-pricing-table th:nth-child(2),.order-pricing-table td:nth-child(2){width:16%}
.order-pricing-table th:nth-child(3),.order-pricing-table td:nth-child(3){width:15%}
.order-pricing-table th:nth-child(4),.order-pricing-table td:nth-child(4){width:16%;font-weight:800}
.order-pricing-table td{color:#334155;font-size:var(--font-size-label)}
.order-pricing-table td strong{display:block;color:#172f3f;font-weight:700}
.order-pricing-table td small{display:block;margin-top:3px;color:#64748b;font-size:var(--font-size-caption);font-weight:400;line-height:1.35}
.order-pricing-total{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:16px 18px;border-radius:11px;background:#eef3f6;color:#173447;font-size:var(--font-size-dialog-title);font-weight:750}
.order-pricing-total strong{font-size:24px;white-space:nowrap}
.order-pricing-warning{margin-top:10px;padding:10px 12px;border:1px solid #fecaca;border-radius:9px;background:#fff1f2;color:#b4233b;font-size:var(--font-size-small);line-height:1.4}
.order-partner-kind.blocked{margin-left:auto;padding:4px 8px;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:var(--font-size-caption);font-weight:800;white-space:nowrap}
@media(max-width:720px){.order-pricing-modal-box{width:calc(100vw - 14px);max-height:calc(100vh - 14px)}.order-pricing-modal-body{padding:14px}.order-pricing-grid{grid-template-columns:1fr}.order-pricing-address-row{grid-template-columns:1fr}.order-pricing-address-row .btn{min-width:0}.order-pricing-customer .order-partner-selection{flex-direction:column}.order-pricing-customer .order-partner-actions{justify-content:flex-start}.order-pricing-table{table-layout:auto}.order-pricing-table th:first-child,.order-pricing-table td:first-child{width:auto}.order-pricing-total strong{font-size:var(--font-size-page-title)}}

/* V15.29 · Dynamische Restriktionen */
.restriction-reference-results{display:grid;gap:8px;margin-top:14px;min-height:180px}.restriction-reference-result{width:100%;border:1px solid var(--border);background:var(--surface,#fff);border-radius:10px;padding:11px 13px;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer}.restriction-reference-result:hover{border-color:var(--brand,#31535f);box-shadow:0 3px 12px rgba(0,0,0,.06)}.restriction-reference-result span{display:grid;gap:3px}.restriction-reference-result small{color:var(--muted)}.restriction-reference-result b{font-size:var(--font-size-label);color:var(--brand,#31535f)}.restriction-reference-empty{padding:36px;text-align:center;color:var(--muted)}

.restriction-toolbar{flex-wrap:wrap}.restriction-search-wrap{min-width:230px}.restriction-card{overflow:visible}.restriction-template-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--border)}.restriction-template-bar>span{font-size:var(--font-size-body);font-weight:700;color:var(--muted)}.restriction-rules-table td{vertical-align:top}.restriction-rules-table td:nth-child(2){min-width:260px}.restriction-rules-table td:nth-child(5){min-width:300px}.restriction-rules-table td strong,.restriction-rules-table td small{display:block}.restriction-rules-table td small{color:var(--muted);margin-top:3px}.restriction-status,.restriction-consequence{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:var(--font-size-label);font-weight:800;white-space:nowrap}.restriction-status.active{background:#e7f7ec;color:#1c7139}.restriction-status.inactive{background:#edf0f2;color:#68747b}.restriction-consequence.consequence-block{background:#ffe5e5;color:#a51f1f}.restriction-consequence.consequence-approval{background:#eee7ff;color:#5a38a0}.restriction-consequence.consequence-warning{background:#fff0cc;color:#895d00}.restriction-consequence.consequence-info{background:#e5f1ff;color:#245b8c}.restriction-condition-summary{font-size:var(--font-size-body);line-height:1.45}.restriction-rule-modal-box{width:min(1180px,96vw);max-height:94vh}.restriction-rule-modal-body{overflow:auto}.restriction-rule-grid{display:grid;gap:12px;margin-bottom:12px}.restriction-rule-grid.three{grid-template-columns:1fr 2fr}.restriction-rule-grid.four{grid-template-columns:1.45fr 1fr 1fr .6fr}.restriction-rule-grid.validity{grid-template-columns:220px 220px 1fr;align-items:end}.restriction-rule-grid .span-two{grid-column:span 1}.restriction-active-toggle{align-self:center;margin-bottom:12px}.restriction-conditions-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:18px 0 10px;padding-top:15px;border-top:1px solid var(--border)}.restriction-conditions-head div{display:grid}.restriction-conditions-head small{color:var(--muted)}.restriction-condition-list{display:grid;gap:10px}.restriction-condition-row{display:grid;grid-template-columns:28px 1fr 34px;gap:9px;align-items:start;border:1px solid var(--border);border-radius:10px;padding:10px;background:var(--surface-soft,#f7f9fb)}.restriction-condition-number{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#e8eef1;font-weight:800;font-size:var(--font-size-label)}.restriction-condition-main{display:grid;grid-template-columns:1.05fr 1.25fr 1fr .85fr minmax(200px,1.4fr);gap:8px}.restriction-condition-main select,.restriction-condition-main input{min-width:0}.restriction-condition-right{min-width:0}.restriction-right-block.no-right-mode>.restriction-condition-right{grid-column:1/-1}.restriction-condition-right-field{display:grid;grid-template-columns:1fr 1.2fr;gap:7px}.restriction-reference-value{display:flex;gap:7px}.restriction-reference-value input{flex:1;min-width:80px}.restriction-condition-static{height:100%;display:flex;align-items:center;color:var(--muted);font-size:var(--font-size-body)}.restriction-right-mode-placeholder{display:block}.restriction-condition-remove{padding-inline:8px}.restriction-reference-modal-box{width:min(760px,94vw)}

.dynamic-restriction-box{width:min(760px,94vw)}.dynamic-restriction-intro{margin:0 0 14px;color:var(--muted)}.dynamic-restriction-list{display:grid;gap:10px}.dynamic-restriction-item{display:grid;grid-template-columns:28px 1fr;gap:10px;border:1px solid var(--border);border-radius:10px;padding:12px}.dynamic-restriction-item p{margin:3px 0 0}.dynamic-restriction-item small{display:block;margin-top:7px;color:var(--muted)}.dynamic-restriction-item.consequence-block{border-color:#e78b8b;background:#fff3f3}.dynamic-restriction-item.consequence-approval{border-color:#ad99dc;background:#f8f5ff}.dynamic-restriction-item.consequence-warning{border-color:#e3b85f;background:#fff9eb}.dynamic-restriction-item.consequence-info{border-color:#9cc5e8;background:#f1f8ff}#dynamic-restriction-reason-group{margin-top:16px}

@media(max-width:1000px){.restriction-rule-grid.four{grid-template-columns:1fr 1fr}.restriction-condition-main{grid-template-columns:1fr 1fr}.restriction-condition-right{grid-column:span 2}.restriction-rule-grid.validity{grid-template-columns:1fr 1fr}.restriction-active-toggle{grid-column:span 2}}@media(max-width:650px){.restriction-rule-grid.three,.restriction-rule-grid.four,.restriction-rule-grid.validity{grid-template-columns:1fr}.restriction-active-toggle{grid-column:auto}.restriction-condition-main{grid-template-columns:1fr}.restriction-condition-right{grid-column:auto}.restriction-condition-right-field{grid-template-columns:1fr}.restriction-reference-value{flex-wrap:wrap}}


/* V15.29.3: klare Listen- und Detailgestaltung der dynamischen Restriktionen */
.restriction-page-header{align-items:flex-end}.restriction-header-actions{align-items:flex-end;flex-wrap:wrap}.restriction-card{overflow:hidden}.restriction-list-controls{display:grid;grid-template-columns:minmax(280px,1.6fr) minmax(120px,.55fr) minmax(190px,.9fr) minmax(150px,.7fr) minmax(190px,.85fr) auto;gap:10px;align-items:end;padding:14px 16px;background:var(--surface-soft,#f8fafc);border-bottom:1px solid var(--border)}.restriction-list-controls .master-search-wrap{height:39px}.restriction-filter-field{display:grid;gap:5px;min-width:0}.restriction-filter-field>span{color:var(--muted);font-size:var(--font-size-label);font-weight:800;text-transform:uppercase;letter-spacing:.035em}.restriction-filter-field select{width:100%;height:39px;border:1px solid var(--border);border-radius:8px;padding:0 10px;background:var(--surface,#fff);color:var(--text);font:inherit}.restriction-filter-reset{height:39px;white-space:nowrap}.restriction-template-bar{justify-content:space-between;padding:12px 16px;background:var(--surface,#fff)}.restriction-template-bar>div:first-child{display:grid;gap:2px}.restriction-template-bar>div:first-child strong{font-size:var(--font-size-body)}.restriction-template-bar>div:first-child small{color:var(--muted);font-size:var(--font-size-label)}.restriction-template-actions{display:flex;gap:8px;flex-wrap:wrap}.restriction-info-strip{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 16px}.restriction-info-strip>div:first-child{display:grid;gap:2px}.restriction-info-strip small{color:var(--muted)}.restriction-info-metrics{display:flex;gap:8px;flex-wrap:wrap}.restriction-info-metrics span{display:inline-flex;gap:4px;align-items:center;padding:5px 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface,#fff);font-size:var(--font-size-label)}.restriction-table-wrap{max-height:calc(100vh - 310px);overflow:auto}.restriction-rules-table{min-width:1320px}.restriction-rules-table thead th{position:sticky;top:0;z-index:1;background:var(--surface-soft,#f8fafc);box-shadow:0 1px 0 var(--border)}.restriction-rules-table td{padding-top:13px;padding-bottom:13px}.restriction-rule-main{min-width:300px}.restriction-rule-link{display:block;border:0;background:transparent;padding:0;color:var(--text);font:inherit;font-weight:800;text-align:left;cursor:pointer}.restriction-rule-link:hover{color:var(--primary);text-decoration:underline}.restriction-code{display:inline-flex;margin-top:5px;padding:2px 6px;border-radius:5px;background:#eef2f5;color:#53636d;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:var(--font-size-small)}.restriction-rule-main small{max-width:440px;line-height:1.35}.restriction-cell-title{display:block;max-width:230px;font-size:var(--font-size-body);line-height:1.35}.restriction-condition-chips{display:grid;gap:5px;min-width:330px}.restriction-condition-chip{display:grid;grid-template-columns:22px 1fr;gap:7px;align-items:start;padding:6px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface-soft,#f8fafc);font-size:var(--font-size-label);line-height:1.35}.restriction-condition-chip b{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#e3ebef;color:#284956;font-size:var(--font-size-small)}.restriction-condition-chip.empty{display:block;color:var(--muted)}.restriction-validity{font-size:var(--font-size-body);white-space:nowrap}.restriction-priority{display:inline-grid;min-width:34px;height:28px;place-items:center;border-radius:7px;background:#eef2f5;font-weight:800}.restriction-empty-state{display:grid;place-items:center;gap:5px;padding:48px 24px;color:var(--muted);text-align:center}.restriction-empty-state strong{color:var(--text);font-size:var(--font-size-heading-small)}

.restriction-rule-modal-box{width:min(1240px,calc(100vw - 40px));height:min(900px,calc(100vh - 34px));max-height:none;overflow:hidden}.restriction-rule-modal-header>div{display:flex;min-width:0;flex-direction:column;gap:3px}.restriction-rule-modal-header small{color:var(--muted);font-size:var(--font-size-label);line-height:1.35}.restriction-rule-modal-body{display:flex;flex-direction:column;gap:14px;overflow:auto;padding:16px 18px;background:var(--surface-soft,#f7f9fb)}.restriction-form-section{padding:15px;border:1px solid var(--border);border-radius:12px;background:var(--surface,#fff);box-shadow:0 1px 2px rgba(15,23,42,.025)}.restriction-form-section-head{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;margin-bottom:13px}.restriction-form-section-head>div{display:grid;gap:2px}.restriction-form-section-head strong{font-size:var(--font-size-subtitle);color:var(--primary)}.restriction-form-section-head small{color:var(--muted);font-size:var(--font-size-label)}.restriction-section-number{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--primary);font-weight:900}.restriction-form-grid{display:grid;gap:12px}.restriction-identity-grid{grid-template-columns:minmax(300px,1.5fr) minmax(240px,1fr) minmax(220px,.8fr)}.restriction-execution-grid{grid-template-columns:minmax(280px,1.5fr) minmax(180px,.8fr) minmax(140px,.55fr) minmax(160px,.65fr) minmax(160px,.65fr)}.restriction-form-section .form-group-m{display:flex;flex-direction:column;gap:6px;margin:0;min-width:0}.restriction-form-section .form-group-m>label,.restriction-condition-block label>span,.restriction-match-mode-field>span{color:#334155;font-size:var(--font-size-label);font-weight:800}.restriction-form-section input,.restriction-form-section select,.restriction-form-section textarea{box-sizing:border-box;width:100%;border:1px solid var(--border);border-radius:8px;background:var(--surface,#fff);color:var(--text);font:inherit}.restriction-form-section input,.restriction-form-section select{height:40px;padding:0 10px}.restriction-form-section textarea{padding:9px 10px;resize:vertical;line-height:1.4}.restriction-form-section input:focus,.restriction-form-section select:focus,.restriction-form-section textarea:focus{border-color:var(--primary);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.restriction-form-section input[readonly]{background:#f1f5f9;color:#64748b}.restriction-form-section .form-group-m small{color:var(--muted);font-size:var(--font-size-small);line-height:1.35}.restriction-active-card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:72px;margin-top:21px;padding:11px 13px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft,#f8fafc);cursor:pointer}.restriction-active-card>span{display:grid;gap:3px}.restriction-active-card strong{font-size:var(--font-size-body)}.restriction-active-card small{color:var(--muted);font-size:var(--font-size-small)}.restriction-active-card input{position:absolute;opacity:0;pointer-events:none}.restriction-active-card i{position:relative;width:42px;height:24px;flex:none;border-radius:999px;background:#aab5bc;transition:.18s}.restriction-active-card i:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:.18s}.restriction-active-card input:checked+i{background:var(--primary)}.restriction-active-card input:checked+i:after{transform:translateX(18px)}.restriction-message-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.restriction-conditions-section{padding-bottom:16px}.restriction-conditions-head{grid-template-columns:30px 1fr minmax(280px,.8fr) auto;margin:0 0 13px;padding:0;border:0}.restriction-match-mode-field{display:grid;gap:5px}.restriction-match-mode-field select{height:38px}.restriction-condition-list{gap:12px}.restriction-condition-row{display:block;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:11px;background:var(--surface,#fff)}.restriction-condition-card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;background:var(--surface-soft,#f8fafc);border-bottom:1px solid var(--border)}.restriction-condition-card-head>div:first-child{display:flex;align-items:center;gap:9px}.restriction-condition-card-head>div:first-child>div{display:grid;gap:1px}.restriction-condition-card-head strong{font-size:var(--font-size-body)}.restriction-condition-card-head small{color:var(--muted);font-size:var(--font-size-small)}.restriction-condition-number{width:26px;height:26px;background:color-mix(in srgb,var(--primary) 12%,var(--surface));color:var(--primary)}.restriction-condition-card-actions{display:flex;gap:6px}.restriction-condition-editor{display:grid;grid-template-columns:minmax(330px,1.15fr) minmax(190px,.65fr) minmax(360px,1.25fr);gap:12px;padding:12px}.restriction-condition-block{min-width:0;padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-soft,#f8fafc)}.restriction-condition-block-title{display:block;margin-bottom:8px;color:var(--primary);font-size:var(--font-size-small);font-weight:900;text-transform:uppercase;letter-spacing:.04em}.restriction-condition-block label{display:grid;gap:5px;min-width:0}.restriction-condition-control-pair{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(160px,1.2fr);gap:8px}.restriction-condition-block select,.restriction-condition-block input{width:100%;height:38px;border:1px solid var(--border);border-radius:7px;padding:0 9px;background:var(--surface,#fff);color:var(--text);font:inherit}.restriction-operator-block{display:flex;flex-direction:column}.restriction-operator-block label{flex:1}.restriction-right-block{display:grid;grid-template-columns:minmax(135px,.45fr) minmax(210px,1fr);column-gap:8px;align-items:end}.restriction-right-block>.restriction-condition-block-title{grid-column:1/-1}.restriction-condition-right{min-width:0}.restriction-right-block.no-right-mode>.restriction-condition-right{grid-column:1/-1}.restriction-condition-right-field{display:block}.restriction-reference-value{align-items:center}.restriction-condition-static{min-height:38px;padding:9px;border:1px dashed var(--border);border-radius:7px;background:var(--surface,#fff);line-height:1.3}.restriction-rule-footer{position:sticky;bottom:0}.restriction-footer-spacer{flex:1}

@media(max-width:1250px){.restriction-list-controls{grid-template-columns:minmax(260px,1.4fr) repeat(2,minmax(150px,.7fr))}.restriction-sort-field{grid-column:auto}.restriction-filter-reset{justify-self:start}.restriction-execution-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.restriction-condition-editor{grid-template-columns:1fr 1fr}.restriction-right-block{grid-column:1/-1}.restriction-conditions-head{grid-template-columns:30px 1fr auto}.restriction-match-mode-field{grid-column:2/3}.restriction-conditions-head>button{grid-column:3/4;grid-row:1/3}}@media(max-width:800px){.restriction-list-controls{grid-template-columns:1fr 1fr}.restriction-search-wrap{grid-column:1/-1}.restriction-template-bar,.restriction-info-strip{align-items:flex-start;flex-direction:column}.restriction-rule-modal-box{width:calc(100vw - 18px);height:calc(100vh - 18px)}.restriction-identity-grid,.restriction-execution-grid,.restriction-message-grid{grid-template-columns:1fr}.restriction-active-card{margin-top:0}.restriction-conditions-head{grid-template-columns:30px 1fr}.restriction-match-mode-field,.restriction-conditions-head>button{grid-column:1/-1;grid-row:auto}.restriction-condition-editor{grid-template-columns:1fr}.restriction-right-block{grid-column:auto;grid-template-columns:1fr}.restriction-condition-control-pair{grid-template-columns:1fr}.restriction-condition-card-head{align-items:flex-start}.restriction-condition-card-actions{flex-wrap:wrap;justify-content:flex-end}}@media(max-width:520px){.restriction-list-controls{grid-template-columns:1fr}.restriction-search-wrap{grid-column:auto}.restriction-condition-card-head{flex-direction:column}.restriction-condition-card-actions{justify-content:flex-start}}
.restriction-list-controls .restriction-search-wrap{width:100%;max-width:none}


/* V15.29.4: kompakter, sicher scrollbarer Restriktionsdialog */
#restriction-rule-modal .restriction-rule-modal-box{
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
  font-size:var(--font-size-body);
}
#restriction-rule-modal .restriction-rule-modal-header,
#restriction-rule-modal .restriction-rule-footer{
  flex:0 0 auto;
}
#restriction-rule-modal .restriction-rule-modal-header .modal-title{
  font-size:var(--font-size-dialog-title);
  line-height:1.2;
}
#restriction-rule-modal .restriction-rule-modal-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:scroll;
  overflow-x:hidden;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
  gap:10px;
  padding:12px 14px;
}
#restriction-rule-modal .restriction-form-section{
  padding:12px;
}
#restriction-rule-modal .restriction-form-section-head{
  margin-bottom:10px;
}
#restriction-rule-modal .restriction-form-section input,
#restriction-rule-modal .restriction-form-section select{
  height:36px;
}
#restriction-rule-modal .restriction-form-section textarea{
  min-height:78px;
}
#restriction-rule-modal .restriction-active-card{
  min-height:64px;
  margin-top:19px;
  padding:9px 11px;
}
#restriction-rule-modal .restriction-condition-editor{
  padding:10px;
}
#restriction-rule-modal .restriction-condition-block{
  padding:8px;
}
#restriction-rule-modal .restriction-condition-block select,
#restriction-rule-modal .restriction-condition-block input{
  height:36px;
}
#restriction-rule-modal .restriction-rule-footer{
  position:static;
}

/* V15.29.5 · Projektweite Typografie-Basis
   Normale Bedienoberflächen verwenden eine gemeinsame Skala. Bewusste Ausnahmen
   bleiben Marken, Icons, Kennzahlen, technische Schlüssel und Druckausgaben. */
body,button,input,select,textarea{font-family:var(--font-family)}
input,select,textarea{font-size:var(--font-size-body)}
.form-group label,.form-group-m label{font-size:var(--font-size-label)}
.field-hint,.demo-field-hint,.master-cell-sub,.modal-header p,.modal-header small{font-size:var(--font-size-small)}
.btn{font-size:var(--font-size-label)}
.btn-sm{font-size:var(--font-size-small)}
table{font-size:var(--font-size-label)}
.modal-header h2,.modal-header .modal-title{font-size:var(--font-size-dialog-title)}
#order-modal .order-modal-box,#restriction-rule-modal .restriction-rule-modal-box{font-size:var(--font-size-body)}


/* V15.30 · Persönliche Transaktions-PIN am Wiegeplatz */
.sys-pin-security-section .sys-pin-switch-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.sys-pin-limit-grid{margin-top:14px;align-items:start;}
.sys-pin-disabled .sys-pin-switch-grid .sys-switch-card:not(:first-child),
.sys-pin-disabled .sys-pin-limit-grid{opacity:.58;}

.personal-pin-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft,#f7f9fb);padding:14px;}
.personal-pin-grid{align-items:start;}
.personal-pin-active-field{padding-top:22px;}
.personal-pin-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);}
.personal-pin-meta{color:var(--muted);font-size:var(--font-size-small);line-height:1.4;}

.transaction-pin-modal-box{width:min(420px,calc(100vw - 28px));overflow:hidden;}
.transaction-pin-modal-body{text-align:center;padding:22px 34px 18px;}
.transaction-pin-symbol{font-size:30px;margin-bottom:8px;}
.transaction-pin-modal-body>p{margin:0 auto 16px;max-width:310px;color:var(--muted);line-height:1.45;}
.transaction-pin-hidden-input{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;pointer-events:none;}
.transaction-pin-dots{display:flex;justify-content:center;gap:13px;margin:14px 0 20px;}
.transaction-pin-dots span{width:15px;height:15px;border:2px solid #8fa0aa;border-radius:50%;background:#fff;transition:.12s ease;}
.transaction-pin-dots span.filled{border-color:var(--primary);background:var(--primary);transform:scale(1.08);}
.transaction-pin-keypad{display:grid;grid-template-columns:repeat(3,68px);gap:9px;justify-content:center;}
.transaction-pin-keypad button{height:48px;border:1px solid var(--border);border-radius:10px;background:#fff;font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 1px 2px rgba(15,35,45,.05);}
.transaction-pin-keypad button:hover{border-color:var(--primary);background:var(--surface-soft,#f7f9fb);}
.transaction-pin-keypad button:active{transform:translateY(1px);}
.transaction-pin-keypad .secondary{font-size:15px;color:var(--muted);background:#f5f7f8;}
.transaction-pin-modal-body .form-message{margin-top:14px;text-align:left;}

@media (max-width:760px){
  .sys-pin-security-section .sys-pin-switch-grid{grid-template-columns:1fr;}
  .personal-pin-actions{align-items:flex-start;flex-direction:column;}
}


/* V15.31 / V15.33.9 – dynamisch aus Validierungsregeln abgeleitete Pflichtfelder.
   Die semantische Quelle gewinnt bewusst gegen modalspezifische Label-Regeln. */
.required[data-required-source="static"]:not(.dynamic-required-active) {
  color: var(--required-static, #6b7280) !important;
}
.required[data-required-source="dynamic"],
.required[data-required-source="static,dynamic"],
.dynamic-required-marker,
.demo-modal .form-group-m label .dynamic-required-marker,
.static-required-marker.dynamic-required-active {
  margin-left: 2px;
  color: var(--required-dynamic, #dc2626) !important;
  font-weight: 800;
  cursor: help;
}
.required.dynamic-required-marker.conditional,
.demo-modal .form-group-m label .dynamic-required-marker.conditional {
  color: var(--required-conditional, #b45309) !important;
}
.dynamic-required-control.dynamic-required-conditional {
  outline: 1px dashed rgba(180, 83, 9, .35);
  outline-offset: 2px;
}

/* V15.32: Aktive Sitzungen und Mandantenwartung */
.maintenance-banner { margin:0; min-height:48px; padding:9px 20px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:11px; background:#fff7e6; border-bottom:1px solid #ffd591; color:#874d00; }
.maintenance-banner-icon { font-size:20px; }
.maintenance-banner-copy { display:flex; flex-direction:column; gap:1px; min-width:0; }
.maintenance-banner-copy strong { font-size:var(--font-size-body); }
.maintenance-banner-copy span { font-size:var(--font-size-small); line-height:1.35; }
.maintenance-banner-countdown { padding:5px 9px; border-radius:6px; background:#874d00; color:#fff; font-size:var(--font-size-label); font-weight:700; white-space:nowrap; }
.session-page-header { align-items:flex-end; }
.session-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
.session-stat-card { min-width:0; border:1px solid var(--border); border-left:4px solid #8c8c8c; border-radius:8px; background:var(--surface); padding:12px 14px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 10px; align-items:center; }
.session-stat-card.active { border-left-color:var(--positive-solid); }
.session-stat-card.idle { border-left-color:#fa8c16; }
.session-stat-card.offline { border-left-color:#8c8c8c; }
.session-stat-card span { color:var(--muted); font-size:var(--font-size-label); font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.session-stat-card strong { grid-row:1 / span 2; grid-column:2; color:var(--primary); font-size:25px; line-height:1; }
.session-stat-card small { color:var(--muted); font-size:var(--font-size-caption); }
.session-maintenance-card { padding:0; overflow:hidden; }
.session-maintenance-card > .card-head { padding:14px 16px 11px; border-bottom:1px solid var(--border); }
.session-maintenance-grid { padding:14px 16px; display:grid; grid-template-columns:minmax(300px,1.1fr) minmax(300px,1.3fr) minmax(190px,.7fr) minmax(220px,.8fr); gap:12px; align-items:start; }
.session-lock-option { min-height:74px; display:flex; align-items:flex-start; gap:10px; padding:11px 12px; border:1px solid var(--border); border-radius:7px; background:#fafbfc; cursor:pointer; }
.session-lock-option input { width:18px; height:18px; margin-top:2px; accent-color:var(--primary); }
.session-lock-option span { display:flex; flex-direction:column; gap:3px; }
.session-lock-option strong { color:var(--primary); font-size:var(--font-size-body); }
.session-lock-option small { color:var(--muted); font-size:var(--font-size-small); line-height:1.35; }
.session-maintenance-message textarea,.session-maintenance-grid input { width:100%; }
.session-maintenance-card > .form-message { margin:0 16px 12px; }
.session-maintenance-actions { padding:11px 16px 14px; display:flex; justify-content:space-between; gap:8px; border-top:1px solid var(--border); background:#fafbfc; }
.session-list-card { margin-top:14px; }
.session-filter-bar { display:flex; align-items:flex-end; justify-content:flex-end; gap:7px; flex-wrap:wrap; }
.session-filter-bar .master-search-wrap { width:270px; }
.session-filter-bar .form-group.compact { min-width:150px; }
.session-table-wrap { max-height:460px; overflow:auto; }
.session-table thead { position:sticky; top:0; z-index:2; }
.session-user-cell,.session-client-cell { display:flex; flex-direction:column; gap:2px; min-width:0; }
.session-user-cell strong,.session-client-cell strong { color:var(--primary); font-size:var(--font-size-label); }
.session-user-cell small,.session-client-cell small { color:var(--muted); font-size:var(--font-size-caption); }
.session-actions { min-width:68px; }
.session-table td:nth-child(1),.session-table td:nth-child(2),.session-table td:nth-child(6) { white-space:normal; }

@media (max-width:1200px) {
  .session-maintenance-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:860px) {
  .session-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .maintenance-banner { grid-template-columns:auto minmax(0,1fr); padding:9px 14px; }
  .maintenance-banner-countdown { grid-column:2; justify-self:start; }
}
@media (max-width:620px) {
  .session-stat-grid,.session-maintenance-grid { grid-template-columns:1fr; }
  .session-maintenance-actions { flex-direction:column-reverse; }
  .session-maintenance-actions .btn { width:100%; }
  .session-filter-bar { width:100%; justify-content:stretch; }
  .session-filter-bar .master-search-wrap,.session-filter-bar .form-group.compact { width:100%; min-width:100%; }
}

/* V15.33 · interne Nachrichten */
.message-center-button { position:relative; margin-left:auto; margin-right:10px; width:38px; height:38px; border:1px solid var(--border); border-radius:9px; background:#fff; cursor:pointer; font-size:17px; display:grid; place-items:center; }
.message-center-button:hover { background:#f8fafc; }
.message-unread-badge { position:absolute; top:-5px; right:-5px; min-width:18px; height:18px; padding:0 5px; border-radius:10px; background:#cf1322; color:#fff; font-size:10px; font-weight:800; display:grid; place-items:center; border:2px solid #fff; }
.message-workspace { display:grid; grid-template-columns:minmax(320px, .85fr) minmax(520px, 1.6fr); gap:16px; min-height:620px; }
.message-list-card,.message-detail-card { min-height:620px; overflow:hidden; }
.message-list-card { display:flex; flex-direction:column; }
.message-filter-bar { display:grid; grid-template-columns:minmax(0,1fr) 130px; gap:10px; padding:14px; border-bottom:1px solid var(--border); }
.message-thread-list { flex:1; min-height:0; overflow:auto; }
.message-thread-item { width:100%; border:0; border-bottom:1px solid var(--border); background:#fff; text-align:left; padding:13px 14px; display:grid; gap:5px; cursor:pointer; }
.message-thread-item:hover,.message-thread-item.active { background:#f4f8ff; }
.message-thread-item.unread { border-left:4px solid #cf1322; padding-left:10px; }
.message-thread-top { display:flex; align-items:center; gap:8px; }
.message-thread-top strong { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.message-thread-time { font-size:10px; color:var(--muted); white-space:nowrap; }
.message-thread-preview { color:#475569; font-size:12px; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.message-thread-meta { display:flex; align-items:center; gap:7px; flex-wrap:wrap; color:var(--muted); font-size:10px; }
.message-reference-chip { border:0; border-radius:999px; padding:4px 8px; background:#e6f4ff; color:#0958d9; font-weight:700; cursor:pointer; }
.message-status-pill { border-radius:999px; padding:3px 7px; font-size:10px; font-weight:800; }
.message-status-pill.open { background:#e6f4ff; color:#0958d9; }
.message-status-pill.done { background:var(--positive-bg); color:var(--positive-text); }
.message-status-pill.archived { background:#f5f5f5; color:#595959; }
.message-detail-card { display:flex; flex-direction:column; }
.message-detail-empty { height:100%; min-height:620px; display:grid; place-content:center; justify-items:center; text-align:center; color:var(--muted); padding:30px; }
.message-detail-empty span { font-size:38px; }
.message-detail-empty strong { margin-top:8px; font-size:17px; color:var(--text); }
#message-detail { min-height:620px; display:flex; flex-direction:column; }
.message-detail-head { padding:15px 17px; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; align-items:flex-start; gap:15px; }
.message-detail-title { font-size:17px; font-weight:800; }
.message-detail-meta { margin-top:4px; color:var(--muted); font-size:11px; }
.message-detail-actions { display:flex; align-items:center; gap:8px; }
.message-stream { flex:1; min-height:0; overflow:auto; padding:18px; background:#f8fafc; display:flex; flex-direction:column; gap:12px; }
.message-bubble { max-width:78%; padding:10px 12px; border-radius:12px; background:#fff; border:1px solid var(--border); box-shadow:0 1px 2px rgba(15,23,42,.04); }
.message-bubble.own { align-self:flex-end; background:#e6f4ff; border-color:#91caff; }
.message-bubble-head { display:flex; justify-content:space-between; gap:16px; font-size:10px; color:var(--muted); margin-bottom:5px; }
.message-bubble-text { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.45; }
.message-reply-form { border-top:1px solid var(--border); padding:12px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:end; }
.message-reply-form textarea { resize:vertical; min-height:72px; }

.message-compose-box {
  width:min(980px,calc(100vw - 32px));
  height:min(760px,calc(100vh - 36px));
  max-width:none;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.message-compose-header { position:static; flex:0 0 auto; padding:18px 22px 15px; align-items:flex-start; }
.message-compose-heading { display:flex; flex-direction:column; gap:4px; min-width:0; }
.message-compose-heading .modal-title { display:block; font-size:var(--font-size-dialog-title); font-weight:800; color:var(--primary); line-height:1.2; }
.message-compose-heading small { display:block; color:var(--muted); font-size:var(--font-size-small); line-height:1.4; }
.message-compose-body { flex:1 1 auto; min-height:0; overflow:auto; padding:18px 22px; display:flex; flex-direction:column; gap:14px; background:color-mix(in srgb,var(--background) 56%,var(--surface)); }
.message-compose-reference { display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid #91caff; border-radius:10px; padding:10px 12px; background:#f0f8ff; }
.message-compose-reference-copy { min-width:0; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.message-compose-reference-copy > span { color:var(--muted); font-size:var(--font-size-caption); font-weight:700; text-transform:uppercase; letter-spacing:.045em; }
.message-compose-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:14px; align-items:stretch; }
.message-compose-card { min-width:0; border:1px solid var(--border); border-radius:11px; background:var(--surface); padding:15px; box-shadow:0 1px 2px rgba(15,23,42,.03); }
.message-compose-content-card { display:flex; flex-direction:column; gap:14px; }
.message-compose-recipient-card { display:flex; flex-direction:column; }
.message-compose-section-head { display:flex; align-items:flex-start; gap:10px; padding-bottom:12px; margin-bottom:13px; border-bottom:1px solid var(--border); }
.message-compose-section-head > div { min-width:0; display:flex; flex-direction:column; gap:2px; }
.message-compose-section-head strong { color:var(--primary); font-size:var(--font-size-medium); }
.message-compose-section-head small { color:var(--muted); font-size:var(--font-size-caption); line-height:1.35; }
.message-compose-step { flex:0 0 28px; width:28px; height:28px; border-radius:8px; display:grid; place-items:center; background:color-mix(in srgb,var(--primary) 12%,var(--surface)); color:var(--primary); font-weight:800; }
.message-compose-box .form-group-m { margin:0; min-width:0; }
.message-compose-box .form-group-m > label { display:block; margin-bottom:6px; color:var(--text); font-size:var(--font-size-label); font-weight:700; }
.message-compose-box .form-group-m input,.message-compose-box .form-group-m textarea { width:100%; min-width:0; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); font:inherit; font-size:var(--font-size-body); outline:none; }
.message-compose-box .form-group-m input { min-height:38px; padding:8px 10px; }
.message-compose-box .form-group-m textarea { min-height:240px; padding:10px 11px; resize:vertical; line-height:1.45; }
.message-compose-box .form-group-m input:focus,.message-compose-box .form-group-m textarea:focus { border-color:var(--primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent); }
.message-compose-text-group { display:flex; flex-direction:column; flex:1; }
.message-compose-text-group textarea { flex:1; }
.message-compose-text-group > small { display:block; margin-top:6px; color:var(--muted); font-size:var(--font-size-caption); }
.message-recipient-group { display:flex; flex-direction:column; flex:1; min-height:0; }
.message-recipient-selected { min-height:38px; display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-bottom:9px; padding:6px 8px; border:1px dashed var(--border); border-radius:8px; background:#fafbfc; }
.message-recipient-tag { display:inline-flex; align-items:center; gap:6px; padding:5px 8px; border-radius:999px; background:#f0f5ff; color:#1d39c4; font-weight:700; }
.message-recipient-tag button { border:0; background:transparent; color:inherit; cursor:pointer; font-size:15px; line-height:1; }
.message-recipient-search-wrap { width:100%; min-height:38px; margin:0; }
.message-recipient-search-wrap input { border:0 !important; min-height:auto !important; padding:0 !important; box-shadow:none !important; background:transparent !important; }
.message-recipient-results { flex:1; min-height:190px; max-height:330px; overflow:auto; border:1px solid var(--border); border-radius:8px; margin-top:9px; background:var(--surface); }
.message-recipient-result { width:100%; border:0; border-bottom:1px solid var(--border); background:var(--surface); padding:10px 11px; text-align:left; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--text); }
.message-recipient-result:last-child { border-bottom:0; }
.message-recipient-result:hover { background:#f5f8fc; }
.message-recipient-result > span:first-child { min-width:0; display:flex; flex-direction:column; gap:2px; }
.message-recipient-result strong { color:var(--primary); font-size:var(--font-size-label); }
.message-recipient-result small { color:var(--muted); font-size:var(--font-size-caption); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.message-recipient-result > span:last-child { flex:0 0 28px; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; color:var(--primary); background:color-mix(in srgb,var(--primary) 10%,var(--surface)); font-weight:800; }
.message-compose-footer { position:static; flex:0 0 auto; align-items:center; padding:12px 22px 15px; }
.message-compose-footer-hint { margin-right:auto; color:var(--muted); font-size:var(--font-size-caption); }
.modal-footer-spacer { flex:1; }
@media (max-width:820px) {
  .message-compose-box { height:min(820px,calc(100vh - 20px)); width:calc(100vw - 20px); }
  .message-compose-layout { grid-template-columns:1fr; }
  .message-compose-box .form-group-m textarea { min-height:180px; }
  .message-recipient-results { max-height:230px; }
  .message-compose-footer-hint { display:none; }
}
@media (max-width:1050px) { .message-workspace { grid-template-columns:1fr; } .message-list-card,.message-detail-card,#message-detail,.message-detail-empty { min-height:430px; } }
@media (max-width:720px) { .message-center-button { margin-left:0; } .message-filter-bar { grid-template-columns:1fr; } .message-detail-head { flex-direction:column; } .message-detail-actions { width:100%; flex-wrap:wrap; } .message-bubble { max-width:94%; } .message-reply-form { grid-template-columns:1fr; } }

.message-thread-unread-count { min-width:18px; height:18px; padding:0 5px; border-radius:10px; background:#cf1322; color:#fff; font-size:10px; font-weight:800; display:grid; place-items:center; }

/* V15.33.4 · Wartungssteuerung nur im Plattform-Admin */
.tenant-session-embedded > .session-page-header { display:none; }
.tenant-session-embedded .session-stat-grid { margin-top:0; }
.session-maintenance-unavailable .session-maintenance-card { display:none; }
.tenant-session-embedded .session-list-card { margin-bottom:0; }


/* V15.33.7 · Einheitliche Kopfaktionen und Fenstersteuerung
   Regelwerk:
   - Freitextsuche gehört in die jeweilige Filter-/Tabellenleiste, nicht in den Seitenkopf.
   - Kopfaktionen besitzen dieselbe Höhe und Typografie.
   - "Künftig separat" wird ausschließlich über aria-pressed visualisiert und bei Aktivität in der Mandanten-Akzentfarbe markiert.
*/
.workspace-page-header {
  align-items:flex-end;
  gap:18px;
}
.workspace-page-actions {
  align-items:center;
  justify-content:flex-end;
  gap:7px;
}
.workspace-page-actions > .btn,
.workspace-page-actions > .segmented,
.workspace-page-actions > .segmented > button {
  min-height:32px;
  height:32px;
}
.workspace-page-actions > .btn {
  padding:0 10px;
  font-size:var(--font-size-small);
  line-height:1;
}
.workspace-page-actions > .segmented {
  display:inline-flex;
  align-items:stretch;
}
.workspace-page-actions > .segmented > button {
  padding:0 10px;
  font-size:var(--font-size-small);
  line-height:1;
}
.workspace-window-control {
  min-width:max-content;
}
.workspace-window-preference[aria-pressed="true"],
.workspace-window-preference.active {
  border-color:var(--accent) !important;
  color:var(--accent) !important;
  background:color-mix(in srgb,var(--accent) 10%,var(--surface)) !important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent);
}
.workspace-window-preference[aria-pressed="false"] {
  box-shadow:none;
}
@media (max-width:900px) {
  .workspace-page-header {
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
  .workspace-page-actions {
    width:100%;
    justify-content:flex-start;
  }
}

/* V15.35 · TOTP-Zwei-Faktor-Authentifizierung */
.btn-login-secondary { width:100%; padding:9px; margin-top:8px; border:1px solid #d9e0e4; border-radius:6px; background:#fff; color:var(--primary); cursor:pointer; font-weight:600; }
.btn-login-secondary:hover { background:#f5f7f8; }
#login-totp-code { font-size:var(--font-size-body); letter-spacing:normal; text-align:center; font-variant-numeric:tabular-nums; }
.two-factor-modal-box { width:min(720px,calc(100vw - 32px)); }
.two-factor-status-card { display:flex; align-items:flex-start; gap:14px; padding:14px 16px; margin-bottom:18px; border:1px solid var(--border); border-radius:var(--radius); background:color-mix(in srgb,var(--primary) 4%,var(--surface)); }
.two-factor-status-card.active { border-color:color-mix(in srgb,var(--green) 42%,var(--border)); background:color-mix(in srgb,var(--green) 7%,var(--surface)); }
.two-factor-status-icon { font-size:28px; line-height:1; }
.two-factor-status-card strong { display:block; margin-bottom:3px; color:var(--primary); font-size:var(--font-size-medium); }
.two-factor-status-card p { margin:0; color:var(--muted); }
.two-factor-status-card small { display:block; margin-top:5px; color:var(--muted); }
.two-factor-setup-grid { display:grid; grid-template-columns:230px minmax(0,1fr); gap:22px; align-items:center; margin-bottom:18px; }
.two-factor-qr { width:220px; height:220px; display:grid; place-items:center; padding:10px; border:1px solid var(--border); border-radius:12px; background:#fff; }
.two-factor-qr svg { display:block; width:100%; height:100%; }
.two-factor-setup-copy h3,.two-factor-danger-zone h3 { margin-bottom:6px; color:var(--primary); font-size:var(--font-size-subtitle); }
.two-factor-setup-copy p,.two-factor-danger-zone p { color:var(--muted); margin-bottom:12px; }
.two-factor-setup-copy label { display:block; margin-bottom:5px; color:var(--muted); font-size:var(--font-size-small); }
.two-factor-setup-copy code { display:block; padding:10px 12px; border:1px solid var(--border); border-radius:6px; background:var(--bg); color:var(--text); font-size:var(--font-size-medium); letter-spacing:.08em; overflow-wrap:anywhere; user-select:all; }
.two-factor-setup-copy small { display:block; margin-top:7px; color:var(--muted); }
.two-factor-danger-zone { margin-top:16px; padding-top:16px; border-top:1px solid var(--border); }
#two-factor-confirm-code,#two-factor-disable-code { font-size:18px; letter-spacing:.24em; text-align:center; font-variant-numeric:tabular-nums; }
@media (max-width:640px) {
  .two-factor-setup-grid { grid-template-columns:1fr; }
  .two-factor-qr { margin:0 auto; }
  .two-factor-danger-zone .form-grid.two { grid-template-columns:1fr; }
}

/* V15.20 – Systeminformation */
.system-info-modal-box{width:min(860px,calc(100vw - 32px));max-height:min(860px,calc(100vh - 32px));overflow:hidden}
.system-info-modal-box .modal-header{align-items:flex-start;padding:20px 24px 16px}
.system-info-heading{display:flex;flex-direction:column;gap:4px}
.system-info-heading .modal-title{font-size:var(--font-size-dialog-title);line-height:1.2}
.system-info-heading small{display:block;color:var(--text-muted,#64748b);font-size:var(--font-size-body)}
.system-info-modal-box .modal-body{padding:20px 24px;overflow:auto}
.system-info-brand{display:flex;align-items:center;gap:16px;padding:16px 18px;margin-bottom:18px;border:1px solid var(--border,#e5e7eb);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--tenant-primary,#334e5c) 10%,white),#fff 62%)}
.system-info-brand>div:last-child{display:flex;flex-direction:column;gap:3px}
.system-info-brand strong{font-size:var(--font-size-metric);letter-spacing:-.02em}
.system-info-brand span{color:var(--text-muted,#64748b);font-weight:600}
.system-info-mark{width:62px;height:62px;border-radius:16px;background:var(--tenant-primary,#334e5c);display:grid;place-items:center;color:#fff;font-weight:800;font-size:24px;overflow:hidden;box-shadow:0 8px 20px rgba(15,23,42,.14)}
.system-info-mark img{width:100%;height:100%;object-fit:contain}
.system-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.system-info-section{border:1px solid var(--border,#e5e7eb);border-radius:14px;background:var(--surface,#fff);overflow:hidden;min-width:0}
.system-info-section h3{display:flex;align-items:center;gap:9px;margin:0;padding:11px 14px;background:var(--surface-soft,#f8fafc);border-bottom:1px solid var(--border-soft,#eef2f6);font-size:var(--font-size-medium);text-transform:uppercase;letter-spacing:.045em;color:var(--text-muted,#64748b)}
.system-info-section h3 span{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:color-mix(in srgb,var(--tenant-primary,#334e5c) 12%,white);color:var(--tenant-primary,#334e5c);font-size:var(--font-size-body)}
.system-info-row{display:grid;grid-template-columns:minmax(110px,38%) minmax(0,1fr);gap:12px;padding:9px 14px;border-bottom:1px solid var(--border-soft,#eef2f6);align-items:start}
.system-info-row:last-child{border-bottom:0}
.system-info-row span{color:var(--text-muted,#64748b);font-size:var(--font-size-body)}
.system-info-row strong{font-size:var(--font-size-medium);font-weight:650;overflow-wrap:anywhere;line-height:1.35}
.system-info-legal{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:14px 2px 0;border-top:1px solid var(--border,#e5e7eb);font-size:var(--font-size-body);color:var(--text-muted,#64748b)}
.system-info-legal a{color:var(--tenant-primary,#334e5c);font-weight:700;text-decoration:none}
.system-info-legal a:hover{text-decoration:underline}
@media(max-width:760px){.system-info-grid{grid-template-columns:1fr}.system-info-legal{align-items:flex-start;flex-direction:column}.system-info-row{grid-template-columns:minmax(100px,38%) minmax(0,1fr)}}

/* V15.36 · Plattformweite Systeminformation */
.platform-system-page-header { align-items:flex-end; gap:18px; }
.platform-system-toolbar { align-items:center; justify-content:flex-end; flex-wrap:wrap; }
.platform-system-auto-refresh { display:inline-flex; align-items:center; gap:7px; min-height:32px; padding:0 10px; border:1px solid var(--border); border-radius:6px; background:var(--surface); color:var(--muted); font-size:var(--font-size-small); cursor:pointer; user-select:none; }
.platform-system-auto-refresh input { accent-color:var(--primary); }
.platform-system-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:116px; margin-bottom:14px; padding:20px 22px; border:1px solid var(--border); border-left:5px solid var(--green); border-radius:10px; background:linear-gradient(135deg,color-mix(in srgb,var(--green) 7%,var(--surface)),var(--surface) 60%); box-shadow:0 1px 4px rgba(0,0,0,.05); }
.platform-system-hero.warning { border-left-color:var(--accent); background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 9%,var(--surface)),var(--surface) 60%); }
.platform-system-hero.critical { border-left-color:var(--red); background:linear-gradient(135deg,color-mix(in srgb,var(--red) 8%,var(--surface)),var(--surface) 60%); }
.platform-system-hero-status { display:flex; align-items:center; gap:16px; min-width:0; }
.platform-system-status-icon { width:58px; height:58px; flex:0 0 58px; display:grid; place-items:center; border-radius:50%; background:color-mix(in srgb,var(--green) 14%,var(--surface)); color:var(--positive-text); font-size:28px; font-weight:800; }
.platform-system-hero.warning .platform-system-status-icon { background:color-mix(in srgb,var(--accent) 15%,var(--surface)); color:#995900; }
.platform-system-hero.critical .platform-system-status-icon { background:color-mix(in srgb,var(--red) 12%,var(--surface)); color:var(--red); }
.platform-system-hero-status span { display:block; margin-bottom:2px; color:var(--muted); font-size:var(--font-size-small); font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.platform-system-hero-status strong { display:block; color:var(--primary); font-size:26px; line-height:1.15; }
.platform-system-hero-status small { display:block; margin-top:5px; color:var(--muted); }
.platform-system-hero-meta { display:grid; grid-template-columns:repeat(3,minmax(112px,1fr)); gap:1px; min-width:min(460px,48%); border:1px solid var(--border); border-radius:8px; overflow:hidden; background:var(--border); }
.platform-system-hero-meta div { padding:11px 13px; background:color-mix(in srgb,var(--surface) 94%,transparent); }
.platform-system-hero-meta dt { margin-bottom:3px; color:var(--muted); font-size:var(--font-size-small); }
.platform-system-hero-meta dd { color:var(--primary); font-size:var(--font-size-medium); font-weight:700; white-space:nowrap; }
.platform-system-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:14px; }
.platform-system-kpi { display:flex; align-items:center; gap:13px; min-height:92px; padding:15px 16px; border:1px solid var(--border); border-top:3px solid var(--green); border-radius:8px; background:var(--surface); box-shadow:0 1px 4px rgba(0,0,0,.04); min-width:0; }
.platform-system-kpi.warning { border-top-color:var(--accent); }
.platform-system-kpi.critical { border-top-color:var(--red); }
.platform-system-kpi-icon { width:39px; height:39px; flex:0 0 39px; display:grid; place-items:center; border-radius:10px; background:color-mix(in srgb,var(--primary) 8%,var(--surface)); color:var(--primary); font-size:19px; }
.platform-system-kpi > div:last-child { min-width:0; }
.platform-system-kpi span,.platform-system-kpi small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.platform-system-kpi span { color:var(--muted); font-size:var(--font-size-small); }
.platform-system-kpi strong { display:block; margin:2px 0; color:var(--primary); font-size:var(--font-size-metric); line-height:1.2; }
.platform-system-kpi small { color:var(--muted); }
.platform-system-layout { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:start; }
.platform-system-card { margin:0; min-width:0; }
.platform-system-card .card-head { margin-bottom:14px; padding-bottom:11px; border-bottom:1px solid var(--border); }
.platform-system-storage-card { grid-column:1 / -1; }
.platform-system-checks { display:flex; flex-direction:column; gap:8px; }
.platform-system-check { display:grid; grid-template-columns:32px minmax(0,1fr) auto; align-items:center; gap:10px; padding:10px 11px; border:1px solid var(--border); border-left:3px solid var(--green); border-radius:7px; background:color-mix(in srgb,var(--green) 3%,var(--surface)); }
.platform-system-check.warning { border-left-color:var(--accent); background:color-mix(in srgb,var(--accent) 4%,var(--surface)); }
.platform-system-check.critical { border-left-color:var(--red); background:color-mix(in srgb,var(--red) 4%,var(--surface)); }
.platform-system-check-icon { width:28px; height:28px; display:grid; place-items:center; border-radius:50%; background:color-mix(in srgb,var(--green) 14%,var(--surface)); color:var(--positive-text); font-weight:800; }
.platform-system-check.warning .platform-system-check-icon { background:color-mix(in srgb,var(--accent) 16%,var(--surface)); color:#995900; }
.platform-system-check.critical .platform-system-check-icon { background:color-mix(in srgb,var(--red) 12%,var(--surface)); color:var(--red); }
.platform-system-check strong,.platform-system-check small { display:block; }
.platform-system-check strong { color:var(--primary); font-size:var(--font-size-medium); }
.platform-system-check small { margin-top:2px; color:var(--muted); line-height:1.35; }
.platform-system-badge { display:inline-flex; align-items:center; gap:5px; width:max-content; padding:3px 8px; border-radius:999px; background:var(--positive-bg); color:var(--positive-text); font-size:var(--font-size-caption); font-weight:800; letter-spacing:.025em; text-transform:uppercase; white-space:nowrap; }
.platform-system-badge.warning { background:color-mix(in srgb,var(--accent) 13%,var(--surface)); color:#8b5100; }
.platform-system-badge.critical { background:color-mix(in srgb,var(--red) 10%,var(--surface)); color:var(--red); }
.platform-system-memory { display:flex; flex-direction:column; gap:16px; }
.platform-system-memory-head { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-bottom:7px; }
.platform-system-memory-head strong,.platform-system-memory-head small { display:block; }
.platform-system-memory-head strong { color:var(--primary); }
.platform-system-memory-head small { margin-top:2px; color:var(--muted); }
.platform-system-memory-head b { color:var(--primary); font-size:var(--font-size-medium); }
.platform-system-progress { height:9px; overflow:hidden; border-radius:999px; background:color-mix(in srgb,var(--primary) 8%,var(--surface)); }
.platform-system-progress span { display:block; height:100%; min-width:0; border-radius:inherit; background:var(--green); transition:width .25s ease; }
.platform-system-memory-row.warning .platform-system-progress span { background:var(--accent); }
.platform-system-memory-row.critical .platform-system-progress span { background:var(--red); }
.platform-system-table-wrap { margin:0 -16px -16px; border-top:1px solid var(--border); }
.platform-system-table-wrap table { min-width:720px; }
.platform-system-storage-usage strong,.platform-system-storage-usage span { display:block; }
.platform-system-storage-usage span { margin-top:2px; color:var(--muted); font-size:var(--font-size-small); }
.platform-system-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; }
.platform-system-detail { display:grid; grid-template-columns:minmax(120px,42%) minmax(0,1fr); gap:10px; padding:9px 0; border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent); min-width:0; }
.platform-system-detail dt { color:var(--muted); }
.platform-system-detail dd { color:var(--primary); font-weight:650; overflow-wrap:anywhere; }
@media (max-width:1180px) {
  .platform-system-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .platform-system-hero { align-items:flex-start; flex-direction:column; }
  .platform-system-hero-meta { width:100%; min-width:0; }
}
@media (max-width:900px) {
  .platform-system-page-header { align-items:flex-start; flex-direction:column; }
  .platform-system-toolbar { justify-content:flex-start; width:100%; }
  .platform-system-layout { grid-template-columns:1fr; }
  .platform-system-storage-card { grid-column:auto; }
}
@media (max-width:640px) {
  .platform-system-kpis { grid-template-columns:1fr; }
  .platform-system-hero-meta { grid-template-columns:1fr; }
  .platform-system-detail-grid { grid-template-columns:1fr; }
  .platform-system-check { grid-template-columns:30px minmax(0,1fr); }
  .platform-system-check .platform-system-badge { grid-column:2; }
}


/* V15.37 – Einheitliche Karten-Splitpanes und verknüpfte Auftragskarte */
.map-split-workspace { display:flex; flex-direction:column; min-height:calc(100vh - 190px); }
.map-split-workspace .container-map-toolbar,
.map-split-workspace .fleet-map-toolbar { flex:0 0 auto; }
.map-split-workspace .container-map-stage,
.map-split-workspace .fleet-map-stage { height:510px; min-height:220px; flex:0 0 auto; }
.map-split-workspace .container-map-canvas,
.map-split-workspace .fleet-map-canvas { height:100%; min-height:0; }
.map-pane-splitter { height:10px; flex:0 0 10px; display:grid; place-items:center; border-top:1px solid #dbe3ea; border-bottom:1px solid #dbe3ea; background:#f1f5f9; cursor:row-resize; touch-action:none; }
.map-pane-splitter span { width:72px; height:3px; border-radius:3px; background:#94a3b8; }
.resizing-map-pane { cursor:row-resize; user-select:none; }
.map-list-pane { min-height:210px; display:flex; flex:1 1 auto; flex-direction:column; }
.map-list-pane .container-map-table-wrap,
.map-list-pane .fleet-map-table-wrap { flex:1 1 auto; max-height:none; }
.map-only-action { display:none; }
.order-table tbody tr.selected td { background:color-mix(in srgb,var(--primary) 8%,var(--surface)); }
.order-map-marker.selected { width:44px; height:44px; margin:-3px; border-width:4px; box-shadow:0 0 0 5px rgba(35,77,101,.24),0 5px 14px rgba(20,35,48,.42); }
.order-map-popup-order.selected { background:color-mix(in srgb,var(--primary) 9%,#fff); outline:2px solid color-mix(in srgb,var(--primary) 38%,transparent); }
body.container-map-only-window .container-map-page-header,
body.fleet-map-only-window .fleet-map-page-header { display:none; }
body.container-map-only-window #page-containermap,
body.fleet-map-only-window #page-fuhrparkmap { height:calc(100vh - 110px); }
body.container-map-only-window .container-map-card,
body.fleet-map-only-window .fleet-map-card { height:100%; min-height:0; box-shadow:none; }
body.container-map-only-window #container-map-list-pane,
body.container-map-only-window #container-map-splitter,
body.fleet-map-only-window #fleet-map-list-pane,
body.fleet-map-only-window #fleet-map-splitter { display:none !important; }
body.container-map-only-window .container-map-stage,
body.fleet-map-only-window .fleet-map-stage { height:auto !important; min-height:0 !important; flex:1 1 auto; }
body.container-map-only-window .map-only-action,
body.fleet-map-only-window .map-only-action { display:inline-flex; }
body.container-map-only-window .content,
body.fleet-map-only-window .content { overflow:hidden; }
@media (max-width:760px) {
  .map-split-workspace .container-map-stage,
  .map-split-workspace .fleet-map-stage { min-height:220px; }
}

/* V15.37.1 – Kartenfenster berücksichtigen dynamische Kopfbereiche */
.orders-viewport-summary { color:var(--muted); font-size:var(--font-size-label); }
body.container-map-only-window,
body.fleet-map-only-window,
body.order-map-only-window { overflow:hidden; }
body.container-map-only-window .layout,
body.fleet-map-only-window .layout,
body.order-map-only-window .layout { height:100vh; min-height:0; }
body.container-map-only-window .main-layout,
body.container-map-only-window .main-layout.expanded,
body.fleet-map-only-window .main-layout,
body.fleet-map-only-window .main-layout.expanded,
body.order-map-only-window .main-layout,
body.order-map-only-window .main-layout.expanded {
  height:100vh;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
body.container-map-only-window .maintenance-banner,
body.fleet-map-only-window .maintenance-banner,
body.order-map-only-window .maintenance-banner,
body.container-map-only-window .support-profile-presence-banner,
body.fleet-map-only-window .support-profile-presence-banner,
body.order-map-only-window .support-profile-presence-banner,
body.container-map-only-window .standalone-master-banner,
body.fleet-map-only-window .standalone-master-banner,
body.order-map-only-window .standalone-master-banner {
  flex:0 0 auto;
  position:relative;
}
body.container-map-only-window .content,
body.fleet-map-only-window .content,
body.order-map-only-window .content {
  flex:1 1 auto;
  display:flex;
  width:100%;
  height:auto;
  min-height:0 !important;
  overflow:hidden;
}
body.container-map-only-window #page-containermap,
body.fleet-map-only-window #page-fuhrparkmap,
body.order-map-only-window #page-auftraege {
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  width:100%;
  height:auto !important;
  min-height:0;
}
body.container-map-only-window .container-map-card,
body.fleet-map-only-window .fleet-map-card,
body.order-map-only-window .order-workspace {
  flex:1 1 auto;
  height:auto;
  min-height:0;
}

/* V15.38 – Mandantenwartung als eigener Plattform-Tab */
.maintenance-banner-period { opacity:.78; font-size:var(--font-size-caption) !important; }
.tenant-maintenance-page { display:flex; flex-direction:column; gap:14px; min-width:0; }
.tenant-maintenance-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.tenant-maintenance-head h3 { margin:2px 0 4px; color:var(--primary); font-size:20px; }
.tenant-maintenance-head p { margin:0; color:var(--muted); font-size:var(--font-size-small); }
.tenant-maintenance-eyebrow { color:var(--muted); font-size:var(--font-size-caption); font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.tenant-maintenance-status-card { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; border:1px solid var(--border); border-left:4px solid var(--accent); border-radius:8px; background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 7%,#fff),#fff 38%); }
.tenant-maintenance-status-copy { display:flex; flex-direction:column; gap:2px; min-width:0; }
.tenant-maintenance-status-copy > span { color:var(--muted); font-size:var(--font-size-caption); font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.tenant-maintenance-status-copy strong { color:var(--primary); font-size:var(--font-size-body); }
.tenant-maintenance-status-copy small { color:var(--muted); font-size:var(--font-size-small); }
.tenant-maintenance-card,.tenant-maintenance-history-card { padding:0; overflow:hidden; }
.tenant-maintenance-card > .card-head,.tenant-maintenance-history-card > .card-head { padding:14px 16px 11px; border-bottom:1px solid var(--border); }
.tenant-maintenance-grid { padding:14px 16px; display:grid; grid-template-columns:minmax(310px,1.1fr) minmax(360px,1.3fr) repeat(3,minmax(190px,.72fr)); gap:12px; align-items:start; }
.tenant-maintenance-grid input,.tenant-maintenance-grid textarea { width:100%; }
.tenant-maintenance-lock-option { min-height:96px; }
.tenant-maintenance-message-field textarea { min-height:74px; resize:vertical; }
.tenant-maintenance-card > .form-message { margin:0 16px 12px; }
.tenant-maintenance-actions { padding:11px 16px 14px; display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid var(--border); background:#fafbfc; }
.tenant-maintenance-danger-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.tenant-maintenance-end-button { border-color:#d48806; color:#ad6800; }
.tenant-maintenance-end-button:hover:not(:disabled) { background:#fff7e6; border-color:#fa8c16; color:#873800; }
.tenant-maintenance-history-wrap { max-height:420px; overflow:auto; }
.tenant-maintenance-history-table { min-width:1180px; }
.tenant-maintenance-history-table thead { position:sticky; top:0; z-index:2; }
.tenant-maintenance-history-table td { vertical-align:top; }
.tenant-maintenance-history-table td:nth-child(3) { min-width:250px; white-space:normal; }
.tenant-maintenance-history-cell { display:flex; flex-direction:column; gap:2px; min-width:150px; }
.tenant-maintenance-history-cell strong { color:var(--primary); font-size:var(--font-size-label); font-weight:650; }
.tenant-maintenance-history-cell small { color:var(--muted); font-size:var(--font-size-caption); line-height:1.35; }
.tenant-maintenance-history-message { max-width:340px; color:var(--text); font-size:var(--font-size-small); line-height:1.4; white-space:normal; }

@media (max-width:1500px) {
  .tenant-maintenance-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .tenant-maintenance-message-field { grid-column:span 1; }
}
@media (max-width:760px) {
  .tenant-maintenance-head,.tenant-maintenance-status-card,.tenant-maintenance-actions { align-items:stretch; flex-direction:column; }
  .tenant-maintenance-grid { grid-template-columns:1fr; }
  .tenant-maintenance-danger-actions { flex-direction:column; align-items:stretch; }
  .tenant-maintenance-actions .btn,.tenant-maintenance-danger-actions .btn { width:100%; }
}
.session-page-content > .session-list-card { margin-top:0; }

/* V15.39.1: direkt aus dem Kalender angesprungene Personaldokumente */
.personal-document-table tr.calendar-target-document{background:#fff7ed;box-shadow:inset 4px 0 0 #c2410c;transition:background .25s ease,box-shadow .25s ease}

/* V15.40: Geschäftspartner-Stellplatzflächen in der Auftragskarte */
.order-map-polygon-tooltip{border:1px solid #f18f01!important;border-radius:7px!important;background:rgba(255,255,255,.96)!important;color:#334155!important;box-shadow:0 8px 22px rgba(15,23,42,.16)!important;font-size:var(--font-size-label)!important;font-weight:700!important;padding:5px 8px!important}
.order-map-polygon-tooltip:before{border-top-color:#f18f01!important}

/* V15.41 · Änderungsprotokoll mit Zeitraum und Export */
.audit-toolbar {
  grid-template-columns:minmax(230px,1.7fr) minmax(160px,1fr) minmax(135px,.75fr) minmax(165px,1fr) 145px 145px auto;
}
.audit-toolbar input[type="date"] {
  font-variant-numeric:tabular-nums;
}
@media(max-width:1280px){
  .audit-toolbar { grid-template-columns:repeat(4,minmax(150px,1fr)); }
}
@media(max-width:760px){
  .audit-toolbar { grid-template-columns:1fr; }
}
.audit-date-field{position:relative;display:block;min-width:0}
.audit-date-field>span{position:absolute;left:9px;top:50%;z-index:1;transform:translateY(-50%);color:var(--muted);font-size:var(--font-size-caption);pointer-events:none}
.audit-toolbar .audit-date-field input{padding-left:38px}

/* V15.43 · Präsenz, @Erwähnungen und Personalbezug */
.message-presence-dot { display:inline-block; flex:0 0 8px; width:8px; height:8px; border-radius:50%; background:#94a3b8; box-shadow:0 0 0 2px color-mix(in srgb,#94a3b8 16%,transparent); }
.message-presence-dot.online { background:var(--positive-solid); box-shadow:0 0 0 2px color-mix(in srgb,var(--positive-solid) 18%,transparent); }
.message-presence-dot.idle { background:#f59e0b; box-shadow:0 0 0 2px color-mix(in srgb,#f59e0b 18%,transparent); }
.message-presence-dot.stale { background:#64748b; box-shadow:0 0 0 2px color-mix(in srgb,#64748b 18%,transparent); }
.message-presence-dot.offline { background:#94a3b8; }
.message-recipient-result strong { display:flex; align-items:center; gap:7px; }
.message-recipient-result > .message-presence-label { flex:0 0 auto; width:auto; height:auto; padding:4px 7px; border-radius:999px; display:inline-flex; background:#f1f5f9; color:#64748b; font-size:10px; font-weight:800; }
.message-recipient-result > .message-presence-label.online { background:var(--positive-bg); color:var(--positive-text); }
.message-recipient-result > .message-presence-label.idle { background:#fffbeb; color:#b45309; }
.message-recipient-result > .message-presence-label.stale { background:#f1f5f9; color:#475569; }
.message-recipient-tag .message-presence-dot { margin-right:1px; }
.message-participant-list { display:inline-flex; flex-wrap:wrap; gap:5px 9px; }
.message-participant-presence { display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
.message-detail-meta { display:flex; align-items:center; flex-wrap:wrap; gap:2px; }
.message-mention-editor { position:relative; min-width:0; }
.message-compose-text-group .message-mention-editor { display:flex; flex:1; min-height:240px; }
.message-compose-text-group .message-mention-editor textarea { flex:1; min-height:240px; }
.message-reply-editor textarea { width:100%; }
.message-mention-results { position:absolute; z-index:80; top:calc(100% + 5px); left:0; right:0; max-height:260px; overflow:auto; border:1px solid var(--border); border-radius:10px; background:var(--surface); box-shadow:0 12px 32px rgba(15,23,42,.18); padding:5px; }
.message-reply-editor .message-mention-results { top:auto; bottom:calc(100% + 6px); }
.message-mention-result { width:100%; border:0; border-radius:7px; padding:8px 9px; background:transparent; text-align:left; cursor:pointer; display:flex; flex-direction:column; gap:3px; color:var(--text); }
.message-mention-result:hover,.message-mention-result.active { background:color-mix(in srgb,var(--primary) 9%,var(--surface)); }
.message-mention-result > span { display:flex; align-items:center; gap:7px; }
.message-mention-result strong { color:var(--primary); }
.message-mention-result small { color:var(--muted); padding-left:15px; }
.message-mention { display:inline; border:0; border-radius:5px; padding:1px 4px; background:#e6f4ff; color:#0958d9; font:inherit; font-weight:750; line-height:inherit; }
button.message-mention { cursor:pointer; }
button.message-mention:hover { background:#bae0ff; text-decoration:underline; }
.message-recipient-result > span.message-presence-label:last-child { flex:0 0 auto; width:auto; height:auto; padding:4px 7px; border-radius:999px; display:inline-flex; place-items:initial; }

/* V15.44 Aktivitätsfeed und Objektpräsenz */
.dashboard-activity-title{display:flex;align-items:center;justify-content:space-between;gap:16px}
.dashboard-activity-title span{display:flex;flex-direction:column;gap:3px}.dashboard-activity-title small{font-weight:400;color:var(--muted,#667780)}
.dashboard-activity-list{display:grid;gap:4px}.dashboard-activity-row{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;width:100%;border:0;border-bottom:1px solid #edf1f3;background:transparent;text-align:left;padding:9px 4px;cursor:pointer;color:inherit}
.dashboard-activity-row:hover{background:#f6f9fa}.dashboard-activity-row span:last-child{display:flex;flex-direction:column;gap:2px}.dashboard-activity-row strong{font-size:13px;font-weight:650}.dashboard-activity-row small{font-size:11px;color:#71818a}
.activity-mini-marker{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:#edf2f4}.activity-mini-marker.activity-important{background:#fff3cd;color:#8a6500}.activity-mini-marker.activity-warning{background:#fff0e4;color:#a54800}.activity-mini-marker.activity-critical{background:#fde8e8;color:#b42318}
.activity-feed-card{min-height:460px}.activity-toolbar{position:sticky;top:52px;z-index:40;display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(145px,1fr)) minmax(140px,1fr) auto auto auto auto;gap:8px;align-items:end;padding:12px;border-bottom:1px solid #e8edef;background:var(--surface);box-shadow:0 1px 0 rgba(15,23,42,.035),0 7px 14px rgba(15,23,42,.045)}
.activity-toolbar input:not([type=checkbox]),.activity-toolbar select{min-height:36px;border-radius:var(--radius)}.activity-toolbar input[type=search],.activity-toolbar input[type=date],.activity-toolbar select{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:6px 9px;outline:none}.activity-toolbar input:focus,.activity-toolbar select:focus{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent)}.activity-date-field{display:flex;flex-direction:column;gap:3px;font-size:10px;color:#65757e}.activity-important-toggle{display:flex;align-items:center;gap:6px;min-height:36px;white-space:nowrap;font-size:12px}.activity-important-toggle input{width:16px;height:16px;min-height:auto;accent-color:var(--primary)}
body.standalone-master .activity-toolbar{top:0}.activity-pagination{border-radius:0 0 var(--radius) var(--radius)}.activity-page-controls strong{min-width:110px;text-align:center;color:var(--text);font-size:var(--font-size-label)}.activity-page-controls .btn{min-width:30px;padding-inline:7px}.activity-page-controls label>span{white-space:nowrap}
.activity-feed-status{display:flex;justify-content:space-between;align-items:center;min-height:38px;padding:0 14px;font-size:12px;color:#60717a;border-bottom:1px solid #edf1f3}.activity-live-indicator{color:#b42318;font-weight:800;letter-spacing:.08em}
.activity-event-list{display:flex;flex-direction:column;min-height:320px}.activity-event-list.loading{opacity:.58}.activity-event{display:grid;grid-template-columns:38px minmax(0,1fr) 24px;gap:10px;align-items:start;padding:13px 16px;border-bottom:1px solid #edf1f3;transition:background .15s ease}.activity-event[data-activity-reference]{cursor:pointer}.activity-event[data-activity-reference]:hover{background:#f6f9fa}
.activity-event-marker{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:#edf2f4;color:#42545d}.activity-important .activity-event-marker{background:#fff3cd;color:#8a6500}.activity-warning .activity-event-marker{background:#fff0e4;color:#a54800}.activity-critical .activity-event-marker{background:#fde8e8;color:#b42318}
.activity-event-summary{font-size:13px;font-weight:680;color:#253841}.activity-event-detail{margin-top:4px;font-size:12px;color:#596b74;white-space:pre-wrap}.activity-event-meta{display:flex;flex-wrap:wrap;gap:5px 13px;margin-top:6px;font-size:10px;color:#7b8a91}.activity-event-meta span:not(:first-child)::before{content:'·';margin-right:8px}.activity-event-open{font-size:24px;line-height:28px;color:#6c8089}.activity-empty{padding:28px;text-align:center;color:#74858d}.activity-empty.error{color:#b42318}
.object-presence-strip{order:2;display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-left:auto;margin-right:8px;padding:5px 8px;border:1px solid #f0c36d;border-radius:9px;background:#fff8e8;font-size:10px;color:#694900;max-width:55%}.object-presence-strip strong{white-space:nowrap}.object-presence-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border-radius:999px;background:#fff;border:1px solid #ead7aa;white-space:nowrap}.object-presence-chip i{width:7px;height:7px;border-radius:50%;background:#21a366}.object-presence-chip.self i{background:#6c7f88}
.activity-live-mode #page-activity .page-header>div:first-child p,.activity-live-mode #activity-toolbar,.activity-live-mode #activity-pagination,.activity-live-mode .workspace-window-preference,.activity-live-mode #activity-open-window{display:none!important}.activity-live-mode #page-activity .page-header{padding-bottom:8px}.activity-live-mode .activity-event{padding:18px 22px;grid-template-columns:48px minmax(0,1fr) 30px}.activity-live-mode .activity-event-marker{width:36px;height:36px;font-size:17px}.activity-live-mode .activity-event-summary{font-size:20px}.activity-live-mode .activity-event-detail{font-size:15px}.activity-live-mode .activity-event-meta{font-size:13px}.activity-live-mode .activity-event-list{min-height:calc(100vh - 180px)}
@media(max-width:1350px){.activity-toolbar{grid-template-columns:repeat(4,minmax(145px,1fr))}.activity-toolbar #activity-search{grid-column:span 2}.object-presence-strip{max-width:100%;width:100%;margin:6px 0 0}}

/* V15.45.1: Optimistic Locking & Smart Merge */
.concurrency-warning{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:9px 12px;border:1px solid #f59e0b;border-radius:8px;background:#fffbeb;font-size:12px}.concurrency-warning.hidden{display:none}.concurrency-warning>span{display:flex;flex-direction:column;gap:2px}.concurrency-warning strong{color:#92400e}.concurrency-warning small{color:#78350f}
.concurrency-merge-overlay{z-index:13000;padding:22px}.concurrency-merge-card{width:min(860px,calc(100vw - 44px));max-width:none;height:auto;max-height:min(780px,calc(100vh - 44px));overflow:hidden;display:flex;flex-direction:column;background:#fff}.concurrency-merge-card>.modal-header{position:static;flex:0 0 auto;align-items:flex-start}.concurrency-merge-card>.modal-header h2{margin:0;color:var(--primary)}.concurrency-merge-card>.modal-header p{margin:4px 0 0;color:#64748b}.concurrency-merge-card>.modal-footer{position:static;flex:0 0 auto}
.concurrency-merge-body{min-height:0;padding:15px 18px;overflow:auto;display:flex;flex-direction:column;gap:15px;background:#f8fafc}.concurrency-merge-body>section>h4{margin:0 0 9px;font-size:13px;color:#334155}
.merge-auto{border:1px solid #bfdbfe;background:#fff;border-radius:9px;padding:0 12px}.merge-auto summary{cursor:pointer;padding:10px 0;font-size:12px;font-weight:800;color:#1e4f78;list-style-position:inside}.merge-auto[open] summary{border-bottom:1px solid #e5eef8;margin-bottom:4px}.merge-auto-row{display:grid;grid-template-columns:20px minmax(145px,230px) 1fr;gap:8px;align-items:center;padding:6px 0}.merge-auto-row>span{color:var(--positive-text);font-weight:800}.merge-auto-row strong{font-size:12px}.merge-auto-row small{color:#64748b;font-size:11px}
.merge-conflict{border:1px solid #f1c36d;border-radius:9px;padding:11px;margin-bottom:9px;background:#fff}.merge-conflict header{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}.merge-conflict header strong{color:#7c4a00}.merge-origin{display:grid;grid-template-columns:180px 1fr;gap:8px;align-items:center;padding:6px 8px;background:#f8fafc;border-radius:7px;margin-bottom:7px}.merge-origin span{font-size:11px;color:#64748b}.merge-origin code,.merge-choice code{white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;color:#334155}.merge-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.merge-choice{display:grid;grid-template-columns:22px 1fr;gap:7px;padding:9px;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;min-width:0}.merge-choice:has(input:checked){border-color:#2563eb;background:#eff6ff}.merge-choice span{display:flex;flex-direction:column;gap:3px;min-width:0}.merge-choice strong{font-size:12px}.merge-clean{padding:11px;border-radius:8px;background:var(--positive-bg);color:var(--positive-text)}.merge-warning{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:8px;background:#fff;border:1px solid #e2e8f0}.merge-warning span{font-size:12px;color:#64748b}
.concurrency-merge-footer{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.merge-ack{display:flex;align-items:center;gap:7px;margin-left:auto;font-size:12px}.my-changes-panel{margin:0 0 14px;border:1px solid #93c5fd;border-radius:10px;background:#eff6ff;padding:10px 12px}.my-changes-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.my-changes-panel>header>div{display:flex;flex-direction:column;gap:2px}.my-changes-panel>header small{color:#475569}.my-change-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:7px 0;border-top:1px solid #dbeafe}.my-change-row>span:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}.my-change-row small{color:#475569;word-break:break-word}.my-change-row>span:last-child{display:flex;gap:6px;flex-shrink:0}
@media(max-width:760px){.concurrency-merge-overlay{padding:8px}.concurrency-merge-card{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.merge-auto-row{grid-template-columns:20px 1fr}.merge-auto-row small{grid-column:2}.merge-origin{grid-template-columns:1fr}.merge-options{grid-template-columns:1fr}.my-change-row{align-items:flex-start;flex-direction:column}.merge-ack{margin-left:0;width:100%}}

/* V15.46: Versionsverlauf je Geschäftsobjekt */
.concurrency-history-button{margin-left:auto;margin-right:8px;white-space:nowrap}
.concurrency-history-overlay{z-index:13020;padding:22px}
.concurrency-history-card{width:min(940px,calc(100vw - 44px));max-width:none;max-height:min(820px,calc(100vh - 44px));overflow:hidden;display:flex;flex-direction:column;background:#fff}
.concurrency-history-body{min-height:0;overflow:auto;padding:14px 18px;background:#f8fafc;display:flex;flex-direction:column;gap:10px}
.version-history-item{border:1px solid #dbe3ec;border-radius:10px;background:#fff;padding:11px 13px;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.version-history-item>header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:7px}
.version-history-item>header>span{display:flex;align-items:center;gap:8px;color:#64748b;font-size:12px}
.version-history-item>header strong{font-size:15px;color:var(--primary)}
.version-history-item>header em{font-style:normal;border:1px solid #cbd5e1;border-radius:999px;padding:2px 7px;color:#475569;background:#f8fafc}
.version-history-item>small{display:block;color:#64748b;margin:-2px 0 8px}
.version-change-row{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:10px;padding:6px 0;border-top:1px solid #eef2f7;align-items:start}
.version-change-row>strong{font-size:12px;color:#334155}
.version-change-row>span{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:6px;align-items:center;min-width:0}
.version-change-row code{white-space:pre-wrap;word-break:break-word;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:4px 6px;font-family:inherit;font-size:12px;color:#334155}
.version-change-row b{text-align:center;color:#94a3b8}
.version-no-change{font-size:12px;color:#94a3b8;padding:4px 0}
@media(max-width:760px){.concurrency-history-overlay{padding:8px}.concurrency-history-card{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.version-history-item>header{align-items:flex-start;flex-direction:column}.version-change-row{grid-template-columns:1fr}.version-change-row>span{grid-template-columns:1fr}.version-change-row b{display:none}}

/* V15.47 – persönliches Dashboard */
.dashboard-page-header{align-items:center}.personal-dashboard{display:flex;flex-direction:column;gap:16px}.personal-dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;align-items:start}.personal-dashboard-tile{grid-column:span 4;background:var(--card-background,#fff);border:1px solid var(--border-color,#dfe5e8);border-radius:14px;box-shadow:0 2px 9px rgba(27,45,58,.055);overflow:hidden;min-width:0}.personal-dashboard-tile.dashboard-size-medium{grid-column:span 6}.personal-dashboard-tile.dashboard-size-wide{grid-column:span 8}.personal-dashboard-tile-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 12px;border-bottom:1px solid #edf1f3;background:linear-gradient(180deg,rgba(248,250,251,.95),rgba(255,255,255,.95))}.personal-dashboard-tile-title{display:flex;align-items:center;gap:10px;min-width:0}.personal-dashboard-tile-title>span:last-child{display:flex;flex-direction:column;min-width:0}.personal-dashboard-tile-title strong{font-size:14px;color:var(--text-color,#23343d)}.personal-dashboard-tile-title small{font-size:11px;color:#74838b;line-height:1.35;margin-top:2px}.personal-dashboard-tile-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#f1f5f6;font-size:18px;flex:0 0 auto}.dashboard-tile-action{border:0;background:transparent;color:var(--accent-color,#d46b1f);font:inherit;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;padding:6px}.dashboard-tile-action:hover{text-decoration:underline}.personal-dashboard-tile-body{min-height:124px}.dashboard-list{display:flex;flex-direction:column}.dashboard-list-row{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;width:100%;border:0;border-bottom:1px solid #edf1f3;background:transparent;text-align:left;padding:10px 14px;color:inherit;cursor:pointer}.dashboard-list-row:last-child{border-bottom:0}.dashboard-list-row:hover:not(:disabled){background:#f7f9fa}.dashboard-list-row:disabled{cursor:default}.dashboard-row-symbol{width:28px;height:28px;border-radius:9px;background:#eef3f5;display:grid;place-items:center;font-size:13px;font-weight:800;color:#53666f}.dashboard-row-symbol.importance-important{background:#fff3cd;color:#8a6500}.dashboard-row-symbol.importance-warning{background:#fff0e4;color:#a54800}.dashboard-row-symbol.importance-critical{background:#fde8e8;color:#b42318}.dashboard-row-symbol.celebration{font-size:17px;background:#fff6f8}.dashboard-row-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.dashboard-row-copy strong{font-size:12px;font-weight:680;color:#2b3c45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-row-copy small{font-size:10.5px;color:#78878e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-date-chip{width:34px;height:38px;border-radius:9px;background:#eef3f5;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.dashboard-date-chip b{font-size:14px}.dashboard-date-chip small{font-size:9px;text-transform:uppercase;margin-top:3px;color:#687b84}.dashboard-tile-empty,.dashboard-empty{padding:26px 18px;text-align:center;color:#74838b;font-size:12px;line-height:1.45}.dashboard-no-tiles{grid-column:1/-1;border:1px dashed #cfd8dc;border-radius:14px;background:#fafcfc;display:flex;flex-direction:column;gap:4px}.dashboard-no-tiles strong{color:#41545e}.dashboard-loading{grid-column:1/-1;padding:42px;text-align:center;color:#74838b}.dashboard-error{grid-column:1/-1;color:#b42318}.dashboard-message-count{display:flex;align-items:baseline;gap:8px;padding:14px 16px 10px}.dashboard-message-count strong{font-size:28px;line-height:1;color:var(--accent-color,#d46b1f)}.dashboard-message-count span{font-size:12px;color:#647780}.dashboard-message-clear{padding:14px 16px 10px;color:#24734a;font-size:12px;font-weight:700}.dashboard-message-list .dashboard-list-row{padding-top:9px;padding-bottom:9px}
.dashboard-celebration{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;overflow:hidden;padding:20px 24px;border-radius:16px;border:1px solid color-mix(in srgb,var(--accent-color,#d46b1f) 28%,#dfe5e8);background:linear-gradient(125deg,color-mix(in srgb,var(--accent-color,#d46b1f) 10%,white),#fff 58%,color-mix(in srgb,var(--accent-color,#d46b1f) 5%,white));box-shadow:0 4px 18px rgba(35,52,61,.07)}.dashboard-celebration-icon{width:62px;height:62px;border-radius:18px;display:grid;place-items:center;font-size:34px;background:rgba(255,255,255,.82);box-shadow:0 4px 14px rgba(45,58,64,.08)}.dashboard-celebration-copy{position:relative;z-index:2;display:flex;flex-direction:column;gap:3px}.dashboard-celebration-kicker{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-color,#d46b1f)}.dashboard-celebration-copy strong{font-size:22px;line-height:1.2;color:#253841}.dashboard-celebration-copy p{margin:3px 0 0;color:#596b74;font-size:13px}.dashboard-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.dashboard-confetti i{position:absolute;width:7px;height:14px;border-radius:3px;opacity:.45;transform:rotate(22deg);background:var(--accent-color,#d46b1f)}.dashboard-confetti i:nth-child(1){right:8%;top:14%;transform:rotate(31deg)}.dashboard-confetti i:nth-child(2){right:14%;top:52%;transform:rotate(-24deg);width:10px;height:10px;border-radius:50%;background:#d7a214}.dashboard-confetti i:nth-child(3){right:23%;top:24%;transform:rotate(67deg);background:#4f8f78}.dashboard-confetti i:nth-child(4){right:4%;bottom:12%;transform:rotate(-52deg);background:#a76ea6}.dashboard-confetti i:nth-child(5){right:30%;bottom:15%;transform:rotate(16deg);width:9px;height:9px;border-radius:50%;background:#cf6a7f}.dashboard-confetti i:nth-child(6){right:18%;bottom:33%;transform:rotate(74deg);background:#5e83b4}
.dashboard-layout-box{width:min(820px,calc(100vw - 36px));max-height:min(760px,calc(100vh - 40px))}.dashboard-layout-subtitle{font-size:11px;color:#71818a;margin-top:3px}.dashboard-layout-list{display:flex;flex-direction:column;border:1px solid #e0e6e9;border-radius:12px;overflow:hidden}.dashboard-layout-row{display:grid;grid-template-columns:18px minmax(0,1fr) 130px 76px;gap:12px;align-items:center;padding:11px 12px;border-bottom:1px solid #edf1f3;background:#fff}.dashboard-layout-row:last-child{border-bottom:0}.dashboard-layout-row.unavailable{opacity:.55;background:#f7f9fa}.dashboard-layout-drag-handle{width:18px;color:#8a999f;font-weight:900;letter-spacing:-3px;text-align:center;user-select:none;cursor:grab}.dashboard-layout-row{transition:background .12s ease,opacity .12s ease,box-shadow .12s ease}.dashboard-layout-row.dragging{opacity:.52;background:#f5f8f9;box-shadow:inset 3px 0 0 var(--accent-color,#d46b1f)}.dashboard-layout-row.dragging .dashboard-layout-drag-handle{cursor:grabbing}.dashboard-layout-visible{display:grid;grid-template-columns:20px 34px minmax(0,1fr);align-items:center;gap:10px;cursor:pointer}.dashboard-layout-visible input{width:16px;height:16px}.dashboard-layout-visible>span:last-child{display:flex;flex-direction:column;gap:1px}.dashboard-layout-visible strong{font-size:12px;color:#2d3f47}.dashboard-layout-visible small{font-size:10px;color:#74838b}.dashboard-layout-icon{width:32px;height:32px;border-radius:9px;background:#f1f5f6;display:grid;place-items:center;font-size:16px}.dashboard-layout-row select{min-height:34px;font-size:11px}.dashboard-layout-order{display:flex;gap:6px;justify-content:flex-end}.dashboard-layout-order .icon-action{width:31px;height:31px}.dashboard-layout-note{margin-top:11px;padding:10px 12px;border-radius:9px;background:#f6f8f9;color:#6b7b83;font-size:10.5px}
@media(max-width:1180px){.personal-dashboard-tile,.personal-dashboard-tile.dashboard-size-medium{grid-column:span 6}.personal-dashboard-tile.dashboard-size-wide{grid-column:span 12}}@media(max-width:760px){.personal-dashboard-grid{grid-template-columns:1fr}.personal-dashboard-tile,.personal-dashboard-tile.dashboard-size-medium,.personal-dashboard-tile.dashboard-size-wide{grid-column:1}.dashboard-page-header{align-items:flex-start}.dashboard-celebration{grid-template-columns:1fr;text-align:center}.dashboard-celebration-icon{margin:auto}.dashboard-layout-row{grid-template-columns:18px minmax(0,1fr) 112px}.dashboard-layout-order{grid-column:1/-1;justify-content:flex-end}}

/* V15.47.2 – Mini-Dashboardkacheln und Admin-Systemstatus */
.personal-dashboard-tile.dashboard-size-mini{grid-column:span 2}
.personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-head{padding:9px 10px 8px;gap:6px}
.personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-title{gap:7px}
.personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-title small{display:none}
.personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-title strong{font-size:11.5px}
.personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-icon{width:27px;height:27px;border-radius:8px;font-size:14px}
.personal-dashboard-tile.dashboard-size-mini .dashboard-tile-action{font-size:0;padding:4px 2px}
.personal-dashboard-tile.dashboard-size-mini .dashboard-tile-action::after{content:'›';font-size:15px}
.personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-body{min-height:58px}
.dashboard-mini-summary{width:100%;height:58px;min-height:58px;border:0;background:transparent;padding:9px 11px;display:flex;flex-direction:column;justify-content:center;gap:3px;text-align:left;color:inherit;overflow:hidden}
.dashboard-mini-summary strong{font-size:12px;color:#2b3c45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:7px}
.dashboard-mini-summary small{font-size:10px;color:#78878e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-mini-clickable{cursor:pointer}.dashboard-mini-clickable:hover{background:#f7f9fa}
.dashboard-mini-kpi{align-items:flex-start}.dashboard-mini-kpi strong{font-size:22px;line-height:1;color:var(--accent-color,#d46b1f)}
.dashboard-mini-empty strong{font-weight:600;color:#74838b}
.dashboard-status-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:0 0 auto;background:#2e8b57;box-shadow:0 0 0 3px rgba(46,139,87,.11)}
.status-warning .dashboard-status-dot,.dashboard-system-head.status-warning .dashboard-status-dot{background:#d78a19;box-shadow:0 0 0 3px rgba(215,138,25,.13)}
.status-critical .dashboard-status-dot,.dashboard-system-head.status-critical .dashboard-status-dot{background:#c83b3b;box-shadow:0 0 0 3px rgba(200,59,59,.12)}
.dashboard-system-status{padding:13px 15px 14px}.dashboard-system-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}.dashboard-system-head strong{font-size:13px;color:#2b3c45}
.dashboard-system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dashboard-system-grid>span{padding:8px 9px;border:1px solid #edf1f3;border-radius:9px;background:#fafcfc;color:#7a8990;font-size:9.5px;display:flex;flex-direction:column;gap:2px}.dashboard-system-grid strong{color:#344850;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-system-maintenance{display:block;margin-top:10px;color:#8a6500;font-size:9.5px;line-height:1.35}
@media(max-width:1180px){.personal-dashboard-tile.dashboard-size-mini{grid-column:span 4}}
@media(max-width:760px){.personal-dashboard-tile.dashboard-size-mini{grid-column:1}.dashboard-system-grid{grid-template-columns:1fr}}

/* V15.47.3 – echte 1/2-Kompakthöhe und persönliche Favoriten */
.personal-dashboard-tile.dashboard-size-mini{height:94px}
.personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-head{height:45px;box-sizing:border-box;padding:7px 10px 6px}
.personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-body{height:48px;min-height:48px;overflow:hidden}
.personal-dashboard-tile.dashboard-size-mini .dashboard-mini-summary{height:48px;min-height:48px;padding:5px 10px;gap:1px}
.personal-dashboard-tile.dashboard-size-mini .dashboard-mini-summary strong{font-size:11.5px}
.personal-dashboard-tile.dashboard-size-mini .dashboard-mini-summary small{font-size:9.5px}
.personal-dashboard-tile.dashboard-size-mini .dashboard-mini-kpi strong{font-size:20px}
.dashboard-mini-favorite strong span{font-size:13px}
.dashboard-favorites-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 12px}
.dashboard-favorite-card{min-width:0;border:1px solid #e5eaed;background:#fafcfc;border-radius:10px;padding:9px 10px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;text-align:left;color:inherit;cursor:pointer}
.dashboard-favorite-card:hover{border-color:color-mix(in srgb,var(--accent-color,#d46b1f) 35%,#dfe5e8);background:#fff}
.dashboard-favorite-icon{width:28px;height:28px;border-radius:8px;background:#eef3f5;display:grid;place-items:center;font-size:14px;flex:0 0 auto}
.dashboard-favorite-card>span:last-child,.dashboard-favorite-editor-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.dashboard-favorite-card strong,.dashboard-favorite-editor-copy strong{font-size:11.5px;color:#2d3f47;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-favorite-card small,.dashboard-favorite-editor-copy small{font-size:9.5px;color:#78878e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-favorites-empty{width:100%;min-height:124px;border:0;background:transparent;color:#71818a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer}
.dashboard-favorites-empty:hover{background:#f8fafb}.dashboard-favorites-empty>span{font-size:22px}.dashboard-favorites-empty strong{font-size:12px;color:#42545d}.dashboard-favorites-empty small{font-size:10px}
.dashboard-favorites-box{width:min(900px,calc(100vw - 36px));max-height:min(820px,calc(100vh - 40px))}
.dashboard-favorites-modal-body{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:14px;align-items:start}
.dashboard-favorites-editor-section{min-width:0}.dashboard-favorites-editor-section h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#60717a}
.dashboard-favorites-current,.dashboard-favorites-candidates{border:1px solid #e0e6e9;border-radius:11px;background:#fff;overflow:hidden}
.dashboard-favorite-editor-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border-bottom:1px solid #edf1f3}.dashboard-favorite-editor-row:last-child{border-bottom:0}
.dashboard-favorite-editor-actions{display:flex;gap:5px}.dashboard-favorite-editor-actions .icon-action{width:28px;height:28px}.dashboard-favorite-editor-actions .danger{color:#b42318}
.dashboard-favorite-editor-empty{padding:18px;text-align:center;color:#78878e;font-size:10.5px}
.dashboard-favorite-candidate-section{padding:10px}.dashboard-favorite-candidate-section+section{border-top:1px solid #edf1f3}.dashboard-favorite-candidate-section>strong{display:block;margin-bottom:7px;font-size:10px;color:#697b84}
.dashboard-favorite-candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.dashboard-favorite-candidate-grid button{min-width:0;border:1px solid #e7ecee;border-radius:9px;background:#fafcfc;padding:7px 8px;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px;text-align:left;cursor:pointer;color:inherit}
.dashboard-favorite-candidate-grid button:hover{background:#fff;border-color:color-mix(in srgb,var(--accent-color,#d46b1f) 35%,#dfe5e8)}
.dashboard-favorite-candidate-grid button>span:first-child{font-size:14px;text-align:center}.dashboard-favorite-candidate-grid button>span:last-child{min-width:0;display:flex;flex-direction:column;gap:1px}.dashboard-favorite-candidate-grid b{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-favorite-candidate-grid small{font-size:8.8px;color:#7a8990;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-favorites-modal-body>.dashboard-layout-note{grid-column:1/-1;margin-top:0}
@media(max-width:760px){.personal-dashboard-tile.dashboard-size-mini{height:auto;min-height:94px}.dashboard-favorites-grid,.dashboard-favorite-candidate-grid{grid-template-columns:1fr}.dashboard-favorites-modal-body{grid-template-columns:1fr}}

/* V15.47.4 – Mini = echte halbe Kompaktkachel: Kopf + drei Inhaltszeilen */
.personal-dashboard-tile.dashboard-size-mini{height:198px}
.personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-head{height:48px;box-sizing:border-box;padding:8px 10px 7px}
.personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-body{height:149px;min-height:149px;overflow:hidden}
.dashboard-mini-list{height:149px;display:flex;flex-direction:column;overflow:hidden}
.dashboard-mini-row{height:49.666px;min-height:49.666px;width:100%;display:grid;grid-template-columns:27px minmax(0,1fr);gap:8px;align-items:center;border:0;border-bottom:1px solid #edf1f3;background:transparent;padding:5px 9px;text-align:left;color:inherit;overflow:hidden}
.dashboard-mini-row:last-child{border-bottom:0}
.dashboard-mini-row:hover{background:#f7f9fa}
.dashboard-mini-row-symbol{width:25px;height:25px;border-radius:8px;background:#eef3f5;display:grid;place-items:center;font-size:11px;font-weight:800;color:#53666f;overflow:hidden}
.dashboard-mini-row>span:last-child{min-width:0;display:flex;flex-direction:column;gap:1px}
.dashboard-mini-row strong{font-size:10.5px;line-height:1.2;color:#2b3c45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboard-mini-row small{font-size:9px;line-height:1.2;color:#78878e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.personal-dashboard-tile.dashboard-size-mini .dashboard-mini-summary{height:149px;min-height:149px;padding:12px 10px;justify-content:center;gap:3px}
.personal-dashboard-tile.dashboard-size-mini .dashboard-mini-summary strong{font-size:11.5px}
.personal-dashboard-tile.dashboard-size-mini .dashboard-mini-summary small{font-size:9.5px}
.dashboard-mini-message-kpi strong{color:var(--accent-color,#d46b1f)}
@media(max-width:760px){.personal-dashboard-tile.dashboard-size-mini{height:auto;min-height:198px}.personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-body,.dashboard-mini-list,.personal-dashboard-tile.dashboard-size-mini .dashboard-mini-summary{height:auto;min-height:149px}}

/* V15.47.4 – zusätzliche schmale Dashboard-Kachel für normale Desktopbreiten */
.personal-dashboard-tile.dashboard-size-narrow{grid-column:span 3}
.personal-dashboard-tile.dashboard-size-narrow .personal-dashboard-tile-title small{display:none}
.personal-dashboard-tile.dashboard-size-narrow .dashboard-favorites-grid{grid-template-columns:1fr}
.personal-dashboard-tile.dashboard-size-narrow .dashboard-system-grid{grid-template-columns:1fr}
@media(max-width:1180px){.personal-dashboard-tile.dashboard-size-narrow{grid-column:span 4}}
@media(max-width:760px){.personal-dashboard-tile.dashboard-size-narrow{grid-column:1}}

/* V15.48 – feste Dashboard-Höhen und Fristen & Fälligkeiten */
.personal-dashboard-tile.dashboard-size-narrow,
.personal-dashboard-tile.dashboard-size-small,
.personal-dashboard-tile.dashboard-size-medium,
.personal-dashboard-tile.dashboard-size-wide{
  height:282px;
  display:flex;
  flex-direction:column;
}
.personal-dashboard-tile.dashboard-size-narrow .personal-dashboard-tile-head,
.personal-dashboard-tile.dashboard-size-small .personal-dashboard-tile-head,
.personal-dashboard-tile.dashboard-size-medium .personal-dashboard-tile-head,
.personal-dashboard-tile.dashboard-size-wide .personal-dashboard-tile-head{flex:0 0 auto}
.personal-dashboard-tile.dashboard-size-narrow .personal-dashboard-tile-body,
.personal-dashboard-tile.dashboard-size-small .personal-dashboard-tile-body,
.personal-dashboard-tile.dashboard-size-medium .personal-dashboard-tile-body,
.personal-dashboard-tile.dashboard-size-wide .personal-dashboard-tile-body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  scrollbar-width:thin;
}
.dashboard-deadline-row.deadline-overdue{background:#fff8f7}
.dashboard-deadline-row.deadline-today{background:#fffaf0}
.dashboard-deadline-row.deadline-soon{background:#fffdf7}
.dashboard-deadline-row.deadline-overdue:hover,
.dashboard-deadline-row.deadline-today:hover,
.dashboard-deadline-row.deadline-soon:hover{background:#fff4ef}
.dashboard-deadline-row.deadline-overdue .dashboard-deadline-chip{background:#fde8e8;color:#a52a2a}
.dashboard-deadline-row.deadline-today .dashboard-deadline-chip{background:#fff0d6;color:#965b00}
.dashboard-deadline-row.deadline-soon .dashboard-deadline-chip{background:#fff7df;color:#7a6414}
.dashboard-mini-row.deadline-overdue .dashboard-mini-row-symbol{background:#fde8e8;color:#a52a2a}
.dashboard-mini-row.deadline-today .dashboard-mini-row-symbol{background:#fff0d6;color:#965b00}
.dashboard-mini-row.deadline-soon .dashboard-mini-row-symbol{background:#fff7df;color:#7a6414}
@media(max-width:760px){
  .personal-dashboard-tile.dashboard-size-narrow,
  .personal-dashboard-tile.dashboard-size-small,
  .personal-dashboard-tile.dashboard-size-medium,
  .personal-dashboard-tile.dashboard-size-wide{height:auto;min-height:282px}
  .personal-dashboard-tile.dashboard-size-narrow .personal-dashboard-tile-body,
  .personal-dashboard-tile.dashboard-size-small .personal-dashboard-tile-body,
  .personal-dashboard-tile.dashboard-size-medium .personal-dashboard-tile-body,
  .personal-dashboard-tile.dashboard-size-wide .personal-dashboard-tile-body{overflow:visible}
}

/* V15.48.1 – Favoriten per Drag & Drop sortieren */
.dashboard-favorite-editor-row{grid-template-columns:18px 28px minmax(0,1fr) auto;transition:background .12s ease,opacity .12s ease,box-shadow .12s ease}
.dashboard-favorite-drag-handle{width:18px;color:#8a999f;font-weight:900;letter-spacing:-3px;text-align:center;user-select:none;cursor:grab}
.dashboard-favorite-editor-row.dragging{opacity:.52;background:#f5f8f9;box-shadow:inset 3px 0 0 var(--accent-color,#d46b1f)}
.dashboard-favorite-editor-row.dragging .dashboard-favorite-drag-handle{cursor:grabbing}

/* V15.49 - mandantenbezogene Caption-Overrides */
.caption-page-header{align-items:flex-end;gap:18px}
.caption-language-toolbar{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}
.caption-language-toolbar label{font-size:12px;font-weight:700;color:var(--muted,#64748b);display:block}
.caption-language-toolbar input,.caption-language-toolbar select{width:150px;min-height:36px;border:1px solid var(--border,#d9e2ea);border-radius:8px;padding:7px 10px;background:var(--surface,#fff);color:var(--text,#172b3a)}
.caption-shell{padding:0;overflow:hidden}
.caption-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--border,#e5ebf0)}
.caption-search-wrap{display:flex;align-items:center;gap:8px;min-width:min(520px,70%);border:1px solid var(--border,#d9e2ea);border-radius:9px;padding:0 10px;background:var(--surface,#fff)}
.caption-search-wrap input{border:0;outline:0;width:100%;min-height:36px;background:transparent;color:inherit}
.caption-count{font-size:12px;color:var(--muted,#64748b);white-space:nowrap}
.caption-info-box{margin:12px 16px 0;padding:10px 12px;border:1px solid #cfe0ec;border-radius:9px;background:#f7fbfd;color:#355467;font-size:12px}
.caption-table-wrap{max-height:calc(100vh - 330px);overflow:auto;margin:12px 16px}
.caption-table{min-width:1050px}
.caption-table td{vertical-align:middle}
.caption-table td:first-child strong{display:block;color:var(--text,#172b3a)}
.caption-table td:first-child small{display:block;margin-top:3px;color:var(--muted,#6b7d89)}
.caption-table code{font-size:11px;white-space:nowrap;color:#526a79;background:#f3f6f8;border-radius:5px;padding:3px 5px}
.caption-table input{width:100%;min-width:220px}
.caption-result{font-weight:650;color:#28485b}
.caption-overridden{background:rgba(255,190,60,.06)}
.caption-overridden .caption-result{color:#9a5b00}
.caption-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 16px;border-top:1px solid var(--border,#e5ebf0);background:var(--surface,#fff)}
@media(max-width:900px){.caption-language-toolbar{width:100%}.caption-search-wrap{min-width:0;flex:1}.caption-toolbar{align-items:stretch;flex-direction:column}.caption-table-wrap{max-height:none}.caption-footer{position:sticky;bottom:0}}

/* V15.55 – optionaler mandantenbezogener Dashboard-Hintergrund */
.design-dashboard-card{grid-column:1/-1}.design-dashboard-subtitle{margin:-5px 0 14px}.design-dashboard-layout{display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(360px,.85fr);gap:18px;align-items:stretch}.dashboard-background-preview{--dashboard-preview-tile-opacity:92%;--dashboard-preview-overlay:.14;position:relative;min-height:280px;border:1px solid var(--border);border-radius:14px;overflow:hidden;background-color:var(--dashboard-preview-bg,var(--bg));background-size:cover;background-position:center;background-repeat:no-repeat;padding:18px;display:flex;flex-direction:column;gap:16px;isolation:isolate}.dashboard-background-preview::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,var(--dashboard-preview-overlay));z-index:-1;pointer-events:none}.dashboard-background-preview.no-image::before{background:linear-gradient(135deg,color-mix(in srgb,var(--dashboard-preview-primary,var(--primary)) 7%,var(--dashboard-preview-bg,var(--bg))),var(--bg))}.dashboard-background-preview-title{align-self:flex-start;padding:8px 11px;border-radius:10px;background:color-mix(in srgb,var(--dashboard-preview-surface,var(--surface)) 90%,transparent);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);font-size:13px;font-weight:800;color:var(--dashboard-preview-text,var(--text));box-shadow:0 2px 8px rgba(20,35,45,.08)}.dashboard-background-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;flex:1}.dashboard-background-preview-tile{min-height:88px;border:1px solid color-mix(in srgb,var(--dashboard-preview-surface,var(--surface)) 72%,transparent);border-radius:12px;background:color-mix(in srgb,var(--dashboard-preview-surface,var(--surface)) var(--dashboard-preview-tile-opacity),transparent);backdrop-filter:blur(5px) saturate(110%);-webkit-backdrop-filter:blur(5px) saturate(110%);box-shadow:0 4px 14px rgba(20,35,45,.09);padding:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;color:var(--dashboard-preview-text,var(--text))}.dashboard-background-preview-tile.wide{grid-column:1/-1}.dashboard-background-preview-tile strong{font-size:12px}.dashboard-background-preview-tile span{font-size:18px}.dashboard-background-preview-empty{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:8px 11px;border-radius:999px;background:color-mix(in srgb,var(--dashboard-preview-surface,var(--surface)) 90%,transparent);font-size:11px;color:var(--muted);box-shadow:0 2px 8px rgba(20,35,45,.06)}.dashboard-background-preview:not(.no-image) .dashboard-background-preview-empty{display:none}.design-dashboard-controls{display:flex;flex-direction:column;gap:14px}.design-dashboard-enable{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--border);border-radius:12px;padding:12px 13px;background:color-mix(in srgb,var(--surface) 92%,var(--bg));cursor:pointer}.design-dashboard-enable input{width:17px;height:17px;margin-top:2px;accent-color:var(--primary)}.design-dashboard-enable>span{display:flex;flex-direction:column;gap:3px}.design-dashboard-enable strong{font-size:12px}.design-dashboard-enable small{font-size:10.5px;color:var(--muted);line-height:1.4}.design-dashboard-upload-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.design-dashboard-upload-row .form-group{flex:1 1 260px;margin:0}.design-dashboard-url{margin:0}.design-dashboard-range-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.design-dashboard-range-grid .form-group{margin:0}.design-dashboard-range-grid label{display:flex;justify-content:space-between;gap:10px}.design-dashboard-range-grid label b{font-variant-numeric:tabular-nums;color:var(--primary)}.design-dashboard-range-grid input[type=range]{width:100%;accent-color:var(--primary)}

#page-dashboard.dashboard-background-active{--dashboard-tile-opacity:92%;--dashboard-overlay-opacity:.14;box-sizing:border-box;width:calc(100% + 40px);min-height:calc(100vh - 52px);margin:-18px -20px;padding:18px 20px 32px;background-image:linear-gradient(rgba(0,0,0,var(--dashboard-overlay-opacity)),rgba(0,0,0,var(--dashboard-overlay-opacity))),var(--dashboard-background-image);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}
#page-dashboard.dashboard-background-active .dashboard-page-header{padding:12px 14px;margin:-2px 0 14px;border:1px solid color-mix(in srgb,var(--surface) 65%,transparent);border-radius:14px;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(6px) saturate(110%);-webkit-backdrop-filter:blur(6px) saturate(110%);box-shadow:0 3px 14px rgba(18,33,43,.08)}
#page-dashboard.dashboard-background-active .personal-dashboard-tile{background:color-mix(in srgb,var(--surface) var(--dashboard-tile-opacity),transparent);border-color:color-mix(in srgb,var(--surface) 66%,var(--border));backdrop-filter:blur(6px) saturate(110%);-webkit-backdrop-filter:blur(6px) saturate(110%);box-shadow:0 5px 18px rgba(15,29,40,.11)}
#page-dashboard.dashboard-background-active .personal-dashboard-tile-head{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 94%,transparent),color-mix(in srgb,var(--surface) 86%,transparent));border-bottom-color:color-mix(in srgb,var(--border) 65%,transparent)}
#page-dashboard.dashboard-background-active .dashboard-celebration,#page-dashboard.dashboard-background-active .dashboard-no-tiles{background:color-mix(in srgb,var(--surface) 90%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
@media(max-width:900px){.design-dashboard-layout{grid-template-columns:1fr}.design-dashboard-range-grid{grid-template-columns:1fr}}
@media(max-width:760px){#page-dashboard.dashboard-background-active{background-attachment:scroll}.dashboard-background-preview{min-height:240px}}

/* V15.55.1 – ruhigere, einheitliche Breiten für farbige Tabellen-Badges */
:root {
  --mq-table-badge-width: 104px;
  --mq-table-type-badge-width: 168px;
}

/*
 * Farbige Zustands-/Kategorie-Badges sollen in Listen nicht je nach Wortlänge
 * optisch springen. Kurze Texte erhalten deshalb ein gemeinsames Grundmaß;
 * längere Übersetzungen dürfen weiterhin wachsen und werden nicht abgeschnitten.
 */
table td > .tag:only-child,
table td > .order-status:only-child,
table td > .complaint-status:only-child,
table td > .calendar-status-pill:only-child,
table td > .message-status-pill:only-child,
table td > .workspace-window-status:only-child,
table td > .platform-system-badge:only-child,
table td > .status-badge:only-child {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  min-width:var(--mq-table-badge-width);
  text-align:center;
}

/* Fachliche Typ-/Kategorie-Pills sind meist etwas länger als reine Statuswerte. */
.order-type-pill,
.calendar-type-pill,
.complaint-type-tag {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  min-width:var(--mq-table-type-badge-width);
  text-align:center;
}

/* Mobile Tabellen sollen trotz der Mindestbreiten horizontal sauber scrollbar bleiben. */
@media (max-width:760px) {
  :root {
    --mq-table-badge-width: 92px;
    --mq-table-type-badge-width: 148px;
  }
}

/* V15.55.2 – Dashboard: innere Zeilen bei Hintergrundbild einheitlich transparent */
#page-dashboard.dashboard-background-active .dashboard-list-row,
#page-dashboard.dashboard-background-active .dashboard-mini-row,
#page-dashboard.dashboard-background-active .dashboard-mini-summary,
#page-dashboard.dashboard-background-active .dashboard-favorite-card,
#page-dashboard.dashboard-background-active .dashboard-system-grid > span,
#page-dashboard.dashboard-background-active .dashboard-favorites-empty,
#page-dashboard.dashboard-background-active .dashboard-deadline-row.deadline-overdue,
#page-dashboard.dashboard-background-active .dashboard-deadline-row.deadline-today,
#page-dashboard.dashboard-background-active .dashboard-deadline-row.deadline-soon {
  background:transparent;
}

/* Hover bleibt sichtbar, ohne wieder eine deckende weiße Fläche einzuziehen. */
#page-dashboard.dashboard-background-active .dashboard-list-row:hover:not(:disabled),
#page-dashboard.dashboard-background-active .dashboard-mini-row:hover,
#page-dashboard.dashboard-background-active .dashboard-mini-clickable:hover,
#page-dashboard.dashboard-background-active .dashboard-favorite-card:hover,
#page-dashboard.dashboard-background-active .dashboard-favorites-empty:hover,
#page-dashboard.dashboard-background-active .dashboard-deadline-row.deadline-overdue:hover,
#page-dashboard.dashboard-background-active .dashboard-deadline-row.deadline-today:hover,
#page-dashboard.dashboard-background-active .dashboard-deadline-row.deadline-soon:hover {
  background:color-mix(in srgb,var(--surface) 38%,transparent);
}

/* Innere Favoriten- und Systemboxen sollen optisch Teil derselben Glasscheibe sein. */
#page-dashboard.dashboard-background-active .dashboard-favorite-card,
#page-dashboard.dashboard-background-active .dashboard-system-grid > span {
  border-color:color-mix(in srgb,var(--border) 62%,transparent);
}


/* V15.56: auswählbare Strategie für gleichzeitige Bearbeitung */
.sys-concurrency-mode-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.sys-concurrency-mode-card { min-height:112px; align-items:flex-start; }
.sys-concurrency-mode-card:has(input:checked) { border-color:color-mix(in srgb,var(--primary) 65%,var(--border)); box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent); background:color-mix(in srgb,var(--primary) 5%,var(--surface)); }
.sys-concurrency-mode-card input[type="radio"] { margin-top:2px; flex:0 0 auto; }
.exclusive-edit-locked .modal-body input:disabled,
.exclusive-edit-locked .modal-body select:disabled,
.exclusive-edit-locked .modal-body textarea:disabled,
.exclusive-edit-locked .modal-footer button:disabled { opacity:.72; cursor:not-allowed; }
.object-presence-chip.locked { background:color-mix(in srgb,#d89b00 11%,var(--surface)); border-color:color-mix(in srgb,#d89b00 36%,var(--border)); white-space:normal; }
.object-presence-chip.locked i { background:#d89b00; }
@media (max-width:900px){ .sys-concurrency-mode-grid { grid-template-columns:1fr; } }
#sys-collaboration-info-text { margin-left:4px; }


/* V15.57 – UI-Rundgang: Badges, Fuhrpark, Restriktionen und Benutzerliste */
/* Lange Reklamationsarten dürfen umbrechen, der farbige Hintergrund umschließt den Text vollständig. */
.complaint-table .complaint-type-tag{
  max-width:260px;
  padding-inline:10px;
  border-radius:12px;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.25;
}

/* Gemeinsame Grundform für operative Status-Badges, insbesondere Container-/Fuhrparkortung. */
.status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  border-radius:999px;
  padding:3px 9px;
  font-size:var(--font-size-small);
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
  text-align:center;
}

/* Die Konsequenz in Restriktionen soll typografisch nicht kräftiger/größer wirken als andere Listen-Badges. */
.restriction-consequence{font-size:var(--font-size-small)}

/* Benutzerverwaltung erhält Stammdaten-typische Filterzeile, ohne die vorhandenen Schriftgrößen zu verändern. */
.user-management-table{min-width:1180px}
.user-management-table th,.user-management-table td{vertical-align:middle}
.user-management-table .master-sort-button{font-size:inherit}
.user-management-table .user-filter-row th{padding-top:6px;padding-bottom:6px}
.user-management-table .user-filter-row input,.user-management-table .user-filter-row select{border-radius:7px}

/* V15.57.1 – Containerstatus in Verwaltung und Ortung identisch darstellen. */
.container-status-badge{
  text-transform:uppercase;
  letter-spacing:.03em;
  font-size:var(--font-size-caption);
}


/* V15.57.4 – eine semantische Grün-Palette für positive Aussagen */
/* Fuhrpark-„Verfügbar“ ist die Referenz: helles Grün + ruhiger dunkelgrüner Text. */
.semantic-positive-badge{
  background:var(--positive-bg) !important;
  color:var(--positive-text) !important;
  border-color:var(--positive-border) !important;
}

/* V15.58 – Persönliche Workspaces */
.user-workspaces-modal-box{width:min(1040px,calc(100vw - 32px));max-height:min(900px,calc(100vh - 32px));}
.user-workspaces-modal-body{display:flex;flex-direction:column;gap:16px;}
.user-workspace-manager-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:2px 0 6px;}
.user-workspace-manager-note{max-width:700px;color:var(--text-muted,#64748b);font-size:.88rem;line-height:1.45;}
.user-workspace-list{display:flex;flex-direction:column;gap:10px;min-height:120px;}
.user-workspace-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border,#e2e8f0);border-radius:14px;background:var(--surface,#fff);}
.user-workspace-card-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#eef2ff;color:#3730a3;font-size:1.1rem;}
.user-workspace-card-copy{min-width:0;display:flex;flex-direction:column;gap:3px;}
.user-workspace-card-copy strong{font-size:.96rem;color:var(--text,#0f172a);}
.user-workspace-card-copy span{font-size:.82rem;color:var(--text-muted,#64748b);}
.user-workspace-card-copy small{font-size:.76rem;color:var(--text-muted,#64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.user-workspace-card-actions{display:flex;align-items:center;gap:8px;}
.user-workspace-delete,.user-workspace-remove{min-width:34px;color:#991b1b;}
.user-workspace-empty{min-height:150px;border:1px dashed var(--border,#cbd5e1);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;color:var(--text-muted,#64748b);padding:24px;}
.user-workspace-empty>span{font-size:1.6rem;}
.user-workspace-empty strong{color:var(--text,#0f172a);font-size:.98rem;}
.user-workspace-empty small{max-width:560px;line-height:1.45;}

.user-workspace-editor-modal-box{width:min(980px,calc(100vw - 32px));max-height:min(920px,calc(100vh - 32px));}
.user-workspace-editor-body{display:flex;flex-direction:column;gap:14px;overflow:auto;}
.user-workspace-name-field{max-width:520px;}
.user-workspace-editor-rule{display:flex;flex-direction:column;gap:3px;padding:11px 13px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;}
.user-workspace-editor-rule strong{font-size:.84rem;color:#334155;}
.user-workspace-editor-rule span{font-size:.8rem;color:#64748b;line-height:1.4;}
.user-workspace-editor-items{display:flex;flex-direction:column;gap:8px;}
.user-workspace-editor-empty{padding:22px;border:1px dashed #cbd5e1;border-radius:12px;text-align:center;color:#64748b;font-size:.86rem;}
.user-workspace-editor-row{display:grid;grid-template-columns:38px minmax(180px,1fr) minmax(190px,220px) auto;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;}
.user-workspace-editor-handle{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f1f5f9;font-size:1.05rem;}
.user-workspace-editor-copy{display:flex;flex-direction:column;min-width:0;gap:2px;}
.user-workspace-editor-copy strong{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.user-workspace-editor-copy small{font-size:.75rem;color:#64748b;}
.user-workspace-mode-field{display:flex;flex-direction:column;gap:4px;font-size:.72rem;color:#64748b;}
.user-workspace-mode-field select,.user-workspace-add-row select{width:100%;min-height:36px;border-radius:9px;border:1px solid #cbd5e1;background:#fff;padding:6px 9px;color:#0f172a;}
.user-workspace-order-actions{display:flex;align-items:center;gap:5px;}
.user-workspace-add-row{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:end;padding-top:4px;}

/* V15.58.1 – Workspace-Kachel verwendet dieselbe Zeilenoptik wie die übrigen Dashboard-Listen. */
.dashboard-workspace-list{display:flex;flex-direction:column;}
.dashboard-workspace-row{grid-template-columns:34px minmax(0,1fr) auto;}
.dashboard-workspace-row-open{font-size:10.5px;line-height:1.2;color:#647780;font-weight:650;white-space:nowrap;padding-left:8px;}
.dashboard-workspace-empty{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:8px 2px;color:#64748b;font-size:.8rem;}
.dashboard-workspace-empty button{margin-top:2px;}
.dashboard-mini-workspace .dashboard-mini-row-symbol{font-size:.95rem;}

@media(max-width:760px){
  .user-workspace-manager-toolbar{align-items:stretch;flex-direction:column;}
  .user-workspace-card{grid-template-columns:38px minmax(0,1fr);}
  .user-workspace-card-actions{grid-column:1/-1;justify-content:flex-end;}
  .user-workspace-editor-row{grid-template-columns:34px minmax(0,1fr);}
  .user-workspace-mode-field,.user-workspace-order-actions{grid-column:2;}
  .user-workspace-add-row{grid-template-columns:1fr;}
}

/* V15.58.6 – mathematisches Dashboard-Raster
   Ein Schmal-Modul ist die Basiseinheit. Kompakt = 2× Schmal,
   Mittel = 3× Schmal, Breit = 4× Schmal, Mini = 1/2× Schmal. */
.personal-dashboard-grid{
  grid-template-columns:repeat(24,minmax(0,1fr));
}
.personal-dashboard-tile.dashboard-size-mini{grid-column:span 3}
.personal-dashboard-tile,
.personal-dashboard-tile.dashboard-size-narrow{grid-column:span 6}
.personal-dashboard-tile.dashboard-size-small{grid-column:span 12}
.personal-dashboard-tile.dashboard-size-medium{grid-column:span 18}
.personal-dashboard-tile.dashboard-size-wide{grid-column:span 24}

/* Mini unterscheidet sich von Schmal nur in der Breite. Die Rasterhöhe ist identisch. */
.personal-dashboard-tile.dashboard-size-mini{
  height:282px;
  display:flex;
  flex-direction:column;
}
.personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-head{
  flex:0 0 auto;
}
.personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-body{
  height:auto;
  min-height:0;
  flex:1 1 auto;
  overflow:hidden;
}
.personal-dashboard-tile.dashboard-size-mini .dashboard-mini-list{
  height:100%;
  min-height:0;
}
.personal-dashboard-tile.dashboard-size-mini .dashboard-mini-row{
  height:auto;
  min-height:0;
  flex:1 1 0;
}
.personal-dashboard-tile.dashboard-size-mini .dashboard-mini-summary{
  height:100%;
  min-height:0;
}

@media(max-width:1180px){
  .personal-dashboard-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
  .personal-dashboard-tile.dashboard-size-mini{grid-column:span 3}
  .personal-dashboard-tile,
  .personal-dashboard-tile.dashboard-size-narrow{grid-column:span 6}
  .personal-dashboard-tile.dashboard-size-small,
  .personal-dashboard-tile.dashboard-size-medium,
  .personal-dashboard-tile.dashboard-size-wide{grid-column:span 12}
}
@media(max-width:760px){
  .personal-dashboard-grid{grid-template-columns:1fr}
  .personal-dashboard-tile,
  .personal-dashboard-tile.dashboard-size-mini,
  .personal-dashboard-tile.dashboard-size-narrow,
  .personal-dashboard-tile.dashboard-size-small,
  .personal-dashboard-tile.dashboard-size-medium,
  .personal-dashboard-tile.dashboard-size-wide{
    grid-column:1;
    height:auto;
    min-height:282px;
  }
  .personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-body,
  .personal-dashboard-tile.dashboard-size-mini .dashboard-mini-list,
  .personal-dashboard-tile.dashboard-size-mini .dashboard-mini-summary{
    height:auto;
    min-height:0;
  }
}

/* V15.58.7 – Dashboard-Kachelköpfe typografisch vereinheitlicht
   Referenz ist der bisherige kompakte Kopf von „Meine Favoriten“. */
.personal-dashboard-tile-head,
.personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-head,
.personal-dashboard-tile.dashboard-size-narrow .personal-dashboard-tile-head,
.personal-dashboard-tile.dashboard-size-small .personal-dashboard-tile-head,
.personal-dashboard-tile.dashboard-size-medium .personal-dashboard-tile-head,
.personal-dashboard-tile.dashboard-size-wide .personal-dashboard-tile-head{
  height:48px;
  min-height:48px;
  box-sizing:border-box;
  padding:8px 10px 7px;
  gap:8px;
}
.personal-dashboard-tile-title,
.personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-title{gap:8px}
.personal-dashboard-tile-title>span:last-child{justify-content:center}
.personal-dashboard-tile-title strong,
.personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-title strong{
  font-size:11.5px;
  line-height:1.2;
  font-weight:700;
}
.personal-dashboard-tile-icon,
.personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-icon{
  width:27px;
  height:27px;
  border-radius:8px;
  font-size:14px;
}
/* Erklärtexte gehören in „Dashboard anpassen“, nicht in den Kachelkopf. */
.personal-dashboard-tile-head .personal-dashboard-tile-title small{display:none}



/* V15.58.9 – einheitlicher vertikaler Dashboard-Rhythmus
   282 px Kachelhöhe - 2 px Außenrand - 48 px Kopf = 232 px Inhalt.
   Fünf Inhaltszeilen teilen diesen Bereich exakt: 232 / 5 = 46,4 px. */
:root{
  --dashboard-content-row-height:46.4px;
}

/* Alle listenartigen Dashboard-Inhalte folgen derselben Zeilenhöhe. */
.personal-dashboard-tile-body .dashboard-list-row,
.personal-dashboard-tile-body .dashboard-mini-row,
.personal-dashboard-tile-body .dashboard-favorite-card{
  height:var(--dashboard-content-row-height);
  min-height:var(--dashboard-content-row-height);
  max-height:var(--dashboard-content-row-height);
}
.personal-dashboard-tile-body .dashboard-list-row{
  padding:4px 12px;
  gap:9px;
}
.dashboard-message-list .dashboard-list-row{
  padding-top:4px;
  padding-bottom:4px;
}

/* Die Nachrichten-KPI belegt ebenfalls genau eine Inhaltszeile. */
.dashboard-message-count,
.dashboard-message-clear{
  height:var(--dashboard-content-row-height);
  min-height:var(--dashboard-content-row-height);
  padding:5px 12px;
  display:flex;
  align-items:center;
}
.dashboard-message-count{gap:8px;}
.dashboard-message-count strong{font-size:24px;}
.dashboard-message-clear{justify-content:flex-start;}

/* Mini ist nur schmaler, nicht luftiger: bis zu fünf Zeilen sind sofort sichtbar,
   weitere Inhalte scrollen innerhalb der Kachel. */
.personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-body{
  overflow:auto;
  scrollbar-width:thin;
}
.personal-dashboard-tile.dashboard-size-mini .dashboard-mini-list{
  height:auto;
  min-height:100%;
  overflow:visible;
}
.personal-dashboard-tile.dashboard-size-mini .dashboard-mini-row{
  flex:0 0 var(--dashboard-content-row-height);
  padding:4px 9px;
}

/* Favoriten verwenden denselben vertikalen Rhythmus wie Termine, Lifefeed,
   Workspaces, Fristen und zuletzt bearbeitete Objekte. */
.dashboard-favorites-grid{
  gap:0;
  padding:0;
}
.dashboard-favorite-card{
  border:0;
  border-bottom:1px solid #edf1f3;
  border-radius:0;
  padding:4px 12px;
  grid-template-columns:34px minmax(0,1fr);
  gap:9px;
}
.dashboard-favorite-card:nth-child(odd){border-right:1px solid #edf1f3;}
.dashboard-favorite-card:hover{
  border-color:#edf1f3;
  background:#f7f9fa;
}
.personal-dashboard-tile.dashboard-size-narrow .dashboard-favorite-card:nth-child(odd){border-right:0;}

/* In der Glasdarstellung bleiben die Trennlinien dezent und transparent. */
#page-dashboard.dashboard-background-active .dashboard-favorite-card{
  border-bottom-color:color-mix(in srgb,var(--border) 62%,transparent);
}
#page-dashboard.dashboard-background-active .dashboard-favorite-card:nth-child(odd){
  border-right-color:color-mix(in srgb,var(--border) 62%,transparent);
}
@media(max-width:760px){
  .personal-dashboard-tile.dashboard-size-mini .personal-dashboard-tile-body{overflow:visible;}
  .personal-dashboard-tile-body .dashboard-list-row,
  .personal-dashboard-tile-body .dashboard-mini-row,
  .personal-dashboard-tile-body .dashboard-favorite-card{
    height:auto;
    min-height:var(--dashboard-content-row-height);
    max-height:none;
  }
}

/* V15.59 – Live-Vorschau in „Dashboard anpassen“
   Die Vorschau bildet das 24-Spalten-Raster proportional ab, ohne das echte
   Dashboard unter dem modalen Editor freilegen zu müssen. */
.dashboard-layout-box{
  width:min(1180px,calc(100vw - 36px));
  max-height:min(820px,calc(100vh - 40px));
}
.dashboard-layout-modal-body{padding-bottom:12px}
.dashboard-layout-editor-shell{
  display:grid;
  grid-template-columns:minmax(520px,1fr) minmax(360px,430px);
  gap:16px;
  align-items:start;
}
.dashboard-layout-editor-main{min-width:0}
.dashboard-layout-preview-pane{
  position:sticky;
  top:76px;
  min-width:0;
  border:1px solid #e0e6e9;
  border-radius:12px;
  overflow:hidden;
  background:#f8fafb;
}
.dashboard-layout-preview-head{
  min-height:52px;
  box-sizing:border-box;
  padding:10px 12px 9px;
  border-bottom:1px solid #e7ecef;
  background:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
}
.dashboard-layout-preview-head strong{font-size:12px;color:#2d3f47}
.dashboard-layout-preview-head small{font-size:9.5px;line-height:1.3;color:#74838b}
.dashboard-layout-preview-stage{
  --dashboard-layout-preview-tile-opacity:94%;
  --dashboard-layout-preview-overlay:.12;
  position:relative;
  min-height:386px;
  padding:10px;
  background:#edf2f4;
  background-size:cover;
  background-position:center;
  overflow:hidden;
}
.dashboard-layout-preview-stage.with-background{
  background-image:
    linear-gradient(rgba(0,0,0,var(--dashboard-layout-preview-overlay)),rgba(0,0,0,var(--dashboard-layout-preview-overlay))),
    var(--dashboard-layout-preview-image);
}
.dashboard-layout-preview-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(24,minmax(0,1fr));
  gap:5px;
  align-items:start;
}
.dashboard-layout-preview-tile{
  grid-column:span var(--dashboard-layout-preview-span);
  height:76px;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(210,220,225,.95);
  border-radius:7px;
  background:rgba(255,255,255,.96);
  box-shadow:0 2px 7px rgba(25,43,54,.08);
}
.dashboard-layout-preview-stage.with-background .dashboard-layout-preview-tile{
  background:color-mix(in srgb,var(--surface,#fff) var(--dashboard-layout-preview-tile-opacity),transparent);
  border-color:color-mix(in srgb,var(--surface,#fff) 66%,var(--border,#dfe5e8));
  backdrop-filter:blur(3px) saturate(105%);
  -webkit-backdrop-filter:blur(3px) saturate(105%);
}
.dashboard-layout-preview-tile-head{
  height:24px;
  padding:3px 5px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  gap:4px;
  border-bottom:1px solid rgba(225,232,235,.95);
  background:rgba(250,252,252,.88);
}
.dashboard-layout-preview-tile-head>span{
  width:15px;
  height:15px;
  flex:0 0 15px;
  display:grid;
  place-items:center;
  border-radius:5px;
  background:#eef3f5;
  font-size:8px;
}
.dashboard-layout-preview-tile-head strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:7.5px;
  line-height:1;
  color:#2d3f47;
}
.dashboard-layout-preview-tile-body{
  height:52px;
  padding:5px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.dashboard-layout-preview-tile-body i{
  display:block;
  height:5px;
  border-radius:4px;
  background:rgba(105,125,136,.14);
}
.dashboard-layout-preview-tile-body i:nth-child(2){width:78%}
.dashboard-layout-preview-tile-body i:nth-child(3){width:90%}
.dashboard-layout-preview-tile-body i:nth-child(4){width:62%}
.dashboard-layout-preview-size-mini .dashboard-layout-preview-tile-head{justify-content:center;padding-left:2px;padding-right:2px}
.dashboard-layout-preview-size-mini .dashboard-layout-preview-tile-head strong{display:none}
.dashboard-layout-preview-size-mini .dashboard-layout-preview-tile-body{padding-left:3px;padding-right:3px}
.dashboard-layout-preview-size-mini .dashboard-layout-preview-tile-body i:nth-child(n+3){display:none}
.dashboard-layout-preview-size-narrow .dashboard-layout-preview-tile-head strong{font-size:7px}
.dashboard-layout-preview-empty{
  grid-column:1/-1;
  min-height:110px;
  border:1px dashed rgba(120,140,150,.45);
  border-radius:8px;
  background:rgba(255,255,255,.72);
  display:grid;
  place-items:center;
  padding:12px;
  color:#708089;
  font-size:10px;
  text-align:center;
}
@media(max-width:980px){
  .dashboard-layout-box{width:min(820px,calc(100vw - 28px))}
  .dashboard-layout-editor-shell{grid-template-columns:1fr}
  .dashboard-layout-preview-pane{position:static;order:-1}
  .dashboard-layout-preview-stage{min-height:260px}
}
@media(max-width:760px){
  .dashboard-layout-box{width:calc(100vw - 18px)}
  .dashboard-layout-preview-stage{display:none}
  .dashboard-layout-preview-head{border-bottom:0}
}

/* V15.60 – Disposition „Nach Fahrer“ + Dispo-Gruppen */
.dispatch-page-header{align-items:flex-end}.dispatch-header-actions{display:flex;gap:8px}.dispatch-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) auto minmax(180px,240px) auto auto;gap:10px;align-items:end;padding:10px 12px;margin-bottom:10px}.dispatch-search-wrap{height:36px;border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;gap:8px;padding:0 11px;background:var(--surface)}.dispatch-search-wrap input{border:0!important;padding:0!important;box-shadow:none!important;background:transparent!important;width:100%;height:auto!important}.dispatch-view-switch{align-self:center}.dispatch-filter{display:grid;gap:4px;font-size:11px;color:var(--text-soft)}.dispatch-filter select,.dispatch-date-nav input{height:36px;border:1px solid var(--border);border-radius:11px;background:var(--surface);padding:0 10px}.dispatch-date-nav{display:flex;gap:6px;align-items:center}.dispatch-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}.dispatch-kpi{border:1px solid var(--border);border-top:2px solid #94a3b8;border-radius:14px;background:var(--surface);padding:10px 13px;display:flex;align-items:baseline;justify-content:space-between;min-height:58px}.dispatch-kpi:nth-child(2){border-top-color:#f59e0b}.dispatch-kpi:nth-child(3){border-top-color:#3b82f6}.dispatch-kpi.positive{border-top-color:#22c55e}.dispatch-kpi span{font-size:11px;color:var(--text-soft)}.dispatch-kpi strong{font-size:22px}.dispatch-board-shell{padding:0;overflow:hidden}.dispatch-board{display:flex;align-items:stretch;height:clamp(460px,calc(100vh - 310px),760px);min-height:0;overflow-x:auto;overflow-y:hidden;background:#f8fafc}.dispatch-driver-lanes{display:flex;align-items:stretch;height:100%;position:relative;z-index:1}.dispatch-lane{flex:0 0 280px;min-width:280px;height:100%;min-height:0;border-right:1px solid var(--border);background:rgba(255,255,255,.78);display:flex;flex-direction:column}/* V15.63.1 – Die beiden Planungspools bleiben beim horizontalen Scrollen der Fahrer sichtbar. */
.dispatch-pool-lane{--dispatch-pool-width:300px;flex-basis:var(--dispatch-pool-width);min-width:var(--dispatch-pool-width);position:sticky;z-index:10;background:#fff}
.dispatch-pool-lane.orders{left:0;border-top:3px solid #64748b}
.dispatch-pool-lane.unassigned{left:var(--dispatch-pool-width);border-top:3px solid #f59e0b;box-shadow:8px 0 14px -12px rgba(15,23,42,.5)}.dispatch-driver-lane{border-top:3px solid #3b82f6}.dispatch-driver-lane.is-absent{border-top-color:#ef4444;background:#fff7f7}.dispatch-lane>header{position:sticky;top:0;z-index:12;flex:0 0 78px;min-height:78px;padding:10px 12px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.97);box-shadow:0 2px 5px rgba(15,23,42,.05)}.dispatch-lane>header>div:first-child{display:flex;gap:7px;align-items:center}.dispatch-lane>header small{display:block;margin-top:4px;color:var(--text-soft);font-size:10px}.dispatch-count{display:inline-grid;place-items:center;min-width:21px;height:21px;border-radius:999px;background:#334155;color:#fff;font-size:10px}.dispatch-lane-body{flex:1 1 0;min-height:0;padding:8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.dispatch-lane-body>.dispatch-card,.dispatch-lane-body>.dispatch-empty,.dispatch-lane-body>.dispatch-drop-hint{flex:0 0 auto}.dispatch-card{border:1px solid #dbe3eb;border-radius:12px;background:#fff;padding:9px;box-shadow:0 2px 7px rgba(15,23,42,.04);cursor:default}.dispatch-card[draggable="true"]{cursor:grab}.dispatch-card.dragging{opacity:.45}.dispatch-card-top{display:flex;justify-content:space-between;gap:7px;align-items:flex-start}.dispatch-card-top strong{font-size:11px}.dispatch-type-pill,.dispatch-duration{display:inline-flex;align-items:center;border-radius:999px;padding:2px 6px;font-size:9px;line-height:1.2;white-space:nowrap}.dispatch-type-pill{background:#eef2ff;color:#3730a3}.dispatch-duration{background:#f1f5f9;color:#475569}.dispatch-card-title{font-size:11px;font-weight:700;margin-top:6px}.dispatch-card-meta,.dispatch-card-time{font-size:9.5px;color:var(--text-soft);margin-top:3px}.dispatch-card-time{color:#1d4ed8}.dispatch-card-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:7px}.btn-xs{height:26px!important;padding:0 8px!important;font-size:10px!important}.dispatch-leg-flow{display:flex;align-items:center;gap:3px;flex-wrap:wrap;margin-top:7px}.dispatch-leg-chip{font-size:9px;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;padding:2px 5px;white-space:nowrap}.dispatch-leg-arrow{color:#94a3b8;font-size:10px}.dispatch-unassign-link{margin-top:7px;border:0;background:transparent;padding:0;color:#64748b;font-size:9px;text-decoration:underline;cursor:pointer}.dispatch-driver-name{justify-content:space-between!important}.dispatch-driver-absence{font-size:9px;border-radius:999px;padding:2px 6px;background:#fee2e2;color:#991b1b}.dispatch-driver-load{display:block;margin-top:6px;font-size:9px;color:#475569}.dispatch-driver-load.over{color:#b91c1c;font-weight:700}.dispatch-load-bar{height:3px;background:#e2e8f0}.dispatch-load-bar span{display:block;height:100%;background:#22c55e}.dispatch-driver-load.over+.dispatch-load-bar span{background:#ef4444}.dispatch-drop-hint,.dispatch-empty{border:1px dashed #cbd5e1;border-radius:10px;padding:14px 8px;text-align:center;color:#94a3b8;font-size:10px}.dispatch-lane.drag-over,.dispatch-driver-lane.drag-over{background:#eff6ff}.dispatch-no-drivers{min-width:420px;display:grid;place-content:center;text-align:center;color:#64748b;padding:30px}.dispatch-no-drivers span{font-size:11px;margin-top:4px}.dispatch-groups-box{width:min(1120px,94vw);height:min(760px,88vh);display:flex;flex-direction:column}.dispatch-groups-body{display:grid;grid-template-columns:280px 1fr;gap:0;padding:0!important;min-height:0;flex:1}.dispatch-group-list-pane{border-right:1px solid var(--border);padding:14px;background:#f8fafc;overflow:auto}.dispatch-group-pane-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.dispatch-group-list{display:grid;gap:6px}.dispatch-group-list-item{width:100%;display:grid;grid-template-columns:20px 1fr auto;gap:7px;align-items:center;text-align:left;border:1px solid transparent;background:transparent;border-radius:10px;padding:9px;cursor:pointer;color:inherit}.dispatch-group-list-item:hover{background:#fff}.dispatch-group-list-item.active{background:#fff;border-color:#cbd5e1;box-shadow:0 2px 8px rgba(15,23,42,.05)}.dispatch-group-list-item small{font-size:9px;color:#64748b}.dispatch-group-editor-pane{padding:16px;overflow:auto}.dispatch-group-meta{display:grid;grid-template-columns:minmax(280px,1fr) auto auto;gap:12px;align-items:end;margin-bottom:16px}.dispatch-group-meta .check-row{height:40px;align-items:center}.dispatch-group-dnd-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dispatch-group-dnd-column{border:1px solid var(--border);border-radius:14px;min-height:420px;background:#fafafa;overflow:hidden}.dispatch-group-dnd-column.assigned{background:#f8fbff}.dispatch-group-dnd-head{padding:10px 12px;border-bottom:1px solid var(--border);background:#fff}.dispatch-group-dnd-head small{display:block;font-size:9.5px;color:#64748b;margin-top:2px}.dispatch-driver-pool{padding:8px;display:grid;gap:6px;align-content:start;min-height:360px}.dispatch-driver-pool.drag-over{background:#eff6ff}.dispatch-group-driver-card{display:grid;grid-template-columns:18px 1fr auto;gap:8px;align-items:center;border:1px solid #dbe3eb;border-radius:10px;background:#fff;padding:8px;cursor:grab}.dispatch-group-driver-card strong{font-size:11px}.dispatch-group-driver-card small{display:block;font-size:9px;color:#64748b;margin-top:2px}.dispatch-grip{color:#94a3b8}.dispatch-member-check{color:#166534;background:#dcfce7;border-radius:999px;width:22px;height:22px;display:grid;place-items:center}.empty-state.compact{min-height:220px}.dispatch-empty.compact{padding:10px}
@media(max-width:1180px){.dispatch-toolbar{grid-template-columns:1fr 1fr}.dispatch-kpis{grid-template-columns:repeat(2,1fr)}.dispatch-groups-body{grid-template-columns:230px 1fr}.dispatch-group-dnd-grid{grid-template-columns:1fr}}
@media(max-width:760px){.dispatch-toolbar{grid-template-columns:1fr}.dispatch-kpis{grid-template-columns:1fr 1fr}.dispatch-pool-lane{position:relative;left:auto;z-index:auto}.dispatch-pool-lane,.dispatch-lane{min-width:270px;flex-basis:270px}.dispatch-groups-body{display:block}.dispatch-group-list-pane{border-right:0;border-bottom:1px solid var(--border)}.dispatch-group-meta{grid-template-columns:1fr}.dispatch-group-dnd-grid{grid-template-columns:1fr}}

/* V15.60.2 – deterministische SVG-Menüicons statt OS-abhängiger Emoji-Glyphen. */

/* V15.60.3 – deterministische Farbakzente für Sidebar-SVGs; Farbe ohne OS-Emoji-Abhängigkeit. */
.nav-item:hover .nav-svg-icon,.nav-item.active .nav-svg-icon { stroke:color-mix(in srgb,var(--nav-icon-color,currentColor) 88%,white); }

/* V15.61.1 – Dispo-Fahrerboard: Kopfzeile bleibt sichtbar, nur die Spalteninhalte scrollen vertikal. */
/* V15.61 – Dispo: Planungsdialog und umschaltbare Tourdarstellung. */
.dispatch-tour-card{padding:0;overflow:hidden;border:1px solid #d7e2ea;background:#fff}.dispatch-tour-card.is-locked{border-color:#f59e0b;background:#fffaf0}.dispatch-tour-card[draggable="true"]{cursor:grab}.dispatch-tour-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;padding:8px 9px;border-bottom:1px dashed #f59e0b;background:#fffdf8}.dispatch-tour-identity{display:flex;gap:4px;align-items:center;min-width:0;color:#d97706;font-size:10px}.dispatch-tour-identity strong{color:#0f3550;font-size:11px}.dispatch-tour-head-right{display:flex;gap:6px;align-items:center;color:#64748b;font-size:9px}.dispatch-tour-toggle{width:24px;height:24px;border:1px solid #dbe3eb;border-radius:8px;background:#fff;color:#475569;cursor:pointer}.dispatch-tour-toggle:hover{background:#f8fafc}.dispatch-tour-release-warning{padding:6px 9px;background:#fff7ed;color:#9a3412;font-size:9px;border-bottom:1px solid #fed7aa}.dispatch-tour-body{padding:8px}.dispatch-tour-footer{min-height:31px;padding:6px 8px;border-top:1px solid #edf2f7;display:flex;gap:7px;align-items:center;justify-content:flex-end}.dispatch-tour-time{font-size:9px;color:#475569}.dispatch-tour-footer .dispatch-unassign-link{margin:0 0 0 auto}.dispatch-tour-compact-meta strong{display:block;font-size:10.5px;color:#15364c}.dispatch-tour-compact-meta small{display:block;margin-top:2px;font-size:9px;color:#64748b}.dispatch-tour-compact-legs{display:grid;gap:4px;margin-top:7px}.dispatch-compact-leg{display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:4px;align-items:start;border-left:3px solid #14b8a6;padding:3px 5px;background:#f8fffd;border-radius:5px}.dispatch-compact-leg>span{grid-row:1/3}.dispatch-compact-leg strong{font-size:9.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dispatch-compact-leg small{font-size:8.5px;line-height:1.25;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dispatch-leg-request{margin-top:6px;font-size:8.8px;color:#64748b}.dispatch-leg-request.warning{color:#dc2626;font-weight:700}.dispatch-tour-card.is-detail .dispatch-tour-body{display:grid;gap:7px;background:#f8fffd;border-left:4px solid #14b8a6}.dispatch-leg-detail{border:1px solid #dbe3eb;border-radius:9px;background:#fff;padding:7px 8px;box-shadow:0 1px 3px rgba(15,23,42,.04)}.dispatch-leg-detail-top{display:flex;justify-content:space-between;gap:8px;color:#64748b;font-size:8.7px}.dispatch-leg-detail-top>div{display:flex;align-items:center;gap:4px}.dispatch-leg-detail-top strong{font-size:10px;color:#15364c}.dispatch-leg-seq{font-size:12px}.dispatch-leg-detail-title{margin-top:4px;font-size:10.5px;font-weight:700;color:#0f172a}.dispatch-leg-route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:4px;align-items:start;margin-top:4px;font-size:9px;color:#64748b}.dispatch-leg-route b{color:#334155}.dispatch-leg-detail-meta{margin-top:5px;font-size:8.8px;color:#64748b}.dispatch-leg-detail-footer{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:6px}.dispatch-status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:76px;border-radius:999px;padding:3px 7px;font-size:8.7px;font-weight:700;text-transform:uppercase;background:#f1f5f9;color:#475569}.dispatch-status-pill.status-disponiert{background:#fff7ed;color:#c2410c}.dispatch-status-pill.status-unterwegs{background:#dbeafe;color:#1d4ed8}.dispatch-status-pill.status-angekommen{background:#e0f2fe;color:#0369a1}.dispatch-status-pill.status-erledigt{background:#dcfce7;color:#166534}.dispatch-status-pill.status-offen{background:#f8fafc;color:#475569;border:1px solid #e2e8f0}
.dispatch-plan-box{width:min(1280px,96vw);height:min(860px,92vh);display:flex;flex-direction:column}.dispatch-plan-body{padding:14px 16px!important;overflow:auto;min-height:0;flex:1}.dispatch-plan-toolbar{display:grid;grid-template-columns:minmax(250px,1.45fr) 140px 150px auto auto;gap:10px;align-items:end}.dispatch-plan-toolbar .form-group{margin:0}.dispatch-plan-toolbar select,.dispatch-plan-toolbar input{height:40px}.dispatch-plan-hint{margin:9px 0 10px;color:#64748b;font-size:10.5px}.dispatch-plan-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:12px}.dispatch-plan-table{width:100%;border-collapse:collapse;min-width:1000px}.dispatch-plan-table th{background:#f8fafc;padding:8px;text-align:left;font-size:10px;color:#475569;border-bottom:1px solid #e2e8f0}.dispatch-plan-table td{padding:7px;border-bottom:1px solid #edf2f7;vertical-align:middle}.dispatch-plan-table tr:last-child td{border-bottom:0}.dispatch-plan-seq{width:38px;text-align:center;color:#64748b;font-size:10px}.dispatch-plan-action,.dispatch-plan-location,.dispatch-plan-date{height:36px;border:1px solid #dbe3eb;border-radius:8px;background:#fff;padding:0 8px;font-size:10px}.dispatch-plan-action{min-width:190px}.dispatch-plan-location{width:100%;min-width:210px}.dispatch-plan-fixed-location{height:36px;min-width:210px;display:flex;align-items:center;padding:0 9px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;color:#334155;font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dispatch-plan-date{width:132px}.dispatch-plan-release{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:9px;color:#475569}.dispatch-plan-release-follow{display:inline-block;color:#cbd5e1;padding-left:8px}.dispatch-plan-empty{padding:22px;text-align:center;color:#64748b;font-size:10px}.dispatch-plan-preview-section{margin-top:14px}.dispatch-plan-preview-section h3{margin:0;color:#15364c;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.dispatch-plan-preview-section>p{margin:4px 0 9px;color:#64748b;font-size:10px}.dispatch-plan-preview-card{border:1px solid #dbe3eb;border-radius:11px;background:#f8fafc;padding:10px 12px}.dispatch-plan-preview-head{font-size:10px;font-weight:700;color:#15364c;margin-bottom:6px}.dispatch-plan-preview-card table{width:100%;border-collapse:collapse}.dispatch-plan-preview-card th,.dispatch-plan-preview-card td{text-align:left;padding:4px 5px;border-bottom:1px solid #e2e8f0;font-size:9px}.dispatch-plan-preview-card th{color:#64748b;font-weight:700}.dispatch-plan-preview-summary{padding-top:7px;font-size:9.5px;color:#475569}.dispatch-plan-preview-summary strong{color:#0f172a}.dispatch-plan-preview-empty{border:1px dashed #cbd5e1;border-radius:10px;padding:18px;text-align:center;color:#94a3b8;font-size:10px}
@media(max-width:1100px){.dispatch-plan-toolbar{grid-template-columns:1fr 1fr 1fr}.dispatch-plan-toolbar .btn{align-self:end}.dispatch-plan-box{width:96vw}}
@media(max-width:760px){.dispatch-plan-toolbar{grid-template-columns:1fr}.dispatch-plan-box{height:94vh}.dispatch-tour-card.is-detail .dispatch-tour-body{padding:6px}}

/* V15.61.2 – Dispo: Tourkarten duerfen im Scrollbereich nicht zusammenschrumpfen. */

/* V15.61.3 – Dispo: Erledigte Touren optional im Fahrerboard einblenden. */
.dispatch-show-completed{height:36px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--border);border-radius:11px;background:var(--surface);font-size:10.5px;color:var(--text);white-space:nowrap;cursor:pointer}.dispatch-show-completed input{margin:0}.dispatch-tour-card.is-completed{border-color:#bbf7d0;background:rgba(240,253,244,.92)}.dispatch-tour-card.is-completed .dispatch-tour-head{color:#166534}.dispatch-tour-done-label{margin-left:auto;display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;background:#dcfce7;color:#166534;font-size:9px;font-weight:700}


/* V15.62 – Dispo: manuelle Fahrer-Rückmeldungen und pillenförmige Touraktionen. */
.dispatch-tour-action-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border-radius:999px;padding:3px 9px;border:1px solid #dbe3eb;background:#f8fafc;color:#475569;font-size:9px;font-weight:700;cursor:pointer;white-space:nowrap}.dispatch-tour-action-pill:hover:not(:disabled){background:#eef2f7}.dispatch-tour-action-pill.danger{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.dispatch-tour-action-pill.danger:hover:not(:disabled){background:#ffedd5}.dispatch-tour-action-pill:disabled{opacity:.45;cursor:not-allowed}.dispatch-manual-play{width:26px;height:26px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;color:#0f3550;display:inline-grid;place-items:center;font-size:11px;cursor:pointer}.dispatch-manual-play:hover{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}.dispatch-manual-play.compact{border-radius:999px;margin-left:auto}.dispatch-leg-detail-actions{display:flex;align-items:center;gap:6px}.dispatch-status-pill.status-angenommen{background:#ede9fe;color:#6d28d9}.dispatch-status-pill.status-gewogen{background:#fef3c7;color:#92400e}.dispatch-manual-box{width:min(620px,94vw)}.dispatch-manual-body{display:grid;gap:14px}.dispatch-manual-current-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:#f8fafc}.dispatch-manual-current-row>span{font-size:11px;color:var(--text-soft)}.dispatch-manual-hint{font-size:10px;color:var(--text-soft);line-height:1.45}.dispatch-feedback-steps{display:grid;gap:8px}.dispatch-feedback-step{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;text-align:left;width:100%;min-height:42px;border:1px solid var(--border);border-radius:11px;background:#fff;padding:7px 10px;color:var(--text);cursor:pointer}.dispatch-feedback-step>span{width:26px;height:26px;border-radius:8px;background:#f1f5f9;display:grid;place-items:center}.dispatch-feedback-step strong{font-size:11px}.dispatch-feedback-step small{color:#166534}.dispatch-feedback-step.next{border-color:#93c5fd;background:#eff6ff}.dispatch-feedback-step.next:hover{background:#dbeafe}.dispatch-feedback-step.done{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.dispatch-feedback-step:disabled:not(.done){opacity:.45;cursor:not-allowed}.dispatch-tour-footer{flex-wrap:wrap}.dispatch-tour-footer .dispatch-tour-action-pill{margin-left:0}

/* V15.62.1 – Dispo: ruhige Touraktionen + ungeplante Auftraege per Drag & Drop. */
.order-card.is-draggable{cursor:grab}.order-card.is-draggable:active{cursor:grabbing}
.dispatch-tour-footer{display:grid;align-items:stretch;justify-content:stretch;gap:6px;flex-wrap:initial}
.dispatch-tour-footer-meta{min-height:24px;display:flex;align-items:center;gap:7px;justify-content:flex-start}
.dispatch-tour-footer-meta .dispatch-tour-done-label{margin-left:auto}
.dispatch-tour-actions{display:grid;gap:6px;width:100%;align-items:stretch}
.dispatch-tour-actions.action-count-1{grid-template-columns:minmax(0,110px);justify-content:end}
.dispatch-tour-actions.action-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.dispatch-tour-actions.action-count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.dispatch-tour-actions>button{width:100%;min-width:0;margin:0;min-height:28px}
.dispatch-tour-actions .dispatch-manual-play{width:100%;height:28px;border-radius:999px;margin:0}
.dispatch-tour-action-pill{min-height:28px}


/* V15.63 – Disposition „Nach Auftrag“ als feste, auftragszentrierte Projektion. */
.dispatch-view-switch{display:flex;gap:6px;align-items:center}.dispatch-view-switch .btn{white-space:nowrap}
.dispatch-order-view-shell{padding:0;overflow:hidden}.dispatch-order-view{height:clamp(460px,calc(100vh - 310px),760px);overflow:auto;background:#f3f6f9;scrollbar-gutter:stable}.dispatch-order-leg-grid{display:grid;grid-template-columns:38px minmax(190px,1.05fr) minmax(360px,2fr) 128px 190px 155px 78px;gap:0;min-width:1240px;align-items:center}.dispatch-order-column-head{position:sticky;top:0;z-index:8;min-height:38px;background:#f8fafc;border-bottom:1px solid var(--border);color:#64748b;font-size:9.5px;font-weight:700}.dispatch-order-column-head>span{padding:0 10px}.dispatch-order-list{min-width:1240px;padding:8px;display:grid;gap:8px;align-content:start}.dispatch-order-item{border:1px solid #dbe3eb;border-radius:11px;background:#fff;overflow:hidden;box-shadow:0 1px 4px rgba(15,23,42,.03)}.dispatch-order-item.is-completed{border-color:#bbf7d0}.dispatch-order-summary{min-height:48px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:7px 10px}.dispatch-order-summary-left,.dispatch-order-summary-right{display:flex;align-items:center;gap:8px;min-width:0}.dispatch-order-summary-left strong{font-size:11px;white-space:nowrap}.dispatch-order-partner{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dispatch-order-marker{width:7px;height:7px;border-radius:2px;background:#0ea5a4;flex:0 0 auto}.dispatch-order-item.is-unplanned .dispatch-order-marker{background:#94a3b8}.dispatch-order-driver-summary,.dispatch-order-request-summary,.dispatch-order-not-planned{font-size:9px;color:#64748b;white-space:nowrap}.dispatch-order-driver-summary{background:#f1f5f9;border-radius:999px;padding:3px 7px}.dispatch-order-driver-summary.unassigned{background:#fff7ed;color:#c2410c}.dispatch-order-progress{display:grid;grid-template-columns:auto 96px;align-items:center;gap:6px;font-size:9px;color:#64748b;white-space:nowrap}.dispatch-order-progress i{display:block;width:96px;height:5px;border-radius:999px;background:#e2e8f0;overflow:hidden}.dispatch-order-progress b{display:block;height:100%;background:#22c55e}.dispatch-order-toggle{width:28px;height:28px;border:1px solid #dbe3eb;border-radius:8px;background:#fff;color:#475569;cursor:pointer}.dispatch-order-toggle:hover{background:#f8fafc}.dispatch-order-legs{border-top:1px solid #e2e8f0}.dispatch-order-leg-row{min-height:48px;border-bottom:1px solid #edf2f7;background:#fff}.dispatch-order-leg-row:last-child{border-bottom:0}.dispatch-order-leg-row.is-locked{background:#fffbeb}.dispatch-order-leg-row.is-completed{background:#f0fdf4}.dispatch-order-leg-row>div{padding:7px 10px;min-width:0}.dispatch-order-leg-seq{text-align:center;color:#64748b;font-size:9px}.dispatch-order-leg-action{display:flex;align-items:center;gap:6px}.dispatch-order-leg-action strong{font-size:10px;line-height:1.25}.dispatch-order-leg-route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px;align-items:center;font-size:9.5px;color:#475569}.dispatch-order-leg-route span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dispatch-order-leg-route b{color:#94a3b8}.dispatch-order-leg-plan{font-size:9.5px}.dispatch-order-leg-plan small{display:block;margin-top:2px;color:#64748b;font-size:8.5px}.dispatch-order-leg-plan small.warning{color:#dc2626;font-weight:700}.dispatch-order-leg-driver,.dispatch-order-leg-status,.dispatch-order-leg-actioncell{display:flex;align-items:center}.dispatch-order-driver-select{width:100%;height:30px;border:1px solid #dbe3eb;border-radius:8px;background:#fff;padding:0 7px;font-size:9.5px}.dispatch-order-driver-pill,.dispatch-order-with-tour,.dispatch-order-release-pill{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:3px 8px;font-size:9px;white-space:nowrap}.dispatch-order-driver-pill{background:#eff6ff;color:#1d4ed8}.dispatch-order-with-tour{background:#f8fafc;color:#64748b}.dispatch-order-release-pill{background:#fef3c7;color:#92400e}.dispatch-order-leg-actioncell{justify-content:center}.dispatch-order-leg-actioncell .dispatch-manual-play{width:30px;height:30px}.dispatch-order-empty{padding:32px;text-align:center;color:#94a3b8;font-size:10px}.dispatch-order-summary-right .dispatch-tour-action-pill{min-height:26px;padding:2px 9px}.dispatch-order-summary-right .btn-xs{min-width:78px}
@media(max-width:1100px){.dispatch-toolbar{grid-template-columns:minmax(240px,1fr) auto auto auto}.dispatch-filter[hidden]{display:none!important}.dispatch-view-switch{grid-column:auto}.dispatch-order-progress{grid-template-columns:auto 70px}.dispatch-order-progress i{width:70px}}

/* V15.64 – Dispo: fachliche Transportkette mit unabhängig disponierbaren Tourabschnitten. */
.dispatch-plan-table{min-width:1180px}.dispatch-plan-table tr.is-segment-start td{border-top:2px solid #94a3b8}.dispatch-plan-segment-break{display:flex;align-items:center;gap:5px;min-width:132px;font-size:9px;color:#64748b;white-space:nowrap;cursor:pointer}.dispatch-plan-segment-break input{margin:0}.dispatch-plan-segment-pill,.dispatch-order-segment-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;background:#e2e8f0;color:#334155;font-size:8.5px;font-weight:700;white-space:nowrap}.dispatch-plan-release input{margin:0}.dispatch-plan-release-follow{color:#94a3b8}.dispatch-plan-preview{display:grid;gap:9px}.dispatch-plan-preview-card+.dispatch-plan-preview-card{margin-top:9px}.dispatch-plan-preview-card.is-waiting{border-color:#fcd34d;background:#fffbeb}.dispatch-tour-action-pill.release{background:#dcfce7;border-color:#bbf7d0;color:#166534}.dispatch-tour-action-pill.release:hover:not(:disabled){background:#bbf7d0}.dispatch-tour-actions.action-count-4{grid-template-columns:repeat(2,minmax(0,1fr))}.dispatch-order-leg-row.is-segment-start:not(:first-child){border-top:2px solid #94a3b8}.dispatch-order-leg-action{flex-wrap:wrap}.dispatch-order-segment-pill{margin-left:auto}.dispatch-order-driver-summary.partial{background:#fef3c7;color:#92400e}.dispatch-order-leg-actioncell .dispatch-tour-action-pill.release{width:100%;min-width:62px;padding-left:6px;padding-right:6px}.dispatch-tour-release-warning{display:flex;align-items:center;gap:5px}.dispatch-tour-card.is-locked{border-color:#fcd34d;background:#fffbeb}

/* V15.65 – persistente Reihenfolge im Fahrertag. */
.dispatch-tour-position{display:inline-grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:999px;background:#e0f2fe;color:#075985;font-size:9px;font-weight:800;line-height:1}.dispatch-tour-card.dispatch-reorder-before{box-shadow:inset 0 3px 0 #2563eb,0 2px 7px rgba(15,23,42,.04)}.dispatch-tour-card.dispatch-reorder-after{box-shadow:inset 0 -3px 0 #2563eb,0 2px 7px rgba(15,23,42,.04)}.dispatch-tour-card.is-completed .dispatch-tour-position{background:#dcfce7;color:#166534}

/* V15.66 – Routing / Entfernungen */
.routing-distance-page-header{align-items:flex-end}.routing-distance-header-meta{display:flex;align-items:center;gap:8px}.routing-distance-shell{padding:0;overflow:hidden}.routing-distance-toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border,#dfe5e2)}.routing-distance-toolbar .caption-search-wrap{flex:1;max-width:560px}.routing-distance-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.routing-distance-info{margin:14px 16px;padding:10px 12px;border-radius:10px;background:rgba(31,111,83,.07);font-size:13px;line-height:1.45}.routing-distance-table-wrap{max-height:calc(100vh - 330px);overflow:auto}.routing-distance-table{min-width:1180px}.routing-distance-table thead th{position:sticky;top:0;z-index:2}.routing-distance-table td{vertical-align:top}.routing-distance-table td small{display:block;margin-top:3px;color:var(--muted,#6d7772)}.routing-distance-table .routing-distance-value strong{display:block;white-space:nowrap}.routing-distance-table .routing-distance-value.effective strong{font-size:14px}.routing-distance-profile{display:inline-block;margin-top:5px;font-size:10px;letter-spacing:.04em;color:var(--muted,#6d7772)}.routing-distance-reason{display:block;max-width:220px;margin-top:5px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.routing-distance-error{color:#a35a00!important}.routing-distance-row-actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}.routing-distance-footer{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-top:1px solid var(--border,#dfe5e2);font-size:12px;color:var(--muted,#6d7772)}.routing-distance-manual-box{width:min(680px,calc(100vw - 32px))}.routing-distance-provider-preview{margin-bottom:14px;padding:10px 12px;border-radius:10px;background:rgba(0,0,0,.04);font-size:13px}@media(max-width:900px){.routing-distance-toolbar{align-items:stretch;flex-direction:column}.routing-distance-toolbar .caption-search-wrap{max-width:none}.routing-distance-actions{justify-content:flex-start}.routing-distance-table-wrap{max-height:none}}

/* V15.66 – echte Fahrzeiten aus dem persistenten Entfernungsstamm */
.dispatch-travel-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 6px;background:#ecfeff;border:1px solid #a5f3fc;color:#155e75;font-size:9px;line-height:1.2;white-space:nowrap}
.dispatch-routing-missing{display:inline-flex;align-items:center;border-radius:999px;padding:2px 6px;background:#fff7ed;border:1px solid #fed7aa;color:#c2410c;font-size:9px;line-height:1.2;white-space:nowrap}
.dispatch-compact-leg .dispatch-travel-badge,.dispatch-compact-leg .dispatch-routing-missing{grid-column:2/-1;justify-self:start;margin-top:1px}
.dispatch-tour-footer-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.dispatch-driver-travel{display:block;margin-top:2px;font-size:9px;color:#0e7490}


/* V15.67 – Routing-Override, Deponie-Geodaten und persönliche Menüsuche */
.nav-search-history{margin:0 10px 8px;padding:8px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(11,31,25,.92);box-shadow:0 10px 26px rgba(0,0,0,.18)}
.nav-search-history-title{padding:2px 8px 6px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.nav-search-history-item{display:block;width:100%;padding:7px 8px;border:0;border-radius:7px;background:transparent;color:rgba(255,255,255,.86);font:inherit;font-size:12px;text-align:left;cursor:pointer}
.nav-search-history-item:hover,.nav-search-history-item:focus-visible{background:rgba(255,255,255,.09);color:#fff;outline:none}
.sider.collapsed .nav-search-history{display:none!important}

.routing-distance-manual-box{width:min(780px,calc(100vw - 32px));overflow:hidden}
.routing-distance-manual-header{align-items:flex-start}.routing-distance-header-actions{display:flex;align-items:center;gap:8px}
.routing-distance-manual-body{display:grid;gap:16px;padding-top:18px}
.routing-distance-provider-card,.routing-distance-effective-card{border:1px solid var(--border,#dfe5e2);border-radius:14px;padding:14px 16px;background:linear-gradient(135deg,rgba(31,111,83,.08),rgba(31,111,83,.025))}
.routing-distance-card-kicker{display:block;margin-bottom:8px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#6d7772)}
.routing-distance-provider-preview{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:10px;margin:0;padding:0;background:transparent;font-size:13px}
.routing-distance-provider-preview strong{font-size:20px}.routing-distance-provider-preview span{font-weight:700}.routing-distance-provider-preview small{text-align:right;color:var(--muted,#6d7772)}
.routing-distance-manual-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.routing-distance-metric-field,.routing-distance-reason-field{display:grid;gap:7px;font-size:12px;font-weight:700;color:var(--text,#26342f)}
.routing-distance-metric-field{padding:14px;border:1px solid var(--border,#dfe5e2);border-radius:14px;background:var(--surface,#fff)}
.routing-distance-metric-field small{font-weight:400;line-height:1.35;color:var(--muted,#6d7772)}
.routing-distance-input-wrap{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid var(--border,#cfd8d4);border-radius:10px;overflow:hidden;background:#fff}
.routing-distance-input-wrap:focus-within{border-color:var(--primary,#1f6f53);box-shadow:0 0 0 3px rgba(31,111,83,.1)}
.routing-distance-input-wrap input{min-width:0;border:0!important;border-radius:0!important;box-shadow:none!important;font-size:18px;font-weight:700;padding:10px 12px}
.routing-distance-input-wrap b{padding:0 12px;color:var(--muted,#6d7772);font-size:12px}
.routing-distance-reason-field textarea{width:100%;resize:vertical;min-height:84px}
.routing-distance-effective-card{background:rgba(31,111,83,.055)}.routing-distance-effective-card strong{display:block;font-size:18px;color:var(--primary,#1f6f53)}.routing-distance-effective-card small{display:block;margin-top:5px;color:var(--muted,#6d7772)}
.routing-distance-manual-footer{display:flex;align-items:center;gap:8px}.routing-distance-footer-spacer{flex:1}
.routing-distance-focus{animation:routing-distance-focus-pulse 2.6s ease-out}
@keyframes routing-distance-focus-pulse{0%,20%{box-shadow:inset 4px 0 0 var(--primary,#1f6f53);background:rgba(31,111,83,.13)}100%{box-shadow:inset 0 0 0 transparent;background:transparent}}
.routing-distance-history-box{width:min(840px,calc(100vw - 32px));max-height:88vh}.routing-distance-history-body{display:grid;gap:10px;overflow:auto}
.routing-distance-history-item{border:1px solid var(--border,#dfe5e2);border-radius:12px;padding:12px}.routing-distance-history-item header{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}.routing-distance-history-item header span{font-size:11px;color:var(--muted,#6d7772)}
.routing-distance-history-change{display:grid;grid-template-columns:minmax(150px,.7fr) 1fr;gap:10px;padding:6px 0;border-top:1px solid rgba(0,0,0,.05);font-size:12px}.routing-distance-history-change span{display:flex;gap:8px;align-items:center}.routing-distance-history-change b{color:var(--muted,#6d7772)}

.deponie-address-row{grid-template-columns:minmax(130px,.35fr) 1fr}.deponie-geo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:6px 0 4px}.deponie-geo-info,.deponie-poly-info{font-size:11px;color:var(--muted,#6d7772)}.deponie-poly-info.demo-poly-active{color:var(--primary,#1f6f53);font-weight:700}.deponie-poly-box{max-width:860px;width:96vw}
@media(max-width:760px){.routing-distance-manual-grid{grid-template-columns:1fr}.routing-distance-provider-preview{grid-template-columns:1fr}.routing-distance-provider-preview small{text-align:left}.routing-distance-history-change{grid-template-columns:1fr}.deponie-address-row{grid-template-columns:1fr}.deponie-geo-actions .btn{width:100%}}

/* V15.68 · gemeinsame Polygonkarten / betrieblicher Standort */
.demo-map-help-with-layer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.demo-map-help-with-layer>span{min-width:0;flex:1 1 420px}
.demo-map-layer-toggle{flex:0 0 auto;min-width:92px}
.sys-yard-geo-actions{display:flex;flex-wrap:wrap;align-items:center;align-content:center;gap:8px 10px;min-height:100%}
.sys-yard-geo-actions .deponie-poly-info{flex:1 1 100%;margin-top:2px}
@media(max-width:760px){.demo-map-layer-toggle{width:auto}.sys-yard-geo-actions .btn{width:100%}}

/* V15.69 – Dispo Workspace / Compact Layout */
body.dispatch-workspace-active .main-layout,
body.dispatch-workspace-active .main-layout.expanded{
  height:100vh;
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
body.dispatch-workspace-active .topbar{flex:0 0 52px}
body.dispatch-workspace-active .workspace-restore-banner:not(.hidden){
  flex:0 0 auto;
  margin:6px 12px 0;
  padding:5px 8px;
  min-height:34px;
  gap:8px;
  border-radius:9px;
}
body.dispatch-workspace-active .workspace-restore-symbol{width:24px;height:24px;flex-basis:24px;font-size:11px}
body.dispatch-workspace-active .workspace-restore-copy{flex-direction:row;align-items:center;gap:8px}
body.dispatch-workspace-active .workspace-restore-copy strong{font-size:11px}
body.dispatch-workspace-active .workspace-restore-copy span{display:none}
body.dispatch-workspace-active .workspace-restore-actions .btn{height:28px!important;padding-inline:9px!important;font-size:9px!important}
body.dispatch-workspace-active .content{
  flex:1 1 auto;
  min-height:0;
  height:auto;
  padding:8px 12px 10px;
  overflow:hidden;
}
body.dispatch-workspace-active #page-dispo.active{
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:auto auto auto minmax(0,1fr) auto;
  gap:6px;
}
#page-dispo .dispatch-page-header{
  min-height:28px;
  margin:0;
  align-items:center;
}
#page-dispo .dispatch-page-header h1{font-size:17px;line-height:1.1;margin:0}
#page-dispo .dispatch-page-header p{display:none}
#page-dispo .dispatch-header-actions{gap:5px}
#page-dispo .dispatch-header-actions .btn{height:28px!important;padding-inline:9px!important;font-size:9px!important}
#page-dispo .dispatch-toolbar{
  grid-template-columns:minmax(260px,1fr) auto auto minmax(145px,210px) auto auto;
  gap:6px;
  align-items:center;
  min-height:40px;
  margin:0;
  padding:5px 7px;
  border-radius:10px;
}
#page-dispo .dispatch-search-wrap{height:32px;border-radius:9px;padding-inline:9px}
#page-dispo .dispatch-filter{grid-template-columns:auto minmax(120px,1fr);align-items:center;gap:5px;font-size:9px;white-space:nowrap}
#page-dispo .dispatch-filter select,
#page-dispo .dispatch-date-nav input{height:32px;border-radius:9px;padding-inline:8px}
#page-dispo .dispatch-show-completed{font-size:9px;white-space:nowrap}
#page-dispo .dispatch-date-nav{gap:4px}
#page-dispo .dispatch-date-nav .btn,
#page-dispo .dispatch-view-switch .btn,
#page-dispo .dispatch-density-toggle{height:30px!important;padding-inline:8px!important;font-size:9px!important}
#page-dispo .dispatch-density-toggle.active{background:#e8f3ef;border-color:#9bc7b7;color:#145a43}
#page-dispo .dispatch-kpis{gap:6px;margin:0}
#page-dispo .dispatch-kpi{
  min-height:34px;
  padding:4px 9px;
  border-radius:9px;
  border-top-width:2px;
}
#page-dispo .dispatch-kpi span{font-size:9px}
#page-dispo .dispatch-kpi strong{font-size:16px;line-height:1}
#page-dispo .dispatch-board-shell{
  height:100%;
  min-height:0;
  margin:0;
  padding:0;
  overflow:hidden;
  border-radius:10px;
}
#page-dispo .dispatch-board{
  height:100%;
  min-height:0;
  overflow:auto;
  align-items:flex-start;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
  background:#f6f8fa;
}
#page-dispo .dispatch-driver-lanes{
  height:auto;
  min-height:100%;
  align-items:stretch;
  align-self:flex-start;
}
#page-dispo .dispatch-lane{
  height:auto;
  min-height:100%;
  align-self:stretch;
  overflow:visible;
}
#page-dispo .dispatch-lane>header{
  position:sticky;
  top:0;
  z-index:13;
  flex:0 0 auto;
  min-height:58px;
  padding:6px 8px 5px;
  box-sizing:border-box;
}
#page-dispo .dispatch-pool-lane>header{min-height:58px}
#page-dispo .dispatch-lane>header small{margin-top:2px;font-size:9px;line-height:1.2}
#page-dispo .dispatch-count{min-width:18px;height:18px;font-size:9px}
#page-dispo .dispatch-lane-body{
  flex:0 0 auto;
  min-height:0;
  padding:6px;
  gap:6px;
  overflow:visible;
  scrollbar-gutter:auto;
}
#page-dispo .dispatch-driver-name strong{font-size:12px}
#page-dispo .dispatch-driver-load-row{display:flex;align-items:center;gap:7px;min-width:0;margin-top:3px;white-space:nowrap}
#page-dispo .dispatch-driver-load{margin:0;font-size:9px;line-height:1.15}
#page-dispo .dispatch-driver-travel{margin:0;font-size:8.8px;line-height:1.15;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-load-bar{height:3px;margin:5px -8px -5px;background:#e2e8f0}
#page-dispo .dispatch-load-bar span{display:block;height:100%;background:#22c55e}
#page-dispo .dispatch-load-bar.over span{background:#ef4444}
#page-dispo .dispatch-card{border-radius:10px;box-shadow:0 1px 4px rgba(15,23,42,.045)}
#page-dispo .dispatch-tour-card{overflow:hidden}
#page-dispo .dispatch-tour-head{padding:6px 7px;gap:5px}
#page-dispo .dispatch-tour-identity{gap:4px;font-size:9px}
#page-dispo .dispatch-tour-identity strong{font-size:10.5px}
#page-dispo .dispatch-tour-head-right{gap:4px;font-size:8px}
#page-dispo .dispatch-tour-toggle{width:22px;height:22px;border-radius:7px}
#page-dispo .dispatch-tour-release-warning{padding:4px 7px;font-size:8.5px}
#page-dispo .dispatch-tour-body{padding:6px 7px}
#page-dispo .dispatch-tour-compact-meta strong{font-size:10.5px}
#page-dispo .dispatch-tour-compact-meta small{margin-top:1px;font-size:8.7px}
#page-dispo .dispatch-tour-compact-legs{gap:3px;margin-top:5px}
#page-dispo .dispatch-compact-leg{
  display:grid;
  grid-template-columns:18px minmax(0,1fr) auto;
  gap:4px;
  align-items:center;
  min-height:34px;
  padding:3px 5px;
  border-left-width:3px;
}
#page-dispo .dispatch-compact-leg-icon{align-self:start;padding-top:1px}
#page-dispo .dispatch-compact-leg-copy{min-width:0;display:grid;gap:1px}
#page-dispo .dispatch-compact-leg-copy strong{font-size:9.4px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-compact-leg-copy small{font-size:8.4px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-compact-leg-metric{min-width:0;justify-self:end}
#page-dispo .dispatch-compact-leg-metric .dispatch-travel-badge,
#page-dispo .dispatch-compact-leg-metric .dispatch-routing-missing{max-width:112px;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-leg-request{margin-top:4px;font-size:8.5px}
#page-dispo .dispatch-tour-footer{padding:5px 7px;gap:5px}
#page-dispo .dispatch-tour-footer-meta{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:4px 5px;
  align-items:center;
}
#page-dispo .dispatch-tour-metric{min-width:0;display:flex;align-items:center}
#page-dispo .dispatch-tour-metric-duration{grid-column:1;grid-row:1}
#page-dispo .dispatch-tour-metric-total{grid-column:2;grid-row:1;justify-content:flex-start;overflow:hidden}
#page-dispo .dispatch-tour-metric-approach{grid-column:1/-1;grid-row:2;overflow:hidden}
#page-dispo .dispatch-tour-metric-return{grid-column:1/-1;grid-row:3;overflow:hidden}
#page-dispo .dispatch-tour-metric-time{grid-column:2;grid-row:4;justify-content:flex-end}
#page-dispo .dispatch-tour-metric-completion{grid-column:1/-1;grid-row:5}
#page-dispo .dispatch-tour-metric:empty{display:none}
#page-dispo .dispatch-tour-metric-total .dispatch-travel-badge,
#page-dispo .dispatch-tour-metric-total .dispatch-routing-missing,
#page-dispo .dispatch-tour-metric-approach .dispatch-travel-badge,
#page-dispo .dispatch-tour-metric-return .dispatch-travel-badge{max-width:100%;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-travel-badge,
#page-dispo .dispatch-routing-missing{font-size:8.6px;padding:2px 5px}
#page-dispo .dispatch-tour-time{font-size:8.7px;white-space:nowrap}
#page-dispo .dispatch-tour-actions{gap:5px}
#page-dispo .dispatch-tour-actions>button{min-height:26px;height:26px!important;font-size:8.8px!important}
#page-dispo .dispatch-tour-actions .dispatch-manual-play{height:26px}
#page-dispo .dispatch-leg-detail{padding:6px 7px;border-radius:8px}
#page-dispo .dispatch-leg-detail-title{font-size:10.2px}
#page-dispo .dispatch-leg-route{font-size:8.8px}
#page-dispo .dispatch-leg-detail-meta{font-size:8.5px}
#page-dispo .dispatch-leg-detail-footer{
  display:grid;
  grid-template-columns:78px 54px minmax(0,1fr) auto;
  gap:5px;
  align-items:center;
  margin-top:5px;
}
#page-dispo .dispatch-leg-detail-footer .dispatch-status-pill{min-width:0;width:78px;padding-inline:5px}
#page-dispo .dispatch-leg-duration-slot,
#page-dispo .dispatch-leg-travel-slot,
#page-dispo .dispatch-leg-play-slot{min-width:0;display:flex;align-items:center}
#page-dispo .dispatch-leg-duration-slot{width:54px}
#page-dispo .dispatch-leg-travel-slot{overflow:hidden}
#page-dispo .dispatch-leg-travel-slot .dispatch-travel-badge,
#page-dispo .dispatch-leg-travel-slot .dispatch-routing-missing{max-width:100%;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-leg-play-slot{justify-content:flex-end}
#page-dispo .dispatch-leg-play-slot:empty{display:none}
#page-dispo .dispatch-duration{font-size:8.6px;padding:2px 5px}
#page-dispo .dispatch-pool-lane{--dispatch-pool-width:286px}
#page-dispo .dispatch-lane{flex-basis:286px;min-width:286px}
#page-dispo .dispatch-pool-lane{flex-basis:var(--dispatch-pool-width);min-width:var(--dispatch-pool-width)}
#page-dispo .dispatch-pool-lane.unassigned{left:var(--dispatch-pool-width)}

/* Benutzerbezogene Kompaktdichte: mehr Touren sichtbar, ohne die Schrift weiter zu schrumpfen. */
#page-dispo.dispatch-density-compact .dispatch-pool-lane{--dispatch-pool-width:270px}
#page-dispo.dispatch-density-compact .dispatch-lane{flex-basis:270px;min-width:270px}
#page-dispo.dispatch-density-compact .dispatch-pool-lane{flex-basis:var(--dispatch-pool-width);min-width:var(--dispatch-pool-width)}
#page-dispo.dispatch-density-compact .dispatch-pool-lane.unassigned{left:var(--dispatch-pool-width)}
#page-dispo.dispatch-density-compact .dispatch-lane-body{padding:5px;gap:5px}
#page-dispo.dispatch-density-compact .dispatch-tour-head{padding:5px 6px}
#page-dispo.dispatch-density-compact .dispatch-tour-body{padding:5px 6px}
#page-dispo.dispatch-density-compact .dispatch-tour-footer{padding:4px 6px}
#page-dispo.dispatch-density-compact .dispatch-compact-leg{min-height:30px;padding-top:2px;padding-bottom:2px}
#page-dispo.dispatch-density-compact .dispatch-tour-release-warning{padding-top:3px;padding-bottom:3px}

/* Eigenes Dispo-Arbeitsfenster: Markenleiste erhalten, aber keine 82px für Dekoration verbrennen. */
body.standalone-master.dispatch-workspace-active .standalone-master-banner{
  position:static;
  flex:0 0 46px;
  min-height:46px;
  padding:5px 12px;
  gap:10px;
}
body.standalone-master.dispatch-workspace-active .standalone-master-brand{gap:8px}
body.standalone-master.dispatch-workspace-active .standalone-master-brandmark{width:32px;height:32px;flex-basis:32px;border-radius:7px;font-size:15px}
body.standalone-master.dispatch-workspace-active .standalone-master-brandmark .theme-logo{width:28px;height:28px;padding:2px}
body.standalone-master.dispatch-workspace-active .standalone-master-copy strong{font-size:13px}
body.standalone-master.dispatch-workspace-active .standalone-master-copy span{margin-top:1px;font-size:9px}
body.standalone-master.dispatch-workspace-active .standalone-master-close{height:28px!important;min-width:82px;padding-inline:10px!important;font-size:9px!important}
body.standalone-master.dispatch-workspace-active .content{min-height:0;padding:6px 8px 8px}
body.standalone-master.dispatch-workspace-active #page-dispo .dispatch-page-header{display:none}

@media(max-width:1280px){
  #page-dispo .dispatch-toolbar{grid-template-columns:minmax(220px,1fr) auto auto auto auto}
  #page-dispo .dispatch-filter{display:none}
}
@media(max-width:900px){
  body.dispatch-workspace-active .content{overflow:auto}
  body.dispatch-workspace-active #page-dispo.active{height:auto;display:block}
  #page-dispo .dispatch-toolbar{grid-template-columns:1fr auto auto;align-items:center}
  #page-dispo .dispatch-search-wrap{grid-column:1/-1}
  #page-dispo .dispatch-kpis{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:6px}
  #page-dispo .dispatch-board-shell{height:70vh;min-height:520px;margin-top:6px}
}
#page-dispo .dispatch-order-view-shell{height:100%;min-height:0;margin:0}
#page-dispo .dispatch-order-view{height:100%;min-height:0}
#page-dispo .dispatch-lane>header{height:60px;min-height:60px;overflow:hidden}
/* V15.69 Nachschärfung: Seitentitel ist bereits in der Topbar / Arbeitsfensterleiste vorhanden. */
body.dispatch-workspace-active #page-dispo .dispatch-page-header{display:none}
body.dispatch-workspace-active #page-dispo.active{grid-template-rows:auto auto minmax(0,1fr) auto}
#page-dispo .dispatch-toolbar{grid-template-columns:minmax(250px,1fr) auto auto minmax(145px,205px) auto auto auto}
#page-dispo .dispatch-toolbar-actions{display:flex;align-items:center;gap:4px;justify-content:flex-end;white-space:nowrap}
#page-dispo .dispatch-toolbar-actions .btn{height:30px!important;padding-inline:8px!important;font-size:9px!important}
#page-dispo #dispatch-refresh{width:30px;padding:0!important;justify-content:center}
@media(max-width:1280px){
  #page-dispo .dispatch-toolbar{grid-template-columns:minmax(220px,1fr) auto auto auto auto auto}
  #page-dispo .dispatch-filter{display:none}
}
@media(max-width:900px){
  #page-dispo .dispatch-toolbar-actions{justify-content:flex-start}
}

/* V15.70 – Dispo-Zeitstrahl: echte Mehrtagesplanung statt Demo-Tabelle. */
#page-dispo .dispatch-view-switch{display:flex;align-items:center;gap:3px;white-space:nowrap}
#page-dispo .dispatch-timeline-range-controls{display:flex;align-items:center;gap:4px;white-space:nowrap}
#page-dispo .dispatch-timeline-range-controls[hidden]{display:none!important}
#page-dispo .dispatch-timeline-range-controls label{display:flex;align-items:center;gap:3px;font-size:8.8px;color:#64748b}
#page-dispo .dispatch-timeline-range-controls select{height:30px;min-width:54px;border:1px solid #d9e0e7;border-radius:8px;background:#fff;padding:0 6px;font-size:9px;color:#203443}
#page-dispo .dispatch-today-split{position:relative;display:flex;align-items:center}
#page-dispo .dispatch-today-split>#dispatch-today{border-radius:8px 0 0 8px;margin-right:-1px}
#page-dispo .dispatch-today-split>.dispatch-busy-days-toggle{width:24px!important;padding:0!important;border-radius:0 8px 8px 0;justify-content:center}
#page-dispo .dispatch-today-split>.dispatch-busy-days-toggle[hidden]{display:none!important}
#page-dispo .dispatch-busy-days-menu{position:absolute;right:0;top:36px;z-index:80;width:310px;max-height:360px;overflow:auto;padding:6px;background:#fff;border:1px solid #d7e0e7;border-radius:11px;box-shadow:0 14px 34px rgba(15,23,42,.18)}
#page-dispo .dispatch-busy-days-menu[hidden]{display:none!important}
#page-dispo .dispatch-busy-days-head{display:flex;justify-content:space-between;gap:8px;align-items:end;padding:4px 6px 7px;border-bottom:1px solid #edf1f4}
#page-dispo .dispatch-busy-days-head strong{font-size:10px;color:#19384a}
#page-dispo .dispatch-busy-days-head small{font-size:8px;color:#8a99a6}
#page-dispo .dispatch-busy-days-menu button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:3px;padding:7px 8px;border:0;border-radius:8px;background:transparent;color:#30495a;text-align:left;cursor:pointer;font-size:9.5px}
#page-dispo .dispatch-busy-days-menu button:hover,#page-dispo .dispatch-busy-days-menu button.active{background:#edf7f3;color:#165b46}
#page-dispo .dispatch-busy-days-menu button b{min-width:24px;padding:2px 6px;border-radius:999px;background:#e7eef4;text-align:center;font-size:8.5px}
#page-dispo .dispatch-busy-days-empty{padding:14px 8px;color:#8797a5;font-size:9px;text-align:center}

#page-dispo .dispatch-timeline-view{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:6px}
#page-dispo .dispatch-timeline-view[hidden]{display:none!important}
#page-dispo .dispatch-timeline-backlog{min-height:54px;margin:0;padding:5px 7px;display:grid;grid-template-columns:155px minmax(0,1fr);gap:7px;align-items:center;border-radius:10px}
#page-dispo .dispatch-timeline-backlog.drag-over{outline:2px solid #ef9f24;outline-offset:-2px;background:#fff9ee}
#page-dispo .dispatch-timeline-backlog-head{display:grid;gap:1px;min-width:0;padding-right:7px;border-right:1px solid #edf1f4}
#page-dispo .dispatch-timeline-backlog-head strong{font-size:10.5px;color:#1e3a4a}
#page-dispo .dispatch-timeline-backlog-head small{font-size:8px;line-height:1.25;color:#8998a5}
#page-dispo .dispatch-timeline-backlog-items{min-width:0;display:flex;gap:5px;overflow-x:auto;padding:1px 1px 2px;scrollbar-width:thin}
#page-dispo .dispatch-timeline-backlog-card{flex:0 0 210px;min-width:0;height:40px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:5px;align-items:center;padding:4px 6px;border:1px solid #dfe6eb;border-radius:8px;background:#fff;cursor:grab;box-shadow:0 1px 2px rgba(15,23,42,.04)}
#page-dispo .dispatch-timeline-backlog-card:hover{border-color:#9bbbc8;background:#f9fcfd}
#page-dispo .dispatch-timeline-backlog-card.order{border-left:3px solid #4f8fd8}
#page-dispo .dispatch-timeline-backlog-card.tour{border-left:3px solid #ef9f24}
#page-dispo .dispatch-timeline-backlog-card>span{font-size:14px;text-align:center}
#page-dispo .dispatch-timeline-backlog-card>div{min-width:0;display:grid;gap:1px}
#page-dispo .dispatch-timeline-backlog-card strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#203747}
#page-dispo .dispatch-timeline-backlog-card small{font-size:7.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#728493}
#page-dispo .dispatch-timeline-backlog-empty{align-self:center;color:#8797a5;font-size:9px}

#page-dispo .dispatch-timeline-shell{height:100%;min-height:0;margin:0;padding:0;overflow:auto;border-radius:10px;scrollbar-gutter:stable;overscroll-behavior:contain;background:#f7f9fb}
#page-dispo .dispatch-timeline-grid{--dispatch-timeline-day-width:124px;display:grid;grid-template-columns:172px repeat(var(--dispatch-timeline-days),minmax(var(--dispatch-timeline-day-width),1fr));min-width:calc(172px + var(--dispatch-timeline-days) * var(--dispatch-timeline-day-width));align-content:start;background:#fff}
#page-dispo .dispatch-timeline-corner,#page-dispo .dispatch-timeline-day-head{position:sticky;top:0;z-index:25;height:48px;box-sizing:border-box;border-bottom:1px solid #d7e0e7;background:#f4f7f9}
#page-dispo .dispatch-timeline-corner{left:0;z-index:32;display:flex;align-items:center;padding:0 10px;border-right:1px solid #d7e0e7;font-size:9px;font-weight:700;color:#506675}
#page-dispo .dispatch-timeline-day-head{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-content:center;justify-content:center;gap:0 4px;padding:3px 5px;border-right:1px solid #e4e9ed;text-align:center;cursor:pointer;color:#415968}
#page-dispo .dispatch-timeline-day-head span{grid-column:1;font-size:8px;text-transform:uppercase;color:#8797a5}
#page-dispo .dispatch-timeline-day-head strong{grid-column:2;font-size:10px}
#page-dispo .dispatch-timeline-day-head small{grid-column:1/-1;max-width:112px;margin-top:1px;font-size:7.2px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#b23b3b}
#page-dispo .dispatch-timeline-day-head.is-weekend{background:#f0f2f4}
#page-dispo .dispatch-timeline-day-head.is-holiday{background:#fff2f2}
#page-dispo .dispatch-timeline-day-head.is-today{background:#eaf7f2;box-shadow:inset 0 3px 0 #2eaa78}
#page-dispo .dispatch-timeline-driver{position:sticky;left:0;z-index:18;min-height:86px;box-sizing:border-box;display:grid;align-content:start;gap:3px;padding:9px 10px;border-right:1px solid #d7e0e7;border-bottom:1px solid #e6ebef;background:#fff}
#page-dispo .dispatch-timeline-driver strong{font-size:10px;color:#1e3443;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-timeline-driver small{font-size:8px;color:#758694;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-timeline-cell{min-height:86px;padding:4px;display:flex;flex-direction:column;gap:4px;border-right:1px solid #e6ebef;border-bottom:1px solid #e6ebef;background:#fff;transition:background .12s ease,box-shadow .12s ease}
#page-dispo .dispatch-timeline-cell.is-weekend{background:#fafbfc}
#page-dispo .dispatch-timeline-cell.is-holiday{background:#fffafa}
#page-dispo .dispatch-timeline-cell.is-today{background:#f5fbf8}
#page-dispo .dispatch-timeline-cell.drag-over{background:#edf8f4;box-shadow:inset 0 0 0 2px #4daf88}
#page-dispo .dispatch-timeline-event{min-width:0;display:grid;gap:2px;padding:5px 6px;border:1px solid #dbe3e8;border-left:4px solid #8395a2;border-radius:8px;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.06);cursor:pointer;user-select:none}
#page-dispo .dispatch-timeline-event.is-draggable{cursor:grab}
#page-dispo .dispatch-timeline-event.dragging{opacity:.45}
#page-dispo .dispatch-timeline-event:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(15,23,42,.10)}
#page-dispo .dispatch-timeline-event.status-offen{border-left-color:#94a3b8}
#page-dispo .dispatch-timeline-event.status-disponiert{border-left-color:#f59e0b;background:#fffaf0}
#page-dispo .dispatch-timeline-event.status-angenommen{border-left-color:#6366f1;background:#f8f8ff}
#page-dispo .dispatch-timeline-event.status-unterwegs{border-left-color:#2789d8;background:#f3f9fe}
#page-dispo .dispatch-timeline-event.status-angekommen{border-left-color:#8b5cf6;background:#faf7ff}
#page-dispo .dispatch-timeline-event.status-gewogen{border-left-color:#0d9488;background:#f2fbfa}
#page-dispo .dispatch-timeline-event.status-erledigt{border-left-color:#22a06b;background:#f3fbf7;opacity:.82}
#page-dispo .dispatch-timeline-event-top{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:5px}
#page-dispo .dispatch-timeline-event-top strong{min-width:0;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#1f3442}
#page-dispo .dispatch-timeline-event-top span{flex:0 0 auto;font-size:6.8px;text-transform:uppercase;color:#718290}
#page-dispo .dispatch-timeline-event-partner{font-size:8.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#334b5b}
#page-dispo .dispatch-timeline-event small{font-size:7.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#738492}
#page-dispo .dispatch-timeline-empty{grid-column:1/-1;padding:28px;color:#82929f;text-align:center;font-size:10px}

.dispatch-timeline-detail-box{width:min(920px,94vw);max-height:min(820px,92vh)}
.dispatch-timeline-detail-body{display:grid;gap:12px;overflow:auto}
.dispatch-timeline-detail-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.dispatch-timeline-detail-summary section{padding:12px;border:1px solid #e1e8ed;border-radius:11px;background:#fbfcfd}
.dispatch-timeline-detail-summary section.wide{grid-column:1/-1}
.dispatch-timeline-detail-kicker{display:block;margin-bottom:8px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#567180}
.dispatch-timeline-detail-summary dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
.dispatch-timeline-detail-summary dl div{min-width:0}
.dispatch-timeline-detail-summary dt{font-size:8px;text-transform:uppercase;color:#8797a5}
.dispatch-timeline-detail-summary dd{margin:2px 0 0;font-size:10px;font-weight:600;color:#263f4f;overflow-wrap:anywhere}
.dispatch-timeline-detail-section{border:1px solid #e1e8ed;border-radius:11px;overflow:hidden}
.dispatch-timeline-detail-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;background:#f5f8fa;border-bottom:1px solid #e1e8ed}
.dispatch-timeline-detail-section-head strong{font-size:10px;color:#263f4f}
.dispatch-timeline-detail-section-head small{font-size:8.5px;color:#718493}
.dispatch-timeline-detail-legs{display:grid}
.dispatch-timeline-detail-leg{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 10px;border-bottom:1px solid #edf1f4}
.dispatch-timeline-detail-leg:last-child{border-bottom:0}
.dispatch-timeline-detail-leg-no{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#edf3f6;color:#456273;font-size:8px;font-weight:800}
.dispatch-timeline-detail-leg-main{min-width:0;display:grid;gap:2px}
.dispatch-timeline-detail-leg-main strong{font-size:9.5px;color:#243c4b}
.dispatch-timeline-detail-leg-main small{font-size:8.5px;color:#718493;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dispatch-timeline-detail-leg-meta{display:flex;align-items:center;justify-content:flex-end;gap:5px;white-space:nowrap}
.dispatch-timeline-detail-leg-meta .dispatch-status-pill{font-size:7.5px}

body.dispatch-workspace-active #page-dispo.active:has(#dispatch-timeline-view:not([hidden])){grid-template-rows:auto auto minmax(0,1fr) auto}
#page-dispo:has(#dispatch-timeline-view:not([hidden])) .dispatch-kpis{display:none}
#page-dispo:has(#dispatch-timeline-view:not([hidden])) .dispatch-toolbar{grid-template-columns:minmax(220px,1fr) auto auto auto minmax(140px,190px) auto auto auto}

@media(max-width:1280px){
  #page-dispo:has(#dispatch-timeline-view:not([hidden])) .dispatch-toolbar{grid-template-columns:minmax(190px,1fr) auto auto auto auto auto}
  #page-dispo .dispatch-timeline-grid{--dispatch-timeline-day-width:118px;grid-template-columns:150px repeat(var(--dispatch-timeline-days),minmax(var(--dispatch-timeline-day-width),1fr));min-width:calc(150px + var(--dispatch-timeline-days) * var(--dispatch-timeline-day-width))}
}
@media(max-width:800px){
  #page-dispo .dispatch-timeline-backlog{grid-template-columns:1fr}
  #page-dispo .dispatch-timeline-backlog-head{display:none}
  .dispatch-timeline-detail-summary{grid-template-columns:1fr}
  .dispatch-timeline-detail-summary section.wide{grid-column:auto}
  .dispatch-timeline-detail-summary dl{grid-template-columns:1fr}
}
#page-dispo .dispatch-today-split:has(.dispatch-busy-days-toggle[hidden])>#dispatch-today{border-radius:8px;margin-right:0}

/* V15.70 final – lesbarer produktiver Zeitstrahl und Monatsnavigator. */
#page-dispo .dispatch-timeline-range-controls label{font-size:10.5px;gap:5px}
#page-dispo .dispatch-timeline-range-controls select{height:32px;min-width:58px;padding:0 8px;font-size:11px}
#page-dispo .dispatch-date-nav{position:relative;gap:5px}
#page-dispo .dispatch-date-nav>.dispatch-date-step{width:32px!important;padding:0!important;justify-content:center;font-size:15px!important}
#page-dispo .dispatch-date-nav>.dispatch-today-button{height:32px!important;padding-inline:10px!important;font-size:10.5px!important}
#page-dispo .dispatch-calendar-toggle{height:32px!important;min-width:190px;max-width:235px;padding:0 9px!important;display:flex!important;align-items:center;justify-content:center;gap:7px;border-radius:9px!important;font-size:10.5px!important;white-space:nowrap}
#page-dispo .dispatch-calendar-toggle[hidden]{display:none!important}
#page-dispo .dispatch-calendar-toggle strong{font-size:11px;font-weight:700;color:#233c4b}
#page-dispo .dispatch-date-calendar-icon{font-size:13px;line-height:1}
#page-dispo .dispatch-date-caret{font-size:8px;color:#78909c}
#page-dispo .dispatch-date-today-pill{padding:2px 6px;border-radius:999px;background:#f59e0b;color:#fff;font-size:8px;font-weight:800;text-transform:lowercase;letter-spacing:.01em}

#page-dispo .dispatch-calendar-popover{position:absolute;left:34px;right:auto;top:38px;z-index:90;width:344px;max-height:none;overflow:visible;padding:10px;background:#fff;border:1px solid #d7e0e7;border-radius:14px;box-shadow:0 18px 45px rgba(15,23,42,.20)}
#page-dispo .dispatch-calendar-popover[hidden]{display:none!important}
#page-dispo .dispatch-calendar-head{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:6px;margin-bottom:8px}
#page-dispo .dispatch-calendar-head button{width:34px;height:34px;margin:0;padding:0;display:grid;place-items:center;border:0;border-radius:9px;background:#f1f5f7;color:#294554;font-size:16px;cursor:pointer}
#page-dispo .dispatch-calendar-head button:hover{background:#e6eef2}
#page-dispo .dispatch-calendar-head strong{text-align:center;text-transform:capitalize;font-size:14px;color:#1e3948}
#page-dispo .dispatch-calendar-weekdays,#page-dispo .dispatch-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
#page-dispo .dispatch-calendar-weekdays{margin-bottom:4px}
#page-dispo .dispatch-calendar-weekdays span{text-align:center;font-size:9px;font-weight:700;color:#7b8f9b}
#page-dispo .dispatch-calendar-blank{height:39px}
#page-dispo .dispatch-calendar-grid .dispatch-calendar-day{position:relative;width:100%;height:39px;margin:0;padding:0;display:grid;place-items:center;border:1px solid transparent;border-radius:10px;background:transparent;color:#2a4150;font-size:11px;font-weight:600;cursor:pointer}
#page-dispo .dispatch-calendar-grid .dispatch-calendar-day:hover{background:#eef5f7;border-color:#d7e4e9}
#page-dispo .dispatch-calendar-grid .dispatch-calendar-day.is-weekend{color:#a35b5b;background:#fbf7f7}
#page-dispo .dispatch-calendar-grid .dispatch-calendar-day.is-holiday{color:#b23b3b;background:#fff0f0}
#page-dispo .dispatch-calendar-grid .dispatch-calendar-day.is-today{box-shadow:inset 0 0 0 2px #2eaa78}
#page-dispo .dispatch-calendar-grid .dispatch-calendar-day.is-selected{background:#fff4e3;border-color:#f59e0b;color:#8a4c00;box-shadow:inset 0 0 0 1px #f59e0b}
#page-dispo .dispatch-calendar-grid .dispatch-calendar-day.is-selected.is-today{box-shadow:inset 0 0 0 2px #2eaa78,0 0 0 2px #f6d18f}
#page-dispo .dispatch-calendar-grid .dispatch-calendar-day i{position:absolute;left:50%;bottom:3px;width:5px;height:5px;transform:translateX(-50%);border-radius:50%;background:#2584c6;box-shadow:0 0 0 1px #fff}
#page-dispo .dispatch-calendar-grid .dispatch-calendar-day.is-selected i{background:#d97706}
#page-dispo .dispatch-calendar-legend{display:flex;flex-wrap:wrap;gap:7px 14px;margin-top:9px;padding-top:8px;border-top:1px solid #edf1f4;color:#718493;font-size:9px}
#page-dispo .dispatch-calendar-legend span{display:flex;align-items:center;gap:5px}
#page-dispo .dispatch-calendar-legend i{display:inline-block;width:7px;height:7px;border-radius:50%}
#page-dispo .dispatch-calendar-legend i.busy{background:#2584c6}
#page-dispo .dispatch-calendar-legend i.holiday{background:#d45b5b}

#page-dispo .dispatch-timeline-view{gap:8px}
#page-dispo .dispatch-timeline-backlog{min-height:64px;padding:7px 9px;grid-template-columns:170px minmax(0,1fr);gap:9px}
#page-dispo .dispatch-timeline-backlog-head strong{font-size:12px}
#page-dispo .dispatch-timeline-backlog-head small{font-size:10px;line-height:1.3}
#page-dispo .dispatch-timeline-backlog-items{gap:7px}
#page-dispo .dispatch-timeline-backlog-card{flex-basis:250px;height:48px;grid-template-columns:28px minmax(0,1fr);gap:7px;padding:5px 8px;border-radius:9px}
#page-dispo .dispatch-timeline-backlog-card>span{font-size:16px}
#page-dispo .dispatch-timeline-backlog-card strong{font-size:11px}
#page-dispo .dispatch-timeline-backlog-card small{font-size:9.5px}
#page-dispo .dispatch-timeline-backlog-empty{font-size:10.5px}

#page-dispo .dispatch-timeline-grid{--dispatch-timeline-day-width:148px;grid-template-columns:190px repeat(var(--dispatch-timeline-days),minmax(var(--dispatch-timeline-day-width),1fr));min-width:calc(190px + var(--dispatch-timeline-days) * var(--dispatch-timeline-day-width))}
#page-dispo .dispatch-timeline-corner,#page-dispo .dispatch-timeline-day-head{height:58px}
#page-dispo .dispatch-timeline-corner{padding:5px 8px;font-size:11px;display:grid;grid-template-rows:auto 26px;align-content:center;gap:3px}
#page-dispo .dispatch-timeline-driver-head-title{min-width:0;display:flex;align-items:center;justify-content:space-between;color:#314b5a}
#page-dispo .dispatch-timeline-driver-head-title strong{font-size:10.5px}
#page-dispo .dispatch-timeline-driver-head-controls{min-width:0;display:grid;grid-template-columns:94px minmax(0,1fr);gap:4px;align-items:center}
#page-dispo .dispatch-timeline-driver-head-controls select,#page-dispo .dispatch-timeline-driver-head-controls input{box-sizing:border-box;width:100%;height:24px;min-width:0;border:1px solid #d4dee5;border-radius:7px;background:#fff;padding:0 6px;font-size:8.5px;color:#294250;outline:none}
#page-dispo .dispatch-timeline-driver-head-controls input{padding-right:4px}
#page-dispo .dispatch-timeline-driver-head-controls select:focus,#page-dispo .dispatch-timeline-driver-head-controls input:focus{border-color:#62a98f;box-shadow:0 0 0 2px rgba(46,170,120,.12)}
#page-dispo .dispatch-timeline-driver-head-controls input::placeholder{color:#9aa8b2}
#page-dispo .dispatch-timeline-filter-empty{position:sticky;left:190px;z-index:2;grid-column:2/-1;background:#fff}
#page-dispo .dispatch-timeline-grid [data-dispatch-timeline-driver-row][hidden]{display:none!important}
#page-dispo .dispatch-timeline-day-head{gap:1px 6px;padding:5px 7px}
#page-dispo .dispatch-timeline-day-head span{font-size:9.5px;font-weight:700}
#page-dispo .dispatch-timeline-day-head strong{font-size:12px}
#page-dispo .dispatch-timeline-day-head small{max-width:132px;margin-top:2px;font-size:8.5px;line-height:1.15}
#page-dispo .dispatch-timeline-driver{min-height:104px;gap:5px;padding:11px 12px}
#page-dispo .dispatch-timeline-driver strong{font-size:12px}
#page-dispo .dispatch-timeline-driver small{font-size:10px}
#page-dispo .dispatch-timeline-cell{min-height:104px;padding:6px;gap:6px}
#page-dispo .dispatch-timeline-event{gap:3px;padding:7px 8px;border-left-width:4px;border-radius:9px}
#page-dispo .dispatch-timeline-event-top{gap:7px}
#page-dispo .dispatch-timeline-event-top strong{font-size:11px}
#page-dispo .dispatch-timeline-event-top span{font-size:8px;font-weight:700}
#page-dispo .dispatch-timeline-event-partner{font-size:10.5px}
#page-dispo .dispatch-timeline-event small{font-size:9.5px}
#page-dispo .dispatch-timeline-empty{font-size:11px}

.dispatch-timeline-detail-box{width:min(980px,95vw);max-height:min(840px,93vh)}
.dispatch-timeline-detail-kicker{font-size:10px}
.dispatch-timeline-detail-summary dt{font-size:9.5px}
.dispatch-timeline-detail-summary dd{font-size:11.5px}
.dispatch-timeline-detail-section-head strong{font-size:11.5px}
.dispatch-timeline-detail-section-head small{font-size:10px}
.dispatch-timeline-detail-leg-main strong{font-size:11px}
.dispatch-timeline-detail-leg-main small{font-size:10px}
.dispatch-timeline-detail-leg-meta .dispatch-status-pill{font-size:8.5px}

@media(max-width:1280px){
  #page-dispo .dispatch-calendar-toggle{min-width:170px}
  #page-dispo .dispatch-timeline-grid{--dispatch-timeline-day-width:138px;grid-template-columns:170px repeat(var(--dispatch-timeline-days),minmax(var(--dispatch-timeline-day-width),1fr));min-width:calc(170px + var(--dispatch-timeline-days) * var(--dispatch-timeline-day-width))}
}

/* V15.70.2 – flachere Fahrerzeilen und Tagesbilanz im Zeitstrahl. */
#page-dispo .dispatch-timeline-driver{min-height:58px;padding:8px 12px;gap:2px}
#page-dispo .dispatch-timeline-cell{min-height:58px;padding:4px 5px;gap:5px}
#page-dispo .dispatch-timeline-cell.has-tours{align-content:start}
#page-dispo .dispatch-timeline-day-summary{min-width:0;display:grid;gap:1px;padding:3px 5px;border:1px solid #dce6eb;border-radius:7px;background:#f5f8fa;color:#4b6271;line-height:1.15}
#page-dispo .dispatch-timeline-day-summary>div{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:5px}
#page-dispo .dispatch-timeline-day-summary strong{min-width:0;font-size:9.5px;color:#274252;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-timeline-day-summary span{flex:0 0 auto;font-size:8.5px;font-weight:700;color:#506775;white-space:nowrap}
#page-dispo .dispatch-timeline-day-summary small{font-size:8.5px;color:#5d7380;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-timeline-day-summary.is-over{border-color:#efc3c3;background:#fff4f4}
#page-dispo .dispatch-timeline-day-summary.is-over strong,#page-dispo .dispatch-timeline-day-summary.is-over span{color:#b42318}
#page-dispo .dispatch-timeline-day-summary.is-incomplete{border-style:dashed;background:#fffaf0}
#page-dispo .dispatch-timeline-day-summary.is-incomplete small{color:#a15c00}
#page-dispo .dispatch-timeline-event{padding:5px 7px;gap:2px}

@media(max-width:1280px){
  #page-dispo .dispatch-timeline-driver,#page-dispo .dispatch-timeline-cell{min-height:56px}
  #page-dispo .dispatch-timeline-day-summary strong{font-size:9px}
  #page-dispo .dispatch-timeline-day-summary span,#page-dispo .dispatch-timeline-day-summary small{font-size:8px}
}

/* V15.71 – auftragszentrierte Dispo-Arbeitsansicht. */
#page-dispo .dispatch-order-view{background:#f5f7f9}
#page-dispo .dispatch-order-leg-grid{grid-template-columns:38px minmax(190px,1.05fr) minmax(250px,1.55fr) 155px 128px 180px 170px 78px;min-width:1390px}
#page-dispo .dispatch-order-list{min-width:1390px;padding:7px;gap:7px}
#page-dispo .dispatch-order-item{border-radius:12px}
#page-dispo .dispatch-order-summary{min-height:50px;padding:7px 9px;gap:10px}
#page-dispo .dispatch-order-summary-left{gap:7px;cursor:pointer;overflow:hidden}
#page-dispo .dispatch-order-summary-left strong{font-size:11.5px}
#page-dispo .dispatch-order-partner{font-size:10.5px;font-weight:600;color:#334155}
#page-dispo .dispatch-order-summary-right{gap:6px}
#page-dispo .dispatch-order-structure-summary,#page-dispo .dispatch-order-plan-summary,#page-dispo .dispatch-order-routing-summary{display:inline-flex;align-items:center;min-height:24px;padding:3px 7px;border-radius:999px;font-size:9px;white-space:nowrap;background:#f1f5f9;color:#475569}
#page-dispo .dispatch-order-plan-summary{background:#f8fafc}
#page-dispo .dispatch-order-routing-summary{background:#ecfeff;color:#155e75}
#page-dispo .dispatch-order-routing-summary.partial,#page-dispo .dispatch-order-routing-summary.missing{background:#fff7ed;color:#c2410c}
#page-dispo .dispatch-order-request-summary{display:inline-flex;align-items:center;min-height:24px;padding:3px 7px;border-radius:999px;background:#fff7ed;color:#9a3412}
#page-dispo .dispatch-order-segment{background:#fff}
#page-dispo .dispatch-order-segment+.dispatch-order-segment{border-top:2px solid #cbd5e1}
#page-dispo .dispatch-order-segment-head{min-width:1390px;display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,2.1fr);align-items:center;gap:14px;padding:8px 10px;background:#f8fafc;border-bottom:1px solid #e2e8f0}
#page-dispo .dispatch-order-segment-title{display:flex;align-items:center;gap:9px;min-width:0}
#page-dispo .dispatch-order-segment-no{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e2e8f0;color:#334155;font-size:11px;font-weight:800;flex:0 0 auto}
#page-dispo .dispatch-order-segment-title>div{min-width:0;display:grid;gap:1px}
#page-dispo .dispatch-order-segment-title strong{font-size:10.5px;color:#1e293b}
#page-dispo .dispatch-order-segment-title small{font-size:8.5px;color:#64748b}
#page-dispo .dispatch-order-segment-meta{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0;flex-wrap:wrap}
#page-dispo .dispatch-order-segment-meta>span{display:inline-flex;align-items:center;min-height:24px;padding:3px 7px;border-radius:7px;background:#fff;border:1px solid #e2e8f0;color:#475569;font-size:9px;white-space:nowrap}
#page-dispo .dispatch-order-segment-state.released{background:#f0fdf4;border-color:#bbf7d0;color:#166534}
#page-dispo .dispatch-order-segment-state.waiting{background:#fffbeb;border-color:#fde68a;color:#92400e}
#page-dispo .dispatch-order-leg-row{min-height:46px}
#page-dispo .dispatch-order-leg-action{flex-wrap:nowrap}
#page-dispo .dispatch-order-leg-route{font-size:9.5px}
#page-dispo .dispatch-order-leg-routing{display:flex;align-items:center;padding:7px 10px;min-width:0}
#page-dispo .dispatch-order-leg-routing .dispatch-travel-badge,#page-dispo .dispatch-order-leg-routing .dispatch-routing-missing{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#page-dispo .dispatch-order-progress{grid-template-columns:auto 72px}
#page-dispo .dispatch-order-progress i{width:72px}
#page-dispo .dispatch-order-summary-right .dispatch-tour-action-pill.neutral{min-width:auto}
#page-dispo .dispatch-order-item.is-unplanned .dispatch-order-summary-left{cursor:default}

@media(max-width:1450px){
  #page-dispo .dispatch-order-summary-left{gap:5px}
  #page-dispo .dispatch-order-structure-summary,#page-dispo .dispatch-order-plan-summary,#page-dispo .dispatch-order-routing-summary,#page-dispo .dispatch-order-request-summary{font-size:8.5px;padding-left:6px;padding-right:6px}
  #page-dispo .dispatch-order-driver-summary{display:none}
}

/* V15.71.1 – Zeitstrahl: Abwesenheitsblocker und informativer Planungsvorrat. */
#page-dispo .dispatch-timeline-cell.is-absent{
  cursor:not-allowed;
  background:repeating-linear-gradient(135deg,#fff8f8 0,#fff8f8 10px,#fff3f3 10px,#fff3f3 20px);
}
#page-dispo .dispatch-timeline-cell.is-absent.is-weekend{background:repeating-linear-gradient(135deg,#fbf6f6 0,#fbf6f6 10px,#f7eeee 10px,#f7eeee 20px)}
#page-dispo .dispatch-timeline-cell.is-absent.drag-blocked{box-shadow:inset 0 0 0 2px #dc4c4c;background:#fff0f0}
#page-dispo .dispatch-timeline-absence{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 6px;padding:4px 6px;border:1px solid #f3c7c7;border-radius:7px;background:#fff3f3;color:#9f2424;line-height:1.15;user-select:none}
#page-dispo .dispatch-timeline-absence strong{font-size:9.5px;white-space:nowrap}
#page-dispo .dispatch-timeline-absence small{min-width:0;font-size:8.5px;color:#a74444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

#page-dispo .dispatch-timeline-backlog{min-height:88px;align-items:stretch}
#page-dispo .dispatch-timeline-backlog-head{align-content:center}
#page-dispo .dispatch-timeline-backlog-items{align-items:stretch;padding-top:1px;padding-bottom:3px}
#page-dispo .dispatch-timeline-backlog-card{
  flex:0 0 310px;
  height:72px;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto auto auto auto;
  align-content:center;
  gap:2px;
  padding:6px 9px;
  cursor:grab;
  user-select:none;
}
#page-dispo .dispatch-timeline-backlog-card:active{cursor:grabbing}
#page-dispo .dispatch-timeline-backlog-card-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:7px}
#page-dispo .dispatch-timeline-backlog-card-head strong{min-width:0;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#203747}
#page-dispo .dispatch-timeline-backlog-card-head span{flex:0 1 auto;max-width:44%;padding:2px 5px;border-radius:999px;background:#eef4f8;color:#50697a;font-size:7.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-timeline-backlog-card-partner{min-width:0;font-size:10px;font-weight:700;color:#2e4656;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-timeline-backlog-card small{min-width:0;font-size:8.6px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#718493}
#page-dispo .dispatch-timeline-backlog-card.order:hover{border-color:#77a8dc;background:#f7fbff}
#page-dispo .dispatch-timeline-backlog-card.tour:hover{border-color:#e9b15f;background:#fffaf2}
.dispatch-timeline-detail-empty{padding:16px;color:#7b8e9b;text-align:center;font-size:10px}

@media(max-width:1280px){
  #page-dispo .dispatch-timeline-backlog{min-height:82px}
  #page-dispo .dispatch-timeline-backlog-card{flex-basis:285px;height:66px;padding:5px 8px}
  #page-dispo .dispatch-timeline-backlog-card-head strong{font-size:10px}
  #page-dispo .dispatch-timeline-backlog-card-partner{font-size:9.5px}
  #page-dispo .dispatch-timeline-backlog-card small{font-size:8px}
}

/* V15.71.2 – stabile Dispo-Kopfzeile: feste Zonen, zentrierte Datumsnavigation, eine Kartendichte. */
#page-dispo .dispatch-toolbar{
  display:grid;
  grid-template-columns:1fr;
  gap:5px;
  min-height:0;
  padding:6px 8px;
}
#page-dispo .dispatch-toolbar-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-width:0;
}
#page-dispo .dispatch-toolbar-primary{min-height:38px}
#page-dispo .dispatch-toolbar-secondary{min-height:30px}
#page-dispo .dispatch-toolbar-left,
#page-dispo .dispatch-toolbar-center,
#page-dispo .dispatch-toolbar-right{min-width:0;display:flex;align-items:center}
#page-dispo .dispatch-toolbar-left{justify-content:flex-start}
#page-dispo .dispatch-toolbar-center{justify-content:center;justify-self:center}
#page-dispo .dispatch-toolbar-right{justify-content:flex-end}
#page-dispo .dispatch-toolbar-primary .dispatch-toolbar-left{width:100%}
#page-dispo .dispatch-toolbar-primary .dispatch-search-wrap{width:100%;max-width:720px}
#page-dispo .dispatch-toolbar-actions{justify-content:flex-end}
#page-dispo .dispatch-toolbar-filters{gap:8px;white-space:nowrap}
#page-dispo .dispatch-toolbar-context-center{min-width:180px}
#page-dispo .dispatch-view-switch{justify-content:flex-start}

/* Der Tag ist in allen drei Ansichten derselbe zentrale Anker. */
#page-dispo .dispatch-date-nav{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:3px 5px;
  border:1px solid #91b8aa;
  border-radius:12px;
  background:#edf6f3;
  box-shadow:0 1px 4px rgba(29,78,66,.10);
  white-space:nowrap;
}
#page-dispo .dispatch-date-nav>.dispatch-date-step{
  width:34px!important;
  height:34px!important;
  padding:0!important;
  justify-content:center;
  border-color:#b8cec6;
  background:#fff;
  color:#284b40;
  font-size:16px!important;
  font-weight:800;
}
#page-dispo .dispatch-calendar-toggle{
  width:238px;
  min-width:238px;
  max-width:238px;
  height:34px!important;
  padding:0 12px!important;
  border-color:#315969!important;
  border-radius:9px!important;
  background:#315969!important;
  color:#fff!important;
  box-shadow:0 1px 2px rgba(15,23,42,.12);
  font-size:11px!important;
  font-weight:700;
}
#page-dispo .dispatch-calendar-toggle:hover{background:#294e5d!important;border-color:#294e5d!important}
#page-dispo .dispatch-calendar-toggle strong{font-size:11.5px;font-weight:800;color:#fff}
#page-dispo .dispatch-calendar-toggle .dispatch-date-calendar-icon,
#page-dispo .dispatch-calendar-toggle .dispatch-date-caret{color:#fff}
#page-dispo .dispatch-date-today-pill{background:#f59e0b;color:#fff}
#page-dispo .dispatch-date-nav>.dispatch-today-button{
  height:34px!important;
  padding-inline:11px!important;
  border-color:#e7ba5e;
  background:#fff7df;
  color:#7c5000;
  font-size:10px!important;
  font-weight:800;
}
#page-dispo .dispatch-date-nav>.dispatch-today-button:hover{background:#ffefbd}
#page-dispo .dispatch-busy-days-menu{left:50%;right:auto;top:43px;transform:translateX(-50%)}

/* Kontextschalter dürfen erscheinen/verschwinden, ohne den Rest der Toolbar zu verschieben. */
#page-dispo .dispatch-timeline-range-controls{justify-content:center}
#page-dispo .dispatch-show-completed{height:30px}
#page-dispo .dispatch-filter select{height:30px}

@media(max-width:1280px){
  #page-dispo .dispatch-toolbar-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px}
  #page-dispo .dispatch-toolbar-primary .dispatch-search-wrap{max-width:520px}
  #page-dispo .dispatch-calendar-toggle{width:210px;min-width:210px;max-width:210px}
  #page-dispo .dispatch-toolbar-context-center{min-width:150px}
}
@media(max-width:980px){
  #page-dispo .dispatch-toolbar-primary{grid-template-columns:1fr auto;grid-template-areas:"search actions" "date date";row-gap:6px}
  #page-dispo .dispatch-toolbar-primary>.dispatch-toolbar-left{grid-area:search}
  #page-dispo .dispatch-toolbar-primary>.dispatch-toolbar-center{grid-area:date;justify-self:center}
  #page-dispo .dispatch-toolbar-primary>.dispatch-toolbar-right{grid-area:actions}
  #page-dispo .dispatch-toolbar-secondary{grid-template-columns:1fr;gap:5px}
  #page-dispo .dispatch-toolbar-secondary>.dispatch-toolbar-left,
  #page-dispo .dispatch-toolbar-secondary>.dispatch-toolbar-center,
  #page-dispo .dispatch-toolbar-secondary>.dispatch-toolbar-right{justify-content:center}
  #page-dispo .dispatch-toolbar-filters{flex-wrap:wrap}
}
/* V15.71.2 Nachschärfung: alte ansichtsspezifische Grid-Spalten der Toolbar dürfen die neue feste Zeilenstruktur nicht mehr beeinflussen. */
#page-dispo .dispatch-toolbar,
#page-dispo:has(#dispatch-timeline-view:not([hidden])) .dispatch-toolbar{display:block;grid-template-columns:none}
#page-dispo .dispatch-toolbar-row+.dispatch-toolbar-row{margin-top:5px}

/* V15.71.3 – datumsoffener Planungspuffer */
#page-dispo .dispatch-planned-date{display:inline-flex;align-items:center;white-space:nowrap;border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:700}


/* V15.71.5 – Fahrverbindungen als Teil der Tourkette */
#page-dispo .dispatch-route-connection{position:relative;flex:0 0 auto;min-height:36px;padding:0 4px 0 22px;pointer-events:none;user-select:none}
#page-dispo .dispatch-route-connection-line{position:absolute;left:10px;top:-8px;bottom:-8px;border-left:2px dotted #9bb6c5}
#page-dispo .dispatch-route-connection-card{position:relative;display:grid;gap:2px;padding:5px 8px;border:1px solid #cfe0e9;border-radius:8px;background:#f6fafc;color:#436170;box-shadow:0 1px 3px rgba(15,23,42,.03)}
#page-dispo .dispatch-route-connection-card:before{content:"";position:absolute;left:-16px;top:50%;width:14px;border-top:2px solid #9bb6c5}
#page-dispo .dispatch-route-connection-card>div{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}
#page-dispo .dispatch-route-connection-card strong{font-size:9.5px;color:#294a5a;white-space:nowrap}
#page-dispo .dispatch-route-connection-card span{font-size:9px;font-weight:700;color:#375f72;white-space:nowrap}
#page-dispo .dispatch-route-connection-card small{min-width:0;font-size:8.5px;color:#718895;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-route-connection.approach .dispatch-route-connection-card{border-color:#c9dfeb;background:#f3f9fc}
#page-dispo .dispatch-route-connection.empty .dispatch-route-connection-card{border-color:#bfe3dc;background:#f2fbf8}
#page-dispo .dispatch-route-connection.return .dispatch-route-connection-card{border-color:#dfd4c2;background:#fcf9f4}
#page-dispo .dispatch-tour-metric-approach,#page-dispo .dispatch-tour-metric-return{display:none!important}

#page-dispo .dispatch-timeline-connection{display:grid;gap:1px;padding:3px 5px;border:1px solid #cfe0e9;border-radius:6px;background:#f6fafc;color:#496775;line-height:1.1;user-select:none}
#page-dispo .dispatch-timeline-connection>div{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:4px}
#page-dispo .dispatch-timeline-connection strong{font-size:8.5px;color:#315363;white-space:nowrap}
#page-dispo .dispatch-timeline-connection span{font-size:8px;font-weight:700;white-space:nowrap}
#page-dispo .dispatch-timeline-connection small{min-width:0;font-size:7.8px;color:#718895;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-timeline-connection.empty{border-color:#bfe3dc;background:#f2fbf8}
#page-dispo .dispatch-timeline-connection.return{border-color:#dfd4c2;background:#fcf9f4}


/* V15.71.6 – Zeitstrahlbereich in die zentrale Datumsnavigation integriert; Fokus wird über „davor“ positioniert. */
#page-dispo .dispatch-date-area{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}
#page-dispo .dispatch-timeline-range-balance{display:none}
#page-dispo .dispatch-date-area.timeline-range-visible{
  display:grid;
  grid-template-columns:148px auto 148px;
  gap:6px;
  align-items:center;
}
#page-dispo .dispatch-date-area.timeline-range-visible>.dispatch-timeline-range-balance{
  display:block;
  width:148px;
  height:1px;
}
#page-dispo .dispatch-date-area>.dispatch-timeline-range-controls{
  justify-self:start;
  height:42px;
  box-sizing:border-box;
  padding:3px 5px;
  border:1px solid #91b8aa;
  border-radius:12px;
  background:#edf6f3;
  box-shadow:0 1px 4px rgba(29,78,66,.10);
}
#page-dispo .dispatch-date-area>.dispatch-timeline-range-controls label{
  gap:3px;
  font-size:8.5px;
  color:#48675d;
  font-weight:700;
}
#page-dispo .dispatch-date-area>.dispatch-timeline-range-controls select{
  height:34px;
  min-width:42px;
  padding:0 5px;
  border-color:#b8cec6;
  border-radius:9px;
  color:#284b40;
  font-weight:700;
}
@media(max-width:1280px){
  #page-dispo .dispatch-date-area.timeline-range-visible{grid-template-columns:138px auto 138px;gap:5px}
  #page-dispo .dispatch-date-area.timeline-range-visible>.dispatch-timeline-range-balance{width:138px}
}
@media(max-width:760px){
  #page-dispo .dispatch-date-area.timeline-range-visible{grid-template-columns:126px auto 126px;gap:4px}
  #page-dispo .dispatch-date-area.timeline-range-visible>.dispatch-timeline-range-balance{width:126px}
  #page-dispo .dispatch-date-area>.dispatch-timeline-range-controls{padding-inline:3px}
  #page-dispo .dispatch-date-area>.dispatch-timeline-range-controls label{font-size:8px}
  #page-dispo .dispatch-date-area>.dispatch-timeline-range-controls select{min-width:38px;padding-inline:3px}
}

/* V15.71.7 – Standard-Segmentgrenzen in Auftragstyp-Transportketten. */

/* V15.71.9 – persönlich konfigurierbarer Planungsvorrat im Zeitstrahl. */
#page-dispo .dispatch-timeline-backlog{min-height:100px;grid-template-columns:182px minmax(0,1fr)}
#page-dispo .dispatch-timeline-backlog-head{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding-right:9px}
#page-dispo .dispatch-timeline-backlog-head>div:first-child{display:grid;gap:1px;min-width:0}
#page-dispo .dispatch-timeline-backlog-fields-toggle{height:24px;padding:2px 7px;font-size:8.5px;line-height:1}
#page-dispo .dispatch-timeline-backlog-field-menu{position:absolute;left:0;top:calc(100% - 2px);z-index:110;width:290px;padding:9px;background:#fff;border:1px solid #cfdbe3;border-radius:11px;box-shadow:0 16px 36px rgba(15,23,42,.18);color:#314b5b}
#page-dispo .dispatch-timeline-backlog-field-menu[hidden]{display:none!important}
#page-dispo .dispatch-timeline-backlog-field-menu-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
#page-dispo .dispatch-timeline-backlog-field-menu-head strong{font-size:11px;color:#203b4a}
#page-dispo .dispatch-timeline-backlog-field-menu-head button{width:24px;height:24px;border:0;border-radius:7px;background:transparent;color:#607887;font-size:17px;line-height:1;cursor:pointer}
#page-dispo .dispatch-timeline-backlog-field-menu-head button:hover{background:#eef4f7;color:#24495b}
#page-dispo .dispatch-timeline-backlog-field-menu>small{display:block;margin:2px 0 7px;font-size:8.5px;line-height:1.25;color:#7a8d99}
#page-dispo .dispatch-timeline-backlog-field-list{display:grid;gap:3px}
#page-dispo .dispatch-timeline-backlog-field-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;min-height:28px;padding:3px 5px;border:1px solid transparent;border-radius:7px}
#page-dispo .dispatch-timeline-backlog-field-row.is-selected{border-color:#d9e8e2;background:#f3f9f7}
#page-dispo .dispatch-timeline-backlog-field-row label{display:flex;align-items:center;gap:6px;min-width:0;font-size:9.5px;cursor:pointer}
#page-dispo .dispatch-timeline-backlog-field-row label span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-timeline-backlog-field-row>div{display:flex;gap:2px}
#page-dispo .dispatch-timeline-backlog-field-row>div button{width:24px;height:22px;padding:0;border:1px solid #d6e0e6;border-radius:6px;background:#fff;color:#486171;cursor:pointer;font-size:11px}
#page-dispo .dispatch-timeline-backlog-field-row>div button:disabled{opacity:.3;cursor:default}
#page-dispo .dispatch-timeline-backlog-field-reset{margin-top:7px;height:25px;font-size:8.5px}
#page-dispo .dispatch-timeline-backlog-card.configurable{flex-basis:292px;height:82px;display:grid;grid-template-rows:18px minmax(0,1fr);align-content:stretch;gap:3px;padding:6px 9px}
#page-dispo .dispatch-timeline-backlog-card-number{min-width:0;display:flex;align-items:center;border-bottom:1px solid #edf2f5;padding-bottom:3px}
#page-dispo .dispatch-timeline-backlog-card-number strong{min-width:0;font-size:10.5px;color:#18394b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-timeline-backlog-card-info{min-width:0;display:grid;align-content:start;gap:1px;overflow:hidden}
#page-dispo .dispatch-timeline-backlog-info{min-width:0;display:grid;grid-template-columns:65px minmax(0,1fr);gap:5px;align-items:center;line-height:1.15}
#page-dispo .dispatch-timeline-backlog-info>span{font-size:7.8px;color:#8595a0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-timeline-backlog-info>strong{min-width:0;font-size:8.8px;font-weight:650;color:#334f60;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1280px){
  #page-dispo .dispatch-timeline-backlog{grid-template-columns:170px minmax(0,1fr)}
  #page-dispo .dispatch-timeline-backlog-card.configurable{flex-basis:270px;height:80px;padding:5px 8px}
  #page-dispo .dispatch-timeline-backlog-info{grid-template-columns:60px minmax(0,1fr)}
}

/* V15.71.10 – schwebender Planungsvorrat im Zeitstrahl. */
#page-dispo .dispatch-timeline-view{position:relative;display:block;min-height:0;height:100%}
#page-dispo .dispatch-timeline-shell{height:100%;min-height:0}
#page-dispo .dispatch-timeline-backlog{
  position:absolute;
  z-index:90;
  top:10px;
  right:22px;
  bottom:10px;
  width:390px;
  min-height:0;
  margin:0;
  padding:0;
  display:block;
  overflow:visible;
  border:1px solid #cbd9e1;
  border-radius:13px;
  background:rgba(255,255,255,.985);
  box-shadow:0 18px 44px rgba(15,23,42,.20);
}
#page-dispo .dispatch-timeline-backlog.drag-over{outline:2px solid #ef9f24;outline-offset:2px;background:#fffaf1}
#page-dispo .dispatch-timeline-backlog-panel{height:100%;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border-radius:inherit}
#page-dispo .dispatch-timeline-backlog-head{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:10px;
  padding:11px 12px 8px;
  border-right:0;
  border-bottom:1px solid #e5edf1;
  background:#fbfdfe;
}
#page-dispo .dispatch-timeline-backlog-title{min-width:0;display:grid;gap:2px}
#page-dispo .dispatch-timeline-backlog-title>div{display:flex;align-items:center;gap:7px;min-width:0}
#page-dispo .dispatch-timeline-backlog-title strong{font-size:13px;color:#173b4d}
#page-dispo .dispatch-timeline-backlog-title small{font-size:9px;line-height:1.25;color:#7d8f9b}
#page-dispo .dispatch-timeline-backlog-count{display:inline-flex;align-items:center;justify-content:center;min-width:23px;height:19px;padding:0 6px;border-radius:999px;background:#e9f3f6;color:#315c6c;font-size:9px;font-weight:800}
#page-dispo .dispatch-timeline-backlog-actions{display:flex;align-items:center;gap:5px}
#page-dispo .dispatch-timeline-backlog-fields-toggle{height:27px;padding:2px 8px;font-size:9px}
#page-dispo .dispatch-timeline-backlog-collapse{width:28px;height:27px;padding:0;font-size:18px;line-height:1}
#page-dispo .dispatch-timeline-backlog-search-wrap{margin:8px 10px 7px;height:31px;display:grid;grid-template-columns:23px minmax(0,1fr);align-items:center;border:1px solid #d7e2e8;border-radius:8px;background:#fff;color:#7d909c}
#page-dispo .dispatch-timeline-backlog-search-wrap:focus-within{border-color:#8bb5c4;box-shadow:0 0 0 2px rgba(77,142,165,.10)}
#page-dispo .dispatch-timeline-backlog-search-wrap>span{text-align:center;font-size:13px}
#page-dispo .dispatch-timeline-backlog-search-wrap input{width:100%;height:29px;padding:0 8px 0 0;border:0;outline:0;background:transparent;color:#294757;font-size:10px}
#page-dispo .dispatch-timeline-backlog-search-wrap input::placeholder{color:#9aa8b1}
#page-dispo .dispatch-timeline-backlog-items{min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:7px;overflow-y:auto;overflow-x:hidden;padding:2px 10px 11px;scrollbar-width:thin}
#page-dispo .dispatch-timeline-backlog-card,
#page-dispo .dispatch-timeline-backlog-card.configurable{
  flex:0 0 auto;
  width:100%;
  min-width:0;
  height:auto;
  min-height:62px;
  box-sizing:border-box;
  cursor:grab;
}
#page-dispo .dispatch-timeline-backlog-card.configurable{display:grid;grid-template-rows:20px auto;gap:4px;padding:7px 10px}
#page-dispo .dispatch-timeline-backlog-card:active{cursor:grabbing}
#page-dispo .dispatch-timeline-backlog-card-number strong{font-size:11px}
#page-dispo .dispatch-timeline-backlog-card-info{gap:2px;overflow:visible}
#page-dispo .dispatch-timeline-backlog-info{grid-template-columns:78px minmax(0,1fr);gap:7px;min-height:14px}
#page-dispo .dispatch-timeline-backlog-info>span{font-size:8.5px}
#page-dispo .dispatch-timeline-backlog-info>strong{font-size:9.5px;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
#page-dispo .dispatch-timeline-backlog-card.tour{display:grid;grid-template-columns:1fr;gap:3px;padding:8px 10px;min-height:82px}
#page-dispo .dispatch-timeline-backlog-card.tour .dispatch-timeline-backlog-card-head{display:flex}
#page-dispo .dispatch-timeline-backlog-card.tour .dispatch-timeline-backlog-card-partner{font-size:10px}
#page-dispo .dispatch-timeline-backlog-card.tour small{font-size:8.8px}
#page-dispo .dispatch-timeline-backlog-empty{padding:18px 8px;text-align:center;font-size:10px;color:#8798a4}
#page-dispo .dispatch-timeline-backlog-field-menu{
  left:auto;
  right:8px;
  top:48px;
  z-index:120;
  width:310px;
  max-height:min(520px,calc(100vh - 220px));
  overflow:auto;
}
#page-dispo .dispatch-timeline-backlog-field-menu>small{font-size:9px}
#page-dispo .dispatch-timeline-backlog-field-list{gap:4px}
#page-dispo .dispatch-timeline-backlog-field-row{min-height:31px;padding:4px 6px}
#page-dispo .dispatch-timeline-backlog-field-row label{font-size:10px}
#page-dispo .dispatch-timeline-backlog-collapsed-toggle{display:none}
#page-dispo .dispatch-timeline-backlog.is-collapsed{
  top:10px;
  right:22px;
  bottom:auto;
  width:auto;
  min-height:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
#page-dispo .dispatch-timeline-backlog.is-collapsed .dispatch-timeline-backlog-panel{display:none}
#page-dispo .dispatch-timeline-backlog.is-collapsed .dispatch-timeline-backlog-collapsed-toggle{
  display:flex;
  align-items:center;
  gap:7px;
  height:34px;
  padding:0 10px 0 12px;
  border:1px solid #bdd3dc;
  border-radius:999px;
  background:#f9fcfd;
  color:#244b5d;
  box-shadow:0 8px 22px rgba(15,23,42,.14);
  cursor:pointer;
  font-size:10px;
  font-weight:700;
}
#page-dispo .dispatch-timeline-backlog-collapsed-toggle strong{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:20px;padding:0 5px;border-radius:999px;background:#dcebf0;color:#244b5d;font-size:9px}
#page-dispo .dispatch-timeline-backlog-collapsed-toggle i{font-style:normal;font-size:16px;line-height:1}
@media(max-width:1280px){
  #page-dispo .dispatch-timeline-backlog{width:350px;right:18px}
  #page-dispo .dispatch-timeline-backlog.is-collapsed{right:18px}
  #page-dispo .dispatch-timeline-backlog-info{grid-template-columns:70px minmax(0,1fr)}
}
@media(max-width:900px){
  #page-dispo .dispatch-timeline-backlog{width:min(340px,calc(100% - 32px));right:16px}
  #page-dispo .dispatch-timeline-backlog.is-collapsed{right:16px}
}

/* V15.71.10 – schwebender Planungsvorrat, freie Kartenfelder und optionale Feldfarben. */
#page-dispo .dispatch-timeline-backlog-field-row{grid-template-columns:minmax(0,1fr) auto}
#page-dispo .dispatch-timeline-backlog-field-tools{display:flex;align-items:center;gap:3px}
#page-dispo .dispatch-timeline-backlog-color-wrap{
  width:24px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid #d6e0e6;
  border-radius:6px;
  background:#fff;
  box-sizing:border-box;
}
#page-dispo .dispatch-timeline-backlog-color-wrap.is-unset{opacity:.45}
#page-dispo .dispatch-timeline-backlog-color-wrap:has(input:disabled){opacity:.25}
#page-dispo .dispatch-timeline-backlog-color-wrap input[type="color"]{
  width:30px;
  height:30px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}
#page-dispo .dispatch-timeline-backlog-color-wrap input[type="color"]:disabled{cursor:default}
#page-dispo .dispatch-timeline-backlog-color-wrap input[type="color"]::-webkit-color-swatch-wrapper{padding:4px}
#page-dispo .dispatch-timeline-backlog-color-wrap input[type="color"]::-webkit-color-swatch{border:0;border-radius:4px}
#page-dispo .dispatch-timeline-backlog-color-wrap input[type="color"]::-moz-color-swatch{border:0;border-radius:4px}
#page-dispo .dispatch-timeline-backlog-info.has-color{
  margin:0 -4px;
  padding:2px 4px;
  border-left:3px solid var(--dispatch-backlog-info-border);
  border-radius:5px;
  background:var(--dispatch-backlog-info-bg);
}
#page-dispo .dispatch-timeline-backlog-info.has-color>span{color:#667c89}
#page-dispo .dispatch-timeline-backlog-info.has-color>strong{color:#263f4e}

/* V15.71.10 – Reihenfolge innerhalb eines Fahrer-/Tagesfelds direkt per Drag&Drop. */
#page-dispo .dispatch-timeline-event.dispatch-reorder-before{
  box-shadow:inset 0 3px 0 #2563eb,0 4px 10px rgba(15,23,42,.10);
}
#page-dispo .dispatch-timeline-event.dispatch-reorder-after{
  box-shadow:inset 0 -3px 0 #2563eb,0 4px 10px rgba(15,23,42,.10);
}
#page-dispo .dispatch-timeline-event.is-draggable{cursor:grab;user-select:none}
#page-dispo .dispatch-timeline-event.is-draggable:active{cursor:grabbing}

/* V15.71.11 – Zeitstrahl nach Fahrer oder Fahrzeug. */
#page-dispo .dispatch-date-area.timeline-range-visible{grid-template-columns:292px auto 292px}
#page-dispo .dispatch-date-area.timeline-range-visible>.dispatch-timeline-range-balance{width:292px}
#page-dispo .dispatch-timeline-resource-switch{display:flex;align-items:center;gap:2px;padding-right:4px;border-right:1px solid #c7dad3}
#page-dispo .dispatch-timeline-resource-switch .btn{height:34px;padding:0 8px;font-size:9px;white-space:nowrap}
#page-dispo .dispatch-timeline-driver.is-resource-blocked{background:#f7f1f1;color:#8b5b5b}
#page-dispo .dispatch-timeline-cell.is-restriction-blocked{outline:2px solid rgba(188,56,56,.35);outline-offset:-2px;background:#fff3f3!important}
#page-dispo .dispatch-timeline-cell.is-restriction-blocked::after{content:'🚫';position:absolute;right:6px;top:6px;font-size:14px;opacity:.85}
#page-dispo .dispatch-timeline-cell.is-restriction-warning{outline:2px solid rgba(194,129,31,.3);outline-offset:-2px;background:#fffaf0}
#page-dispo .dispatch-timeline-cell[data-dispatch-timeline-drop="vehicle"]{position:relative}
@media(max-width:1280px){
  #page-dispo .dispatch-date-area.timeline-range-visible{grid-template-columns:270px auto 270px}
  #page-dispo .dispatch-date-area.timeline-range-visible>.dispatch-timeline-range-balance{width:270px}
  #page-dispo .dispatch-timeline-resource-switch .btn{padding-inline:6px;font-size:8px}
}
#page-dispo .dispatch-timeline-grid [data-dispatch-timeline-vehicle-row][hidden]{display:none!important}

/* V15.73 – Zentrale Recherche und auftragszentrierte Vorgangsakte. */
.global-research-button{margin-left:auto;margin-right:10px;height:34px;padding:0 10px;border:1px solid var(--border,#dbe3ec);border-radius:9px;background:var(--surface,#fff);display:inline-flex;align-items:center;gap:7px;font:inherit;color:var(--text,#172033);cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.global-research-button:hover{border-color:var(--primary,#2563eb);background:var(--surface-soft,#f8fafc)}
.global-research-button-icon{font-size:20px;line-height:1;color:var(--primary,#2563eb)}
.global-research-button-label{font-size:13px;font-weight:700}
.global-research-button kbd{border:1px solid var(--border,#dbe3ec);background:var(--surface-soft,#f8fafc);border-radius:5px;padding:1px 5px;font-size:10px;color:var(--muted,#64748b);font-family:inherit}
.global-research-box{width:min(1480px,96vw);height:min(900px,92vh);max-width:none;display:flex;flex-direction:column;overflow:hidden}
.global-research-header{flex:0 0 auto}
.global-research-searchbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--border,#dbe3ec);background:var(--surface-soft,#f8fafc)}
.global-research-searchbar>span{font-size:24px;color:var(--primary,#2563eb)}
.global-research-searchbar input{height:42px;border:1px solid var(--border,#cbd5e1);border-radius:10px;padding:0 13px;font-size:15px;background:var(--surface,#fff);color:var(--text,#172033)}
.global-research-searchbar input:focus{outline:2px solid color-mix(in srgb,var(--primary,#2563eb) 22%,transparent);border-color:var(--primary,#2563eb)}
.global-research-searchbar small{min-width:82px;text-align:right;color:var(--muted,#64748b);font-weight:700}
.global-research-layout{display:grid;grid-template-columns:minmax(310px,360px) minmax(0,1fr);min-height:0;flex:1}
.global-research-results{border-right:1px solid var(--border,#dbe3ec);background:var(--surface-soft,#f8fafc);overflow:auto;padding:10px}
.global-research-case{overflow:auto;padding:18px 20px 28px;background:var(--surface,#fff)}
.research-empty,.research-case-empty,.research-loading{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:28px;color:var(--muted,#64748b)}
.research-empty strong,.research-case-empty strong{color:var(--text,#172033);font-size:15px}
.research-empty span,.research-case-empty span{max-width:520px;line-height:1.5}
.research-empty small{margin-top:4px}.research-empty.compact{min-height:100px}.research-empty.error,.research-case-empty.error{color:#b91c1c}
.research-empty-icon{font-size:38px;color:var(--primary,#2563eb)}
.research-loading.large{min-height:420px}.research-spinner{width:22px;height:22px;border:3px solid var(--border,#dbe3ec);border-top-color:var(--primary,#2563eb);border-radius:50%;animation:research-spin .75s linear infinite}
@keyframes research-spin{to{transform:rotate(360deg)}}
.research-hit{width:100%;display:block;text-align:left;border:1px solid var(--border,#dbe3ec);background:var(--surface,#fff);border-radius:11px;padding:11px 12px;margin-bottom:8px;cursor:pointer;color:var(--text,#172033)}
.research-hit:hover{border-color:color-mix(in srgb,var(--primary,#2563eb) 55%,var(--border,#dbe3ec));transform:translateY(-1px)}
.research-hit.active{border-color:var(--primary,#2563eb);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary,#2563eb) 12%,transparent)}
.research-hit-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.research-hit-top strong{font-size:14px}.research-hit-title{font-weight:700;margin-top:6px;line-height:1.3}.research-hit-meta{display:flex;flex-direction:column;gap:2px;margin-top:7px;color:var(--muted,#64748b);font-size:11px}.research-hit-match{margin-top:7px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--primary,#2563eb);font-weight:800}
.research-status{display:inline-flex;align-items:center;min-height:22px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap;border:1px solid transparent;text-transform:none}
.research-status-neutral{background:#f1f5f9;color:#475569;border-color:#e2e8f0}.research-status-info{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}.research-status-success{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.research-status-warning{background:#fffbeb;color:#b45309;border-color:#fde68a}.research-status-critical{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
.research-case-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:15px;border-bottom:1px solid var(--border,#e2e8f0)}
.research-case-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:var(--primary,#2563eb)}.research-case-heading h2{font-size:25px;margin:2px 0 0}.research-case-partner{font-size:16px;font-weight:700;margin-top:2px}.research-case-meta{font-size:12px;color:var(--muted,#64748b);margin-top:4px}.research-case-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.research-current{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;margin:15px 0 4px;padding:12px 14px;border:1px solid var(--border,#dbe3ec);border-radius:12px;background:var(--surface-soft,#f8fafc)}
.research-current-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;background:#e2e8f0;color:#475569}.research-current strong{display:block}.research-current span{display:block;margin-top:2px;font-size:12px;line-height:1.45;color:var(--muted,#64748b)}
.research-current-info{border-color:#bfdbfe;background:#f8fbff}.research-current-info .research-current-icon{background:#dbeafe;color:#1d4ed8}.research-current-success{border-color:#a7f3d0;background:#f6fffb}.research-current-success .research-current-icon{background:#d1fae5;color:#047857}.research-current-warning{border-color:#fde68a;background:#fffdf5}.research-current-warning .research-current-icon{background:#fef3c7;color:#b45309}
.research-section{margin-top:18px}.research-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.research-section-head strong{font-size:14px}.research-section-head small{font-size:10px;color:var(--muted,#64748b)}
.research-stage-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.research-stage{position:relative;display:grid;grid-template-columns:12px minmax(0,1fr);gap:7px;border:1px solid var(--border,#e2e8f0);border-radius:10px;padding:10px;background:var(--surface,#fff)}.research-stage-dot{width:8px;height:8px;border-radius:50%;margin-top:4px;background:#94a3b8}.research-stage span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#64748b);font-weight:800}.research-stage strong{display:block;font-size:12px;margin-top:1px}.research-stage small{display:block;font-size:10px;color:var(--muted,#64748b);margin-top:2px;line-height:1.3}.research-stage-info .research-stage-dot{background:#3b82f6}.research-stage-success .research-stage-dot{background:#10b981}.research-stage-warning .research-stage-dot{background:#f59e0b}.research-stage-critical .research-stage-dot{background:#ef4444}
.research-object-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.research-object{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid var(--border,#e2e8f0);border-radius:10px;padding:9px 10px}.research-object-icon{font-size:20px;text-align:center}.research-object-copy span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#64748b);font-weight:800}.research-object-copy strong{display:block;font-size:12px;margin-top:1px}.research-object-copy small{display:block;font-size:10px;color:var(--muted,#64748b);margin-top:2px}.research-object-side{display:flex;flex-direction:column;align-items:flex-end;gap:3px}
.research-link-button{border:0;background:transparent;color:var(--primary,#2563eb);font:inherit;font-size:10px;font-weight:800;padding:2px 0;cursor:pointer}.research-link-button:hover{text-decoration:underline}
.research-fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.research-fact-grid>div{border:1px solid var(--border,#e2e8f0);background:var(--surface-soft,#f8fafc);border-radius:10px;padding:10px}.research-fact-grid span:first-child{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:var(--muted,#64748b)}.research-fact-grid strong{display:block;margin-top:2px;font-size:12px}.research-fact-grid small{display:block;margin-top:3px;font-size:10px;line-height:1.35;color:var(--muted,#64748b)}.research-fact-grid .research-status{margin-top:6px}
.research-segments{display:flex;flex-direction:column;gap:7px}.research-segment{border:1px solid var(--border,#e2e8f0);border-radius:10px;overflow:hidden;background:var(--surface,#fff)}.research-segment summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;cursor:pointer;list-style:none}.research-segment summary::-webkit-details-marker{display:none}.research-segment summary>div:first-child strong{display:block;font-size:12px}.research-segment summary>div:first-child span{display:block;font-size:10px;color:var(--muted,#64748b);margin-top:2px}.research-segment summary>div:last-child{display:flex;align-items:center;gap:6px}.research-release{font-size:9px;font-weight:800;padding:2px 6px;border-radius:999px}.research-release.released{background:#ecfdf5;color:#047857}.research-release.held{background:#fffbeb;color:#b45309}.research-leg-list{border-top:1px solid var(--border,#e2e8f0);background:var(--surface-soft,#f8fafc)}.research-leg{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 11px;border-bottom:1px solid var(--border,#edf2f7)}.research-leg:last-child{border-bottom:0}.research-leg-no{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#e2e8f0;font-size:9px;font-weight:800;color:#475569}.research-leg strong{display:block;font-size:11px}.research-leg small{display:block;font-size:9px;color:var(--muted,#64748b);margin-top:1px}
.research-complaints{display:flex;flex-direction:column;gap:6px}.research-complaint{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;text-align:left;border:1px solid #fde68a;background:#fffdf5;border-radius:9px;padding:8px 10px;cursor:pointer;color:inherit}.research-complaint strong{display:block;font-size:11px}.research-complaint span,.research-complaint small{display:block;font-size:9px;color:var(--muted,#64748b);margin-top:2px}.research-complaint:hover{border-color:#f59e0b}
.research-timeline{position:relative;display:flex;flex-direction:column;gap:0}.research-timeline:before{content:"";position:absolute;left:15px;top:8px;bottom:8px;width:1px;background:var(--border,#e2e8f0)}.research-timeline-item{position:relative;display:grid;grid-template-columns:31px minmax(0,1fr) auto;gap:9px;padding:7px 0}.research-timeline-icon{position:relative;z-index:1;width:30px;height:30px;border:1px solid var(--border,#e2e8f0);border-radius:50%;background:var(--surface,#fff);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:#64748b}.research-timeline-info .research-timeline-icon{border-color:#bfdbfe;color:#1d4ed8}.research-timeline-success .research-timeline-icon{border-color:#a7f3d0;color:#047857}.research-timeline-warning .research-timeline-icon{border-color:#fde68a;color:#b45309}.research-timeline-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.research-timeline-title strong{font-size:11px}.research-timeline-title time{font-size:9px;color:var(--muted,#64748b);white-space:nowrap}.research-timeline-copy>span{display:block;margin-top:2px;font-size:10px;line-height:1.4;color:#475569}.research-timeline-copy>small{display:block;margin-top:2px;font-size:9px;color:var(--muted,#64748b)}
@media(max-width:1000px){.global-research-layout{grid-template-columns:290px minmax(0,1fr)}.research-stage-row{grid-template-columns:repeat(2,minmax(0,1fr))}.research-object-grid{grid-template-columns:1fr}.research-fact-grid{grid-template-columns:1fr}.global-research-button kbd{display:none}}
@media(max-width:760px){.global-research-button-label{display:none}.global-research-button{padding:0 8px;margin-right:4px}.global-research-box{width:100vw;height:100vh;max-height:none;border-radius:0}.global-research-layout{grid-template-columns:1fr}.global-research-results{max-height:35vh;border-right:0;border-bottom:1px solid var(--border,#dbe3ec)}.global-research-case{padding:14px}.research-case-head{flex-direction:column}.research-case-actions{justify-content:flex-start}.research-stage-row{grid-template-columns:1fr 1fr}.research-timeline-title{display:block}.research-timeline-title time{display:block;margin-top:1px}}

/* V15.73.3 – zurückgehaltene Tourabschnitte haben bewusst noch keinen Planungstag. */
.dispatch-plan-date.is-held:disabled{background:#f8fafc;color:#94a3b8;border-style:dashed;cursor:not-allowed}
.dispatch-order-plan-date.muted{color:#92400e}

/* V15.73.4 – gemeinsamer sortier- und filterbarer Planungsvorrat. */
#page-dispo .dispatch-planning-backlog-tools-slot{position:relative;flex:0 0 auto;padding:6px 8px;border-bottom:1px solid #e7edf1;background:#fbfdfe;z-index:13}
#page-dispo .dispatch-planning-backlog-tools-slot.timeline{padding:6px 10px 7px;background:#fff}
#page-dispo .dispatch-planning-backlog-control-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:5px;align-items:center}
#page-dispo .dispatch-planning-backlog-sort{min-width:0;width:100%;height:28px;padding:0 7px;border:1px solid #cfdbe3;border-radius:8px;background:#fff;color:#334f60;font-size:9px;font-weight:650}
#page-dispo .dispatch-planning-backlog-filter-toggle{height:28px!important;padding:0 7px!important;font-size:9px!important;white-space:nowrap}
#page-dispo .dispatch-planning-backlog-filter-toggle.is-active{border-color:#7ab8a2;background:#eef8f4;color:#17624b}
#page-dispo .dispatch-planning-backlog-filter-toggle b{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;margin-left:2px;padding:0 4px;border-radius:999px;background:#d8eee5;color:#17624b;font-size:8px}
#page-dispo .dispatch-planning-backlog-reset{width:28px;height:28px;padding:0;border:1px solid #d7e0e5;border-radius:8px;background:#fff;color:#607887;cursor:pointer;font-size:13px}
#page-dispo .dispatch-planning-backlog-reset:hover{background:#f3f7f9;color:#24495b}
#page-dispo .dispatch-planning-backlog-filter-menu{position:absolute;left:8px;right:8px;top:calc(100% - 2px);z-index:125;padding:9px;border:1px solid #cbd9e1;border-radius:11px;background:#fff;box-shadow:0 16px 34px rgba(15,23,42,.19);display:grid;gap:6px}
#page-dispo .dispatch-planning-backlog-tools-slot.timeline .dispatch-planning-backlog-filter-menu{left:10px;right:10px}
#page-dispo .dispatch-planning-backlog-filter-menu[hidden]{display:none!important}
#page-dispo .dispatch-planning-backlog-filter-menu>div{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:1px}
#page-dispo .dispatch-planning-backlog-filter-menu>div strong{font-size:10px;color:#213f4e}
#page-dispo .dispatch-planning-backlog-filter-menu>div button{width:23px;height:23px;border:0;border-radius:7px;background:transparent;color:#607887;font-size:16px;line-height:1;cursor:pointer}
#page-dispo .dispatch-planning-backlog-filter-menu>div button:hover{background:#eef4f7}
#page-dispo .dispatch-planning-backlog-filter-menu label{display:grid;grid-template-columns:82px minmax(0,1fr);gap:7px;align-items:center;font-size:8.5px;color:#708592}
#page-dispo .dispatch-planning-backlog-filter-menu select{min-width:0;width:100%;height:28px;padding:0 6px;border:1px solid #d6e0e6;border-radius:7px;background:#fff;color:#334f60;font-size:9px}
#page-dispo .dispatch-timeline-backlog-panel{grid-template-rows:auto auto auto minmax(0,1fr)}
#page-dispo .dispatch-pool-lane.orders .dispatch-lane-body{padding-top:7px}
@media(max-width:760px){
  #page-dispo .dispatch-planning-backlog-filter-menu label{grid-template-columns:72px minmax(0,1fr)}
}

/* V15.73.5 – Tourketten-Score und Plausibilitätswächter. */
#page-dispo .dispatch-chain-score{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:2px 6px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#475569;font-size:8.5px;line-height:1;vertical-align:middle;white-space:nowrap}
#page-dispo .dispatch-chain-score b{font-size:10px;color:#334155}
#page-dispo .dispatch-chain-score small{font-size:7.8px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:inherit}
#page-dispo .dispatch-chain-score.excellent{border-color:#86efac;background:#f0fdf4;color:#166534}
#page-dispo .dispatch-chain-score.excellent b{color:#166534}
#page-dispo .dispatch-chain-score.good{border-color:#bae6fd;background:#f0f9ff;color:#0369a1}
#page-dispo .dispatch-chain-score.good b{color:#0369a1}
#page-dispo .dispatch-chain-score.check{border-color:#fde68a;background:#fffbeb;color:#92400e}
#page-dispo .dispatch-chain-score.check b{color:#92400e}
#page-dispo .dispatch-chain-score.poor{border-color:#fecaca;background:#fef2f2;color:#b91c1c}
#page-dispo .dispatch-chain-score.poor b{color:#b91c1c}
#page-dispo .dispatch-chain-score.incomplete{border-style:dashed;background:#f8fafc;color:#64748b}
#page-dispo .dispatch-chain-score.compact{margin-left:auto;padding:2px 5px}
#page-dispo .dispatch-timeline-day-summary{position:relative;grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:5px}
#page-dispo .dispatch-timeline-day-summary>div{grid-column:1/-1}
#page-dispo .dispatch-timeline-day-summary>small{grid-column:1;min-width:0}
#page-dispo .dispatch-timeline-day-summary>.dispatch-chain-score{grid-column:2;grid-row:2;position:static;margin:0;justify-self:end;align-self:end}
#dispatch-chain-modal .dispatch-chain-dialog{width:min(650px,94vw)}
#dispatch-chain-modal .dispatch-chain-body{display:grid;gap:14px}
#dispatch-chain-modal .dispatch-chain-score-comparison{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
#dispatch-chain-modal .dispatch-chain-score-comparison>div{display:grid;gap:3px;padding:12px 14px;border:1px solid #dbe3eb;border-radius:10px;background:#f8fafc;text-align:center}
#dispatch-chain-modal .dispatch-chain-score-comparison span{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-weight:800}
#dispatch-chain-modal .dispatch-chain-score-comparison strong{font-size:22px;color:#173f56}
#dispatch-chain-modal .dispatch-chain-score-comparison>b{color:#94a3b8;font-size:18px}
#dispatch-chain-modal .dispatch-chain-warning-text{padding:11px 13px;border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;color:#9a3412;font-size:11px;line-height:1.45;font-weight:650}
#dispatch-chain-modal .dispatch-chain-recommendation{display:grid;gap:4px;padding:11px 13px;border:1px solid #bbf7d0;border-radius:10px;background:#f0fdf4;color:#166534}
#dispatch-chain-modal .dispatch-chain-recommendation span{font-size:9px;text-transform:uppercase;letter-spacing:.04em;font-weight:800}
#dispatch-chain-modal .dispatch-chain-recommendation strong{font-size:11px;line-height:1.45}
#dispatch-chain-modal .dispatch-chain-note{margin:0;color:#64748b;font-size:9.5px;line-height:1.4}

/* V15.73.6 – E.1 UI-Nachschärfung: Ad-hoc-Kunde, Viewport-Vorrat und Geplant-Filter. */
#order-modal .order-customer-field .order-partner-selection:has(.order-partner-selected.adhoc){
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
}
#order-modal .order-customer-field .order-partner-selection:has(.order-partner-selected.adhoc) .order-partner-selected{
  width:100%;
  box-sizing:border-box;
  min-height:58px;
  padding:9px 12px;
}
#order-modal .order-customer-field .order-partner-selection:has(.order-partner-selected.adhoc) .order-partner-selected>div{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-areas:"kicker kicker" "name name" "address address";
  column-gap:10px;
  align-items:center;
}
#order-modal .order-customer-field .order-partner-selection:has(.order-partner-selected.adhoc) .order-partner-kicker{
  grid-area:kicker;
  margin:0 0 3px;
  white-space:nowrap;
}
#order-modal .order-customer-field .order-partner-selection:has(.order-partner-selected.adhoc) .order-partner-selected strong{
  grid-area:name;
  overflow-wrap:normal;
  word-break:normal;
}
#order-modal .order-customer-field .order-partner-selection:has(.order-partner-selected.adhoc) .order-partner-selected small{
  grid-area:address;
}
#order-modal .order-customer-field .order-partner-selection:has(.order-partner-selected.adhoc) .order-partner-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
#order-modal .order-customer-field .order-partner-selection:has(.order-partner-selected.adhoc) .order-partner-actions .btn{
  min-width:0;
  width:100%;
  white-space:normal;
  line-height:1.2;
}
/* V15.73.7 – Zeitstrahl bleibt strikt unterhalb der kompletten Dispo-Toolbar.
   Die Resthöhe kommt aus dem Workspace-Grid; der schwebende Planungsvorrat füllt diese Fläche. */
body.dispatch-workspace-active #page-dispo.active:has(#dispatch-timeline-view:not([hidden])){
  grid-template-rows:auto minmax(0,1fr) auto;
}
#page-dispo:has(#dispatch-timeline-view:not([hidden]))>.dispatch-toolbar{
  grid-row:1;
}
#page-dispo:has(#dispatch-timeline-view:not([hidden]))>#dispatch-timeline-view{
  grid-row:2;
  height:100%;
  min-height:0;
  align-self:stretch;
}
#page-dispo:has(#dispatch-timeline-view:not([hidden]))>#dispatch-message{
  grid-row:3;
}
#page-dispo .dispatch-pool-lane.unassigned .dispatch-planning-backlog-tools-slot{
  position:sticky;
  top:60px;
  z-index:12;
}
#page-dispo .dispatch-pool-lane.unassigned .dispatch-lane-body{
  padding-top:7px;
}
#page-dispo .dispatch-pool-lane.unassigned .dispatch-tour-card.is-locked{
  border-color:#f1d598;
  background:#fffdf5;
}
@media(max-width:760px){
  #order-modal .order-customer-field .order-partner-selection:has(.order-partner-selected.adhoc) .order-partner-actions{
    grid-template-columns:1fr;
  }
}


/* V15.73.8 – Tourketten-Score bekommt einen festen Platz im Fahrer-Kopf. */
#page-dispo .dispatch-driver-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:7px;min-width:0}
#page-dispo .dispatch-driver-identity{min-width:0}
#page-dispo .dispatch-driver-name{display:flex;justify-content:flex-start!important;align-items:center;gap:5px;min-width:0}
#page-dispo .dispatch-driver-name strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#page-dispo .dispatch-driver-score-slot{display:flex;align-items:flex-start;justify-content:flex-end;min-width:max-content}
#page-dispo .dispatch-driver-score-slot .dispatch-chain-score{margin-left:0;position:static;flex:0 0 auto}
#page-dispo .dispatch-driver-head small{margin-top:2px}

/* V15.73.9 – breite Zeiträume bleiben innerhalb der Timeline-Scrollfläche.
   Weder das Datumsgrid noch seine Min-Content-Breite dürfen Workspace, Toolbar
   oder schwebenden Planungsvorrat horizontal verbreitern. */
body.dispatch-workspace-active #page-dispo.active:has(#dispatch-timeline-view:not([hidden])){
  min-width:0;
  width:100%;
  max-width:100%;
  overflow:hidden;
}
#page-dispo:has(#dispatch-timeline-view:not([hidden]))>.dispatch-toolbar{
  min-width:0;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  overflow:visible;
}
#page-dispo:has(#dispatch-timeline-view:not([hidden]))>#dispatch-timeline-view{
  min-width:0;
  width:100%;
  max-width:100%;
  overflow:hidden;
  box-sizing:border-box;
}
#page-dispo .dispatch-timeline-shell{
  min-width:0;
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:auto;
  box-sizing:border-box;
}
#page-dispo .dispatch-timeline-grid{
  width:max-content;
  max-width:none;
}
#page-dispo .dispatch-timeline-backlog{
  max-width:calc(100% - 36px);
}

/* V15.74 – Preisbausteine, Deponie-Vorkalkulation und Auftragssnapshot */
.order-weight-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px}
.order-weight-input>span{color:#64748b;font-size:var(--font-size-label);font-weight:700}
.order-field-hint{display:block;margin-top:5px;color:#64748b;font-size:var(--font-size-caption);line-height:1.35}
.order-inline-pricing-section{background:linear-gradient(180deg,#fff,#fbfdfe)}
.order-inline-pricing-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}
.order-inline-pricing-head .form-section-title{margin:0 0 3px}
.order-inline-pricing-head small{color:#64748b;font-size:var(--font-size-small)}
.order-pricing-inline-summary{display:grid;grid-template-columns:minmax(160px,220px) minmax(180px,240px) minmax(240px,1fr);gap:10px;align-items:stretch}
.order-inline-price-empty{grid-column:1/-1;display:flex;flex-direction:column;gap:3px;padding:11px 13px;border:1px dashed #cbd5e1;border-radius:9px;background:#f8fafc;color:#64748b}
.order-inline-price-empty strong{color:#334155}
.order-inline-price-value,.order-inline-price-state{display:flex;flex-direction:column;justify-content:center;padding:10px 12px;border:1px solid #dbe3ea;border-radius:9px;background:#f8fafc}
.order-inline-price-value small{color:#64748b;font-size:var(--font-size-caption);font-weight:700;text-transform:uppercase;letter-spacing:.035em}
.order-inline-price-value strong{margin-top:3px;color:#173447;font-size:var(--font-size-dialog-title)}
.order-inline-price-state{font-size:var(--font-size-small);font-weight:750;color:#256b42;background:#f0fdf4;border-color:#bbf7d0}
.order-inline-price-state.warning{color:#9a5800;background:#fff8e7;border-color:#f6d58a}
.order-pricing-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.order-pricing-totals{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.order-pricing-totals .order-pricing-total{margin-top:0}
.order-pricing-total.deposit{background:#fff8e7;color:#6d4b00}
.order-pricing-empty.compact{min-height:58px;margin:2px 0;padding:10px}
@media(max-width:900px){.order-pricing-inline-summary{grid-template-columns:1fr 1fr}.order-inline-price-state{grid-column:1/-1}.order-pricing-grid-three{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.order-inline-pricing-head{flex-direction:column}.order-pricing-inline-summary,.order-pricing-totals,.order-pricing-grid-three{grid-template-columns:1fr}}


/* V15.74 – pflegbarer Preiskatalog */
.sys-price-component-table{min-width:980px}
.sys-price-condition-table{min-width:1050px}
.sys-price-scope{max-width:520px;white-space:normal;line-height:1.35}
.sys-price-condition-modal-box{width:1040px;max-width:96vw}
.sys-price-condition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px 14px;margin-bottom:14px}
.sys-price-partner-field{position:relative}
.sys-price-partner-input{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
.sys-price-partner-results{
  position:absolute;left:0;right:0;top:calc(100% - 2px);z-index:10;
  max-height:210px;overflow:auto;padding:5px;border:1px solid #cbd5e1;border-radius:8px;
  background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.14)
}
.sys-price-partner-result{display:block;width:100%;border:0;background:transparent;text-align:left;padding:8px 9px;border-radius:6px;cursor:pointer;font:inherit}
.sys-price-partner-result:hover{background:#f1f5f9}
.sys-price-partner-empty{padding:8px 9px;color:#64748b;font-size:var(--font-size-small)}
.sys-price-range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px;align-items:center}
.sys-price-range span{color:#64748b}
.sys-price-toggle-stack{display:flex;flex-direction:column;justify-content:center;gap:8px}
#sys-price-component-modal .sysconfig-info-box,
#sys-price-condition-modal .sysconfig-info-box{margin-top:8px}
@media(max-width:900px){
  .sys-price-condition-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .sys-price-condition-grid{grid-template-columns:1fr}
}

/* V15.74.1 – Tourketten-Dialog als echtes Fenster mit nachvollziehbarem Vergleich. */
#dispatch-chain-modal{padding:24px}
#dispatch-chain-modal .dispatch-chain-dialog{
  width:min(760px,calc(100vw - 32px));
  max-width:none;
  max-height:min(760px,calc(100vh - 48px));
  overflow:hidden;
  display:flex;
  flex-direction:column;
  border:1px solid #cbd5e1;
  border-radius:14px;
  background:#fff;
  box-shadow:0 24px 70px rgba(15,23,42,.34),0 3px 12px rgba(15,23,42,.16);
}
#dispatch-chain-modal .dispatch-chain-dialog>.modal-header{
  position:static;
  flex:0 0 auto;
  padding:17px 20px 14px;
  border-bottom:1px solid #dbe3eb;
}
#dispatch-chain-modal .dispatch-chain-dialog>.modal-footer{
  position:static;
  flex:0 0 auto;
  padding:13px 20px 16px;
  border-top:1px solid #dbe3eb;
  box-shadow:0 -7px 18px rgba(15,23,42,.04);
}
#dispatch-chain-modal .dispatch-chain-body{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  display:grid;
  gap:14px;
  padding:16px 20px 18px;
  background:#f8fafc;
}
#dispatch-chain-modal .dispatch-chain-score-comparison>div{background:#fff}
#dispatch-chain-modal .dispatch-chain-score-comparison small{
  display:block;
  min-height:15px;
  color:#64748b;
  font-size:9.5px;
  font-weight:650;
  line-height:1.35;
}
#dispatch-chain-modal .dispatch-chain-sequence-block{
  display:grid;
  gap:7px;
  padding:12px 13px;
  border:1px solid #dbe3eb;
  border-radius:10px;
  background:#fff;
}
#dispatch-chain-modal .dispatch-chain-sequence-block>span,
#dispatch-chain-modal .dispatch-chain-recommendation>span{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:800;
}
#dispatch-chain-modal .dispatch-chain-sequence{display:grid;gap:6px}
#dispatch-chain-modal .dispatch-chain-sequence-item{
  display:grid;
  grid-template-columns:minmax(118px,auto) minmax(0,1fr);
  align-items:baseline;
  gap:9px;
  min-width:0;
}
#dispatch-chain-modal .dispatch-chain-sequence-item+ .dispatch-chain-sequence-item{padding-top:6px;border-top:1px dashed #e2e8f0}
#dispatch-chain-modal .dispatch-chain-sequence-item strong{font-size:11px;color:#173f56;white-space:nowrap}
#dispatch-chain-modal .dispatch-chain-sequence-item span{min-width:0;color:#475569;font-size:10px;line-height:1.35;overflow-wrap:anywhere}
#dispatch-chain-modal .dispatch-chain-recommendation .dispatch-chain-sequence-item strong,
#dispatch-chain-modal .dispatch-chain-recommendation .dispatch-chain-sequence-item span{color:#166534}
#dispatch-chain-modal .dispatch-chain-recommendation>small{font-size:9.5px;font-weight:700;color:#166534}
#dispatch-chain-modal .dispatch-chain-note{padding-top:2px}
@media(max-width:620px){
  #dispatch-chain-modal{padding:10px}
  #dispatch-chain-modal .dispatch-chain-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}
  #dispatch-chain-modal .dispatch-chain-score-comparison{grid-template-columns:1fr}
  #dispatch-chain-modal .dispatch-chain-score-comparison>b{transform:rotate(90deg);justify-self:center}
  #dispatch-chain-modal .dispatch-chain-sequence-item{grid-template-columns:1fr;gap:2px}
  #dispatch-chain-modal .modal-footer{flex-wrap:wrap}
}

/* V15.74.4 - modulare Tourkettenchecks */
.dispatch-chain-config-grid .sys-switch-card-master{grid-column:1/-1;max-width:640px}
.dispatch-chain-config-grid .sys-switch-card:has(input:disabled){opacity:.55}
#page-dispo .dispatch-chain-score.blocking{border-color:#fca5a5;background:#fff1f2;color:#be123c}
#page-dispo .dispatch-chain-score.blocking b{color:#be123c}
#page-dispo .dispatch-chain-score.warning{border-color:#fde68a;background:#fffbeb;color:#92400e}
#dispatch-chain-modal.is-blocking .dispatch-chain-warning-text{border-color:#fecaca;background:#fff1f2;color:#9f1239}
#dispatch-chain-modal .dispatch-chain-checks{display:grid;gap:7px;margin-top:4px}
#dispatch-chain-modal .dispatch-chain-check{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;padding:8px 10px;border:1px solid #e2e8f0;border-radius:9px;background:#fff}
#dispatch-chain-modal .dispatch-chain-check>span{font-size:13px;line-height:1.2}
#dispatch-chain-modal .dispatch-chain-check strong{display:block;font-size:10px;color:#334155}
#dispatch-chain-modal .dispatch-chain-check small{display:block;margin-top:2px;color:#64748b;line-height:1.35}
#dispatch-chain-modal .dispatch-chain-check.blocking{border-color:#fecaca;background:#fff1f2}
#dispatch-chain-modal .dispatch-chain-check.warning{border-color:#fde68a;background:#fffbeb}
#dispatch-chain-modal .dispatch-chain-check.unknown{border-style:dashed}

/* V15.75 – Recherche-Workspace: kompakte Vorgangslage, Tabs und persönliche Kurzansicht. */
.global-research-case{padding-top:14px}
.research-case-head{position:relative}
.research-current{grid-template-columns:34px minmax(0,1fr) minmax(180px,260px);align-items:center;margin-top:12px}
.research-current-copy{min-width:0}
.research-next-action{align-self:stretch;border-left:1px solid color-mix(in srgb,var(--border,#dbe3ec) 75%,transparent);padding-left:14px;display:flex;flex-direction:column;justify-content:center;gap:2px}
.research-next-action span{font-size:9px!important;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--muted,#64748b)}
.research-next-action strong{font-size:11px;line-height:1.35;color:var(--text,#172033)}
.research-stage-compact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}
.research-stage-compact .research-stage{padding:7px 8px;border-radius:8px;min-height:54px}
.research-stage-compact .research-stage small{display:none}
.research-stage-compact .research-stage strong{font-size:11px}
.research-stage-compact .research-stage span{font-size:8px}
.research-tabs{position:sticky;top:-14px;z-index:8;display:flex;align-items:center;gap:4px;margin:13px -20px 0;padding:7px 20px;border-top:1px solid var(--border,#e2e8f0);border-bottom:1px solid var(--border,#e2e8f0);background:color-mix(in srgb,var(--surface,#fff) 96%,transparent);backdrop-filter:blur(8px)}
.research-tab{appearance:none;border:1px solid transparent;background:transparent;color:#526575;border-radius:8px;padding:7px 10px;font:inherit;font-size:11px;font-weight:750;cursor:pointer;white-space:nowrap}
.research-tab:hover{background:var(--surface-soft,#f8fafc);color:var(--text,#172033)}
.research-tab.active{background:#eef6f3;border-color:#c6e3d9;color:#17624b}
.research-tab span{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:3px;padding:0 4px;border-radius:999px;background:#e8eef3;color:#64748b;font-size:8px}
.research-tab.active span{background:#d7ece4;color:#17624b}
.research-tab-host{padding-top:14px}
.research-section-tab{margin-top:0}
.research-overview-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:9px}
.research-overview-head>div{display:flex;align-items:baseline;gap:8px}.research-overview-head strong{font-size:14px}.research-overview-head small{font-size:10px;color:var(--muted,#64748b)}
.research-config-link{font-size:10px!important}
.research-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.research-overview-card{border:1px solid var(--border,#e2e8f0);border-radius:11px;background:var(--surface,#fff);overflow:hidden;min-width:0}
.research-overview-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:9px 11px 7px;background:var(--surface-soft,#f8fafc);border-bottom:1px solid var(--border,#edf2f7)}
.research-overview-card-head strong{display:block;font-size:11px}.research-overview-card-head small{display:block;margin-top:1px;font-size:9px;color:var(--muted,#64748b)}
.research-overview-card dl{margin:0;padding:3px 11px 7px}
.research-overview-card dl>div{display:grid;grid-template-columns:minmax(95px,.72fr) minmax(0,1.28fr);gap:10px;align-items:baseline;padding:5px 0;border-bottom:1px solid var(--border,#f0f3f6)}
.research-overview-card dl>div:last-child{border-bottom:0}.research-overview-card dt{font-size:9px;color:var(--muted,#64748b);font-weight:700}.research-overview-card dd{margin:0;min-width:0;font-size:10.5px;font-weight:700;color:var(--text,#172033);overflow-wrap:anywhere}
.research-preview-chip{font-size:8px;font-weight:800;color:#17624b;background:#e4f3ed;border-radius:999px;padding:2px 6px}
.research-tab-empty{min-height:180px;border:1px dashed var(--border,#cbd5e1);border-radius:11px;background:var(--surface-soft,#f8fafc);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;padding:24px;color:var(--muted,#64748b)}
.research-tab-empty strong{font-size:13px;color:var(--text,#172033)}.research-tab-empty span{font-size:11px}.research-tab-empty.compact{min-height:90px}
.research-commercial-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.research-commercial-summary>div{border:1px solid var(--border,#e2e8f0);border-radius:10px;background:var(--surface-soft,#f8fafc);padding:10px}
.research-commercial-summary span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted,#64748b);font-weight:800}.research-commercial-summary strong{display:block;margin-top:3px;font-size:12px}.research-commercial-summary .research-commercial-total{background:#f3faf7;border-color:#cce6db}.research-commercial-total strong{font-size:15px;color:#17624b}
.research-commercial-meta{margin-top:7px;text-align:right;font-size:9px;color:var(--muted,#64748b)}
.research-price-list{display:flex;flex-direction:column;border:1px solid var(--border,#e2e8f0);border-radius:10px;overflow:hidden}.research-price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 11px;border-bottom:1px solid var(--border,#edf2f7)}.research-price-row:last-child{border-bottom:0}.research-price-row>div:first-child strong{display:block;font-size:11px}.research-price-row>div:first-child small{display:block;margin-top:2px;font-size:9px;color:var(--muted,#64748b)}.research-price-row>div:last-child{display:flex;align-items:center;gap:8px}.research-price-row>div:last-child>strong{font-size:11px;white-space:nowrap}.research-deposit-chip{font-size:8px;padding:2px 5px;border-radius:999px;background:#eef6ff;color:#1d4ed8;font-weight:800}

.research-view-config-box{width:min(1320px,95vw);height:min(820px,90vh);max-width:none;overflow:hidden;display:flex;flex-direction:column}
.research-view-config-body{display:grid;grid-template-columns:minmax(390px,450px) minmax(0,1fr);min-height:0;flex:1}
.research-view-config-editor{min-height:0;overflow:auto;padding:13px;border-right:1px solid var(--border,#dbe3ec);background:var(--surface-soft,#f8fafc)}
.research-view-config-note{display:flex;flex-direction:column;gap:2px;margin-bottom:10px;padding:9px 10px;border:1px solid #bfdbfe;border-radius:9px;background:#f8fbff}.research-view-config-note strong{font-size:10px;color:#1d4ed8}.research-view-config-note span{font-size:9px;line-height:1.4;color:#526575}
.research-view-config-groups{display:flex;flex-direction:column;gap:8px}.research-config-group{border:1px solid var(--border,#dbe3ec);border-radius:10px;background:var(--surface,#fff);overflow:hidden}.research-config-group header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border-bottom:1px solid var(--border,#edf2f7)}.research-config-group header>label{display:flex;align-items:center;gap:8px;cursor:pointer}.research-config-group header input{margin:0}.research-config-group header strong{display:block;font-size:11px}.research-config-group header small{display:block;font-size:8.5px;color:var(--muted,#64748b);margin-top:1px}.research-config-order{display:flex;gap:3px}.research-config-order button{width:26px;height:25px;border:1px solid var(--border,#cbd5e1);border-radius:6px;background:#fff;color:#526575;cursor:pointer}.research-config-order button:disabled{opacity:.35;cursor:default}.research-config-order button:not(:disabled):hover{background:#eef6f3;color:#17624b}
.research-config-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 8px;padding:5px 9px 7px}.research-config-fields label{display:flex;align-items:center;gap:6px;min-width:0;padding:4px 1px;font-size:9px;color:#405463;cursor:pointer}.research-config-fields input{margin:0;flex:0 0 auto}.research-config-fields input:disabled+span{opacity:.45}
.research-view-config-preview-pane{min-height:0;overflow:hidden;display:flex;flex-direction:column;background:#f2f5f7}.research-view-config-preview-head{flex:0 0 auto;padding:11px 14px;border-bottom:1px solid var(--border,#dbe3ec);background:#fff}.research-view-config-preview-head strong{display:block;font-size:12px}.research-view-config-preview-head small{display:block;margin-top:2px;font-size:9px;color:var(--muted,#64748b)}
.research-view-config-preview{min-height:0;overflow:auto;padding:16px}.research-preview-shell{max-width:800px;margin:0 auto;padding:13px;border:1px solid var(--border,#dbe3ec);border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.07)}.research-preview-shell .research-current{margin:0 0 12px}.research-preview-shell .research-overview-head button{display:none}.research-preview-shell .research-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.research-view-config-footer{flex:0 0 auto}.research-view-config-spacer{flex:1}

@media(max-width:1050px){.research-current{grid-template-columns:34px minmax(0,1fr)}.research-next-action{grid-column:2;border-left:0;border-top:1px solid var(--border,#e2e8f0);padding:7px 0 0}.research-stage-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.research-overview-grid{grid-template-columns:1fr}.research-commercial-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.research-view-config-body{grid-template-columns:360px minmax(0,1fr)}.research-preview-shell .research-overview-grid{grid-template-columns:1fr}}
@media(max-width:760px){.research-tabs{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px;overflow-x:auto}.research-current{grid-template-columns:30px minmax(0,1fr)}.research-stage-compact{grid-template-columns:1fr 1fr}.research-commercial-summary{grid-template-columns:1fr}.research-view-config-box{width:100vw;height:100vh;max-height:none;border-radius:0}.research-view-config-body{grid-template-columns:1fr;overflow:auto}.research-view-config-editor{overflow:visible;border-right:0;border-bottom:1px solid var(--border,#dbe3ec)}.research-view-config-preview-pane{min-height:420px;overflow:visible}.research-view-config-preview{overflow:visible}.research-config-fields{grid-template-columns:1fr}.research-view-config-footer{flex-wrap:wrap}.research-view-config-spacer{display:none}}

/* V15.75.1 – UI-Polish: Button-Kontrast, Objektaktionen, Auftragsworkspace und Fuhrparkdialog */
:root[data-button-style="OUTLINED"] .btn-default {
  background:var(--surface);
  color:var(--primary);
  border-color:color-mix(in srgb,var(--primary) 58%,var(--surface));
  box-shadow:0 1px 2px rgba(15,23,42,.06);
}
:root[data-button-style="OUTLINED"] .btn-default:hover {
  background:color-mix(in srgb,var(--primary) 5%,var(--surface));
  border-color:var(--primary);
  color:var(--primary-dark);
}
:root[data-button-style="TINTED"] .btn-default {
  background:color-mix(in srgb,var(--primary) 10%,var(--surface));
  color:var(--primary);
  border-color:color-mix(in srgb,var(--primary) 36%,var(--surface));
  box-shadow:0 1px 2px rgba(15,23,42,.05);
}
:root[data-button-style="TINTED"] .btn-default:hover {
  background:color-mix(in srgb,var(--primary) 16%,var(--surface));
  border-color:color-mix(in srgb,var(--primary) 58%,var(--surface));
  color:var(--primary-dark);
}
#design-preview[data-button-style="OUTLINED"] .preview-default {
  background:var(--preview-surface);
  color:var(--preview-primary);
  border-color:color-mix(in srgb,var(--preview-primary) 58%,var(--preview-surface));
  box-shadow:0 1px 2px rgba(15,23,42,.06);
}
#design-preview[data-button-style="TINTED"] .preview-default {
  background:color-mix(in srgb,var(--preview-primary) 10%,var(--preview-surface));
  color:var(--preview-primary);
  border-color:color-mix(in srgb,var(--preview-primary) 36%,var(--preview-surface));
  box-shadow:0 1px 2px rgba(15,23,42,.05);
}
.design-button-style-field small{line-height:1.35}

.modal-header .message-reference-header-action {
  margin-left:auto;
  white-space:nowrap;
}
.modal-header .message-reference-header-action + .concurrency-history-button {
  margin-left:0;
}
.modal-header .message-reference-header-action + .modal-close {
  margin-left:0;
}

body.order-workspace-active { overflow:hidden; }
body.order-workspace-active .main-layout,
body.order-workspace-active .main-layout.expanded {
  height:100vh;
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
body.order-workspace-active .topbar { flex:0 0 52px; }
body.order-workspace-active .workspace-restore-banner:not(.hidden) { flex:0 0 auto; }
body.order-workspace-active .content {
  flex:1 1 auto;
  height:auto;
  min-height:0;
  overflow:hidden;
}
body.order-workspace-active #page-auftraege.active {
  display:flex;
  height:100%;
  min-height:0;
  flex-direction:column;
  overflow:hidden;
}
body.order-workspace-active #page-auftraege>.order-page-header {
  flex:0 0 auto;
}
body.order-workspace-active #page-auftraege>.order-workspace {
  flex:1 1 auto;
  min-height:0;
  margin-bottom:0;
}
body.order-workspace-active #page-auftraege .order-map-toolbar,
body.order-workspace-active #page-auftraege .order-map-window-filters,
body.order-workspace-active #page-auftraege .order-map-pane,
body.order-workspace-active #page-auftraege .order-splitter {
  flex:0 0 auto;
}
body.order-workspace-active #page-auftraege .order-list-pane {
  min-height:0;
  flex:1 1 auto;
  overflow:hidden;
}
body.order-workspace-active #page-auftraege .order-table-scroll {
  min-height:0;
  flex:1 1 auto;
  overflow:auto;
}
body.order-workspace-active #page-auftraege #orders-pager {
  flex:0 0 auto;
}
@media(max-width:720px){
  body.order-workspace-active { overflow:auto; }
  body.order-workspace-active .main-layout,
  body.order-workspace-active .content,
  body.order-workspace-active #page-auftraege.active { height:auto; overflow:visible; }
  body.order-workspace-active #page-auftraege>.order-workspace { min-height:calc(100vh - 160px); }
}

/* Der Fahrzeugdialog darf seine Sektionen nicht in die verfügbare Höhe hinein schrumpfen. */
.fleet-vehicle-modal-body {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  overflow:auto;
}
.fleet-vehicle-modal-body>.fleet-form-section,
.fleet-vehicle-modal-body>.fleet-note-field,
.fleet-vehicle-modal-body>.form-message {
  flex:0 0 auto;
}

/* V15.75.2 – Kartenarbeitsbereiche: feste Bedienung, nur Ergebnisliste scrollt */
body.location-map-workspace-active { overflow:hidden; }
body.location-map-workspace-active .main-layout,
body.location-map-workspace-active .main-layout.expanded {
  height:100vh;
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
body.location-map-workspace-active .topbar { flex:0 0 52px; }
body.location-map-workspace-active .workspace-restore-banner:not(.hidden) { flex:0 0 auto; }
body.location-map-workspace-active .content {
  flex:1 1 auto;
  height:auto;
  min-height:0;
  overflow:hidden;
}
body.location-map-workspace-active #page-containermap.active,
body.location-map-workspace-active #page-fuhrparkmap.active {
  display:flex;
  height:100%;
  min-height:0;
  flex-direction:column;
  overflow:hidden;
}
body.location-map-workspace-active #page-containermap>.container-map-page-header,
body.location-map-workspace-active #page-fuhrparkmap>.fleet-map-page-header {
  flex:0 0 auto;
}
body.location-map-workspace-active #page-containermap>.container-map-card,
body.location-map-workspace-active #page-fuhrparkmap>.fleet-map-card {
  flex:1 1 auto;
  min-height:0;
  margin-bottom:0;
}
body.location-map-workspace-active .map-split-workspace .container-map-toolbar,
body.location-map-workspace-active .map-split-workspace .fleet-map-toolbar,
body.location-map-workspace-active .map-split-workspace .container-map-stage,
body.location-map-workspace-active .map-split-workspace .fleet-map-stage,
body.location-map-workspace-active .map-split-workspace .map-pane-splitter {
  flex:0 0 auto;
}
body.location-map-workspace-active .map-split-workspace .map-list-pane {
  min-height:0;
  flex:1 1 auto;
  overflow:hidden;
}
body.location-map-workspace-active .map-list-pane .container-map-table-head,
body.location-map-workspace-active .map-list-pane .fleet-map-table-head {
  flex:0 0 auto;
}
body.location-map-workspace-active .map-list-pane .container-map-table-wrap,
body.location-map-workspace-active .map-list-pane .fleet-map-table-wrap {
  min-height:0;
  flex:1 1 auto;
  max-height:none;
  overflow:auto;
}
@media(max-width:720px){
  body.location-map-workspace-active { overflow:auto; }
  body.location-map-workspace-active .main-layout,
  body.location-map-workspace-active .content,
  body.location-map-workspace-active #page-containermap.active,
  body.location-map-workspace-active #page-fuhrparkmap.active { height:auto; overflow:visible; }
  body.location-map-workspace-active #page-containermap>.container-map-card,
  body.location-map-workspace-active #page-fuhrparkmap>.fleet-map-card { min-height:calc(100vh - 160px); }
}

/* V15.76 – eine operative Disposition, klassische Ressourcensichten Fahrer/Fahrzeug */
#page-dispo .dispatch-vehicle-lane{border-top-color:#0f766e}
#page-dispo .dispatch-vehicle-lane.is-absent{border-top-color:#ef4444}
#page-dispo .dispatch-assignment-state{display:inline-flex;align-items:center;max-width:190px;padding:2px 6px;border-radius:999px;font-size:8.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid transparent}
#page-dispo .dispatch-assignment-state.complete{background:#ecfdf5;color:#166534;border-color:#bbf7d0}
#page-dispo .dispatch-assignment-state.partial{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
#page-dispo .dispatch-assignment-state.open{background:#f8fafc;color:#64748b;border-color:#e2e8f0}
#page-dispo .dispatch-resource-counterpart{display:inline-flex;align-items:center;max-width:145px;padding:2px 6px;border-radius:999px;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;font-size:8.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-resource-counterpart.missing{background:#fff7ed;color:#9a3412;border-color:#fed7aa}

/* V15.76.1 – gemeinsamer Dispo-Detaildialog für Fahrer und Fahrzeug */
#dispatch-timeline-detail-modal .dispatch-resource-editor{display:grid;gap:10px;padding:12px;border:1px solid #cfdce4;border-radius:12px;background:#f8fbfc}
#dispatch-timeline-detail-modal .dispatch-resource-editor[hidden]{display:none!important}
#dispatch-timeline-detail-modal .dispatch-resource-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
#dispatch-timeline-detail-modal .dispatch-resource-editor-head>div{display:grid;gap:2px}
#dispatch-timeline-detail-modal .dispatch-resource-editor-head strong{font-size:12px;color:#213e4d}
#dispatch-timeline-detail-modal .dispatch-resource-editor-head small{font-size:9.5px;color:#718493}
#dispatch-timeline-detail-modal .dispatch-resource-grid{display:grid;grid-template-columns:140px 125px minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:start}
#dispatch-timeline-detail-modal .dispatch-resource-grid label{display:grid;gap:4px;min-width:0}
#dispatch-timeline-detail-modal .dispatch-resource-grid label>span{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.035em;color:#5d7483}
#dispatch-timeline-detail-modal .dispatch-resource-grid input,#dispatch-timeline-detail-modal .dispatch-resource-grid select{width:100%;min-width:0;height:34px;padding:0 9px;border:1px solid #cbd7df;border-radius:8px;background:#fff;color:#263f4f;font-size:11px}
#dispatch-timeline-detail-modal .dispatch-resource-grid small{min-height:15px;font-size:8.8px;line-height:1.3;color:#718493}
#dispatch-timeline-detail-modal .dispatch-resource-grid small.warning{color:#9a6700;font-weight:650}
#dispatch-timeline-detail-modal .dispatch-resource-grid small.blocking{color:#b42318;font-weight:700}
#dispatch-timeline-detail-modal .dispatch-detail-open-button{width:26px;height:24px;padding:0!important;border-radius:7px!important;font-size:12px!important}
#dispatch-timeline-detail-modal .modal-footer-spacer{flex:1 1 auto}
@media(max-width:760px){#dispatch-timeline-detail-modal .dispatch-resource-grid{grid-template-columns:1fr}}
#page-dispo .dispatch-detail-open-button{display:inline-grid;place-items:center;width:26px;height:24px;padding:0;border:1px solid #d5e0e6;border-radius:7px;background:#fff;color:#496575;cursor:pointer;font-size:12px;line-height:1}
#page-dispo .dispatch-detail-open-button:hover{background:#eef5f8;color:#173f56}

/* V15.76.2 – Ressourcendispo: Kartenlayout ohne Badge-/Textüberlagerungen. */
#page-dispo .dispatch-tour-head{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
  gap:5px;
}
#page-dispo .dispatch-tour-head-main{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
}
#page-dispo .dispatch-tour-head-main .dispatch-tour-identity{
  min-width:0;
  flex:1 1 auto;
  overflow:hidden;
}
#page-dispo .dispatch-tour-head-main .dispatch-tour-identity>span:not(.dispatch-tour-position){
  flex:0 0 auto;
  white-space:nowrap;
}
#page-dispo .dispatch-tour-head-main .dispatch-tour-identity strong{
  min-width:0;
  flex:1 1 auto;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#page-dispo .dispatch-tour-head-controls{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:4px;
}
#page-dispo .dispatch-tour-head-right{
  min-width:0;
  width:100%;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-start;
  gap:4px 5px;
  line-height:1.2;
}
#page-dispo .dispatch-tour-head-right .dispatch-planned-date,
#page-dispo .dispatch-tour-head-right .dispatch-assignment-state,
#page-dispo .dispatch-tour-head-right .dispatch-resource-counterpart{
  min-width:0;
  max-width:100%;
}
#page-dispo .dispatch-tour-leg-count{
  flex:0 1 auto;
  min-width:0;
  color:#64748b;
  white-space:nowrap;
}

/* Metriken und Aktionen stehen untereinander. Zwei 100%-Blöcke nebeneinander
   waren eine erstaunlich effiziente Methode, um 286px breite Karten zu sprengen. */
#page-dispo .dispatch-tour-footer{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
  gap:6px;
}
#page-dispo .dispatch-tour-footer-meta,
#page-dispo .dispatch-tour-actions{
  min-width:0;
  width:100%;
}
#page-dispo .dispatch-tour-actions.action-count-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
#page-dispo .dispatch-tour-actions>button{
  min-width:0!important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Detailbeine: Status, Dauer, Routing und Startknopf dürfen schrumpfen,
   aber niemals übereinander zeichnen. */
#page-dispo .dispatch-leg-detail-footer{
  min-width:0;
  grid-template-columns:minmax(68px,78px) minmax(45px,54px) minmax(64px,1fr) 28px;
  gap:4px;
}
#page-dispo .dispatch-leg-detail-footer>*{min-width:0}
#page-dispo .dispatch-leg-detail-footer .dispatch-status-pill{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#page-dispo .dispatch-leg-travel-slot{
  min-width:0;
  overflow:hidden;
}
#page-dispo .dispatch-leg-travel-slot .dispatch-travel-badge,
#page-dispo .dispatch-leg-travel-slot .dispatch-routing-missing{
  display:block;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Nach Fahrer: das Standardfahrzeug gehört in den Dispo-Detaildialog,
   nicht als zweite Identitätszeile unter den Fahrernamen. */
#page-dispo .dispatch-driver-lane:not(.dispatch-vehicle-lane) .dispatch-driver-identity>small{
  display:none!important;
}

/* Im Ressourcendialog brauchen lange Kennzeichen-/Fahrerbezeichnungen etwas Luft. */
#dispatch-timeline-detail-modal .dispatch-resource-grid select{
  text-overflow:ellipsis;
}
@media(max-width:430px){
  #page-dispo .dispatch-tour-actions.action-count-3,
  #page-dispo .dispatch-tour-actions.action-count-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* V15.76.5 – Nach Auftrag: stabiles Raster statt fließender Badge-Zeile. */
#page-dispo .dispatch-order-summary-grid{
  display:grid;
  grid-template-columns:minmax(260px,1.35fr) minmax(205px,.85fr) minmax(240px,1fr) minmax(220px,.9fr) minmax(170px,.75fr) minmax(300px,auto);
  min-width:1395px;
  gap:0;
  align-items:center;
}
#page-dispo .dispatch-order-summary-head{
  position:sticky;
  top:0;
  z-index:9;
  min-height:34px;
  background:#f8fafc;
  border-bottom:1px solid var(--border);
  color:#64748b;
  font-size:9px;
  font-weight:700;
}
#page-dispo .dispatch-order-summary-head>span{
  min-width:0;
  padding:0 10px;
  white-space:nowrap;
}
#page-dispo .dispatch-order-summary-head>span+span,
#page-dispo .dispatch-order-summary-cell+.dispatch-order-summary-cell{
  border-left:1px solid #edf2f7;
}
#page-dispo .dispatch-order-summary{
  min-height:54px;
  padding:0;
}
#page-dispo .dispatch-order-summary-cell{
  min-width:0;
  min-height:54px;
  padding:7px 10px;
  display:flex;
  align-items:center;
  gap:6px;
}
#page-dispo .dispatch-order-summary-identity{
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr);
  column-gap:7px;
  cursor:pointer;
}
#page-dispo .dispatch-order-item.is-unplanned .dispatch-order-summary-identity{cursor:default}
#page-dispo .dispatch-order-summary-identity strong{
  font-size:11.5px;
  white-space:nowrap;
}
#page-dispo .dispatch-order-summary-identity .dispatch-order-partner{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#page-dispo .dispatch-order-summary-facts{
  flex-wrap:wrap;
  align-content:center;
}
#page-dispo .dispatch-order-summary-resources{
  overflow:hidden;
}
#page-dispo .dispatch-order-summary-resources .dispatch-order-driver-summary{
  display:inline-flex;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
#page-dispo .dispatch-order-summary-schedule{
  display:grid;
  justify-items:start;
  align-content:center;
  gap:3px;
}
#page-dispo .dispatch-order-summary-routing{
  overflow:hidden;
}
#page-dispo .dispatch-order-summary-routing .dispatch-order-routing-summary{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
#page-dispo .dispatch-order-summary-actions{
  justify-content:flex-end;
  gap:6px;
  white-space:nowrap;
}
#page-dispo .dispatch-order-summary-empty{color:#94a3b8;font-size:10px}
#page-dispo .dispatch-order-leg-column-head{
  min-width:1390px;
  min-height:30px;
  background:#eef2f6;
  border-top:1px solid #dbe3eb;
  border-bottom:1px solid #dbe3eb;
  color:#64748b;
  font-size:8.5px;
  font-weight:700;
}
#page-dispo .dispatch-order-leg-column-head>span{padding:0 10px}

@media(max-width:1450px){
  #page-dispo .dispatch-order-summary-grid{min-width:1395px}
  #page-dispo .dispatch-order-summary-resources .dispatch-order-driver-summary{display:inline-flex}
}


/* V15.76.6 – Ressourcendispo: feste Drop-Ziele, nur Kartenlisten scrollen. */
#page-dispo #dispatch-driver-view .dispatch-board{
  height:100%;
  min-height:0;
  overflow-x:auto;
  overflow-y:hidden;
  align-items:stretch;
}
#page-dispo #dispatch-driver-view .dispatch-driver-lanes{
  height:100%;
  min-height:0;
  align-items:stretch;
  align-self:stretch;
}
#page-dispo #dispatch-driver-view .dispatch-lane{
  height:100%;
  min-height:0;
  align-self:stretch;
  overflow:hidden;
}
#page-dispo #dispatch-driver-view .dispatch-lane>header{
  position:relative;
  top:auto;
  flex:0 0 auto;
}
#page-dispo #dispatch-driver-view .dispatch-planning-backlog-tools-slot{
  flex:0 0 auto;
}
#page-dispo #dispatch-driver-view .dispatch-lane-body{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
#page-dispo #dispatch-driver-view .dispatch-driver-score-slot .dispatch-chain-score.compact{
  position:static;
  margin:0;
}

/* V15.77 – zentrale Spaltenkonfiguration */
[data-mq-column-key][hidden]{display:none!important}.mq-resizable-column{position:relative}.mq-column-resizer{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:col-resize;touch-action:none;z-index:6}.mq-column-resizer::after{content:"";position:absolute;top:20%;bottom:20%;left:3px;width:1px;background:transparent}.mq-column-resizer:hover::after,.mq-column-resizing .mq-column-resizer::after{background:var(--primary,#1f6f53)}body.mq-column-resizing{cursor:col-resize!important;user-select:none!important}.mq-column-layout-backdrop{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:24px;background:rgba(15,23,42,.42);backdrop-filter:blur(2px)}.mq-column-layout-backdrop.hidden{display:none}.mq-column-layout-dialog{width:min(560px,calc(100vw - 32px));max-height:min(760px,calc(100vh - 40px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border,#dfe5e2);border-radius:14px;background:var(--surface,#fff);box-shadow:0 24px 70px rgba(15,23,42,.24)}.mq-column-layout-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid var(--border,#dfe5e2)}.mq-column-layout-head h2{margin:0;font-size:18px}.mq-column-layout-head p{margin:5px 0 0;color:var(--muted,#6d7772);font-size:12px;line-height:1.4}.mq-column-layout-close{flex:0 0 auto;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--muted,#6d7772);font-size:24px;line-height:1;cursor:pointer}.mq-column-layout-close:hover{background:var(--surface-soft,#f8fafc);color:var(--text,#17212b)}.mq-column-layout-list{min-height:0;overflow:auto;padding:10px 12px}.mq-column-layout-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:7px 10px;border:1px solid transparent;border-radius:9px}.mq-column-layout-row:hover{background:var(--surface-soft,#f8fafc);border-color:var(--border,#dfe5e2)}.mq-column-layout-row.dragging{opacity:.45;border-color:var(--primary,#1f6f53)}.mq-column-layout-row.locked{background:rgba(0,0,0,.018)}.mq-column-layout-drag{display:grid;place-items:center;color:var(--muted,#6d7772);font-size:15px;cursor:grab}.mq-column-layout-row.locked .mq-column-layout-drag{cursor:default}.mq-column-layout-row label{display:flex;align-items:center;gap:10px;min-width:0;font-size:13px;font-weight:650}.mq-column-layout-row label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mq-column-layout-row small{color:var(--muted,#6d7772);font-size:11px;white-space:nowrap}.mq-column-layout-footer{display:flex;align-items:center;gap:8px;padding:13px 16px;border-top:1px solid var(--border,#dfe5e2);background:var(--surface-soft,#f8fafc)}.mq-column-layout-spacer{flex:1}

/* V15.78: Plattform-Supportsession im expliziten Mandantenkontext */
.tenant-context-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.tenant-context-title-wrap { min-width:0; }
.tenant-support-session-button { flex:0 0 auto; margin-top:2px; }

.support-session-banner {
  margin:0;
  min-height:52px;
  padding:9px 18px;
  display:grid;
  grid-template-columns:auto minmax(260px,1fr) minmax(260px,.8fr) auto;
  align-items:center;
  gap:12px;
  background:#eef6ff;
  border-bottom:1px solid #91caff;
  color:#003a8c;
}
.support-session-banner-icon { font-size:21px; }
.support-session-banner-copy { display:flex; flex-direction:column; gap:2px; min-width:0; }
.support-session-banner-copy strong { font-size:var(--font-size-body); }
.support-session-banner-copy span,.support-session-banner-note { font-size:var(--font-size-small); line-height:1.35; }
.support-session-banner-note { color:#345a7d; }
.support-session-modal-box { width:min(650px,calc(100vw - 32px)); }
.support-session-modal-body { display:grid; gap:16px; }
.support-session-explainer { display:flex; flex-direction:column; gap:5px; padding:12px 14px; border:1px solid #91caff; border-radius:9px; background:#f0f8ff; }
.support-session-explainer strong { color:#003a8c; }
.support-session-explainer span { color:#345a7d; font-size:var(--font-size-small); line-height:1.45; }

@media (max-width:900px) {
  .support-session-banner { grid-template-columns:auto minmax(0,1fr) auto; }
  .support-session-banner-note { grid-column:2 / 4; }
}
@media (max-width:640px) {
  .tenant-context-header { flex-direction:column; }
  .tenant-support-session-button { width:100%; }
  .support-session-banner { grid-template-columns:auto minmax(0,1fr); padding:9px 12px; }
  .support-session-banner-note,.support-session-banner .btn { grid-column:2; justify-self:start; }
}

/* V15.81 – transparente Support-Präsenz beim echten Referenzbenutzer. */
.support-profile-presence-banner{
  margin:0;min-height:50px;padding:9px 18px;display:grid;grid-template-columns:auto minmax(280px,1fr) minmax(260px,.7fr);
  align-items:center;gap:12px;background:#fffbe6;border-bottom:1px solid #ffe58f;color:#614700;
}
.support-profile-presence-icon{font-size:21px}.support-profile-presence-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.support-profile-presence-copy strong{font-size:var(--font-size-body)}
.support-profile-presence-copy span,.support-profile-presence-note{font-size:var(--font-size-small);line-height:1.35}
.support-profile-presence-note{color:#7a641b}.support-profile-presence-period{opacity:.78;font-size:var(--font-size-caption)!important}
@media(max-width:900px){.support-profile-presence-banner{grid-template-columns:auto minmax(0,1fr)}.support-profile-presence-note{grid-column:2}}
@media(max-width:640px){.support-profile-presence-banner{padding:9px 12px}}

/* V15.79 – konfigurierbare Listen behalten echte Pixelbreiten statt freien Platz zu verteilen. */
table.mq-column-layout-table{
  table-layout:fixed!important;
  margin-left:0;
  margin-right:auto;
}
table.mq-column-layout-table [data-mq-column-key]{
  box-sizing:border-box;
}
table.mq-column-layout-table td[data-mq-column-key]{
  overflow:hidden;
  text-overflow:ellipsis;
}
table.mq-column-layout-table th[data-mq-column-key] input,
table.mq-column-layout-table th[data-mq-column-key] select,
table.mq-column-layout-table th[data-mq-column-key] .master-search-wrap,
table.mq-column-layout-table th[data-mq-column-key] .order-filter-search,
table.mq-column-layout-table th[data-mq-column-key] .container-range-filter{
  max-width:100%;
  box-sizing:border-box;
}


/* V15.84 – Tourübersicht als zweite Darstellungsart des bestehenden Dispo-Zeitstrahls. */
#page-dispo .dispatch-timeline-presentation-switch,#page-dispo .dispatch-timeline-resource-switch{display:flex;align-items:center;gap:2px;padding:2px;border:1px solid #d7e2e8;border-radius:9px;background:#f7fafb}
#page-dispo .dispatch-timeline-presentation-switch .btn,#page-dispo .dispatch-timeline-resource-switch .btn{height:26px;padding:0 7px;border-radius:7px!important;font-size:8.8px!important;box-shadow:none!important}
#page-dispo .dispatch-timeline-resource-switch[hidden]{display:none!important}
#page-dispo .dispatch-timeline-grid.is-tour-overview{display:block;width:100%;min-width:0;max-width:none;background:#f7f9fb}
#page-dispo .dispatch-timeline-view.is-tour-overview .dispatch-timeline-shell{background:#f5f7f9}
#page-dispo .dispatch-timeline-view.is-tour-overview .dispatch-timeline-backlog[hidden]{display:none!important}
#page-dispo .dispatch-tour-overview{min-width:0;padding:8px;display:grid;gap:8px}
#page-dispo .dispatch-tour-overview-stats{position:sticky;left:0;z-index:9;min-width:850px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 10px;border:1px solid #dbe4e9;border-radius:10px;background:rgba(255,255,255,.97);box-shadow:0 2px 8px rgba(15,23,42,.05)}
#page-dispo .dispatch-tour-overview-stats>div{min-width:0;display:grid;gap:1px}
#page-dispo .dispatch-tour-overview-stats>div strong{font-size:11px;color:#1f3e4e}
#page-dispo .dispatch-tour-overview-stats>div small{font-size:8.7px;color:#718491;white-space:nowrap}
#page-dispo .dispatch-tour-overview-stats nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}
#page-dispo .dispatch-tour-overview-stats nav button{height:27px;display:flex;align-items:center;gap:5px;padding:0 7px;border:1px solid #d7e1e7;border-radius:8px;background:#fff;color:#526a78;font-size:8.7px;cursor:pointer}
#page-dispo .dispatch-tour-overview-stats nav button strong{min-width:18px;height:17px;padding:0 5px;display:grid;place-items:center;border-radius:999px;background:#edf3f6;color:#335365;font-size:8px}
#page-dispo .dispatch-tour-overview-stats nav button:hover{border-color:#9ab4c1;background:#f8fbfc}
#page-dispo .dispatch-tour-overview-stats nav button.active{border-color:#315568;background:#315568;color:#fff}
#page-dispo .dispatch-tour-overview-stats nav button.active strong{background:rgba(255,255,255,.18);color:#fff}
#page-dispo .dispatch-tour-overview-stats nav button.warning:not(.active){border-color:#f1c178;background:#fff9ef;color:#a15a00}
#page-dispo .dispatch-tour-overview-chart{--tour-hour-width:86px;min-width:calc(165px + var(--tour-hours) * var(--tour-hour-width));overflow:visible;border:1px solid #dbe4e9;border-radius:11px;background:#fff}
#page-dispo .dispatch-tour-overview-axis-row{position:sticky;top:0;z-index:8;display:grid;grid-template-columns:165px calc(var(--tour-hours) * var(--tour-hour-width));height:34px;border-bottom:1px solid #dbe4e9;background:rgba(248,250,252,.98)}
#page-dispo .dispatch-tour-overview-axis-label{position:sticky;left:0;z-index:3;display:flex;align-items:center;padding:0 10px;border-right:1px solid #dbe4e9;background:#f8fafc;color:#627785;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
#page-dispo .dispatch-tour-overview-axis{position:relative;height:100%;background-image:linear-gradient(to right,rgba(148,163,184,.18) 1px,transparent 1px);background-size:var(--tour-hour-width) 100%}
#page-dispo .dispatch-tour-overview-axis span{position:absolute;top:9px;transform:translateX(-50%);color:#748895;font-size:8px;font-weight:700;white-space:nowrap}
#page-dispo .dispatch-tour-overview-day{display:grid;grid-template-columns:165px calc(var(--tour-hours) * var(--tour-hour-width));border-bottom:1px solid #e6edf1;min-height:78px}
#page-dispo .dispatch-tour-overview-day:last-of-type{border-bottom:0}
#page-dispo .dispatch-tour-overview-day.is-weekend .dispatch-tour-overview-day-body{background-color:#fcf9f9}
#page-dispo .dispatch-tour-overview-day.is-today .dispatch-tour-overview-day-label{box-shadow:inset 3px 0 0 #2eaa78;background:#f0faf6}
#page-dispo .dispatch-tour-overview-day.is-holiday .dispatch-tour-overview-day-label{background:#fff4f4}
#page-dispo .dispatch-tour-overview-day-label{position:sticky;left:0;z-index:5;width:165px;margin:0;padding:8px 10px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;align-content:center;gap:1px 5px;border:0;border-right:1px solid #dbe4e9;background:#fbfcfd;text-align:left;cursor:pointer;color:#294554}
#page-dispo .dispatch-tour-overview-day-label:hover{background:#f1f6f8}
#page-dispo .dispatch-tour-overview-day-label span{grid-column:1;font-size:8px;font-weight:750;text-transform:uppercase;color:#788c98}
#page-dispo .dispatch-tour-overview-day-label strong{grid-column:2;grid-row:1 / span 2;align-self:center;font-size:13px;color:#1d3e50}
#page-dispo .dispatch-tour-overview-day-label small{grid-column:1/-1;max-width:140px;font-size:7.8px;color:#b14b4b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-tour-overview-day-label i{grid-column:1/-1;font-size:8px;font-style:normal;color:#738693}
#page-dispo .dispatch-tour-overview-day-body{position:relative;min-width:0;background-color:#fff;background-image:linear-gradient(to right,rgba(148,163,184,.14) 1px,transparent 1px);background-size:var(--tour-hour-width) 100%}
#page-dispo .dispatch-tour-overview-tracks{position:relative;min-height:calc(var(--tour-lanes) * 62px + 10px);padding:5px 0}
#page-dispo .dispatch-tour-overview-card{position:absolute;left:var(--tour-left);top:calc(var(--tour-lane) * 62px + 5px);width:var(--tour-width);min-width:104px;max-width:520px;height:55px;box-sizing:border-box;display:grid;grid-template-rows:auto auto auto auto;align-content:center;gap:1px;padding:5px 7px;border:1px solid #dbe4e9;border-left:4px solid #8395a2;border-radius:8px;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.08);overflow:hidden;cursor:pointer;color:#314c5b}
#page-dispo .dispatch-tour-overview-card:hover{z-index:4;border-color:#96afbc;box-shadow:0 5px 15px rgba(15,23,42,.14);transform:translateY(-1px)}
#page-dispo .dispatch-tour-overview-card.status-offen{border-left-color:#94a3b8}.dispatch-tour-overview-card.status-disponiert,.dispatch-tour-overview-card.status-angenommen{border-left-color:#f59e0b}.dispatch-tour-overview-card.status-unterwegs,.dispatch-tour-overview-card.status-angekommen,.dispatch-tour-overview-card.status-gewogen{border-left-color:#2584c6}.dispatch-tour-overview-card.status-erledigt{border-left-color:#22a35a;background:#f9fffb}
#page-dispo .dispatch-tour-overview-card.has-warning{background:#fffaf2}
#page-dispo .dispatch-tour-overview-card-head{min-width:0;display:flex;align-items:center;gap:5px}
#page-dispo .dispatch-tour-overview-card-head strong{min-width:0;flex:1;font-size:9.6px;color:#17394a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-tour-overview-card-head .dispatch-status-pill{flex:0 0 auto;padding:1px 4px;font-size:6.8px}
#page-dispo .dispatch-tour-overview-card-head i{flex:0 0 auto;font-size:9px;font-style:normal;color:#d97706}
#page-dispo .dispatch-tour-overview-route{min-width:0;font-size:8.7px;font-weight:700;color:#395665;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-tour-overview-card small{min-width:0;font-size:7.5px;line-height:1.15;color:#71848f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-tour-overview-untimed-strip{min-height:54px;padding:5px 7px;display:flex;align-items:stretch;gap:5px;border-top:1px dashed #d9e2e7;background:rgba(248,250,252,.78);overflow:hidden}
#page-dispo .dispatch-tour-overview-untimed-strip>b{flex:0 0 72px;align-self:center;font-size:7.5px;text-transform:uppercase;color:#8a9aa4}
#page-dispo .dispatch-tour-overview-untimed{flex:0 0 190px;min-width:0;padding:5px 7px;border:1px solid #dbe4e9;border-left:4px solid #94a3b8;border-radius:8px;background:#fff;display:grid;gap:1px;cursor:pointer;overflow:hidden}
#page-dispo .dispatch-tour-overview-untimed:hover{border-color:#99b0bc;background:#fbfdfe}
#page-dispo .dispatch-tour-overview-untimed.has-warning{border-left-color:#d97706;background:#fffaf2}
#page-dispo .dispatch-tour-overview-untimed>div{display:flex;align-items:center;justify-content:space-between;gap:5px}
#page-dispo .dispatch-tour-overview-untimed strong{font-size:8.8px;color:#254555}.dispatch-tour-overview-untimed span{font-size:7px;color:#687f8c}.dispatch-tour-overview-untimed small{font-size:7.5px;color:#71848f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-dispo .dispatch-tour-overview-empty{position:absolute;inset:0;display:flex;align-items:center;padding-left:12px;color:#9aa8b2;font-size:8.5px;font-style:italic}
#page-dispo .dispatch-tour-overview-empty-global{position:sticky;left:165px;width:min(520px,calc(100vw - 250px));margin:12px;padding:14px;border:1px dashed #cdd8df;border-radius:9px;background:#fbfcfd;display:grid;gap:2px;color:#71848f}.dispatch-tour-overview-empty-global strong{font-size:10px;color:#405c6b}.dispatch-tour-overview-empty-global span{font-size:8.5px}
@media(max-width:1280px){#page-dispo .dispatch-tour-overview-chart{--tour-hour-width:76px}#page-dispo .dispatch-tour-overview-stats{min-width:760px}.dispatch-tour-overview-stats>div small{display:none}}

/* V15.85 – editierbarer Tourstart und sichtbare Ressourcen-Zeitkonflikte. */
#dispatch-timeline-detail-modal #dispatch-resource-time-hint.warning{color:#9a6700;font-weight:700}
#dispatch-timeline-detail-modal #dispatch-resource-time-hint.blocking{color:#b42318;font-weight:700}

#dispatch-timeline-detail-modal .dispatch-assignment-state.warning{background:#fff7ed;color:#9a3412;border-color:#fed7aa}

/* V15.86 – Einheitlicher kompakter Statusfilter in allen Dispo-Sichten. */
#page-dispo .dispatch-status-filterbar{
  min-height:34px;
  width:max-content;
  max-width:100%;
  margin:0;
  padding:4px 6px;
  display:flex;
  align-items:center;
  justify-self:start;
  border:1px solid #dbe4e9;
  border-radius:10px;
  background:rgba(255,255,255,.97);
  box-shadow:0 1px 4px rgba(15,23,42,.04);
  overflow-x:auto;
}
#page-dispo .dispatch-status-filterbar nav{display:flex;align-items:center;gap:4px;white-space:nowrap}
#page-dispo .dispatch-status-filterbar button{
  height:27px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:0 7px;
  border:1px solid #d7e1e7;
  border-radius:8px;
  background:#fff;
  color:#526a78;
  font-size:8.7px;
  cursor:pointer;
  box-shadow:none;
}
#page-dispo .dispatch-status-filterbar button strong{
  min-width:18px;
  height:17px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#edf3f6;
  color:#335365;
  font-size:8px;
}
#page-dispo .dispatch-status-filterbar button:hover{border-color:#9ab4c1;background:#f8fbfc}
#page-dispo .dispatch-status-filterbar button.active{border-color:#315568;background:#315568;color:#fff}
#page-dispo .dispatch-status-filterbar button.active strong{background:rgba(255,255,255,.18);color:#fff}
#page-dispo .dispatch-status-filterbar button.warning:not(.active){border-color:#f1c178;background:#fff9ef;color:#a15a00}
#page-dispo .dispatch-tour-overview{padding-top:0}
@media(max-width:760px){#page-dispo .dispatch-status-filterbar{width:100%;box-sizing:border-box}}

/* V15.87 – Tour-Zeitstrahl als interaktive Tageslupe mit Zeit-Dropziel. */
#page-dispo .dispatch-tour-overview-card.is-draggable,
#page-dispo .dispatch-tour-overview-untimed.is-draggable{cursor:grab}
#page-dispo .dispatch-tour-overview-card.is-draggable:active,
#page-dispo .dispatch-tour-overview-untimed.is-draggable:active{cursor:grabbing}
#page-dispo .dispatch-tour-overview-card.dragging,
#page-dispo .dispatch-tour-overview-untimed.dragging{opacity:.42;box-shadow:none}
#page-dispo .dispatch-tour-overview-tracks[data-dispatch-tour-drop="true"]{isolation:isolate}
#page-dispo .dispatch-tour-overview-tracks[data-dispatch-tour-drop="true"].is-time-drop-target{
  background-color:rgba(48,94,116,.035);
  box-shadow:inset 0 0 0 1px rgba(49,85,104,.18);
}
#page-dispo .dispatch-tour-drop-guide{
  position:absolute;
  z-index:30;
  top:0;
  bottom:0;
  left:var(--drop-left,0%);
  width:0;
  display:none;
  pointer-events:none;
  border-left:1px solid #1f647f;
  filter:drop-shadow(0 1px 1px rgba(15,23,42,.12));
}
#page-dispo .dispatch-tour-overview-tracks.is-time-drop-target>.dispatch-tour-drop-guide{display:block}
#page-dispo .dispatch-tour-drop-guide>span{
  position:absolute;
  left:-18px;
  top:var(--drop-y,50%);
  width:36px;
  height:0;
  border-top:1px solid #1f647f;
}
#page-dispo .dispatch-tour-drop-guide>span::after{
  content:"";
  position:absolute;
  left:15px;
  top:-3px;
  width:6px;
  height:6px;
  box-sizing:border-box;
  border:1px solid #1f647f;
  border-radius:50%;
  background:#fff;
}
#page-dispo .dispatch-tour-drop-guide>strong{
  position:absolute;
  left:0;
  top:3px;
  transform:translateX(-50%);
  min-width:max-content;
  padding:3px 6px;
  border:1px solid #b8ced8;
  border-radius:7px;
  background:rgba(255,255,255,.97);
  box-shadow:0 2px 7px rgba(15,23,42,.12);
  color:#17465b;
  font-size:8.5px;
  font-weight:800;
  white-space:nowrap;
}
#page-dispo .dispatch-tour-overview-tracks.is-time-drop-target .dispatch-tour-overview-empty{opacity:.35}
#toast.warning{background:#a96000}
#page-dispo .dispatch-tour-overview-card{min-width:50px;max-width:none}
#page-dispo .dispatch-tour-overview-tracks.has-time-conflict>.dispatch-tour-drop-guide{border-left-color:#c77700}
#page-dispo .dispatch-tour-overview-tracks.has-time-conflict>.dispatch-tour-drop-guide>span{border-top-color:#c77700}
#page-dispo .dispatch-tour-overview-tracks.has-time-conflict>.dispatch-tour-drop-guide>span::after{border-color:#c77700;background:#fff8eb}
#page-dispo .dispatch-tour-overview-tracks.has-time-conflict>.dispatch-tour-drop-guide>strong{border-color:#e6b463;background:#fff8eb;color:#8c5100}

/* V15.88 – Hof / Anlieferung: operative Live-Sicht statt Retro-Nummernwand. */
.hof-page-header { align-items:center; }
.hof-live-indicator { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:var(--font-size-small); font-weight:700; }
.hof-live-dot { width:8px; height:8px; border-radius:50%; background:var(--positive-solid); box-shadow:0 0 0 3px color-mix(in srgb,var(--positive-solid) 14%,transparent); flex:0 0 auto; }
.hof-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:12px; }
.hof-summary-card { min-height:70px; padding:11px 13px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); display:flex; flex-direction:column; justify-content:center; gap:2px; }
.hof-summary-card strong { font-size:22px; line-height:1; color:var(--primary); }
.hof-summary-card span { color:var(--muted); font-size:var(--font-size-small); }
.hof-summary-card.warning { border-color:color-mix(in srgb,var(--red) 38%,var(--border)); background:color-mix(in srgb,var(--red) 5%,var(--surface)); }
.hof-summary-card.warning strong { color:var(--red); }
.hof-shell { padding:0; overflow:hidden; }
.hof-toolbar { min-height:49px; padding:7px 10px; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; gap:12px; }
.hof-tabs { margin:0; }
.hof-toolbar-actions { display:flex; align-items:center; gap:8px; }
.hof-last-refresh { color:var(--muted); font-size:var(--font-size-small); white-space:nowrap; }
.hof-view { padding:14px; }
.hof-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:13px; }
.hof-section-head h2 { color:var(--primary); font-size:var(--font-size-heading-small); margin:0 0 2px; }
.hof-section-head p { color:var(--muted); font-size:var(--font-size-small); max-width:760px; }
.hof-legend { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; color:var(--muted); font-size:var(--font-size-caption); }
.hof-legend span { display:flex; align-items:center; gap:5px; }
.hof-legend span::before { content:""; width:9px; height:9px; border-radius:3px; background:var(--border); }
.hof-legend [data-legend="active"]::before { background:var(--accent); }
.hof-legend [data-legend="waiting"]::before { background:var(--blue); }
.hof-legend [data-legend="warning"]::before { background:var(--red); }
.hof-capacity { color:var(--muted); font-size:var(--font-size-small); font-weight:700; white-space:nowrap; }
.hof-process-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(235px,1fr)); gap:11px; }
.hof-process-grid.hof-workstation-grid { grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); }
.hof-empty { grid-column:1/-1; min-height:125px; border:1px dashed var(--border); border-radius:var(--radius); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:5px; color:var(--muted); padding:20px; }
.hof-empty strong { color:var(--primary); font-size:var(--font-size-medium); }
.hof-process-card { --hof-status:var(--blue); position:relative; min-height:148px; border:1px solid color-mix(in srgb,var(--hof-status) 34%,var(--border)); border-left:5px solid var(--hof-status); border-radius:10px; background:color-mix(in srgb,var(--hof-status) 4%,var(--surface)); padding:12px 13px; cursor:pointer; display:flex; flex-direction:column; gap:7px; transition:border-color .15s,background .15s,transform .15s; overflow:hidden; }
.hof-process-card:hover { border-color:color-mix(in srgb,var(--hof-status) 58%,var(--border)); background:color-mix(in srgb,var(--hof-status) 7%,var(--surface)); transform:translateY(-1px); }
.hof-process-card[data-status="RESERVIERT"] { --hof-status:var(--hof-reserved-color); }
.hof-process-card[data-status="WARTET_WAAGE"] { --hof-status:var(--hof-wait-scale-color); }
.hof-process-card[data-status="WIEGUNG_LAEUFT"] { --hof-status:var(--hof-weighing-color); }
.hof-process-card[data-status="WARTET_AUSZAHLUNG"] { --hof-status:var(--hof-wait-payment-color); }
.hof-process-card[data-status="AUSZAHLUNG_LAEUFT"] { --hof-status:var(--hof-payment-color); }
.hof-process-card.hof-warning { --hof-status:var(--hof-warning-color); background:color-mix(in srgb,var(--hof-warning-color) 12%,var(--surface)); }
.hof-process-card.hof-active::after { content:""; position:absolute; inset:0; border:2px solid color-mix(in srgb,var(--hof-status) 62%,transparent); border-radius:9px; pointer-events:none; box-shadow:inset 0 0 0 0 color-mix(in srgb,var(--hof-status) 0%,transparent); animation:hof-processing-pulse 1.8s ease-in-out infinite; }
@keyframes hof-processing-pulse {
  0%,100%{opacity:.28;box-shadow:inset 0 0 0 0 color-mix(in srgb,var(--hof-status) 0%,transparent)}
  50%{opacity:1;box-shadow:inset 0 0 18px 1px color-mix(in srgb,var(--hof-status) 24%,transparent)}
}
.hof-card-top { display:flex; align-items:flex-start; gap:11px; }
.hof-card-number { flex:0 0 auto; min-width:54px; font-size:38px; line-height:.95; font-weight:800; letter-spacing:-1.5px; color:var(--hof-status); }
.hof-card-identity { min-width:0; flex:1; }
.hof-card-identity strong { display:block; color:var(--text); font-size:var(--font-size-medium); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hof-card-identity span { display:block; margin-top:2px; color:var(--muted); font-size:var(--font-size-small); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hof-status-line { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:auto; padding-top:7px; border-top:1px solid color-mix(in srgb,var(--hof-status) 14%,var(--border)); }
.hof-status-label { color:var(--hof-status); font-size:var(--font-size-small); font-weight:800; text-transform:uppercase; letter-spacing:.035em; }
.hof-status-age { color:var(--text); font-size:var(--font-size-small); font-weight:700; white-space:nowrap; }
.hof-status-age small { color:var(--muted); font-weight:500; }
.hof-warning .hof-status-age { color:var(--hof-warning-color); }
.hof-card-next { color:var(--muted); font-size:var(--font-size-small); display:flex; gap:5px; align-items:center; }
.hof-card-next::before { content:"→"; color:var(--hof-status); font-weight:800; }
.hof-number-pool { --hof-pool-columns:5; display:grid; grid-template-columns:repeat(var(--hof-pool-columns),minmax(76px,1fr)); gap:9px; overflow-x:auto; padding-bottom:2px; }
.hof-number-tile { min-height:86px; border:1px solid var(--border); border-radius:10px; background:var(--surface); color:var(--primary); padding:8px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; cursor:pointer; position:relative; }
.hof-number-tile:hover:not(:disabled) { border-color:var(--blue); background:color-mix(in srgb,var(--blue) 5%,var(--surface)); }
.hof-number-tile:disabled { cursor:default; opacity:1; }
.hof-number-tile .number { font-size:28px; line-height:1; font-weight:800; }
.hof-number-tile .state { max-width:100%; color:var(--muted); font-size:var(--font-size-caption); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hof-number-tile.free .state { color:var(--hof-free-color); font-weight:700; }
.hof-number-tile.reserved { border-color:color-mix(in srgb,var(--hof-reserved-color) 38%,var(--border)); background:color-mix(in srgb,var(--hof-reserved-color) 8%,var(--surface)); color:var(--hof-reserved-color); }
.hof-number-tile.active { border-color:color-mix(in srgb,var(--hof-in-use-color) 34%,var(--border)); background:color-mix(in srgb,var(--hof-in-use-color) 8%,var(--surface)); }
.hof-number-tile.warning { border-color:color-mix(in srgb,var(--hof-warning-color) 55%,var(--border)); background:color-mix(in srgb,var(--hof-warning-color) 10%,var(--surface)); color:var(--hof-warning-color); }
.hof-modal-title-wrap { display:flex; align-items:center; gap:12px; }
.hof-modal-number { width:58px; height:52px; border-radius:10px; display:grid; place-items:center; flex:0 0 58px; background:var(--primary); color:#fff; font-size:27px; font-weight:800; }
.hof-registration-modal-box { width:min(860px,calc(100vw - 28px)); }
.hof-process-modal-box { width:min(680px,calc(100vw - 28px)); }
.hof-registration-body { display:flex; flex-direction:column; gap:12px; }
.hof-registration-body [hidden] { display:none !important; }
.hof-reservation-strip { min-height:34px; padding:7px 10px; border:1px solid color-mix(in srgb,var(--hof-reserved-color) 22%,var(--border)); border-radius:8px; background:color-mix(in srgb,var(--hof-reserved-color) 7%,var(--surface)); display:flex; align-items:center; gap:7px; color:var(--muted); font-size:var(--font-size-small); }
.hof-reservation-strip strong { color:var(--hof-reserved-color); }
#hof-reservation-lease { margin-left:auto; white-space:nowrap; }
.hof-delivery-type-fieldset { margin:0; padding:0; border:0; min-width:0; }
.hof-delivery-type-fieldset legend { margin-bottom:7px; color:var(--text); font-size:var(--font-size-small); font-weight:700; }
.hof-delivery-type-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.hof-delivery-type-card { min-height:92px; border:1px solid var(--border); border-radius:9px; padding:10px 11px; background:var(--surface); cursor:pointer; display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:8px; align-items:center; transition:border-color .15s,background .15s; }
.hof-delivery-type-card:hover { border-color:color-mix(in srgb,var(--blue) 55%,var(--border)); background:color-mix(in srgb,var(--blue) 4%,var(--surface)); }
.hof-delivery-type-card:has(input:checked) { border:2px solid var(--blue); padding:9px 10px; background:color-mix(in srgb,var(--blue) 7%,var(--surface)); }
.hof-delivery-type-card:has(input:focus-visible) { outline:2px solid color-mix(in srgb,var(--blue) 62%,transparent); outline-offset:2px; }
.hof-delivery-type-card input { position:absolute; opacity:0; pointer-events:none; }
.hof-delivery-type-icon { grid-row:1/3; font-size:25px; line-height:1; }
.hof-delivery-type-card strong { color:var(--text); font-size:var(--font-size-body); }
.hof-delivery-type-card small { color:var(--muted); font-size:var(--font-size-caption); line-height:1.3; }
.hof-weighing-method-hint { margin-top:7px; min-height:29px; border-left:3px solid var(--border); padding:6px 8px; color:var(--muted); background:color-mix(in srgb,var(--primary) 3%,var(--surface)); font-size:var(--font-size-small); }
.hof-anonymous-option { border:1px solid var(--border); border-radius:8px; padding:9px 10px; display:flex; align-items:flex-start; gap:9px; cursor:pointer; }
.hof-anonymous-option input { margin-top:3px; }
.hof-anonymous-option strong,.hof-anonymous-option small { display:block; }
.hof-anonymous-option small { margin-top:2px; color:var(--muted); font-size:var(--font-size-caption); }
.hof-registration-grid .hof-registration-disabled { opacity:.5; }
.hof-registration-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; }
.hof-registration-grid .span-2 { grid-column:span 2; }
.hof-process-detail { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.hof-detail-item { padding:9px 10px; border:1px solid var(--border); border-radius:8px; min-width:0; }
.hof-detail-item span { display:block; color:var(--muted); font-size:var(--font-size-caption); margin-bottom:2px; }
.hof-detail-item strong { display:block; color:var(--text); font-size:var(--font-size-body); overflow-wrap:anywhere; }
.hof-detail-item.wide { grid-column:1/-1; }
.hof-history-detail-section { grid-column:1/-1; border:1px solid var(--border); border-radius:10px; overflow:hidden; background:var(--surface); }
.hof-history-detail-section + .hof-history-detail-section { margin-top:2px; }
.hof-history-detail-head { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 12px 8px; border-bottom:1px solid var(--border); }
.hof-history-detail-head > div { min-width:0; }
.hof-history-detail-head strong { display:block; font-size:var(--font-size-body); color:var(--text); }
.hof-history-detail-head span { display:block; margin-top:2px; color:var(--muted); font-size:var(--font-size-caption); }
.hof-history-detail-head > b { white-space:nowrap; font-size:var(--font-size-body); color:var(--text); }
.hof-history-detail-table-wrap { overflow-x:auto; }
.hof-history-detail-table { width:100%; border-collapse:collapse; font-size:var(--font-size-body); }
.hof-history-detail-table th { padding:7px 10px; color:var(--muted); font-size:var(--font-size-caption); font-weight:700; text-align:left; white-space:nowrap; background:var(--surface-soft); }
.hof-history-detail-table td { padding:8px 10px; border-top:1px solid var(--border); vertical-align:middle; }
.hof-history-detail-table tbody tr:first-child td { border-top:0; }
.hof-history-detail-table .num { text-align:right; white-space:nowrap; }
.hof-history-detail-table .empty { color:var(--muted); text-align:center; padding:12px; }
.hof-detail-position-no { display:inline-flex; align-items:center; justify-content:center; min-width:28px; height:28px; padding:0 7px; border-radius:7px; background:var(--surface-soft); font-weight:800; color:var(--text); }
.hof-process-action-block { margin-top:14px; padding-top:12px; border-top:1px solid var(--border); }
.hof-process-action-block > strong { display:block; color:var(--primary); margin-bottom:8px; }
.hof-process-actions { display:flex; flex-wrap:wrap; gap:8px; }
.hof-process-note { color:var(--muted); font-size:var(--font-size-small); padding:8px 10px; border-left:3px solid var(--border); background:color-mix(in srgb,var(--primary) 3%,var(--surface)); }
.hof-cancel-modal-box { width:min(560px,calc(100vw - 28px)); }
.hof-cancel-context { margin-bottom:14px; padding:10px 12px; border:1px solid color-mix(in srgb,var(--red) 24%,var(--border)); border-radius:8px; background:color-mix(in srgb,var(--red) 5%,var(--surface)); }
.hof-cancel-context strong { display:block; margin-bottom:4px; }
.hof-cancel-context span { display:block; color:var(--muted); font-size:var(--font-size-small); }
.hof-cancel-modal-box #hof-cancel-text { min-height:132px; resize:vertical; line-height:1.45; }
.hof-history-reason { display:block; margin-top:2px; color:var(--muted); font-size:var(--font-size-small); }
.hof-history-details { margin-top:14px; border-top:1px solid var(--border); padding-top:10px; }
.hof-history-details summary { cursor:pointer; color:var(--primary); font-weight:700; }
.hof-process-history { margin-top:9px; display:flex; flex-direction:column; gap:7px; }
.hof-history-row { display:grid; grid-template-columns:92px minmax(0,1fr); gap:9px; align-items:start; font-size:var(--font-size-small); }
.hof-history-row time { color:var(--muted); }
.hof-history-row strong { color:var(--text); }
.hof-history-row span { display:block; color:var(--muted); margin-top:1px; }

@media (max-width:760px) {
  .hof-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hof-toolbar,.hof-section-head { align-items:stretch; flex-direction:column; }
  .hof-toolbar-actions { justify-content:space-between; }
  .hof-legend { justify-content:flex-start; }
  .hof-delivery-type-grid { grid-template-columns:1fr; }
  .hof-registration-grid,.hof-process-detail { grid-template-columns:1fr; }
  .hof-registration-grid .span-2,.hof-detail-item.wide { grid-column:auto; }
  .hof-number-pool { grid-template-columns:repeat(var(--hof-pool-columns),minmax(68px,1fr)); }
}
@media (prefers-reduced-motion:reduce) {
  .hof-process-card.hof-active::after { animation:none; opacity:.55; }
  /* Explizit im Zahnrad gespeichertes Pulsieren ist eine bewusste lokale Freigabe. */
  #page-anlieferung.hof-pulse-explicit .hof-process-card.hof-active::after { animation:hof-processing-pulse 1.8s ease-in-out infinite; }
}


/* V15.90 – Hofarbeitsplatz: Hof bleibt sichtbar, Anmeldung ist angedockt/herauslösbar; Farben persönlich statt fest verdrahtet. */
#page-anlieferung {
  --hof-free-color:var(--positive-solid);
  --hof-in-use-color:var(--primary);
  --hof-reserved-color:var(--accent);
  --hof-wait-scale-color:var(--blue);
  --hof-weighing-color:var(--accent);
  --hof-wait-payment-color:var(--positive-solid);
  --hof-payment-color:var(--positive-solid);
  --hof-warning-color:var(--red);
}
#page-anlieferung .hof-workspace-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(310px,360px); align-items:stretch; min-height:430px; }
#page-anlieferung .hof-main-stage { min-width:0; }
#page-anlieferung .hof-registration-dock { min-width:0; border-left:1px solid var(--border); background:color-mix(in srgb,var(--primary) 1.5%,var(--surface)); display:flex; flex-direction:column; }
#page-anlieferung .hof-registration-dock-head { padding:12px 13px 10px; border-bottom:1px solid var(--border); display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
#page-anlieferung .hof-registration-dock-head h2 { margin:0 0 2px; color:var(--primary); font-size:var(--font-size-heading-small); }
#page-anlieferung .hof-registration-dock-head p { margin:0; color:var(--muted); font-size:var(--font-size-caption); line-height:1.35; }
#page-anlieferung .hof-registration-dock-actions { display:flex; flex-direction:column; align-items:flex-end; gap:6px; flex:0 0 auto; }
#page-anlieferung .hof-registration-dock-body { padding:12px 13px 14px; }
#page-anlieferung .hof-number-pool { grid-template-columns:repeat(var(--hof-pool-columns),minmax(48px,76px)); justify-content:start; gap:7px; overflow:visible; }
#page-anlieferung .hof-number-tile { min-height:57px; border-width:1px; border-radius:9px; padding:5px 4px; gap:2px; }
#page-anlieferung .hof-number-tile .number { font-size:22px; }
#page-anlieferung .hof-number-tile .state { font-size:9px; text-transform:uppercase; font-weight:800; letter-spacing:.025em; }
#page-anlieferung .hof-number-tile.free { border-color:color-mix(in srgb,var(--hof-free-color) 58%,var(--border)); background:color-mix(in srgb,var(--hof-free-color) 15%,var(--surface)); color:var(--hof-free-color); }
#page-anlieferung .hof-number-tile.free:hover:not(:disabled) { border-color:var(--hof-free-color); background:color-mix(in srgb,var(--hof-free-color) 23%,var(--surface)); }
#page-anlieferung .hof-number-tile.in-use { border-color:color-mix(in srgb,var(--hof-in-use-color) 44%,var(--border)); background:color-mix(in srgb,var(--hof-in-use-color) 10%,var(--surface)); color:var(--hof-in-use-color); }
#page-anlieferung .hof-number-tile.in-use .state { color:var(--hof-in-use-color); }
#page-anlieferung .hof-process-card { min-height:165px; background:color-mix(in srgb,var(--hof-status) 12%,var(--surface)); border-color:color-mix(in srgb,var(--hof-status) 48%,var(--border)); border-left-width:6px; gap:5px; }
#page-anlieferung .hof-process-card:hover { background:color-mix(in srgb,var(--hof-status) 17%,var(--surface)); border-color:color-mix(in srgb,var(--hof-status) 68%,var(--border)); }
#page-anlieferung .hof-card-number { min-width:0; font-size:42px; line-height:.92; margin-bottom:2px; }
#page-anlieferung .hof-card-customer { color:var(--text); font-size:var(--font-size-medium); font-weight:800; line-height:1.22; white-space:normal; overflow-wrap:anywhere; }
#page-anlieferung .hof-card-meta { color:var(--muted); font-size:var(--font-size-small); line-height:1.3; white-space:normal; overflow-wrap:anywhere; }
#page-anlieferung .hof-card-top,#page-anlieferung .hof-card-identity { display:contents; }
#page-anlieferung .hof-legend [data-legend="active"]::before { background:var(--hof-weighing-color); }
#page-anlieferung .hof-legend [data-legend="waiting"]::before { background:var(--hof-wait-scale-color); }
#page-anlieferung .hof-legend [data-legend="warning"]::before { background:var(--hof-warning-color); }
#page-anlieferung.hof-pulse-disabled .hof-process-card.hof-active::after { display:none; }
#page-anlieferung .hof-icon-action { min-width:34px; font-size:16px; }
.hof-appearance-modal-box { width:min(680px,calc(100vw - 28px)); }
.hof-appearance-body { display:flex; flex-direction:column; gap:15px; }
.hof-appearance-section h3 { margin:0 0 8px; color:var(--primary); font-size:var(--font-size-medium); }
.hof-color-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; }
.hof-color-field { min-height:46px; border:1px solid var(--border); border-radius:8px; padding:6px 8px 6px 10px; display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--text); font-size:var(--font-size-small); }
.hof-color-field input[type="color"] { width:44px; height:32px; padding:2px; border:1px solid var(--border); border-radius:6px; background:var(--surface); cursor:pointer; }
.hof-appearance-pulse-row { margin:0; }
.hof-appearance-pulse-wrap { display:flex; flex-direction:column; gap:4px; }
.hof-appearance-pulse-hint { color:var(--muted); font-size:var(--font-size-caption); line-height:1.35; padding-left:2px; }
body.hof-registration-only-window #page-anlieferung .hof-page-header,
body.hof-registration-only-window #page-anlieferung .hof-summary,
body.hof-registration-only-window #page-anlieferung .hof-toolbar,
body.hof-registration-only-window #page-anlieferung .hof-main-stage { display:none !important; }
body.hof-registration-only-window #page-anlieferung .hof-workspace-layout { display:block; min-height:0; }
body.hof-registration-only-window #page-anlieferung .hof-registration-dock { border-left:0; min-height:calc(100vh - 110px); background:var(--surface); }
body.hof-registration-only-window #page-anlieferung .hof-registration-dock-head { padding:14px 16px 12px; }
body.hof-registration-only-window #page-anlieferung .hof-registration-dock-body { padding:14px 16px; }
body.hof-registration-only-window #page-anlieferung #hof-registration-detach { display:none; }
body.hof-registration-only-window #page-anlieferung .hof-number-pool { grid-template-columns:repeat(var(--hof-pool-columns),minmax(62px,84px)); }
@media (max-width:1150px) {
  #page-anlieferung .hof-workspace-layout { grid-template-columns:1fr; }
  #page-anlieferung .hof-registration-dock { border-left:0; border-top:1px solid var(--border); }
  #page-anlieferung .hof-registration-dock-head { align-items:center; }
}
@media (max-width:760px) {
  #page-anlieferung .hof-registration-dock-head { flex-direction:column; align-items:stretch; }
  #page-anlieferung .hof-registration-dock-actions { flex-direction:row; align-items:center; justify-content:space-between; }
  .hof-color-grid { grid-template-columns:1fr; }
}

/* V15.90 – Ausweisdokumentbilder im Hofvorgang. */
.hof-identification-images { border-top:1px solid var(--border); padding-top:10px; }
.hof-identification-images-head { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:8px; }
.hof-identification-images-head strong { color:var(--primary); }
.hof-identification-images-head small { color:var(--muted); font-size:var(--font-size-caption); }
.hof-identification-image-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.hof-identification-image-slot { display:flex; flex-direction:column; gap:5px; color:var(--text); font-size:var(--font-size-small); font-weight:700; }
.hof-identification-image-slot input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.hof-identification-image-preview { min-height:92px; border:1px dashed color-mix(in srgb,var(--primary) 28%,var(--border)); border-radius:9px; background:color-mix(in srgb,var(--primary) 2%,var(--surface)); display:flex; align-items:center; justify-content:center; text-align:center; padding:10px; color:var(--muted); font-weight:600; cursor:pointer; background-position:center; background-size:cover; }
.hof-identification-image-preview:hover { border-color:var(--blue); }
.hof-identification-image-preview.has-image { border-style:solid; color:var(--text); text-shadow:0 1px 2px var(--surface); }
.hof-inline-link { border:0; background:transparent; padding:0; color:var(--blue); text-decoration:underline; cursor:pointer; font:inherit; font-weight:700; }
@media (max-width:760px) { .hof-identification-image-grid { grid-template-columns:1fr; } .hof-identification-images-head { align-items:flex-start; flex-direction:column; } }

#page-anlieferung .hof-registration-appearance-only { display:none; min-width:34px; font-size:16px; }
body.hof-registration-only-window #page-anlieferung .hof-registration-appearance-only { display:inline-flex; }

/* V15.93 – Stornotext nutzt die Dialogbreite; gemeinsamer Dispo-Statusfilter bleibt auch im Zeitstrahl oberhalb des Grids. */
.hof-cancel-modal-box #hof-cancel-text {
  width:100%;
  box-sizing:border-box;
}
body.dispatch-workspace-active #page-dispo.active:has(#dispatch-timeline-view:not([hidden])) {
  grid-template-rows:auto auto minmax(0,1fr) auto;
}
#page-dispo:has(#dispatch-timeline-view:not([hidden])) > .dispatch-toolbar {
  grid-row:1;
}
#page-dispo:has(#dispatch-timeline-view:not([hidden])) > .dispatch-status-filterbar {
  grid-row:2;
}
#page-dispo:has(#dispatch-timeline-view:not([hidden])) > #dispatch-timeline-view {
  grid-row:3;
}
#page-dispo:has(#dispatch-timeline-view:not([hidden])) > #dispatch-message {
  grid-row:4;
}

/* V15.94 – Historie der Hof-Anlieferungen als normale, zentral konfigurierbare MindQube-Liste. */
#page-anlieferung .hof-history-section-head { align-items:center; }
#page-anlieferung .hof-history-head-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
#page-anlieferung .hof-history-controls { display:grid; grid-template-columns:minmax(240px,1fr) 180px auto auto; gap:8px; align-items:center; margin-bottom:10px; }
#page-anlieferung .hof-history-controls .master-search-wrap { min-width:0; }
#page-anlieferung .hof-history-controls > select { height:34px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); padding:0 9px; }
#page-anlieferung .hof-history-page-size { display:flex; align-items:center; gap:6px; color:var(--muted); font-size:var(--font-size-small); white-space:nowrap; }
#page-anlieferung .hof-history-page-size select { height:34px; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); padding:0 7px; }
#page-anlieferung .hof-history-table-wrap { border:1px solid var(--border); border-radius:8px 8px 0 0; max-height:calc(100vh - 385px); min-height:220px; overflow:auto; }
#page-anlieferung .hof-history-table thead th { position:sticky; top:0; z-index:3; background:var(--surface); box-shadow:0 1px 0 var(--border); }
#page-anlieferung .hof-history-table td { vertical-align:middle; }
#page-anlieferung .hof-history-list-row { cursor:pointer; }
#page-anlieferung .hof-history-list-row td:nth-child(2),
#page-anlieferung .hof-history-list-row td:nth-child(7),
#page-anlieferung .hof-history-list-row td:nth-child(9) { overflow:hidden; text-overflow:ellipsis; }
#page-anlieferung #hof-history-pager { border:1px solid var(--border); border-top:0; border-radius:0 0 8px 8px; }
@media (max-width:900px) {
  #page-anlieferung .hof-history-controls { grid-template-columns:1fr 1fr; }
  #page-anlieferung .hof-history-controls .master-search-wrap { grid-column:1/-1; }
}
@media (max-width:600px) {
  #page-anlieferung .hof-history-controls { grid-template-columns:1fr; }
  #page-anlieferung .hof-history-controls .master-search-wrap { grid-column:auto; }
}


/* V15.96 – Eine Hofmatrix als Arbeitsmittel; Anmeldung direkt aus freien Nummern. */
#page-anlieferung .hof-workspace-layout {
  display:block;
  min-height:430px;
}
#page-anlieferung .hof-main-stage { min-width:0; }
#page-anlieferung #hof-overview-cards.hof-yard-matrix {
  grid-template-columns:repeat(var(--hof-pool-columns),minmax(190px,1fr));
  gap:10px;
  overflow-x:auto;
  align-items:stretch;
  padding-bottom:2px;
}
#page-anlieferung #hof-overview-cards.hof-yard-matrix .hof-process-card {
  min-height:154px;
}
#page-anlieferung .hof-free-card {
  --hof-status:var(--hof-free-color);
  border-style:dashed;
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--hof-free-color) 11%,var(--surface)),color-mix(in srgb,var(--hof-free-color) 3%,var(--surface)));
}
#page-anlieferung .hof-free-card:hover:not(:disabled) {
  border-style:solid;
  background:color-mix(in srgb,var(--hof-free-color) 17%,var(--surface));
}
#page-anlieferung .hof-free-card .hof-card-customer {
  color:var(--hof-free-color);
  text-transform:uppercase;
  letter-spacing:.04em;
}
#page-anlieferung .hof-free-card .hof-card-next::before { content:"+"; }
#page-anlieferung .hof-free-card:disabled { cursor:default; }

#page-anlieferung #hof-scale-cards.hof-scale-matrix {
  grid-template-columns:repeat(var(--hof-pool-columns),minmax(128px,1fr));
  gap:10px;
  overflow-x:auto;
  align-items:stretch;
  padding-bottom:2px;
}
#page-anlieferung .hof-scale-matrix-tile {
  --hof-status:var(--hof-in-use-color);
  min-height:126px;
  border:2px solid color-mix(in srgb,var(--hof-status) 48%,var(--border));
  border-radius:12px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--hof-status) 17%,var(--surface)),color-mix(in srgb,var(--hof-status) 7%,var(--surface)));
  color:var(--hof-status);
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:transform .14s,border-color .14s,background .14s;
}
#page-anlieferung .hof-scale-matrix-tile > span {
  font-size:clamp(34px,3vw,54px);
  line-height:1;
  font-weight:900;
  letter-spacing:-.035em;
}
#page-anlieferung .hof-scale-matrix-tile:not(:disabled):hover {
  transform:translateY(-1px);
  border-color:var(--hof-status);
  background:color-mix(in srgb,var(--hof-status) 22%,var(--surface));
}
#page-anlieferung .hof-scale-matrix-tile:disabled { cursor:default; opacity:1; }
#page-anlieferung .hof-scale-matrix-tile[data-status="FREI"] { --hof-status:var(--hof-free-color); }
#page-anlieferung .hof-scale-matrix-tile[data-status="RESERVIERT"] { --hof-status:var(--hof-reserved-color); }
#page-anlieferung .hof-scale-matrix-tile[data-status="WARTET_WAAGE"] { --hof-status:var(--hof-wait-scale-color); }
#page-anlieferung .hof-scale-matrix-tile[data-status="WIEGUNG_LAEUFT"] { --hof-status:var(--hof-weighing-color); }
#page-anlieferung .hof-scale-matrix-tile[data-status="WARTET_AUSZAHLUNG"] { --hof-status:var(--hof-wait-payment-color); }
#page-anlieferung .hof-scale-matrix-tile[data-status="AUSZAHLUNG_LAEUFT"] { --hof-status:var(--hof-payment-color); }
#page-anlieferung .hof-scale-matrix-tile.hof-warning { --hof-status:var(--hof-warning-color); }

#page-anlieferung .hof-supplier-select-group {
  border:1px solid color-mix(in srgb,var(--primary) 14%,var(--border));
  border-radius:9px;
  padding:9px 10px 8px;
  background:color-mix(in srgb,var(--primary) 2.5%,var(--surface));
}
#page-anlieferung .hof-identification-image-preview.has-stored-image {
  border-style:solid;
  border-color:color-mix(in srgb,var(--positive-solid) 45%,var(--border));
  background:color-mix(in srgb,var(--positive-solid) 7%,var(--surface));
  color:var(--positive-solid);
}
#page-anlieferung .hof-history-table .master-sort-button {
  width:100%;
  justify-content:space-between;
}

@media (max-width:900px) {
  #page-anlieferung #hof-overview-cards.hof-yard-matrix { grid-template-columns:repeat(var(--hof-pool-columns),minmax(170px,1fr)); }
  #page-anlieferung #hof-scale-cards.hof-scale-matrix { grid-template-columns:repeat(var(--hof-pool-columns),minmax(110px,1fr)); }
}

/* V15.97 – kompakte Hofmatrix und aufgabenbezogene Waagensicht. */
#page-anlieferung #hof-overview-cards.hof-yard-matrix,
#page-anlieferung #hof-scale-cards.hof-scale-matrix {
  gap:6px;
  overflow:visible;
}
#page-anlieferung #hof-overview-cards.hof-yard-matrix {
  grid-template-columns:repeat(var(--hof-pool-columns),minmax(128px,1fr));
}
#page-anlieferung #hof-overview-cards.hof-yard-matrix .hof-process-card {
  height:82px;
  min-height:82px;
  padding:6px 8px;
  gap:1px;
  border-left-width:4px;
  border-radius:8px;
}
#page-anlieferung #hof-overview-cards.hof-yard-matrix .hof-card-number {
  font-size:27px;
  line-height:.9;
  margin:0;
}
#page-anlieferung #hof-overview-cards.hof-yard-matrix .hof-card-customer {
  font-size:11px;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#page-anlieferung #hof-overview-cards.hof-yard-matrix .hof-card-meta,
#page-anlieferung #hof-overview-cards.hof-yard-matrix .hof-card-next {
  font-size:9px;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
#page-anlieferung #hof-overview-cards.hof-yard-matrix .hof-status-line {
  gap:5px;
  padding-top:3px;
  margin-top:auto;
}
#page-anlieferung #hof-overview-cards.hof-yard-matrix .hof-status-label,
#page-anlieferung #hof-overview-cards.hof-yard-matrix .hof-status-age {
  font-size:8.5px;
  line-height:1.05;
}
#page-anlieferung #hof-overview-cards.hof-yard-matrix .hof-status-age small { font-size:8px; }
#page-anlieferung #hof-overview-cards.hof-yard-matrix .hof-free-card .hof-card-customer { font-size:10px; }

#page-anlieferung #hof-scale-cards.hof-scale-matrix {
  grid-template-columns:repeat(var(--hof-pool-columns),minmax(110px,1fr));
}
#page-anlieferung .hof-scale-matrix-tile {
  min-height:72px;
  height:72px;
  border-width:1px;
  border-radius:8px;
  transition:transform .12s,border-color .12s,background .12s;
}
#page-anlieferung .hof-scale-matrix-tile > span {
  font-size:30px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.025em;
}
#page-anlieferung .hof-scale-matrix-tile.hof-scale-action {
  --hof-status:var(--positive-solid);
  border-color:color-mix(in srgb,var(--positive-solid) 58%,var(--border));
  background:linear-gradient(145deg,color-mix(in srgb,var(--positive-solid) 19%,var(--surface)),color-mix(in srgb,var(--positive-solid) 8%,var(--surface)));
  color:var(--positive-solid);
  cursor:pointer;
}
#page-anlieferung .hof-scale-matrix-tile.hof-scale-action:hover {
  border-color:var(--positive-solid);
  background:color-mix(in srgb,var(--positive-solid) 26%,var(--surface));
  transform:translateY(-1px);
}
#page-anlieferung .hof-scale-matrix-tile.hof-scale-idle,
#page-anlieferung .hof-scale-matrix-tile.hof-scale-idle:disabled {
  --hof-status:var(--muted);
  border-color:color-mix(in srgb,var(--muted) 30%,var(--border));
  background:color-mix(in srgb,var(--muted) 7%,var(--surface));
  color:color-mix(in srgb,var(--muted) 78%,var(--text));
  cursor:default;
  opacity:1;
  transform:none;
}
/* In der Waagensicht haben Prozessfarben bewusst keine Bedeutung mehr: grün = Arbeit, grau = erledigt/nicht zuständig. */

@media (max-height:800px) and (min-width:1100px) {
  #page-anlieferung .hof-view { padding-top:10px; padding-bottom:10px; }
  #page-anlieferung .hof-section-head { margin-bottom:8px; }
  #page-anlieferung #hof-overview-cards.hof-yard-matrix .hof-process-card { height:74px; min-height:74px; }
  #page-anlieferung #hof-overview-cards.hof-yard-matrix .hof-card-number { font-size:24px; }
  #page-anlieferung .hof-scale-matrix-tile { height:68px; min-height:68px; }
}

/* V16.0 – kompakter, rollenreduzierter Waagenschritt im bestehenden Hof-Modal. */
.hof-scale-workstep { grid-column:1/-1; display:flex; flex-direction:column; gap:12px; min-width:0; }
.hof-scale-method-line { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:7px 9px; border:1px solid var(--border); border-radius:8px; background:color-mix(in srgb,var(--primary) 3%,var(--surface)); font-size:var(--font-size-small); }
.hof-scale-method-line span { color:var(--muted); }
.hof-scale-method-line strong { min-width:0; text-align:right; }
.hof-scale-entry-row { display:grid; grid-template-columns:minmax(220px,1.45fr) minmax(118px,.55fr) auto; gap:10px; align-items:end; }
.hof-scale-entry-row label > span { display:block; margin-bottom:5px; color:var(--muted); font-size:var(--font-size-caption); font-weight:600; }
.hof-scale-article-field select { width:100%; max-width:360px; }
.hof-scale-weight-field input { width:100%; min-width:110px; text-align:right; font-variant-numeric:tabular-nums; }
.hof-scale-entry-actions { display:flex; gap:7px; align-items:end; white-space:nowrap; }
.hof-scale-position-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:3px; color:var(--text); }
.hof-scale-position-head > span { color:var(--muted); font-size:var(--font-size-small); }
.hof-scale-positions { display:flex; flex-direction:column; gap:6px; }
.hof-scale-position { display:grid; grid-template-columns:30px minmax(120px,1fr) 72px 104px 36px; gap:8px; align-items:center; min-height:38px; padding:6px 8px; border:1px solid var(--border); border-radius:8px; background:var(--surface); }
.hof-scale-position-no { width:26px; height:26px; display:grid; place-items:center; border-radius:6px; background:color-mix(in srgb,var(--primary) 8%,var(--surface)); color:var(--primary); font-weight:800; }
.hof-scale-position-source { color:var(--muted); font-size:var(--font-size-caption); }
.hof-scale-position b { text-align:right; font-variant-numeric:tabular-nums; }
.hof-scale-position.voided { opacity:.5; text-decoration:line-through; }

@media (max-width:760px) {
  .hof-scale-entry-row { grid-template-columns:1fr; }
  .hof-scale-article-field select { max-width:none; }
  .hof-scale-entry-actions { white-space:normal; flex-wrap:wrap; }
  .hof-scale-position { grid-template-columns:26px minmax(0,1fr) 90px 34px; }
  .hof-scale-position-source { display:none; }
}

/* V16.0.1 – Waagendialog an das zentrale MindQube Form-Look-and-Feel angleichen. */
#hof-process-modal .hof-scale-article-field select,
#hof-process-modal .hof-scale-weight-field input {
  box-sizing:border-box;
  height:38px;
  min-height:38px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface);
  color:var(--text);
  padding:0 11px;
  outline:none;
  transition:border-color .14s ease, box-shadow .14s ease, background .14s ease;
}
#hof-process-modal .hof-scale-article-field select { cursor:pointer; }
#hof-process-modal .hof-scale-article-field select:hover,
#hof-process-modal .hof-scale-weight-field input:hover {
  border-color:color-mix(in srgb,var(--primary) 34%,var(--border));
}
#hof-process-modal .hof-scale-article-field select:focus,
#hof-process-modal .hof-scale-weight-field input:focus {
  border-color:var(--primary);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 13%,transparent);
}

/* V16.1 – Auszahlung im gemeinsamen Hofvorgangs-Modal. */
#hof-process-modal .hof-process-modal-box.hof-payment-mode { width:min(940px,calc(100vw - 28px)); }
#hof-process-modal .hof-process-modal-box.hof-payment-mode .modal-body { max-height:min(78vh,820px); overflow:auto; }
.hof-payment-workspace { grid-column:1/-1; display:flex; flex-direction:column; gap:14px; min-width:0; }
.hof-payment-pricing,.hof-payment-distribution { border:1px solid var(--border); border-radius:12px; background:var(--surface); padding:12px; }
.hof-payment-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.hof-payment-section-head > div { min-width:0; }
.hof-payment-section-head strong { display:block; color:var(--primary); font-size:var(--font-size-medium); }
.hof-payment-section-head span { display:block; margin-top:2px; color:var(--muted); font-size:var(--font-size-caption); }
.hof-payment-section-head > b { color:var(--text); font-size:20px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.hof-payment-price-head,.hof-payment-price-row { display:grid; grid-template-columns:34px minmax(150px,1.4fr) 120px 130px 120px; gap:8px; align-items:center; }
.hof-payment-price-head { padding:0 8px 5px; color:var(--muted); font-size:var(--font-size-caption); font-weight:700; }
.hof-payment-price-head span:nth-last-child(-n+3) { text-align:right; }
.hof-payment-price-list { display:flex; flex-direction:column; gap:5px; }
.hof-payment-price-row { min-height:40px; padding:6px 8px; border:1px solid var(--border); border-radius:9px; background:color-mix(in srgb,var(--primary) 2%,var(--surface)); }
.hof-payment-price-row > span:nth-last-child(-n+2),.hof-payment-price-row > b,.hof-payment-price-row > span:nth-child(3) { text-align:right; font-variant-numeric:tabular-nums; }
.hof-payment-position-no { width:26px; height:26px; border-radius:7px; display:grid; place-items:center; background:color-mix(in srgb,var(--primary) 9%,var(--surface)); color:var(--primary); font-weight:800; }
.hof-payment-splits { display:flex; flex-direction:column; gap:10px; }
.hof-payment-split { border:1px solid var(--border); border-radius:11px; background:color-mix(in srgb,var(--primary) 1.5%,var(--surface)); padding:10px; }
.hof-payment-split-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:9px; }
.hof-payment-split-head > div:first-child { display:flex; align-items:center; gap:7px; }
.hof-payment-split-badge { width:26px; height:26px; display:grid; place-items:center; border-radius:8px; background:var(--primary); color:#fff; font-weight:800; }
.hof-payment-split-tools { display:flex; gap:6px; }
.hof-payment-split-grid { display:grid; grid-template-columns:minmax(190px,1.2fr) minmax(170px,1fr) 130px 150px; gap:9px; align-items:end; }
.hof-payment-bank-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:9px; padding-top:9px; border-top:1px solid var(--border); }
.hof-payment-method-choice { display:grid; grid-template-columns:1fr 1fr; min-height:38px; border:1px solid var(--border); border-radius:10px; overflow:hidden; background:var(--surface); }
.hof-payment-method-choice button { min-width:0; border:0; border-right:1px solid var(--border); background:transparent; color:var(--text); font:inherit; font-size:var(--font-size-small); font-weight:700; padding:0 9px; cursor:pointer; }
.hof-payment-method-choice button:last-child { border-right:0; }
.hof-payment-method-choice button:hover { background:color-mix(in srgb,var(--primary) 5%,var(--surface)); }
.hof-payment-method-choice button.active { background:var(--primary); color:#fff; }
.hof-payment-split label > span,.hof-payment-identification-grid label > span,.hof-payment-signature-head span { display:block; margin-bottom:5px; color:var(--muted); font-size:var(--font-size-caption); font-weight:600; }
#hof-process-modal .hof-payment-split input,
#hof-process-modal .hof-payment-split select,
#hof-process-modal .hof-payment-identification-grid input {
  box-sizing:border-box; width:100%; height:38px; min-height:38px; border:1px solid var(--border); border-radius:10px;
  background:var(--surface); color:var(--text); padding:0 11px; outline:none;
  transition:border-color .14s ease,box-shadow .14s ease,background .14s ease;
}
#hof-process-modal .hof-payment-split input:hover,#hof-process-modal .hof-payment-split select:hover,#hof-process-modal .hof-payment-identification-grid input:hover { border-color:color-mix(in srgb,var(--primary) 34%,var(--border)); }
#hof-process-modal .hof-payment-split input:focus,#hof-process-modal .hof-payment-split select:focus,#hof-process-modal .hof-payment-identification-grid input:focus { border-color:var(--primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 13%,transparent); }
#hof-process-modal .hof-payment-split input[readonly] { background:color-mix(in srgb,var(--primary) 4%,var(--surface)); color:var(--muted); }
.hof-payment-money-input { position:relative; }
.hof-payment-money-input input { padding-right:28px !important; text-align:right; font-variant-numeric:tabular-nums; }
.hof-payment-money-input span { position:absolute; right:10px; top:50%; transform:translateY(-50%); color:var(--muted); pointer-events:none; }
.hof-payment-signature { margin-top:9px; padding-top:9px; border-top:1px solid var(--border); }
.hof-payment-signature-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.hof-payment-signature canvas { display:block; width:100%; height:92px; border:1px dashed color-mix(in srgb,var(--primary) 35%,var(--border)); border-radius:10px; background:var(--surface); touch-action:none; cursor:crosshair; }
.hof-payment-summary { display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; margin-top:11px; padding-top:10px; border-top:1px solid var(--border); }
.hof-payment-summary span { min-width:130px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 9px; border-radius:9px; background:color-mix(in srgb,var(--primary) 4%,var(--surface)); color:var(--muted); font-size:var(--font-size-small); }
.hof-payment-summary b { color:var(--text); font-variant-numeric:tabular-nums; }
#hof-payment-remaining.is-open { color:var(--red); }
#hof-payment-remaining.is-balanced { color:var(--green); }
.hof-payment-identification-warning { border:1px solid color-mix(in srgb,var(--hof-warning-color) 42%,var(--border)); border-radius:12px; background:color-mix(in srgb,var(--hof-warning-color) 7%,var(--surface)); padding:11px 12px; }
.hof-payment-identification-warning > div:first-child strong { display:block; color:var(--text); }
.hof-payment-identification-warning > div:first-child span { display:block; margin-top:3px; color:var(--muted); font-size:var(--font-size-small); }
.hof-payment-identification-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:10px 0; }
.hof-payment-file input { padding:7px 9px !important; }
.hof-payment-file small { display:block; margin-top:3px; color:var(--green); }

@media (max-width:820px) {
  .hof-payment-price-head { display:none; }
  .hof-payment-price-row { grid-template-columns:30px minmax(0,1fr) 90px; }
  .hof-payment-price-row > span:nth-child(4) { display:none; }
  .hof-payment-price-row > b { grid-column:3; }
  .hof-payment-split-grid,.hof-payment-bank-grid,.hof-payment-identification-grid { grid-template-columns:1fr; }
  .hof-payment-section-head { align-items:flex-start; flex-direction:column; }
}

/* V16.2 – Ressourcenpaarung direkt in der Tourplanung. */
#page-dispo .dispatch-plan-resource-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(260px,1.4fr);gap:10px;align-items:end;margin:0 0 10px;padding:9px 10px;border:1px solid #dfe7ec;border-radius:10px;background:#f8fafb}
#page-dispo .dispatch-plan-resource-row .form-group{margin:0}
#page-dispo .dispatch-plan-resource-row select{height:36px}
#page-dispo .dispatch-plan-resource-hint{align-self:center;font-size:9.5px;line-height:1.35;color:#5c7180}
#page-dispo .dispatch-plan-resource-hint.is-required{color:#8a5200;font-weight:650}
@media(max-width:900px){#page-dispo .dispatch-plan-resource-row{grid-template-columns:1fr 1fr}#page-dispo .dispatch-plan-resource-hint{grid-column:1/-1}}
@media(max-width:620px){#page-dispo .dispatch-plan-resource-row{grid-template-columns:1fr}}

/* V16.3 – Operatives append-only Kassenbuch. */
.cashbook-page-header{margin-bottom:12px}.cashbook-header-status{display:flex;align-items:center;gap:8px}
.cashbook-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.cashbook-summary article{display:flex;flex-direction:column;gap:5px;padding:13px 15px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 1px 2px rgba(15,35,48,.04)}
.cashbook-summary span{color:var(--muted);font-size:var(--font-size-small);font-weight:650}.cashbook-summary strong{font-size:21px;font-variant-numeric:tabular-nums;color:var(--text)}
.cashbook-summary .cashbook-summary-primary{border-color:color-mix(in srgb,var(--primary) 34%,var(--border));background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.cashbook-summary-primary strong{color:var(--primary)}
.cashbook-shell{padding:0;overflow:hidden}.cashbook-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-bottom:1px solid var(--border)}
.cashbook-day-picker,.cashbook-toolbar-actions{display:flex;align-items:center;gap:7px}.cashbook-day-picker input{height:34px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:0 9px;font:inherit}
.cashbook-principle{margin:11px 12px 0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--primary) 4%,var(--surface));color:var(--muted);font-size:var(--font-size-small);line-height:1.45}.cashbook-principle strong{color:var(--text)}
.cashbook-closing-card{margin:10px 12px 0;display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--green) 38%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--green) 6%,var(--surface))}.cashbook-closing-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-weight:900}.cashbook-closing-card>div:last-child{display:flex;flex-direction:column;gap:2px}.cashbook-closing-card span,.cashbook-closing-card small{color:var(--muted);font-size:var(--font-size-small)}.cashbook-closing-card b.is-difference{color:var(--red)}.cashbook-closing-card b.is-zero{color:var(--green)}
.cashbook-filter-row{display:grid;grid-template-columns:minmax(280px,1fr) 240px auto auto;gap:9px;align-items:center;padding:11px 12px}.cashbook-filter-row select{height:36px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);padding:0 9px}.cashbook-count{color:var(--muted);font-size:var(--font-size-small);white-space:nowrap}
.cashbook-table-wrap{border-top:1px solid var(--border)}.cashbook-table{min-width:1310px}.cashbook-table td{vertical-align:middle}.cashbook-table td small{display:block;margin-top:2px;color:var(--muted);font-size:var(--font-size-caption)}.cashbook-table td:first-child strong{font-variant-numeric:tabular-nums}.cashbook-money{text-align:right!important;white-space:nowrap;font-variant-numeric:tabular-nums}.cashbook-money.positive strong{color:var(--green)}.cashbook-money.negative strong{color:var(--red)}
.cashbook-type,.cashbook-category{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:154px;min-height:24px;padding:3px 7px;border-radius:999px;font-size:var(--font-size-caption);font-weight:750;background:color-mix(in srgb,var(--primary) 7%,var(--surface));color:var(--text);white-space:nowrap}.cashbook-category{width:166px}.cashbook-type.income,.cashbook-type.opening,.cashbook-category.income,.cashbook-category.opening{background:color-mix(in srgb,var(--green) 10%,var(--surface));color:var(--green)}.cashbook-type.expense,.cashbook-category.expense{background:color-mix(in srgb,var(--red) 9%,var(--surface));color:var(--red)}.cashbook-type.reverse,.cashbook-category.reverse{background:color-mix(in srgb,#d97706 10%,var(--surface));color:#9a5a00}.cashbook-type.difference,.cashbook-category.difference{background:color-mix(in srgb,#8b5cf6 10%,var(--surface));color:#6d3dc0}
.cashbook-reversed-mark{display:block;margin-top:3px;color:var(--muted);font-size:var(--font-size-caption)}.cashbook-row-reversed{opacity:.62}.cashbook-source span{font-weight:650}.cashbook-source-link{border:0;background:none;padding:0;color:var(--primary);font:inherit;font-weight:750;cursor:pointer;text-align:left}.cashbook-source-link:hover{text-decoration:underline}.cashbook-reason{max-width:360px;white-space:pre-line;line-height:1.35}.cashbook-row-actions{text-align:right;white-space:nowrap}.cashbook-message{margin:10px 12px 12px}
.cashbook-modal-box{width:min(640px,calc(100vw - 28px))}.cashbook-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.cashbook-form-grid label>span,.cashbook-modal-field>span,.cashbook-close-count label>span{display:block;margin-bottom:5px;color:var(--muted);font-size:var(--font-size-caption);font-weight:650}.cashbook-form-grid input,.cashbook-form-grid select,.cashbook-form-grid textarea,.cashbook-modal-field textarea,.cashbook-close-count input{box-sizing:border-box;width:100%;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);padding:9px 10px;font:inherit;outline:none}.cashbook-form-grid input,.cashbook-form-grid select,.cashbook-close-count input{height:38px;padding-top:0;padding-bottom:0}.cashbook-form-grid input:focus,.cashbook-form-grid select:focus,.cashbook-form-grid textarea:focus,.cashbook-modal-field textarea:focus,.cashbook-close-count input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.cashbook-form-wide{grid-column:1/-1}.cashbook-form-grid small,.cashbook-modal-field small{font-weight:500;color:var(--muted)}
.cashbook-money-input{position:relative}.cashbook-money-input input{padding-right:30px!important;text-align:right;font-variant-numeric:tabular-nums}.cashbook-money-input b{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.cashbook-reverse-preview{padding:11px 12px;margin-bottom:12px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--primary) 3%,var(--surface))}.cashbook-reverse-preview>div{display:flex;justify-content:space-between;gap:12px}.cashbook-reverse-preview p{margin:7px 0;color:var(--text)}.cashbook-reverse-preview small{color:var(--muted)}.cashbook-warning-note{margin-top:11px;padding:9px 10px;border-radius:9px;background:color-mix(in srgb,#d97706 7%,var(--surface));border:1px solid color-mix(in srgb,#d97706 25%,var(--border));color:var(--muted);font-size:var(--font-size-small);line-height:1.4}.cashbook-warning-note strong{color:var(--text)}
.cashbook-close-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:13px}.cashbook-close-summary>div{padding:9px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.cashbook-close-summary span{display:block;color:var(--muted);font-size:var(--font-size-caption)}.cashbook-close-summary strong{display:block;margin-top:4px;font-variant-numeric:tabular-nums}.cashbook-close-summary .cashbook-close-expected{background:color-mix(in srgb,var(--primary) 5%,var(--surface));border-color:color-mix(in srgb,var(--primary) 25%,var(--border))}.cashbook-close-count{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.7fr);gap:10px;align-items:end;margin-bottom:11px}.cashbook-difference{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 11px;border:1px solid var(--border);border-radius:9px;background:color-mix(in srgb,var(--primary) 3%,var(--surface))}.cashbook-difference span{color:var(--muted);font-size:var(--font-size-small)}.cashbook-difference strong{font-variant-numeric:tabular-nums}.cashbook-difference strong.is-difference{color:var(--red)}.cashbook-difference strong.is-zero{color:var(--green)}
@media(max-width:860px){.cashbook-summary{grid-template-columns:1fr 1fr}.cashbook-toolbar{align-items:flex-start;flex-direction:column}.cashbook-filter-row{grid-template-columns:1fr}.cashbook-close-summary{grid-template-columns:1fr 1fr}}@media(max-width:600px){.cashbook-summary,.cashbook-form-grid,.cashbook-close-count,.cashbook-close-summary{grid-template-columns:1fr}.cashbook-form-wide{grid-column:auto}.cashbook-day-picker,.cashbook-toolbar-actions{flex-wrap:wrap}}

/* V16.5 – physische Kassen, TSE-Status und echte Bargeldvorgänge. */
.cashbook-register-picker{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:var(--font-size-caption);font-weight:700}.cashbook-register-picker select{height:32px;min-width:190px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:0 28px 0 9px;font:inherit;font-weight:650}
.cashbook-tse{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:114px;min-height:24px;padding:3px 8px;border-radius:999px;font-size:var(--font-size-caption);font-weight:750;white-space:nowrap;background:color-mix(in srgb,var(--primary) 7%,var(--surface));color:var(--text)}.cashbook-tse.signed{background:color-mix(in srgb,var(--green) 10%,var(--surface));color:var(--green)}.cashbook-tse.test{background:color-mix(in srgb,#8b5cf6 10%,var(--surface));color:#6d3dc0}.cashbook-tse.unsecured,.cashbook-tse.error{background:color-mix(in srgb,var(--red) 9%,var(--surface));color:var(--red)}.cashbook-tse.historical{color:var(--muted)}
.cashbook-sale-box{width:min(980px,calc(100vw - 28px))}.cashbook-business-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:15px 0 8px}.cashbook-business-head strong{font-size:var(--font-size-small)}
.cashbook-sale-total-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;padding:0 11px;border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));border-radius:9px;background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.cashbook-sale-total-card span{color:var(--muted);font-size:var(--font-size-caption);font-weight:650}.cashbook-sale-total-card strong{font-size:18px;font-variant-numeric:tabular-nums;color:var(--primary)}
.cashbook-sale-positions{display:flex;flex-direction:column;gap:7px}.cashbook-sale-row{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(170px,1fr) 105px 110px 110px 34px;gap:7px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.cashbook-sale-row select,.cashbook-sale-row input{box-sizing:border-box;width:100%;height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:0 8px;font:inherit}.cashbook-sale-row .cashbook-sale-price,.cashbook-sale-row .cashbook-sale-line{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.cashbook-sale-row .cashbook-sale-price{color:var(--muted);font-size:var(--font-size-small)}.cashbook-sale-row .cashbook-sale-line{font-weight:750}.cashbook-sale-row .cashbook-sale-remove{width:34px;height:34px;padding:0}
.cashbook-register-box{width:min(960px,calc(100vw - 28px))}.cashbook-register-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:15px}.cashbook-register-layout aside{border-right:1px solid var(--border);padding-right:15px}.cashbook-register-list{display:flex;flex-direction:column;gap:6px;max-height:420px;overflow:auto}.cashbook-register-list button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}.cashbook-register-list button:hover,.cashbook-register-list button.active{border-color:color-mix(in srgb,var(--primary) 50%,var(--border));background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.cashbook-register-list small{color:var(--muted)}.cashbook-register-checks{display:flex;flex-wrap:wrap;gap:15px;margin-top:13px}.cashbook-register-checks label{display:flex;align-items:center;gap:7px;font-size:var(--font-size-small);font-weight:650}.cashbook-register-editor code{font-size:var(--font-size-caption)}
@media(max-width:900px){.cashbook-header-status{flex-wrap:wrap;justify-content:flex-end}.cashbook-sale-row{grid-template-columns:1fr 1fr 90px 100px}.cashbook-sale-row .cashbook-sale-price,.cashbook-sale-row .cashbook-sale-line{justify-self:end}.cashbook-register-layout{grid-template-columns:1fr}.cashbook-register-layout aside{border-right:0;border-bottom:1px solid var(--border);padding-right:0;padding-bottom:12px}.cashbook-register-list{max-height:180px}}
@media(max-width:620px){.cashbook-register-picker{width:100%;justify-content:space-between}.cashbook-register-picker select{min-width:0;flex:1}.cashbook-sale-row{grid-template-columns:1fr}.cashbook-sale-row .cashbook-sale-price,.cashbook-sale-row .cashbook-sale-line{justify-self:stretch;text-align:left}.cashbook-sale-row .cashbook-sale-remove{justify-self:end}}
.cashbook-tse.open{background:color-mix(in srgb,#d97706 9%,var(--surface));color:#9a5a00}.cashbook-tse.legacy{color:var(--muted)}
.cashbook-header-status .tag-yellow{background:color-mix(in srgb,#d97706 9%,var(--surface));color:#9a5a00;border-color:color-mix(in srgb,#d97706 28%,var(--border))}
.hof-payment-cash-register{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:14px;align-items:end;padding:11px 12px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--primary) 4%,var(--surface))}.hof-payment-cash-register>div strong{display:block;color:var(--primary)}.hof-payment-cash-register>div span{display:block;margin-top:3px;color:var(--muted);font-size:var(--font-size-small)}.hof-payment-cash-register label>span{display:block;margin-bottom:5px;color:var(--muted);font-size:var(--font-size-caption);font-weight:650}.hof-payment-cash-register select{box-sizing:border-box;width:100%;height:38px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);padding:0 9px;font:inherit}.hof-payment-cash-register small{display:block;margin-top:4px;color:var(--muted);font-size:var(--font-size-caption)}
@media(max-width:720px){.hof-payment-cash-register{grid-template-columns:1fr}}

/* V16.5.1 – vereinfachte Hofanmeldung: Eingangswägung statt Anlieferungsart-Auswahl. */
.hof-registration-entry-weight-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; }
.hof-registration-entry-weight-row .btn { min-height:38px; white-space:nowrap; }
@media (max-width:720px) {
  .hof-registration-entry-weight-row { grid-template-columns:1fr; }
}

/* V16.5.5 Hof: Mischwägung aus Brücke + direkt gewogenen Materialpositionen. */
#page-anlieferung .hof-scale-bridge-summary {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
#page-anlieferung .hof-scale-bridge-summary > div {
  min-width:0;
  padding:8px 10px;
  border:1px solid var(--border);
  border-radius:8px;
  background:color-mix(in srgb,var(--primary) 3%,var(--surface));
}
#page-anlieferung .hof-scale-bridge-summary span,
#page-anlieferung .hof-scale-outbound-complete label > span {
  display:block;
  margin-bottom:4px;
  color:var(--muted);
  font-size:var(--font-size-caption);
  font-weight:600;
}
#page-anlieferung .hof-scale-bridge-summary strong {
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#page-anlieferung .hof-scale-position.difference-pending {
  border-style:dashed;
  background:color-mix(in srgb,var(--primary) 4%,var(--surface));
}
#page-anlieferung .hof-scale-position.difference-pending > b { color:var(--muted); }
#page-anlieferung .hof-scale-outbound-complete {
  display:grid;
  grid-template-columns:minmax(180px,260px) auto auto minmax(260px,1fr);
  gap:10px;
  align-items:end;
  width:100%;
}
#page-anlieferung .hof-scale-outbound-complete input {
  width:100%;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
#page-anlieferung .hof-scale-outbound-preview {
  display:flex;
  flex-wrap:wrap;
  gap:6px 14px;
  align-items:center;
  min-height:38px;
  padding:7px 10px;
  border:1px solid var(--border);
  border-radius:8px;
  color:var(--muted);
  font-size:var(--font-size-small);
}
#page-anlieferung .hof-scale-outbound-preview b { color:var(--text); }
#page-anlieferung .hof-scale-outbound-preview .is-error { color:var(--red); font-weight:700; }
@media (max-width:1050px) {
  #page-anlieferung .hof-scale-bridge-summary { grid-template-columns:1fr; }
  #page-anlieferung .hof-scale-outbound-complete { grid-template-columns:1fr; align-items:stretch; }
}

/* V16.5.7 Hof: Fahrzeugwaage und Materialwaage sind getrennte Prozessschritte. */
#hof-process-modal .hof-process-modal-box.hof-scale-mode { width:min(780px,calc(100vw - 28px)); }
#page-anlieferung .hof-material-workspace { display:flex; flex-direction:column; gap:12px; min-width:0; }
#page-anlieferung .hof-material-vehicle-note { display:grid; grid-template-columns:auto auto minmax(0,1fr); gap:10px; align-items:center; padding:9px 11px; border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border)); border-radius:10px; background:color-mix(in srgb,var(--primary) 4%,var(--surface)); }
#page-anlieferung .hof-material-vehicle-note span { color:var(--muted); font-size:var(--font-size-caption); font-weight:650; }
#page-anlieferung .hof-material-vehicle-note strong { white-space:nowrap; font-variant-numeric:tabular-nums; }
#page-anlieferung .hof-material-vehicle-note small { min-width:0; color:var(--muted); text-align:right; }
#page-anlieferung .hof-material-capture,
#page-anlieferung .hof-material-list { padding:12px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
#page-anlieferung .hof-material-section-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; margin-bottom:11px; }
#page-anlieferung .hof-material-section-head > div { min-width:0; }
#page-anlieferung .hof-material-section-head strong { display:block; }
#page-anlieferung .hof-material-section-head span { display:block; margin-top:2px; color:var(--muted); font-size:var(--font-size-small); line-height:1.35; }
#page-anlieferung .hof-material-section-head > b { white-space:nowrap; font-size:18px; font-variant-numeric:tabular-nums; }
#page-anlieferung .hof-material-entry { display:grid; grid-template-columns:minmax(0,1fr) 150px auto; gap:10px; align-items:end; }
#page-anlieferung .hof-material-entry label > span { display:block; margin-bottom:5px; color:var(--muted); font-size:var(--font-size-caption); font-weight:650; }
#page-anlieferung .hof-material-entry select,
#page-anlieferung .hof-material-entry input { box-sizing:border-box; width:100%; height:40px; border:1px solid var(--border); border-radius:9px; background:var(--surface); color:var(--text); padding:0 10px; font:inherit; }
#page-anlieferung .hof-material-entry input { text-align:right; font-variant-numeric:tabular-nums; }
#page-anlieferung .hof-material-entry-actions { display:flex; gap:7px; white-space:nowrap; }
#page-anlieferung .hof-material-entry-actions .btn { min-height:40px; }
#page-anlieferung .hof-material-positions { display:flex; flex-direction:column; gap:6px; }
#page-anlieferung .hof-material-position { display:grid; grid-template-columns:30px minmax(0,1fr) 110px 34px; gap:9px; align-items:center; min-height:42px; padding:6px 8px; border:1px solid var(--border); border-radius:9px; background:color-mix(in srgb,var(--surface) 96%,var(--primary)); }
#page-anlieferung .hof-material-position-no { width:27px; height:27px; display:grid; place-items:center; border-radius:7px; background:color-mix(in srgb,var(--primary) 9%,var(--surface)); color:var(--primary); font-weight:800; }
#page-anlieferung .hof-material-position > div { min-width:0; }
#page-anlieferung .hof-material-position strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#page-anlieferung .hof-material-position small { display:block; margin-top:1px; color:var(--muted); font-size:var(--font-size-caption); }
#page-anlieferung .hof-material-position b { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
#page-anlieferung .hof-material-position.voided { opacity:.5; text-decoration:line-through; }
#page-anlieferung .hof-material-empty { padding:14px; border:1px dashed var(--border); border-radius:9px; color:var(--muted); text-align:center; }

#page-anlieferung .hof-payment-vehicle-workspace { display:flex; flex-direction:column; gap:12px; min-width:0; }
#page-anlieferung .hof-payment-vehicle-card,
#page-anlieferung .hof-payment-vehicle-direct { padding:13px 14px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
#page-anlieferung .hof-payment-vehicle-summary { display:grid; grid-template-columns:minmax(150px,.7fr) minmax(150px,.7fr) minmax(320px,1.6fr); gap:10px; align-items:end; }
#page-anlieferung .hof-payment-vehicle-summary > div,
#page-anlieferung .hof-payment-vehicle-summary > label { min-width:0; padding:10px 11px; border:1px solid var(--border); border-radius:10px; background:color-mix(in srgb,var(--primary) 3%,var(--surface)); }
#page-anlieferung .hof-payment-vehicle-summary span,
#page-anlieferung .hof-payment-difference-article > span { display:block; margin-bottom:5px; color:var(--muted); font-size:var(--font-size-caption); font-weight:650; }
#page-anlieferung .hof-payment-vehicle-summary strong { display:block; font-size:18px; font-variant-numeric:tabular-nums; }
#page-anlieferung .hof-payment-vehicle-input { display:grid; grid-template-columns:minmax(120px,1fr) auto; gap:7px; }
#page-anlieferung .hof-payment-vehicle-input input,
#page-anlieferung .hof-payment-difference-article select { box-sizing:border-box; width:100%; height:40px; border:1px solid var(--border); border-radius:9px; background:var(--surface); color:var(--text); padding:0 10px; font:inherit; }
#page-anlieferung .hof-payment-vehicle-input input { text-align:right; font-variant-numeric:tabular-nums; }
#page-anlieferung .hof-payment-vehicle-result { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:10px; }
#page-anlieferung .hof-payment-vehicle-result > div { display:flex; justify-content:space-between; gap:10px; padding:8px 10px; border:1px solid var(--border); border-radius:9px; background:var(--bg-soft); }
#page-anlieferung .hof-payment-vehicle-result span { color:var(--muted); font-size:var(--font-size-small); }
#page-anlieferung .hof-payment-vehicle-result b { white-space:nowrap; font-variant-numeric:tabular-nums; }
#page-anlieferung .hof-payment-vehicle-result b.is-error { color:var(--red); }
#page-anlieferung .hof-payment-difference-article { display:block; margin-top:10px; }
#page-anlieferung .hof-payment-difference-article small { display:block; margin-top:4px; color:var(--muted); font-size:var(--font-size-caption); }
#page-anlieferung .hof-payment-vehicle-positions { display:flex; flex-direction:column; gap:6px; }
#page-anlieferung .hof-payment-vehicle-position { display:grid; grid-template-columns:30px minmax(0,1fr) 110px; gap:8px; align-items:center; padding:7px 9px; border:1px solid var(--border); border-radius:9px; }
#page-anlieferung .hof-payment-vehicle-position > span { width:26px; height:26px; display:grid; place-items:center; border-radius:6px; background:color-mix(in srgb,var(--primary) 8%,var(--surface)); color:var(--primary); font-weight:800; }
#page-anlieferung .hof-payment-vehicle-position b { text-align:right; font-variant-numeric:tabular-nums; }
#page-anlieferung .hof-payment-vehicle-empty { padding:12px; border:1px dashed var(--border); border-radius:9px; color:var(--muted); text-align:center; }
@media(max-width:820px){
  #page-anlieferung .hof-material-entry { grid-template-columns:1fr 150px; }
  #page-anlieferung .hof-material-entry-actions { grid-column:1/-1; }
  #page-anlieferung .hof-material-vehicle-note { grid-template-columns:1fr auto; }
  #page-anlieferung .hof-material-vehicle-note small { grid-column:1/-1; text-align:left; }
  #page-anlieferung .hof-payment-vehicle-summary { grid-template-columns:1fr; }
  #page-anlieferung .hof-payment-vehicle-result { grid-template-columns:1fr; }
}
@media(max-width:560px){
  #page-anlieferung .hof-material-entry { grid-template-columns:1fr; }
  #page-anlieferung .hof-material-entry-actions { flex-wrap:wrap; }
  #page-anlieferung .hof-material-position { grid-template-columns:28px minmax(0,1fr) 34px; }
  #page-anlieferung .hof-material-position > b { grid-column:2; grid-row:2; text-align:left; }
  #page-anlieferung .hof-payment-vehicle-input { grid-template-columns:1fr; }
}

/* V16.5.8 – Hofmodal lebt außerhalb von #page-anlieferung: Materialwaage und Fahrzeugwägung modal-sicher stylen. */
#hof-process-modal .hof-material-empty {
  padding:14px;
  border:1px dashed var(--border);
  border-radius:9px;
  color:var(--muted);
  text-align:center;
}
#hof-process-modal .hof-payment-vehicle-inline {
  display:flex;
  flex-direction:column;
  gap:11px;
}
#hof-process-modal .hof-payment-vehicle-inline .hof-payment-section-head { margin-bottom:0; }
#hof-process-modal .hof-payment-vehicle-inline-grid {
  display:grid;
  grid-template-columns:minmax(160px,.75fr) minmax(160px,.75fr) minmax(340px,1.5fr);
  gap:10px;
  align-items:end;
}
#hof-process-modal .hof-payment-vehicle-value,
#hof-process-modal .hof-payment-vehicle-exit {
  box-sizing:border-box;
  min-width:0;
  min-height:68px;
  padding:9px 11px;
  border:1px solid var(--border);
  border-radius:10px;
  background:color-mix(in srgb,var(--primary) 3%,var(--surface));
}
#hof-process-modal .hof-payment-vehicle-value > span,
#hof-process-modal .hof-payment-vehicle-exit > span,
#hof-process-modal .hof-payment-difference-article > span {
  display:block;
  margin-bottom:5px;
  color:var(--muted);
  font-size:var(--font-size-caption);
  font-weight:650;
}
#hof-process-modal .hof-payment-vehicle-value > strong {
  display:block;
  font-size:18px;
  font-variant-numeric:tabular-nums;
}
#hof-process-modal .hof-payment-vehicle-exit > div {
  display:grid;
  grid-template-columns:minmax(120px,1fr) auto;
  gap:7px;
}
#hof-process-modal .hof-payment-vehicle-exit input,
#hof-process-modal .hof-payment-difference-article select {
  box-sizing:border-box;
  width:100%;
  height:40px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface);
  color:var(--text);
  padding:0 10px;
  font:inherit;
}
#hof-process-modal .hof-payment-vehicle-exit input {
  text-align:right;
  font-variant-numeric:tabular-nums;
}
#hof-process-modal .hof-payment-vehicle-result {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:0;
}
#hof-process-modal .hof-payment-vehicle-result > div {
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--bg-soft);
}
#hof-process-modal .hof-payment-vehicle-result span { color:var(--muted); font-size:var(--font-size-small); }
#hof-process-modal .hof-payment-vehicle-result b { white-space:nowrap; font-variant-numeric:tabular-nums; }
#hof-process-modal .hof-payment-vehicle-result b.is-error { color:var(--red); }
#hof-process-modal .hof-payment-difference-article { display:block; }
#hof-process-modal .hof-payment-difference-article small {
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:var(--font-size-caption);
}
#hof-process-modal .hof-payment-direct-details {
  padding:8px 10px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--surface);
}
#hof-process-modal .hof-payment-direct-details summary {
  cursor:pointer;
  color:var(--muted);
  font-size:var(--font-size-small);
  font-weight:650;
}
#hof-process-modal .hof-payment-direct-details[open] summary { margin-bottom:8px; }
#hof-process-modal .hof-payment-vehicle-positions { display:flex; flex-direction:column; gap:6px; }
#hof-process-modal .hof-payment-vehicle-position {
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 110px;
  gap:8px;
  align-items:center;
  padding:7px 9px;
  border:1px solid var(--border);
  border-radius:9px;
}
#hof-process-modal .hof-payment-vehicle-position > span {
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:6px;
  background:color-mix(in srgb,var(--primary) 8%,var(--surface));
  color:var(--primary);
  font-weight:800;
}
#hof-process-modal .hof-payment-vehicle-position b { text-align:right; font-variant-numeric:tabular-nums; }
#hof-process-modal .hof-payment-vehicle-empty {
  padding:10px;
  border:1px dashed var(--border);
  border-radius:8px;
  color:var(--muted);
  text-align:center;
}
#hof-process-modal .hof-payment-vehicle-inline-actions {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
}
#hof-process-modal .hof-payment-vehicle-summary-compact {
  padding:9px 12px;
  border:1px solid color-mix(in srgb,var(--primary) 20%,var(--border));
  border-radius:10px;
  background:color-mix(in srgb,var(--primary) 4%,var(--surface));
}
#hof-process-modal .hof-payment-vehicle-summary-compact strong { display:block; color:var(--primary); }
#hof-process-modal .hof-payment-vehicle-summary-compact span { display:block; margin-top:2px; color:var(--muted); font-size:var(--font-size-small); }
@media(max-width:820px){
  #hof-process-modal .hof-payment-vehicle-inline-grid { grid-template-columns:1fr; }
  #hof-process-modal .hof-payment-vehicle-result { grid-template-columns:1fr; }
}
@media(max-width:560px){
  #hof-process-modal .hof-payment-vehicle-exit > div { grid-template-columns:1fr; }
}

/* V16.5.9 – Auszahlung kompakt, Standardkasse ohne operative Auswahl. */
#hof-process-modal .hof-process-modal-box.hof-payment-mode {
  width:min(940px,calc(100vw - 28px));
  max-height:94vh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
#hof-process-modal .hof-process-modal-box.hof-payment-mode .modal-header {
  flex:0 0 auto;
  padding-top:11px;
  padding-bottom:9px;
}
#hof-process-modal .hof-process-modal-box.hof-payment-mode .modal-body {
  flex:1 1 auto;
  min-height:0;
  max-height:none;
  overflow:auto;
  padding:10px 18px 4px;
}
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-payment-workspace { gap:8px; }
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-payment-pricing,
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-payment-distribution { padding:9px 10px; }
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-payment-section-head { margin-bottom:6px; }
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-payment-price-head { padding-bottom:3px; }
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-payment-price-list { gap:4px; }
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-payment-price-row { min-height:34px; padding:4px 7px; }
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-payment-splits { gap:7px; }
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-payment-split { padding:8px 9px; }
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-payment-split-head { margin-bottom:6px; }
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-payment-split-grid { gap:7px; }
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-payment-signature { margin-top:6px; padding-top:6px; }
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-payment-signature canvas { height:76px; }
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-payment-summary { margin-top:7px; padding-top:7px; gap:7px; }
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-payment-summary span { padding:5px 8px; min-width:125px; }
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-payment-vehicle-summary-compact { padding:7px 10px; }
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-process-action-block {
  position:sticky;
  bottom:-4px;
  z-index:6;
  margin-top:8px;
  padding:8px 0 9px;
  background:var(--surface);
  box-shadow:0 -7px 14px rgba(15,23,42,.05);
}
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-process-action-block > strong { display:none; }
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-history-details { margin-top:7px; padding-top:7px; }

/* V16.5.12 – horizontale Auszahlungssplits mit positionsbezogenem Drag&Drop. */
#hof-process-modal .hof-process-modal-box.hof-payment-mode .hof-payment-distribution-split { overflow:hidden; }
#hof-process-modal .hof-payment-allocation-toolbar {
  display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 7px;
}
#hof-process-modal .hof-payment-allocation-toolbar > span { color:var(--muted); font-size:var(--font-size-caption); text-align:right; }
#hof-process-modal .hof-payment-allocation-choice {
  display:inline-grid; grid-template-columns:1fr 1fr 1fr; flex:0 0 auto; min-height:34px; border:1px solid var(--border); border-radius:9px; overflow:hidden; background:var(--surface);
}
#hof-process-modal .hof-payment-allocation-choice button {
  border:0; border-right:1px solid var(--border); background:transparent; color:var(--text); padding:0 12px; font:inherit; font-size:var(--font-size-small); font-weight:700; cursor:pointer; white-space:nowrap;
}
#hof-process-modal .hof-payment-allocation-choice button:last-child { border-right:0; }
#hof-process-modal .hof-payment-allocation-choice button:hover { background:color-mix(in srgb,var(--primary) 5%,var(--surface)); }
#hof-process-modal .hof-payment-allocation-choice button.active { background:var(--primary); color:#fff; }
#hof-process-modal .hof-payment-recipient-strip {
  display:flex; gap:7px; overflow-x:auto; overflow-y:hidden; padding:1px 1px 6px; margin:0 0 6px; scrollbar-width:thin; scroll-snap-type:x proximity;
}
#hof-process-modal .hof-payment-recipient-card {
  position:relative; flex:0 0 205px; min-width:205px; max-width:205px; min-height:74px; box-sizing:border-box; padding:7px 9px 8px; border:1px solid var(--border); border-radius:10px; background:color-mix(in srgb,var(--primary) 1.5%,var(--surface)); cursor:pointer; outline:none; scroll-snap-align:start; transition:border-color .12s ease,box-shadow .12s ease,background .12s ease,transform .12s ease;
}
#hof-process-modal .hof-payment-recipient-card:hover { border-color:color-mix(in srgb,var(--primary) 35%,var(--border)); }
#hof-process-modal .hof-payment-recipient-card.active { border-color:var(--primary); box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent); background:color-mix(in srgb,var(--primary) 4%,var(--surface)); }
#hof-process-modal .hof-payment-recipient-card.is-drop-target { border-color:var(--green); box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 15%,transparent); background:color-mix(in srgb,var(--green) 6%,var(--surface)); transform:translateY(-1px); }
#hof-process-modal .hof-payment-recipient-card-top { display:flex; align-items:center; justify-content:space-between; gap:6px; min-height:24px; }
#hof-process-modal .hof-payment-recipient-card .hof-payment-split-badge { width:22px; height:22px; border-radius:7px; font-size:var(--font-size-caption); }
#hof-process-modal .hof-payment-recipient-remove { width:24px; height:24px; padding:0; display:grid; place-items:center; border:0; border-radius:7px; background:transparent; color:var(--muted); font:inherit; font-size:18px; line-height:1; cursor:pointer; }
#hof-process-modal .hof-payment-recipient-remove:hover { background:color-mix(in srgb,var(--red) 8%,var(--surface)); color:var(--red); }
#hof-process-modal .hof-payment-recipient-card > strong { display:block; margin-top:3px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text); font-size:var(--font-size-small); }
#hof-process-modal .hof-payment-recipient-card > b { display:block; margin-top:2px; color:var(--primary); font-size:15px; font-variant-numeric:tabular-nums; }
#hof-process-modal .hof-payment-recipient-card > span { display:block; margin-top:1px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:10px; }
#hof-process-modal .hof-payment-recipient-card.ready > span { color:var(--green); }
#hof-process-modal .hof-payment-split-active-editor { min-height:0; }
#hof-process-modal .hof-payment-split-editor { padding:7px 9px; }
#hof-process-modal .hof-payment-split-editor-head { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:6px; }
#hof-process-modal .hof-payment-split-editor-head > div { display:flex; align-items:center; gap:7px; min-width:0; }
#hof-process-modal .hof-payment-split-editor-head strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#hof-process-modal .hof-payment-position-editor-hint { margin-top:5px; color:var(--muted); font-size:10px; }
#hof-process-modal .hof-payment-position-draggable { cursor:grab; user-select:none; }
#hof-process-modal .hof-payment-position-draggable:hover { border-color:color-mix(in srgb,var(--primary) 38%,var(--border)); background:color-mix(in srgb,var(--primary) 5%,var(--surface)); }
#hof-process-modal .hof-payment-position-draggable.is-dragging { opacity:.5; cursor:grabbing; }
#hof-process-modal .hof-payment-position-draggable.selected { border-color:var(--primary); box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 11%,transparent); }
#hof-process-modal .hof-payment-position-owner { display:block; margin-top:1px; color:var(--muted); font-size:9px; font-weight:650; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
#hof-process-modal .hof-payment-distribution-split .hof-payment-summary { margin-top:6px; padding-top:6px; }
#hof-process-modal .hof-payment-distribution-split .hof-payment-signature canvas { height:64px; }
@media(max-width:760px){
  #hof-process-modal .hof-payment-allocation-toolbar { align-items:flex-start; flex-direction:column; }
  #hof-process-modal .hof-payment-allocation-toolbar > span { text-align:left; }
  #hof-process-modal .hof-payment-recipient-card { flex-basis:185px; min-width:185px; max-width:185px; }
}

/* V16.5.13 – prozentuale Split-Auszahlung. */
#hof-process-modal .hof-payment-allocation-help { display:flex; align-items:center; justify-content:flex-end; gap:8px; min-width:0; }
#hof-process-modal .hof-payment-allocation-help > span { color:var(--muted); font-size:var(--font-size-caption); text-align:right; }
#hof-process-modal .hof-payment-split-grid.is-percent { grid-template-columns:minmax(165px,1.15fr) minmax(145px,1fr) 105px 120px 150px; }
#hof-process-modal .hof-payment-percent-input { display:grid; grid-template-columns:minmax(0,1fr) 28px; align-items:center; border:1px solid var(--border); border-radius:8px; overflow:hidden; background:var(--surface); }
#hof-process-modal .hof-payment-percent-input:focus-within { border-color:var(--primary); box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 10%,transparent); }
#hof-process-modal .hof-payment-percent-input input { min-width:0; border:0; border-radius:0; box-shadow:none!important; text-align:right; font-variant-numeric:tabular-nums; }
#hof-process-modal .hof-payment-percent-input > span { color:var(--muted); font-weight:750; text-align:center; }
#hof-process-modal .hof-payment-recipient-percent { color:var(--primary)!important; font-weight:750; font-size:11px!important; }
@media(max-width:900px){#hof-process-modal .hof-payment-split-grid.is-percent { grid-template-columns:1fr 1fr 105px 120px; }#hof-process-modal .hof-payment-split-grid.is-percent > label:last-child { grid-column:span 2; }}
@media(max-width:760px){#hof-process-modal .hof-payment-allocation-help { align-items:flex-start; flex-direction:column; }#hof-process-modal .hof-payment-allocation-help > span { text-align:left; }}
@media(max-width:620px){#hof-process-modal .hof-payment-split-grid.is-percent { grid-template-columns:1fr; }#hof-process-modal .hof-payment-split-grid.is-percent > label:last-child { grid-column:auto; }}


/* V16.5.16 – herausgelöste Karten behalten im Standalone-Fenster echte Höhe.
   Spätere Workspace-Regeln aus V15.75.2 setzen Kartenbereiche sonst wieder auf flex:0 0 auto
   und lassen sie zusammen mit height:auto/min-height:0 auf 0px kollabieren. */
body.order-map-only-window.order-workspace-active #page-auftraege.active > .order-workspace > .order-map-pane {
  flex:1 1 0 !important;
  height:0 !important;
  min-height:240px !important;
}
body.order-map-only-window.order-workspace-active #page-auftraege.active > .order-workspace > .order-map-pane > #orders-map {
  width:100% !important;
  height:100% !important;
  min-height:240px !important;
}
body.container-map-only-window.location-map-workspace-active #page-containermap.active > .container-map-card.map-split-workspace > .container-map-stage,
body.fleet-map-only-window.location-map-workspace-active #page-fuhrparkmap.active > .fleet-map-card.map-split-workspace > .fleet-map-stage {
  flex:1 1 0 !important;
  height:0 !important;
  min-height:240px !important;
}
body.container-map-only-window.location-map-workspace-active #container-map-canvas,
body.fleet-map-only-window.location-map-workspace-active #fleet-map-canvas {
  width:100% !important;
  height:100% !important;
  min-height:240px !important;
}
body.container-map-detached #container-map-stage,
body.container-map-detached #container-map-splitter,
body.container-map-detached #container-map-toggle,
body.fleet-map-detached #fleet-map-stage,
body.fleet-map-detached #fleet-map-splitter,
body.fleet-map-detached #fleet-map-toggle {
  display:none !important;
}


/* V16.5.18 – Paket 2: Standorte, Deponie-Tarife und Polygoneditoren */
.demo-modal-partner{width:min(820px,calc(100vw - 36px))}
.partner-site-heading-row{grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr)}

/* Vorhandene Breite nutzen: angenommene Abfallstoffe/Tarife ab Desktop zweispaltig. */
.demo-modal-landfill{width:min(1120px,calc(100vw - 36px))}
.demo-modal-landfill .demo-tariff-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px}
.demo-modal-landfill .v10-tariff-row{grid-template-columns:minmax(170px,1fr) 92px 34px;margin:0;min-width:0}
.demo-modal-landfill .v10-tariff-label>span:nth-child(2){min-width:0}

/* Zielfläche darf nicht als grüner 11px-Nebensatz verschwinden. */
.deponie-poly-status{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border:1px solid var(--border);border-radius:9px;background:color-mix(in srgb,var(--surface) 92%,var(--bg));font-size:var(--font-size-label)!important;font-weight:700}
.deponie-poly-status.demo-poly-active{border-color:color-mix(in srgb,var(--positive-text) 38%,var(--border));background:color-mix(in srgb,var(--positive-text) 8%,var(--surface));color:var(--positive-text)!important}
.demo-standort-meta[data-poly-info].demo-poly-active{display:inline-flex;align-items:center;min-height:30px;padding:4px 8px;border:1px solid color-mix(in srgb,var(--positive-text) 32%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--positive-text) 7%,var(--surface));color:var(--positive-text);font-size:var(--font-size-label);font-weight:700}

/* Polygonfenster starten groß, bleiben innerhalb des Viewports und sind per Browser-Resize-Griff skalierbar. */
.demo-poly-editor-box{width:min(1180px,calc(100vw - 48px));height:min(820px,calc(100vh - 48px));max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);min-width:min(760px,calc(100vw - 24px));min-height:min(560px,calc(100vh - 24px));display:flex;flex-direction:column;resize:both;overflow:hidden}
.demo-poly-editor-box>.modal-header,.demo-poly-editor-box>.modal-footer{flex:0 0 auto}
.demo-poly-editor-box>.modal-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.demo-poly-editor-box .demo-polygon-map{flex:1 1 auto;min-height:420px;height:auto;width:100%}

@media(max-width:900px){
  .partner-site-heading-row{grid-template-columns:1fr}
  .demo-modal-landfill .demo-tariff-list{grid-template-columns:1fr}
  .demo-poly-editor-box{resize:none;width:calc(100vw - 20px);height:calc(100vh - 20px);min-width:0;min-height:0}
  .demo-poly-editor-box .demo-polygon-map{min-height:300px}
}


/* V16.5.19 – Paket-2-Nacharbeit: verschachtelte Polygonmodale + GP-Konditionen */
/* Polygoneditoren werden aus bestehenden Stamm-/Konfigurationsmodalen geöffnet und müssen daher über dem Elternmodal liegen. */
.nested-modal-overlay{z-index:9000}

/* Der generische sysconfig-info-box ist ein Flexcontainer. Bei Fließtext mit mehreren <b>-Elementen
   entstehen dadurch anonyme Flexitems und der Hinweis wird horizontal zerlegt. In Stammdaten-Hinweisen
   soll er als normaler Textblock über die volle Dialogbreite laufen. */
.demo-modal .demo-pricing-source-note{display:block;box-sizing:border-box;width:100%;max-width:none;margin:0 0 14px;line-height:1.45}

/* Im Partnerdialog sind nach Zentralisierung der Preislogik nur noch drei lokale Konditionsfelder vorhanden. */
#partner-modal .demo-konditionen-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:end}

@media(max-width:760px){
  #partner-modal .demo-konditionen-row{grid-template-columns:1fr!important}
}

/* V16.5.20 – Paket 3: gemeinsame Adress-/Geo-Wahrheit im Auftrag */
#order-modal .order-address-card.same-as-deployment{background:var(--surface-subtle,#f8fafc);border-style:dashed}
#order-modal .order-address-card.same-as-deployment input:disabled{background:var(--surface-muted,#eef2f6);color:var(--muted);opacity:1;cursor:not-allowed}

/* V16.5.21 – Paket 4: Dispo-Hinweise, Lesbarkeit und entschlackte Karten */
#page-dispo .dispatch-status-filterbar{
  min-height:40px;
  padding:5px 7px;
}
#page-dispo .dispatch-status-filterbar nav{gap:6px}
#page-dispo .dispatch-status-filterbar button{
  height:32px;
  gap:6px;
  padding:0 10px;
  border-radius:9px;
  font-size:10.5px;
  font-weight:650;
}
#page-dispo .dispatch-status-filterbar button strong{
  min-width:20px;
  height:19px;
  padding:0 6px;
  font-size:8.8px;
}
#page-dispo .dispatch-planning-backlog-sort,
#page-dispo .dispatch-planning-backlog-filter-toggle{
  height:32px!important;
  font-size:10px!important;
}
#page-dispo .dispatch-planning-backlog-filter-toggle{padding:0 9px!important}
#page-dispo .dispatch-planning-backlog-reset{width:32px;height:32px}

#page-dispo .dispatch-card.has-warning,
#page-dispo .dispatch-timeline-backlog-card.has-warning,
#page-dispo .dispatch-order-item.has-warning{border-color:#f0b44d}
#page-dispo .dispatch-card-warning{
  margin:5px 0 7px;
  padding:5px 7px;
  border:1px solid #f5d08a;
  border-radius:7px;
  background:#fff8e8;
  color:#9a5a00;
  font-size:9.5px;
  font-weight:700;
  line-height:1.3;
}
#page-dispo .dispatch-card-meta.warning{color:#b45309;font-weight:700}
#page-dispo .dispatch-card-warning-icon{margin-left:auto;color:#b45309;font-size:12px}
#page-dispo .dispatch-tour-warning-list{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  padding:5px 8px;
  border-bottom:1px solid #f5d08a;
  background:#fff8e8;
}
#page-dispo .dispatch-tour-warning-list span{
  display:inline-flex;
  align-items:center;
  min-height:21px;
  padding:2px 6px;
  border:1px solid #f4c96f;
  border-radius:999px;
  background:#fffdf7;
  color:#8a5200;
  font-size:9px;
  font-weight:700;
  line-height:1.2;
}
#page-dispo .dispatch-tour-card.is-locked,
#page-dispo .dispatch-timeline-event.is-locked{
  cursor:not-allowed;
  user-select:none;
}
#page-dispo .dispatch-timeline-event.has-warning{border-color:#e9b44d;background:#fffaf0}
#page-dispo .dispatch-timeline-warning{
  display:block;
  margin-top:4px;
  color:#9a5a00!important;
  font-weight:700;
  line-height:1.3;
}
#page-dispo .dispatch-order-request-summary.warning,
#page-dispo .dispatch-order-plan-date.warning{
  color:#b45309;
  font-weight:750;
}

/* Der Planungsdialog war in großen Desktop-Dialogen unnötig klein gesetzt. */
#dispatch-plan-modal .dispatch-plan-hint{
  font-size:12px;
  line-height:1.45;
}
#dispatch-plan-modal .dispatch-plan-toolbar .form-group label,
#dispatch-plan-modal .dispatch-plan-resource-row .form-group label{
  font-size:11.5px;
  font-weight:700;
}
#dispatch-plan-modal .dispatch-plan-toolbar select,
#dispatch-plan-modal .dispatch-plan-toolbar input,
#dispatch-plan-modal .dispatch-plan-resource-row select{
  font-size:12px;
}
#dispatch-plan-modal .dispatch-plan-resource-hint{
  font-size:11px;
  line-height:1.4;
}
#dispatch-plan-modal .dispatch-plan-table th{
  padding:9px 8px;
  font-size:11px;
}
#dispatch-plan-modal .dispatch-plan-table td{
  padding:8px;
  font-size:11px;
}
#dispatch-plan-modal .dispatch-plan-seq{font-size:11px}
#dispatch-plan-modal .dispatch-plan-action,
#dispatch-plan-modal .dispatch-plan-location,
#dispatch-plan-modal .dispatch-plan-date{
  height:38px;
  font-size:11.5px;
}
#dispatch-plan-modal .dispatch-plan-fixed-location{
  height:38px;
  font-size:11px;
}
#dispatch-plan-modal .dispatch-plan-release,
#dispatch-plan-modal .dispatch-plan-segment-break{
  font-size:10.5px;
}
#dispatch-plan-modal .dispatch-plan-segment-pill{font-size:9.5px}
#dispatch-plan-modal .dispatch-plan-preview-section>h3,
#dispatch-plan-modal .dispatch-plan-preview-head{font-size:11.5px}
#dispatch-plan-modal .dispatch-plan-preview-section>p{font-size:11px;line-height:1.4}
#dispatch-plan-modal .dispatch-plan-preview-card th,
#dispatch-plan-modal .dispatch-plan-preview-card td{font-size:10.5px;padding:5px 6px}
#dispatch-plan-modal .dispatch-plan-preview-summary{font-size:10.5px}
#dispatch-plan-modal .dispatch-plan-date.is-past{
  border-color:#e6a23c;
  background:#fff8e8;
  color:#8a5200;
  font-weight:700;
}
#dispatch-plan-modal .dispatch-plan-date-warning{
  display:block;
  margin-top:3px;
  color:#9a5a00;
  font-size:9.5px;
  font-weight:700;
  white-space:nowrap;
}
#dispatch-plan-modal .dispatch-plan-table tr.has-past-date td{background:#fffdf7}

/* V16.5.22 – konfigurierbare Freigabepflicht an Tourabschnittsgrenzen */
.sys-leg-row { grid-template-columns:minmax(0,1fr) 190px 175px auto auto auto; }
.sys-leg-release-toggle { min-height:30px; display:flex; align-items:center; gap:7px; padding:0 9px; border-radius:6px; border:1px solid var(--border); background:var(--surface); color:var(--text); font-size:var(--font-size-small); white-space:nowrap; cursor:pointer; }
.sys-leg-release-toggle input { width:auto; margin:0; accent-color:var(--primary); }
.sys-leg-release-toggle.is-disabled { opacity:.48; cursor:not-allowed; }
.sys-leg-row.is-release-required { box-shadow:inset 3px 0 0 color-mix(in srgb,var(--warning,#f59e0b) 78%,transparent); }
.sys-order-release-marker { display:inline-flex; align-items:center; padding:2px 7px; margin-right:4px; border-radius:999px; border:1px solid color-mix(in srgb,var(--warning,#f59e0b) 48%,var(--border)); background:color-mix(in srgb,var(--warning,#f59e0b) 10%,var(--surface)); font-size:var(--font-size-small); font-weight:650; white-space:nowrap; }
@media (max-width:980px){
  .sys-leg-row { grid-template-columns:minmax(0,1fr) auto auto auto; }
  .sys-leg-segment-fixed,.sys-leg-segment-toggle,.sys-leg-release-toggle { grid-column:1 / -1; justify-self:start; }
  .sys-leg-segment-fixed,.sys-leg-segment-toggle { grid-row:auto; }
}
.btn-warning { background:#fff7ed; color:#9a3412; border-color:#fdba74; }
.btn-warning:hover { background:#ffedd5; color:#7c2d12; border-color:#fb923c; }
#page-dispo .dispatch-assignment-state.held { background:#fff7ed; color:#9a3412; border-color:#fed7aa; }

/* V16.5.23 – Auftragsbestätigung / Kundenoutput */
#order-confirmation-modal .order-confirmation-modal-box{width:min(1060px,calc(100vw - 36px));max-width:none;height:min(820px,calc(100vh - 36px));display:flex;flex-direction:column}
#order-confirmation-modal .order-confirmation-modal-body{flex:1;min-height:0;overflow:auto;padding:20px 24px;background:#f8fafc}
.order-confirmation-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid #dbe3ea;border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.03);margin-bottom:16px}
.order-confirmation-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:var(--font-size-label);font-weight:800;color:#64748b;margin-bottom:4px}
.order-confirmation-config{margin-top:6px;color:#64748b;font-size:var(--font-size-label);line-height:1.45}
.order-confirmation-config.warning{color:#9a5b00}
.order-confirmation-compose,.order-confirmation-history{padding:18px 20px;border:1px solid #dbe3ea;border-radius:14px;background:#fff;margin-bottom:16px}
.order-confirmation-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.order-confirmation-section-head .form-section-title,.order-confirmation-history>.form-section-title{margin:0 0 4px;font-size:var(--font-size-subtitle);font-weight:750;color:#173447}
.order-confirmation-section-head small{display:block;color:#64748b}
.order-confirmation-mail-grid{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(320px,1.15fr);gap:14px;margin-bottom:14px}
#order-confirmation-modal .form-group-m{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0}
#order-confirmation-modal .form-group-m label{font-size:var(--font-size-label);font-weight:700;color:#334155}
#order-confirmation-modal input,#order-confirmation-modal textarea{box-sizing:border-box;width:100%;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#0f172a;font:inherit;outline:0}
#order-confirmation-modal input{height:40px;padding:0 11px}
#order-confirmation-modal textarea{padding:10px 12px;resize:vertical;min-height:116px}
#order-confirmation-modal input:focus,#order-confirmation-modal textarea:focus{border-color:#2c6e8f;box-shadow:0 0 0 3px rgba(44,110,143,.12)}
.order-confirmation-send-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px}
.order-confirmation-send-info{font-size:var(--font-size-label);color:#64748b;line-height:1.45}
.order-confirmation-history-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.order-confirmation-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:13px 14px;border:1px solid #dbe3ea;border-radius:11px;background:#f8fafc}
.order-confirmation-history-main{min-width:0}
.order-confirmation-history-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#173447;font-weight:800}
.order-confirmation-history-meta{margin-top:4px;color:#64748b;font-size:var(--font-size-label);line-height:1.45}
.order-confirmation-history-actions{display:flex;align-items:flex-start;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.order-confirmation-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:var(--font-size-label);font-weight:750;background:#e2e8f0;color:#475569}
.order-confirmation-badge.sent{background:#dcfce7;color:#166534}
.order-confirmation-badge.failed{background:#fee2e2;color:#991b1b}
.order-confirmation-badge.pending{background:#e0f2fe;color:#075985}
.order-confirmation-badge.stale{background:#fff3cd;color:#8a5a00}
.order-confirmation-send-history{margin-top:8px;display:flex;flex-direction:column;gap:4px}
.order-confirmation-send-attempt{font-size:var(--font-size-label);color:#52606d;line-height:1.4}
.order-confirmation-send-attempt.failed{color:#991b1b}
@media(max-width:760px){.order-confirmation-toolbar,.order-confirmation-section-head,.order-confirmation-send-row{flex-direction:column;align-items:stretch}.order-confirmation-mail-grid{grid-template-columns:1fr}.order-confirmation-history-item{grid-template-columns:1fr}.order-confirmation-history-actions{justify-content:flex-start}}


/* V16.5.24 – Dispo-Filter auf Desktop in einer gemeinsamen Zeile. */
@media(min-width:1181px){
  #page-dispo .dispatch-toolbar-secondary{
    grid-template-columns:minmax(330px,1fr) auto minmax(255px,1fr);
    column-gap:10px;
    align-items:center;
  }
  #page-dispo .dispatch-toolbar-secondary>.dispatch-toolbar-left{justify-content:flex-start}
  #page-dispo .dispatch-toolbar-secondary>.dispatch-toolbar-center{justify-content:center;justify-self:center}
  #page-dispo .dispatch-toolbar-secondary>.dispatch-toolbar-right{justify-content:flex-end}
  #page-dispo .dispatch-toolbar-context-center{min-width:0}
  #page-dispo .dispatch-toolbar-secondary .dispatch-status-filterbar{
    min-height:32px;
    width:max-content;
    max-width:min(100%,560px);
    margin:0;
    padding:3px 5px;
    overflow-x:auto;
  }
  #page-dispo .dispatch-toolbar-filters{
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
  }
  #page-dispo .dispatch-toolbar-filters .dispatch-filter{
    display:flex;
    align-items:center;
    gap:6px;
    white-space:nowrap;
  }
  #page-dispo .dispatch-toolbar-filters .dispatch-filter>span{
    font-size:9.5px;
    font-weight:650;
    color:var(--text-soft);
  }
  #page-dispo .dispatch-toolbar-filters .dispatch-filter select{
    min-width:128px;
    max-width:180px;
  }
  #page-dispo .dispatch-show-completed{
    display:flex;
    align-items:center;
    gap:5px;
    white-space:nowrap;
  }
}

@media(min-width:981px) and (max-width:1180px){
  #page-dispo .dispatch-toolbar-secondary{grid-template-columns:1fr;gap:5px}
  #page-dispo .dispatch-toolbar-secondary>.dispatch-toolbar-left,
  #page-dispo .dispatch-toolbar-secondary>.dispatch-toolbar-center,
  #page-dispo .dispatch-toolbar-secondary>.dispatch-toolbar-right{justify-content:center}
  #page-dispo .dispatch-toolbar-filters{flex-wrap:wrap}
}

/* Der Statusfilter ist ab V16.5.24 Bestandteil der Toolbar und keine eigene Workspace-Zeile mehr. */
body.dispatch-workspace-active #page-dispo.active,
body.dispatch-workspace-active #page-dispo.active:has(#dispatch-timeline-view:not([hidden])){
  grid-template-rows:auto minmax(0,1fr) auto;
}
#page-dispo:has(#dispatch-timeline-view:not([hidden])) > .dispatch-toolbar{grid-row:1}
#page-dispo:has(#dispatch-timeline-view:not([hidden])) > #dispatch-timeline-view{grid-row:2}
#page-dispo:has(#dispatch-timeline-view:not([hidden])) > #dispatch-message{grid-row:3}

/* V16.5.25 – Preise & Konditionen als eigener Finanz-Arbeitsbereich. */
.pricing-page-header{align-items:flex-end}
.pricing-page-state{color:var(--muted);font-size:var(--font-size-small);text-align:right}
.pricing-catalog-shell{padding:0;overflow:hidden}
.pricing-catalog-form{display:block}
.pricing-catalog-shell .sysconfig-section{max-width:none}
.pricing-catalog-shell .sysconfig-table{width:100%;max-width:none}
.pricing-catalog-shell .sys-price-grid{grid-template-columns:minmax(260px,360px)!important;max-width:420px!important}
.pricing-catalog-footer{z-index:3}
.pricing-message{margin:12px 18px 0}
.pricing-row-actions{white-space:nowrap}
.pricing-row-actions .demo-action-icon + .demo-action-icon{margin-left:4px}
@media(max-width:720px){
  .pricing-page-header{align-items:flex-start}
  .pricing-page-state{text-align:left}
}

/* V16.5.26 – Dispo-Kopf nach Testfeedback: Schnellfilter links behalten,
   Gruppenfilter direkt daneben; Suche zentriert unter dem Datumsselektor. */
#page-dispo .dispatch-toolbar-primary,
#page-dispo .dispatch-toolbar-secondary{
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  column-gap:10px;
}
#page-dispo .dispatch-toolbar-balance{min-width:0}
#page-dispo .dispatch-toolbar-search-center{
  width:min(620px,42vw);
  min-width:360px;
}
#page-dispo .dispatch-toolbar-search-center .dispatch-search-wrap{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}
#page-dispo .dispatch-filter-strip{
  min-width:0;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  overflow:visible;
}
#page-dispo .dispatch-filter-strip .dispatch-status-filterbar{
  flex:0 1 auto;
  min-width:0;
  margin:0;
}
#page-dispo .dispatch-filter-strip .dispatch-toolbar-filters{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  min-width:0;
  white-space:nowrap;
}
#page-dispo .dispatch-filter-strip .dispatch-filter{
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
#page-dispo .dispatch-filter-strip .dispatch-filter>span{
  font-size:9.5px;
  font-weight:650;
  color:var(--text-soft);
}
#page-dispo .dispatch-filter-strip .dispatch-filter select{
  min-width:128px;
  max-width:180px;
  height:30px;
}
#page-dispo .dispatch-filter-strip .dispatch-show-completed{
  height:30px;
  display:flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
}

/* Toolbar, Filterleiste und Inhalt bleiben getrennte Workspace-Zeilen. */
body.dispatch-workspace-active #page-dispo.active,
body.dispatch-workspace-active #page-dispo.active:has(#dispatch-timeline-view:not([hidden])){
  grid-template-rows:auto auto minmax(0,1fr) auto;
}
#page-dispo:has(#dispatch-timeline-view:not([hidden])) > .dispatch-toolbar{grid-row:1}
#page-dispo:has(#dispatch-timeline-view:not([hidden])) > .dispatch-filter-strip{grid-row:2}
#page-dispo:has(#dispatch-timeline-view:not([hidden])) > #dispatch-timeline-view{grid-row:3}
#page-dispo:has(#dispatch-timeline-view:not([hidden])) > #dispatch-message{grid-row:4}

@media(max-width:1280px){
  #page-dispo .dispatch-toolbar-search-center{
    width:min(500px,40vw);
    min-width:300px;
  }
}
@media(max-width:980px){
  #page-dispo .dispatch-toolbar-primary{
    grid-template-columns:1fr auto;
    grid-template-areas:"date actions";
  }
  #page-dispo .dispatch-toolbar-primary>.dispatch-toolbar-left{display:none}
  #page-dispo .dispatch-toolbar-primary>.dispatch-toolbar-center{
    grid-area:date;
    justify-self:start;
  }
  #page-dispo .dispatch-toolbar-primary>.dispatch-toolbar-right{grid-area:actions}
  #page-dispo .dispatch-toolbar-secondary{
    grid-template-columns:1fr;
    grid-template-areas:"views" "search";
    row-gap:5px;
  }
  #page-dispo .dispatch-toolbar-secondary>.dispatch-toolbar-left{
    grid-area:views;
    justify-content:center;
  }
  #page-dispo .dispatch-toolbar-secondary>.dispatch-toolbar-center{
    grid-area:search;
    justify-self:center;
  }
  #page-dispo .dispatch-toolbar-secondary>.dispatch-toolbar-right{display:none}
  #page-dispo .dispatch-toolbar-search-center{
    width:min(620px,100%);
    min-width:0;
  }
  #page-dispo .dispatch-filter-strip{
    flex-wrap:wrap;
    gap:6px 10px;
  }
  #page-dispo .dispatch-filter-strip .dispatch-toolbar-filters{flex-wrap:wrap}
}
@media(max-width:760px){
  #page-dispo .dispatch-toolbar-primary{
    grid-template-columns:1fr;
    grid-template-areas:"date" "actions";
    row-gap:5px;
  }
  #page-dispo .dispatch-toolbar-primary>.dispatch-toolbar-center{justify-self:center}
  #page-dispo .dispatch-toolbar-primary>.dispatch-toolbar-right{justify-content:center}
  #page-dispo .dispatch-filter-strip .dispatch-status-filterbar{
    width:100%;
    flex-basis:100%;
    box-sizing:border-box;
  }
}

/* V16.5.27 – Preise & Konditionen: getrennte Tabs, Grid-/Filter-UX und saubere Dialog-Checkboxen */
.pricing-foundation-bar{
  display:flex;align-items:center;gap:24px;padding:12px 18px;border-bottom:1px solid var(--border);
  background:color-mix(in srgb,var(--surface) 97%,var(--bg));
}
.pricing-foundation-copy{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;gap:2px}
.pricing-foundation-copy strong{color:var(--primary);font-size:var(--font-size-body)}
.pricing-foundation-copy span{color:var(--muted);font-size:var(--font-size-small)}
.pricing-foundation-field{display:flex;flex:0 0 auto;align-items:center;gap:10px;color:var(--text);font-size:var(--font-size-label);font-weight:650}
.pricing-days-input{display:flex;align-items:center;gap:6px}
.pricing-days-input input{width:78px;height:34px;padding:5px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);font:inherit;text-align:right;outline:none}
.pricing-days-input input:focus{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent)}
.pricing-days-input small{color:var(--muted);font-weight:500}
.pricing-tabs{padding:0 14px;background:var(--surface)}
.pricing-tabs .ptab{min-width:150px;text-align:center}
.pricing-tab-panel{display:flex;min-height:0;flex-direction:column;background:var(--surface)}
.pricing-tab-panel[hidden]{display:none!important}
.pricing-table-toolbar{display:flex;align-items:center;gap:9px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--surface)}
.pricing-table-search{position:relative;display:flex;flex:0 1 520px;min-width:260px;align-items:center}
.pricing-table-search>span{position:absolute;left:10px;z-index:1;color:var(--muted);font-size:var(--font-size-label);pointer-events:none}
.pricing-table-search input{width:100%;height:34px;padding:6px 34px 6px 30px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:var(--font-size-label);outline:none}
.pricing-table-search input:focus{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,transparent)}
.pricing-search-clear{position:absolute;right:5px;display:grid;width:25px;height:25px;padding:0;place-items:center;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:18px;cursor:pointer}
.pricing-search-clear:hover{background:color-mix(in srgb,var(--primary) 7%,transparent);color:var(--primary)}
.pricing-result-count{flex:0 0 auto;color:var(--muted);font-size:var(--font-size-small);white-space:nowrap}
.pricing-toolbar-spacer{flex:1 1 auto}
.pricing-table-help{padding:7px 14px;border-bottom:1px solid color-mix(in srgb,var(--border) 75%,transparent);background:color-mix(in srgb,var(--surface) 97%,var(--bg));color:var(--muted);font-size:var(--font-size-small);line-height:1.35}
.pricing-table-scroll{min-height:300px;max-height:calc(100vh - 355px);overflow:auto}
.pricing-table-scroll .sysconfig-table{margin:0}
.pricing-table-scroll thead th{position:sticky;top:0;z-index:4;background:var(--surface);box-shadow:0 1px 0 var(--border)}
.pricing-table-scroll thead .pricing-filter-row th{top:34px;z-index:3;background:color-mix(in srgb,var(--surface) 96%,var(--bg))}
.pricing-filter-row .master-filter-cell input[type=number]{text-align:right}
.pricing-row-actions{text-align:right}
.pricing-row-actions .demo-action-icon{width:30px;height:30px;padding:0}
.pricing-catalog-footer{border-top:1px solid var(--border)}

/* Checkboxen in Demo-Formgruppen dürfen nicht die generische 100%-Inputbreite erben. */
.demo-modal .form-group-m .sys-price-check{display:flex;align-items:flex-start;gap:9px;margin:0;padding:5px 0;color:var(--text);cursor:pointer}
.demo-modal .form-group-m .sys-price-check input[type="checkbox"]{flex:0 0 18px;width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;margin:1px 0 0!important;padding:0!important;accent-color:var(--primary);box-shadow:none}
.sys-price-check>span{display:flex;min-width:0;flex-direction:column;gap:2px;line-height:1.25}
.sys-price-check b{font-size:var(--font-size-body);font-weight:650}
.sys-price-check small{color:var(--muted);font-size:var(--font-size-small);font-weight:400}
.sys-price-toggle-stack{align-self:stretch;justify-content:flex-start!important;gap:4px!important;padding-top:1px}
#sys-price-condition-modal .sys-price-toggle-stack{justify-content:flex-end!important;padding-bottom:2px}

/* Fließtext im generischen Flex-Infokasten nicht in einzelne Wortinseln zerlegen. */
#sys-price-component-modal .sys-price-explainer{display:grid;grid-template-columns:minmax(145px,190px) minmax(0,1fr);gap:10px 16px;box-sizing:border-box;width:100%;max-width:none;padding:11px 13px;line-height:1.45}
#sys-price-component-modal .sys-price-explainer b{color:var(--primary);font-size:var(--font-size-small)}
#sys-price-component-modal .sys-price-explainer span{min-width:0}
#sys-price-condition-modal .sysconfig-info-box{display:block;box-sizing:border-box;width:100%;max-width:none;line-height:1.45}

@media(max-width:900px){
  .pricing-foundation-bar{align-items:flex-start;flex-direction:column;gap:10px}
  .pricing-table-toolbar{align-items:stretch;flex-wrap:wrap}
  .pricing-table-search{flex:1 1 100%;min-width:0}
  .pricing-toolbar-spacer{display:none}
  .pricing-table-scroll{max-height:calc(100vh - 400px)}
}
@media(max-width:620px){
  .pricing-foundation-field{width:100%;justify-content:space-between}
  .pricing-tabs{overflow-x:auto;flex-wrap:nowrap}
  .pricing-tabs .ptab{min-width:135px;white-space:nowrap}
  #sys-price-component-modal .sys-price-explainer{grid-template-columns:1fr;gap:4px}
}
#sys-price-component-delete[hidden],#sys-price-condition-delete[hidden]{display:none!important}

/* V16.5.34 – assistierte Hofauszahlung: Restautomatik und Positionsdetails je Empfänger. */
#hof-process-modal .hof-payment-allocation-help { flex-wrap:wrap; }
#hof-process-modal .hof-payment-allocation-help > small { flex-basis:100%; color:var(--muted); font-size:10px; text-align:right; font-variant-numeric:tabular-nums; }
#hof-process-modal .hof-payment-auto-state { display:inline-flex!important; width:max-content; max-width:100%; align-items:center; margin-left:2px; padding:2px 6px; border-radius:999px; font-size:9px!important; font-weight:750; line-height:1.25; white-space:nowrap!important; }
#hof-process-modal .hof-payment-auto-state.auto { color:var(--primary)!important; background:color-mix(in srgb,var(--primary) 9%,var(--surface)); }
#hof-process-modal .hof-payment-auto-state.manual { color:var(--text)!important; background:color-mix(in srgb,var(--text) 7%,var(--surface)); }
#hof-process-modal .hof-payment-recipient-card.ready > .hof-payment-auto-state.auto { color:var(--primary)!important; }
#hof-process-modal .hof-payment-recipient-card.ready > .hof-payment-auto-state.manual { color:var(--text)!important; }
#hof-process-modal .hof-payment-recipient-strip.has-position-details .hof-payment-recipient-card { flex-basis:270px; min-width:270px; max-width:270px; }
#hof-process-modal .hof-payment-recipient-positions { display:grid; gap:3px; margin-top:6px; padding-top:6px; border-top:1px solid var(--border); }
#hof-process-modal .hof-payment-recipient-positions > div { display:grid; grid-template-columns:28px minmax(0,1fr); column-gap:5px; align-items:baseline; }
#hof-process-modal .hof-payment-recipient-positions > div > b { grid-row:1 / span 2; color:var(--primary); font-size:10px; }
#hof-process-modal .hof-payment-recipient-positions > div > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text); font-size:10px; font-weight:700; }
#hof-process-modal .hof-payment-recipient-positions > div > small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:9px; }
#hof-process-modal .hof-payment-recipient-positions.empty { color:var(--muted); font-size:9px; }
@media(max-width:760px){
  #hof-process-modal .hof-payment-allocation-help > small { text-align:left; }
  #hof-process-modal .hof-payment-recipient-strip.has-position-details .hof-payment-recipient-card { flex-basis:235px; min-width:235px; max-width:235px; }
}

/* V16.5.44.1 – Wiegeschein-Layout/Pagination */
#page-wiegescheine{min-height:0}
.weighing-slips-page-header{align-items:flex-end}
.weighing-slips-page-header .workspace-page-actions{justify-content:flex-end;flex-wrap:wrap}
.weighing-slips-shell{padding:0;overflow:hidden}
.weighing-slips-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 14px;border-bottom:1px solid var(--border);background:var(--surface)}
.weighing-slips-summary>strong{font-size:var(--font-size-label);color:var(--text)}
.weighing-slips-table-wrap{max-height:calc(100vh - 300px);min-height:260px;overflow:auto}
.weighing-slips-table{width:100%;min-width:2260px;border-collapse:separate;border-spacing:0;font-size:var(--font-size-label)}
.weighing-slips-table th,.weighing-slips-table td{box-sizing:border-box;padding:9px 9px;border-bottom:1px solid var(--border);vertical-align:middle;text-align:left}
.weighing-slips-table thead th{position:sticky;top:0;z-index:4;background:var(--surface);color:#555;font-size:var(--font-size-label);font-weight:600;white-space:nowrap;box-shadow:0 1px 0 var(--border)}
.weighing-slips-table thead tr:first-child th[data-weighing-slip-sort]{cursor:pointer;user-select:none}
.weighing-slips-table thead tr:first-child th[data-weighing-slip-sort]:hover{color:var(--primary)}
.weighing-slips-table thead tr:first-child th[data-weighing-slip-sort]::after{content:'';display:inline-block;width:10px;margin-left:4px;color:var(--muted)}
.weighing-slips-table thead tr:first-child th.sort-active[data-sort-direction="asc"]::after{content:'▲'}
.weighing-slips-table thead tr:first-child th.sort-active[data-sort-direction="desc"]::after{content:'▼'}
.weighing-slips-filter-row th{top:34px!important;z-index:3!important;padding:6px 7px!important;background:var(--surface)!important}
.weighing-slips-filter-row input,.weighing-slips-filter-row select{box-sizing:border-box;width:100%;height:30px;border:1px solid var(--border);border-radius:6px;padding:0 7px;background:var(--surface);color:var(--text);font:inherit;font-size:var(--font-size-label);outline:none}
.weighing-slips-filter-row input:focus,.weighing-slips-filter-row select:focus{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 10%,transparent)}
.weighing-slips-filter-row .master-search-wrap{box-sizing:border-box;width:100%;height:30px;padding:0 7px}
.weighing-slips-filter-row .master-search-wrap input{height:auto;border:0;padding:0;box-shadow:none}
.weighing-slips-table tbody tr{background:var(--surface);transition:background-color .12s ease}
.weighing-slips-table tbody tr:hover{background:color-mix(in srgb,var(--primary) 4%,var(--surface))}
.weighing-slips-table tbody tr.weighing-slip-cancelled{opacity:.62}
.weighing-slips-table tbody tr.weighing-slip-cancelled td{text-decoration-color:var(--muted)}
.weighing-slips-table td.num,.weighing-slips-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.weighing-slips-table .tag{display:inline-flex;align-items:center;padding:2px 6px;border:1px solid var(--border);border-radius:4px;background:var(--surface-soft);font-size:var(--font-size-caption);font-weight:700}
.weighing-slip-link{border:0;padding:0;background:transparent;color:var(--primary);font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}
.weighing-slip-link:hover{text-decoration:underline}
.weighing-slip-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;white-space:nowrap}
.weighing-slip-actions .icon-button{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);cursor:pointer}
.weighing-slip-actions .icon-button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}
.weighing-slip-actions .icon-button:disabled{opacity:.4;cursor:not-allowed}
.weighing-slips-table .empty-row td{padding:42px 20px;text-align:center;color:var(--muted)}
.weighing-slips-table .empty-row.error td{color:var(--red)}
#weighing-slips-pager{border-top:0}

.weighing-slip-modal-box{width:min(850px,calc(100vw - 30px));max-width:none}
.weighing-slip-form{max-height:calc(100vh - 190px);overflow:auto}
.weighing-slip-form .form-grid.two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.weighing-slip-form .form-group.span-2{grid-column:1/-1}
.weighing-slip-form .form-group>small{display:block;margin-top:5px;color:var(--muted);font-size:var(--font-size-small);line-height:1.35}
.weighing-slip-form input,.weighing-slip-form select,.weighing-slip-form textarea{box-sizing:border-box;width:100%}
.weighing-slip-weight-input{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px}
.weighing-slip-weight-input .btn{width:48px;padding:0}
.weighing-slip-detail-box{width:min(920px,calc(100vw - 30px));max-width:none}
.weighing-slip-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:2px}
.weighing-slip-detail-grid>div{display:grid;gap:3px;min-width:0;padding:10px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}
.weighing-slip-detail-grid small{color:var(--muted);font-size:var(--font-size-small)}
.weighing-slip-detail-grid strong{overflow-wrap:anywhere;color:var(--text);font-size:var(--font-size-body)}
.weighing-slip-detail-auth{margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}
.weighing-slip-detail-auth h3{margin:0 0 8px;font-size:var(--font-size-body)}
#weighing-slip-detail-auth{display:grid;gap:6px}
#weighing-slip-detail-auth>div{display:flex;justify-content:space-between;gap:14px;padding:7px 9px;border-radius:7px;background:var(--surface-soft);font-size:var(--font-size-small)}
#weighing-slip-detail-auth>div span{color:var(--muted)}

@media(max-width:900px){
  .weighing-slips-page-header{align-items:flex-start;flex-direction:column}
  .weighing-slips-page-header .workspace-page-actions{width:100%;justify-content:flex-start}
  .weighing-slips-table-wrap{max-height:none}
  .weighing-slip-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .weighing-slip-form .form-grid.two-cols,.weighing-slip-detail-grid{grid-template-columns:1fr}
  .weighing-slip-form .form-group.span-2{grid-column:auto}
  .weighing-slips-summary{align-items:flex-start;flex-direction:column}
}

/* V16.5.46 – Anlieferer-Bericht im kanonischen MindQube-Listenlayout */
.supplier-report-page-header{align-items:flex-end}
.supplier-report-page-header .workspace-page-actions{justify-content:flex-end;flex-wrap:wrap}
.supplier-report-filter-card{padding:12px 14px;margin-bottom:10px}
.supplier-report-filter-grid{display:grid;grid-template-columns:minmax(360px,2fr) minmax(170px,1fr) minmax(170px,1fr);gap:12px;align-items:end}
.supplier-report-filter-grid label{display:flex;flex-direction:column;gap:5px;min-width:0;color:var(--text);font-size:var(--font-size-label);font-weight:600}
.supplier-report-filter-grid label>span{color:var(--muted);font-size:var(--font-size-caption);font-weight:600}
.supplier-report-filter-grid input{box-sizing:border-box;width:100%;height:32px;border:1px solid var(--border);border-radius:6px;padding:0 8px;background:var(--surface);color:var(--text);font:inherit;font-size:var(--font-size-label);outline:none}
.supplier-report-filter-grid input:focus{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 10%,transparent)}
.supplier-report-filter-grid .master-search-wrap{box-sizing:border-box;width:100%;height:32px;padding:0 8px}
.supplier-report-filter-grid .master-search-wrap input{height:auto;border:0;padding:0;box-shadow:none}
.supplier-report-quick-ranges{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}
.supplier-report-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}
.supplier-report-kpi{min-height:74px;padding:12px 16px;border-top:2px solid var(--primary);display:flex;flex-direction:column;justify-content:center;gap:6px}
.supplier-report-kpi:nth-child(2){border-top-color:var(--accent)}
.supplier-report-kpi:nth-child(3){border-top-color:#3aa82d}
.supplier-report-kpi small{color:var(--muted);font-size:var(--font-size-caption)}
.supplier-report-kpi strong{color:var(--text);font-size:calc(var(--font-size-small) + 4px);font-weight:700;font-variant-numeric:tabular-nums}
.supplier-report-shell{padding:0;overflow:hidden}
.supplier-report-table-wrap{max-height:calc(100vh - 410px);min-height:260px;overflow:auto}
.supplier-report-table{width:100%;min-width:1320px;border-collapse:separate;border-spacing:0;font-size:var(--font-size-label)}
.supplier-report-table th,.supplier-report-table td{box-sizing:border-box;padding:9px;border-bottom:1px solid var(--border);vertical-align:middle;text-align:left}
.supplier-report-table thead th{position:sticky;top:0;z-index:4;background:var(--surface);color:#555;font-size:var(--font-size-label);font-weight:600;white-space:nowrap;box-shadow:0 1px 0 var(--border);cursor:pointer;user-select:none}
.supplier-report-table thead th:hover{color:var(--primary)}
.supplier-report-table thead th::after{content:'';display:inline-block;width:10px;margin-left:4px;color:var(--muted)}
.supplier-report-table thead th.sort-active[data-sort-direction="asc"]::after{content:'▲'}
.supplier-report-table thead th.sort-active[data-sort-direction="desc"]::after{content:'▼'}
.supplier-report-table tbody tr{background:var(--surface);transition:background-color .12s ease}
.supplier-report-table tbody tr:hover{background:color-mix(in srgb,var(--primary) 4%,var(--surface))}
.supplier-report-table td.num,.supplier-report-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.supplier-report-amount{font-weight:700}
.supplier-report-table .empty-row td{padding:42px 20px;text-align:center;color:var(--muted)}
.supplier-report-table .empty-row.error td{color:var(--red)}
#supplier-report-pager{border-top:0}
@media(max-width:980px){.supplier-report-page-header{align-items:flex-start;flex-direction:column}.supplier-report-page-header .workspace-page-actions{width:100%;justify-content:flex-start}.supplier-report-filter-grid{grid-template-columns:1fr 1fr}.supplier-report-search-field{grid-column:1/-1}.supplier-report-kpis{grid-template-columns:1fr}.supplier-report-table-wrap{max-height:none}}
@media(max-width:620px){.supplier-report-filter-grid{grid-template-columns:1fr}.supplier-report-search-field{grid-column:auto}}
