/**
 * CSP-safe overrides: styles moved out of inline style="" and <style> blocks.
 * No inline scripts/styles — strict Content-Security-Policy (style-src-attr 'none').
 */
.doc-preview-html {
    min-height: 300px;
}

/* Cabinet: modals, Jitsi, chat */
.global-jitsi-container {
    aspect-ratio: 16/9;
    min-height: 360px;
}
.chat-modal-overlay-hidden {
    display: none;
}
.chat-contact-search-full {
    max-width: 100%;
}
.cabinet-nav-min-width {
    min-width: 6rem;
}

/* Visit guest: modals, signature */
.visit-video-modal-inner {
    height: 85vh;
}
/* Контейнер підпису: збільшено для тесту координат (було 500×200). Canvas заповнює контейнер — область малювання збігається з видимим полем. */
.consent-sig-wrap {
    position: relative;
    width: 100%;
    max-width: 560px;
    min-height: 280px;
    height: 280px;
    overflow: hidden;
}
.consent-sig-canvas-full {
    width: 100% !important;
    height: 100% !important;
    display: block;
    touch-action: none;
    cursor: crosshair;
    background: #f5f5f5;
    box-sizing: border-box;
    pointer-events: auto;
}

/* Visit partial: protocol shimmer */
.pro-protocol-shimmer-bg {
    background: linear-gradient(90deg, #e2e8f0 25%, #f1f5f9 50%, #e2e8f0 75%);
    background-size: 200% 100%;
    animation: proshimmer 1.5s ease-in-out infinite;
}

/* Archive component */
.archive-editorial-title {
    margin: 0;
}
.archive-author-avatar {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 1px solid #ddd;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    color: #4b5563;
}
.archive-author-role {
    display: block;
    font-size: 10px;
    color: #666;
}

/* Index widget modal */
.widget-view-modal-min-height {
    min-height: 100dvh;
}

/* Cabinet partials: visit, profile, services, booking */
.profile-accordion-border {
    border: 2px solid #000;
}
.pro-vital-score-label {
    color: var(--vital-label-color, #ca8a04);
}
.horizontal-timeline-card {
    min-height: 160px;
}
.visit-today-now-line {
    top: 0;
}
.option-bold {
    font-weight: 700;
}
.visit-jitsi-container-size {
    aspect-ratio: 16/9;
    min-height: 160px;
    max-height: 200px;
}
.visit-sidebar-chart-size {
    height: 100px;
    min-height: 100px;
}
.nearest-slot-hint-hidden {
    display: none;
}
.visit-widget-panel-max {
    max-width: min(560px, 92vw);
}

/* EMDR page */
.emdr-protocol-label { color: var(--mp-red, #b00000); }
.emdr-btn-continue { background: #444; }
.emdr-footer { background: #000; padding: 80px 20px; color: #fff; font-family: Georgia, serif; }
.emdr-footer-inner { max-width: 1200px; margin: 0 auto; text-align: center; }
.emdr-footer-title { font-size: 32px; font-weight: 900; text-transform: uppercase; margin: 0; }
.emdr-footer-sub { color: #666; font-family: sans-serif; font-size: 12px; letter-spacing: 2px; margin-top: 10px; }
.emdr-footer-copy { margin-top: 40px; color: #444; font-size: 11px; text-transform: uppercase; }

/* Admin: add_article, add_specialist, admin partials */
.admin-h1 { font-size: 24px; margin: 0 0 8px 0; }
.admin-lead { color: #666; font-size: 14px; margin: 0 0 20px 0; }
.admin-p-status { margin: 0 0 8px 0; color: #444; font-size: 13px; }
.admin-select-full { width: 100%; padding: 12px; border: 2px solid #1a1a1a; }
.admin-label-block { margin-top: 16px; display: block; }
.admin-textarea-body { width: 100%; min-height: 320px; padding: 12px; border: 2px solid #1a1a1a; font-family: inherit; }
.admin-btn-submit { margin-top: 16px; padding: 14px 24px; background: #1a1a1a; color: #fff; border: none; font-weight: 700; cursor: pointer; }
.admin-hr { margin: 28px 0; border: none; border-top: 2px solid #1a1a1a; }
.admin-flex-between { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.admin-h2 { font-size: 20px; margin: 0; }
.admin-link { color: #1a1a1a; font-weight: 700; }
.admin-p-muted { color: #666; margin: 0; }
.admin-form-mb { margin-bottom: 16px; }
.admin-btn-danger { padding: 10px 16px; background: #b00000; color: #fff; border: none; font-weight: 700; cursor: pointer; }
.admin-form-card { border: 2px solid #1a1a1a; padding: 14px; margin: 0 0 14px 0; background: #fafafa; }
.admin-meta { font-size: 12px; color: #666; margin-bottom: 8px; }
.admin-textarea-lead { min-height: 90px; }
.admin-textarea-body-sm { min-height: 180px; }
.admin-textarea-tldr { min-height: 80px; }
.admin-label-flex { display: flex; align-items: center; gap: 8px; text-transform: none; }
.admin-actions-flex { display: flex; gap: 8px; margin-top: 12px; }
.admin-btn-publish { padding: 10px 14px; background: #0f5132; color: #fff; border: none; font-weight: 700; cursor: pointer; }
.admin-btn-reject { padding: 10px 14px; background: #b00000; color: #fff; border: none; font-weight: 700; cursor: pointer; }
.admin-hr-light { margin: 20px 0; border: none; border-top: 1px solid #d4d4d4; }
.admin-h3 { font-size: 18px; margin: 0 0 10px 0; }
.admin-form-pub { border: 1px solid #ddd; padding: 10px; margin: 0 0 8px 0; background: #fff; }
.admin-pub-row { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.admin-pub-meta { font-size: 13px; }
.admin-pinned { margin-left: 6px; color: #0f5132; font-weight: 700; }
.admin-actions-inline { display: flex; gap: 8px; align-items: center; }
.admin-btn-sm { padding: 6px 10px; background: #1a1a1a; color: #fff; border: none; font-size: 12px; cursor: pointer; }
.admin-form-actions { margin: -6px 0 8px 0; display: flex; justify-content: flex-end; }
.admin-btn-del { padding: 6px 10px; background: #b00000; color: #fff; border: none; font-size: 12px; cursor: pointer; }
.admin-p-mt { margin-top: 20px; }
.admin-specialist-h1 { font-size: 24px; margin: 0 0 8px 0; }
.admin-specialist-lead { color: #666; font-size: 14px; margin: 0 0 20px 0; }
.admin-specialist-p { margin-bottom: 16px; color: #666; }
.admin-label-inline { display: flex; align-items: center; gap: 8px; }
.admin-hr-section { margin: 20px 0; border: 0; border-top: 2px solid #1a1a1a; }
.admin-muted-sm { margin-bottom: 12px; }
.admin-roles-wrap { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }
.admin-role-label { display: inline-flex; align-items: center; gap: 6px; margin: 0; }
.admin-muted-mt { margin-top: 8px; font-size: 0.9em; }
.admin-btn-confirm { margin-top: 16px; }
.admin-muted-mt4 { margin-top: 4px; font-size: 0.9em; }
.admin-select-mult { min-height: 80px; }
.admin-label-mt { margin-top: 12px; }
.admin-muted-4 { margin-top: 4px; }
.admin-muted-6 { margin-top: 6px; }
.admin-textarea-mono { font-family: monospace; font-size: 12px; }
.admin-label-flex-lg { display: flex; align-items: center; gap: 10px; margin-top: 14px; }
.admin-actions-mt { margin-top: 14px; }
.admin-schedule-link { display: inline-block; margin-top: 8px; padding: 8px 12px; border: 2px solid #111; background: #fff; font-weight: 800; text-decoration: none; }
.admin-schedule-edit { display: inline-block; margin-top: 8px; padding: 10px 14px; border: 2px solid #111; background: #111; color: #fff; font-weight: 800; text-decoration: none; }
.admin-form-mt10 { margin-top: 10px; }
.admin-form-mt14 { margin-top: 14px; }
.admin-link-ml { margin-left: 10px; }
.admin-form-search { display: flex; gap: 10px; margin-bottom: 12px; }
.admin-label-mt12 { margin-top: 12px; }
.admin-actions-mt14 { margin-top: 14px; }
.admin-form-mt10-inline { margin-top: 10px; }
.admin-form-mt14-inline { margin-top: 14px; }
.admin-card-error { border-color: #c00 !important; background: #fff5f5 !important; }
.admin-code-block { display: block; margin-top: 6px; word-break: break-all; }
.admin-p-mt-1rem { margin-top: 1rem; }
.admin-mb-10 { margin-bottom: 10px; }
.admin-strong-ml { margin-left: 10px; }
.admin-hr-app { border: none; border-top: 1px solid #eee; margin: 12px 0; }
.admin-pre-wrap { white-space: pre-wrap; }
.admin-mt-10 { margin-top: 10px; }
.admin-mt-12 { margin-top: 12px; }
.admin-input-app { width: 100%; padding: 10px; border: 1px solid #111; box-sizing: border-box; margin-bottom: 10px; }
.admin-flex-wrap-10 { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; }

/* Consent standalone page (public_consent.php) */
.consent-paper {
    background: #fff;
    border: 3px solid #1a1a1a;
    box-shadow: 8px 8px 0 #1a1a1a;
}
.consent-sig-canvas {
    background: #f5f5f5;
    cursor: crosshair;
    touch-action: none;
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
}
.consent-form-0037 {
    font-family: 'Times New Roman', Times, serif;
    font-size: 14px;
    line-height: 1.45;
}
.consent-form-text {
    line-height: 1.45;
}
.consent-disclaimer {
    font-size: 12px;
    color: #444;
    background: #f8fafc;
    border-left: 4px solid #0ea5e9;
    padding: 10px 12px;
    margin-bottom: 16px;
}
#signature-canvas {
    user-select: none;
    -webkit-user-select: none;
    pointer-events: auto;
}
#signature-pad-wrap.consent-signature-wrap {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-height: 280px;
    height: 280px;
    overflow: hidden;
}
.consent-modal-initially-hidden {
    display: none !important;
}
