/* =====================================================================
 * V2 Belge Editörü — Runtime stilleri (Phase 5a)
 * Kullanıcı doldurma sayfası: sol form + sağ canlı önizleme.
 * ===================================================================== */

.docv2-runtime-page {
    max-width: 1700px;
    margin: 0 auto;
    padding: 18px 22px;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: #1a1a1a;
}

.docv2-runtime-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}

.docv2-runtime-header h2 {
    margin: 0;
    font-size: 22px;
    color: #1a1a1a;
    flex: 1;
}

.docv2-runtime-status {
    display: flex;
    align-items: center;
    gap: 6px;
}

.docv2-save-indicator {
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 12px;
    background: #e3f6e3;
    color: #1f6b1f;
    border: 1px solid #a3d9a3;
}

.docv2-save-indicator[data-state="dirty"] {
    background: #fff4d6;
    color: #6e4a00;
    border-color: #d88b00;
}

.docv2-save-indicator[data-state="saving"] {
    background: #e0ebff;
    color: #1a4f9b;
    border-color: #b3cdff;
}

.docv2-save-indicator[data-state="error"] {
    background: #ffe3e3;
    color: #c53030;
    border-color: #f5a3a3;
}

.docv2-runtime-description {
    color: #495057;
    margin: 0 0 14px;
    font-size: 14px;
}

.docv2-runtime-grid {
    display: grid;
    /* Önizleme geniş (2 birim), form dar (1 birim) */
    grid-template-columns: 1fr 2fr;
    gap: 16px;
    margin-top: 12px;
    /* Sticky önizlemenin yapışabilmesi için hücreler üstten hizalanır */
    align-items: start;
}

@media (max-width: 980px) {
    .docv2-runtime-grid {
        grid-template-columns: 1fr;
    }
    /* Dar ekranda alt alta; önizleme sabitlenmez */
    .docv2-runtime-preview {
        position: static;
        max-height: 60vh;
    }
}

.docv2-runtime-section-title {
    margin: 0 0 10px;
    font-size: 14px;
    font-weight: 600;
    color: #495057;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    border-bottom: 1px solid #e0e4ea;
    padding-bottom: 6px;
}

.docv2-runtime-form,
.docv2-runtime-preview {
    border: 1px solid #d0d4da;
    border-radius: 4px;
    background: #fff;
    padding: 14px 16px;
    min-height: 400px;
}

.docv2-runtime-form {
    background: #fafbfc;
}

.docv2-runtime-question {
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px dashed #e0e4ea;
}

.docv2-runtime-question:last-child {
    border-bottom: 0;
    margin-bottom: 0;
}

.docv2-runtime-question-label {
    display: block;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 4px;
    font-size: 14px;
}

/* Hesaplanan soru numarası öneki (boşsa görünmez) */
.docv2-runtime-question-num {
    color: #1a4f9b;
    font-weight: 700;
}
.docv2-runtime-question-num:not(:empty) {
    margin-right: 6px;
}

/* Liste kolonunun alt numarası (1.20.1) */
.docv2-runtime-col-num {
    color: #1a4f9b;
    font-weight: 700;
}
.docv2-runtime-col-num:not(:empty) {
    margin-right: 4px;
}

/* Gruba göre bölüm başlığı */
.docv2-runtime-group-header {
    font-weight: 700;
    font-size: 15px;
    color: #1a1a1a;
    margin: 18px 0 8px;
    padding-bottom: 4px;
    border-bottom: 1px solid #e0e4ea;
}
.docv2-runtime-group-header:first-child {
    margin-top: 0;
}
.docv2-runtime-group-num {
    color: #1a4f9b;
}
.docv2-runtime-group-num:not(:empty) {
    margin-right: 6px;
}

.docv2-runtime-question-help {
    color: #6a737d;
    font-size: 12px;
    margin-bottom: 6px;
    font-style: italic;
}

/* Phase 8-A — önem tipine göre stilli açıklama kutusu (info/warning/tip).
   helpType yoksa yukarıdaki sade görünüm korunur. */
.docv2-runtime-question-help--info,
.docv2-runtime-question-help--warning,
.docv2-runtime-question-help--tip {
    font-style: normal;
    padding: 7px 10px;
    border-left: 3px solid;
    border-radius: 0 4px 4px 0;
    line-height: 1.45;
}
.docv2-runtime-question-help--info {
    color: #1a4f9b;
    background: #eef3ff;
    border-left-color: #b3cdff;
}
.docv2-runtime-question-help--warning {
    color: #6e4a00;
    background: #fff4d6;
    border-left-color: #d88b00;
}
.docv2-runtime-question-help--tip {
    color: #2f6b2f;
    background: #eaf7ea;
    border-left-color: #a3d9a3;
}
.docv2-runtime-question-help-icon {
    font-style: normal;
    margin-right: 2px;
}

/* Phase 9-G — uzun açıklamayı 4 satıra kısıtla; toggle ile aç/kapa */
.docv2-help-clamp {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.docv2-help-toggle {
    background: none;
    border: none;
    padding: 2px 0;
    margin: 2px 0 6px;
    color: #1a4f9b;
    font-size: 12px;
    cursor: pointer;
    text-decoration: underline;
}
.docv2-help-toggle:hover {
    color: #123a73;
}

/* Phase 8-A — belge üstü uyarı bandı (V1 Warning'den aktarılır) */
.docv2-runtime-warning {
    margin: 0 0 14px;
    padding: 10px 14px;
    background: #fff4d6;
    border: 1px solid #d88b00;
    border-radius: 6px;
    color: #6e4a00;
    font-size: 14px;
    font-weight: 500;
}

.docv2-runtime-question-input {
    margin-top: 4px;
}

/* Phase 5d — Validation error state */
.docv2-runtime-question-error {
    margin-top: 4px;
    min-height: 0;
    color: #c53030;
    font-size: 12px;
    font-style: italic;
    line-height: 1.4;
}

/* Uyarı (severity:'warning') — gönderimi engellemez, dikkat çeker.
   Hata slotundan AYRI: ikisi aynı anda da görünebilir. */
.docv2-runtime-question-warning {
    margin-top: 4px;
    padding: 5px 9px;
    border-left: 3px solid #d69e2e;
    border-radius: 3px;
    background: #fffbeb;
    color: #7a5502;
    font-size: 12px;
    line-height: 1.45;
}

.docv2-runtime-question-warning::before {
    content: "\26A0";
    margin-right: 5px;
    font-weight: 700;
}

.docv2-runtime-question.is-warned:not(.is-invalid) input.docv2-runtime-input,
.docv2-runtime-question.is-warned:not(.is-invalid) select.docv2-runtime-input {
    border-color: #d69e2e;
    background-color: #fffdf5;
}

.docv2-runtime-question.is-invalid .docv2-runtime-input,
.docv2-runtime-question.is-invalid input[type="radio"]:focus,
.docv2-runtime-question.is-invalid input[type="checkbox"]:focus {
    border-color: #c53030;
}

.docv2-runtime-question.is-invalid .docv2-runtime-question-label {
    color: #c53030;
}

.docv2-runtime-question.is-invalid input.docv2-runtime-input,
.docv2-runtime-question.is-invalid select.docv2-runtime-input {
    border-color: #c53030;
    background-color: #fff5f5;
}

.docv2-runtime-input {
    width: 100%;
    box-sizing: border-box;
}

.docv2-runtime-radio,
.docv2-runtime-checkbox {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 3px 0;
    cursor: pointer;
    font-weight: normal;
    margin: 0;
}

.docv2-runtime-radio input,
.docv2-runtime-checkbox input {
    margin: 0;
}

.docv2-runtime-empty,
.docv2-runtime-empty-options {
    color: #6a737d;
    font-style: italic;
    padding: 14px;
    text-align: center;
}

.docv2-runtime-placeholder {
    color: #adb5bd;
    font-style: italic;
    padding: 6px 10px;
    background: #f0f1f3;
    border: 1px dashed #cbd2d9;
    border-radius: 3px;
    font-size: 12px;
}

.docv2-runtime-body-placeholder {
    color: #adb5bd;
    font-style: italic;
    padding: 80px 20px;
    text-align: center;
}

/* =====================================================================
 * Phase 5b: Body renderer typography + custom node chip'leri
 * ===================================================================== */

/* Belge önizleme bloğunun içeriği — Word benzeri konum.
   Form uzasa da önizleme scroll'da sabit (sticky) kalır; belge neredeyse tüm
   viewport boyunca görünür, daha uzunsa kendi içinde kayar. */
.docv2-runtime-preview {
    font-size: 14px;
    line-height: 1.65;
    color: #1a1a1a;
    overflow-y: auto;
    position: sticky;
    top: 12px;
    align-self: start;
    max-height: calc(100vh - 28px);
}

#docv2-runtime-body-mount > * {
    word-break: break-word;
}

/* Phase 19 — önizlemede her sayfa bölümü (section) bir A4 "kâğıt" olarak
   gösterilir; yön (dikey/yatay) genişlik + en-boy oranıyla yansır. Ekranda
   gerçek sayfalama yok — kâğıt yönü/oranı gösterilir, içerik kâğıt içinde akar. */
#docv2-runtime-body-mount .docv2-doc-section {
    background: #fff;
    border: 1px solid #dfe3e8;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    margin: 0 auto 18px;
    padding: 32px 36px;
    box-sizing: border-box;
    width: 100%;
}
/* A4 oranları (genişlik üst sınırları ekran ölçeğinde) */
#docv2-runtime-body-mount .docv2-doc-section.docv2-orient-portrait {
    max-width: 720px;   /* ~A4 dikey */
    min-height: 1018px; /* 720 * 1.414 */
}
#docv2-runtime-body-mount .docv2-doc-section.docv2-orient-landscape {
    max-width: 1018px;  /* ~A4 yatay */
    min-height: 720px;  /* 1018 / 1.414 */
}
/* Önizleme kabı, geniş (yatay) kâğıtların yatay kaymasına izin versin */
.docv2-runtime-preview { overflow-x: auto; }

/* Phase 22 — liste hücresinde çoklu seçim (multicheckbox) */
.docv2-multicheck {
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding: 2px 0;
}
.docv2-multicheck-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: normal;
    margin: 0;
    font-size: 14px;
    line-height: 1.3;
    padding: 5px 6px;
    border-radius: 6px;
    cursor: pointer;
}
.docv2-multicheck-item:hover { background: #f3f6fb; }
.docv2-multicheck-item input[type="checkbox"] { margin: 0; flex: 0 0 auto; width: 16px; height: 16px; }
/* Liste kartında çoktan-seçim kutusunu daha ferah göster */
.docv2-runtime-list-card-field .docv2-multicheck.docv2-runtime-list-cell { padding: 4px 6px; }

/* Phase 21 — hesaplanan alan (read-only gösterim) */
.docv2-runtime-computed {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid #d9cdfb;
    border-left: 3px solid #7c4dff;
    border-radius: 4px;
    background: #faf8ff;
}
.docv2-runtime-computed-badge {
    background: #5a32d6; color: #fff; font-size: 10px; font-weight: 700;
    padding: 2px 6px; border-radius: 2px; white-space: nowrap;
}
.docv2-runtime-computed-value { font-weight: 600; color: #2a1a6a; }

/* Phase 20 — gömülü belge referansı (içerik normal akar; ince işaret) */
#docv2-runtime-body-mount .docv2-doc-ref-embed {
    /* görsel olarak ayırt edilebilir hafif bir sol şerit */
    border-left: 2px solid #d9cdfb;
    padding-left: 10px;
    margin: 4px 0;
}
#docv2-runtime-body-mount .docv2-doc-ref-missing {
    color: #b08900;
    background: #fff8e1;
    border: 1px dashed #ffd66b;
    border-radius: 4px;
    padding: 8px 10px;
}

#docv2-runtime-body-mount p {
    margin: 0 0 0.6em;
}

#docv2-runtime-body-mount h1,
#docv2-runtime-body-mount h2,
#docv2-runtime-body-mount h3,
#docv2-runtime-body-mount h4,
#docv2-runtime-body-mount h5,
#docv2-runtime-body-mount h6 {
    margin: 0.8em 0 0.3em;
    color: #1a1a1a;
    font-weight: 600;
}

#docv2-runtime-body-mount h1 { font-size: 1.7em; }
#docv2-runtime-body-mount h2 { font-size: 1.4em; }
#docv2-runtime-body-mount h3 { font-size: 1.2em; }
#docv2-runtime-body-mount h4 { font-size: 1.05em; }

#docv2-runtime-body-mount ul,
#docv2-runtime-body-mount ol {
    margin: 0 0 0.6em 1.6em;
    padding: 0;
}

#docv2-runtime-body-mount blockquote {
    margin: 0.6em 0;
    padding-left: 12px;
    border-left: 3px solid #cbd2d9;
    color: #5a6470;
}

#docv2-runtime-body-mount code {
    background: #f4f5f7;
    padding: 1px 4px;
    border-radius: 3px;
    font-family: 'SF Mono', Menlo, Consolas, monospace;
    font-size: 0.9em;
}

#docv2-runtime-body-mount pre {
    background: #2a2f36;
    color: #f0f0f0;
    padding: 10px 12px;
    border-radius: 4px;
    overflow-x: auto;
    margin: 0.6em 0;
}

#docv2-runtime-body-mount pre code {
    background: transparent;
    color: inherit;
    padding: 0;
}

#docv2-runtime-body-mount a {
    color: #1a4f9b;
    text-decoration: underline;
}

#docv2-runtime-body-mount hr {
    border: none;
    border-top: 1px solid #cbd2d9;
    margin: 1em 0;
}

/* ---------- Custom node chip'leri (runtime body) ---------- */

.docv2-body-field-ref {
    display: inline-block;
    background: #e0ebff;
    color: #1a4f9b;
    padding: 1px 6px;
    border-radius: 3px;
    font-weight: 500;
    border: 1px solid #b3cdff;
}

.docv2-body-field-ref-empty {
    background: #fff4d6;
    color: #6e4a00;
    border-color: #d88b00;
    font-style: italic;
    font-weight: normal;
}

.docv2-body-field-ref-missing {
    background: #ffe3e3;
    color: #c53030;
    border-color: #f5a3a3;
}

/* Formda bir soruya odaklanılınca gövdedeki karşılığı işaretlenir
   (V1'de sarı boyamaydı; burada V2'nin kendi focus dili: mavi halka).
   Gövde her değişiklikte yeniden çizildiği için sınıf render sonrası
   yeniden uygulanır — runtime-init/set-runtime-init. */
.docv2-body-field-ref.is-active,
.docv2-body-list-ref.is-active {
    border-color: #6b9eff;
    box-shadow: 0 0 0 3px rgba(107, 158, 255, 0.28);
}

.docv2-body-field-ref,
.docv2-body-list-ref {
    transition: box-shadow 0.15s, border-color 0.15s;
}

/* Phase 7-J — inline liste referansı (listRef). field-ref ile aynı
   görünüm; metin akışında doğal okunsun diye satır içi. */
.docv2-body-list-ref {
    display: inline;
    background: #e3f2e3;
    color: #1f6b34;
    padding: 1px 5px;
    border-radius: 3px;
    font-weight: 500;
    border: 1px solid #b6dcb6;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.docv2-body-list-ref-empty {
    background: #fff4d6;
    color: #6e4a00;
    border-color: #d88b00;
    font-style: italic;
    font-weight: normal;
}

.docv2-body-conditional-mark {
    background: rgba(255, 195, 0, 0.18);
    border-bottom: 1px dotted #c88f00;
    padding: 0 1px;
    border-radius: 2px;
}

/* Uyarı Notu (noteMark) — yalnız doldurma ekranı; PDF/Word'e gitmez.
   Hover öncesi: soluk kesikli alt çizgi + küçük ⓘ. Hover: #docv2-note-tip. */
.docv2-body-note {
    border-bottom: 1px dashed rgba(91, 143, 214, 0.7);
    cursor: help;
}

.docv2-body-note::after {
    content: 'ⓘ';
    font-size: 0.7em;
    line-height: 0;
    color: #5b8fd6;
    vertical-align: super;
    margin-left: 1px;
    pointer-events: none;
}

.docv2-body-note:hover {
    background: rgba(91, 143, 214, 0.12);
}

#docv2-note-tip {
    position: fixed;
    z-index: 1200;
    box-sizing: border-box;
    padding: 10px 14px;
    background: #fff;
    color: #333;
    font-size: 13px;
    line-height: 1.5;
    text-align: left;
    border: 1px solid #cfdcef;
    border-left: 4px solid #5b8fd6;
    border-radius: 4px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    pointer-events: none;
}

#docv2-note-tip[hidden] {
    display: none;
}

#docv2-note-tip p {
    margin: 0 0 0.5em;
}

#docv2-note-tip p:last-child,
#docv2-note-tip ul,
#docv2-note-tip ol {
    margin-bottom: 0;
}

#docv2-note-tip ul,
#docv2-note-tip ol {
    padding-left: 1.4em;
}

.docv2-body-conditional-block {
    position: relative;
    border-left: 3px solid #ffc300;
    padding: 6px 10px 1px 14px;
    margin: 0.6em 0;
    background: rgba(255, 195, 0, 0.04);
    border-radius: 0 3px 3px 0;
}

.docv2-body-conditional-block.has-rule::before {
    content: 'KOŞULLU';
    position: absolute;
    top: -8px;
    left: 8px;
    background: #ffc300;
    color: #6e4a00;
    padding: 1px 6px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.6px;
    border-radius: 2px;
    pointer-events: none;
}

.docv2-body-conditional-block > *:last-child {
    margin-bottom: 0;
}

.docv2-body-snippet {
    display: inline-block;
    background: #f0e6ff;
    color: #5a2b9b;
    padding: 1px 6px;
    border-radius: 3px;
    border: 1px solid #c9b3ff;
    font-size: 0.92em;
}

.docv2-body-profile-field {
    display: inline-block;
    background: #e3f6e3;
    color: #1f6b1f;
    padding: 1px 6px;
    border-radius: 3px;
    border: 1px solid #a3d9a3;
    font-size: 0.92em;
}

.docv2-body-list-block {
    display: block;
    padding: 10px 12px;
    margin: 0.6em 0;
    background: #f6f7f9;
    border: 1px dashed #a0a8b1;
    border-radius: 4px;
    color: #495057;
    font-size: 0.92em;
}

.docv2-body-list-empty {
    color: #adb5bd;
    font-style: italic;
}

/* Phase 5e-1 — listBlock render modları (body) */
.docv2-body-list-table {
    border-collapse: collapse;
    width: 100%;
    margin: 0.6em 0;
    font-size: 0.95em;
}

.docv2-body-list-table th,
.docv2-body-list-table td {
    border: 1px solid #d0d4da;
    padding: 4px 8px;
    text-align: left;
    vertical-align: top;
}

.docv2-body-list-table th {
    background: #f4f5f7;
    font-weight: 600;
    color: #1a1a1a;
}

.docv2-body-list-numbered,
.docv2-body-list-bulleted {
    margin: 0.6em 0 0.6em 1.6em;
    padding: 0;
}

.docv2-body-list-comma {
    /* inline span; ek stil yok */
}

/* Satır içi liste yerleşimi (listInline) — metnin devamı olarak akar, kendi
   satırına düşmemeli: blok etiket üretmeyen render yollarının sarmalayıcısı. */
.docv2-body-list-inline {
    display: inline;
}

/* Phase 7-Y — İmza grid'i (table layout; Word/PDF güvenli) */
.docv2-body-sig {
    width: 100%;
    border-collapse: collapse;
    margin: 1.2em 0 0.6em;
}
.docv2-body-sig td.docv2-body-sig-cell {
    border: none;
    vertical-align: bottom;
    text-align: center;
    padding: 18px 12px 6px;
}
.docv2-body-sig-line {
    border-top: 1px solid #000;
    min-height: 28px;
    margin: 0 8px 6px;
}
.docv2-body-sig-name {
    font-weight: 600;
}
.docv2-body-sig-role {
    color: #333;
    font-size: 0.95em;
}

/* Phase 5e-1 — form-side liste tablosu */
.docv2-runtime-list-table {
    border-collapse: collapse;
    width: 100%;
    margin-top: 4px;
    font-size: 13px;
}

.docv2-runtime-list-table thead th {
    background: #f4f5f7;
    color: #495057;
    font-weight: 600;
    font-size: 12px;
    padding: 4px 6px;
    border: 1px solid #d0d4da;
    text-align: left;
}

.docv2-runtime-list-table tbody td {
    border: 1px solid #d0d4da;
    padding: 3px 4px;
    background: #fff;
    vertical-align: middle;
}

.docv2-runtime-list-num {
    width: 32px;
    text-align: center;
    color: #6a737d;
    font-size: 11px;
}

.docv2-runtime-list-actions {
    width: 40px;
    text-align: center;
}

/* Satır-koşullu kolon: koşulu sağlamayan satırda hücre boş (td yerinde kalır);
   hiçbir satırda görünmüyorsa başlık + hücreler sütun olarak düşer */
.docv2-runtime-list-table .docv2-rowvis-off {
    background: #fafbfc;
}

.docv2-runtime-list-table .docv2-rowvis-col-off {
    display: none;
}

.docv2-runtime-list-cell {
    width: 100%;
    box-sizing: border-box;
    padding: 3px 6px;
    border: 1px solid transparent;
    background: transparent;
    font-size: 13px;
}

.docv2-runtime-list-cell:focus {
    outline: none;
    border-color: #6b9eff;
    background: #f4f8ff;
}

.docv2-runtime-list-add {
    margin-top: 6px;
}

/* Phase 5e-1 — kolon sayısı ≥4 ise kart layout (yatay tablo sıkışmasın diye) */
.docv2-runtime-list-cards {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 4px;
}

.docv2-runtime-list-card {
    border: 1px solid #e3e8ee;
    border-radius: 10px;
    background: #fff;
    padding: 14px 18px 16px;
    box-shadow: 0 1px 3px rgba(16, 24, 40, 0.05);
}
.docv2-runtime-list-card:focus-within {
    border-color: #b9cdf0;
    box-shadow: 0 2px 10px rgba(63, 110, 196, 0.10);
}

.docv2-runtime-list-card-header {
    display: flex;
    align-items: center;
    gap: 6px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eef1f5;
    margin-bottom: 14px;
}

.docv2-runtime-list-card-header .docv2-runtime-list-num {
    background: #eef3fb;
    color: #3f6ec4;
    border: 1px solid #dbe6f7;
    border-radius: 999px;
    min-width: 26px;
    text-align: center;
    padding: 2px 10px;
    font-size: 12px;
    font-weight: 700;
}

/* Her alan kendi satırında (tek sütun) — daha sade, kolay okunur */
.docv2-runtime-list-card-body {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    align-items: start;
}

.docv2-runtime-list-card-field {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 0;
    font-weight: normal;
}

.docv2-runtime-list-card-field-label {
    font-size: 12.5px;
    color: #44505c;
    font-weight: 600;
    line-height: 1.3;
}

.docv2-runtime-list-card-field .docv2-runtime-list-cell {
    padding: 8px 11px;
    border: 1px solid #d7dce3;
    border-radius: 8px;
    background: #fff;
    font-size: 14px;
    transition: border-color 0.12s, box-shadow 0.12s;
}

.docv2-runtime-list-card-field .docv2-runtime-list-cell:hover {
    border-color: #b9c2cd;
}

.docv2-runtime-list-card-field .docv2-runtime-list-cell:focus {
    outline: none;
    border-color: #6b9eff;
    box-shadow: 0 0 0 3px rgba(107, 158, 255, 0.18);
}
/* Phase 28.4 — kolon açıklaması (doldururken ipucu) */
.docv2-runtime-col-hint { margin-top: 3px; font-size: 12px; line-height: 1.35; }
.docv2-runtime-col-hint-normal { color: #7a838c; }
.docv2-runtime-col-hint-important { color: #2c3a47; font-weight: 600; }
.docv2-runtime-col-hint-warning { color: #b03b2e; font-weight: 600; }
/* Tablo görünümünde kolon notu: başlıkta ikon + tablonun üstünde etiketli kutu */
.docv2-runtime-col-notes { display: flex; flex-direction: column; gap: 6px; margin-bottom: 8px; }
.docv2-runtime-col-notes .docv2-runtime-col-note { margin: 0; }
.docv2-runtime-col-note-icon { cursor: help; font-weight: 400; }
.docv2-runtime-col-note-icon--warning { color: #ffa500; }
.docv2-runtime-col-note-icon--info { color: #3b82c4; }

.docv2-body-empty {
    color: #adb5bd;
    font-style: italic;
}

.docv2-body-unknown {
    color: #c53030;
    background: #ffe3e3;
    padding: 1px 4px;
    border-radius: 2px;
    font-size: 0.85em;
    font-family: monospace;
}

.docv2-runtime-footer {
    margin-top: 20px;
    display: flex;
    gap: 10px;
    align-items: center;
    border-top: 1px solid #e0e4ea;
    padding-top: 14px;
}

/* ============================================================
   Phase 5g — Set runtime
============================================================ */

.docv2-runtime-set-grid {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 16px;
}

.docv2-runtime-set-sidebar {
    background: #f7f8fa;
    border: 1px solid #e0e4ea;
    border-radius: 4px;
    padding: 12px;
    height: fit-content;
    position: sticky;
    top: 10px;
}

.docv2-runtime-doc-tabs {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.docv2-runtime-doc-tab a {
    display: block;
    padding: 8px 10px;
    border-radius: 3px;
    color: #1a1a1a;
    text-decoration: none;
    font-size: 0.95em;
    border: 1px solid transparent;
}

.docv2-runtime-doc-tab a:hover {
    background: #fff;
    border-color: #d0d4da;
}

.docv2-runtime-doc-tab.is-active a {
    background: #fff;
    border-color: #6b9eff;
    color: #1c4faf;
    font-weight: 600;
}

.docv2-runtime-set-main {
    min-width: 0;
}

/* Phase 17 — belge seçici dropdown bar (sidebar yerine) */
.docv2-runtime-doc-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f7f8fa;
    border: 1px solid #e0e4ea;
    border-radius: 4px;
    padding: 8px 12px;
    margin-bottom: 14px;
}
.docv2-runtime-doc-bar-label {
    margin: 0;
    font-weight: 600;
    color: #36404a;
    font-size: 0.95em;
}
.docv2-runtime-doc-select {
    flex: 0 1 360px;
    max-width: 100%;
    padding: 6px 10px;
    border: 1px solid #cbd2d9;
    border-radius: 4px;
    background: #fff;
    font-size: 0.95em;
}
.docv2-runtime-doc-exports {
    margin-left: auto;
    display: flex;
    gap: 6px;
}
.docv2-runtime-resume-note {
    background: #eaf4ff;
    border: 1px solid #b6d6fb;
    color: #1c4faf;
    border-radius: 4px;
    padding: 7px 12px;
    margin-bottom: 12px;
    font-size: 0.9em;
}

@media (max-width: 900px) {
    .docv2-runtime-set-grid {
        grid-template-columns: 1fr;
    }
    .docv2-runtime-set-sidebar {
        position: static;
    }
    .docv2-runtime-doc-tabs {
        flex-direction: row;
        flex-wrap: wrap;
    }
}

.docv2-runtime-profile-meta {
    display: block;
    margin-top: 4px;
    font-size: 0.85em;
    color: #6a737d;
}

.docv2-runtime-input-readonly {
    background: #f0f2f5;
    cursor: not-allowed;
}

/* Phase 6 — Tab export ikonları */
.docv2-runtime-tab-exports {
    display: inline-flex;
    gap: 6px;
    margin-left: auto;
    padding-left: 8px;
}
.docv2-runtime-tab-exports a {
    color: #6a737d;
    text-decoration: none;
    font-size: 1.05em;
}
.docv2-runtime-tab-exports a:hover { color: #1c4faf; }

.docv2-runtime-doc-tab {
    display: flex;
    align-items: center;
}
.docv2-runtime-doc-tab > a {
    flex: 1;
}

/* Phase 7-R — form doldururken firma seçici */
.docv2-firm-picker {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px 0;
    padding: 10px 14px;
    background: #eef3ff;
    border: 1px solid #b3cdff;
    border-radius: 6px;
    flex-wrap: wrap;
}
.docv2-firm-picker-label {
    font-weight: 600;
    color: #1a4f9b;
    font-size: 13px;
}
.docv2-firm-picker-select {
    flex: 1 1 280px;
    max-width: 480px;
    padding: 6px 10px;
    border: 1px solid #b3cdff;
    border-radius: 4px;
    font-size: 13px;
    background: #fff;
}

/* Phase 9-A — palet genişlemesi (önizleme) */
#docv2-runtime-body-mount .docv2-page-break {
    border-top: 1px dashed #b0b0b0;
    margin: 14px 0;
    position: relative;
}
#docv2-runtime-body-mount .docv2-page-break::before {
    content: 'Sayfa Sonu';
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    color: #999;
    font-size: 10px;
    padding: 0 6px;
}
#docv2-runtime-body-mount table.docv2-content-table {
    border-collapse: collapse;
    width: 100%;
    margin: 0.8em 0;
    line-height: 1.4;
}
/* Hücrede kelime ortasından bölme yok (gövdenin break-word'ü sütunları harf
   harf daraltıyordu); sığmayan tablo kâğıt içinde yatay kayar. */
#docv2-runtime-body-mount table.docv2-content-table td,
#docv2-runtime-body-mount table.docv2-content-table th {
    border: 1px solid #c9cfd6;
    padding: 5px 8px;
    vertical-align: top;
    word-break: normal;
    overflow-wrap: break-word;
}
#docv2-runtime-body-mount table.docv2-content-table th {
    background: #f1f4f7;
    color: #2b3440;
    font-weight: 600;
    vertical-align: middle;
}
#docv2-runtime-body-mount table.docv2-content-table p {
    margin: 0;
}
#docv2-runtime-body-mount table.docv2-content-table p + p {
    margin-top: 0.3em;
}
#docv2-runtime-body-mount table.docv2-content-table-dense {
    font-size: 12px;
    line-height: 1.35;
}
#docv2-runtime-body-mount table.docv2-content-table-dense td,
#docv2-runtime-body-mount table.docv2-content-table-dense th {
    padding: 4px 5px;
}
#docv2-runtime-body-mount .docv2-doc-section {
    overflow-x: auto;
}
/* Hücredeki cevap: kenarlıksız hafif zemin — satır kırılınca yarım çerçeve
   kalmaz, zemin her satırda ayrı çizilir. */
#docv2-runtime-body-mount table.docv2-content-table .docv2-body-list-ref,
#docv2-runtime-body-mount table.docv2-content-table .docv2-body-field-ref {
    display: inline;
    border: 0;
    padding: 0 2px;
    border-radius: 2px;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}
#docv2-runtime-body-mount table.docv2-content-table .docv2-body-list-ref.is-active,
#docv2-runtime-body-mount table.docv2-content-table .docv2-body-field-ref.is-active {
    box-shadow: none;
    background: #d9e7ff;
    color: #1a4f9b;
}
/* V1'den gelen kenarlıksız YERLEŞİM tablosu — kenarlık/başlık zemini yok. */
#docv2-runtime-body-mount table.docv2-content-table-plain td,
#docv2-runtime-body-mount table.docv2-content-table-plain th {
    border: none;
    background: none;
}
#docv2-runtime-body-mount table.docv2-content-table-plain p {
    margin: 0;
}
/* İmza satırı ("Toplantı Başkanı", "Bakanlık Temsilcisi", …) — imza grid'iyle
   (.docv2-body-sig) aynı görünüm. */
#docv2-runtime-body-mount table.docv2-content-table-sig {
    margin: 1.2em 0 0.6em;
}
#docv2-runtime-body-mount table.docv2-content-table-sig td {
    text-align: center;
    vertical-align: bottom;
    padding: 18px 12px 6px;
}
#docv2-runtime-body-mount mark {
    background: #fff176;
}

/* =====================================================================
   Doldurma ilerlemesi (progress.js) — tek belge yüzde rozeti + mini bar
   ===================================================================== */
.docv2-progress {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-left: 8px;
    font-size: 12px;
    color: #445;
    white-space: nowrap;
}
.docv2-progress-text {
    font-weight: 600;
}
.docv2-progress-bar {
    display: inline-block;
    width: 110px;
    height: 8px;
    border-radius: 5px;
    background: #e6e9ef;
    overflow: hidden;
    vertical-align: middle;
}
.docv2-progress-bar-fill {
    display: block;
    height: 100%;
    border-radius: 5px;
    background: linear-gradient(90deg, #4a90d9, #2e7d32);
    transition: width 0.25s ease;
}

/* Set — "X/Y belge dolduruldu" özeti (doc-bar) */
.docv2-doc-progress-summary {
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 12px;
    background: #fff4d6;
    color: #6e4a00;
    border: 1px solid #e0c583;
    white-space: nowrap;
}
.docv2-doc-progress-summary[data-state="done"] {
    background: #e3f6e3;
    color: #1f6b1f;
    border-color: #a3d9a3;
}

/* =====================================================================
   Eksik zorunlu alan modalı (submit-guard.js)
   ===================================================================== */
.docv2-submit-guard-overlay {
    position: fixed;
    inset: 0;
    z-index: 10050;
    background: rgba(20, 24, 32, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.docv2-submit-guard-modal {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
    width: 100%;
    max-width: 520px;
    max-height: 80vh;
    overflow-y: auto;
    padding: 18px 20px;
}
.docv2-submit-guard-title {
    margin: 0 0 6px 0;
    font-size: 16px;
    color: #8a5a00;
}
.docv2-submit-guard-title .fa {
    color: #d88b00;
    margin-right: 6px;
}
.docv2-submit-guard-desc {
    margin: 0 0 12px 0;
    font-size: 13px;
    color: #556;
}
.docv2-submit-guard-groups {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 14px;
}
.docv2-submit-guard-group {
    border: 1px solid #e6e9ef;
    border-radius: 8px;
    padding: 8px 10px;
    background: #fafbfc;
}
.docv2-submit-guard-group-head {
    display: block;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 2px 0 6px 0;
    font-weight: 600;
    font-size: 13px;
    color: #1a4f9b;
    cursor: pointer;
}
.docv2-submit-guard-group-head:hover {
    text-decoration: underline;
}
.docv2-submit-guard-count {
    font-weight: 400;
    font-size: 12px;
    color: #c05621;
    margin-left: 6px;
}
.docv2-submit-guard-items {
    margin: 0;
    padding-left: 18px;
    font-size: 13px;
    color: #333;
}
.docv2-submit-guard-items li {
    margin: 2px 0;
}
.docv2-submit-guard-more {
    color: #778;
    font-style: italic;
}
.docv2-submit-guard-footer {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    align-items: center;
    border-top: 1px solid #eceff3;
    padding-top: 12px;
}

/* =====================================================================
   Satın alım öncesi önizleme paywall'u (yalnız SON KULLANICI için)

   Belge geliştiren admin bu sınıfı hiç almaz (ctx.commerce.previewUnlocked)
   — test ederken belgeyi tam görür ve çıktısını alabilir.

   Bulanıklık İÇERİĞE uygulanır, kap üzerine kaplama konmaz: önizleme kabı
   kendi içinde kayan (overflow-y:auto) bir alan olduğundan, absolute bir
   kaplama içerikle birlikte kayıp ekranın ortasında bir bant gibi kalıyordu.
   İlk birkaç blok tanıtım olarak net bırakılır, gerisi bulanıklaşır.
   ===================================================================== */
.docv2-preview-paywalled {
    user-select: none;
    -webkit-user-select: none;
}

/* Ölçülü blur: yalnız cevap içermeyen cümle/satırlar (markUnansweredBlocks)
   bulanık; kullanıcının girdiği cevabı taşıyan blok net kalır. Ön İzleme
   penceresi (.docv2-v1-preview-wrap) aynı işaretli HTML'i taşır. */
.docv2-preview-paywalled .docv2-pw-blur {
    filter: blur(3px);
    -webkit-filter: blur(3px);
    pointer-events: none;
}

/* Uyarı şeridi kaydırma alanının altına yapışır (sticky) — içerikle birlikte
   kaymaz, kullanıcı belgede nereye giderse gitsin görünür kalır. */
.docv2-preview-paywalled::after {
    content: "🔒 Belgenin tamamı satın alım sonrası netleşir";
    position: sticky;
    bottom: -14px; /* kabın alt padding'ini de kapat */
    display: block;
    margin: 0 -16px -14px;
    padding: 14px 20px;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: #6b5310;
    background: #fff8e1;
    border-top: 1px solid #ecd9a0;
    z-index: 5;
}

/* Liste kolonuna bağlı doğrulama hatası: uyarı listenin altına değil, ilgili
   kartın ilgili alanının altına konur. */
.docv2-runtime-list-cell-error {
    color: #b70000;
    font-size: 12px;
    line-height: 1.4;
    margin-top: 4px;
}
.docv2-cell-invalid {
    border-color: #d9534f !important;
    box-shadow: 0 0 0 2px rgba(217, 83, 79, 0.18);
}

/* Alt liste kolonu (sublist) — hücre içinde tekrarlayan alt satırlar (örn. muhalefet şerhleri) */
.docv2-sublist {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 100%;
}
.docv2-sublist-rows {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.docv2-sublist-row {
    display: flex;
    gap: 6px;
    align-items: center;
}
.docv2-sublist-row .docv2-sublist-input {
    flex: 1;
    min-width: 0;
}
.docv2-sublist-row .docv2-sublist-input[data-sub-key]:last-of-type {
    flex: 2;
}
.docv2-sublist-add {
    align-self: flex-start;
}
.docv2-sublist-readonly .docv2-sublist-row {
    opacity: 0.85;
}

/* ================================================================
   Müşteri ekranı — V1 CreateDocument üst bölümü (ManageLayout içinde).
   Butonlar/menü yolu/adım çubuğu V1'in global sınıflarıyla gelir; burada
   yalnız V1'in satır içi yazdığı kutular ve V2'ye özgü ekler var.
   ================================================================ */
.docv2-v1-page .docv2-v1-top { background-color: #FBFBFB; margin-bottom: 4px; padding-top: 20px; }
.docv2-v1-page .docv2-v1-fill-status { display: flex; gap: 10px; align-items: center; margin-top: 8px; font-size: 13px; }
/* Başlık altındaki şerit — misafirde ipucu, girişli kullanıcıda firma seçimi.
   İkisi aynı yerde, aynı ölçüde (test.sicilmatik.com yeni tasarımı). */
.docv2-v1-strip {
    display: flex; align-items: center; gap: 16px;
    border-radius: 14px; padding: 14px 22px; margin: 4px 0 16px;
}
.docv2-v1-strip-text { flex: 1; font-size: 13px; line-height: 1.6; color: #6b7280; }
/* Skote.css tüm bağlantılara !important ile gri veriyor — V1'deki turuncu korunsun */
.docv2-v1-strip-link {
    margin-left: auto; color: #e8720c !important; font-size: 13px; font-weight: 600;
    white-space: nowrap; text-decoration: none;
}
.docv2-v1-strip-link:hover { color: #c95f06 !important; text-decoration: underline; }

.docv2-v1-tip { background: #fdf7f1; border: 1px solid #f3dfcb; gap: 18px; padding: 16px 22px; }
.docv2-v1-tip .docv2-v1-tip-icon {
    background: #fae7d4; border-radius: 50%; width: 38px; height: 38px; min-width: 38px;
    display: flex; align-items: center; justify-content: center; color: #e8720c; font-size: 17px;
}
.docv2-v1-tip .docv2-v1-tip-text { flex: 1; font-size: 14px; line-height: 1.6; color: #4b5563; }
.docv2-v1-tip .docv2-v1-tip-strong { color: #071952; font-weight: 700; }

/* V1 "Firma İşlemleri" kutusu — V1 CreateDocument'teki satır içi stiller + aynı
   sayfanın medya kuralları: geniş ekranda kutu başlık hizasına çekilir (-60px),
   alttaki panelleri itmez; 1100px altında kolona sığar. */
.docv2-v1-firm {
    border: 1px solid #ddd; border-radius: 8px; padding: 20px; width: 270px;
    background-color: #f9f9f9; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); margin: 20px auto;
}
@media (min-width: 1100px) {
    .docv2-v1-firm { width: 270px; margin-top: -60px !important; }
}
@media (max-width: 1099px) {
    .docv2-v1-firm { margin-top: 20px; width: 100% !important; max-width: 270px; }
}
.docv2-v1-firm .docv2-v1-firm-title {
    margin-bottom: 15px; font-size: 15px; font-weight: bold; display: block; text-align: center;
}
.docv2-v1-firm .docv2-firm-picker { display: block; margin: 0; padding: 0; border: 0; background: none; }
.docv2-v1-firm .docv2-firm-picker-label { display: none; }
.docv2-v1-firm .docv2-v1-firm-new {
    display: block; margin-top: 10px; padding: 7px 12px;
    border: 1px solid #ff943f; border-radius: 4px; background: #fff;
    text-align: center; font-size: 13px; font-weight: 500; color: #ff943f !important; text-decoration: none;
    transition: background-color .15s, color .15s;
}
.docv2-v1-firm .docv2-v1-firm-new:hover,
.docv2-v1-firm .docv2-v1-firm-new:focus { background: #ff943f; color: #fff !important; text-decoration: none; }

/* Firma seçicinin görünür yüzü (form-renderer.js buildFirmDropdown) — açılış
   penceresindeki (.docv2-fp-*) liste görünümü. */
.docv2-fd { position: relative; flex: 1 1 280px; max-width: 480px; }
.docv2-v1-firm .docv2-fd { max-width: none; }
.docv2-v1-firm .docv2-fd-list { right: auto; min-width: 100%; width: max-content; max-width: 340px; }
.docv2-fd-trigger {
    display: block; width: 100%; min-height: 36px; padding: 7px 30px 7px 12px;
    position: relative; text-align: left;
    background: #fff; border: 1px solid #d6dde6; border-radius: 4px;
    font-family: Poppins, sans-serif; font-size: 13.5px; font-weight: 500; line-height: 1.4;
    color: #15406b; cursor: pointer;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.docv2-fd-trigger.is-empty { font-weight: 400; color: #7b8794; }
.docv2-fd-trigger::after {
    content: ''; position: absolute; right: 12px; top: 50%;
    width: 7px; height: 7px; margin-top: -5px;
    border-right: 1.5px solid #15406b; border-bottom: 1.5px solid #15406b;
    transform: rotate(45deg); transition: transform .15s;
}
.docv2-fd.is-open .docv2-fd-trigger { border-color: #15406b; }
.docv2-fd.is-open .docv2-fd-trigger::after { transform: rotate(-135deg); margin-top: -1px; }
.docv2-fd-trigger:hover:not(:disabled) { border-color: #9fb4cc; }
.docv2-fd-trigger:focus { outline: none; }
.docv2-fd-trigger:focus-visible { box-shadow: 0 0 0 2px #9fb4cc; }
.docv2-fd-trigger:disabled { opacity: .6; cursor: default; }
.docv2-fd-list {
    position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 1000;
    list-style: none; margin: 0; padding: 0;
    max-height: 264px; overflow-y: auto;
    background: #fff; border: 1px solid #d6dde6; border-radius: 4px;
    box-shadow: 0 8px 20px rgba(10, 30, 55, .15);
}
.docv2-fd-list li + li { border-top: 1px solid #eaeef3; }
.docv2-fd-item {
    display: flex; align-items: center; gap: 10px;
    width: 100%; margin: 0; padding: 10px 12px;
    border: 0; border-left: 3px solid transparent; border-radius: 0;
    background: #fff; text-align: left;
    font-family: Poppins, sans-serif; font-size: 13px; font-weight: 400; line-height: 1.4;
    color: #15406b; cursor: pointer;
}
.docv2-fd-item:hover { background: #f3f6fa; }
.docv2-fd-item:focus { outline: none; }
.docv2-fd-item:focus-visible { box-shadow: inset 0 0 0 2px #9fb4cc; }
.docv2-fd-item.is-empty { color: #7b8794; }
.docv2-fd-item.is-selected { background: #fff6ee; border-left-color: #ff943f; font-weight: 500; }
.docv2-fd-dot {
    flex: none; width: 16px; height: 16px; border-radius: 50%;
    border: 1.5px solid #9aa7b5; background: #fff;
}
.docv2-fd-item.is-selected .docv2-fd-dot { border-color: #ff943f; box-shadow: inset 0 0 0 3px #fff; background: #ff943f; }
.docv2-fd-name { flex: 1; min-width: 0; }
.docv2-fd-meta {
    flex: none; padding: 1px 7px; border-radius: 3px;
    background: #e8eef5; color: #15406b; font-size: 11px;
}
@media (max-width: 980px) {
    .docv2-v1-strip { flex-wrap: wrap; }
}

.docv2-v1-page .documentDropdown .documentLi.is-active > a { font-weight: 700; }
.docv2-v1-page .docv2-runtime-footer { justify-content: flex-start; }

/* Müşteri ekranı yerleşimi — V1 CreateDocument ölçüleri: sayfanın tam genişliği
   (V1 satırı gibi kenara taşar), sorular 1/3 · belge 2/3, iki panel de ekrana
   sığar ve kendi içinde kayar; kâğıt önizleme alanının tamamını kullanır. */
.docv2-v1-page {
    max-width: none;
    padding: 0;
    margin: 0 -15px;
    font-family: inherit;
}
.docv2-v1-page .docv2-runtime-grid { margin-top: 0; gap: 0 16px; }
.docv2-v1-page .docv2-runtime-form,
.docv2-v1-page .docv2-runtime-preview {
    height: 78vh;
    min-height: 420px;
    max-height: none;
    overflow-y: auto;
    position: static;
}
.docv2-v1-page #docv2-runtime-body-mount .docv2-doc-section.docv2-orient-portrait,
.docv2-v1-page #docv2-runtime-body-mount .docv2-doc-section.docv2-orient-landscape {
    max-width: none;
    min-height: 0;
}
.docv2-v1-page .docv2-runtime-footer { margin-top: 12px; }
@media (max-width: 980px) {
    .docv2-v1-page { margin: 0; }
    .docv2-v1-page .docv2-runtime-form,
    .docv2-v1-page .docv2-runtime-preview { height: auto; max-height: 70vh; }
}

/* Müşteri ekranı yazı tipleri — önizleme de soru bölümü gibi Poppins (LGM-820);
   PDF/Word çıktısı Times New Roman kalır. Soru başlığı/alanlar V1 ölçüsünde. */
.docv2-v1-page #docv2-runtime-body-mount,
.docv2-v1-page .docv2-v1-preview-wrap,
.docv2-v1-preview-wrap {
    font-family: Poppins, sans-serif;
}
/* Tüm butonlar "Kaydedildi" rozeti gibi yuvarlak (LGM-820); Skote'nin
   .btnMain.btn.btn-primary !important kuralını geçecek özgüllükte. */
.docv2-runtime-page.docv2-v1-page .btn.btn,
.docv2-runtime-page.docv2-v1-page .btnMain.btnMain { border-radius: 20px !important; }
.docv2-v1-page .docv2-runtime-question label { font-weight: 500; color: #495057; }
.docv2-v1-page #docv2-runtime-form-mount input[type=text],
.docv2-v1-page #docv2-runtime-form-mount input[type=number],
.docv2-v1-page #docv2-runtime-form-mount input[type=email],
.docv2-v1-page #docv2-runtime-form-mount input[type=tel] { font-size: 12px; }
.docv2-v1-page #docv2-runtime-form-mount select { font-size: 14px; color: #495057; }

/* Müşteri ekranı sarı vurgusu V1 (document.js) gibi — kalıcı sarı yok:
   - doldururken yalnız odaklanılan sorunun karşılığı (.is-active) ve o hareketle
     gelen koşullu metin (.docv2-hl-new) sarı; başka soruya geçince silinir
   - belge açılışı / belgeler arası geçiş (.docv2-hl-all, ilk harekete kadar): tüm cevaplar
   - Ön İzleme: tüm cevap yerleri, boşlar dahil
   Tür başına renk/çerçeve yok; "KOŞULLU" rozeti ve blok çerçevesi gösterilmez.
   Sınıfları body-renderer.js createBodyHighlighter verir. */
.docv2-v1-page #docv2-runtime-body-mount :is(.docv2-body-field-ref, .docv2-body-list-ref, .docv2-body-profile-field, .docv2-body-snippet, .docv2-body-conditional-mark, .docv2-body-answer),
.docv2-v1-preview-wrap :is(.docv2-body-field-ref, .docv2-body-list-ref, .docv2-body-profile-field, .docv2-body-snippet, .docv2-body-conditional-mark, .docv2-body-answer) {
    background: none;
    color: inherit;
    border: 0;
    border-radius: 2px;
    padding: 0 2px;
    font-weight: inherit;
    font-size: inherit;
    font-style: normal;
    box-shadow: none;
}
.docv2-v1-page #docv2-runtime-body-mount .docv2-body-conditional-block.has-rule::before,
.docv2-v1-preview-wrap .docv2-body-conditional-block.has-rule::before { display: none; }
.docv2-v1-page #docv2-runtime-body-mount .docv2-body-conditional-block,
.docv2-v1-preview-wrap .docv2-body-conditional-block {
    background: none;
    border-left: 0;
    border-radius: 0;
    padding: 0;
    margin: 0;
}
/* Cevapsız alan: V1'deki düz yer tutucu gibi renksiz, yalnız ince kesik çizgi */
.docv2-v1-page #docv2-runtime-body-mount :is(.docv2-body-field-ref-empty, .docv2-body-field-ref-missing, .docv2-body-list-ref-empty, .docv2-body-profile-empty) {
    color: #6c757d;
    border-bottom: 1px dashed #b8bec7;
    border-radius: 0;
}

.docv2-v1-page #docv2-runtime-body-mount.docv2-hl-all :is(.docv2-body-field-ref:not(.docv2-body-field-ref-empty):not(.docv2-body-field-ref-missing), .docv2-body-list-ref:not(.docv2-body-list-ref-empty), .docv2-body-profile-field:not(.docv2-body-profile-empty), .docv2-body-answer),
.docv2-v1-page #docv2-runtime-body-mount :is(.docv2-body-field-ref, .docv2-body-list-ref, .docv2-body-profile-field, .docv2-body-list-row, .docv2-body-answer).is-active,
.docv2-v1-page #docv2-runtime-body-mount table :is(.docv2-body-field-ref, .docv2-body-list-ref).is-active,
.docv2-v1-page #docv2-runtime-body-mount .docv2-hl-new,
.docv2-v1-preview-wrap :is(.docv2-body-field-ref, .docv2-body-list-ref, .docv2-body-profile-field, .docv2-body-answer) {
    background: rgba(255, 195, 0, 0.30);
    color: inherit;
    box-shadow: none;
}

/* İç içe sarı yok: sarı bir parçanın içindeki vurgu kendi zeminini almaz */
.docv2-v1-page #docv2-runtime-body-mount :is(.docv2-hl-new, .is-active, .docv2-body-field-ref, .docv2-body-list-ref, .docv2-body-profile-field, .docv2-body-answer) :is(.docv2-body-list-row,.docv2-hl-new, .is-active, .docv2-body-field-ref, .docv2-body-list-ref, .docv2-body-profile-field, .docv2-body-answer, .docv2-body-conditional-mark),
.docv2-v1-preview-wrap :is(.docv2-body-field-ref, .docv2-body-list-ref, .docv2-body-profile-field, .docv2-body-answer) :is(.docv2-body-field-ref, .docv2-body-list-ref, .docv2-body-profile-field, .docv2-body-answer) {
    background: none !important;
}

/* Satırları ayrı işaretli liste alanı (data-rows): alanın kendisi sarı değilken
   odaklanılan ya da yeni gelen satır kendi sarısını alır */
.docv2-v1-page #docv2-runtime-body-mount:not(.docv2-hl-all) .docv2-body-list-ref[data-rows]:not(.is-active):not(.docv2-hl-new):not(:is(.docv2-hl-new, .is-active) *) > :is(.is-active, .docv2-hl-new),
.docv2-v1-page #docv2-runtime-body-mount:not(.docv2-hl-all) .docv2-body-list-ref[data-rows]:not(.is-active):not(.docv2-hl-new):not(:is(.docv2-hl-new, .is-active) *) > strong > :is(.is-active, .docv2-hl-new),
.docv2-v1-page #docv2-runtime-body-mount:not(.docv2-hl-all) .docv2-body-answer[data-row]:not(.is-active):not(.docv2-hl-new):not(:is(.docv2-hl-new, .is-active) *) > :is(.is-active, .docv2-hl-new) {
    background: rgba(255, 195, 0, 0.30) !important;
}

/* Boş liste hücresinin yeri: yalnız odaklanınca küçük sarı kutu (bütün satır değil) */
.docv2-v1-page #docv2-runtime-body-mount .docv2-body-answer-empty.is-active {
    display: inline-block;
    min-width: 2.5em;
    height: 1em;
    vertical-align: text-bottom;
}

/* Koşullu metin satır içinde akar: iç boşluk yok (satır başında girinti yapmasın) */
.docv2-v1-page #docv2-runtime-body-mount .docv2-body-conditional-mark,
.docv2-v1-preview-wrap .docv2-body-conditional-mark { padding: 0; border-radius: 0; }

/* Profil bağı ipucu ("Firma.FullTitle") müşteri ekranında admin için de gizli */
.docv2-v1-page .docv2-runtime-profile-meta { display: none !important; }

/* Üst bölüm ile soru/önizleme panelleri arasında biraz daha boşluk */
.docv2-v1-page .docv2-runtime-grid { margin-top: 20px; }

/* Soru panelinin büyük harfli belge adı başlığı gizli — ad sayfa başlığında ve
   hemen altındaki "1. <belge adı>" grup başlığında zaten var (iki kez yazıyordu). */
.docv2-v1-page .docv2-runtime-form > .docv2-runtime-section-title { display: none; }

/* ---------------------------------------------------------------------
   Açılışta firma seçimi (müşteri ekranı, v1-page.js maybeShowFirmPrompt)
   Proje renkleri: lacivert #15406b, turuncu #ff943f.
   --------------------------------------------------------------------- */
body.docv2-fp-open { overflow: hidden; }
.docv2-fp-backdrop {
    position: fixed; inset: 0; z-index: 100001;
    display: flex; align-items: flex-start; justify-content: center;
    padding: 12vh 16px 16px;
    background: rgba(10, 30, 55, .45);
}
.docv2-fp {
    position: relative; width: 100%; max-width: 480px;
    background: #fff; border-radius: 6px; overflow: hidden;
    box-shadow: 0 12px 32px rgba(10, 30, 55, .22);
    font-family: Poppins, sans-serif; color: #343a40;
}
.docv2-fp-head {
    display: flex; align-items: center; gap: 12px;
    padding: 14px 16px 14px 24px;
    background: #15406b;
    border-bottom: 3px solid #ff943f;
}
.docv2-fp-body { padding: 18px 24px 18px; }
.docv2-fp-close {
    flex: none; width: 28px; height: 28px; padding: 0; margin-left: auto;
    border: 0; background: none; color: rgba(255, 255, 255, .7);
    font-size: 22px; line-height: 28px; cursor: pointer;
}
.docv2-fp-close:hover { color: #fff; }
.docv2-fp-title { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.4; color: #fff; }
.docv2-fp-note {
    margin: 0 0 12px; padding: 7px 10px;
    background: #fff6ee; border-left: 3px solid #ff943f; border-radius: 0 3px 3px 0;
    font-size: 12.5px; color: #7a4a1c;
}
.docv2-fp-list {
    list-style: none; margin: 0 0 16px; padding: 0;
    max-height: 264px; overflow-y: auto;
    border: 1px solid #d6dde6; border-radius: 4px;
}
.docv2-fp-list li + li { border-top: 1px solid #eaeef3; }
.docv2-fp-item {
    display: flex; align-items: center; gap: 10px;
    width: 100%; margin: 0; padding: 11px 12px;
    border: 0; border-left: 3px solid transparent; border-radius: 0;
    background: #fff; text-align: left;
    font-family: inherit; font-size: 13.5px; font-weight: 400; color: #15406b; cursor: pointer;
}
.docv2-fp-item:hover { background: #f3f6fa; }
.docv2-fp-item:focus { outline: none; }
.docv2-fp-item:focus-visible { box-shadow: inset 0 0 0 2px #9fb4cc; }
.docv2-fp-item.is-selected { background: #fff6ee; border-left-color: #ff943f; font-weight: 500; }
.docv2-fp-dot {
    flex: none; width: 16px; height: 16px; border-radius: 50%;
    border: 1.5px solid #9aa7b5; background: #fff;
}
.docv2-fp-item.is-selected .docv2-fp-dot { border-color: #ff943f; box-shadow: inset 0 0 0 3px #fff; background: #ff943f; }
.docv2-fp-name { flex: 1; min-width: 0; line-height: 1.4; }
.docv2-fp-meta {
    flex: none; padding: 1px 7px; border-radius: 3px;
    background: #e8eef5; color: #15406b; font-size: 11px;
}
.docv2-fp-empty {
    margin: 0 0 16px; padding: 12px;
    background: #f3f6fa; border-radius: 4px;
    font-size: 13px; line-height: 1.55; color: #15406b;
}
.docv2-fp-foot {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    flex-wrap: wrap;
}
/* Skote.css a { color: ... !important } */
.docv2-fp-add { font-size: 13px; font-weight: 500; color: #15406b !important; text-decoration: none; }
.docv2-fp-add:hover { color: #ff943f !important; text-decoration: none; }
.docv2-fp-actions { display: flex; gap: 8px; margin-left: auto; }
.docv2-fp-skip, .docv2-fp-ok {
    padding: 7px 14px; border-radius: 4px;
    font-size: 13px; font-weight: 500; cursor: pointer;
}
.docv2-fp-skip { background: #fff; border: 1px solid #15406b; color: #15406b; }
.docv2-fp-skip:hover { background: #15406b; color: #fff; }
.docv2-fp-ok { background: #ff943f; border: 1px solid #ff943f; color: #fff; }
.docv2-fp-ok:hover:not(:disabled) { background: #f5832a; border-color: #f5832a; }
.docv2-fp-ok:disabled { opacity: .5; cursor: default; }
@media (max-width: 480px) {
    .docv2-fp-backdrop { padding-top: 8vh; }
    .docv2-fp-actions { width: 100%; }
    .docv2-fp-actions button { flex: 1; }
}

/* Yönetici İndir menüsü (v1-page.js renderAdminDownload): genel CSS bu alandaki
   menüleri 100px'e sabitliyor, "PDF olarak indir" taşıyordu. */
#docv2-commerce-actions .dropdown-menu,
.docv2-v1-download-bottom .dropdown-menu {
    width: auto;
    min-width: 170px;
}
.docv2-v1-download-bottom .dropdown-menu { top: auto; bottom: 100%; margin-bottom: 2px; }
