/* =========================================
   AuftragsPilot Light Lesbarkeit Final
   Entfernt schwarze Flächen + helle Schrift auf hellem Grund
   Nur Optik - keine Logik
   ========================================= */

:root {
  --read-text: #16285d;
  --read-muted: #40527a;
  --read-card: rgba(255,255,255,.66);
  --read-card2: rgba(232,242,255,.62);
  --read-border: rgba(255,255,255,.84);
  --read-shadow: 0 16px 34px rgba(77,112,166,.14);
}

/* App-Grund immer hell */
html,
body,
.app,
.main,
.panel,
.panel.active-panel,
#dashboardPanel,
#apExactDashboard {
  background:
    radial-gradient(circle at 8% 10%, rgba(255,255,255,.40), transparent 30%),
    radial-gradient(circle at 92% 5%, rgba(141,237,229,.30), transparent 34%),
    linear-gradient(135deg, #94b5e2 0%, #dfeaff 52%, #c8efee 100%) !important;
  color: var(--read-text) !important;
}

/* Dashboard-Startseite darf ihren eigenen hellen Stil behalten */
.ap-light-page,
.ap-light-hero,
.ap-light-help,
.ap-light-grid {
  color: var(--read-text) !important;
}

/* Schwarze Flächen in normalen Panels überschreiben */
.main .card,
.main section,
.main .panel .card,
.main .form-card,
.main .result-card,
.main .summary-card,
.main .table-like,
.main .table-row,
.main .result-row,
.main .summary-row,
.main .stat-box,
.main .check-list > div,
.main [class*="box"],
.main [class*="card"] {
  background:
    radial-gradient(circle at 88% 8%, rgba(141,237,229,.16), transparent 30%),
    linear-gradient(135deg, var(--read-card), var(--read-card2)) !important;
  border-color: var(--read-border) !important;
  color: var(--read-text) !important;
  box-shadow:
    var(--read-shadow),
    inset 0 1px 0 rgba(255,255,255,.76) !important;
}

/* Start-Kacheln nicht kaputt machen */
.ap-light-card,
.ap-light-card *,
.ap-light-quick,
.ap-light-quick *,
.ap-light-hero,
.ap-light-hero *,
.ap-light-help,
.ap-light-help * {
  text-shadow: none !important;
}

/* Helle Schrift auf hellen Flächen dunkel machen */
.main .card,
.main .card *,
.main .panel,
.main .panel *,
.main .form-card,
.main .form-card *,
.main .result-card,
.main .result-card *,
.main .summary-card,
.main .summary-card *,
.main .table-row,
.main .table-row *,
.main .result-row,
.main .result-row *,
.main .summary-row,
.main .summary-row *,
.main label,
.main p,
.main span,
.main small,
.main div {
  color: var(--read-text) !important;
}

/* gedämpfte Texte */
.main .muted,
.main small,
.main .hint,
.main .help,
.main .description,
.main .subtext,
.main p {
  color: var(--read-muted) !important;
}

/* Überschriften kräftig */
.main h1,
.main h2,
.main h3,
.main h4,
.main strong,
#appHeadline {
  color: var(--read-text) !important;
}

/* Startseite-Farben wieder setzen, falls oben zu allgemein war */
.ap-light-card.laser h3,
.ap-light-card.laser .ap-light-card-action,
.ap-light-card.laser::before {
  color: #f27717 !important;
}

.ap-light-card.print3d h3,
.ap-light-card.print3d .ap-light-card-action,
.ap-light-card.print3d::before {
  color: #2f8eff !important;
}

.ap-light-card.calc h3,
.ap-light-card.calc .ap-light-card-action,
.ap-light-card.calc::before {
  color: #45b75f !important;
}

.ap-light-card.orders h3,
.ap-light-card.orders .ap-light-card-action,
.ap-light-card.orders::before {
  color: #8e63ef !important;
}

.ap-light-card.market h3,
.ap-light-card.market .ap-light-card-action,
.ap-light-card.market::before {
  color: #df8a00 !important;
}

.ap-light-card.admin h3,
.ap-light-card.admin .ap-light-card-action,
.ap-light-card.admin::before {
  color: #5878a0 !important;
}

.ap-light-card p {
  color: #31446f !important;
}

.ap-light-quick > span:not(.ap-light-quick-icon) {
  color: #172f68 !important;
}

/* Sidebar darf weiß bleiben, weil blauer Hintergrund */
.sidebar,
.sidebar *,
.ap-exact-sidebar,
.ap-exact-sidebar *,
.ap-exact-logo,
.ap-exact-logo *,
.ap-exact-nav,
.ap-exact-nav *,
.ap-exact-status,
.ap-exact-status * {
  color: #ffffff !important;
}

/* Sidebar Buttons nicht schwarz */
.sidebar button,
.sidebar .menu-item,
.ap-exact-nav-btn {
  background: rgba(255,255,255,.17) !important;
  border: 1px solid rgba(255,255,255,.42) !important;
  color: #ffffff !important;
}

.ap-exact-nav-btn.is-active,
.sidebar button.active,
.sidebar .menu-item.active {
  background:
    radial-gradient(circle at 88% 20%, rgba(255,180,255,.46), transparent 30%),
    linear-gradient(135deg, rgba(117,187,255,.58), rgba(217,178,255,.36)) !important;
  color: #ffffff !important;
}

/* Topbar hell */
.topbar,
.main > header,
.main .topbar {
  background:
    radial-gradient(circle at 88% 10%, rgba(141,237,229,.22), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.62), rgba(232,242,255,.58)) !important;
  border-color: rgba(255,255,255,.78) !important;
  color: var(--read-text) !important;
}

.topbar *,
.main > header * {
  color: var(--read-text) !important;
}

/* Buttons hell statt schwarz */
.main button:not(.ap-light-card):not(.ap-light-quick):not(.ap-exact-nav-btn),
.main .button,
.main .btn,
.main .small-btn,
.main .secondary {
  background: rgba(255,255,255,.62) !important;
  color: var(--read-text) !important;
  border: 1px solid rgba(255,255,255,.82) !important;
  box-shadow:
    0 10px 20px rgba(77,112,166,.10),
    inset 0 1px 0 rgba(255,255,255,.70) !important;
}

/* Primärbuttons blau */
.main button.primary,
.main .primary,
.main input[type="submit"] {
  background: linear-gradient(135deg, #4f91ff, #7bbcff) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.70) !important;
}

/* Eingaben lesbar */
.main input,
.main select,
.main textarea {
  background: rgba(255,255,255,.76) !important;
  border: 1px solid rgba(255,255,255,.90) !important;
  color: var(--read-text) !important;
}

.main input::placeholder,
.main textarea::placeholder {
  color: rgba(64,82,122,.62) !important;
}

/* Kategorie-Unterseiten */
.ap-exact-help,
.ap-exact-tool {
  background:
    radial-gradient(circle at 88% 8%, rgba(141,237,229,.18), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.70), rgba(232,242,255,.64)) !important;
  border-color: rgba(255,255,255,.84) !important;
  color: var(--read-text) !important;
}

.ap-exact-help *,
.ap-exact-tool *,
.ap-exact-back {
  color: var(--read-text) !important;
}

/* Kleine Warnung: iFrames mit bewusst schwarzem Inhalt nicht anfassen */
iframe {
  color-scheme: light;
}

/* Mobile */
@media screen and (max-width: 900px) {
  html,
  body,
  .app,
  .main {
    background:
      radial-gradient(circle at 8% 8%, rgba(255,255,255,.42), transparent 30%),
      linear-gradient(135deg, #92b5e3 0%, #dcecff 58%, #c9f0ee 100%) !important;
  }
}
