.browser-toolbar{display:flex!important;align-items:center;gap:18px;position:relative;margin:16px 0 24px;padding:10px 14px;background:#f1f2f3;color:#25292d;border:1px solid #b8bec5;border-radius:10px;z-index:50;box-sizing:border-box}.browser-menu{position:relative}.browser-menu>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;padding:9px 16px;background:#fff;border:1px solid #9da6af;border-radius:6px;font-weight:700;white-space:nowrap}.browser-menu>summary::-webkit-details-marker{display:none}.browser-current-page{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:.95rem}.browser-menu-panel{position:absolute;top:calc(100% + 12px);left:-5px;width:min(420px,calc(100vw - 48px));max-height:min(75dvh,720px);overflow:auto;background:#fff;color:#25292d;border:1px solid #9da6af;border-radius:10px;padding:14px;box-shadow:0 12px 35px #0005;box-sizing:border-box}.browser-menu:not([open])>.browser-menu-panel{display:none!important}.browser-menu-search{display:block;font-size:.85rem;margin:0 0 12px}.browser-menu-search input{display:block;width:100%;box-sizing:border-box;margin:5px 0}.browser-menu-content.internal-nav{display:block!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}.browser-menu-content>.nav-group{display:block!important;margin:5px 0!important;position:static!important}.browser-menu-content>.nav-group>summary,.browser-menu-content>a,.browser-menu-content>button{display:block!important;width:100%;box-sizing:border-box;text-align:left;background:#f4f5f6!important;color:#25292d!important;border:1px solid #ccd1d6!important;border-radius:6px!important;padding:10px 12px!important;margin:4px 0!important;font-size:.9rem;white-space:normal}.browser-menu-content .nav-dropdown{position:static!important;display:block!important;width:100%!important;max-height:none!important;padding:5px 0 8px 12px!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;box-sizing:border-box}.browser-menu-content .nav-group:not([open])>.nav-dropdown{display:none!important}.browser-menu-content .nav-dropdown a,.browser-menu-content .nav-dropdown button{display:block;width:100%;box-sizing:border-box;margin:4px 0!important;padding:9px 12px!important;text-align:left;background:#fff!important;color:#25292d!important;border:1px solid #ccd1d6!important;border-radius:5px;font-size:.85rem;white-space:normal}.browser-menu-content .nav-section-title{margin:10px 0 5px;color:#5d6975!important;font-size:.75rem}.browser-menu-content .nav-logout{margin:8px 0 0!important;width:100%}.browser-menu-content .nav-logout button,.browser-menu-close{width:100%;margin:8px 0 0!important}.browser-menu-content [hidden]{display:none!important}html[data-theme="dark"] .browser-toolbar{background:#242424;color:#eee;border-color:#555}html[data-theme="dark"] .browser-menu>summary,html[data-theme="dark"] .browser-menu-panel{background:#242424;color:#eee;border-color:#666}html[data-theme="dark"] .browser-menu-content>.nav-group>summary,html[data-theme="dark"] .browser-menu-content>a,html[data-theme="dark"] .browser-menu-content>button{background:#303030!important;color:#eee!important;border-color:#555!important}html[data-theme="dark"] .browser-menu-content .nav-dropdown a,html[data-theme="dark"] .browser-menu-content .nav-dropdown button{background:#191919!important;color:#eee!important;border-color:#555!important}html[data-theme="dark"] .browser-menu-content .nav-section-title{color:#bbb!important}@media(max-width:600px){.browser-toolbar{gap:10px;padding:8px}.browser-menu>summary{padding:8px 12px}.browser-menu-panel{width:calc(100vw - 48px);left:-2px}.browser-current-page{font-size:.85rem}}@media print{.browser-toolbar{display:none!important}}
.browser-menu-content .nav-group>summary::after{content:none!important;display:none!important;border:0!important}
.browser-internal-link{display:flex;align-items:center;justify-content:center;padding:9px 16px;background:#fff;color:#25292d;border:1px solid #9da6af;border-radius:6px;font-weight:700;white-space:nowrap;text-decoration:none;font-size:inherit;line-height:inherit}html[data-theme="dark"] .browser-internal-link{background:#242424;color:#eee;border-color:#666}@media(max-width:600px){.browser-internal-link{padding:8px 12px}}
.browser-menu{position:static}.browser-menu-panel{left:0;top:calc(100% + 6px);width:100%;max-height:75dvh;padding:18px}.browser-menu-content.internal-nav{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;align-items:start}.browser-menu-content>.nav-group{min-width:0;margin:0!important}.browser-menu-content>.nav-group>summary{cursor:default;border:0!important;border-bottom:2px solid #e30613!important;border-radius:0!important;background:transparent!important;margin:0 0 8px!important;padding:8px 4px!important;list-style:none}.browser-menu-content>.nav-group>summary::-webkit-details-marker{display:none}.browser-menu-content .nav-dropdown{padding:0!important}.browser-menu-content .nav-dropdown a,.browser-menu-content .nav-dropdown button{min-height:40px;margin:5px 0!important}.browser-menu-close{width:auto;min-width:180px;display:block;margin:16px 0 0!important}@media(max-width:600px){.browser-menu-panel{left:0;width:100%;padding:12px}.browser-menu-content.internal-nav{grid-template-columns:1fr;gap:12px}}
.browser-toolbar,html[data-theme="dark"] .browser-toolbar{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}
.browser-menu-content .nav-dropdown{min-width:0!important;max-width:100%!important}.browser-menu-content .nav-group{grid-column:auto!important}.browser-menu-content .nav-menu-section,.browser-menu-content .nav-dropdown a,.browser-menu-content .nav-dropdown button,.browser-menu-content .nav-logout{min-width:0!important;max-width:100%!important;box-sizing:border-box;overflow-wrap:anywhere}.browser-menu-content .nav-group>summary{height:auto!important;min-height:44px;justify-content:flex-start!important}.browser-menu-content .nav-dropdown a,.browser-menu-content .nav-dropdown button{white-space:normal!important;height:auto!important}.browser-toolbar{min-height:0!important}
main>nav.internal-nav.category-navigation{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;margin:16px 0 24px}.category-navigation .nav-dropdown{max-height:70dvh;overflow:auto}.category-navigation .nav-group>summary::after{display:block}.category-navigation .nav-group>summary{justify-content:space-between}@media(max-width:700px){main>nav.internal-nav.category-navigation{display:flex}.category-navigation>.nav-group{flex:1 1 160px}.category-navigation .nav-group[open]{flex-basis:100%}}
.browser-toolbar[hidden]{display:none!important}.browser-toolbar.app-header-menu{margin:0 0 0 10px!important;flex:0 0 auto;position:static;align-self:center}.app-header-menu .browser-menu-panel{position:fixed;left:auto;right:16px;width:min(1200px,calc(100vw - 32px));max-height:calc(100dvh - 110px);z-index:150}.app-header-menu .browser-menu>summary{font-size:.85rem}@media(max-width:600px){.browser-toolbar.app-header-menu{margin-left:6px!important}.app-header-menu .browser-menu>summary{padding:8px}}
.techniker-app header>.app-header-menu{z-index:150}.app-header-menu .browser-menu-content a,.app-header-menu .browser-menu-content button{justify-content:flex-start;box-shadow:none}.app-header-menu .browser-menu-content .nav-logout button{justify-content:center}.app-header-menu .browser-menu-panel{overscroll-behavior:contain}@media(max-width:700px){.techniker-app header>.app-header-menu{margin-left:0!important}.app-header-menu .browser-menu-panel{max-height:calc(100dvh - 24px);right:12px;width:calc(100vw - 24px)}}
.app-header-menu>.browser-menu{margin:0!important}.techniker-app header>.app-header-menu{align-self:center}.app-header-menu>.browser-menu>summary{min-height:44px;margin:0;line-height:1.4}

.material-catalog-tabs .material-catalog-tab[aria-current="page"]{outline:3px solid #e30613;outline-offset:3px;box-shadow:0 0 0 1px #fff!important}.material-create-action{margin:24px 0}#material-create-panel[hidden]{display:none!important}

.material-catalog-tabs{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:stretch}.material-catalog-tabs .material-catalog-tab{display:flex!important;align-items:center;justify-content:center;min-width:0;width:100%;height:76px;padding:12px 18px!important;margin:0;border:2px solid #e30613!important;border-radius:12px;background:#e30613!important;color:#fff!important;box-shadow:none!important;outline:0!important;transition:background-color .15s,color .15s}.material-catalog-tabs .material-catalog-tab img{width:144px;height:48px;max-width:100%;object-fit:contain;filter:grayscale(1) invert(1);mix-blend-mode:screen}.material-catalog-tabs .material-catalog-tab[aria-current="page"]{background:#fff!important;color:#17202b!important;border-color:#fff!important;box-shadow:0 0 0 2px #e30613!important}.material-catalog-tabs .material-catalog-tab[aria-current="page"] img{filter:none;mix-blend-mode:normal}.material-catalog-tabs .material-catalog-tab:hover{background:#bc0012!important}.material-catalog-tabs .material-catalog-tab[aria-current="page"]:hover{background:#fff!important}@media(max-width:700px){.material-catalog-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.material-catalog-tabs .material-catalog-tab{height:70px}}
/* Match the menu text fill to its theme and interaction-state color. */
html[data-theme] .browser-menu-content :is(a,button,summary){-webkit-text-fill-color:currentColor!important}

/* Shared navigation row for the internal pages and the offline app. */
.browser-toolbar.app-header-menu{display:flex!important;flex-wrap:nowrap;gap:8px}
.techniker-app header .browser-navigation-button,.app-header-menu>.browser-menu>summary{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;margin:0;padding:9px 12px;border:1px solid #9da6af;border-radius:6px;background:#fff;color:#25292d;font:700 .85rem/1.4 'Segoe UI',Arial,sans-serif;white-space:nowrap;text-decoration:none;-webkit-text-fill-color:currentColor;box-shadow:none}
html[data-theme="dark"] .techniker-app header .browser-navigation-button{background:#242424;color:#eee;border-color:#666}
.techniker-app header .browser-navigation-button:hover{background:#e8eaed;color:#25292d}
html[data-theme="dark"] .techniker-app header .browser-navigation-button:hover{background:#393939;color:#fff}
@media(max-width:1100px){.techniker-app header{flex-wrap:wrap}.techniker-app header>.browser-toolbar.app-header-menu{flex:0 0 100%;margin:0!important;justify-content:flex-end}}
@media(max-width:400px){.browser-toolbar.app-header-menu{gap:6px}.techniker-app header .browser-navigation-button,.app-header-menu>.browser-menu>summary{padding:8px;font-size:.8rem}}

/* v148: Fine action controls shared by the portal and the offline app. */
html body.techniker-app { --fsit-control-height: 44px; --red: #c90018; }
html body.techniker-app :is(button, .button, .asset-tab, input[type="button"], input[type="submit"], input[type="reset"]):not(:where(.popup-close-x, .theme-toggle, .site-search-clear, .app-tile, .app-monitor-card, .app-news-card, .inbox-message-button, .article-picker-result, .material-catalog-tab, .network-scan-table th button)) {
  box-sizing: border-box;
  min-height: var(--fsit-control-height) !important;
  height: auto !important;
  padding: 10px 14px !important;
  border-width: 1px !important;
  border-radius: 6px !important;
  font-family: 'Segoe UI', Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
  -webkit-text-fill-color: currentColor !important;
  box-shadow: none !important;
}
html body.techniker-app .actions { gap: 8px; }
html body.techniker-app main > .button { margin: 0 6px 6px 0; }
html body.techniker-app .customer-table td > :is(button, .button) {
  margin: 3px 6px 3px 0;
  vertical-align: middle;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  background: transparent !important;
  color: #b00919 !important;
  border-color: #c54c58 !important;
  -webkit-text-fill-color: currentColor !important;
}
html body.techniker-app .customer-table td > :is(button, .button):hover {
  background: #fff0f2 !important;
  color: #940716 !important;
}
html[data-theme="dark"] body.techniker-app .customer-table td > :is(button, .button) {
  background: transparent !important;
  color: #ffb5bd !important;
  border-color: #b8747f !important;
}
html[data-theme="dark"] body.techniker-app .customer-table td > :is(button, .button):hover {
  background: #45272d !important;
  color: #fff !important;
}
html body.techniker-app .browser-menu-content :is(a, button) {
  min-height: var(--fsit-control-height) !important;
  padding: 7px 10px !important;
  border-radius: 6px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
html body.techniker-app header :is(.browser-navigation-button, .browser-menu > summary) {
  min-height: 44px !important;
  padding: 7px 10px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
html body.techniker-app header .theme-toggle {
  box-sizing: border-box;
  min-height: 44px !important;
  padding: 7px 12px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
}
html body.techniker-app dialog > .popup-close-bar > .popup-close-x {
  border-radius: 6px !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  box-shadow: none !important;
}
html body.techniker-app :is(.app-tile, .app-monitor-card, .app-news-card) { border-radius: 8px; }
html body.techniker-app input::file-selector-button {
  min-height: var(--fsit-control-height);
  padding: 7px 10px;
  border-radius: 6px;
  font: 600 15px/1.4 'Segoe UI', Arial, sans-serif;
}
@media (pointer: coarse), (max-width: 700px) {
  html body.techniker-app { --fsit-control-height: 44px; }
}

/* v149: Consistent, light header controls and an unobtrusive search reset. */
html body.techniker-app header :is(.theme-toggle, .browser-navigation-button, .browser-menu > summary) {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: var(--fsit-control-height) !important;
  height: auto !important;
  padding: 10px 12px !important;
  border: 1px solid #9aa5af !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #35404b !important;
  -webkit-text-fill-color: currentColor !important;
  font: 600 15px/1.4 'Segoe UI', Arial, sans-serif !important;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none !important;
}
html body.techniker-app header :is(.theme-toggle, .browser-navigation-button, .browser-menu > summary):hover {
  background: #edf0f3 !important;
  color: #202832 !important;
  border-color: #7b8996 !important;
}
html[data-theme="dark"] body.techniker-app header :is(.theme-toggle, .browser-navigation-button, .browser-menu > summary) {
  background: transparent !important;
  color: #e3e8ee !important;
  border-color: #65717d !important;
}
html[data-theme="dark"] body.techniker-app header :is(.theme-toggle, .browser-navigation-button, .browser-menu > summary):hover {
  background: #333a42 !important;
  color: #fff !important;
  border-color: #8b98a5 !important;
}
html body.techniker-app header .theme-toggle svg {
  width: 16px;
  height: 16px;
  stroke-width: 1.5;
}
html body.techniker-app .site-search { --fsit-clear-size: 28px; }
html body.techniker-app .site-search .site-search-clear {
  display: grid;
  place-items: center;
  box-sizing: border-box;
  flex: 0 0 var(--fsit-clear-size);
  width: var(--fsit-clear-size);
  min-width: var(--fsit-clear-size);
  height: var(--fsit-clear-size);
  min-height: var(--fsit-clear-size);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 4px;
  background: transparent !important;
  color: var(--field-fg, #35404b) !important;
  -webkit-text-fill-color: currentColor !important;
  font: 400 22px/1 Arial, sans-serif;
  box-shadow: none;
}
html body.techniker-app .site-search .site-search-clear:hover {
  background: #e6ebef !important;
  color: #202832 !important;
}
html[data-theme="dark"] body.techniker-app .site-search .site-search-clear:hover {
  background: #303b47 !important;
  color: #fff !important;
}
html body.techniker-app :is(header .theme-toggle, header .browser-navigation-button, header .browser-menu > summary, .site-search-clear):focus-visible {
  outline: 2px solid #b00919;
  outline-offset: 2px;
}
html[data-theme="dark"] body.techniker-app :is(header .theme-toggle, header .browser-navigation-button, header .browser-menu > summary, .site-search-clear):focus-visible {
  outline-color: #ffb5bd;
}
@media (pointer: coarse), (max-width: 700px) {
  html body.techniker-app .site-search { --fsit-clear-size: 44px; }
}

/* v157: Predictable action sizing and spacing in every Techniker area. */
html body.techniker-app :is(.actions,.app-sync-actions,.offline-task-actions,.app-online-actions) {
 gap:12px;align-items:stretch;min-width:0;flex-wrap:wrap;
}
html body.techniker-app :is(.actions,.app-sync-actions,.offline-task-actions,.app-online-actions)>:is(button,.button):not([hidden]) {
 display:inline-flex;align-items:center;justify-content:center;
 width:auto;min-width:0;max-width:100%;margin:0!important;
 padding:10px 14px!important;white-space:normal;overflow-wrap:anywhere;text-align:center;
}
@media(max-width:650px){
 html body.techniker-app :is(.actions,.offline-task-actions)>:is(button,.button){flex:1 1 10rem;}
}

html body.techniker-app :is(button,.button)[hidden]{display:none!important;}

/* Center ordinary actions as a text/icon group, including standalone links. */
@media screen {
 html body.techniker-app {
  --fsit-disabled-bg:#edf0f3;--fsit-disabled-fg:#526170;--fsit-disabled-border:#a4aeb8;
 }
 html[data-theme=dark] body.techniker-app {
  --fsit-disabled-bg:#303a46;--fsit-disabled-fg:#cbd4de;--fsit-disabled-border:#687684;
 }
 html body.techniker-app :is(button,.button,.asset-tab,.ninjaone-info>summary):not(:where(
  .popup-close-x,.theme-toggle,.site-search-clear,.app-tile,.app-monitor-card,.app-news-card,
  .inbox-message-button,.article-picker-result,.material-catalog-tab,.lsa-wire-open,
  .network-scan-table th button,.browser-menu-content *,
  .customer-results>button,.material-search-results>button,.network-customer-results>button,
  .device-type-results>button,.vdoc-live-results>button,.offline-task-client-results>button,
  .router-client-results>button,#free-doc-client-results>button
 )) {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:0;
  max-width:100%;
  vertical-align:middle;
  text-align:center;
  white-space:normal;
  overflow-wrap:anywhere;
 }
 html body.techniker-app .ninjaone-info>summary {
  box-sizing:border-box;
  min-height:var(--fsit-control-height);
  padding:10px 14px;
  border:1px solid var(--red);
  border-radius:6px;
  background:var(--red);
  color:#fff;
  -webkit-text-fill-color:currentColor;
  font:600 15px/1.4 'Segoe UI',Arial,sans-serif;
  list-style:none;
 }
 html body.techniker-app .ninjaone-info>summary::-webkit-details-marker { display:none; }
 html body.techniker-app :is(button,.button,.ninjaone-info>summary):not(:where(.app-tile,.app-monitor-card,.app-news-card,.material-catalog-tab)) .ninjaone-brand-icon {
  width:22px!important;height:22px!important;margin:0!important;flex:0 0 22px;
 }
 html body.techniker-app :is(button,.button,.ninjaone-info>summary):not(:where(.app-tile,.app-monitor-card,.app-news-card,.material-catalog-tab)) .huntress-brand-logo {
  box-sizing:border-box;width:84px!important;height:22px!important;margin:0!important;padding:1px 3px;flex:0 0 84px;
 }
 html body.techniker-app :is(button,.button):not(:where(.app-tile,.app-monitor-card,.app-news-card,.theme-toggle,.site-search-clear,.popup-close-x))>svg {
  width:20px;height:20px;flex:0 0 20px;
 }
 html body.techniker-app .browser-menu-content :is(a,button) {
  display:flex!important;align-items:center;justify-content:flex-start;text-align:left;line-height:1.4;
 }
 html body.techniker-app .browser-menu-content .nav-logout button { justify-content:center;text-align:center; }
 html body.techniker-app main>nav.asset-ribbon:has(>a.button):not(:has(>.asset-ribbon-links)) {
  flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;
 }
 html body.techniker-app main>nav.asset-ribbon:has(>a.button):not(:has(>.asset-ribbon-links))>a.button {
  flex:0 1 auto;width:auto;margin:0;
 }
 html body.techniker-app .vdoc-component-controls>.vdoc-order-button {
  width:44px!important;min-width:44px!important;padding:10px!important;
 }
 html body.techniker-app :is(button,.button,input[type=button],input[type=submit],input[type=reset]):disabled:not(:where(.popup-close-x,.site-search-clear,.app-tile,.app-monitor-card,.app-news-card)),
 html body.techniker-app :is(#ema-doc-form,#video-doc-form) .vdoc-component-controls>.vdoc-order-button:disabled {
  opacity:1!important;background:var(--fsit-disabled-bg)!important;color:var(--fsit-disabled-fg)!important;
  -webkit-text-fill-color:currentColor!important;border-color:var(--fsit-disabled-border)!important;box-shadow:none!important;
 }
}
@media screen and (max-width:650px) {
 html body.techniker-app main>nav.asset-ribbon:has(>a.button):not(:has(>.asset-ribbon-links))>a.button { flex:1 1 12rem; }
}
@media screen and (max-width:359px) {
 html body.techniker-app header :is(.theme-toggle,.browser-navigation-button,.browser-menu>summary) {
  font-size:14px!important;padding:8px!important;
 }
}

/* v174: scan actions share the input baseline in portal and offline forms. */
html body.techniker-app .serial-entry>label{margin:0;min-width:0}
html body.techniker-app .serial-entry>label>input,html body.techniker-app .serial-entry>input{box-sizing:border-box;height:3.2rem;min-height:44px;min-width:0;margin-bottom:0!important}
html body.techniker-app .serial-entry>.serial-capture-open{box-sizing:border-box;align-self:end;height:3.2rem!important;min-height:44px;margin:0!important}
@media(max-width:700px){html body.techniker-app .serial-entry{gap:8px}html body.techniker-app .serial-entry>.serial-capture-open{width:100%}}

@media(min-width:701px){
 html body.techniker-app .serial-entry:has(>label>input[required]:invalid){padding-bottom:calc(1.05rem + 4px)}
 html body.techniker-app .serial-entry>label{position:relative}
 html body.techniker-app .serial-entry>label:has(>input[required]:invalid)::after{position:absolute;inset-block-start:100%;inset-inline-start:0;font-size:.75rem;line-height:1.4;margin-top:4px}
}
/* Compact portal list entries; the original information and forms stay available. */
html body.techniker-app main .overview-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 14px;padding:10px 12px;margin:8px 0;min-width:0}
.overview-row>.overview-details{margin:0;border:0;padding:0;min-width:0;background:transparent}
.overview-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 12px;align-items:center;gap:12px;min-height:36px;list-style:none;cursor:pointer;scroll-margin-top:4rem}
.overview-summary::-webkit-details-marker{display:none}
.overview-summary::after{content:'';width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.overview-details[open]>.overview-summary::after{transform:rotate(225deg)}
.overview-summary>strong,.overview-summary>.overview-meta{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.9rem}
.overview-summary>.overview-meta{font-size:.8rem;font-weight:400}
.overview-summary:focus-visible{outline:2px solid #b00919;outline-offset:3px}
.overview-body{padding-top:12px;min-width:0;overflow-wrap:anywhere}
html body.techniker-app main .overview-row>.overview-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;max-width:38rem;min-width:0}
.overview-actions>:is(form,p,.actions){display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}
html body.techniker-app main .overview-actions :is(button,.button){height:36px!important;min-height:36px!important;max-width:100%;margin:0!important;padding:6px 10px!important;font-size:13px!important;line-height:1.3!important;white-space:nowrap;flex:0 0 auto}
html body.techniker-app main table:not(form table){width:100%;border-collapse:collapse}
html body.techniker-app main table:not(form table) td{padding:8px 10px;vertical-align:middle}
@media(pointer:coarse),(max-width:700px){html body.techniker-app main .overview-actions :is(button,.button){height:44px!important;min-height:44px!important}.overview-summary{min-height:44px}}
@media(max-width:1000px){html body.techniker-app main .overview-row{grid-template-columns:minmax(0,1fr)}html body.techniker-app main .overview-row>.overview-actions{max-width:none}.overview-summary{gap:8px}}
/* Use the complete article width and line up the search and management actions. */
html body.techniker-app main:has(#material-search-form){display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:end}
main:has(#material-search-form)>*{grid-column:1/-1;min-width:0}
main:has(#material-search-form)>#material-search-form{grid-column:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin:12px 0 0}
#material-search-form>label{display:grid;gap:6px;margin:0;min-width:0}
#material-search-form input[type=search]{margin:0;width:100%;min-width:0;box-sizing:border-box;height:44px}
html body.techniker-app #material-search-form>button{height:44px!important;min-height:44px!important;margin:0!important}
main:has(#material-search-form)>a[href^="material-upload.php"]{grid-column:2;align-self:end;margin:0}
main:has(#material-search-form)>form:has(>#material-create-toggle){grid-column:3;margin:0;align-self:end}
html body.techniker-app main:has(#material-search-form)>a[href^="material-upload.php"],html body.techniker-app #material-create-toggle{height:44px!important;min-height:44px!important;box-sizing:border-box;margin:0!important;padding:8px 12px!important;display:inline-flex;align-items:center;justify-content:center}
main:has(#material-search-form):not(:has(#material-create-toggle))>#material-search-form{grid-column:1/-1}
main:has(#material-search-form):not(:has(#material-create-toggle))>a[href^="material-upload.php"]{grid-column:1/-1;justify-self:start}
main:has(#material-search-form)>#material-count{margin:8px 0 0}
main:has(#material-search-form)>table{table-layout:fixed;width:100%;margin:0}
#material-results td{border-bottom:1px solid #79849155;overflow-wrap:anywhere;white-space:normal}
#material-results td:nth-child(1){width:18%}#material-results td:nth-child(2){width:52%}#material-results td:nth-child(3){width:6%}#material-results td:nth-child(4){width:10%}#material-results td:nth-child(5){width:14%;text-align:right}
#material-pagination{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:1000px){
 html body.techniker-app main:has(#material-search-form){grid-template-columns:repeat(2,minmax(0,1fr))}
 main:has(#material-search-form)>#material-search-form{grid-column:1/-1}
 main:has(#material-search-form)>a[href^="material-upload.php"]{grid-column:1}
 main:has(#material-search-form)>form:has(>#material-create-toggle){grid-column:2}
 main:has(#material-search-form)>a[href^="material-upload.php"],#material-create-toggle{width:100%;white-space:normal!important;text-align:center}
}
@media(max-width:650px){
 main:has(#material-search-form)>table,#material-results{display:block}
 #material-results>tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:10px 0;border-bottom:1px solid #79849188}
 #material-results>tr>td{display:block;width:auto;border:0;padding:2px 0;min-width:0}
 #material-results td:nth-child(1){grid-column:1;grid-row:1;font-weight:600}
 #material-results td:nth-child(2){grid-column:1/-1;grid-row:2}
 #material-results td:nth-child(3){grid-column:1;grid-row:3}
 #material-results td:nth-child(4){grid-column:2;grid-row:3;text-align:right}
 #material-results td:nth-child(5){grid-column:2;grid-row:1}
}

/* Keep article identifiers and descriptions to one readable preview line. */
#material-results td:nth-child(-n+2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#material-results td:nth-child(2)>br{display:none}

/* Selected ticket views stay white in both themes, including hover/focus. */
html body.techniker-app nav.asset-ribbon .ticket-view-tab[aria-current="page"],
html body.techniker-app .offline-task-actions>button[aria-pressed="true"]{
 background:#fff!important;color:#a40016!important;-webkit-text-fill-color:#a40016!important;border-color:#a40016!important;box-shadow:inset 0 0 0 1px #a40016;
}
/* Leave the available row width to the access name, with equal compact actions. */
html body.techniker-app .system-row>.access-row-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;gap:12px}
.access-row-summary>strong{min-width:0;width:auto}
html body.techniker-app .access-row-actions{display:grid;grid-auto-flow:column;grid-auto-columns:96px;gap:8px;min-width:0;width:auto;flex:none}
html body.techniker-app .access-row-actions>:is(button,.button){box-sizing:border-box;width:96px!important;min-width:96px;max-width:96px;flex:none;margin:0!important;height:36px!important;min-height:36px!important;padding:6px 8px!important;font-size:13px!important;line-height:1.3!important;white-space:nowrap}
html body.techniker-app .license-secret{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;max-width:none;gap:10px}
html body.techniker-app .license-secret>button{width:auto!important;max-width:100%;flex:none;height:36px!important;min-height:36px!important;margin:0!important;padding:6px 10px!important;font-size:13px!important;white-space:nowrap}
.license-customer-filter{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}
.license-customer-filter>label{margin:0;min-width:0}.license-customer-filter select{margin-bottom:0}
html body.techniker-app .license-customer-filter>button{height:44px!important;min-height:44px!important;margin:0!important}
.license-refresh-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
/* Reserve a real number column; distribute the remaining customer details. */
#customers-results .customer-table table{table-layout:fixed;width:100%}
#customers-results .customer-table td:nth-child(1){width:7%;min-width:5ch;white-space:nowrap;overflow-wrap:normal}
#customers-results .customer-table td:nth-child(2){width:20%}
#customers-results .customer-table td:nth-child(3){width:23%}
#customers-results .customer-table td:nth-child(4){width:24%}
#customers-results .customer-table td:nth-child(5){width:6%}
#customers-results .customer-table td:nth-child(6){width:20%}
#customers-results table:not(:has(td:nth-child(5):not(:empty))) td:nth-child(5){display:none}
html body.techniker-app #customers-results td>.button{width:auto!important;margin:3px 5px 3px 0!important;min-height:36px!important;padding:6px 9px!important;font-size:13px!important;white-space:nowrap}
@media(pointer:coarse),(max-width:700px){html body.techniker-app .access-row-actions>:is(button,.button),html body.techniker-app .license-secret>button,html body.techniker-app #customers-results td>.button{height:44px!important;min-height:44px!important}}
@media(max-width:650px){
 html body.techniker-app .system-row>.access-row-summary{grid-template-columns:minmax(0,1fr);gap:8px}
 html body.techniker-app .access-row-actions{justify-self:end}
 .license-customer-filter{grid-template-columns:minmax(0,1fr)}
 #customers-results .customer-table table{min-width:900px}
}

/* Screen lists: a consistent divider between entries in both themes. */
@media screen {
 html body.techniker-app main{--list-divider:#c3cbd3}
 html[data-theme="dark"] body.techniker-app main{--list-divider:#526171}
 html body.techniker-app main table>tbody>tr+tr>:is(td,th){border-top:1px solid var(--list-divider)!important}
 html body.techniker-app main :is(ul,ol)>li+li:not(nav li){border-top:1px solid var(--list-divider);padding-top:8px;margin-top:8px}
 html body.techniker-app main :is(.overview-row,.system-row,.license-card,.offline-task-card,.offline-device-row,.local-report)+:is(.overview-row,.system-row,.license-card,.offline-task-card,.offline-device-row,.local-report):not(.task-item){border-top:1px solid var(--list-divider)!important}
 html body.techniker-app #sim-search-form>.sim-search-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 20px}
 html body.techniker-app #sim-search-form .sim-search-actions>:is(button,.button){width:auto!important;flex:none;margin:0!important;min-height:44px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center}
}

html body.techniker-app .customer-link-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:12px}
html body.techniker-app .customer-link-actions>:is(button,.button){width:auto!important;flex:none;margin:0!important}

/* Keep ticket summaries and all original actions on a common center line. */
html body.techniker-app main .overview-row{align-items:center}
html body.techniker-app main .overview-actions>:is(form,p,.actions){margin:0!important;padding:0!important;border:0;align-items:center}
.serial-customer-group{margin:24px 0}
.serial-customer-group>.serial-customer-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding-bottom:12px;border-bottom:1px solid #8994a1}
.serial-customer-heading h2{margin:0;font-size:1.1rem;overflow-wrap:anywhere}
.serial-customer-heading .button{margin:0!important;flex:none}

/* LSA plan actions share one baseline and equal control heights. */
html body.techniker-app .lsa-plan-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px}
html body.techniker-app .lsa-plan-actions>button{font-size:13px!important;padding:6px 10px!important;box-sizing:border-box;flex:none;width:auto!important;height:36px!important;min-height:36px!important;margin:0!important;line-height:1.3!important;display:inline-flex;align-items:center;justify-content:center}
@media(pointer:coarse),(max-width:700px){html body.techniker-app .lsa-plan-actions>button{height:44px!important;min-height:44px!important}}

@media(max-width:700px){html body.techniker-app .lsa-plan-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}html body.techniker-app .lsa-plan-actions>button{width:100%!important;min-width:0;max-width:100%;white-space:normal!important;text-align:center;padding:4px 8px!important}.lsa-plan-actions:has(>button:only-child){grid-template-columns:1fr}}

/* The common document preview keeps mail actions compact and separated. */
.pdf-preview-dialog .pdf-email-form{padding:16px;border:1px solid #8888;border-radius:8px;margin:16px 0}
html body.techniker-app .pdf-preview-dialog .pdf-email-form>button{font-size:13px!important;padding:7px 10px!important;width:auto!important;min-height:44px;margin:8px 10px 0 0!important;vertical-align:middle}

/* Ticket priority has its own visible field, independent of summary truncation. */
.overview-summary.overview-with-priority{grid-template-columns:minmax(0,1fr) 6.5rem minmax(0,1fr) 12px}
html body.techniker-app main .task-priority{display:inline-flex;align-items:center;justify-content:center;min-width:6rem;box-sizing:border-box;padding:5px 9px;border-radius:5px;white-space:nowrap;font-size:13px;font-weight:600;line-height:1.4}
html body.techniker-app main :is(.task-priority-1,.offline-task-priority[data-priority="1"]){background:#a30a19;color:#fff}
html body.techniker-app main :is(.task-priority-2,.offline-task-priority[data-priority="2"]){background:#216239;color:#fff}
html body.techniker-app main :is(.task-priority-raised,.offline-task-priority[data-priority="raised"]){background:#924500;color:#fff}
html body.techniker-app main :is(.task-priority-3,.offline-task-priority[data-priority="3"]){background:#455469;color:#fff}
@media(max-width:600px){.overview-summary.overview-with-priority{grid-template-columns:minmax(0,1fr) 6.5rem 12px}.overview-with-priority>.overview-meta{grid-row:2;grid-column:1/3}.overview-with-priority::after{grid-column:3;grid-row:1}}

/* Camera preview and controls remain reachable when an iPhone is held sideways. */
.serial-camera-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;align-items:center}
html body.techniker-app .serial-camera-actions>button{margin:0}
.serial-capture-dialog .serial-camera-panel video{object-fit:contain}
@media(orientation:landscape) and (max-height:600px){
 .serial-capture-dialog{max-height:94dvh;padding:12px}
 .serial-capture-dialog .serial-camera-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,210px);gap:12px;align-items:center}
 .serial-capture-dialog .serial-camera-panel video{max-height:42dvh;width:100%;min-height:0}
 .serial-camera-actions{flex-direction:column;align-items:stretch;margin:0}
 .serial-camera-actions>button{width:100%;min-height:44px}
}

@media(min-width:1101px){.material-catalog-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(min-width:701px) and (max-width:1100px){.material-catalog-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
.material-catalog-tab>span{font-size:1.25rem;font-weight:700;letter-spacing:.04em}
.support-ticket .support-ticket-controls{display:grid;grid-template-columns:minmax(7rem,1fr) minmax(10rem,1.5fr) minmax(7rem,1fr) auto;align-items:end;gap:12px;margin-top:18px}
.support-ticket-controls>label{min-width:0;margin:0!important;gap:8px}
.support-ticket-controls>label>select{width:100%;min-width:0;height:44px;min-height:44px;box-sizing:border-box;margin:0!important}
.support-ticket-controls>button{height:44px!important;min-height:44px!important;box-sizing:border-box;align-self:end;margin:0!important;white-space:nowrap}
@media(max-width:1100px){.support-ticket .support-ticket-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.support-ticket-controls>button{width:auto}}
@media(max-width:600px){.support-ticket .support-ticket-controls{grid-template-columns:minmax(0,1fr)}.support-ticket-controls>button{width:100%}}

.support-ticket form.support-ticket-edit{display:block;margin-top:18px}.support-ticket-client{margin-bottom:16px;min-width:0}.support-ticket .support-ticket-controls{margin-top:12px}

/* Article details keep supplier data separate and actions spaced. */
.material-actions,.material-row-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
html body.techniker-app .material-actions>:is(button,.button),html body.techniker-app .material-row-actions>.button{margin:0!important;flex:0 0 auto;width:auto!important}
.material-actions{margin-top:16px}
.material-view>.material-actions{margin:0 0 16px}
.material-suppliers{min-width:0}
.material-supplier{margin-top:12px}
.material-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:0}
.material-details>div{min-width:0;border-bottom:1px solid #79849155;padding-bottom:10px}
.material-details dt{font-weight:600;margin:0 0 4px}
.material-details dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
#material-results td:nth-child(1){width:17%}#material-results td:nth-child(2){width:45%}#material-results td:nth-child(3){width:6%}#material-results td:nth-child(4){width:8%}#material-results td:nth-child(5){width:24%}
.material-row-actions{justify-content:flex-end;gap:8px}
@media(max-width:700px){.material-details{grid-template-columns:minmax(0,1fr)}#material-results>tr>td:nth-child(5){grid-column:1/-1;grid-row:4;width:auto}.material-row-actions{justify-content:flex-start}}

/* Whole-row article dividers and supplier stock, including live results. */
html body.techniker-app main table.material-table{border-collapse:collapse;border-spacing:0}
html body.techniker-app main #material-results>tr{border-bottom:1px solid var(--list-divider,#8994a1)}
html body.techniker-app main #material-results>tr>:is(td,th){border-top:0!important;border-bottom:0!important}
.material-table th{text-align:left;padding:10px;overflow-wrap:anywhere}
#material-results td:nth-child(1){width:16%}#material-results td:nth-child(2){width:31%}#material-results td:nth-child(3){width:5%}#material-results td:nth-child(4){width:7%}#material-results td:nth-child(5){width:17%;text-align:left}#material-results td:nth-child(6){width:24%;text-align:right}
#material-search-form>.material-stock-filter{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin:0;cursor:pointer;min-height:32px}
html body.techniker-app #material-stock-only{width:18px;height:18px;min-height:18px;margin:0;flex:0 0 auto}
.material-stock{font-size:.88rem}
@media(max-width:700px){
 .material-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 html body.techniker-app main table.material-table{display:block}
 #material-results{display:block}
 #material-results>tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:10px 0}
 #material-results>tr>td{display:block;width:auto!important;padding:2px 0;min-width:0}
 #material-results>tr>td:nth-child(1){grid-column:1;grid-row:1}
 #material-results>tr>td:nth-child(2){grid-column:1/-1;grid-row:2}
 #material-results>tr>td:nth-child(3){grid-column:1;grid-row:3}
 #material-results>tr>td:nth-child(4){grid-column:2;grid-row:3}
 #material-results>tr>td:nth-child(5){grid-column:1/-1;grid-row:4}
 #material-results>tr>td:nth-child(5)::before{content:'Lieferantenbestand: ';font-weight:600}
 #material-results>tr>td:nth-child(6){grid-column:1/-1;grid-row:5}
}

.material-table th:nth-child(1){width:16%}.material-table th:nth-child(2){width:31%}.material-table th:nth-child(3){width:5%}.material-table th:nth-child(4){width:7%}.material-table th:nth-child(5){width:17%}.material-table th:nth-child(6){width:24%}
.material-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px;align-items:end}
.material-toolbar:not(:has(a[href^="material-upload.php"])){grid-template-columns:minmax(0,1fr) auto}
.material-toolbar #material-search-form{display:contents!important}
.material-toolbar #material-search-form>label:not(.material-stock-filter){grid-column:1;grid-row:1}
.material-toolbar #material-search-form>button{grid-column:2;grid-row:1}
.material-toolbar #material-search-form>.material-stock-filter{grid-column:1/-1;grid-row:2}
.material-toolbar>a{grid-column:3;grid-row:1}
.material-toolbar>.material-create-action{grid-column:4;grid-row:1;margin:0}
html body.techniker-app .material-toolbar :is(a.button,#material-create-toggle){height:44px!important;min-height:44px!important;box-sizing:border-box;margin:0!important;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:1000px){.material-toolbar{grid-template-columns:minmax(0,1fr) auto}.material-toolbar>a{grid-column:1;grid-row:3}.material-toolbar>.material-create-action{grid-column:2;grid-row:3}.material-toolbar>a,.material-toolbar #material-create-toggle{width:100%;white-space:normal!important}}

@media(min-width:1001px){
 .material-table col.material-sku-col{width:16%}.material-table col.material-unit-col{width:76px}.material-table col.material-status-col{width:100px}.material-table col.material-stock-col{width:160px}.material-table col.material-action-col{width:280px}
 html body.techniker-app .material-table :is(th,td){width:auto!important}
 .material-table .material-row-actions{flex-wrap:nowrap}
}
@media(min-width:701px) and (max-width:1000px){
 .material-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 html body.techniker-app main table.material-table{display:block}
 #material-results{display:block}
 #material-results>tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:10px 0}
 #material-results>tr>td{display:block;width:auto!important;padding:2px 0;min-width:0}
 #material-results>tr>td:nth-child(1){grid-column:1;grid-row:1}
 #material-results>tr>td:nth-child(2){grid-column:1/-1;grid-row:2}
 #material-results>tr>td:nth-child(3){grid-column:1;grid-row:3}
 #material-results>tr>td:nth-child(4){grid-column:2;grid-row:3}
 #material-results>tr>td:nth-child(5){grid-column:1;grid-row:4}
 #material-results>tr>td:nth-child(5)::before{content:'Lieferantenbestand: ';font-weight:600}
 #material-results>tr>td:nth-child(6){grid-column:2;grid-row:4}
}

html body.techniker-app table.material-table{font-size:14px}
.material-table th{font-size:14px;overflow-wrap:normal}
html body.techniker-app .material-table .material-row-actions>.button{font-size:14px!important;padding:7px 10px!important}

html body.techniker-app main table.material-table[hidden],#material-pagination[hidden]{display:none!important}
.material-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,360px);gap:24px;align-items:start}
.material-hero-info{min-width:0}
.material-gallery{min-width:0;text-align:center}
.material-image-open{display:block;background:#fff;border:1px solid #8994a155;border-radius:8px;overflow:hidden}
.material-product-image{display:block;width:100%;height:280px;object-fit:contain;margin:0}
.material-image-choices{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
html body.techniker-app .material-image-choices button{margin:0!important;min-height:44px}
html body.techniker-app .material-image-choices button[aria-pressed=true]{background:#fff!important;color:#a40016!important;border:1px solid #a40016!important}
html body.techniker-app .material-gallery [hidden]{display:none!important}
.material-image-status{margin:10px 0}
.material-image-empty{margin-top:20px}
@media(max-width:800px){.material-hero{grid-template-columns:minmax(0,1fr)}.material-gallery{width:100%;max-width:420px;justify-self:center}}

.battery-section{margin:18px 0;padding-top:14px;border-top:1px solid #8994a155}
.battery-list{display:grid;gap:12px;margin-bottom:12px}
.battery-row{display:grid;grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr) auto;gap:12px;align-items:end;padding-bottom:12px;border-bottom:1px solid #8994a155}
.battery-row>label{margin:0!important;min-width:0}
.battery-row input{width:100%;min-width:0;margin:6px 0 0!important;box-sizing:border-box}
html body.techniker-app .battery-row>button{margin:0!important;min-height:44px}
@media(max-width:700px){.battery-row{grid-template-columns:minmax(0,1fr) 90px}.battery-row>label:nth-child(3){grid-column:1/-1}.battery-row>button{grid-column:1/-1;justify-self:start}}

/* Mobile article cards: one surface per item instead of separate table-cell stripes. */
@media screen and (max-width:1000px){
 html body.techniker-app main table.material-table colgroup{display:none}
 html body.techniker-app main #material-results{display:grid;gap:12px}
 html body.techniker-app main #material-results>tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:14px;background:#f4f6f8;border:1px solid var(--list-divider,#c3cbd3);border-radius:10px;min-width:0;box-sizing:border-box}
 html[data-theme="dark"] body.techniker-app main #material-results>tr{background:#202833}
 html body.techniker-app main #material-results>tr>td{background:transparent!important;width:auto!important;min-width:0;margin:0;padding:0;border:0!important;text-align:left;line-height:1.45}
 html body.techniker-app main #material-results>tr>td:nth-child(1){grid-area:1/1/2/-1;font-size:12px;font-weight:500;white-space:normal;overflow-wrap:anywhere}
 html body.techniker-app main #material-results>tr>td:nth-child(2){grid-area:2/1/3/-1;white-space:normal;overflow-wrap:anywhere;font-size:15px;font-weight:600;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;text-overflow:ellipsis}
 html body.techniker-app main #material-results>tr>td:nth-child(3){grid-area:3/1;font-size:12px}
 html body.techniker-app main #material-results>tr>td:nth-child(4){grid-area:3/2;font-size:12px;text-align:right}
 html body.techniker-app main #material-results>tr>td:nth-child(5){grid-area:4/1/5/-1;font-size:13px;padding-top:4px}
 html body.techniker-app main #material-results>tr>td:nth-child(5)::before{content:'Bestand Lieferant: ';font-weight:500}
 html body.techniker-app main #material-results>tr>td:nth-child(6){grid-area:5/1/6/-1;padding-top:6px}
 html body.techniker-app main .material-table .material-row-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start}
 html body.techniker-app main .material-table .material-row-actions>.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;box-sizing:border-box;margin:0!important;flex:0 1 auto;white-space:nowrap}
}
@media screen and (max-width:700px){
 html body.techniker-app main .material-table .material-row-actions>.button{flex:1 1 0}
 html body.techniker-app .material-toolbar :is(a.button,#material-create-toggle){font-size:13px!important;line-height:1.3;height:auto!important;padding:9px 10px!important}
 .material-toolbar>.material-create-action{min-width:0}
}
.inventory-prefix-field{display:flex;align-items:stretch;min-width:0;margin-top:6px}
.inventory-fixed-prefix{display:flex;align-items:center;padding:0 12px;font-weight:600;background:#e9edf1;border:1px solid #8994a1;border-right:0;border-radius:6px 0 0 6px;color:#27313c}
html body .inventory-prefix-field>input{min-width:0;flex:1;width:0;margin:0!important;border-radius:0 6px 6px 0}
html[data-theme=dark] .inventory-fixed-prefix{background:#303b49;color:#edf1f5}
.serial-capture-dialog video{width:100%;max-height:52dvh;background:#101820;border-radius:6px}
.serial-capture-dialog[data-state=camera] .serial-candidates{display:none}
.doc-section-summary{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:400;text-align:right}
@media(max-width:700px){.doc-section-header:has(.doc-section-summary){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px}.doc-section-header>.doc-section-summary{grid-column:1;grid-row:2;text-align:left}.doc-section-header:has(.doc-section-summary)>.doc-section-toggle{grid-column:2;grid-row:1/3}.doc-section-header:has(.doc-section-summary)>h2{grid-column:1;grid-row:1}}
.maintenance-section-heading{display:flex;align-items:center;gap:12px;width:100%}.maintenance-section-summary{font-size:.8rem;font-weight:400;flex:1;text-align:right}.maintenance-section-toggle{flex:0 0 auto}.maintenance-section-body[hidden]{display:none!important}
@media(max-width:700px){.maintenance-section-heading{flex-wrap:wrap}.maintenance-section-summary{flex-basis:100%;order:3;text-align:left}}

/* New and existing flat app editors start with closed input groups. */
.app-start-fold{margin:14px 0;border:1px solid #a4adb6;border-radius:10px;background:#fff;color:inherit;min-width:0}
.app-start-fold>summary{display:flex;align-items:center;gap:10px;min-height:60px;padding:12px 16px;font-weight:700;cursor:pointer;list-style:none;overflow-wrap:anywhere}
.app-start-fold>summary::-webkit-details-marker{display:none}
.app-start-fold>summary::before{content:'';width:0;height:0;flex:none;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid currentColor}
.app-start-fold[open]>summary::before{transform:rotate(90deg)}
.app-start-fold[open]>summary{border-bottom:1px solid #a4adb6}
.app-start-fold-body,.network-scan-upload-box.app-start-fold>form{padding:16px;min-width:0;margin:0}
.app-start-fold-body>.grid,.app-start-fold-body>.offline-device-grid{margin:0}
html[data-theme="dark"] .app-start-fold{background:#242424;border-color:#626262;color:#f2f2f2}

/* Serienverwaltung: Abstand auch zwischen getrennten Aktionszeilen. */
main:has(#serial-customer-users) > .actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 12px}
main:has(#serial-customer-users) > .actions > .button{margin:0;max-width:100%;white-space:normal;text-align:center}

/* Separate SIM pagination controls, including wrapped rows. */
html body #sim-pages{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}
html body #sim-pages>.button{margin:0!important;flex:none}

/* Nested archive forms align with adjacent serial action links. */
html body.techniker-app main .overview-actions .serial-lifecycle-actions form{display:flex;align-items:center;margin:0!important;padding:0!important;border:0;gap:8px}

/* Equal-width inbox rows with separate sender and subject. */
html body #personal-mail-messages{display:grid;gap:12px;width:100%;min-width:0}
html body #personal-mail-messages>div{min-width:0}
html body #personal-mail-messages .personal-mail-row{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;width:100%!important;max-width:100%;height:auto!important;min-height:60px;box-sizing:border-box;margin:0!important;padding:12px 16px!important;white-space:normal!important;text-align:left;overflow-wrap:anywhere}
html body #personal-mail-messages .personal-mail-row>span{font-weight:400}

/* Shared neutral list surfaces, including mail and imported task groups. */
html body #personal-mail-messages .personal-mail-row{background:#f4f6f8!important;color:#202830!important;border:1px solid #9aa5b1!important;border-radius:12px;box-shadow:none!important}
html[data-theme="dark"] body :is(#personal-mail-messages .personal-mail-row,.todo-list-group,#offline-task-list>details[data-todo-list],.overview-row,.offline-task-card,.offline-device-row,.system-row,.license-card){background:#242424!important;color:#f2f2f2!important;border:1px solid #626262!important;border-radius:12px}
html body :is(.todo-list-group,#offline-task-list>details[data-todo-list]){padding:12px;margin:8px 0;min-width:0}
html body :is(.todo-list-group,#offline-task-list>details[data-todo-list])>summary{padding:8px 0;cursor:pointer;color:inherit;background:transparent}
html[data-theme="dark"] body #personal-mail-messages .personal-mail-row:hover{background:#303030!important}
html body #personal-mail-messages .personal-mail-row:focus-visible{outline:2px solid #8bbcff;outline-offset:3px}

/* Row actions belong to the expanded detail content. */
html body.techniker-app main .overview-row{grid-template-columns:minmax(0,1fr)}
html body.techniker-app main .overview-body>.overview-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}
html body .system-row:has(.system-row-details[hidden]) .access-row-actions>a.button{display:none!important}

/* Expanded rows grow below their summary without scroll anchoring. */
html body.techniker-app main .overview-row{align-items:start;overflow-anchor:none}
html body.techniker-app main .overview-details{overflow-anchor:none}

/* Quiet, consistent disclosure controls; primary actions keep their own color. */
html body{--disclosure-bg:#f0f1f2;--disclosure-open:#e3e5e7;--disclosure-border:#a2a7ac;--disclosure-text:#252a30}
html[data-theme="dark"] body{--disclosure-bg:#303234;--disclosure-open:#3b3d40;--disclosure-border:#72777d;--disclosure-text:#f0f1f2}
html body details>summary{cursor:pointer;border-radius:7px;font-weight:600;outline-offset:3px}
html body details:not(.overview-details):not(.browser-menu)>summary{box-sizing:border-box;min-height:44px;padding:11px 14px;border:1px solid var(--disclosure-border);background:var(--disclosure-bg);color:var(--disclosure-text);margin-bottom:8px;line-height:1.4}
html body details:is(.overview-details,.browser-menu)>summary{background:var(--disclosure-bg);color:var(--disclosure-text);box-shadow:inset 0 0 0 1px var(--disclosure-border)}
html body details[open]>summary,html body details>summary:hover{background:var(--disclosure-open)!important;color:var(--disclosure-text)}
html body details>summary:focus-visible,html body button[aria-expanded]:focus-visible{outline:2px solid #8a929b;outline-offset:3px}
html body button:is([aria-expanded],.doc-section-toggle,.maintenance-section-toggle){background:var(--disclosure-bg)!important;color:var(--disclosure-text)!important;border:1px solid var(--disclosure-border)!important;font-weight:600;box-shadow:none}
html body button:is([aria-expanded="true"],.doc-section-toggle:hover,.maintenance-section-toggle:hover){background:var(--disclosure-open)!important}

#app-mail-shortcuts .monitor-caption{overflow-wrap:anywhere}
.personal-mail-row time{display:block;font-size:.85em;font-weight:400;opacity:.85;margin-top:4px}

/* UniFi cards already provide the outline; their header needs no second frame. */
html body details:is(.unifi-site,.unifi-subsection):not(.browser-menu)>summary{border:0;box-shadow:none;margin-bottom:0;border-radius:inherit}
html body details:is(.unifi-site,.unifi-subsection)[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0}

/* A consistent close/back circle, with a 44px touch target. */
html body :is(a,button).back-close-dot:not([hidden]):not(.hidden){display:inline-flex;align-items:center!important;justify-content:center!important;flex:0 0 44px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;max-width:44px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#c90025!important;color:#fff!important;font-size:0!important;line-height:0!important;text-decoration:none!important;vertical-align:middle;box-sizing:border-box;gap:0!important;box-shadow:none!important}
html body :is(a,button).back-close-dot> *{display:none!important}
html body :is(a,button).back-close-dot::after{content:'×';font:28px/1 Arial,sans-serif;color:#fff;display:block}
html body :is(a,button).back-close-dot:hover{background:#a5001e!important}
html body :is(a,button).back-close-dot:focus-visible{outline:3px solid #8dbdff!important;outline-offset:3px}
html body :is(a,button).back-close-dot:disabled{opacity:.5;cursor:not-allowed}
html body :is(a,button).back-close-dot::before{display:none!important}
html body :is(a,button).back-close-dot:is([hidden],.hidden){display:none!important}

/* Offline ticket state stays visible even while the card is collapsed. */
html body .overview-summary:is(.overview-offline-ticket,.overview-ticket-summary){grid-template-columns:minmax(0,1fr) 12px;gap:8px 12px;padding:10px 12px}
html body :is(.overview-offline-ticket,.overview-ticket-summary)>strong{grid-column:1;grid-row:1;white-space:normal;overflow-wrap:anywhere}
html body :is(.overview-offline-ticket,.overview-ticket-summary)::after{grid-column:2;grid-row:1}
html body :is(.overview-offline-ticket,.overview-ticket-summary)>.overview-meta{grid-column:1/-1;grid-row:2;white-space:normal;overflow-wrap:anywhere}
html body .overview-ticket-statuses{grid-column:1/-1;grid-row:3;display:flex;flex-wrap:wrap;gap:6px;margin:0;font-size:.8rem;font-weight:400}
html body .overview-ticket-statuses .badge{display:inline-block;padding:4px 8px;border-radius:5px;white-space:normal;line-height:1.4}
html body .offline-sync-status{background:#354655;color:#fff}
html body .offline-sync-status[data-sync="conflict"]{background:#a30a19;color:#fff}
html body .offline-sync-status[data-sync="pending"]{background:#795900;color:#fff}
html body .offline-sync-status[data-sync="saved"]{background:#285a35;color:#fff}
html body .offline-availability{background:#354655;color:#fff}
html body .overview-ticket-statuses .offline-task-priority[data-priority="1"]{background:#a30a19;color:#fff}
html body .overview-ticket-statuses .offline-task-priority[data-priority="2"]{background:#795900;color:#fff}
html body .overview-ticket-statuses .offline-task-priority[data-priority="3"]{background:#285a35;color:#fff}
html body .overview-ticket-statuses .offline-task-priority[data-priority="raised"]{background:#8a4800;color:#fff}

/* Ticket icons align with their caption; long status labels size their badges. */
html body :is(.overview-offline-ticket,.overview-ticket-summary)>.overview-ticket-title{display:flex;align-items:center;gap:10px}
html body :is(.overview-offline-ticket,.overview-ticket-summary) .offline-task-origin{flex:0 0 20px;align-self:center}
html body :is(.overview-offline-ticket,.overview-ticket-summary) .ticket-customer-name{min-width:0;overflow-wrap:anywhere}
html body .offline-task-card .offline-task-badges{width:auto;min-width:10.5rem;max-width:100%;gap:8px}
html body .offline-task-card .offline-task-badges>.badge{width:auto;min-width:10.5rem;max-width:100%;padding:6px 12px;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
html body .overview-ticket-statuses{gap:8px}
html body .overview-ticket-statuses>.badge{padding:6px 10px}

html body .task-card .task-badges{display:flex;flex-wrap:wrap;gap:8px;width:auto}
html body .task-card .task-badges>.badge,html body .overview-ticket-statuses>.task-priority{width:auto;min-width:6rem;max-width:100%;white-space:normal;padding:6px 12px;box-sizing:border-box}

/* Back/close controls align to the right; toolbar navigation remains a button. */
html body :is(a,button).back-close-dot:not([hidden]):not(.hidden){float:right;margin-inline-start:auto!important;order:100;transition:background-color .15s ease,transform .15s ease,box-shadow .15s ease}
html body .page-title-row{width:100%;box-sizing:border-box}
html body .page-title-row>.back-close-dot{margin-inline-start:auto!important}
html body :is(a,button).back-close-dot::after{content:'';width:14px;height:14px;flex:0 0 14px;margin:0;padding:0;position:static;transform:rotate(45deg);background:linear-gradient(#fff,#fff) center/2px 100% no-repeat,linear-gradient(#fff,#fff) center/100% 2px no-repeat}
@media(hover:hover){html body :is(a,button).back-close-dot:not(:disabled):hover{background:#a5001e!important;transform:scale(1.06);box-shadow:0 0 0 3px rgba(201,0,37,.18)!important}}
html body :is(a,button).back-close-dot:not(:disabled):active{transform:scale(.96)}
@media(prefers-reduced-motion:reduce){html body :is(a,button).back-close-dot{transition:none}html body :is(a,button).back-close-dot:hover,html body :is(a,button).back-close-dot:active{transform:none}}

/* Compact connection state beside the personal greeting. */
html body.techniker-app .app-welcome-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
html body.techniker-app .app-welcome-row .app-greeting{flex:1 1 280px;min-width:0}
html body.techniker-app .app-welcome-row .app-connection{flex:0 1 460px;margin:0 0 12px auto;padding:8px 12px;gap:8px 12px;font-size:13px;justify-content:flex-end;max-width:100%;box-sizing:border-box;text-align:right}
html body.techniker-app .app-welcome-row .app-connection p{flex:1 1 190px;margin:0;font-size:13px}
html body.techniker-app .app-welcome-row .app-connection button{width:auto;font-size:12px;padding:6px 10px}
html body.techniker-app main:has(#workspace[hidden]) .app-welcome-row .app-connection{display:none}

/* Keep collapsed list labels clear of the disclosure frame. */
html body .overview-details>.overview-summary{box-sizing:border-box;padding-inline:12px}

/* Disclosure headers share a quiet surface; the surrounding card owns the frame. */
html body details:not(.browser-menu):not(.nav-group)>summary{border:0!important;box-shadow:none!important;margin-bottom:0;box-sizing:border-box}
html body details:not(.browser-menu):not(.nav-group)[open]>summary{margin-bottom:8px}
html body details.overview-details[open]>summary{margin-bottom:0}
html body .offline-device-row{margin-block:8px}
html body .offline-device-row>summary{height:auto;min-height:44px;border-radius:inherit}
html body .offline-device-row[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0}

/* One quick-access grid with two balanced rows on tablet and desktop. */
html body.techniker-app .app-welcome-row .app-connection{text-align:left;padding-inline:16px}
html body .app-welcome-row .app-connection p{text-align:left}
html body #app-mail-shortcuts .app-monitor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}
html body #app-mail-shortcuts .app-monitor-grid>button{grid-column:auto;min-height:136px;height:100%;margin:0;box-sizing:border-box}
html body #app-mail-shortcuts .app-monitor-grid>#app-m365-contacts{order:1}
html body #app-mail-shortcuts .app-monitor-grid>#app-m365-personal{order:2}
html body #app-mail-shortcuts .app-monitor-grid>#app-support-inbox{order:3}
html body #app-mail-shortcuts .app-monitor-grid>#app-planning-calendar{order:4}
html body #app-mail-shortcuts .app-monitor-grid>.app-ticket-card{order:5}
html body #app-mail-shortcuts .app-monitor-grid>#app-unifi-status{order:6}
html body #app-mail-shortcuts .app-monitor-grid>#app-ninja-monitor{order:7}
html body #app-mail-shortcuts .app-monitor-grid>#app-huntress-monitor{order:8}
html body #app-mail-shortcuts .app-monitor-grid>.app-news-card{order:9}
@media(min-width:760px){html body #app-mail-shortcuts .app-monitor-grid,html body .portal-quick-grid.cockpit-actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}}

/* The header provides the app switch; keep dashboard tiles equally sized. */
html body .cockpit-actions>a[href="techniker/index-v5.html"]{display:none!important}
html body .portal-quick-grid:is(.cockpit-actions,.cockpit-monitors){grid-auto-rows:1fr;align-items:stretch}
html body .portal-quick-grid:is(.cockpit-actions,.cockpit-monitors)>.portal-quick-link{height:100%;min-height:168px;box-sizing:border-box;margin:0;border-radius:12px;padding:16px;white-space:normal;overflow-wrap:anywhere}
@media(min-width:760px){html body .portal-quick-grid:is(.cockpit-actions,.cockpit-monitors){grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}}
