/* _content/KernkompetenzHund/Pages/Besitzer/Owners.razor.rz.scp.css */
.owners-page[b-wc95bpzs77] {
    padding: 1.5rem;
}

/* Filter: Felder sauber in „Kästchen“ */
.filter-bar[b-wc95bpzs77] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.filter-field[b-wc95bpzs77] {
    min-width: 220px;
    display: flex;
    flex-direction: column;
}

/* Button-Feld bündig unten ausrichten */
.filter-field-button[b-wc95bpzs77] {
    align-self: flex-end;
}

/* Tabellen-Styles wie gehabt */
.owners-table tr.problem-owner[b-wc95bpzs77] {
    background-color: #ffe5e5;
    border-left: 4px solid #ab6144;
}

.owners-table tr.archived-owner[b-wc95bpzs77] {
    opacity: 0.7;
}
/* _content/KernkompetenzHund/Pages/Index.razor.rz.scp.css */
/* Äußere Shell: Inhalt schön zentriert und begrenzt */
.kh-dashboard-shell[b-qm55krdsos] {
    display: flex;
    justify-content: center;
    padding: 2.5rem 1rem;
}

.kh-dashboard[b-qm55krdsos] {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;          /* zentriert den Container horizontal */
    display: block;          /* sicherstellen, dass es wie ein Block-Container wirkt */
    text-align: center;
    gap: 1rem;
}

/* Header komplett zentriert */
.kh-dashboard-header[b-qm55krdsos] {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2.5rem;
}

.kh-dashboard-header h1[b-qm55krdsos] {
    margin: 0;
    font-size: 2.4rem;
    color: #2c6433;
    font-weight: 700;
}

.kh-dashboard-logo[b-qm55krdsos] {
    max-width: 260px;
    height: auto;
}

.kh-subtitle[b-qm55krdsos] {
    color: #666;
    font-size: 1.1rem;
    margin-top: 0.5rem;
}
/* GRID für die Kacheln */
.kh-card-grid[b-qm55krdsos] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.75rem;
}

/* Echte Kacheln / Karten */
.kh-card[b-qm55krdsos] {
    display: flex;
    flex-direction: column;
    padding: 1.6rem 1.4rem;
    border-radius: 16px;
    background-color: #ffffff;
    border: 1px solid #d2ddd2;
    text-decoration: none;
    color: inherit;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.06);
    transition:
        transform 0.14s ease-out,
        box-shadow 0.14s ease-out,
        border-color 0.14s ease-out,
        background-color 0.14s ease-out;
}

.kh-card:hover[b-qm55krdsos] {
    transform: translateY(-4px);
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.12);
    border-color: #2c6433;
    background-color: #f6faf6;
}

/* Inhalt in der Kachel */
.kh-card-icon[b-qm55krdsos] {
    font-size: 2.1rem;
    margin-bottom: 0.75rem;
}

.kh-card h2[b-qm55krdsos] {
    margin: 0;
    font-size: 1.3rem;
    color: #2c6433;
}

.kh-card p[b-qm55krdsos] {
    margin-top: 0.5rem;
    margin-bottom: 0.9rem;
    font-size: 0.96rem;
    color: #555555;
}

.kh-card-link[b-qm55krdsos] {
    margin-top: auto;
    font-size: 0.92rem;
    font-weight: 600;
    color: #ab6144; /* Akzentfarbe */
}

/* Falls NavLink "active" ist, Kachel markieren */
.kh-card.active[b-qm55krdsos] {
    border-color: #ab6144;
    box-shadow: 0 14px 35px rgba(171, 97, 68, 0.35);
}

/* Mobile */
@media (max-width: 640px) {
    .kh-dashboard-shell[b-qm55krdsos] {
        padding: 1.5rem 0.8rem;
    }

    .kh-dashboard-header[b-qm55krdsos] {
        flex-direction: column;
        align-items: flex-start;
    }

    .kh-dashboard-logo[b-qm55krdsos] {
        max-width: 160px;
    }
}
/* _content/KernkompetenzHund/Pages/Termine/Appointments.razor.rz.scp.css */
.appointments-page[b-8v1ezq45b5] {
    padding: 1.5rem;
}

.appt-filter-bar[b-8v1ezq45b5] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    margin-bottom: 1rem;
}

.filter-field[b-8v1ezq45b5] {
    min-width: 200px;
    display: flex;
    flex-direction: column;
}

.filter-field-button[b-8v1ezq45b5] {
    align-self: flex-end;
}

.appt-layout[b-8v1ezq45b5] {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(260px, 2fr);
    gap: 1.5rem;
}

.appt-calendar[b-8v1ezq45b5] {
    background: #f9f9f9;
    border-radius: 8px;
    padding: 0.75rem;
    border: 1px solid #ddd;
}

.calendar-grid[b-8v1ezq45b5] {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.25rem;
}

.calendar-header[b-8v1ezq45b5] {
    font-weight: 600;
    text-align: center;
    font-size: 0.85rem;
}

.calendar-cell[b-8v1ezq45b5] {
    min-height: 60px;
    background: white;
    border-radius: 4px;
    border: 1px solid #eee;
    padding: 0.15rem 0.3rem;
    font-size: 0.8rem;
}

.calendar-cell-has-appt[b-8v1ezq45b5] {
    background-color: #ffecec;          /* leicht rot hinterlegt */
    border-color: #f5b5b5;
}

.calendar-cell-outside[b-8v1ezq45b5] {
    background: #f0f0f0;
    color: #999;
}

.calendar-date[b-8v1ezq45b5] {
    font-weight: 600;
}

.calendar-count[b-8v1ezq45b5] {
    margin-top: 0.2rem;
    font-size: 0.75rem;
}
.calendar-appt-list[b-8v1ezq45b5] {
    list-style: none;
    padding-left: 0;
    margin: 0.2rem 0 0;
}

.calendar-appt-link[b-8v1ezq45b5] {
    font-size: 0.7rem;
    text-align: left;
}

.calendar-more[b-8v1ezq45b5] {
    font-size: 0.7rem;
    color: #666;
}
/* Termine-Kalender: Farbcodes nach Art */
.calendar-appt-link.appt-type-training[b-8v1ezq45b5] {
    border-left: 3px solid #0d6efd; /* Bootstrap primary */
    padding-left: 4px;
}

.calendar-appt-link.appt-type-thp[b-8v1ezq45b5] {
    border-left: 3px solid #198754; /* Bootstrap success */
    padding-left: 4px;
}

.calendar-appt-link.appt-type-both[b-8v1ezq45b5] {
    border-left: 3px solid #6f42c1; /* lila für Kombi */
    padding-left: 4px;
}

/* Status "Verschoben" optisch anders */
.calendar-appt-link.appt-status-rescheduled[b-8v1ezq45b5] {
    text-decoration: underline dotted;
    opacity: 0.9;
}

/* Status "Abgesagt" durchgestrichen & blasser */
.calendar-appt-link.appt-status-cancelled[b-8v1ezq45b5] {
    text-decoration: line-through;
    opacity: 0.6;
}
/* Heute-Markierung im Kalender */
.calendar-cell-today[b-8v1ezq45b5] {
    border: 2px solid #198754;   /* Bootstrap-Grün */
    border-radius: 6px;
    box-sizing: border-box;
}
/* Mobile: Kalender über der Terminliste */
@media (max-width: 768px) {
    .appt-layout[b-8v1ezq45b5] {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .appt-calendar[b-8v1ezq45b5] {
        order: 0;          /* zuerst */
    }

    .appt-list[b-8v1ezq45b5] {
        order: 1;          /* danach */
    }
}
/* _content/KernkompetenzHund/Pages/Tiere/Animals.razor.rz.scp.css */
.animals-page[b-vb9li9qjqe] {
    padding: 1.5rem;
}

.filter-bar[b-vb9li9qjqe] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
    align-items: center;
}

.filter-bar .form-control[b-vb9li9qjqe] {
    max-width: 200px;
}

.animals-layout[b-vb9li9qjqe] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* optional etwas Card-Optik fürs Formular */
.animals-form[b-vb9li9qjqe] {
    padding: 1rem 1.25rem;
    border-radius: 12px;
    background-color: #ffffff;
    border: 1px solid #dde3dd;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.05);
}


.animals-table tr.problem-animal[b-vb9li9qjqe] {
    background-color: #ffe5e5;
    border-left: 4px solid #ab6144;
}

.animals-table tr.archived-animal[b-vb9li9qjqe] {
    opacity: 0.7;
}

.animal-thumb[b-vb9li9qjqe] {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 50%;
}

.animal-preview[b-vb9li9qjqe] {
    display: block;
    margin-top: 0.5rem;
    max-width: 150px;
    border-radius: 8px;
}
/* _content/KernkompetenzHund/Shared/MainLayout.razor.rz.scp.css */
.page[b-k34htujjwe] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-k34htujjwe] {
    flex: 1;
}

.sidebar[b-k34htujjwe] {
    /* Grün -> Akzentverlauf statt Blau/Lila */
    background-image: linear-gradient(180deg, #2c6433 0%, #ab6144 75%);
    /* AUSGEBLENDET */
    display: none;
}

/* Obere Leiste in hell + dezente Linie */
.top-row[b-k34htujjwe] {
    background-color: #f5f7f5;
    border-bottom: 1px solid #cfd6cf;
    justify-content: center;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

/* Container für die Links */
.top-row-links[b-k34htujjwe] {
    display: flex;
    align-items: center;
}

/* Links in der Top-Row */
.top-row-links[b-k34htujjwe]  a,
.top-row .btn-link[b-k34htujjwe] {
    white-space: nowrap;
    margin-left: 1.5rem;
    color: #2c6433; /* Links in Primärgrün */
}

.top-row-links[b-k34htujjwe]  a:hover,
.top-row .btn-link:hover[b-k34htujjwe] {
    color: #ab6144; /* Hover mit Akzentfarbe */
}

.top-row-links a:first-child[b-k34htujjwe] {
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Burger-Button – Standard: versteckt, nur Mobile zeigt ihn */
.mobile-menu-toggle[b-k34htujjwe] {
    display: none;
    border: 1px solid #2c6433;
    background-color: #ffffff;
    border-radius: 999px;
    width: 2.5rem;
    height: 2.5rem;
    font-size: 1.3rem;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin-right: 0.75rem;
}

/* MOBILE: Ausklappmenü */
@media (max-width: 640.98px) {
    /* Top-Row bleibt sichtbar, nur kompakt mit Burger */
    .top-row[b-k34htujjwe] {
        justify-content: flex-start;
        padding-left: 1rem;
        padding-right: 1rem;
        height: 3.5rem;          /* feste Höhe, wenn zu */
        flex-direction: row;
        align-items: center;
    }

    /* Burger sichtbar auf Mobile */
    .mobile-menu-toggle[b-k34htujjwe] {
        display: inline-flex;
    }

    /* Link-Container standardmäßig VERSTECKT */
    .top-row-links[b-k34htujjwe] {
        display: none;
        flex-direction: column;
        width: 100%;
        margin-top: 0.5rem;
    }

    /* Wenn Menü geöffnet: Top-Row wird Spalte, Links sichtbar */
    .top-row.open[b-k34htujjwe] {
        flex-direction: column;
        align-items: stretch;
        height: auto;            /* wächst mit den Links */
        padding-bottom: 0.5rem;
    }

    .top-row.open .top-row-links[b-k34htujjwe] {
        display: flex;
    }

    .top-row.open .nav-link[b-k34htujjwe] {
        width: 100%;
        text-align: left;
        margin: 0.25rem 0;
    }

    /* Artikel nicht verschwinden lassen, nur darunter */
    article[b-k34htujjwe] {
        padding-top: 0.5rem;
    }
}

/* DESKTOP */
@media (min-width: 641px) {
    .page[b-k34htujjwe] {
        flex-direction: row;
    }

    .sidebar[b-k34htujjwe] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-k34htujjwe] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row[b-k34htujjwe],
    article[b-k34htujjwe] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }

    /* Auf Desktop: Burger weg, Links normal als Leiste */
    .mobile-menu-toggle[b-k34htujjwe] {
        display: none;
    }

    .top-row-links[b-k34htujjwe] {
        display: flex;
    }

    .top-row .nav-link[b-k34htujjwe] {
        display: inline-flex;
        align-items: center;
    }
}
/* _content/KernkompetenzHund/Shared/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-j0vhtaonn4] {
    /* Leicht transparenter Button vor dunklem Grün */
    background-color: rgba(255, 255, 255, 0.15);
}

.top-row[b-j0vhtaonn4] {
    height: 3.5rem;
    /* Primär-Grün als Hintergrund */
    background-color: #2c6433;
}

.navbar-brand[b-j0vhtaonn4] {
    font-size: 1.1rem;
    color: #ffffff;
}

.oi[b-j0vhtaonn4] {
    width: 2rem;
    font-size: 1.1rem;
    vertical-align: text-top;
    top: -2px;
    color: #ffffff;
}

.nav-item[b-j0vhtaonn4] {
    font-size: 0.9rem;
    padding-bottom: 0.5rem;
}

.nav-item:first-of-type[b-j0vhtaonn4] {
    padding-top: 1rem;
}

.nav-item:last-of-type[b-j0vhtaonn4] {
    padding-bottom: 1rem;
}

.nav-item[b-j0vhtaonn4]  a {
    /* Heller Text für guten Kontrast auf Grün */
    color: #f5f7f5;
    border-radius: 4px;
    height: 3rem;
    display: flex;
    align-items: center;
    line-height: 3rem;
    padding-inline: 0.75rem;
}

.nav-item[b-j0vhtaonn4]  a.active {
    /* Aktiver Link: Akzentfarbe */
    background-color: #ab6144;
    color: #ffffff;
}

.nav-item[b-j0vhtaonn4]  a:hover {
    /* Hover leicht aufhellen */
    background-color: rgba(255, 255, 255, 0.18);
    color: #ffffff;
}

@media (min-width: 641px) {
    .navbar-toggler[b-j0vhtaonn4] {
        display: none;
    }

    .collapse[b-j0vhtaonn4] {
        /* Never collapse the sidebar for wide screens */
        display: block;
    }
}
