/* Geyssel Steuerungsportal V6.3.0
   Browser-Normalisierung für aktuelle Chromium-Browser (Google Chrome / Microsoft Edge unter Windows).
   Diese Datei enthält bewusst nur finale Konsistenz- und Browserregeln. */

.geyssel-front,
.geyssel-front *,
.geyssel-front *::before,
.geyssel-front *::after{box-sizing:border-box}

html.geyssel-app-html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.geyssel-app-mode{margin:0!important;overflow-x:hidden!important}

.geyssel-front{
  --gp-bg:#051f37;
  --gp-panel:#082f50;
  --gp-panel-2:#0a3a61;
  --gp-border:rgba(255,255,255,.14);
  --gp-text:#fff;
  --gp-muted:#c9d8e5;
  --gp-link:#8fd0ff;
  --gp-input-bg:#fff;
  --gp-input-text:#17324d;
  --gp-input-border:#a9bfd1;
  width:100%!important;
  max-width:none!important;
  min-width:0;
  color:var(--gp-text);
  font-family:Arial,"Segoe UI",system-ui,-apple-system,sans-serif;
  line-height:1.45;
  overflow-x:clip;
}

.geyssel-front img{max-width:100%;height:auto}
.geyssel-front svg{display:block}
.geyssel-front a,.geyssel-front button,.geyssel-front input,.geyssel-front select,.geyssel-front textarea{font:inherit}
.geyssel-front a,.geyssel-front button,.geyssel-front summary,.geyssel-front select{touch-action:manipulation}
.geyssel-front button,.geyssel-front input[type="submit"],.geyssel-front input[type="button"]{cursor:pointer}
.geyssel-front button:disabled,.geyssel-front input:disabled,.geyssel-front select:disabled,.geyssel-front textarea:disabled{cursor:not-allowed;opacity:.68}

/* Flex/Grid-Inhalte dürfen in Chrome/Edge sauber schrumpfen. */
.geyssel-front .geyssel-panel>*,
.geyssel-front .geyssel-section-head>*,
.geyssel-front .geyssel-quick-card>*,
.geyssel-front .geyssel-assigned-order>*,
.geyssel-front .geyssel-problem-dashboard-item>*{min-width:0}

/* Eingabefelder bleiben unabhängig vom Windows-/Browser-Dark-Mode hell und lesbar. */
.geyssel-front input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
.geyssel-front select,
.geyssel-front textarea{
  color-scheme:light;
  background:var(--gp-input-bg)!important;
  color:var(--gp-input-text)!important;
  border:1px solid var(--gp-input-border)!important;
  border-radius:8px;
  min-height:42px;
  max-width:100%;
  -webkit-appearance:none;
  appearance:none;
}
.geyssel-front textarea{min-height:110px;resize:vertical}
.geyssel-front select{
  -webkit-appearance:auto;
  appearance:auto;
}
.geyssel-front option{background:#fff;color:#17324d}
.geyssel-front input[type="date"]{-webkit-appearance:auto;appearance:auto}
.geyssel-front input[type="date"]::-webkit-calendar-picker-indicator{opacity:.85;cursor:pointer}
.geyssel-front input[type="checkbox"],.geyssel-front input[type="radio"]{accent-color:#1685d1}

.geyssel-front :focus-visible{outline:3px solid #70c7ff!important;outline-offset:2px!important}
.geyssel-front a,.geyssel-front td,.geyssel-front th,.geyssel-front p,.geyssel-front small,.geyssel-front strong,.geyssel-front label{overflow-wrap:anywhere}

/* Tabellen: Desktop breit, kleine Fenster scrollbar statt abgeschnitten. */
.geyssel-front .geyssel-table-wrap{max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
.geyssel-front table{max-width:100%}
.geyssel-front .geyssel-table th,.geyssel-front .geyssel-table td{vertical-align:middle}

/* Finale Portalflächen. */
body.geyssel-app-mode .geyssel-front .geyssel-panel,
body.geyssel-app-mode .geyssel-front .geyssel-my-installations,
body.geyssel-app-mode .geyssel-front .geyssel-stock-panel,
body.geyssel-app-mode .geyssel-front .geyssel-stock-order-panel,
body.geyssel-app-mode .geyssel-front .geyssel-warehouse-jobs{
  border-color:var(--gp-border)!important;
}

/* Dunkle Portalflächen bekommen grundsätzlich weiße Schrift. */
body.geyssel-app-mode .geyssel-front .geyssel-my-installations,
body.geyssel-app-mode .geyssel-front .geyssel-my-installations *,
body.geyssel-app-mode .geyssel-front .geyssel-warehouse-jobs,
body.geyssel-app-mode .geyssel-front .geyssel-warehouse-jobs *{
  color:#fff!important;
}
body.geyssel-app-mode .geyssel-front .geyssel-my-installations .geyssel-assigned-order,
body.geyssel-app-mode .geyssel-front .geyssel-warehouse-jobs .geyssel-assigned-order{
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.16)!important;
}

/* Helle Arbeitsboxen bekommen ausnahmslos dunkle Schrift. */
body.geyssel-app-mode .geyssel-front .geyssel-workflow-action,
body.geyssel-app-mode .geyssel-front .geyssel-workflow-action *,
body.geyssel-app-mode .geyssel-front .geyssel-install-form,
body.geyssel-app-mode .geyssel-front .geyssel-install-form *,
body.geyssel-app-mode .geyssel-front .geyssel-pwa-panel,
body.geyssel-app-mode .geyssel-front .geyssel-pwa-panel *{
  color:#17324d!important;
}
body.geyssel-app-mode .geyssel-front .geyssel-workflow-action .geyssel-btn,
body.geyssel-app-mode .geyssel-front .geyssel-install-form .geyssel-btn,
body.geyssel-app-mode .geyssel-front .geyssel-pwa-panel .geyssel-btn{
  color:#fff!important;
}

/* Lange deutsche Menüpunkte: erst Desktop anzeigen, wenn genügend Platz vorhanden ist. */
@media (max-width:1599px){
  body.geyssel-app-mode .geyssel-front .geyssel-desktop-nav{display:none!important}
  body.geyssel-app-mode .geyssel-front .geyssel-mobile-nav{display:flex!important}
}
@media (min-width:1600px){
  body.geyssel-app-mode .geyssel-front .geyssel-desktop-nav{display:flex!important}
  body.geyssel-app-mode .geyssel-front .geyssel-mobile-nav{display:none!important}
  body.geyssel-app-mode .geyssel-front .geyssel-nav-main{min-width:0;flex:1 1 auto}
  body.geyssel-app-mode .geyssel-front .geyssel-nav-item{min-width:0}
  body.geyssel-app-mode .geyssel-front .geyssel-nav-label{white-space:normal;text-align:center;line-height:1.15}
}

@media (max-width:760px){
  .geyssel-front .geyssel-form-grid{grid-template-columns:1fr!important}
  .geyssel-front .geyssel-section-head{flex-direction:column!important;align-items:stretch!important}
  .geyssel-front .geyssel-btn,.geyssel-front button,.geyssel-front input[type="submit"]{max-width:100%}
  .geyssel-front .geyssel-assigned-order{align-items:flex-start!important;flex-direction:column!important}
}

@media (prefers-reduced-motion:reduce){
  .geyssel-front *, .geyssel-front *::before, .geyssel-front *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
