/* AlleImPlan V22.5 | Laravel optisch an Android V22.4 angleichen.
   Reines Design-Stylesheet, alle bisherigen Funktionen bleiben unberuehrt.
   Referenz: Android app/ui/theme/Color.kt und Theme.kt. */
:root {
  --aip-app-background: #f8f9f6;
  --aip-surface: #ffffff;
  --aip-surface-soft: #f0f4f0;
  --aip-accent: #14776b;
  --aip-accent-soft: #e7f3ee;
  --aip-apricot: #edaf70;
  --aip-apricot-soft: #fff0df;
  --aip-sage: #6487a9;
  --aip-sage-soft: #e8f0f6;
  --aip-text: #1d3533;
  --aip-muted: #6f867f;
  --bs-primary: #14776b;
  --bs-primary-rgb: 20, 119, 107;
  --bs-link-color: #14776b;
  --bs-link-hover-color: #0d514c;
  --bs-body-color: #1d3533;
  --bs-body-bg: #f8f9f6;
  --bs-border-color: #e5ece7;
}
body:not(.family-board-mode) {
  color: #1d3533;
  background: #f8f9f6;
}
body:not(.family-board-mode) .app-shell {
  background: #f8f9f6;
}
.app-sidebar,
.sidebar.app-sidebar.bg-white {
  background: #ffffff !important;
  border-color: #e5ece7 !important;
}
.app-sidebar-brand,
.app-sidebar-brand-mark,
.sidebar .nav-link.active,
.sidebar .nav-link.active i {
  color: #0d514c;
}
.sidebar .nav-link:hover,
.sidebar .nav-link.active {
  background: #e7f3ee;
  color: #0d514c;
}
.sidebar .nav-link:hover i { color: #14776b; }
.app-navbar {
  background: rgba(255, 255, 255, .96) !important;
  border-color: #e5ece7 !important;
  box-shadow: 0 .35rem 1.3rem rgba(29, 53, 51, .06) !important;
}
.app-mobile-identity-icon,
.app-sidebar-brand-mark,
.app-bottom-navigation-item.is-active .app-bottom-navigation-icon {
  background: #e7f3ee;
  color: #14776b;
}
.app-bottom-navigation {
  background: rgba(255,255,255,.97) !important;
  border-color: #e5ece7 !important;
  box-shadow: 0 .75rem 2rem rgba(29, 53, 51, .15) !important;
}
.app-bottom-navigation-item.is-active { color: #14776b; }
.app-main .card,
.app-main .modal-content,
.app-mobile-more,
.app-main .dropdown-menu,
.app-main .offcanvas {
  background-color: #ffffff;
  border-color: #e5ece7;
}
.app-main .card { box-shadow: 0 .35rem 1.3rem rgba(29, 53, 51, .045); }
.app-main .text-muted,
.app-main .form-text,
.app-navbar-date,
.app-navbar-date-mobile { color: #6f867f !important; }
.app-main .btn-primary,
.app-main .btn-primary:focus-visible,
.app-page-toolbar > .btn-primary {
  --bs-btn-bg: #14776b;
  --bs-btn-border-color: #14776b;
  --bs-btn-hover-bg: #0d514c;
  --bs-btn-hover-border-color: #0d514c;
  --bs-btn-active-bg: #0d514c;
  --bs-btn-active-border-color: #0d514c;
  --bs-btn-disabled-bg: #14776b;
  --bs-btn-disabled-border-color: #14776b;
  background-color: #14776b;
  border-color: #14776b;
  color: #fff;
}
.app-main .btn-primary:hover,
.app-page-toolbar > .btn-primary:hover { background-color: #0d514c; border-color: #0d514c; }
.app-main .btn-outline-primary {
  --bs-btn-color: #14776b;
  --bs-btn-border-color: #14776b;
  --bs-btn-hover-bg: #14776b;
  --bs-btn-hover-border-color: #14776b;
  --bs-btn-active-bg: #0d514c;
  --bs-btn-active-border-color: #0d514c;
}
.app-main .form-control:focus,
.app-main .form-select:focus {
  border-color: #648f83;
  box-shadow: 0 0 0 .2rem rgba(20, 119, 107, .14);
}
.app-main .badge.bg-primary,
.app-main .bg-primary { background-color: #14776b !important; }
.app-main .text-primary { color: #14776b !important; }
.app-main a:not(.btn):not(.nav-link):not(.app-bottom-navigation-item) { --bs-link-color-rgb: 20,119,107; }
/* Keep all existing media queries, layout dimensions, and accessibility behaviors. */
@media (max-width: 1199.98px) {
  .app-navbar { background: rgba(255,255,255,.96) !important; }
  .app-bottom-navigation-item.is-active { background-color: #e7f3ee; }
  .app-page-toolbar > .btn-primary {
    background-color: #14776b;
    box-shadow: 0 .7rem 1.5rem rgba(13,81,76,.22);
  }
  .modal .modal-content { background: #fff !important; }
  .calendar-content #calendar .fc-list-day-cushion,
  .task-item,
  .shopping-item { background: #f0f4f0; }
  .tasks-personal-view-switch,
  .tasks-filter,
  .shopping-add-form { background: #e7f3ee; }
  .tasks-status-button.is-active { color: #0d514c; background: #fff; }
}
@media (prefers-color-scheme: dark) {
  /* V22.5 retains the established light-mode web interface intentionally. */
}


/* ================================================================
   V22.5.1 Korrektur: sichtbare Oberflaechen statt nur Variablen.
   Android V22.4 Theme.kt: Primary 14776B, Cream F4F6F1,
   Background F8F9F6, Surface FFFFFF, Ink 1D3533.
   Layout, Funktionen, Rollen, API und Statusfarben bleiben erhalten.
   ================================================================ */
:root {
  --aip-app-background: #f8f9f6;
  --aip-surface: #ffffff;
  --aip-surface-soft: #f0f4f0;
  --aip-accent: #14776b;
  --aip-accent-soft: #e7f3ee;
  --aip-apricot: #edaf70;
  --aip-apricot-soft: #fff0df;
  --aip-sage: #6487a9;
  --aip-sage-soft: #e8f0f6;
  --aip-text: #1d3533;
  --aip-muted: #6f867f;
  --bs-primary: #14776b;
  --bs-primary-rgb: 20,119,107;
  --bs-link-color: #14776b;
  --bs-link-color-rgb: 20,119,107;
  --bs-heading-color: #1d3533;
  --bs-body-bg: #f8f9f6;
  --bs-body-color: #1d3533;
  --bs-border-color: #dce8e0;
}

/* Authentifizierte App: sichtbar andere Grundflaechen. */
body:not(.family-board-mode),
body:not(.family-board-mode) .app-shell {
  color: #1d3533;
  background: #f8f9f6 !important;
}
body:not(.family-board-mode) .app-shell .app-main {
  background: linear-gradient(155deg, #edf6f0 0, #f8f9f6 23rem, #f8f9f6 100%) !important;
  color: #1d3533;
}
body:not(.family-board-mode) .app-shell .app-content {
  background: transparent !important;
}
body:not(.family-board-mode) .app-shell .app-sidebar {
  background: #e7f3ee !important;
  border-right: 1px solid #cce2d8 !important;
  box-shadow: 3px 0 20px rgba(13,81,76,.035);
}
body:not(.family-board-mode) .app-sidebar .app-sidebar-brand {
  color: #0d514c;
}
body:not(.family-board-mode) .app-sidebar .app-sidebar-brand-mark {
  background: #14776b;
  color: #fff;
}
body:not(.family-board-mode) .app-sidebar .nav-link {
  color: #315e54;
}
body:not(.family-board-mode) .app-sidebar .nav-link i {
  color: #315e54;
}
body:not(.family-board-mode) .app-sidebar .nav-link:hover,
body:not(.family-board-mode) .app-sidebar .nav-link:focus-visible {
  background: #d2ebdf;
  color: #0d514c;
}
body:not(.family-board-mode) .app-sidebar .nav-link.active {
  background: #14776b !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(20,119,107,.16);
}
body:not(.family-board-mode) .app-sidebar .nav-link.active i {
  color: #fff !important;
}
body:not(.family-board-mode) .app-shell .app-navbar {
  background: #f0f7f2 !important;
  border-bottom: 1px solid #d1e5d9 !important;
  box-shadow: 0 .3rem 1rem rgba(13,81,76,.065) !important;
}
body:not(.family-board-mode) .app-navbar .app-navbar-title h5,
body:not(.family-board-mode) .app-navbar .app-mobile-identity-copy strong {
  color: #0d514c;
}
body:not(.family-board-mode) .app-navbar .app-mobile-identity-icon {
  background: #14776b !important;
  color: #fff !important;
  box-shadow: none;
}
body:not(.family-board-mode) .app-navbar .app-navbar-notification-button,
body:not(.family-board-mode) .app-navbar .app-navbar-account .nav-link {
  background: #e0f0e7;
  color: #0d514c;
}
body:not(.family-board-mode) .app-navbar .app-navbar-notification-button:hover,
body:not(.family-board-mode) .app-navbar .app-navbar-account .nav-link:hover {
  background: #cce8dc;
  color: #0d514c;
}

/* Karten und Dashboard im hellen Android-Surface-Stil. */
body:not(.family-board-mode) .app-main .card,
body:not(.family-board-mode) .app-main .dropdown-menu,
body:not(.family-board-mode) .app-main .modal-content {
  border-color: #dce8e0;
}
body:not(.family-board-mode) .app-main .dashboard-daily-summary {
  background: linear-gradient(115deg, #dcefe5 0%, #f0f7f2 70%, #fff0df 100%) !important;
  border: 1px solid #c7e2d3 !important;
  box-shadow: 0 .38rem 1.1rem rgba(13,81,76,.065) !important;
}
body:not(.family-board-mode) .app-main .dashboard-eyebrow,
body:not(.family-board-mode) .app-main .dashboard-daily-summary-title {
  color: #0d514c;
}
body:not(.family-board-mode) .app-main .dashboard-status-item:not(.dashboard-status-item-overdue) {
  background: rgba(255,255,255,.88);
  border: 1px solid #d8e9df;
  color: #1d3533;
}
body:not(.family-board-mode) .app-main .dashboard-status-item:not(.dashboard-status-item-overdue):hover {
  background: #e7f3ee;
}
body:not(.family-board-mode) .app-main .dashboard-overview-card,
body:not(.family-board-mode) .app-main .task-member-card,
body:not(.family-board-mode) .app-main .shopping-list-card,
body:not(.family-board-mode) .app-main .family-member-card,
body:not(.family-board-mode) .app-main .routine-card,
body:not(.family-board-mode) .app-main .settings-card,
body:not(.family-board-mode) .app-main .profile-section-card {
  background: #fff !important;
  border-color: #dce8e0 !important;
}
body:not(.family-board-mode) .dashboard-screensaver-start-button {
  background: #e7f3ee;
  color: #0d514c;
}
body:not(.family-board-mode) .dashboard-screensaver-start-button:hover {
  background: #d2ebdf;
  color: #0d514c;
}
body:not(.family-board-mode) .dashboard-count-badge,
body:not(.family-board-mode) .dashboard-card-title-icon {
  color: #14776b;
}
body:not(.family-board-mode) .app-main .btn-primary,
body:not(.family-board-mode) .app-main .app-page-toolbar > .btn-primary {
  --bs-btn-bg: #14776b;
  --bs-btn-border-color: #14776b;
  --bs-btn-hover-bg: #0d514c;
  --bs-btn-hover-border-color: #0d514c;
  --bs-btn-active-bg: #0d514c;
  --bs-btn-active-border-color: #0d514c;
  --bs-btn-disabled-bg: #14776b;
  --bs-btn-disabled-border-color: #14776b;
  color: #fff;
  background-color: #14776b;
  border-color: #14776b;
}
body:not(.family-board-mode) .app-main .btn-primary:hover,
body:not(.family-board-mode) .app-main .app-page-toolbar > .btn-primary:hover {
  background-color: #0d514c;
  border-color: #0d514c;
}
body:not(.family-board-mode) .app-main .btn-outline-primary {
  --bs-btn-color: #14776b;
  --bs-btn-border-color: #14776b;
  --bs-btn-hover-bg: #14776b;
  --bs-btn-hover-border-color: #14776b;
  --bs-btn-active-bg: #0d514c;
  --bs-btn-active-border-color: #0d514c;
}
body:not(.family-board-mode) .app-main .form-control,
body:not(.family-board-mode) .app-main .form-select,
body:not(.family-board-mode) .app-main .input-group-text {
  background-color: #fff;
  border-color: #d5e5da;
}
body:not(.family-board-mode) .app-main .form-control:focus,
body:not(.family-board-mode) .app-main .form-select:focus {
  border-color: #14776b;
  box-shadow: 0 0 0 .2rem rgba(20,119,107,.14);
}

/* Kalender, Aufgaben und Einkaufslisten: nur Flaechen und Navigation.
   Individuelle Terminfarben und offene/ueberfaellige Statusfarben bleiben. */
body:not(.family-board-mode) .planner-day-header {
  background: linear-gradient(130deg, #d8ede1, #edf6f0 57%, #fff0df) !important;
  border-color: #c7e2d3;
}
body:not(.family-board-mode) .planner-date-tile {
  background: #fff !important;
  color: #0d514c !important;
}
body:not(.family-board-mode) .planner-day-heading > span,
body:not(.family-board-mode) .planner-section-kicker {
  color: #14776b !important;
}
body:not(.family-board-mode) .planner-week-strip,
body:not(.family-board-mode) .planner-agenda,
body:not(.family-board-mode) .calendar-content,
body:not(.family-board-mode) .tasks-controls,
body:not(.family-board-mode) .shopping-add-form {
  background: #fff !important;
  border-color: #dce8e0 !important;
}
body:not(.family-board-mode) .planner-week-day.is-today,
body:not(.family-board-mode) .planner-icon-button.is-primary {
  background: #14776b !important;
  color: #fff !important;
}
body:not(.family-board-mode) .tasks-personal-view-switch a.is-active,
body:not(.family-board-mode) .tasks-status-button.is-active,
body:not(.family-board-mode) .task-member-filter-button.is-active {
  background: #e7f3ee !important;
  color: #0d514c !important;
}
body:not(.family-board-mode) .app-main .fc .fc-button-primary {
  --fc-button-bg-color: #14776b;
  --fc-button-border-color: #14776b;
  --fc-button-hover-bg-color: #0d514c;
  --fc-button-hover-border-color: #0d514c;
  --fc-button-active-bg-color: #0d514c;
  --fc-button-active-border-color: #0d514c;
}

/* Touch-Ansicht: urspruengliche warme Violett/Apricot-Dockfarbe ersetzen. */
@media (max-width: 1199.98px), (hover: none) and (pointer: coarse) {
  body:not(.family-board-mode) .app-shell .app-main {
    background: linear-gradient(155deg, #edf6f0 0%, #f8f9f6 36rem) !important;
  }
  body:not(.family-board-mode) .app-shell .app-navbar {
    background: rgba(240,247,242,.97) !important;
  }
  body:not(.family-board-mode) .app-bottom-navigation {
    border-color: #c7e2d3 !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 .85rem 2.4rem rgba(13,81,76,.15) !important;
  }
  body:not(.family-board-mode) .app-bottom-navigation-item {
    color: #658278 !important;
  }
  body:not(.family-board-mode) .app-bottom-navigation-item.is-active,
  body:not(.family-board-mode) .app-bottom-navigation-item:hover,
  body:not(.family-board-mode) .app-bottom-navigation-item:focus-visible {
    color: #0d514c !important;
  }
  body:not(.family-board-mode) .app-bottom-navigation-item.is-active .app-bottom-navigation-icon,
  body:not(.family-board-mode) .app-bottom-navigation-item:hover .app-bottom-navigation-icon {
    background: #14776b !important;
    color: #fff !important;
  }
  body:not(.family-board-mode) .app-mobile-more,
  body:not(.family-board-mode) .app-mobile-profile-card,
  body:not(.family-board-mode) .app-mobile-more-link {
    background: #f0f7f2 !important;
    color: #1d3533;
  }
  body:not(.family-board-mode) .app-mobile-more-link.is-active {
    background: #dcefe5 !important;
    color: #0d514c !important;
  }
  body:not(.family-board-mode) .app-main .task-item,
  body:not(.family-board-mode) .app-main .shopping-item {
    background: #f0f4f0;
  }
}

/* Oeffentliche Login- und Registrierungsseiten benutzen layouts.site.
   Kein Markup- oder Login-Funktionswechsel. */
body:not(.family-board-mode) > .d-flex:not(.app-shell) {
  background: linear-gradient(140deg, #e7f3ee, #f8f9f6 45%, #f8f9f6);
}
body > .d-flex:not(.app-shell) .card {
  border: 1px solid #dce8e0;
  box-shadow: 0 .6rem 1.9rem rgba(13,81,76,.09);
}
body > .d-flex:not(.app-shell) .card-header {
  background: #e7f3ee;
  color: #0d514c;
  font-weight: 700;
  border-bottom: 1px solid #dce8e0;
}
body > .d-flex:not(.app-shell) .btn-primary {
  --bs-btn-bg: #14776b;
  --bs-btn-border-color: #14776b;
  --bs-btn-hover-bg: #0d514c;
  --bs-btn-hover-border-color: #0d514c;
}
body > .d-flex:not(.app-shell) .form-control:focus {
  border-color: #14776b;
  box-shadow: 0 0 0 .2rem rgba(20,119,107,.14);
}
