/* Demo-Portal Schädlingsmonitoring – ergänzt styles.css und monitoring.css */
.p-demo button{margin-left:14px;background:#ffffff26;border:1px solid #ffffff80;color:#fff;font:inherit;font-size:9px;letter-spacing:.1em;padding:4px 9px;cursor:pointer}.p-demo button:hover{background:#fff;color:var(--orange)}
.p-nav button{display:flex;align-items:center;justify-content:space-between;gap:10px}
.p-nav em{font-style:normal;background:var(--orange);color:#fff;font-size:11px;font-weight:900;min-width:20px;height:20px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.app-head-side{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.app-crumb a{color:var(--orange);font-weight:800}
.p-btns{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.p-empty{color:#7a858a;font-size:13px;margin:6px 0;padding:14px;background:#f7f9f9;border:1px dashed #d9dfe1}
.p-section{margin-bottom:14px}
.p-grid-2{margin-top:14px}
.app-main>.p-grid-2:first-child{margin-top:0}
button.app-kpi{font:inherit;color:inherit;text-align:left;cursor:pointer;transition:box-shadow .2s}button.app-kpi:hover{box-shadow:0 8px 20px #20292e14}
.app-btn:disabled{opacity:.45;cursor:not-allowed}
.app-btn:focus-visible,.p-doc-row:focus-visible,.p-news:focus-visible,.p-object:focus-visible,tr[tabindex]:focus-visible{outline:3px solid var(--orange);outline-offset:2px}

/* Objektkarten */
.p-object[data-s=red]{border-top-color:var(--st-red)}.p-object[data-s=yellow]{border-top-color:var(--st-yellow)}.p-object[data-s=grey]{border-top-color:var(--st-grey)}
.app-ok-card{border-top:3px solid var(--st-green);background:#f1faf4;display:flex;flex-direction:column;gap:6px;justify-content:center}.app-ok-card b{font-size:17px}.app-ok-card span{font-size:13px;color:#5f6b71}

/* Neuigkeiten, Dokumentlisten */
.p-news-list{display:flex;flex-direction:column;gap:6px}
.p-news{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:10px;background:#f7f9f9;border:0;font:inherit;color:inherit;text-align:left;width:100%}
button.p-news{cursor:pointer}button.p-news:hover{background:#eef2f3}
.p-news.is-hot{background:#fff6f1;box-shadow:inset 3px 0 0 var(--orange)}
.p-news b{display:block;font-size:14px}.p-news small{color:#6f7a80;font-size:12px}.p-news em{font-style:normal;font-size:12px;font-weight:800;color:var(--orange);white-space:nowrap}
.app-doc-ico.is-note{background:#fff1e8;color:var(--orange);font-size:18px}
.p-doc-list{list-style:none;margin:0;padding:0}
.p-doc-row{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;width:100%;padding:10px 6px;border:0;border-bottom:1px solid #f0f2f3;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.p-doc-row:hover{background:#f7f9f9}.p-doc-row b{display:block;font-size:14px}.p-doc-row small{color:#7a858a;font-size:12px}
.p-doc-list li:last-child .p-doc-row{border-bottom:0}

/* Termine / Aufgaben */
.p-tasks .p-time small{display:block;font-size:11px;color:#7a858a;font-weight:700}
.p-tasks li.is-done{opacity:.6}
.p-resume{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;border-left:4px solid var(--orange);flex-wrap:wrap}.p-resume b{display:block}.p-resume small{color:#6f7a80}
.app-card h5:first-child{margin-top:0}

/* Wochenkalender */
.app-slot{font-family:inherit;text-align:left;border-top:0;border-right:0;border-bottom:0;cursor:pointer;width:100%;color:inherit}
.app-slot:hover{background:#eef2f3}
.app-day-empty{font-size:11px;color:#a5afb3;text-align:center;padding:10px 0}
.p-today{width:auto!important;padding:0 10px;font-size:12px!important}

/* Verlauf / Trend */
.p-trend{display:flex;gap:10px;align-items:flex-end;height:170px;padding-top:8px;overflow-x:auto}
.p-trend-col{flex:1 0 52px;max-width:90px;height:100%;display:flex;flex-direction:column;align-items:stretch;gap:5px;background:none;border:0;font:inherit;color:inherit;cursor:pointer;padding:0}
.p-trend-bar{flex:1;display:flex;flex-direction:column-reverse;background:#f3f5f5}
.p-trend-bar i{display:block;background:var(--st-grey)}.p-trend-bar i[data-s=green]{background:var(--st-green)}.p-trend-bar i[data-s=yellow]{background:var(--st-yellow)}.p-trend-bar i[data-s=red]{background:var(--st-red)}
.p-trend-col b{font-size:11px;text-align:center;white-space:nowrap}.p-trend-col small{font-size:11px;color:#7a858a;text-align:center}
.p-trend-col:hover .p-trend-bar{outline:2px solid var(--ink)}

/* Fotos */
.p-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;margin:12px 0}
.p-photo{position:relative;margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;cursor:pointer;text-align:left}
.p-photo img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.p-photo span{display:block;font-size:11px;color:#5f6b71;margin-top:4px;line-height:1.3}
.p-photo button{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:0;background:#20292ee6;color:#fff;cursor:pointer;font-size:15px;line-height:1}
.p-photos.is-edit .p-photo{cursor:default}
.p-gal{background:#fff;border:1px solid #e3e7e8;padding:8px;font:inherit;color:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:8px}
.p-gal:hover{box-shadow:0 8px 20px #20292e14}
.p-gal img{width:100%;aspect-ratio:1;object-fit:cover}.p-gal b{display:block;font-size:13px}.p-gal small{font-size:11px;color:#7a858a}
.p-lightbox{margin:0}.p-lightbox img{width:100%;max-height:70vh;object-fit:contain;background:#111}.p-lightbox figcaption{margin-top:10px;font-size:13px;font-weight:700}
.p-file{position:relative;overflow:hidden}.p-file input{position:absolute;inset:0;opacity:0;cursor:pointer}

/* Kontrolle */
.p-check{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:14px;align-items:start}
.p-check-side{position:sticky;top:14px}
.p-pointlist{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px}
.p-pointlist button{width:100%;display:grid;grid-template-columns:20px auto 1fr;gap:7px;align-items:center;padding:8px;border:1px solid #e3e7e8;background:#fff;font:inherit;font-size:12px;text-align:left;cursor:pointer;color:inherit}
.p-pointlist button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#6f7a80}
.p-pointlist button.is-on{border-color:var(--orange);box-shadow:inset 3px 0 0 var(--orange);background:#fff6f1}
.p-pointlist .mon-dot{width:18px;height:18px;font-size:9px}
.p-open{width:18px;height:18px;border-radius:50%;border:2px dashed #b5bec2;display:inline-block}
.p-check-photos{margin-top:16px;display:flex;flex-direction:column;gap:10px}
.p-check-photos .p-photos{margin:0}

/* Abschluss */
.p-find{display:flex;flex-direction:column;gap:4px;margin:0 0 10px;align-items:flex-start}.p-find span{font-size:12px;color:#5f6b71}
.p-add-item{display:flex;gap:8px;margin-top:10px}.p-add-item select{flex:1;min-width:0}
.p-qty{width:72px!important;padding:6px 8px!important}
.p-recipients{display:flex;flex-direction:column;gap:6px;font-size:12px}.p-recipients b{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6f7a80}
.app-offer-table td small,.app-table td small{display:block}
.p-success{display:flex;gap:20px;align-items:flex-start;border-top:4px solid var(--st-green)}
.p-success-ico{width:56px;height:56px;border-radius:50%;background:var(--st-green);color:#fff;font-size:28px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.p-success h4{font-size:20px;margin-bottom:8px}.p-success .p-btns{margin-top:16px}

/* Objekt anlegen, Upload */
.p-upload-card{border:2px dashed #c9d0d3;text-align:center;padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:10px}
.p-upload-card .p-btns{justify-content:center}

/* Tabellen */
.p-click-table tbody tr{cursor:pointer}.p-click-table tbody tr:hover{background:#f7f9f9}
.p-cat input,.p-cat select{padding:8px 10px!important;font-size:13px!important}
.p-cat .p-price{width:110px!important;text-align:right}
.p-status-select{padding:6px 8px;font-size:12px}
.p-q{color:#a36b00!important;margin-top:4px}

/* Kundenmeldung im Plan */
.mon-extra{cursor:help}
.mon-extra-shape{fill:var(--orange);stroke:#fff;stroke-width:2.5}
.mon-extra-mark{fill:#fff;font-size:13px;font-weight:900}
.mon-dot.is-note{background:var(--orange);border-radius:0;clip-path:polygon(50% 0,100% 100%,0 100%)}.mon-dot.is-note:after{content:"!"}

/* Dialog, Hinweise */
.p-modal{position:fixed;inset:0;z-index:60;background:#0b1215b3;display:flex;align-items:center;justify-content:center;padding:16px}
.p-modal[hidden]{display:none}
.p-modal-box{background:#fff;color:var(--ink);width:min(560px,100%);max-height:90vh;overflow:auto;padding:26px;position:relative;border-top:4px solid var(--orange)}
.p-modal-box h4{font-size:20px;margin:0 0 8px;padding-right:30px}
.p-modal-x{position:absolute;top:10px;right:12px;width:34px;height:34px;border:0;background:none;font-size:26px;cursor:pointer;color:#5f6b71}
.p-modal-box .app-fields{margin-top:14px}
.p-modal-box input,.p-modal-box select,.p-modal-box textarea{font:inherit;font-size:14px;letter-spacing:0;text-transform:none;color:var(--ink);border:1px solid #d5dbdd;background:#fff;padding:10px 12px;width:100%;font-weight:400}
.p-toasts{position:fixed;right:16px;bottom:16px;z-index:80;display:flex;flex-direction:column;gap:8px;max-width:min(420px,calc(100vw - 32px))}
.p-toast{margin:0;background:var(--ink);color:#fff;padding:13px 16px;font-size:13px;font-weight:700;border-left:4px solid var(--orange);box-shadow:0 12px 30px #0004;animation:app-in .25s ease}

/* Dokumentansicht */
.doc-overlay{position:fixed;inset:0;z-index:50;background:#3a4449;display:flex;flex-direction:column}
.doc-overlay[hidden]{display:none}
.doc-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;background:var(--ink);color:#fff;flex-wrap:wrap}
.doc-toolbar b{font-size:14px}
.doc-scroll{flex:1;overflow:auto;padding:24px 12px 60px}
.doc-page{background:#fff;color:#1f282d;width:min(794px,100%);margin:0 auto;padding:clamp(20px,5vw,56px);box-shadow:0 20px 60px #0006;font-size:12.5px;line-height:1.55}
.doc-page h2{font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin:26px 0 10px;padding-bottom:6px;border-bottom:2px solid var(--orange)}
.doc-head{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding-bottom:18px;border-bottom:1px solid #d9dfe1}
.doc-logo{width:150px;height:auto}
.doc-head h1{font-size:26px;letter-spacing:-.03em;margin:0;line-height:1}.doc-head p{margin:4px 0 0;color:#6f7a80}
.doc-head dl{margin:0;display:flex;flex-direction:column;gap:4px;text-align:right}.doc-head dt{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#7a858a;font-weight:800}.doc-head dd{margin:0;font-weight:800}
.doc-parties{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px 0}
.doc-parties h6{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#7a858a;margin:0 0 6px}.doc-parties p{margin:0}
.doc-verdict{--c:var(--st-green);display:flex;gap:12px;align-items:center;padding:14px 16px;background:color-mix(in srgb,var(--c) 10%,#fff);border-left:4px solid var(--c)}
.doc-verdict[data-s=red]{--c:var(--st-red)}.doc-verdict[data-s=yellow]{--c:#d9a400}
.doc-verdict .mon-dot{width:30px;height:30px;font-size:13px}.doc-verdict b{display:block;font-size:15px}.doc-verdict span{color:#5f6b71}
.doc-plan .mon-plan{border:1px solid #e3e7e8}
.doc-table{width:100%;border-collapse:collapse}
.doc-table th{text-align:left;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#6f7a80;padding:7px 8px;background:#f3f5f5}
.doc-table td{padding:8px;border-bottom:1px solid #eceff0;vertical-align:top}
.doc-table td small{display:block;color:#7a858a;font-size:11px}
.doc-table tr.is-red td{background:#fdf3f2}.doc-table tr.is-yellow td{background:#fffaeb}
.doc-st{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-weight:700}.doc-st .mon-dot{width:16px;height:16px;font-size:8px}
.doc-internal{color:#c24a0c!important}
.doc-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.doc-photos figure{margin:0}.doc-photos img{width:100%;aspect-ratio:1;object-fit:cover}.doc-photos figcaption{font-size:10.5px;margin-top:4px;color:#5f6b71}
.doc-list{margin:0;padding-left:18px}.doc-list li{margin-bottom:4px}
.doc-note{margin-top:20px;padding:12px 14px;background:#fff6f1;border-left:3px solid var(--orange)}
.doc-link{background:none;border:0;padding:0;font:inherit;font-weight:800;color:var(--orange);text-decoration:underline;cursor:pointer}
.doc-sign{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:40px}
.doc-sign div{border-top:1px solid #9aa5aa;padding-top:6px}.doc-sign span{display:block;font-weight:800}.doc-sign small{color:#7a858a}
.doc-foot{margin-top:36px;padding-top:12px;border-top:1px solid #d9dfe1;font-size:10px;color:#7a858a;text-align:center}
.doc-letter{margin:18px 0}.doc-letter p{margin:0 0 10px}
.doc-offer td:nth-child(n+3),.doc-offer th:nth-child(n+3){text-align:right;white-space:nowrap}
.doc-sum{margin:12px 0 0 auto;width:min(300px,100%)}
.doc-sum div{display:flex;justify-content:space-between;padding:5px 8px}.doc-sum dt{color:#5f6b71}.doc-sum dd{margin:0;font-weight:700}
.doc-sum .is-total{background:var(--ink);color:#fff;padding:10px 12px;font-size:15px;margin-top:4px}.doc-sum .is-total dt{color:#fff;font-weight:900}
.doc-answer{margin-top:20px;padding:16px;background:#f3f5f5;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.doc-answer:empty{display:none}
.doc-answer[data-state=angenommen]{background:#e9f6ee;border-left:4px solid var(--st-green)}.doc-answer[data-state=rueckfrage]{background:#fffaeb;border-left:4px solid var(--st-yellow)}
.doc-answer span{color:#5f6b71}

/* Mobil */
@media(max-width:1000px){.p-check{grid-template-columns:1fr}.p-check-side{position:static}.p-pointlist{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}
@media(max-width:800px){.p-demo{font-size:8px}.p-demo button{margin-left:6px;padding:3px 6px;font-size:8px}.doc-parties{grid-template-columns:1fr}.doc-head{grid-template-columns:1fr;gap:10px}.doc-head dl{text-align:left;flex-direction:row;flex-wrap:wrap;gap:4px 18px}.doc-photos{grid-template-columns:1fr 1fr}.doc-table{font-size:11.5px}.doc-table th:nth-child(5),.doc-table td:nth-child(5){display:none}.doc-offer th:nth-child(5),.doc-offer td:nth-child(5){display:table-cell}.p-news{grid-template-columns:36px 1fr}.p-news em{display:none}.p-doc-row{grid-template-columns:36px 1fr}.p-doc-row .app-badge{grid-column:2;justify-self:start}.app-head-side{width:100%}.app-send .p-recipients{width:100%}}
@media(max-width:560px){.p-success{flex-direction:column}.p-add-item{flex-direction:column}.doc-sign{grid-template-columns:1fr;gap:20px}.doc-toolbar .app-btn{padding:9px 10px;font-size:11px}}

/* Druck: nur das Dokument */
@media print{
  @page{size:A4;margin:12mm}
  body.doc-open .p-demo,body.doc-open .p-shell,body.doc-open .p-toasts,body.doc-open .p-modal,.doc-toolbar{display:none!important}
  body.doc-open{background:#fff}
  .doc-overlay{position:static;background:#fff;display:block}
  .doc-scroll{overflow:visible;padding:0}
  .doc-page{box-shadow:none;width:100%;padding:0;font-size:11px}
  .doc-table tr,.doc-photos figure,.doc-verdict{break-inside:avoid}
  .mon-pulse{display:none}
}
@media(max-width:800px){.doc-table{table-layout:fixed}.doc-table td,.doc-table th{overflow-wrap:anywhere}.doc-st{white-space:normal}.doc-table th:first-child,.doc-table td:first-child{width:62px}.doc-offer th:first-child,.doc-offer td:first-child{width:34px}.doc-offer td:nth-child(n+3),.doc-offer th:nth-child(n+3){white-space:normal}}

/* Standortfotos je Punkt */
.p-station{position:relative;display:block;width:120px;flex-shrink:0;padding:0;border:0;background:#eef1f2;cursor:zoom-in;font:inherit}
.p-station img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.p-station span{position:absolute;left:6px;bottom:6px;background:#20292ee0;color:#fff;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 6px}
.p-station.is-empty{cursor:default;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:2px dashed #c9d0d3;background:#fafbfb}
.p-station.is-empty span{position:static;background:none;color:#7a858a;text-align:center;padding:8px}
.p-station.is-small{width:84px}
.p-station-row{display:flex;gap:14px;align-items:flex-start;margin-bottom:12px}
.p-station-row p{margin:0}
.p-check-head{display:flex;gap:16px;align-items:flex-start}

/* Monatsverlauf */
.p-trend-card{margin-top:14px}
.p-trend-col{flex:1 0 44px}
.p-months .p-doc-row{grid-template-columns:52px 1fr auto}
.p-month{display:flex;flex-direction:column;align-items:center;justify-content:center;height:44px;background:#f3f5f5;font-weight:900;font-size:14px}
.p-month small{font-size:10px;color:#7a858a;font-weight:700}

/* Bericht: Block je Punkt mit Fotos darunter */
.doc-points{display:flex;flex-direction:column;gap:10px}
.doc-point{border:1px solid #e3e7e8;border-left:4px solid var(--st-green);padding:12px 14px;break-inside:avoid}
.doc-point.is-yellow{border-left-color:var(--st-yellow);background:#fffcf0}.doc-point.is-red{border-left-color:var(--st-red);background:#fdf5f4}
.doc-point:has(.doc-st [data-s=grey]){border-left-color:var(--st-grey)}
.doc-point header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.doc-point header b{font-size:14px}.doc-point header span:not(.doc-st){font-weight:700}
.doc-point header .doc-st{margin-left:auto}
.doc-point dl{margin:0;display:grid;gap:3px}
.doc-point dl div{display:grid;grid-template-columns:96px 1fr;gap:10px}
.doc-point dt{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#7a858a;font-weight:800;padding-top:2px}.doc-point dd{margin:0}
.doc-point-photos{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.doc-point-photos figure{margin:0;width:110px}
.doc-point-photos img{width:110px;height:110px;object-fit:cover;display:block}
.doc-point-photos figcaption{font-size:9.5px;color:#5f6b71;margin-top:3px;line-height:1.3}
@media(max-width:560px){.doc-point dl div{grid-template-columns:1fr;gap:0}.doc-point-photos figure,.doc-point-photos img{width:92px}.doc-point-photos img{height:92px}.doc-point header .doc-st{margin-left:0;width:100%}.p-station{width:96px}}
@media print{.doc-point-photos img{width:90px;height:90px}.doc-point-photos figure{width:90px}}

/* Aktueller Befall (Kunde) */
.p-befall{border-top:3px solid var(--st-yellow)}.p-befall[data-s=red]{border-top-color:var(--st-red)}
.p-befall-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}
.p-befall-list li{display:flex;gap:14px;align-items:flex-start;padding:10px;background:#f7f9f9}
.p-befall-list b{font-size:15px;margin-right:6px}.p-befall-list small{display:block;color:#7a858a;font-size:12px;margin-top:4px}
.p-befall-list p{margin:6px 0 0;font-size:13px;line-height:1.5}
.p-befall-recs{background:#fff6f1;border-left:3px solid var(--orange);padding:10px 14px;margin-bottom:14px;font-size:13px}
.p-befall-recs ul{margin:6px 0 0;padding-left:18px}
.p-nobefall{display:flex;gap:18px;align-items:center;border-top:4px solid var(--st-green);padding:28px}
.p-nobefall-ico{width:56px;height:56px;border-radius:50%;background:var(--st-green);color:#fff;font-size:28px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.p-nobefall h4{font-size:22px;margin:0 0 4px}.p-nobefall p{margin:0}
.p-oklist{display:flex;flex-direction:column;gap:4px}.p-oklist>b{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#6f7a80;margin-bottom:6px}
.p-ok-row{display:flex;align-items:center;gap:10px;padding:10px;border:0;background:#f7f9f9;font:inherit;font-size:14px;font-weight:700;color:inherit;cursor:pointer;text-align:left}
.p-ok-row:hover{background:#eef2f3}.p-ok-row small{margin-left:auto;font-weight:400;color:#7a858a;font-size:12px}.p-ok-row .mon-dot{width:18px;height:18px;font-size:9px}
@media(max-width:560px){.p-befall-list li{flex-direction:column}.p-nobefall{flex-direction:column;align-items:flex-start}}

/* Vormonat → aktuell */
.p-compare{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 12px}
.p-compare .p-photo{width:96px}
.p-compare-arrow,.doc-arrow{font-size:20px;color:#9aa5aa;font-weight:700}
.p-photo.is-prev img{filter:saturate(.7);outline:2px dashed #b9c2c5;outline-offset:-2px}
.p-photo.is-prev span{color:#7a858a}
.p-photo-count{display:inline-block;margin-left:6px;background:#eef1f2;color:#5f6b71;padding:2px 7px;font-size:11px;letter-spacing:0}
.p-photo-count.is-over{background:#fdf0ef;color:#a3241f}
.app-hint.is-ok{color:#1f6e3c;font-weight:700}
.doc-point-photos{align-items:center}
.doc-point-photos figure.is-prev img{filter:saturate(.75);outline:2px dashed #b9c2c5;outline-offset:-2px}
.p-fields label[hidden],.p-fields p[hidden]{display:none}
.p-fields .app-hint.is-wide{grid-column:1/-1;margin:0;padding:10px 12px;background:#f1faf4;border-left:3px solid var(--st-green);color:#1f6e3c}
.p-section .app-card-head small{display:block;margin-top:3px}

/* E-Mail-Vorschau */
.p-modal-box.is-wide{width:min(760px,100%);padding:0;border-top:0}
.p-modal-box.is-wide .p-modal-x{color:#fff;z-index:1}
.p-mail-head{background:var(--ink);color:#fff;padding:22px 26px 18px}
.p-mail-head h4{font-size:18px;margin:0 30px 12px 0;line-height:1.35}
.p-mail-head dl{margin:0;display:grid;gap:3px;font-size:13px}
.p-mail-head dl div{display:grid;grid-template-columns:56px 1fr;gap:8px}.p-mail-head dt{color:#8c989e}.p-mail-head dd{margin:0;overflow-wrap:anywhere}
.p-mail-att{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.p-mail-att button{display:inline-flex;align-items:center;gap:8px;background:#ffffff14;border:1px solid #ffffff2e;color:#fff;font:inherit;font-size:12px;font-weight:700;padding:7px 10px;cursor:pointer}
.p-mail-att button:hover{background:#ffffff26}
.p-mail-att span{background:#d3302f;color:#fff;font-size:9px;font-weight:900;padding:2px 4px}
.p-mail-body{padding:24px 26px 28px;font-size:14px;line-height:1.65}
.p-mail-body p{margin:0 0 12px}.p-mail-body ul{margin:0 0 12px;padding-left:20px}
.p-mail-sig{border-top:1px solid #e3e7e8;padding-top:12px;font-size:12px;color:#5f6b71}

/* Angebot / Katalog */
.doc-offer td small{display:block;color:#7a858a;font-size:11px;font-weight:400;margin-top:2px}
.doc-terms ul{margin:6px 0 12px}
.doc-placeholder{color:#b0b8bc;font-style:italic}
.p-cat-note{margin:-6px 0 14px}
@media print{.doc-noprint{display:none!important}}
/* Druck/PDF immer im A4-Layout, unabhängig von der Bildschirmbreite */
@media print{
  .doc-head{grid-template-columns:auto 1fr auto!important;gap:20px!important}
  .doc-head dl{text-align:right!important;flex-direction:column!important}
  .doc-parties{grid-template-columns:repeat(3,1fr)!important}
  .doc-table{table-layout:auto!important}
  .doc-table th:first-child,.doc-table td:first-child{width:auto!important}
  .doc-table th:nth-child(5),.doc-table td:nth-child(5){display:table-cell!important}
  .doc-st{white-space:nowrap!important}
  .doc-offer td:nth-child(n+3),.doc-offer th:nth-child(n+3){white-space:nowrap!important}
  .doc-point dl div{grid-template-columns:96px 1fr!important}
  .doc-point header .doc-st{margin-left:auto!important;width:auto!important}
  .doc-sign{grid-template-columns:1fr 1fr!important}
  .doc-foot{margin-top:18px}
  .doc-link{color:inherit;text-decoration:none}
}

/* Adresse und Telefon in Aufgaben/Terminen */
.p-contact{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;font-size:12px;font-weight:700;letter-spacing:0;text-transform:none}
.p-contact a,.p-contact span{display:inline-flex;align-items:center;gap:6px;color:var(--ink)}
.p-contact a:hover{color:var(--orange)}
.p-addr:before,.p-tel:before{content:"";width:14px;height:14px;flex-shrink:0;background:var(--orange);-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.p-addr{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.2 7 13 7 13s7-7.8 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E")}
.p-tel{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.6a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E")}
.p-tel.is-none{color:#7a858a}
.app-head h3 .p-contact{font-size:13px;margin-top:8px}
.p-modal-box>.p-contact{margin:0 0 14px;font-size:13px}
.p-tasks .p-contact a{padding:4px 0}

/* Terminplanung: Kalender mit Drag & Drop */
.p-tech-seg button{background:none;border:0;font:inherit;font-size:12px;font-weight:800;padding:8px 12px;color:#5f6b71;cursor:pointer}
.p-tech-seg button.is-on{background:#fff;color:var(--ink);box-shadow:0 1px 3px #0001}
.p-tech-seg em{font-style:normal;color:#7a858a;font-weight:700;margin-left:3px}
.cal-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px;padding:12px 16px}
.cal-toolbar h4{margin:0;font-size:16px}
.cal-toolbar>.p-btns{margin-left:auto}
.cal-legend{display:flex;gap:14px;font-size:12px;font-weight:700;color:#5f6b71;align-items:center}
.cal-legend i{display:inline-block;width:12px;height:12px;margin-right:5px;vertical-align:-1px}
.cal-legend i.t1,.cal-ev.t1{--tc:var(--orange)}.cal-legend i.t2,.cal-ev.t2{--tc:#2f7f9e}
.cal-legend i{background:var(--tc)}
.planner{display:grid;grid-template-columns:270px minmax(0,1fr);gap:14px;align-items:start}
.plan-todo{position:sticky;top:14px;max-height:calc(100vh - 60px);overflow:auto;transition:box-shadow .15s}
.plan-todo ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.plan-todo .app-hint{margin:0}
.plan-todo.is-over{box-shadow:0 0 0 3px var(--orange) inset}
.plan-drop-note{display:none;margin-top:10px!important;padding:10px;border:2px dashed #c9d0d3;text-align:center}
.is-dragging .plan-drop-note{display:block}
.p-count{background:var(--orange);color:#fff;font-weight:900;font-size:12px;min-width:24px;height:24px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;padding:0 7px}
.plan-card{width:100%;text-align:left;font:inherit;color:inherit;background:#fff;border:1px solid #dfe4e5;border-left:4px solid #2f7f9e;padding:10px 12px;cursor:grab;display:flex;flex-direction:column;gap:3px;transition:box-shadow .15s,transform .15s}
.plan-card:hover{box-shadow:0 6px 16px #20292e1a;transform:translateY(-1px)}
.plan-card:active{cursor:grabbing}
.plan-card.is-late{border-left-color:var(--st-red)}.plan-card.is-follow{border-left-color:var(--orange)}
.plan-card b{font-size:14px}.plan-card small{font-size:11px;color:#7a858a}
.plan-meta{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:800;margin-top:4px}
.plan-meta em{font-style:normal;color:#2f7f9e}.plan-card.is-late .plan-meta em{color:var(--st-red)}.plan-card.is-follow .plan-meta em{color:#c24a0c}
.plan-meta span{color:#5f6b71}
.plan-addr{font-size:11px;color:#5f6b71}
.is-dragging{opacity:.45}
.cal-card{padding:0;overflow:hidden}
.cal-scroll{overflow-x:auto}
.cal{min-width:760px}
.cal-head{display:grid;grid-template-columns:56px repeat(5,minmax(0,1fr));border-bottom:1px solid #e3e7e8;position:sticky;top:0;background:#fff;z-index:3}
.cal-dayhead{padding:10px 8px;border-left:1px solid #eef1f2;display:flex;flex-direction:column;gap:4px;min-height:86px}
.cal-dayhead b{font-size:13px}.cal-dayhead.is-today{background:#fff6f1}.cal-dayhead.is-today b{color:var(--orange)}
.cal-dayhead.is-past{background:#fafbfb;color:#8b969b}
.cal-info{display:flex;flex-direction:column;gap:2px}
.cal-tech{font-size:10.5px;font-weight:800;color:#5f6b71;display:inline-flex;align-items:center;gap:5px}
.cal-tech.t1:before,.cal-tech.t2:before{content:"";width:8px;height:8px;background:var(--tc)}
.cal-tech.t1{--tc:var(--orange)}.cal-tech.t2{--tc:#2f7f9e}
.cal-opt{margin-top:auto;align-self:flex-start;background:none;border:1px solid #d5dbdd;font:inherit;font-size:10.5px;font-weight:800;padding:4px 7px;cursor:pointer;color:var(--ink)}
.cal-opt:hover{border-color:var(--ink)}
.cal-body{display:grid;grid-template-columns:56px repeat(5,minmax(0,1fr));position:relative}
.cal-body>.cal-gutter{position:relative}
.cal-gutter span{position:absolute;right:8px;transform:translateY(-50%);font-size:10.5px;color:#8b969b;font-weight:700}
.cal-gutter span:first-child{transform:none}
.cal-day{position:relative;border-left:1px solid #eef1f2}
.cal-day.is-past{background:repeating-linear-gradient(135deg,#fafbfb 0 8px,#f4f6f6 8px 16px)}
.cal-day.is-today{background:#fffaf6}
.cal-line{position:absolute;left:0;right:0;border-top:1px solid #eef1f2}
.cal-now{position:absolute;left:0;right:0;border-top:2px solid var(--st-red);z-index:2}
.cal-now:before{content:"";position:absolute;left:-4px;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--st-red)}
.cal-ev{position:absolute;z-index:1;background:color-mix(in srgb,var(--tc) 13%,#fff);border-left:3px solid var(--tc);padding:4px 6px;font-size:11px;line-height:1.25;overflow:hidden;cursor:grab;box-shadow:0 1px 2px #0001;display:flex;flex-direction:column;gap:1px;border-right:1px solid #fff}
.cal-ev:hover{box-shadow:0 4px 12px #20292e26;z-index:3}
.cal-ev b{font-size:10.5px;color:color-mix(in srgb,var(--tc) 70%,#000)}.cal-ev span{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-ev small{color:#5f6b71;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-ev.is-done{opacity:.55;cursor:pointer}
.cal-ev.is-follow{background-image:repeating-linear-gradient(135deg,transparent 0 6px,#ffffff80 6px 10px)}
.cal-ev.is-clash{outline:2px solid var(--st-red);outline-offset:-2px}
.cal-hint{position:absolute;left:3px;right:3px;z-index:4;border:2px dashed var(--orange);background:#ff641914;font-size:11px;font-weight:900;color:#c24a0c;padding:3px 6px;pointer-events:none}
.p-routes{margin-top:14px}
.p-route-order{white-space:normal!important;font-size:12px;min-width:240px}
@media(max-width:1000px){.planner{grid-template-columns:1fr}.plan-todo{position:static;max-height:none}.plan-todo ul{flex-direction:row;overflow-x:auto;padding-bottom:6px}.plan-todo li{flex:0 0 230px}.cal-toolbar>.p-btns{margin-left:0}}

/* Rechnungen */
.p-row-actions{white-space:nowrap}.p-row-actions .app-btn{padding:8px 11px;font-size:11px;margin-left:4px}
.p-convert{border-left:4px solid var(--orange)}
.p-convert .app-list li{grid-template-columns:1fr auto auto}
.p-run{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-left:4px solid var(--ink)}
.p-run h4{margin:0 0 4px}.p-run p{margin:0;max-width:640px}
.app-table tr.is-off td{opacity:.5}
.app-table .app-toggle{font-size:12px;white-space:nowrap}
.p-mail-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 26px 22px}
.doc-draft{background:#fff1e8;color:#c24a0c;font-weight:900;letter-spacing:.14em;font-size:11px;text-align:center;padding:8px;margin:-10px 0 18px;border:1px dashed #f3a77d}

/* E-Mail: Layout und Signatur */
.p-mail-body{padding:26px 30px 8px;font-size:14.5px;line-height:1.65;color:#2b353a}
.p-mail-body p{margin:0 0 14px}
.mail-facts{width:100%;border-collapse:collapse;margin:6px 0 18px;background:#f6f8f8;border-left:4px solid var(--orange)}
.mail-facts th{text-align:left;font-weight:600;color:#6f7a80;padding:9px 14px;width:42%;font-size:13px}
.mail-facts td{padding:9px 14px;text-align:right;font-size:14px}
.mail-facts tr+tr th,.mail-facts tr+tr td{border-top:1px solid #e6eaeb}
.mail-facts tr.is-total td,.mail-facts tr.is-total th{background:#fff3ec}
.mail-facts tr.is-total td b{font-size:17px;color:var(--ink)}
.mail-items{width:100%;border-collapse:collapse;margin:0 0 12px;font-size:13.5px}
.mail-items td{padding:7px 0;border-bottom:1px solid #eef1f2}
.mail-items td:nth-child(2){color:#6f7a80;white-space:nowrap;padding:7px 14px}
.mail-items td:last-child{text-align:right;white-space:nowrap;font-weight:700}
.mail-cta{background:#f6f8f8;padding:12px 14px}
.sig{margin:26px 0 18px;color:#2b353a}
.sig-greet{color:#5f6b71;margin:0 0 16px!important}
.sig-main{display:flex;align-items:center;gap:26px;padding-bottom:16px}
.sig-logo{width:min(240px,42%);height:auto}
.sig-card{border-left:3px solid var(--orange);padding:4px 0 4px 22px;display:flex;flex-direction:column;min-width:0}
.sig-name{font-size:22px;font-weight:900;letter-spacing:-.02em;line-height:1.15;margin-bottom:12px;color:var(--ink)}
.sig-label{font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);margin-top:6px}
.sig-card a{color:var(--ink);font-size:14px;overflow-wrap:anywhere}
.sig-card a:hover{color:var(--orange)}
.sig-legal{border-top:1px solid #e3e7e8;padding-top:12px;display:flex;flex-direction:column;gap:2px;font-size:13px;color:#5f6b71}
.sig-legal b{color:var(--ink);font-size:14px}
.p-mail-actions{padding:6px 30px 24px;border-top:1px solid #eef1f2;padding-top:18px}
@media(max-width:560px){.p-mail-body{padding:20px 18px 4px}.sig-main{flex-direction:column;align-items:flex-start;gap:14px}.sig-logo{width:200px}.mail-facts th{width:auto}}
