/* =========================================================
   theme.css
   Zweck:
   - Zentrale Designvariablen
   - Grundlegende Projektfarben und UI-Bausteine
   ========================================================= */


   
:root {
    --app-primary: #0d6efd;
    --app-primary-hover: #0b5ed7;
    --app-dark: #212529;
    --app-light: #f8f9fa;
    --app-border: #dee2e6;
    --app-muted: #6c757d;
    --app-success: #198754;
    --app-warning: #ffc107;
    --app-danger: #dc3545;
    --app-card-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --app-radius: 0.75rem;

   
    --mc-primary: #0f6fff;
    --mc-primary-hover: #0b5ed7;

    --mc-dark: #091f37;

    --mc-accent: #17c6bd;
    --mc-accent-2: #1fdaa3;

    --mc-border: #e6ebf2;
    --mc-muted: #64748b;
    --mc-bg-soft: #f8fafc;
    --mc-radius: 12px;
    --mc-shadow: 0 1px 2px rgba(15,23,42,.04);
}


/* Basis */
body {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background-color: var(--app-light);
    color: #212529;
}

/* Karten */
.card {
    border-radius: var(--app-radius);
    box-shadow: var(--app-card-shadow);
}

/* Buttons */
.btn-primary {
    background-color: var(--app-primary);
    border-color: var(--app-primary);
}

.btn-primary:hover {
    background-color: var(--app-primary-hover);
    border-color: var(--app-primary-hover);
}

/* Öffentliche Kurskarten */
.course-card-image {
    height: 200px;
    object-fit: cover;
}

/* Kursdetailbild */
.course-detail-image {
    height: 300px;
    object-fit: cover;
}

/* Dashboard Sidebar */
.dashboard-sidebar {
    background-color: var(--app-dark);
}

/* Kleine Badge-Verbesserung */
.badge-soft {
    background: #f1f3f5;
    color: #343a40;
    border: 1px solid var(--app-border);
}

.booking-card .badge {
    font-weight: 600;
}

.booking-card {
    transition: all 0.2s ease;
    border-width: 1px;
    border-radius: 1rem;
    cursor: pointer;
}

.booking-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.07);
}

.dashboard-stat-card {
    border-radius: 1rem;
}

.qr-warning-card {
    background: linear-gradient(180deg, #fffaf0 0%, #fffdf8 100%);
    border-left: 5px solid #f0ad00;
}

.qr-success-card {
    background: linear-gradient(180deg, #f4fcf7 0%, #fbfffc 100%);
    border-left: 5px solid #198754;
}

.dashboard-quick-card {
    display: flex;
    align-items: center;
    gap: 10px;

    padding: 14px 16px;
    border-radius: 14px;

    background: #ffffff;
    border: 1px solid #e7ebf3;

    text-decoration: none;
    color: #172033;
    font-weight: 600;

    transition: all 0.18s ease;
}

.dashboard-quick-card i {
    font-size: 1.1rem;
    color: #2563eb;
}

.dashboard-quick-card:hover {
    background: #f8fafc;
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.06);
}

.card {
    border-radius: 18px;
    border: 1px solid #e7ebf3;
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.05);
}

/* =========================
   Ruhige Flash-Messages
========================= */
.owner-static-note{
    border:1px solid #e6ebf2;
    border-radius:12px;
    padding:14px 16px;
    background:#f8fafc;
    color:#334155;
    box-shadow:0 1px 2px rgba(0,0,0,0.04);
}

.owner-static-note strong{
    color:#0f172a;
}

.owner-static-note-warning{
    background:#fffaf0;
    border-color:#fde7b2;
    color:#8a5a00;
}

.owner-static-note-success{
    background:#f2fbf5;
    border-color:#ccebd6;
    color:#246b3d;
}

.owner-static-note-danger{
    background:#fff5f5;
    border-color:#f7c9c9;
    color:#9f2c2c;
}

.owner-static-note-info{
    background:#f4f8ff;
    border-color:#d8e5ff;
    color:#315c9a;
}

/* Close Button ruhiger */
.owner-static-note .btn-close{
    opacity:0.5;
}

.owner-static-note .btn-close:hover{
    opacity:1;
}

/* =========================
   Modern UI Badges
========================= */
.ui-badge{
    display:inline-flex;
    align-items:center;
    padding:4px 10px;
    border-radius:999px;
    font-size:.78rem;
    font-weight:600;
    letter-spacing:.02em;
    border:1px solid transparent;
}

.ui-badge-success{
    background:#ecfdf5;
    border-color:#bbf7d0;
    color:#166534;
}

.ui-badge-warning{
    background:#fffbeb;
    border-color:#fde68a;
    color:#92400e;
}

.ui-badge-danger{
    background:#fef2f2;
    border-color:#fecaca;
    color:#991b1b;
}

.ui-badge-info{
    background:#eff6ff;
    border-color:#bfdbfe;
    color:#1d4ed8;
}

.ui-badge-neutral{
    background:#f1f5f9;
    border-color:#e2e8f0;
    color:#475569;
}

