/* ZaPhi Manager v0.21.4 · letzte, verbindliche Oberflächenregeln. */

/* Eine Schriftfamilie in der gesamten Bedienoberfläche. Dokumentseiten behalten
   die in Layout & Textvorlagen gewählte Druckschrift. */
html,body,.app,.page,.card,.modal,.modal-backdrop,.topbar,.sidebar,
button,input,textarea,select,option,table,.v09-builder,.v09-palette-item,
.v203-service-tree-row,.v203-clickable-service{font-family:var(--font-app,Arial,sans-serif)!important}

/* Leistungsstruktur: Kategorienamen dürfen nie von Zähler oder Aktionen
   verdeckt werden und nutzen dasselbe Schriftbild wie die Leistungsnamen. */
#serviceTree .v203-service-tree-row{
  display:grid!important;
  grid-template-columns:26px 34px minmax(0,1fr) auto!important;
  grid-template-areas:"toggle code name count" "toggle code actions actions"!important;
  column-gap:7px!important;
  row-gap:4px!important;
  align-items:start!important;
  height:auto!important;
  min-height:48px!important;
  padding-top:7px!important;
  padding-bottom:7px!important;
  overflow:visible!important;
}
#serviceTree .v203-service-tree-row>button:first-child{grid-area:toggle!important}
#serviceTree .tree-code{grid-area:code!important}
#serviceTree .v203-tree-name{
  grid-area:name!important;
  min-width:0!important;
  width:100%!important;
  padding:1px 2px 1px 0!important;
  color:var(--ink,#20262d)!important;
  font-family:var(--font-app,Arial,sans-serif)!important;
  font-size:13px!important;
  font-style:normal!important;
  font-weight:700!important;
  letter-spacing:normal!important;
  line-height:1.32!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  hyphens:auto!important;
  overflow:visible!important;
  text-overflow:clip!important;
  max-height:none!important;
  -webkit-line-clamp:unset!important;
}
#serviceTree .v203-tree-count{grid-area:count!important;align-self:start!important}
#serviceTree .v203-tree-actions{grid-area:actions!important;justify-self:end!important;align-self:start!important;display:flex!important;gap:4px!important;position:static!important}
#serviceTable .service-name,#serviceTable .service-name strong{
  font-family:var(--font-app,Arial,sans-serif)!important;
  font-style:normal!important;
  font-weight:700!important;
  line-height:1.32!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* Die Briefpapier-Vorschau bleibt auch bei kleineren Notebookbreiten stehen.
   Nur bei wirklich schmalen Tablet-/Telefonansichten wird gestapelt. */
.stationery-layout{align-items:start!important}
@media(min-width:900px){
  .stationery-layout{grid-template-columns:minmax(330px,.82fr) minmax(430px,1.18fr)!important}
  .stationery-preview-wrap{position:sticky!important;top:92px!important;align-self:start!important;max-height:calc(100dvh - 104px)!important;overflow:auto!important;overscroll-behavior:contain}
  .v20-stationery-preview-pages .v20-paper-page{height:min(calc(100dvh - 138px),680px)!important}
}
@media(max-width:899px){.stationery-preview-wrap{position:static!important;max-height:none!important}}

/* Dokumenteditor: Raumbezeichnungen, Schnellposition und Lieferschein. */
.v214-quick-position{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:7px;align-items:end;min-width:min(460px,100%);margin-right:auto}
.v214-quick-position label{display:grid;gap:3px;color:#58636e;font-size:9px;font-weight:800}
.v214-quick-position input{min-height:36px;border:1px solid #cbd2d8;border-radius:8px;padding:7px 10px;font:700 12px var(--font-app)}
.v214-quick-hint{grid-column:1/-1;color:#6b7680;font-size:8px}
.v09-block-heading.v214-room-heading{grid-template-columns:22px minmax(0,1fr) auto!important;padding-left:10px!important}
.v214-room-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-width:0}
.v214-room-editor input{min-width:0;margin-left:7px!important;font-family:var(--font-app)!important}
.v214-room-format{display:flex;gap:3px}.v214-room-format button{width:30px;height:30px;border:1px solid #d1d8de;border-radius:7px;background:#fff;cursor:pointer}.v214-room-format button.active{border-color:#f47b20;background:#fff3e8;color:#b64f00}
.v214-room-normal{font-weight:500}.v214-room-bold{font-weight:800}.v214-room-italic{font-style:italic}
.v09-palette-item{cursor:pointer}.v09-palette-item:focus-visible{outline:2px solid #f47b20;outline-offset:-2px}
.v214-delivery-builder .v09-price-field,.v214-delivery-builder .v15-position-total,.v214-delivery-builder [data-price],.v214-delivery-builder .v09-price{display:none!important}
.v214-delivery-builder .v09-line-grid{grid-template-columns:80px 72px minmax(0,1fr)!important}
.v214-delivery-builder .v09-palette-item small{color:#68737d!important}
.v214-draft-label{display:inline-flex;align-items:center;border-radius:999px;background:#fff3e6;color:#a64a08;padding:5px 9px;font-size:9px;font-weight:850}

/* Karte: volle Höhe, exakt halbierte Arbeitsansicht oder ausgeblendet. */
.v212-planner-map-card.v214-map-full .v212-map-viewport{height:clamp(560px,calc(100dvh - 220px),820px)!important}
.v212-planner-map-card.v214-map-minimized .v212-map-viewport{height:clamp(280px,calc((100dvh - 220px) * .5),410px)!important}
.v214-map-size-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.v214-map-size-actions .btn{min-width:0!important;width:100%!important;padding-inline:6px!important}
.v214-map-hidden{display:flex;align-items:center;gap:10px;min-height:50px;padding:8px 12px;background:#fff}.v214-map-hidden strong{font-size:15px}.v214-map-hidden span{color:#68737d;font-size:9px}.v214-map-hidden .btn{margin-left:auto}
.v214-map-preferences{display:grid;gap:10px;border:1px solid #dbe1e5;border-radius:11px;background:#f8fafb;padding:12px}.v214-map-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.v214-map-choice label{display:grid;grid-template-columns:auto 1fr;gap:6px;align-items:center;border:1px solid #d5dce1;border-radius:9px;background:#fff;padding:8px;cursor:pointer}.v214-map-choice label:has(input:checked){border-color:#f47b20;background:#fff5ec}

/* Fallkarte, Rechte, Mitarbeiterakte, Einkauf und sichere Freigabe. */
.v214-card-layout-preview{position:relative;aspect-ratio:210/148;border:1px solid #ccd4da;border-radius:10px;background:#fff center/cover no-repeat;overflow:hidden;padding:8%;box-shadow:0 5px 18px rgba(20,31,42,.08)}
.v214-card-layout-preview address{position:absolute;left:9%;top:38%;font-style:normal;white-space:pre-line}.v214-card-layout-preview small{position:absolute;left:9%;top:9%;white-space:pre-line}
.v214-document-rights{overflow:auto}.v214-document-rights table{min-width:820px;width:100%;border-collapse:collapse}.v214-document-rights th,.v214-document-rights td{padding:7px;border-bottom:1px solid #e0e5e8;text-align:left}.v214-document-rights td:not(:first-child),.v214-document-rights th:not(:first-child){text-align:center}
.v214-employee-documents{display:grid;gap:8px}.v214-employee-document-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;border:1px solid #dbe1e5;border-radius:8px;padding:8px;background:#fff}.v214-employee-document-row>div{display:grid}.v214-employee-readonly input,.v214-employee-readonly textarea,.v214-employee-readonly select{pointer-events:none;background:#f3f5f6;color:#53606a}.v214-employee-readonly .v214-workwear input,.v214-employee-readonly .v214-workwear textarea{pointer-events:auto;background:#fff;color:inherit}
.v214-procurement{display:grid;grid-template-columns:230px minmax(0,1fr);gap:12px}.v214-procurement-nav{display:grid;align-content:start;gap:6px}.v214-procurement-nav button{text-align:left;border:1px solid #d5dce2;border-radius:9px;background:#fff;padding:10px;font:700 11px var(--font-app);cursor:pointer}.v214-procurement-nav button.active{border-color:#f47b20;background:#fff4ea}.v214-procurement-pane{min-width:0}.v214-procurement-table{width:100%;border-collapse:collapse}.v214-procurement-table th,.v214-procurement-table td{padding:8px;border-bottom:1px solid #e0e5e8;text-align:left;vertical-align:top}.v214-procurement-table th{position:sticky;top:0;background:#f7f9fa}.v214-stock-low{color:#b04036;font-weight:850}.v214-order-lines{display:grid;gap:7px}.v214-order-line{display:grid;grid-template-columns:minmax(0,1fr) 100px 90px auto;gap:7px;align-items:center}
.v214-acceptance-shell{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px;align-items:start}.v214-acceptance-terms{max-height:300px;overflow:auto;border:1px solid #cbd3d9;border-radius:9px;background:#fff;padding:14px;white-space:pre-wrap;line-height:1.5}.v214-acceptance-checklist{display:grid;gap:10px}.v214-acceptance-signature{height:170px;border:1px solid #bfc8cf;border-radius:9px;background:#fff}.v214-acceptance-signature canvas{width:100%;height:100%;touch-action:none}.v214-acceptance-complete{border-left:5px solid #39835b;border-radius:9px;background:#eef8f2;padding:13px}

@media(max-width:980px){.v214-procurement,.v214-acceptance-shell{grid-template-columns:1fr}.v214-procurement-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.v214-quick-position{min-width:0;width:100%}}
