
* { box-sizing: border-box; }
html, body, #app, #map { width: 100%; height: 100%; margin: 0; }
body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow: hidden;
  background: #ececec;
}
button, input, textarea { font: inherit; }
button { touch-action: manipulation; cursor: pointer; }

.topbar {
  position: absolute;
  top: max(12px, env(safe-area-inset-top));
  left: 12px; right: 12px;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  pointer-events: none;
}
.topbar > * { pointer-events: auto; }
.topbar > div:first-child {
  background: rgba(255,255,255,.96);
  border-radius: 14px;
  padding: 9px 13px;
  box-shadow: 0 3px 15px rgba(0,0,0,.18);
  display: flex;
  flex-direction: column;
}
.topbar small { opacity: .62; margin-top: 1px; max-width: 240px; }
.top-actions { display:flex; gap:8px; align-items:center; }
.icon-btn, .pill-btn {
  min-height: 48px; border: 0;
  background: rgba(255,255,255,.96);
  box-shadow: 0 3px 15px rgba(0,0,0,.18);
}
.icon-btn { width:48px; border-radius:50%; font-size:24px; }
.pill-btn { border-radius:16px; padding:0 15px; font-weight:700; }

.map-actions {
  position: absolute;
  z-index: 11;
  left: 50%;
  transform: translateX(-50%);
  bottom: max(25px, calc(env(safe-area-inset-bottom) + 15px));
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  width: min(96%, 620px);
  justify-content: center;
}
.primary-action, .secondary-action {
  min-height: 52px;
  padding: 0 18px;
  border-radius: 16px;
  border: 0;
  font-weight: 750;
  box-shadow: 0 3px 16px rgba(0,0,0,.18);
}
.primary-action { background:#fff; color:#162015; }
.secondary-action { background:rgba(255,255,255,.94); color:#333; }

.area-card {
  position: absolute;
  z-index: 11;
  bottom: 94px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(255,255,255,.97);
  border-radius: 16px;
  padding: 9px 18px;
  min-width: 140px;
  text-align:center;
  box-shadow: 0 3px 16px rgba(0,0,0,.18);
}
.area-card small { display:block; opacity:.6; }
.area-card strong { font-size:23px; }

.bottom-sheet {
  position:absolute;
  z-index:20;
  left:0; right:0; bottom:0;
  background:#fff;
  padding:8px 18px max(18px, env(safe-area-inset-bottom));
  border-radius:22px 22px 0 0;
  box-shadow:0 -8px 40px rgba(0,0,0,.25);
  max-height:82vh;
  overflow:auto;
}
.auth-sheet { z-index:30; }
.sheet-handle {
  width:42px; height:5px; border-radius:5px;
  background:#ccc; margin:2px auto 12px;
}
.bottom-sheet h2 { margin:0 0 8px; }
.sheet-text { margin:4px 0 12px; opacity:.68; }
.bottom-sheet label {
  display:block; margin:10px 0;
  font-size:14px; font-weight:650;
}
.bottom-sheet input, .bottom-sheet textarea {
  display:block; width:100%; margin-top:5px;
  border:1px solid #d4d4d4;
  border-radius:12px; padding:12px; background:#fafafa;
}
.bottom-sheet input[type=color] { height:46px; padding:4px; }
.sheet-actions { display:flex; gap:8px; margin-top:14px; }
.sheet-actions button { flex:1; }
.hint { font-size:12px; opacity:.7; margin:10px 2px 0; }
.wide-link {
  width:100%; border:0; background:transparent;
  padding:14px 0 2px; font-weight:650;
}
.details-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:10px; margin:8px 0 2px;
}
.details-grid > div { background:#f4f5f2; border-radius:14px; padding:12px; }
.details-grid small { display:block; opacity:.58; margin-bottom:4px; }
.details-grid strong { font-size:16px; }
.workspace-list { display:grid; gap:8px; margin:10px 0 14px; }
.workspace-item {
  width:100%; text-align:left; border:1px solid #ddd;
  background:#f8f8f8; padding:13px; border-radius:13px;
  font-weight:700;
}
.hidden { display:none !important; }

.maplibregl-ctrl-group button { width:44px; height:44px; }

@media (max-width: 600px) {
  .map-actions { bottom:max(18px, calc(env(safe-area-inset-bottom) + 10px)); }
  .primary-action, .secondary-action { min-height:50px; padding:0 14px; }
}

.bottom-sheet select {
  display:block; width:100%; margin-top:5px;
  border:1px solid #d4d4d4; border-radius:12px;
  padding:12px; background:#fafafa;
}
.customer-list { display:grid; gap:8px; margin:10px 0 14px; }
.customer-item {
  display:flex; align-items:center; justify-content:space-between;
  gap:10px; border:1px solid #ddd; background:#f8f8f8;
  padding:11px 12px; border-radius:13px;
}
.customer-item-main { min-width:0; }
.customer-item strong { display:block; }
.customer-item small { opacity:.62; }
.customer-edit {
  border:0; background:#fff; border-radius:10px;
  padding:9px 11px; font-weight:700;
}
.sheet-divider { border:0; border-top:1px solid #e5e5e5; margin:16px 0; }
.bottom-sheet h3 { margin:4px 0 8px; }

.field-browser-tools {
  display:grid;
  grid-template-columns: 1.4fr 1fr;
  gap:8px;
  margin:10px 0 8px;
}
.field-browser-tools input,
.field-browser-tools select {
  width:100%;
  border:1px solid #d4d4d4;
  border-radius:12px;
  padding:12px;
  background:#fafafa;
}
.field-browser-list {
  display:grid;
  gap:10px;
  margin:8px 0 8px;
}
.field-group-block {
  border:1px solid #e1e1e1;
  border-radius:14px;
  overflow:hidden;
  background:#fafafa;
}
.field-group-title {
  padding:10px 12px;
  font-weight:800;
  background:#f0f1ee;
  border-bottom:1px solid #e1e1e1;
}
.field-list-item {
  width:100%;
  border:0;
  border-bottom:1px solid #ececec;
  background:#fff;
  padding:11px 12px;
  text-align:left;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.field-list-item:last-child { border-bottom:0; }
.field-list-item strong { display:block; }
.field-list-item small { display:block; opacity:.62; margin-top:2px; }
.field-list-area {
  white-space:nowrap;
  font-weight:800;
}
@media (max-width: 600px) {
  .field-browser-tools { grid-template-columns:1fr; }
  .top-actions { max-width:72vw; flex-wrap:wrap; justify-content:flex-end; }
  .pill-btn { min-height:42px; padding:0 11px; }
}

.operation-list, .entries-list, .mini-list { display:grid; gap:8px; margin:10px 0; }
.operation-item, .entry-item, .mini-item {
  border:1px solid #ddd;
  border-radius:13px;
  background:#fafafa;
  padding:11px 12px;
}
.operation-item { width:100%; text-align:left; }
.operation-item strong, .entry-item strong { display:block; }
.operation-item small, .entry-item small, .mini-item small {
  display:block; opacity:.62; margin-top:2px;
}
.entries-summary {
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:8px;
  margin:8px 0 12px;
}
.summary-card, .calculated-box {
  background:#f1f3ef;
  border-radius:14px;
  padding:12px;
}
.summary-card small, .calculated-box small { display:block; opacity:.6; }
.summary-card strong, .calculated-box strong { font-size:20px; }
.entry-item {
  display:grid;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
}
.entry-item .entry-values { text-align:right; font-weight:800; }
.wide-action { width:100%; margin-top:8px; }
.master-grid { display:grid; gap:14px; }
.master-grid > div {
  background:#f7f7f7;
  border-radius:14px;
  padding:12px;
}
.master-grid h3 { margin:0 0 8px; }
.master-grid input {
  width:100%; margin:6px 0 0;
  border:1px solid #d4d4d4;
  border-radius:12px;
  padding:11px;
  background:#fff;
}

.current-job-card {
  pointer-events:auto;
  border:0;
  background:rgba(255,255,255,.96);
  border-radius:16px;
  padding:10px 13px;
  box-shadow:0 3px 15px rgba(0,0,0,.18);
  min-width:210px;
  max-width:min(62vw, 420px);
  text-align:left;
}
.current-job-kicker {
  display:block;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  opacity:.55;
}
.current-job-card strong {
  display:block;
  font-size:16px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin-top:1px;
}
.current-job-card #currentJobMeta {
  display:block;
  font-size:12px;
  opacity:.68;
  margin-top:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.menu-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.menu-tile {
  min-height:76px;
  border:1px solid #ddd;
  border-radius:16px;
  background:#f8f8f8;
  font-weight:800;
}
.quick-actions {
  display:grid;
  gap:10px;
}
.big-action { min-height:62px; width:100%; }
#adminJobActions { margin-top:6px; }

@media (max-width: 600px) {
  .topbar { align-items:flex-start; }
  .current-job-card {
    max-width:68vw;
    min-width:0;
    padding:9px 11px;
  }
  .current-job-card strong { font-size:15px; }
  .current-job-card #currentJobMeta { font-size:11px; }
  .top-actions { max-width:none; flex-wrap:nowrap; }
  .top-actions .pill-btn { min-height:44px; }
  .menu-grid { grid-template-columns:1fr 1fr; }
  .bottom-sheet {
    max-height:88vh;
    padding-left:14px;
    padding-right:14px;
  }
}

.entry-actions{display:flex;justify-content:flex-end;margin-top:7px}
.entry-edit-btn{border:1px solid #d5d5d5;background:#fff;border-radius:10px;padding:7px 10px;font-weight:750}
.entry-item-main{min-width:0}

.compact-operation-item {
  display:block;
  padding:10px 12px;
  min-height:0;
}
.operation-line-one {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
}
.operation-line-one strong {
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.operation-line-one small {
  flex:0 0 auto;
  margin:0;
  opacity:.58;
}
.operation-summary {
  display:block;
  margin-top:4px;
  font-size:13px;
  opacity:.72;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (max-width:600px) {
  .compact-operation-item { padding:9px 10px; }
  .operation-line-one strong { font-size:14px; }
  .operation-line-one small,
  .operation-summary { font-size:12px; }
}

.onboarding-block {
  background:#f6f7f4;
  border-radius:14px;
  padding:12px;
  margin:12px 0;
}
.onboarding-block h3 { margin:0 0 8px; }
.onboarding-block input {
  width:100%;
  border:1px solid #d4d4d4;
  border-radius:12px;
  padding:12px;
  margin:5px 0;
  background:#fff;
}
.invite-card {
  background:#f3f5f1;
  border-radius:14px;
  padding:12px;
  margin:10px 0 16px;
}
.invite-card small { display:block; opacity:.6; }
.invite-card strong {
  display:block;
  font-size:26px;
  letter-spacing:.08em;
  margin:5px 0;
}
.user-list { display:grid; gap:8px; margin:10px 0; }
.user-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 12px;
  border:1px solid #ddd;
  border-radius:13px;
  background:#fafafa;
}
.user-row strong { display:block; }
.user-row small { display:block; opacity:.62; margin-top:2px; }
.role-badge {
  flex:0 0 auto;
  border-radius:999px;
  padding:6px 9px;
  font-size:12px;
  font-weight:800;
  background:#eceee9;
}

.role-select{border:1px solid #d4d4d4;border-radius:10px;padding:7px 8px;background:#fff;max-width:145px}
@media(max-width:600px){.role-select{font-size:12px;max-width:130px}}

.mini-item.driver-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.driver-row-main strong{display:block}
.driver-row-main small{display:block;opacity:.62;margin-top:2px}
.mini-edit-btn{
  border:1px solid #d5d5d5;
  background:#fff;
  border-radius:10px;
  padding:7px 10px;
  font-weight:750;
}
.toggle-line{
  display:flex!important;
  align-items:center;
  gap:10px;
}
.toggle-line input{
  width:auto!important;
  margin:0!important;
}
.danger-action{
  min-height:48px;
  border:0;
  border-radius:14px;
  font-weight:800;
  background:#f3e9e9;
}

.user-row-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.user-driver-btn{
  border:1px solid #d4d4d4;
  background:#fff;
  border-radius:10px;
  padding:7px 9px;
  font-weight:750;
  font-size:12px;
}
@media(max-width:600px){
  .user-row{align-items:flex-start;flex-wrap:wrap}
  .user-row-actions{width:100%;justify-content:flex-end}
}

.quick-entry-btn{display:block;width:100%;margin-top:6px;border:0;border-radius:10px;padding:8px 10px;font-weight:850}
.offline-sync-state{margin-top:5px;border-radius:9px;padding:5px 8px;font-size:11px;font-weight:750;background:#fff}
@media(max-width:600px){.quick-entry-btn{padding:7px 9px;font-size:12px}.offline-sync-state{font-size:10px}}

/* V9.4.1 – kompaktes Aktives-Feld-Fenster */
.current-job-panel{
  position:fixed;
  z-index:30;
  top:14px;
  left:14px;
  width:190px;
  max-width:calc(100vw - 120px);
  background:#fff;
  border-radius:14px;
  padding:0;
  box-shadow:0 2px 12px rgba(0,0,0,.18);
  overflow:hidden;
}
.current-job-panel.hidden{display:none!important}
.current-job-panel .current-job-card{
  position:static!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:10px 11px 7px!important;
  text-align:left;
  background:#fff;
}
.current-job-panel .current-job-kicker{
  display:block;
  font-size:11px;
  font-weight:800;
  margin-bottom:3px;
}
.current-job-panel #currentJobField{
  display:block;
  font-size:14px;
  line-height:1.25;
}
.current-job-panel #currentJobMeta{
  display:block;
  font-size:11px;
  margin-top:3px;
}
.current-job-panel .quick-entry-btn{
  position:static!important;
  display:block;
  width:calc(100% - 16px)!important;
  margin:0 8px 8px!important;
  padding:7px 8px!important;
  border:0;
  border-radius:9px!important;
  font-size:12px!important;
  font-weight:800;
  line-height:1.2;
}
.current-job-panel .quick-entry-btn.hidden{display:none!important}
.current-job-panel .offline-sync-state{
  position:static!important;
  margin:0 8px 8px!important;
  padding:4px 6px!important;
  font-size:10px!important;
  border-radius:7px!important;
}
.current-job-panel .offline-sync-state.hidden{display:none!important}
@media(max-width:600px){
 .current-job-panel{top:8px;left:8px;width:170px;max-width:calc(100vw - 105px)}
 .current-job-panel .current-job-card{padding:8px 9px 6px!important}
 .current-job-panel #currentJobField{font-size:13px}
 .current-job-panel #currentJobMeta{font-size:10px}
 .current-job-panel .quick-entry-btn{font-size:11px!important;padding:6px 7px!important}
}

.import-sheet{max-height:92vh;overflow:auto}.import-toolbar,.inline-row{display:flex;gap:7px;align-items:center}.inline-row>*:first-child{flex:1}.import-field-list{display:flex;flex-direction:column;gap:8px;margin:10px 0}.import-field-row{border:1px solid #ddd;border-radius:12px;padding:9px;background:#fff}.import-field-head{display:flex;gap:8px;align-items:center;margin-bottom:7px}.import-field-head input[type=checkbox]{width:auto}.import-grid{display:grid;grid-template-columns:1.1fr 1.4fr 1fr;gap:6px}.import-grid input{min-width:0}.import-field-meta,.import-duplicate{font-size:11px;margin-top:5px}.import-duplicate{font-weight:750}@media(max-width:650px){.import-grid{grid-template-columns:1fr}}


/* V9.5.3 – Menü-Button-Fix */
.topbar{
  position:absolute;
  top:max(12px, env(safe-area-inset-top));
  left:12px;
  right:12px;
  z-index:40;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  pointer-events:none;
}
.topbar .current-job-panel,
.topbar .top-actions{
  pointer-events:auto;
}
.topbar .top-actions{
  position:relative;
  margin-left:auto;
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  gap:8px;
  z-index:45;
}
.topbar #menuBtn,
.topbar #locateBtn{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center;
  justify-content:center;
}
@media(max-width:600px){
  .topbar{
    top:max(8px, env(safe-area-inset-top));
    left:8px;
    right:8px;
  }
}

.customer-color-line{display:flex;align-items:center;gap:8px}
.customer-color-swatch{width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.18);flex:0 0 auto}
.customer-item-main{display:flex;align-items:center;gap:9px}
.customer-item-text{min-width:0}
.customer-item-text strong,.customer-item-text small{display:block}

.import-bulk-block{
  margin:10px 0;
  padding:10px;
  border:1px solid #e0e0e0;
  border-radius:12px;
  background:#f8f8f8;
}
.import-bulk-block>strong{
  display:block;
  margin-bottom:6px;
  font-size:13px;
}
.import-bulk-feedback{
  margin:8px 0;
  padding:8px 10px;
  border-radius:10px;
  background:#eef2eb;
  font-size:12px;
  font-weight:750;
}
.import-field-customer-label{
  font-size:11px;
  opacity:.65;
  margin:5px 0 2px;
}
@media(max-width:600px){
  .import-bulk-block .inline-row{
    display:grid;
    grid-template-columns:1fr;
  }
  .import-bulk-block .inline-row button{
    width:100%;
  }
}

#deleteFieldBtn{min-height:44px}
#deleteEmptyFieldsBtn{margin-top:12px}

.reports-sheet{max-height:92vh;overflow:auto}
.report-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.report-summary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.report-card{background:#f2f4ef;border-radius:13px;padding:10px}
.report-card small{display:block;opacity:.62}.report-card strong{display:block;font-size:18px;margin-top:2px}
.report-results{display:flex;flex-direction:column;gap:8px}
.report-row{border:1px solid #ddd;border-radius:12px;padding:10px;background:#fff}
.report-row-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.report-row-top strong,.report-row-top small{display:block}.report-row-top small{opacity:.62;margin-top:2px}
.report-row-values{margin-top:6px;display:flex;flex-wrap:wrap;gap:7px 12px;font-size:13px}
@media(max-width:600px){.report-filters{grid-template-columns:1fr}.report-summary-cards{grid-template-columns:1fr 1fr}}

.report-check{
  display:flex!important;
  align-items:center;
  gap:8px;
  align-self:end;
  min-height:42px;
}
.report-check input{width:auto!important;margin:0!important}
.report-customer-group{margin:14px 0}
.report-customer-title{
  display:flex;justify-content:space-between;gap:10px;align-items:baseline;
  padding:4px 2px 7px;border-bottom:1px solid #ddd;
}
.report-customer-title strong{font-size:15px}
.report-customer-title small{opacity:.65}
.report-table-head{
  display:grid;
  grid-template-columns:1.5fr .75fr .9fr .75fr .8fr .7fr;
  gap:8px;
  padding:7px 10px;
  font-size:11px;
  font-weight:800;
  opacity:.65;
}
.report-row-table{
  display:grid;
  grid-template-columns:1.5fr .75fr .9fr .75fr .8fr .7fr;
  gap:8px;
  align-items:center;
}
.report-row-table>span{text-align:right}
.report-row-table>div:first-child{text-align:left}
@media(max-width:700px){
  .report-table-head{display:none}
  .report-row-table{display:flex;flex-wrap:wrap;gap:6px 10px}
  .report-row-table>span{text-align:left}
}

#startJobFieldSearch{margin-bottom:2px}

/* V9.6.5 – Auswertung: saubere Spalten am PC, kompakte Karten am Handy */
.report-table-head,
.report-row-table{
  display:grid;
  grid-template-columns:
    minmax(260px, 2.2fr)
    minmax(90px, .75fr)
    minmax(110px, .9fr)
    minmax(110px, .9fr)
    minmax(80px, .65fr)
    minmax(110px, .8fr);
  column-gap:14px;
  align-items:center;
}

.report-table-head{
  padding:7px 12px;
}
.report-table-head > div,
.report-table-head > span{
  text-align:left;
}
.report-table-head > span{
  text-align:right;
}

.report-row{
  padding:0;
}
.report-row-table{
  padding:10px 12px;
}
.report-main-cell{
  min-width:0;
}
.report-main-cell strong{
  display:block;
  line-height:1.15;
}
.report-main-cell small{
  display:block;
  margin-top:2px;
  opacity:.62;
  line-height:1.2;
}
.report-cell{
  text-align:right;
  white-space:nowrap;
}
.report-trips-cell{
  text-align:center;
}

@media(max-width:700px){
  .report-table-head{display:none}

  .report-row{
    padding:10px 11px;
  }

  .report-row-table{
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-areas:
      "main date"
      "meta meta";
    gap:7px 10px;
    padding:0;
  }

  .report-main-cell{
    grid-area:main;
  }

  .report-date-cell{
    grid-area:date;
    align-self:start;
    font-size:11px;
    opacity:.65;
  }

  .report-area-cell,
  .report-total-cell,
  .report-perha-cell,
  .report-trips-cell{
    grid-area:meta;
    text-align:left;
    white-space:normal;
  }

  .report-area-cell::after{content:" ·";}
  .report-total-cell::after{content:" ·";}
  .report-perha-cell::after{content:" ·";}
  .report-trips-cell::after{content:" Fuhren";}

  .report-area-cell,
  .report-total-cell,
  .report-perha-cell,
  .report-trips-cell{
    display:inline;
  }

  .report-row-table{
    position:relative;
  }

  .report-row-table::after{
    content:"";
    grid-area:meta;
  }

  /* mobile metadata as one visual line */
  .report-area-cell{justify-self:start}
  .report-total-cell{margin-left:92px}
  .report-perha-cell{margin-left:190px}
  .report-trips-cell{margin-left:290px}
}

@media(max-width:460px){
  .report-row{
    padding:9px 10px;
  }
  .report-row-table{
    grid-template-columns:1fr auto;
  }
  .report-area-cell,
  .report-total-cell,
  .report-perha-cell,
  .report-trips-cell{
    grid-area:auto;
    margin-left:0!important;
    display:block;
  }
  .report-row-table{
    display:flex;
    flex-wrap:wrap;
    gap:5px 8px;
  }
  .report-main-cell{
    flex:1 1 70%;
  }
  .report-date-cell{
    flex:0 0 auto;
  }
  .report-area-cell,
  .report-total-cell,
  .report-perha-cell,
  .report-trips-cell{
    font-size:12px;
  }
}

#exportReportExcelBtn{min-height:44px}
@media(max-width:600px){#exportReportExcelBtn{grid-column:1/-1}}

.overview-sheet{max-height:88vh;overflow:auto}
.overview-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.overview-head h2{margin-bottom:2px}
.overview-head .hint{margin:0}
.overview-current{
  margin:10px 0 12px;
  border:1px solid #d7ded7;
  border-radius:14px;
  padding:11px;
  background:#f5f7f4;
}
.overview-current-title{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;opacity:.6}
.overview-current-main{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:5px}
.overview-current-main strong{display:block;font-size:17px}
.overview-current-main small{display:block;opacity:.65;margin-top:2px}
.overview-current-values{font-size:13px;text-align:right;white-space:nowrap}
.overview-section-title{font-size:14px;margin:15px 2px 7px}
.overview-list{display:flex;flex-direction:column;gap:7px}
.overview-item{border:1px solid #ddd;border-radius:12px;padding:9px 10px;background:#fff;cursor:pointer}
.overview-item-top{display:flex;justify-content:space-between;gap:10px}
.overview-item strong,.overview-item small{display:block}
.overview-item small{opacity:.62;margin-top:2px}
.overview-item-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:6px;font-size:12px}
.overview-empty{padding:12px;border-radius:12px;background:#f4f4f2;opacity:.7}
@media(max-width:600px){
  .overview-sheet{max-height:92vh}
  .overview-current-main{align-items:flex-start}
  .overview-current-values{text-align:left;white-space:normal;margin-top:6px}
  .overview-current-main{display:block}
  .overview-head .small-action{font-size:12px;padding:8px 10px}
}

/* V9.8.5 – kompakte Fuhrenkarten */
.entry-item{
  min-height:0;
  padding:10px 12px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px 14px;
  align-items:center;
}
.entry-item-main{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.entry-left{min-width:0}
.entry-left strong{display:block;line-height:1.15}
.entry-left small{display:block;margin-top:3px}
.entry-note-line{
  margin-top:5px !important;
  font-size:12px;
  font-weight:600;
  opacity:.72;
  white-space:normal;
}
.entry-actions{
  display:flex;
  align-items:center;
  align-self:center;
}
.entry-edit-btn{
  margin:0;
  align-self:center;
}
.entry-values{
  align-self:center;
  text-align:right;
  line-height:1.15;
  min-width:110px;
}
.entry-values small{
  display:block;
  margin-top:4px;
}
@media(max-width:600px){
  .entry-item{padding:9px 10px;gap:8px 10px}
  .entry-item-main{gap:8px}
  .entry-edit-btn{padding:7px 9px;font-size:12px}
  .entry-values{min-width:92px;font-size:14px}
  .entry-note-line{font-size:11px}
}


/* V9.9.3 – Field-Area-Measure-artige Verschiebehilfe */
.vertex-drag-pin{
  width:54px;
  height:70px;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  cursor:grab;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
  filter:drop-shadow(0 3px 4px rgba(0,0,0,.28));
}
.vertex-drag-pin:active{cursor:grabbing}

.vertex-drag-pin-head{
  width:48px;
  height:48px;
  border-radius:50%;
  background:#fff;
  border:4px solid #1f5f2a;
  display:flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  font-size:22px;
  line-height:1;
  font-weight:900;
  color:#1f5f2a;
}

.vertex-drag-pin-tip{
  width:0;
  height:0;
  margin-top:-3px;
  border-left:10px solid transparent;
  border-right:10px solid transparent;
  border-top:20px solid #1f5f2a;
  position:relative;
}
.vertex-drag-pin-tip::after{
  content:"";
  position:absolute;
  left:-5px;
  top:-19px;
  width:0;
  height:0;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:11px solid #fff;
}

@media(max-width:600px){
  .vertex-drag-pin{
    width:62px;
    height:80px;
  }
  .vertex-drag-pin-head{
    width:54px;
    height:54px;
    border-width:4px;
    font-size:24px;
  }
  .vertex-drag-pin-tip{
    border-left-width:11px;
    border-right-width:11px;
    border-top-width:22px;
  }
}


/* V9.9.5 – präzisere Verschiebehilfe */
.vertex-drag-pin{
  width:46px;
  height:62px;
}
.vertex-drag-pin-head{
  width:40px;
  height:40px;
  border-width:3px;
  font-size:18px;
}
.vertex-drag-pin-tip{
  margin-top:-2px;
  border-left-width:7px;
  border-right-width:7px;
  border-top-width:16px;
}
.vertex-drag-pin-tip::after{
  left:-3px;
  top:-15px;
  border-left-width:3px;
  border-right-width:3px;
  border-top-width:9px;
}

@media(max-width:600px){
  .vertex-drag-pin{
    width:50px;
    height:66px;
  }
  .vertex-drag-pin-head{
    width:42px;
    height:42px;
    border-width:3px;
    font-size:19px;
  }
  .vertex-drag-pin-tip{
    border-left-width:7px;
    border-right-width:7px;
    border-top-width:17px;
  }
}
