/* CVC Monitorsuche - eigenstaendig und fuer serverseitiges Embedding geeignet. */
.cvc-monitor-search,
.cvc-monitor-search * { box-sizing:border-box; }

.cvc-monitor-search {
    --cvc-blue:#2f63a2;
    --cvc-blue-dark:#244f82;
    --cvc-bg:#f5f7fa;
    --cvc-border:#dfe5eb;
    --cvc-text:#24313f;
    --cvc-muted:#697582;
    --cvc-radius:8px;
    width:100%;
    color:var(--cvc-text);
    font-family:Arial, Helvetica, sans-serif;
    font-size:14px;
    line-height:1.45;
}

.cvc-monitor-search a { color:inherit; }
.cvc-monitor-search .d-none { display:none !important; }
.cvc-monitor-search .is-hidden { display:none !important; }
.cvc-monitor-search .text-secondary { color:var(--cvc-muted) !important; }
.cvc-monitor-search .text-success { color:#198754 !important; }
.cvc-monitor-search .text-uppercase { text-transform:uppercase; }
.cvc-monitor-search .fw-semibold { font-weight:600; }
.cvc-monitor-search .small { font-size:.82rem; }
.cvc-monitor-search .fs-5 { font-size:1.15rem; }
.cvc-monitor-search .mb-0 { margin-bottom:0 !important; }
.cvc-monitor-search .mb-1 { margin-bottom:.25rem !important; }
.cvc-monitor-search .mb-2 { margin-bottom:.5rem !important; }
.cvc-monitor-search .mb-3 { margin-bottom:1rem !important; }
.cvc-monitor-search .mb-4 { margin-bottom:1.35rem !important; }
.cvc-monitor-search .mt-1 { margin-top:.25rem !important; }
.cvc-monitor-search .mt-2 { margin-top:.5rem !important; }
.cvc-monitor-search .mt-3 { margin-top:1rem !important; }
.cvc-monitor-search .mt-4 { margin-top:1.35rem !important; }
.cvc-monitor-search .pt-2 { padding-top:.5rem !important; }
.cvc-monitor-search .py-2 { padding-top:.5rem; padding-bottom:.5rem; }
.cvc-monitor-search .py-3 { padding-top:1rem; padding-bottom:1rem; }
.cvc-monitor-search .py-5 { padding-top:3rem; padding-bottom:3rem; }
.cvc-monitor-search .p-3 { padding:1rem; }
.cvc-monitor-search .gap-2 { gap:.5rem; }
.cvc-monitor-search .gap-3 { gap:1rem; }
.cvc-monitor-search .d-flex { display:flex; }
.cvc-monitor-search .flex-wrap { flex-wrap:wrap; }
.cvc-monitor-search .align-items-center { align-items:center; }
.cvc-monitor-search .justify-content-between { justify-content:space-between; }
.cvc-monitor-search .text-center { text-align:center; }

.cvc-monitor-search > .row.g-4 {
    display:grid;
    grid-template-columns:minmax(270px, 330px) minmax(0,1fr);
    gap:24px;
    align-items:start;
}

.cvc-monitor-search .card,
.cvc-monitor-search .filter-card {
    background:#fff;
    border:1px solid var(--cvc-border);
    border-radius:var(--cvc-radius);
    box-shadow:0 2px 8px rgba(20,30,60,.07);
}
.cvc-monitor-search .card-header { padding:16px; border-bottom:1px solid var(--cvc-border); background:#fff; }
.cvc-monitor-search .card-body { padding:16px; }
.cvc-monitor-search .filter-column { max-height:calc(100vh - 24px); overflow:auto; }
.cvc-monitor-search h2,
.cvc-monitor-search h3 { margin-top:0; color:var(--cvc-text); }
.cvc-monitor-search .h5 { font-size:1.15rem; }
.cvc-monitor-search .h3 { font-size:1.35rem; }
.cvc-monitor-search .filter-heading {
    font-size:.82rem;
    font-weight:700;
    color:#52606d;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.cvc-monitor-search .form-label { display:block; margin-bottom:.35rem; }
.cvc-monitor-search .form-control,
.cvc-monitor-search .form-select {
    display:block;
    width:100%;
    min-height:38px;
    padding:8px 10px;
    border:1px solid #cfd7df;
    border-radius:5px;
    background:#fff;
    color:var(--cvc-text);
    font:inherit;
}
.cvc-monitor-search .form-control:focus,
.cvc-monitor-search .form-select:focus {
    outline:2px solid rgba(47,99,162,.18);
    border-color:var(--cvc-blue);
}
.cvc-monitor-search .input-group { display:flex; }
.cvc-monitor-search .input-group .form-control { border-radius:5px 0 0 5px; }
.cvc-monitor-search .input-group-text {
    display:flex; align-items:center; padding:0 10px;
    border:1px solid #cfd7df; border-left:0; border-radius:0 5px 5px 0;
    background:#f2f4f6; color:var(--cvc-muted);
}

.cvc-monitor-search .btn {
    display:inline-flex; align-items:center; justify-content:center;
    min-height:32px; padding:6px 10px; border:1px solid #aeb8c2;
    border-radius:5px; background:#fff; color:#46515d; cursor:pointer; font:inherit;
}
.cvc-monitor-search .btn:hover { border-color:var(--cvc-blue); color:var(--cvc-blue); }
.cvc-monitor-search .btn-sm { min-height:30px; font-size:.82rem; }
.cvc-monitor-search .btn-outline-secondary { background:#fff; }

.cvc-monitor-search .form-check { display:flex; align-items:flex-start; gap:8px; }
.cvc-monitor-search .form-check-input { margin:2px 0 0; accent-color:var(--cvc-blue); }
.cvc-monitor-search .form-check-label { cursor:pointer; }
.cvc-monitor-search .form-check-input:disabled + .form-check-label { color:#a7b0b8; cursor:not-allowed; }
.cvc-monitor-search .form-switch .form-check-input { width:34px; height:18px; }
.cvc-monitor-search .mode-switch { cursor:pointer; }

.cvc-monitor-search .row.g-2 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.cvc-monitor-search .row.g-2 > .col-12 { grid-column:1/-1; }
.cvc-monitor-search .row.g-2 > .col-6 { min-width:0; }

.cvc-monitor-search .dual-range { position:relative; height:34px; margin-top:.25rem; }
.cvc-monitor-search .dual-range-track,
.cvc-monitor-search .dual-range-fill { position:absolute; top:15px; height:6px; border-radius:999px; }
.cvc-monitor-search .dual-range-track { left:0; right:0; background:#dee2e6; }
.cvc-monitor-search .dual-range-fill { left:0; right:0; background:var(--cvc-blue); }
.cvc-monitor-search .dual-range-input { position:absolute; left:0; top:5px; width:100%; height:24px; padding:0; margin:0; background:transparent; pointer-events:none; appearance:none; -webkit-appearance:none; }
.cvc-monitor-search .dual-range-input::-webkit-slider-runnable-track { height:6px; background:transparent; }
.cvc-monitor-search .dual-range-input::-moz-range-track { height:6px; background:transparent; }
.cvc-monitor-search .dual-range-input::-webkit-slider-thumb { width:20px; height:20px; margin-top:-7px; border:2px solid #fff; border-radius:50%; background:var(--cvc-blue); box-shadow:0 1px 5px rgba(0,0,0,.3); pointer-events:auto; appearance:none; -webkit-appearance:none; cursor:pointer; }
.cvc-monitor-search .dual-range-input::-moz-range-thumb { width:20px; height:20px; border:2px solid #fff; border-radius:50%; background:var(--cvc-blue); box-shadow:0 1px 5px rgba(0,0,0,.3); pointer-events:auto; cursor:pointer; }

.cvc-monitor-search .sticky-summary {
    position:sticky; top:0; z-index:20; padding:8px 0;
    background:rgba(255,255,255,.96); backdrop-filter:blur(6px);
}
.cvc-monitor-search #resultsArea { position:relative; min-height:260px; }
.cvc-monitor-search .loading-cover {
    position:absolute; inset:0; z-index:10; display:flex; align-items:flex-start; justify-content:center;
    padding-top:5rem; background:rgba(255,255,255,.78);
}
.cvc-monitor-search .spinner-border {
    width:28px; height:28px; border:3px solid #d8e0e8; border-top-color:var(--cvc-blue);
    border-radius:50%; animation:cvc-monitor-spin .8s linear infinite;
}
.cvc-monitor-search .spinner-border-sm { width:15px; height:15px; border-width:2px; }
@keyframes cvc-monitor-spin { to { transform:rotate(360deg); } }

.cvc-monitor-search #resultGrid.row.g-3 {
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(235px,1fr));
    gap:16px;
    align-items:stretch;
}
.cvc-monitor-search .cvc-monitor-result-item {
    min-width:0;
    display:flex;
}
.cvc-monitor-search .cvc-monitor-result-link {
    display:flex;
    width:100%;
    height:100%;
    color:inherit;
    text-decoration:none;
}
.cvc-monitor-search .result-card {
    width:100%;
    height:100%;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    background:#fff;
    border:1px solid var(--cvc-border);
    border-radius:var(--cvc-radius);
    box-shadow:0 2px 7px rgba(20,30,60,.07);
    transition:transform .15s ease,box-shadow .15s ease;
}
.cvc-monitor-search .result-card:hover { transform:translateY(-2px); box-shadow:0 6px 15px rgba(20,30,60,.12); }
.cvc-monitor-search .result-image-wrap {
    height:180px; display:flex; align-items:center; justify-content:center; padding:14px;
    background:#fff; border-bottom:1px solid #e9ecef; overflow:hidden;
}
.cvc-monitor-search .result-image { width:100%; height:100%; object-fit:contain; }
.cvc-monitor-search .cvc-monitor-result-body,
.cvc-monitor-search .result-card .card-body {
    padding:14px;
    background:#fff;
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
}
.cvc-monitor-search .result-model { font-size:1rem; line-height:1.3; font-weight:600; }
.cvc-monitor-search .result-extra { margin-top:.65rem; padding-top:.6rem; border-top:1px solid #e9ecef; font-size:.78rem; line-height:1.4; color:#495057; }
.cvc-monitor-search .result-extra-title { display:block; margin-bottom:.2rem; font-weight:600; color:#212529; }
.cvc-monitor-search .result-extra-text {
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:4;
}
.cvc-monitor-search #noResults { margin-top:14px; }
.cvc-monitor-search .alert { padding:12px 14px; border-radius:6px; }
.cvc-monitor-search .alert-danger { color:#842029; background:#f8d7da; border:1px solid #f5c2c7; }
.cvc-monitor-search .alert-info { color:#055160; background:#cff4fc; border:1px solid #b6effb; }

.cvc-monitor-search .mobile-result-count { display:none; }

@media (max-width:1199px) {
    .cvc-monitor-search > .row.g-4 { grid-template-columns:1fr; }
    .cvc-monitor-search .filter-column { max-height:none; overflow:visible; }
    .cvc-monitor-search .mobile-result-count {
        display:flex; width:100%; align-items:center; justify-content:space-between; gap:10px;
        margin:0 0 14px; padding:10px 12px; border:0; border-radius:5px;
        background:var(--cvc-blue); color:#fff; font-weight:600; cursor:pointer;
    }
}

@media (max-width:700px) {
    .cvc-monitor-search { font-size:13.5px; }
    .cvc-monitor-search .row.g-2 { grid-template-columns:1fr; }
    .cvc-monitor-search .row.g-2 > .col-6,
    .cvc-monitor-search .row.g-2 > .col-12 { grid-column:1; }
    .cvc-monitor-search #resultGrid.row.g-3 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
    .cvc-monitor-search .result-image-wrap { height:135px; padding:8px; }
    .cvc-monitor-search .cvc-monitor-result-body,
    .cvc-monitor-search .result-card .card-body { padding:10px; }
}

/* Standalone-Seite: nur index.php, nicht fuer das eingebettete Fragment noetig. */
.cvc-monitor-page { margin:0; background:#f5f7fa; color:#24313f; font-family:Arial,Helvetica,sans-serif; }
.cvc-monitor-page__topbar { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 22px; background:#20252a; color:#fff; }
.cvc-monitor-page__brand { color:#fff; text-decoration:none; font-weight:700; font-size:18px; }
.cvc-monitor-page__langs { display:flex; gap:8px; }
.cvc-monitor-page__langs a { color:#fff; text-decoration:none; border:1px solid #9ba5af; border-radius:4px; padding:5px 8px; }
.cvc-monitor-page__langs a.is-active { background:#fff; color:#20252a; }
.cvc-monitor-page__main { padding:20px 24px 32px; }
.cvc-monitor-page__breadcrumb { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; font-size:14px; color:#697582; }
.cvc-monitor-page__breadcrumb a { color:#2f63a2; text-decoration:none; }
.cvc-monitor-page__intro { margin-bottom:22px; padding:22px 28px; background:#fff; border:1px solid #e2e7ec; border-radius:8px; box-shadow:0 2px 8px rgba(20,30,60,.06); }
.cvc-monitor-page__intro h1 { margin:0 0 8px; font-size:30px; font-weight:500; }
.cvc-monitor-page__intro p { margin:0; color:#697582; }
@media (max-width:700px) { .cvc-monitor-page__main { padding:12px; } .cvc-monitor-page__intro { padding:16px; } .cvc-monitor-page__intro h1 { font-size:24px; } }