h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}
/* Deneme ortamı (yalnız Development) */
.pg { font-family: system-ui, sans-serif; max-width: 960px; margin: 2rem auto; padding: 0 1rem; }
.pg-note, .pg-empty { color: #555; }
.pg-table { border-collapse: collapse; width: 100%; }
.pg-table th, .pg-table td { border-bottom: 1px solid #ddd; padding: .4rem .6rem; text-align: left; }
.pg-actions a { margin-right: .8rem; }
.pg-host { display: flex; flex-direction: column; height: 100vh; font-family: system-ui, sans-serif; }
.pg-host-bar { display: flex; gap: 1.2rem; align-items: center; padding: .5rem 1rem; border-bottom: 1px solid #ddd; }
.pg-status { margin-left: auto; color: #555; }
.pg-status[data-kind=ok] { color: #1a7f37; }
.pg-status[data-kind=warn] { color: #9a6700; }
.pg-status[data-kind=error] { color: #cf222e; }
.pg-frame { flex: 1; border: 0; width: 100%; }
.pg-wide { max-width: 1400px; }
.pg-measure { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.pg-canvas { border: 1px solid #ddd; min-height: 120px; }
.pg-pdf { width: 100%; height: 600px; border: 1px solid #ddd; }
.pg-diff td { font-size: .8rem; vertical-align: top; }
.pg-bad { background: #ffebe9; }

/* Tasarım sayfası (07 §1): iframe içinde tam ekran */
.rs-message { font-family: system-ui, sans-serif; max-width: 640px; margin: 3rem auto; padding: 0 1rem; color: #374151; }
.rs-designer { display: grid; grid-template-rows: auto 1fr auto; height: 100vh; font-family: system-ui, sans-serif; color: #111827; }
.rs-toolbar { display: flex; align-items: center; gap: .5rem; padding: .5rem .75rem; border-bottom: 1px solid #e5e7eb; background: #fff; }
.rs-title { font-size: 1rem; }
.rs-toolbar-spacer { flex: 1; }
.rs-notice { font-size: .85rem; color: #1a7f37; }
.rs-notice-error { color: #cf222e; }
.rs-presets { display: flex; gap: .35rem; align-items: center; }
.rs-body { display: grid; grid-template-columns: 220px 1fr; min-height: 0; }
.rs-body-document { grid-template-columns: 1fr; }
.rs-bands { border-right: 1px solid #e5e7eb; padding: .75rem; overflow: auto; background: #fafafa; }
.rs-bands h2, .rs-form h2 { font-size: .9rem; margin: 0 0 .5rem; color: #374151; }
.rs-bands ul { list-style: none; margin: 0; padding: 0; }
.rs-bands li { display: flex; align-items: center; gap: .4rem; padding: .25rem .3rem; border-radius: 6px; }
.rs-bands li.rs-selected { background: #e0ecff; }
.rs-band-name { background: none; border: 0; padding: .2rem 0; cursor: pointer; text-align: left; flex: 1; font: inherit; }
.rs-band-fixed { width: 13px; text-align: center; color: #6b7280; }
.rs-band-page { margin-top: .5rem; border-top: 1px solid #e5e7eb; padding-top: .5rem !important; }
.rs-band-props { margin-top: 1rem; display: grid; gap: .4rem; }
.rs-check { display: inline-flex; align-items: center; gap: .35rem; font-size: .85rem; }
.rs-editor { overflow: auto; padding: .75rem; min-width: 0; }
.rs-canvas { min-height: 420px; height: calc(100vh - 220px); border: 1px solid #e5e7eb; }
.rs-canvas-tools { display: flex; align-items: center; gap: .75rem; margin-bottom: .5rem; }
.rs-add-field { max-width: 240px; }
.rs-hint { color: #6b7280; font-size: .85rem; margin: 0 0 .5rem; }
.rs-form { max-width: 1100px; }
.rs-form-row { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: flex-end; margin-bottom: .75rem; }
.rs-form-row .bs-form-group { min-width: 160px; }
.rs-columns { border-collapse: collapse; width: 100%; font-size: .85rem; }
.rs-columns th, .rs-columns td { border-bottom: 1px solid #eee; padding: .25rem .35rem; text-align: left; }
.rs-column-hidden td { color: #9ca3af; }
.rs-narrow { width: 80px; }
.rs-color { width: 60px; padding: 0; height: 32px; }
.rs-move { white-space: nowrap; }
.rs-rules { border-top: 1px solid #e5e7eb; padding: .5rem .75rem; max-height: 140px; overflow: auto; font-size: .85rem; background: #f6fef9; }
.rs-rules-bad { background: #fff7ed; }
.rs-rules ul { list-style: none; margin: .25rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem .75rem; }
.rs-rule { background: none; border: 0; cursor: pointer; font: inherit; display: inline-flex; gap: .35rem; padding: .1rem 0; text-align: left; }
.rs-rule-name { color: #9a3412; }
.rs-rule-detail { color: #6b7280; }
.rs-preview { width: min(1100px, 95vw); max-width: none !important; }
.rs-preview-frame { width: 100%; height: 75vh; border: 0; }

/* Tek sayfa görünümü (RS-22): solda kâğıt, sağda özellikler */
.rs-designer .rs-body { grid-template-columns: 1fr 360px; }
.rs-designer .rs-body-document { grid-template-columns: 1fr; }
.rs-stage { overflow: auto; background: #e5e7eb; padding: 1.25rem; min-width: 0; }
.rs-props { border-left: 1px solid #e5e7eb; padding: .75rem; overflow: auto; background: #fff; }
.rs-props h3 { font-size: .8rem; color: #6b7280; margin: 1rem 0 .35rem; text-transform: uppercase; letter-spacing: .03em; }
.rs-props .rs-form-row .bs-form-group { min-width: 140px; }
.rs-paper { background: #fff; margin: 0 auto; box-shadow: 0 1px 4px rgba(0,0,0,.18); box-sizing: content-box; min-height: 200px; }
.rs-slot { position: relative; outline: 1px dashed #d1d5db; cursor: pointer; }
.rs-slot:hover { outline-color: #93c5fd; }
.rs-slot.rs-selected { outline: 2px solid #2563eb; cursor: default; }
.rs-slot-tag { position: absolute; left: 0; top: -1.15rem; font-size: .7rem; color: #374151; background: #f3f4f6; padding: 0 .35rem; border-radius: 3px 3px 0 0; display: flex; gap: .5rem; align-items: center; z-index: 2; white-space: nowrap; }
.rs-slot.rs-selected .rs-slot-tag { background: #2563eb; color: #fff; }
.rs-slot-tag span[data-live]::after { content: " → " attr(data-live); font-weight: 600; }
.rs-slot-actions button { border: 0; background: none; cursor: pointer; padding: 0 .2rem; color: inherit; font-size: .8rem; }
.rs-slot-actions button:disabled { opacity: .35; cursor: default; }
.rs-band { margin-top: 1.15rem; }
.rs-table { margin-top: 1.4rem; }
.rs-band-preview { position: relative; overflow: hidden; }
.rs-f { position: absolute; box-sizing: border-box; overflow: hidden; line-height: 1.1; white-space: pre-wrap; }
.rs-f-text { font-family: Inter, system-ui, sans-serif; }
.rs-f-image { outline: 1px dotted #cbd5e1; display: flex; align-items: center; justify-content: center; }
.rs-f-image img { max-width: 100%; max-height: 100%; object-fit: contain; }
.rs-split { height: 8px; margin: 0 -6px; cursor: row-resize; position: relative; }
.rs-split::before { content: ""; position: absolute; left: 40%; right: 40%; top: 3px; height: 2px; border-radius: 2px; background: #9ca3af; }
.rs-split:hover::before, .rs-split-active::before { background: #2563eb; left: 0; right: 0; }
.rs-split[data-live]::after { content: attr(data-live); position: absolute; right: 0; top: -1rem; font-size: .7rem; background: #2563eb; color: #fff; padding: 0 .3rem; border-radius: 3px; }
.rs-band-off { display: block; width: 100%; margin-top: .6rem; border: 1px dashed #cbd5e1; background: #f9fafb; color: #6b7280; font-size: .75rem; padding: .15rem; cursor: pointer; }
.rs-band-off:hover { border-color: #2563eb; color: #2563eb; }
.rs-table-preview { font-family: Inter, system-ui, sans-serif; font-size: 8.5px; overflow: hidden; }
.rs-trow { display: flex; border-bottom: 1px solid #e5e7eb; }
.rs-trow-free { color: #6b7280; font-size: 10px; padding-left: 4px; align-items: center; background: repeating-linear-gradient(45deg, transparent, transparent 4px, #f3f4f6 4px, #f3f4f6 8px); }
.rs-layer .rs-surface { outline: 1px dashed #93c5fd; }
.rs-thead { background: #f3f4f6; font-weight: 700; }
.rs-tcell { flex: none; padding: 2px 4px; box-sizing: border-box; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rs-table-more { color: #9ca3af; font-size: .7rem; padding: 2px 4px; }
.rs-add-table { display: block; margin: .6rem 0 0; border: 1px dashed #93c5fd; background: #eff6ff; color: #1d4ed8; font-size: .8rem; padding: .25rem .6rem; cursor: pointer; border-radius: 4px; }
.rs-band .rs-canvas { min-height: 0; margin: 0 -1px; cursor: default; }
.rs-designer .rs-body { grid-template-columns: 1fr 460px; }
.rs-props .rs-columns { font-size: .75rem; }
.rs-props .rs-columns th, .rs-props .rs-columns td { padding: .15rem .2rem; }
.rs-props .rs-columns .bs-input, .rs-props .rs-columns .bs-select { height: 28px; padding: 2px 4px; font-size: .75rem; min-width: 0; }
.rs-props .rs-columns td:nth-child(3) .bs-input { width: 110px; }
.rs-props .rs-columns .rs-narrow { width: 52px; }
.rs-props .rs-columns td:nth-child(2) code { font-size: .7rem; }

/* Deneme konsolu (RS-25). */
.pgc { display: flex; flex-direction: column; height: 100vh; font-family: Inter, system-ui, sans-serif; color: #111827; background: #f3f4f6; }
.pgc-bar { display: flex; align-items: center; gap: 1rem; padding: .6rem 1rem; background: #fff; border-bottom: 1px solid #e5e7eb; }
.pgc-title { font-size: 1.05rem; }
.pgc-muted { color: #6b7280; font-size: .85rem; }
.pgc-spacer { flex: 1; }
.pgc-body { flex: 1; display: grid; grid-template-columns: 280px 1fr; min-height: 0; }
.pgc-list { overflow-y: auto; padding: .75rem; display: flex; flex-direction: column; gap: .5rem; border-right: 1px solid #e5e7eb; background: #fff; }
.pgc-card { text-align: left; border: 1px solid #e5e7eb; border-radius: 8px; padding: .6rem .75rem; background: #fff; cursor: pointer; display: flex; flex-direction: column; gap: .3rem; font: inherit; color: inherit; }
.pgc-card:hover { border-color: #9ca3af; }
.pgc-card-on { border-color: #2563eb; box-shadow: 0 0 0 2px #bfdbfe; }
.pgc-card-name { font-weight: 600; }
.pgc-card-meta { display: flex; gap: .5rem; color: #6b7280; font-size: .8rem; align-items: center; }
.pgc-badge { background: #e0e7ff; color: #3730a3; border-radius: 999px; padding: 0 .5rem; font-size: .75rem; }
.pgc-badge-doc { background: #dcfce7; color: #166534; }
.pgc-main { display: flex; flex-direction: column; min-height: 0; padding: .75rem 1rem; gap: .6rem; }
.pgc-tools { display: flex; align-items: end; gap: .5rem; flex-wrap: wrap; }
.pgc-field { display: flex; flex-direction: column; gap: .2rem; font-size: .8rem; color: #6b7280; }
.pgc-field select { font: inherit; font-size: .9rem; padding: .35rem .5rem; border: 1px solid #d1d5db; border-radius: 6px; background: #fff; color: #111827; }
.pgc-btn { display: inline-block; padding: .4rem .8rem; border: 1px solid #d1d5db; border-radius: 6px; background: #fff; color: #111827; text-decoration: none; font: inherit; font-size: .9rem; cursor: pointer; }
.pgc-btn:hover { background: #f9fafb; }
.pgc-btn-primary { background: #2563eb; border-color: #2563eb; color: #fff; }
.pgc-btn-primary:hover { background: #1d4ed8; }
.pgc-dev { font-size: .85rem; }
.pgc-dev a { margin-left: .6rem; }
.pgc-pdf { flex: 1; width: 100%; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; min-height: 400px; }
.pgc-empty { color: #6b7280; margin: 2rem auto; }
.pgc-warn { background: #fef3c7; border: 1px solid #fcd34d; padding: .4rem .7rem; border-radius: 6px; font-size: .85rem; margin: 0; }

/* ---- Kendi tuvalimiz (RS-25, docs/19) ---- */
@font-face { font-family: "RS Inter"; src: url("/fonts/Inter-Regular.ttf") format("truetype"); font-weight: 400; }
@font-face { font-family: "RS Inter"; src: url("/fonts/Inter-Bold.ttf") format("truetype"); font-weight: 700; }
.rs-insert { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; padding: .35rem .75rem; border-bottom: 1px solid #e5e7eb; background: #f9fafb; }
.rs-tool { display: inline-flex; align-items: center; gap: .3rem; border: 1px solid transparent; background: none; border-radius: 6px; padding: .25rem .45rem; cursor: pointer; font: inherit; font-size: .8rem; color: #111827; }
.rs-tool:hover:not(:disabled) { background: #fff; border-color: #d1d5db; }
.rs-tool:disabled { opacity: .4; cursor: default; }
.rs-tool-icon { font-size: .95rem; min-width: 1.1em; text-align: center; }
.rs-tool-sep { width: 1px; height: 1.4rem; background: #d1d5db; margin: 0 .35rem; }
.rs-tool-field { max-width: 190px; font-size: .8rem; padding: .2rem .4rem; }
.rs-tool-check { font-size: .8rem; margin-right: .25rem; }
.rs-zoom { font-size: .8rem; color: #374151; min-width: 3.2em; text-align: center; }
.rs-stage:focus { outline: none; }
.rs-surface { position: relative; background: #fff; overflow: visible; }
.rs-surface.rs-grid { background-image: linear-gradient(#eef2f7 1px, transparent 1px), linear-gradient(90deg, #eef2f7 1px, transparent 1px); background-size: var(--rs-grid) var(--rs-grid); }
.rs-el { position: absolute; box-sizing: border-box; cursor: move; transform-origin: center center; font-family: "RS Inter", Inter, system-ui, sans-serif; user-select: none; }
.rs-el:hover { outline: 1px dashed #93c5fd; }
.rs-el-bound::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .18); }
.rs-el-on { outline: 2px solid #2563eb !important; z-index: 5; }
.rs-el[data-live]::before { content: attr(data-live); position: absolute; top: -1.4rem; left: 50%; transform: translateX(-50%); background: #2563eb; color: #fff; font-size: .7rem; padding: 0 .3rem; border-radius: 3px; }
.rs-h { position: absolute; width: 9px; height: 9px; background: #fff; border: 1.5px solid #2563eb; border-radius: 2px; margin: -5px 0 0 -5px; z-index: 6; }
.rs-h[data-h=nw] { left: 0; top: 0; cursor: nwse-resize; } .rs-h[data-h=n] { left: 50%; top: 0; cursor: ns-resize; }
.rs-h[data-h=ne] { left: 100%; top: 0; cursor: nesw-resize; } .rs-h[data-h=e] { left: 100%; top: 50%; cursor: ew-resize; }
.rs-h[data-h=se] { left: 100%; top: 100%; cursor: nwse-resize; } .rs-h[data-h=s] { left: 50%; top: 100%; cursor: ns-resize; }
.rs-h[data-h=sw] { left: 0; top: 100%; cursor: nesw-resize; } .rs-h[data-h=w] { left: 0; top: 50%; cursor: ew-resize; }
.rs-h-rot { position: absolute; left: 50%; top: -22px; width: 11px; height: 11px; margin-left: -6px; border-radius: 50%; background: #2563eb; cursor: grab; z-index: 6; }
.rs-h-rot::after { content: ""; position: absolute; left: 5px; top: 11px; width: 1px; height: 11px; background: #2563eb; }
.rs-guide { position: absolute; pointer-events: none; background: #ec4899; z-index: 7; }
.rs-guide-v { top: 0; bottom: 0; width: 1px; } .rs-guide-h { left: 0; right: 0; height: 1px; }
.rs-v-fill { position: absolute; inset: 0; box-sizing: border-box; overflow: hidden; }
.rs-v-line { position: absolute; white-space: pre; line-height: 1; font-family: "RS Inter", Inter, system-ui, sans-serif; }
.rs-v-image { display: flex; align-items: center; justify-content: center; outline: 1px dotted #cbd5e1; }
.rs-v-image img { width: 100%; height: 100%; }
.rs-v-placeholder { color: #9ca3af; font-size: 10px; padding: 2px; }
.rs-v-code { display: flex; flex-direction: column; }
.rs-v-bars { width: 100%; }
.rs-v-codetext { text-align: center; line-height: 1; font-family: "RS Inter", Inter, sans-serif; }
.rs-v-sigline { position: absolute; left: 0; right: 0; height: 1px; }
.rs-v-table { font-family: "RS Inter", Inter, sans-serif; }
.rs-v-trow { position: absolute; left: 0; right: 0; display: flex; }
.rs-v-tcell { flex: none; box-sizing: border-box; white-space: pre-wrap; overflow: hidden; line-height: 1.1; }
.rs-v-more { position: absolute; left: 0; right: 0; bottom: 0; text-align: center; color: #6b7280; background: rgba(255,255,255,.8); font-size: 10px; }
.rs-docpages { display: flex; flex-direction: column; align-items: center; gap: 2rem; padding-top: 1rem; }
.rs-docpage { box-shadow: 0 1px 4px rgba(0,0,0,.18); outline-offset: 0; }
.rs-prop-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem .6rem; }
.rs-prop-grid .bs-form-group { min-width: 0; }
.rs-prop-actions { display: flex; flex-wrap: wrap; gap: .25rem; }
.rs-danger { color: #b91c1c; }
.rs-textarea { min-height: 3.2rem; resize: vertical; }
.rs-mono { font-family: ui-monospace, Consolas, monospace; font-size: .75rem; }
.rs-color-row { display: inline-flex; gap: .35rem; align-items: center; }
.rs-props-element .bs-form-group { margin-bottom: .35rem; }
.rs-table-preview .rs-tcell { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; box-sizing: border-box; }
.rs-designer { grid-template-rows: auto auto 1fr auto; }

/* Araç kutusu (RS-25: solda, Photoshop gibi) ve sürükle-bırak, kolon genişliği. */
.rs-designer .rs-body { grid-template-columns: auto 1fr 460px; }
.rs-designer .rs-body.rs-body-readonly { grid-template-columns: 1fr 460px; }
.rs-toolbox { display: flex; flex-direction: column; gap: .35rem; padding: .5rem .35rem; background: #1f2937; overflow-y: auto; width: 52px; box-sizing: border-box; }
.rs-toolbox:has(.rs-toolbox-fields) { width: 168px; }
.rs-toolbox-group { display: grid; grid-template-columns: repeat(auto-fill, 38px); gap: 4px; padding-bottom: .35rem; border-bottom: 1px solid #374151; justify-content: center; }
.rs-tb { width: 38px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 6px; background: none; color: #e5e7eb; cursor: grab; font-size: 1rem; }
.rs-tb:hover:not(:disabled) { background: #374151; border-color: #4b5563; }
.rs-tb:active { cursor: grabbing; }
.rs-tb:disabled { opacity: .35; cursor: default; }
.rs-toolbox-title { color: #9ca3af; font-size: .65rem; text-transform: uppercase; letter-spacing: .04em; margin: .25rem .2rem; }
.rs-toolbox-fields { display: flex; flex-direction: column; gap: 2px; }
.rs-tb-field { display: flex; align-items: center; gap: .35rem; border: 0; background: none; color: #e5e7eb; border-radius: 5px; padding: .25rem .35rem; cursor: grab; font: inherit; font-size: .75rem; text-align: left; }
.rs-tb-field:hover:not(:disabled) { background: #374151; }
.rs-tb-field-icon { width: 1.2em; text-align: center; color: #93c5fd; }
.rs-tb-field-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rs-view-tools { display: inline-flex; align-items: center; gap: .15rem; margin-right: .5rem; }
.rs-surface.rs-drop { outline: 2px dashed #2563eb; outline-offset: 2px; }
.rs-tcell { position: relative; }
.rs-colsize { position: absolute; top: 0; right: -3px; width: 6px; height: 100%; cursor: col-resize; z-index: 3; }
.rs-colsize:hover, .rs-colsize-on { background: #2563eb; opacity: .6; }
.rs-colsize[data-live]::after { content: attr(data-live); position: absolute; top: -1.2rem; right: 0; background: #2563eb; color: #fff; font-size: .65rem; padding: 0 .3rem; border-radius: 3px; white-space: nowrap; }
.rs-designer { grid-template-rows: auto 1fr auto; }
.rs-colsize { right: -5px; width: 10px; }
.rs-paper { position: relative; }
.rs-watermark { position: absolute; left: 50%; top: 50%; pointer-events: none; z-index: 8; white-space: nowrap; font-family: "RS Inter", Inter, sans-serif; }
.rs-chips { display: flex; flex-wrap: wrap; gap: .25rem; margin-top: .25rem; }
.rs-chip { border: 1px solid #c7d2fe; background: #eef2ff; color: #3730a3; border-radius: 999px; padding: .05rem .5rem; font-size: .75rem; cursor: pointer; }
.rs-chip:hover:not(:disabled) { background: #e0e7ff; }
.rs-chip-fn { font-family: ui-monospace, Consolas, monospace; background: #f0fdf4; border-color: #bbf7d0; color: #166534; }
.rs-expr { display: flex; flex-direction: column; gap: .15rem; }
.rs-page-break { display: flex; align-items: center; gap: .5rem; margin: .25rem 0; border-top: 2px dashed #94a3b8; color: #64748b; font-size: .75rem; padding-top: .15rem; }
.rs-body-actions { display: flex; gap: .5rem; flex-wrap: wrap; }
.rs-cell-grid { display: flex; flex-direction: column; gap: .25rem; margin: .25rem 0; }
.rs-cell-row { display: grid; grid-template-columns: repeat(var(--cols), minmax(0, 1fr)) auto; gap: .25rem; align-items: start; }
.rs-cell { display: flex; flex-direction: column; gap: .1rem; min-width: 0; border: 1px solid #e5e7eb; border-radius: 4px; padding: .15rem; }
.rs-cell-cols .rs-cell { flex-direction: row; flex-wrap: wrap; background: #f8fafc; }
.rs-cell-tools { display: flex; gap: .15rem; align-items: center; font-size: .7rem; }
.rs-cell-section { display: flex; align-items: center; gap: .25rem; margin-top: .35rem; }
.rs-cell-title { font-size: .75rem; font-weight: 600; color: #475569; }
.rs-tcell-edit { cursor: text; outline: 1px dashed #cbd5e1; outline-offset: -1px; white-space: pre-wrap; }
.rs-tcell-edit:hover { background: #eff6ff; }
.rs-trow-footer { border-top: 1px solid #94a3b8; }
.rs-v-chart { display: flex; flex-direction: column; gap: 2px; border: 1px dashed #cbd5e1; padding: 2px; font-size: 9px; color: #475569; overflow: hidden; }
.rs-v-chart-title { text-align: center; font-weight: 700; color: #111827; }
.rs-v-bars { flex: 1; display: flex; align-items: flex-end; gap: 6%; padding: 0 4%; border-bottom: 1px solid #94a3b8; min-height: 0; }
.rs-v-bars span { flex: 1; }
.rs-v-hbars { flex-direction: column; align-items: flex-start; justify-content: space-around; border-bottom: 0; border-left: 1px solid #94a3b8; }
.rs-v-hbars span { flex: 0 0 12%; }
.rs-v-pie { flex: 1; aspect-ratio: 1; max-height: 100%; border-radius: 50%; align-self: center; }
.rs-v-chart-caption { text-align: center; font-family: ui-monospace, monospace; }
.rs-panel-title { font-size: .95rem; margin: 0 0 .5rem; }
.rs-decor { position: relative; }
.rs-strip { position: absolute; left: 0; right: 0; z-index: 3; background: rgba(239, 246, 255, .55); border-style: dashed; border-color: #60a5fa; border-width: 0 0 1px 0; }
.rs-strip[data-band="doc:footer"] { border-width: 1px 0 0 0; }
.rs-strip-ghost { pointer-events: none; opacity: .45; }
.rs-strip-tag { position: absolute; left: -4px; transform: translateX(-100%); top: 0; font-size: 11px; color: #2563eb; white-space: nowrap; cursor: pointer; display: flex; gap: 4px; }
.rs-strip-tag button { border: 0; background: none; color: #6b7280; cursor: pointer; }
.rs-strip.rs-selected { background: rgba(219, 234, 254, .75); }
.rs-strip-add { margin: 2px 0; }
.rs-v-cellrule { position: absolute; top: 0; bottom: 0; width: 0; }
.rs-v-rule { position: absolute; left: 0; right: 0; height: 0; }
.rs-v-choicebox { position: absolute; box-sizing: border-box; }
.rs-el-conditional { outline: 1px dashed #a855f7; outline-offset: 1px; }
.rs-v-autobox { position: absolute; box-sizing: border-box; }
.rs-el-extent { position: absolute; border: 1px dashed #0ea5e9; pointer-events: none; box-sizing: border-box; }
.rs-el-flow { box-shadow: inset 0 3px 0 0 #f59e0b; }
.rs-el-flow::before { content: "↧"; position: absolute; left: -12px; top: -2px; color: #d97706; font-size: 11px; pointer-events: none; }
.rs-warn { color: #b45309; }
/* Gömülü yazı tipleri, yüz başına bir aile (docs/21 W18): tuval PDF ile aynı dosyayı gösterir. */
@font-face { font-family: "RS Inter"; src: url("/fonts/Inter-Regular.ttf") format("truetype"); }
@font-face { font-family: "RS InterBold"; src: url("/fonts/Inter-Bold.ttf") format("truetype"); }
@font-face { font-family: "RS NotoSans"; src: url("/fonts/NotoSans-Regular.ttf") format("truetype"); }
@font-face { font-family: "RS NotoSansBold"; src: url("/fonts/NotoSans-Bold.ttf") format("truetype"); }
@font-face { font-family: "RS LiberationSans"; src: url("/fonts/LiberationSans-Regular.ttf") format("truetype"); }
@font-face { font-family: "RS LiberationSansBold"; src: url("/fonts/LiberationSans-Bold.ttf") format("truetype"); }
@font-face { font-family: "RS LiberationSerif"; src: url("/fonts/LiberationSerif-Regular.ttf") format("truetype"); }
@font-face { font-family: "RS LiberationSerifBold"; src: url("/fonts/LiberationSerif-Bold.ttf") format("truetype"); }
@font-face { font-family: "RS LiberationMono"; src: url("/fonts/LiberationMono-Regular.ttf") format("truetype"); }
@font-face { font-family: "RS LiberationMonoBold"; src: url("/fonts/LiberationMono-Bold.ttf") format("truetype"); }
.rs-v-bar { position: absolute; }
.rs-v-code .rs-v-codetext { position: absolute; display: flex; align-items: center; justify-content: center; }
.rs-cols-table { width: 100%; border-collapse: collapse; font-size: .8rem; }
.rs-cols-table td, .rs-cols-table th { padding: 2px 3px; text-align: left; }
.rs-cols-table .rs-num { width: 4rem; }

/* Tablo paneli (sekmeli, türe göre): segment seçici, sekmeler, kolon kartları. */
.rs-tform h3 { margin-top: .75rem; }
.rs-seg { display: flex; border: 1px solid #cbd5e1; border-radius: 6px; overflow: hidden; margin-bottom: .25rem; }
.rs-seg button { flex: 1; border: 0; background: #fff; padding: .35rem .25rem; font-size: .8rem; cursor: pointer; color: #334155; }
.rs-seg button + button { border-left: 1px solid #cbd5e1; }
.rs-seg .rs-seg-on { background: #1d4ed8; color: #fff; font-weight: 600; }
.rs-tabs { display: flex; gap: .15rem; border-bottom: 1px solid #e2e8f0; margin: .5rem 0 .6rem; flex-wrap: wrap; }
.rs-tabs button { border: 0; background: none; padding: .35rem .55rem; font-size: .8rem; color: #475569; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.rs-tabs .rs-tab-on { color: #1d4ed8; border-bottom-color: #1d4ed8; font-weight: 600; }
.rs-colcard { border: 1px solid #e2e8f0; border-radius: 6px; padding: .4rem .5rem; margin-bottom: .4rem; background: #fff; display: flex; flex-direction: column; gap: .3rem; }
.rs-colcard-off { background: #f8fafc; opacity: .75; }
.rs-colcard-focus { border-color: #1d4ed8; box-shadow: 0 0 0 2px #bfdbfe; }
.rs-colcard-top { display: flex; align-items: center; gap: .4rem; }
.rs-colcard-top .bs-input { flex: 1; min-width: 0; }
.rs-colcard-move { display: flex; gap: .1rem; }
.rs-colcard-move button, .rs-align button { border: 1px solid #cbd5e1; background: #fff; border-radius: 4px; width: 1.6rem; height: 1.6rem; cursor: pointer; font-size: .8rem; padding: 0; }
.rs-colcard-bottom { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; font-size: .78rem; }
.rs-colcard-bottom code { color: #64748b; font-size: .72rem; }
.rs-colcard-width { display: flex; align-items: center; gap: .2rem; }
.rs-colcard-width .bs-input { width: 4.2rem; padding: .15rem .3rem; }
.rs-align { display: inline-flex; gap: .1rem; }
.rs-align .rs-on { background: #1d4ed8; color: #fff; border-color: #1d4ed8; }
.rs-checks { display: flex; flex-wrap: wrap; gap: .25rem .9rem; }
.rs-tcell-head { cursor: pointer; }
.rs-tcell-head:hover { background: #dbeafe; }
.rs-tcell-sel { outline: 2px solid #1d4ed8 !important; outline-offset: -2px; background: #eff6ff; }
.rs-colwidth { margin-bottom: .25rem; }
.rs-colwidth .bs-input { width: 5rem; flex: 0 0 auto; }
.rs-cell-hint { color: #64748b; font-size: .72rem; flex: 1; }

/* ═══ Tasarımcı teması (2026-10-24): Borina.UI belirteçleri; üst çubuk · sol panel · tuval · özellikler · durum ═══ */
.rs-designer { font-family: var(--bs-font-family); font-size: var(--bs-font-size-base); color: var(--bs-color-text); background: var(--bs-color-bg); grid-template-rows: 52px 1fr auto; }
.rs-icon { flex: 0 0 auto; display: inline-block; vertical-align: middle; }

/* Üst çubuk */
.rs-appbar { display: flex; align-items: center; gap: .75rem; padding: 0 .75rem; height: 52px; background: var(--bs-color-surface); border-bottom: 1px solid var(--bs-color-border); box-shadow: 0 1px 2px rgba(16, 24, 40, .04); z-index: 5; }
.rs-appbar-doc { display: flex; align-items: center; gap: .6rem; min-width: 0; }
.rs-appbar-logo { width: 32px; height: 32px; border-radius: 8px; background: var(--bs-color-primary-light); color: var(--bs-color-primary); display: inline-flex; align-items: center; justify-content: center; }
.rs-appbar-doc .rs-title { display: block; font-size: .9rem; font-weight: 600; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 32vw; }
.rs-appbar-sub { display: block; font-size: var(--bs-font-size-xs); color: var(--bs-color-text-secondary); }
.rs-appbar-group { display: flex; align-items: center; gap: .25rem; }
.rs-appbar-sep { width: 1px; height: 22px; background: var(--bs-color-border); margin: 0 .35rem; }
.rs-ib { width: 32px; height: 32px; border: 1px solid transparent; border-radius: 7px; background: none; color: var(--bs-color-text-secondary); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background .12s, color .12s; }
.rs-ib:hover:not(:disabled), .rs-ib-label:hover:not(:disabled) { background: var(--bs-color-bg-subtle); color: var(--bs-color-text); }
.rs-ib:disabled, .rs-ib-label:disabled { opacity: .4; cursor: default; }
.rs-ib.rs-on, .rs-ib-label.rs-on { background: var(--bs-color-primary-light); color: var(--bs-color-primary); border-color: var(--bs-color-primary-mid); }
.rs-ib-label { height: 32px; display: inline-flex; align-items: center; gap: .4rem; padding: 0 .65rem; border: 1px solid transparent; border-radius: 7px; background: none; color: var(--bs-color-text); font: inherit; font-size: var(--bs-font-size-sm); font-weight: 500; cursor: pointer; }
.rs-zoom { min-width: 44px; text-align: center; font-size: var(--bs-font-size-sm); font-variant-numeric: tabular-nums; color: var(--bs-color-text-secondary); }

/* Gövde: sol panel · tuval · özellikler */
.rs-designer .rs-body { grid-template-columns: 272px minmax(0, 1fr) 344px; min-height: 0; }
.rs-designer .rs-body-readonly { grid-template-columns: minmax(0, 1fr) 344px; }

/* Sol panel */
.rs-side { display: flex; flex-direction: column; min-height: 0; background: var(--bs-color-surface); border-right: 1px solid var(--bs-color-border); }
.rs-side-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; padding: .5rem; border-bottom: 1px solid var(--bs-color-border); }
.rs-side-tabs button { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: .4rem .2rem; border: 0; border-radius: 7px; background: none; color: var(--bs-color-text-secondary); font: inherit; font-size: var(--bs-font-size-xs); font-weight: 500; cursor: pointer; }
.rs-side-tabs button:hover { background: var(--bs-color-bg-subtle); color: var(--bs-color-text); }
.rs-side-tabs .rs-on { background: var(--bs-color-primary-light); color: var(--bs-color-primary); }
.rs-side-body { overflow-y: auto; padding: .25rem .6rem .75rem; min-height: 0; }
.rs-side-title { display: flex; align-items: center; gap: .3rem; margin: .85rem .1rem .4rem; font-size: var(--bs-font-size-xs); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--bs-color-text-muted); }
.rs-side-note { font-size: var(--bs-font-size-xs); color: var(--bs-color-text-secondary); background: var(--bs-color-warning-light); border-radius: 6px; padding: .4rem .5rem; margin: .5rem 0 0; }
.rs-side-search { height: var(--bs-input-height-sm) !important; margin-top: .6rem; font-size: var(--bs-font-size-sm) !important; }
.rs-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.rs-tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-height: 64px; padding: .4rem .2rem; border: 1px solid var(--bs-color-border); border-radius: 8px; background: var(--bs-color-surface); color: var(--bs-color-text); font: inherit; font-size: 10.5px; line-height: 1.15; text-align: center; cursor: grab; transition: border-color .12s, box-shadow .12s; }
.rs-tile .rs-icon { color: var(--bs-color-primary); }
.rs-tile:hover:not(:disabled) { border-color: var(--bs-color-primary-mid); box-shadow: 0 2px 6px rgba(26, 111, 219, .12); }
.rs-tile:active { cursor: grabbing; }
.rs-tile:disabled { opacity: .45; cursor: default; }
.rs-row { display: flex; align-items: center; gap: .45rem; width: 100%; padding: .32rem .45rem; border: 0; border-radius: 6px; background: none; color: var(--bs-color-text); font: inherit; font-size: var(--bs-font-size-sm); text-align: left; cursor: grab; }
.rs-row .rs-icon { color: var(--bs-color-text-muted); }
.rs-row:hover:not(:disabled) { background: var(--bs-color-bg-subtle); }
.rs-row-static { cursor: default; }
.rs-row-name { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rs-row code { font-size: 10px; color: var(--bs-color-text-muted); max-width: 40%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rs-row-act { width: 22px; height: 22px; border: 1px solid var(--bs-color-border); border-radius: 5px; background: var(--bs-color-surface); color: var(--bs-color-primary); cursor: pointer; font-size: 12px; padding: 0; }
.rs-row-act:hover:not(:disabled) { background: var(--bs-color-primary-light); }
.rs-tree { display: flex; align-items: center; gap: .45rem; width: 100%; padding: .3rem .45rem; border: 0; border-radius: 6px; background: none; color: var(--bs-color-text); font: inherit; font-size: var(--bs-font-size-sm); text-align: left; cursor: pointer; }
.rs-tree .rs-icon { color: var(--bs-color-text-secondary); }
.rs-tree:hover { background: var(--bs-color-bg-subtle); }
.rs-tree.rs-on { background: var(--bs-color-primary-light); color: var(--bs-color-primary); font-weight: 600; }
.rs-tree.rs-on .rs-icon { color: var(--bs-color-primary); }
.rs-tree-l1 { padding-left: 1.2rem; }
.rs-tree-l2 { padding-left: 2.2rem; }
.rs-tree-el { font-size: var(--bs-font-size-xs); color: var(--bs-color-text-secondary); padding-top: .18rem; padding-bottom: .18rem; }
.rs-tree-muted { color: var(--bs-color-text-muted); cursor: default; }

/* Tuval */
.rs-stage { background-color: var(--bs-color-bg-subtle); background-image: radial-gradient(rgba(100, 116, 139, .18) 1px, transparent 1px); background-size: 16px 16px; padding: 2rem 2.5rem 4rem; }
.rs-paper { box-shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 8px 24px rgba(16, 24, 40, .10); border-radius: 2px; }
.rs-slot { outline-color: #dbe2ea; }
.rs-slot:hover { outline-color: var(--bs-color-primary-mid); }
.rs-slot.rs-selected { outline: 2px solid var(--bs-color-primary); }
.rs-slot-tag { top: -1.25rem; padding: 1px .45rem; font-size: 10.5px; font-weight: 500; color: var(--bs-color-text-secondary); background: #e9eef5; border-radius: 4px 4px 0 0; }
.rs-slot.rs-selected .rs-slot-tag { background: var(--bs-color-primary); color: #fff; }
.rs-band-off { border-radius: 6px; color: var(--bs-color-text-muted); }
.rs-add-table { border: 1px dashed var(--bs-color-border-strong); border-radius: 6px; background: var(--bs-color-surface); color: var(--bs-color-primary); font-size: var(--bs-font-size-xs); font-weight: 500; padding: .25rem .6rem; cursor: pointer; }
.rs-add-table:hover { background: var(--bs-color-primary-light); border-color: var(--bs-color-primary-mid); }

/* Özellikler paneli */
.rs-props { background: var(--bs-color-surface); border-left: 1px solid var(--bs-color-border); padding: 0 0 1rem; }
.rs-props-head { position: sticky; top: 0; z-index: 2; display: flex; align-items: center; gap: .6rem; padding: .7rem .9rem; background: var(--bs-color-surface); border-bottom: 1px solid var(--bs-color-border); }
.rs-props-head .rs-icon { color: var(--bs-color-primary); background: var(--bs-color-primary-light); border-radius: 7px; padding: 6px; box-sizing: content-box; }
.rs-props-head strong { display: block; font-size: .875rem; line-height: 1.25; word-break: break-all; }
.rs-props-head span { display: block; font-size: var(--bs-font-size-xs); color: var(--bs-color-text-secondary); }
.rs-props > :not(.rs-props-head) { margin-left: .9rem; margin-right: .9rem; }
.rs-props > .rs-form > h2, .rs-props .rs-tform > h2, .rs-props .rs-props-element > h2 { display: none; }
.rs-props .rs-form { padding-top: .5rem; }
.rs-props h3 { margin: 1.1rem 0 .5rem; padding-top: .75rem; border-top: 1px solid var(--bs-color-border-subtle); font-size: var(--bs-font-size-xs); font-weight: 600; letter-spacing: .05em; color: var(--bs-color-text-muted); }
.rs-props .bs-label { font-size: var(--bs-font-size-xs); font-weight: 500; color: var(--bs-color-text-secondary); margin-bottom: 3px; }
.rs-props .bs-input, .rs-props .bs-select { height: var(--bs-input-height-sm); font-size: var(--bs-font-size-sm); padding: 4px 8px; }
.rs-props textarea.bs-input { height: auto; }
.rs-props .bs-form-group { margin-bottom: .55rem; }
.rs-props .rs-form-row { gap: .5rem .6rem; margin-bottom: .35rem; }
.rs-props .rs-form-row .bs-form-group { min-width: 0; flex: 1 1 130px; }
.rs-props .rs-check { font-size: var(--bs-font-size-sm); }
.rs-props .rs-hint { font-size: var(--bs-font-size-xs); line-height: 1.45; }

/* Durum çubuğu (kural uyarıları) */
.rs-rules { display: flex; align-items: center; gap: .75rem; min-height: 30px; max-height: 30vh; padding: .25rem .9rem; border-top: 1px solid var(--bs-color-border); background: var(--bs-color-surface); font-size: var(--bs-font-size-xs); color: var(--bs-color-text-secondary); flex-wrap: wrap; overflow: auto; }
.rs-rules-ok { color: var(--bs-color-success); display: inline-flex; align-items: center; gap: .35rem; font-weight: 500; }
.rs-rules-bad { background: var(--bs-color-warning-light); }
.rs-rules-toggle { display: inline-flex; align-items: center; gap: .35rem; border: 0; background: none; color: var(--bs-color-warning-hover); font: inherit; font-weight: 600; cursor: pointer; padding: 0; }
.rs-rules ul { width: 100%; margin: .2rem 0 .3rem; }
.rs-rule { font-size: var(--bs-font-size-xs); }

/* Alt rapor çerçevesi (docs/24): iç gövde kayıt başına tekrarlanır */
.rs-subreport { position: relative; margin: 1.8rem 0 .8rem; padding: .5rem 0 .4rem; outline: 1.5px dashed var(--bs-color-primary-mid); outline-offset: 4px; border-radius: 6px; background: rgba(26, 111, 219, .03); }
.rs-subreport.rs-selected { outline-style: solid; outline-color: var(--bs-color-primary); }
.rs-subreport-tag { position: absolute; top: -1.6rem; left: -5px; display: flex; align-items: center; gap: .4rem; padding: 1px .5rem; font-size: 10.5px; font-weight: 600; color: var(--bs-color-primary); background: var(--bs-color-primary-light); border-radius: 4px 4px 0 0; cursor: pointer; }
.rs-subreport.rs-selected .rs-subreport-tag { background: var(--bs-color-primary); color: #fff; }
.rs-tree-l3 { padding-left: 3.2rem; }
