/* =================================================================
 * TECH-5607 (AP-F0) — Admin component styles
 *
 * Sıra: form, button, chip, statcard, pagehead, filterbar, drawer, modal,
 * langtabs, image input, phone input, table override.
 *
 * Tüm renkler `--adm-*` token'larından gelir — dark mode bedava.
 * ================================================================= */

/* ================ ICON BASE ================ */
.adm-icon {
    width: 16px;
    height: 16px;
    display: inline-block;
    vertical-align: middle;
    flex: 0 0 auto;
}

/* ================ FIELD / FIELDGRID ================ */
.adm-fieldgrid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--adm-space-4) var(--adm-space-5);
}

@media (max-width: 1100px) {
    .adm-fieldgrid {
        grid-template-columns: 1fr;
    }
}

.adm-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    /* Block-stack formlarda (adm-card / drawer body) field'lar arası dikey ayrım.
       Olmadan her label bir önceki alana yapışıp yanlış alana aitmiş gibi görünür.
       `.adm-fieldgrid` zaten kendi row-gap'ini kullandığından orada sıfırlanır. */
    margin-bottom: var(--adm-space-4);
}

.adm-fieldgrid > .adm-field,
.adm-field:last-child {
    margin-bottom: 0;
}

.adm-field.is-span-2 {
    grid-column: 1 / -1;
}

.adm-field-label {
    font-family: var(--adm-font-mono);
    font-size: 10px;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--adm-text-muted);
    font-weight: 500;
}

.adm-field-control {
    display: flex;
    width: 100%;
}

.adm-field-hint {
    margin: 0;
    font-size: 12px;
    color: var(--adm-text-faint);
    line-height: 1.4;
}

.adm-field-hint--error {
    color: var(--adm-status-red);
}

/* ================ INPUTS ================ */
.adm-input,
.adm-textarea,
.adm-select {
    width: 100%;
    box-sizing: border-box;
    background: var(--adm-surface);
    color: var(--adm-text);
    border: 1px solid var(--adm-line-input);
    border-radius: var(--adm-radius-md);
    padding: 9px var(--adm-space-3);
    font-family: var(--adm-font-body);
    font-size: 14px;
    line-height: 1.4;
    transition: border-color var(--adm-transition-fast), box-shadow var(--adm-transition-fast);
}

.adm-textarea {
    resize: vertical;
    min-height: 84px;
    font-family: var(--adm-font-body);
}

.adm-input:hover,
.adm-textarea:hover,
.adm-select:hover {
    border-color: var(--adm-line-strong);
}

.adm-input:focus,
.adm-textarea:focus,
.adm-select:focus {
    outline: none;
    border-color: var(--adm-primary);
    box-shadow: 0 0 0 3px var(--adm-line-input-focus);
}

.adm-input:disabled,
.adm-textarea:disabled,
.adm-select:disabled {
    background: var(--adm-bg);
    color: var(--adm-text-faint);
    cursor: not-allowed;
}

.adm-input::placeholder,
.adm-textarea::placeholder {
    color: var(--adm-text-faint);
}

.adm-select {
    appearance: none;
    -webkit-appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, var(--adm-text-muted) 50%),
                      linear-gradient(135deg, var(--adm-text-muted) 50%, transparent 50%);
    background-position: calc(100% - 18px) 50%, calc(100% - 12px) 50%;
    background-size: 6px 6px;
    background-repeat: no-repeat;
    padding-right: 32px;
}

/* ================ BUTTON ================ */
.adm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid transparent;
    border-radius: var(--adm-radius-md);
    background: var(--adm-surface);
    color: var(--adm-text);
    font-family: var(--adm-font-body);
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    padding: 0 var(--adm-space-4);
    height: 36px;
    cursor: pointer;
    text-decoration: none;
    transition: background var(--adm-transition-fast),
                border-color var(--adm-transition-fast),
                color var(--adm-transition-fast),
                opacity var(--adm-transition-fast);
    white-space: nowrap;
}

.adm-btn:disabled,
.adm-btn[aria-disabled="true"] {
    opacity: 0.45;
    cursor: not-allowed;
}

.adm-btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

/* Variants */
.adm-btn--primary {
    background: var(--adm-primary);
    color: var(--adm-primary-contrast);
    border-color: var(--adm-primary);
}
.adm-btn--primary:hover { background: var(--adm-primary-hover); border-color: var(--adm-primary-hover); }

.adm-btn--secondary {
    background: var(--adm-surface);
    color: var(--adm-text);
    border-color: var(--adm-line-strong);
}
.adm-btn--secondary:hover { background: var(--adm-surface-hover); }

.adm-btn--ghost {
    background: transparent;
    color: var(--adm-text-muted);
    border-color: transparent;
}
.adm-btn--ghost:hover { background: var(--adm-surface-hover); color: var(--adm-text-strong); }

.adm-btn--danger {
    background: var(--adm-status-red);
    color: #fff;
    border-color: var(--adm-status-red);
}
.adm-btn--danger:hover { filter: brightness(0.92); }

/* Sizes */
.adm-btn--sm {
    height: 28px;
    font-size: 12px;
    padding: 0 var(--adm-space-3);
    border-radius: var(--adm-radius-sm);
}

/* ================ CHIP ================ */
.adm-chip {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 9px;
    font-family: var(--adm-font-mono);
    font-size: 10px;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    font-weight: 600;
    border-radius: var(--adm-radius-sm);
    line-height: 1;
}

.adm-chip--green { color: var(--adm-status-green); background: var(--adm-status-green-bg); }
.adm-chip--amber { color: var(--adm-status-amber); background: var(--adm-status-amber-bg); }
.adm-chip--red   { color: var(--adm-status-red);   background: var(--adm-status-red-bg); }
.adm-chip--blue  { color: var(--adm-status-blue);  background: var(--adm-status-blue-bg); }
.adm-chip--gray  { color: var(--adm-status-gray);  background: var(--adm-status-gray-bg); }

/* ================ PAGE HEAD ================ */
.adm-pagehead {
    display: flex;
    flex-direction: column;
    gap: var(--adm-space-4);
    margin-bottom: var(--adm-space-6);
}

.adm-pagehead-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--adm-space-4);
}

.adm-pagehead-kicker {
    font-family: var(--adm-font-mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--adm-text-faint);
    margin: 0;
}

.adm-pagehead-title {
    font-family: var(--adm-font-display);
    font-size: 30px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--adm-text-strong);
    line-height: 1.1;
    margin: 6px 0 0;
}

.adm-pagehead-lede {
    font-size: 14px;
    color: var(--adm-text-muted);
    line-height: 1.55;
    margin: var(--adm-space-2) 0 0;
    max-width: 60ch;
}

.adm-pagehead-actions {
    display: flex;
    align-items: center;
    gap: var(--adm-space-2);
    flex-shrink: 0;
}

.adm-pagehead-filters {
    display: flex;
    align-items: center;
    gap: var(--adm-space-3);
    flex-wrap: wrap;
}

@media (max-width: 920px) {
    .adm-pagehead-title { font-size: 24px; }
    .adm-pagehead-top { flex-direction: column; align-items: stretch; }
}

/* ================ STAT CARD ================ */
.adm-stat-row {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: var(--adm-space-5);
    margin-bottom: var(--adm-space-6);
}

@media (max-width: 1100px) { .adm-stat-row { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 920px)  { .adm-stat-row { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .adm-stat-row { grid-template-columns: 1fr; } }

.adm-statcard {
    background: var(--adm-surface);
    border: 1px solid var(--adm-line);
    border-radius: var(--adm-radius-lg);
    padding: var(--adm-space-5);
    display: flex;
    flex-direction: column;
    gap: var(--adm-space-2);
}

.adm-statcard-label {
    font-family: var(--adm-font-mono);
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--adm-text-faint);
    margin: 0;
}

.adm-statcard-value {
    font-family: var(--adm-font-display);
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--adm-text-strong);
    line-height: 1;
}

.adm-statcard-meta {
    display: flex;
    align-items: center;
    gap: var(--adm-space-2);
    font-size: 12px;
    color: var(--adm-text-muted);
}

.adm-statcard-delta {
    font-family: var(--adm-font-mono);
    font-size: 11px;
    letter-spacing: 0.06em;
    padding: 2px 6px;
    border-radius: var(--adm-radius-sm);
    background: var(--adm-status-gray-bg);
    color: var(--adm-text-muted);
}

.adm-statcard-delta--pos { color: var(--adm-status-green); background: var(--adm-status-green-bg); }
.adm-statcard-delta--neg { color: var(--adm-status-red);   background: var(--adm-status-red-bg); }

.adm-statcard-spark {
    margin-top: var(--adm-space-2);
    width: 100%;
    height: 36px;
    overflow: hidden;
}

/* ================ FILTER BAR ================ */
.adm-filterbar {
    display: flex;
    align-items: center;
    gap: var(--adm-space-3);
    padding: var(--adm-space-3);
    background: var(--adm-surface);
    border: 1px solid var(--adm-line);
    border-radius: var(--adm-radius-md);
    margin-bottom: var(--adm-space-4);
    flex-wrap: wrap;
}

.adm-filterbar-search {
    flex: 1 1 240px;
    min-width: 200px;
}

.adm-filterbar-tools {
    display: flex;
    align-items: center;
    gap: var(--adm-space-2);
    flex-wrap: wrap;
}

/* ================ DRAWER ================ */
.adm-drawer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.42);
    z-index: var(--adm-z-drawer);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--adm-transition-base);
}

.adm-drawer-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
}

.adm-drawer {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    width: var(--adm-drawer-width, 540px);
    max-width: 100vw;
    background: var(--adm-surface);
    z-index: calc(var(--adm-z-drawer) + 1);
    transform: translateX(100%);
    transition: transform var(--adm-transition-slow);
    display: flex;
    flex-direction: column;
    box-shadow: var(--adm-shadow-lg);
}

.adm-drawer.is-open {
    transform: translateX(0);
}

.adm-drawer-head {
    padding: var(--adm-space-5) var(--adm-space-6);
    border-bottom: 1px solid var(--adm-line);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--adm-space-3);
}

.adm-drawer-head-title {
    font-family: var(--adm-font-display);
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--adm-text-strong);
    line-height: 1.2;
    margin: 0;
}

.adm-drawer-head-subtitle {
    font-size: 12px;
    color: var(--adm-text-faint);
    margin-top: 2px;
}

.adm-drawer-body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: var(--adm-space-5) var(--adm-space-6);
}

.adm-drawer-foot {
    padding: var(--adm-space-4) var(--adm-space-6);
    border-top: 1px solid var(--adm-line);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--adm-space-2);
}

/* ================ MODAL ================ */
.adm-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.42);
    z-index: var(--adm-z-modal);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--adm-space-5);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

.adm-modal {
    width: var(--adm-modal-width, 460px);
    max-width: 100%;
    max-height: 90vh;
    background: var(--adm-surface);
    border: 1px solid var(--adm-line);
    border-radius: var(--adm-radius-lg);
    box-shadow: var(--adm-shadow-lg);
    display: flex;
    flex-direction: column;
}

.adm-modal-head {
    padding: var(--adm-space-5) var(--adm-space-6);
    border-bottom: 1px solid var(--adm-line);
    display: flex;
    align-items: flex-start;
    gap: var(--adm-space-3);
}

.adm-modal-head-icon {
    width: 36px;
    height: 36px;
    border-radius: var(--adm-radius-md);
    background: var(--adm-primary-tint);
    color: var(--adm-text-strong);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
}

.adm-modal.is-danger .adm-modal-head-icon {
    background: var(--adm-status-red-bg);
    color: var(--adm-status-red);
}

.adm-modal-head-text {
    flex: 1 1 auto;
    min-width: 0;
}

.adm-modal-head-kicker {
    font-family: var(--adm-font-mono);
    font-size: 10px;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--adm-text-faint);
}

.adm-modal-head-title {
    font-family: var(--adm-font-display);
    font-size: 18px;
    font-weight: 600;
    color: var(--adm-text-strong);
    line-height: 1.3;
    margin: 4px 0 0;
}

.adm-modal-head-subtitle {
    font-size: 13px;
    color: var(--adm-text-muted);
    line-height: 1.4;
    margin-top: 4px;
}

.adm-modal-close {
    width: 32px;
    height: 32px;
    border: 0;
    background: transparent;
    color: var(--adm-text-muted);
    border-radius: var(--adm-radius-sm);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.adm-modal-close:hover { background: var(--adm-surface-hover); }

.adm-modal-body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: var(--adm-space-5) var(--adm-space-6);
}

.adm-modal-foot {
    padding: var(--adm-space-4) var(--adm-space-6);
    border-top: 1px solid var(--adm-line);
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--adm-space-2);
}

@media (max-width: 560px) {
    .adm-modal { width: 100%; }
}

/* ================ LANG TABS ================ */
.adm-langtabs {
    display: flex;
    flex-direction: column;
    gap: var(--adm-space-3);
}

.adm-langtabs-bar {
    display: inline-flex;
    align-items: center;
    background: var(--adm-bg);
    border: 1px solid var(--adm-line);
    border-radius: var(--adm-radius-md);
    padding: 2px;
    align-self: flex-start;
}

.adm-langtabs-btn {
    font-family: var(--adm-font-mono);
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 600;
    padding: 6px 14px;
    border: 0;
    background: transparent;
    color: var(--adm-text-muted);
    border-radius: var(--adm-radius-sm);
    cursor: pointer;
    transition: background var(--adm-transition-fast), color var(--adm-transition-fast);
}

.adm-langtabs-btn:hover {
    color: var(--adm-text-strong);
}

.adm-langtabs-btn.is-active {
    background: var(--adm-surface);
    color: var(--adm-text-strong);
    box-shadow: var(--adm-shadow-sm);
}

/* ================ IMAGE INPUT ================ */
.adm-imageinput {
    display: flex;
    flex-direction: column;
    gap: var(--adm-space-3);
}

.adm-imageinput-row {
    display: flex;
    gap: var(--adm-space-3);
    align-items: flex-start;
}

.adm-imageinput-preview {
    width: 96px;
    height: 96px;
    flex: 0 0 96px;
    border: 1px dashed var(--adm-line-strong);
    border-radius: var(--adm-radius-md);
    background: var(--adm-surface-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.adm-imageinput-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.adm-imageinput-preview-empty {
    font-family: var(--adm-font-mono);
    font-size: 9px;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--adm-text-faint);
    text-align: center;
    padding: 0 6px;
}

.adm-imageinput-fields {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: var(--adm-space-2);
    min-width: 0;
}

.adm-imageinput-drop {
    border: 1px dashed var(--adm-line-strong);
    border-radius: var(--adm-radius-md);
    padding: var(--adm-space-4);
    text-align: center;
    font-size: 12px;
    color: var(--adm-text-muted);
    cursor: pointer;
    transition: background var(--adm-transition-fast), border-color var(--adm-transition-fast);
}

.adm-imageinput-drop:hover {
    background: var(--adm-surface-hover);
    border-color: var(--adm-primary);
}

.adm-imageinput-drop.is-busy {
    opacity: 0.6;
    pointer-events: none;
}

/* Native file input gizli; tıklama .adm-imageinput-drop label'ı üzerinden gelir. */
.adm-imageinput-input {
    display: none;
}

/* ================ PHONE INPUT ================ */
.adm-phoneinput {
    display: flex;
    align-items: stretch;
    gap: 0;
    width: 100%;
}

.adm-phoneinput-country {
    flex: 0 0 96px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: 0;
}

.adm-phoneinput-number {
    flex: 1 1 auto;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

/* ================ MUDTABLE OVERRIDE (minimal) ================ */
.adm-table-wrap .mud-table {
    background: var(--adm-surface);
    border: 1px solid var(--adm-line);
    border-radius: var(--adm-radius-lg);
    box-shadow: none;
}

.adm-table-wrap .mud-table-cell {
    font-family: var(--adm-font-body);
    font-size: 13px;
    border-bottom-color: var(--adm-line);
}

.adm-table-wrap .mud-table-head .mud-table-cell {
    font-family: var(--adm-font-mono);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.10em;
    color: var(--adm-text-muted);
    font-weight: 500;
}

/* ============================================================================
 * TECH-5608 — Dashboard / card surfaces (shared, used by Faz B too)
 *
 * Card + grid + chart legend/donut/hbars/activity primitives ported from the
 * canonical proposal (Documents/Design Systems/admin/styles.css). Surfaces and
 * text bind to --adm-* tokens (dark mode bedava); chart SERIES colours stay
 * literal (#5fa00e / #3D8AFF / #a0e614 / #FF8A00) because they are brand-fixed.
 * ========================================================================== */

/* ---- Card container ---- */
.adm-card {
    background: var(--adm-surface);
    border: 1px solid var(--adm-line);
    border-radius: var(--adm-radius-lg);
    padding: 20px;
}

/* Tablo kartı — padding'siz; tablo kenara oturur, pager kendi padding'iyle altta.
   Yatay taşmada kaydırma; köşeler radius ile korunur. */
.adm-card--table {
    padding: 0;
    overflow-x: auto;
}

.adm-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.adm-card-head h3 {
    font-size: 16px;
    font-weight: 700;
    margin: 0;
    letter-spacing: -0.01em;
    color: var(--adm-text-strong);
}

.adm-card-kicker {
    font-family: var(--adm-font-mono);
    font-size: 10px;
    color: var(--adm-primary);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    margin-bottom: 5px;
    font-weight: 700;
}

.adm-pill-mono {
    font-family: var(--adm-font-mono);
    font-size: 10px;
    color: var(--adm-text-muted);
    background: var(--adm-status-gray-bg);
    padding: 3px 8px;
    border-radius: var(--adm-radius-sm);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

/* ---- Grids ---- */
.adm-grid-2 {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.adm-grid-3 {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}

.adm-grid-span-2 { grid-column: span 2; }

/* ---- Legend row (inline series swatches) ---- */
.adm-legend-row {
    display: flex;
    gap: 14px;
    font-size: 11.5px;
    color: var(--adm-text-muted);
    flex-wrap: wrap;
}

.adm-legend-row span { display: inline-flex; align-items: center; gap: 6px; }
.adm-legend-row--mt { margin-top: 8px; }

.adm-legend-row i {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 2px;
    background: var(--swatch, var(--adm-primary));
}

/* ---- Chart base ---- */
.adm-chart {
    display: block;
    width: 100%;
}

/* ---- Donut ---- */
.adm-donut-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

.adm-donut { flex: 0 0 auto; }
.adm-donut svg { display: block; }

.adm-donut-legend {
    flex: 1;
    min-width: 140px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.adm-donut-legend li {
    display: grid;
    grid-template-columns: 14px 1fr auto;
    gap: 8px;
    align-items: center;
    padding: 7px 0;
    font-size: 12.5px;
    border-bottom: 1px dashed var(--adm-line-strong);
}

.adm-donut-legend li:last-child { border-bottom: 0; }

.adm-legend-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--dot-color, var(--adm-primary));
}

.adm-legend-name {
    color: var(--adm-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.adm-legend-val {
    font-family: var(--adm-font-mono);
    font-weight: 700;
    color: var(--adm-text-muted);
}

/* ---- Horizontal bars ---- */
.adm-hbars {
    list-style: none;
    margin: 0;
    padding: 0;
}

.adm-hbars li { margin-bottom: 12px; }
.adm-hbars li:last-child { margin-bottom: 0; }

.adm-hbar-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 4px;
    font-size: 12.5px;
}

.adm-hbar-name {
    color: var(--adm-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-right: 8px;
}

.adm-hbar-val {
    font-family: var(--adm-font-mono);
    font-weight: 700;
    color: var(--adm-primary);
    flex: 0 0 auto;
}

.adm-hbar-track {
    height: 6px;
    background: var(--adm-status-gray-bg);
    border-radius: var(--adm-radius-sm);
    overflow: hidden;
}

.adm-hbar-fill {
    height: 100%;
    border-radius: var(--adm-radius-sm);
    background: var(--bar-color, var(--adm-primary));
    transition: width 0.3s;
}

/* ---- Activity feed ---- */
.adm-activity {
    list-style: none;
    margin: 0;
    padding: 0;
}

.adm-activity li {
    display: grid;
    grid-template-columns: 14px 1fr auto;
    gap: 12px;
    align-items: start;
    padding: 9px 0;
    border-bottom: 1px dashed var(--adm-line);
}

.adm-activity li:last-child { border-bottom: 0; }

.adm-act-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-top: 6px;
    background: var(--dot-color, var(--adm-primary));
}

.adm-act-body {
    font-size: 12.5px;
    min-width: 0;
    color: var(--adm-text);
}

.adm-act-title,
.adm-act-title-link {
    margin: 0;
    font-weight: 600;
    color: var(--adm-text-strong);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.adm-act-title-link {
    text-decoration: none;
    display: block;
}

.adm-act-title-link:hover {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.adm-act-sub {
    margin: 2px 0 0;
    color: var(--adm-text-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.adm-act-when {
    font-family: var(--adm-font-mono);
    font-size: 10.5px;
    color: var(--adm-text-dim);
    white-space: nowrap;
}

/* ---- Inline text link (mono accent) ---- */
.adm-link {
    color: var(--adm-primary);
    cursor: pointer;
    background: none;
    border: 0;
    padding: 0;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.adm-link:hover { text-decoration: underline; text-underline-offset: 2px; }

/* ---- Shared empty-state (chart / activity / table degrade) ---- */
.adm-empty {
    text-align: center;
    padding: 32px 16px;
    color: var(--adm-text-dim);
    font-size: 13px;
    margin: auto 0;
}

/* ---- Plain-HTML data table (pending applications) ---- */
.adm-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    min-width: 640px;
}

/* .adm-content overflow-x:clip olduğu için (admin-base) taşan tablolar GİZLENİR.
   Bunu önlemek için: .adm-table'ı DOĞRUDAN içeren her kapsayıcı yatay kaydırılır
   → tablo kendi kutusunda kayar (kolonlar görünür), sayfa sabit kalır. Bu kural
   her viewport'ta geçerli; tablo dışı içerik etkilenmez. */
.adm-content :has(> .adm-table) {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
}

/* Uzun tek-parça string'ler (TOTP gizli anahtarı, yedek kodlar, inline code,
   uzun e-posta/token) mobilde taşıp clip ile gizlenmesin → satır kır/sar. */
.adm-totp-manual, .adm-backup-code, .adm-code,
.adm-session-current, .adm-card code, .adm-card pre {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.adm-table th {
    text-align: left;
    font-family: var(--adm-font-mono);
    font-size: 10px;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--adm-text-muted);
    padding: 8px 12px;
    border-bottom: 1px solid var(--adm-line);
    font-weight: 500;
}

.adm-table td {
    padding: 12px;
    border-bottom: 1px solid var(--adm-line);
    color: var(--adm-text);
    vertical-align: middle;
}

.adm-table tbody tr:last-child td { border-bottom: 0; }
.adm-table tbody tr:hover { background: var(--adm-surface-hover); }

.adm-product-tag {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: var(--adm-radius-pill);
    border: 1px solid var(--brand, var(--adm-primary));
    color: var(--brand, var(--adm-primary));
    font-size: 12px;
    font-weight: 500;
    background: transparent;
}

/* ---- List-row primitives (color dot / avatar / inline code) ---- */
.adm-color-dot {
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1px solid var(--adm-line-strong);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.5);
    vertical-align: middle;
}

.adm-row-avatar {
    width: 28px;
    height: 28px;
    border-radius: var(--adm-radius-sm);
    object-fit: cover;
    flex: 0 0 28px;
    background: var(--adm-surface-soft);
}

.adm-code {
    font-family: var(--adm-font-mono);
    font-size: 12px;
    padding: 2px 6px;
    background: var(--adm-status-gray-bg);
    color: var(--adm-text-muted);
    border-radius: var(--adm-radius-sm);
}

/* ---- Pager (plain-HTML table footer) ---- */
.adm-pager {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--adm-space-3);
    padding: var(--adm-space-3) var(--adm-space-4);
    border-top: 1px solid var(--adm-line);
    flex-wrap: wrap;
}

.adm-pager-info {
    font-family: var(--adm-font-mono);
    font-size: 11px;
    letter-spacing: 0.04em;
    color: var(--adm-text-muted);
}

.adm-pager-controls {
    display: flex;
    align-items: center;
    gap: var(--adm-space-2);
}

/* ---- Tab bar (sayfa içi sekmeler) ---- */
.adm-tabs {
    display: flex;
    gap: var(--adm-space-1);
    border-bottom: 1px solid var(--adm-line);
    margin-bottom: var(--adm-space-5);
    flex-wrap: wrap;
}

.adm-tab {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 10px 16px;
    font-family: var(--adm-font-body);
    font-size: 13px;
    font-weight: 500;
    color: var(--adm-text-muted);
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: var(--adm-space-2);
    transition: color var(--adm-transition-base), border-color var(--adm-transition-base);
}

.adm-tab:hover {
    color: var(--adm-text-strong);
}

.adm-tab.is-active {
    color: var(--adm-text-strong);
    border-bottom-color: var(--adm-primary);
    font-weight: 600;
}

.adm-tab-count {
    font-family: var(--adm-font-mono);
    font-size: 10px;
    line-height: 1;
    padding: 2px 6px;
    border-radius: var(--adm-radius-pill);
    background: var(--adm-surface-hover);
    color: var(--adm-text-muted);
}

/* ---- Callout (dialog içi bilgi / uyarı kutusu) ---- */
.adm-callout {
    padding: var(--adm-space-3) var(--adm-space-4);
    border-radius: var(--adm-radius-md);
    border: 1px solid var(--adm-line);
    background: var(--adm-surface-soft);
    color: var(--adm-text);
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: var(--adm-space-4);
}

.adm-callout--info {
    background: var(--adm-status-blue-bg);
    border-color: transparent;
}

.adm-callout--warning {
    background: var(--adm-status-amber-bg);
    border-color: transparent;
}

.adm-callout--success {
    background: var(--adm-status-green-bg);
    border-color: transparent;
}

/* ---- Code/value block (reveal dialog) ---- */
.adm-codeblock {
    display: block;
    font-family: var(--adm-font-mono);
    font-size: 13px;
    word-break: break-all;
    padding: var(--adm-space-3);
    background: var(--adm-surface-soft);
    border: 1px solid var(--adm-line);
    border-radius: var(--adm-radius-md);
    color: var(--adm-text-strong);
}

/* ---- Detay modali: salt-okunur key/value readout (TECH-5605) ---- */
/* ContactDetailDialog / DataRequestDetailDialog — 2-kolon etiket/değer ızgarası. */
.adm-modal-kv {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--adm-space-4);
    margin: 0;
}

.adm-modal-kv .adm-kv {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.adm-modal-kv .adm-kv.is-span-2 {
    grid-column: 1 / -1;
}

.adm-kv-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--adm-text-muted);
}

.adm-kv-value {
    font-size: 14px;
    color: var(--adm-text-strong);
    word-break: break-word;
}

/* Çok satırlı mesaj gövdesi (white-space korunur). */
.adm-readonly-box {
    margin-top: 4px;
    padding: var(--adm-space-3);
    background: var(--adm-surface-soft);
    border: 1px solid var(--adm-line);
    border-radius: var(--adm-radius-md);
    font-size: 13px;
    line-height: 1.55;
    color: var(--adm-text);
    white-space: pre-wrap;
    word-break: break-word;
}

/* Modal içi bölüm ayırıcı + alt başlık. */
.adm-modal-divider {
    border: 0;
    border-top: 1px solid var(--adm-line);
    margin: var(--adm-space-5) 0 var(--adm-space-4);
}

.adm-modal-subhead {
    margin: 0 0 var(--adm-space-3);
    font-size: 13px;
    font-weight: 600;
    color: var(--adm-text-strong);
}

/* Modal gövdesinde mini-tablo (KVKK kullanıcı verisi alt-listeleri). */
.adm-modal-subtable {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    margin-bottom: var(--adm-space-4);
}

.adm-modal-subtable th {
    text-align: left;
    padding: 6px 10px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--adm-text-muted);
    border-bottom: 1px solid var(--adm-line);
}

.adm-modal-subtable td {
    padding: 7px 10px;
    border-bottom: 1px solid var(--adm-line);
    color: var(--adm-text);
}

.adm-modal-subtable tr:last-child td { border-bottom: 0; }

@media (max-width: 560px) {
    .adm-modal-kv { grid-template-columns: 1fr; }
}

/* ---- Gizli dosya girişi (görünür label = AdmButton) ---- */
.adm-file-trigger {
    position: relative;
    overflow: hidden;
}

.adm-file-input {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

/* ---- Tablo hücresi yardımcıları (beta üyeleri) ---- */
.adm-cell-inline {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.adm-text-dim {
    color: var(--adm-text-dim);
}

.adm-chip-row {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.adm-row-actions {
    display: inline-flex;
    gap: 4px;
    justify-content: flex-end;
}

.adm-reveal-btn {
    appearance: none;
    border: 0;
    background: transparent;
    cursor: pointer;
    padding: 4px 6px;
    border-radius: var(--adm-radius-sm);
    font-size: 13px;
    line-height: 1;
    color: var(--adm-text-muted);
    transition: background var(--adm-transition-fast), color var(--adm-transition-fast);
}

.adm-reveal-btn:hover {
    background: var(--adm-surface-hover);
    color: var(--adm-text-strong);
}

.adm-reveal-btn--danger:hover {
    color: var(--adm-status-red);
}

.adm-checkbox {
    width: 16px;
    height: 16px;
    accent-color: var(--adm-primary);
    cursor: pointer;
}

.adm-manage-list {
    display: flex;
    flex-direction: column;
    gap: var(--adm-space-2);
}

.adm-manage-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--adm-space-3);
}

/* ---- Form sayfası yardımcıları (edit/create) ---- */
.adm-form-section {
    margin-top: var(--adm-space-5);
    border-top: 1px solid var(--adm-line);
    padding-top: var(--adm-space-5);
    display: flex;
    flex-direction: column;
    gap: var(--adm-space-4);
}

.adm-form-foot {
    display: flex;
    justify-content: flex-end;
    gap: var(--adm-space-2);
    margin-top: var(--adm-space-5);
    padding-top: var(--adm-space-4);
    border-top: 1px solid var(--adm-line);
}

/* ---- Inline form error banner ---- */
.adm-form-error {
    margin: 0 0 var(--adm-space-4);
    padding: 10px 14px;
    border: 1px solid var(--adm-status-red);
    background: var(--adm-status-red-bg);
    color: var(--adm-status-red);
    border-radius: var(--adm-radius-sm);
    font-size: 13px;
    line-height: 1.4;
}

/* ---- Password strength rule checklist ---- */
.adm-pw-rules {
    list-style: none;
    margin: 0 0 var(--adm-space-4);
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 12px;
    line-height: 1.4;
}

.adm-pw-rule--ok { color: var(--adm-status-green); }
.adm-pw-rule--bad { color: var(--adm-status-red); }

.adm-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: var(--adm-space-2);
    cursor: pointer;
    color: var(--adm-text);
    font-size: 14px;
}

/* ---- Range pill group (dashboard date range) ---- */
.adm-range {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border-radius: var(--adm-radius-pill);
    border: 1px solid var(--adm-line-strong);
    background: var(--adm-surface);
}

.adm-range-btn {
    border: 0;
    background: transparent;
    color: var(--adm-text-muted);
    font-family: inherit;
    font-size: 13px;
    padding: 6px 14px;
    border-radius: var(--adm-radius-pill);
    cursor: pointer;
    transition: background var(--adm-transition-base), color var(--adm-transition-base);
}

.adm-range-btn:hover { color: var(--adm-text-strong); }

.adm-range-btn.is-active {
    background: var(--adm-primary);
    color: var(--adm-text-on-primary);
}

/* ---- Toggle pill bar (Subscribers: kampanya şablon bölümleri) ----
   Bağımsız aç/kapa pill'leri: her pill bir şablon bölümünü gösterir/gizler.
   Varsayılanda hepsi kapalı → sayfada yalnız abone listesi görünür. */
.adm-pillbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--adm-space-2);
    margin-bottom: var(--adm-space-5);
}

.adm-pillbar-label {
    font-family: var(--adm-font-mono);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--adm-text-faint);
    margin-right: var(--adm-space-1);
}

.adm-tpill {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: var(--adm-space-2);
    padding: 7px 14px;
    border-radius: var(--adm-radius-pill);
    border: 1px solid var(--adm-line-strong);
    background: var(--adm-surface);
    color: var(--adm-text-muted);
    font-family: var(--adm-font-body);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background var(--adm-transition-base),
                color var(--adm-transition-base),
                border-color var(--adm-transition-base);
}

.adm-tpill:hover {
    color: var(--adm-text-strong);
    border-color: var(--adm-primary);
}

.adm-tpill.is-active {
    background: var(--adm-primary);
    border-color: var(--adm-primary);
    color: var(--adm-text-on-primary);
}

.adm-tpill-icon {
    display: inline-flex;
    align-items: center;
}

/* "Dolu bölüm" göstergesi */
.adm-tpill-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--adm-primary);
}

.adm-tpill.is-active .adm-tpill-dot {
    background: var(--adm-text-on-primary);
}

.adm-tpill-badge {
    font-family: var(--adm-font-mono);
    font-size: 10px;
    line-height: 1;
    padding: 2px 6px;
    border-radius: var(--adm-radius-pill);
    background: var(--adm-surface-hover);
    color: var(--adm-text-muted);
}

.adm-tpill.is-active .adm-tpill-badge {
    background: rgba(255, 255, 255, 0.22);
    color: var(--adm-text-on-primary);
}

/* ---- KPI / stat row (6-up that re-tiles) ---- */
.adm-dashboard {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.adm-stat-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

/* ---- Chart dark-mode (literal SVG colours flipped) ---- */
[data-theme="dark"] .adm-chart line[stroke="rgba(0,0,0,0.06)"] { stroke: rgba(255, 255, 255, 0.06); }
[data-theme="dark"] .adm-chart line[stroke="rgba(0,0,0,0.12)"] { stroke: rgba(255, 255, 255, 0.12); }
[data-theme="dark"] .adm-chart text { fill: rgba(255, 255, 255, 0.45); }
[data-theme="dark"] .adm-chart circle[fill="#ffffff"],
[data-theme="dark"] .adm-chart circle[fill="#fff"] { fill: #14171c; }
[data-theme="dark"] .adm-donut svg circle[stroke="rgba(0,0,0,0.05)"] { stroke: rgba(255, 255, 255, 0.06); }
[data-theme="dark"] .adm-donut-center-value { fill: var(--adm-text-strong); }
[data-theme="dark"] .adm-donut-center-label { fill: var(--adm-text-muted); }

/* ---- Donut centre label (SVG text) ---- */
.adm-donut-center-value {
    font-family: var(--adm-font-display);
    font-size: 22px;
    font-weight: 700;
    fill: var(--adm-text-strong);
}

.adm-donut-center-label {
    font-family: var(--adm-font-mono);
    font-size: 9px;
    letter-spacing: 0.14em;
    fill: var(--adm-text-muted);
}

/* ---- Card subtitle (head lede) ---- */
.adm-card-sub {
    margin: 6px 0 0;
    font-size: 13px;
    line-height: 1.45;
    color: var(--adm-text-muted);
    max-width: 56ch;
}

/* ---- Roadmap list (drag-reorder rows) ---- */
.adm-roadmap-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--adm-space-2);
}

.adm-roadmap-row {
    display: flex;
    align-items: center;
    gap: var(--adm-space-3);
    padding: 12px 14px;
    border: 1px solid var(--adm-line);
    border-radius: var(--adm-radius-md);
    background: var(--adm-surface);
    transition: border-color var(--adm-transition-fast), background var(--adm-transition-fast);
}

.adm-roadmap-row:hover {
    border-color: var(--adm-line-strong);
    background: var(--adm-surface-hover);
}

.adm-roadmap-row.is-dragging {
    opacity: 0.5;
}

.adm-roadmap-row.is-drop-target {
    border-color: var(--adm-primary);
    background: var(--adm-primary-tint);
}

.adm-roadmap-grip {
    flex: 0 0 auto;
    cursor: grab;
    color: var(--adm-text-faint);
    font-size: 14px;
    line-height: 1;
    letter-spacing: -2px;
    user-select: none;
}

.adm-roadmap-grip:active { cursor: grabbing; }

.adm-roadmap-row-main {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--adm-space-3);
}

.adm-roadmap-row-titles {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.adm-roadmap-quarter {
    font-family: var(--adm-font-mono);
    font-size: 10px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--adm-primary);
    font-weight: 700;
}

.adm-roadmap-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--adm-text-strong);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.adm-roadmap-row-actions {
    flex: 0 0 auto;
    display: inline-flex;
    gap: 4px;
}

/* ---- Responsive ---- */
@media (max-width: 1280px) {
    .adm-stat-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .adm-grid-3 { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 1024px) {
    .adm-grid-2,
    .adm-grid-3 { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .adm-stat-row { grid-template-columns: 1fr; }
    .adm-donut-wrap { flex-direction: column; align-items: stretch; }
    .adm-card { padding: 16px; }
}

/* TECH-5610 — Inline durum hücresi: chip + kompakt durum değiştirme select'i. */
.adm-status-cell {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.adm-select--inline {
    height: 30px;
    padding: 2px 26px 2px 8px;
    font-size: 0.78rem;
    min-width: 104px;
    width: auto;
}

/* TECH-5611 — Son tarih hücresi: tarih + opsiyonel uyarı/gecikme rozeti. */
.adm-deadline-cell {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

/* TECH-5613 [AP-F6] — Hakkımızda > Hikayemiz dikey timeline kartları.
   Sol dikey çizgi + nokta + kart. Açık/koyu tema adm-* token'larıyla uyumlu. */
.adm-timeline {
    position: relative;
    padding: var(--adm-space-2) 0;
    margin: 0;
    list-style: none;
}

.adm-timeline::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 11px;
    width: 2px;
    background: var(--adm-line);
}

.adm-timeline-item {
    position: relative;
    padding: 0 0 var(--adm-space-5) 40px;
}

.adm-timeline-item:last-child {
    padding-bottom: 0;
}

.adm-timeline-dot {
    position: absolute;
    left: 4px;
    top: 6px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--adm-surface);
    border: 3px solid var(--adm-primary);
    z-index: 1;
}

.adm-timeline-card {
    border: 1px solid var(--adm-line);
    border-radius: var(--adm-radius-md);
    background: var(--adm-surface);
    padding: var(--adm-space-4);
    transition: border-color var(--adm-transition-base), box-shadow var(--adm-transition-base);
}

.adm-timeline-card:hover {
    border-color: var(--adm-primary);
}

.adm-timeline-card-head {
    display: flex;
    align-items: flex-start;
    gap: var(--adm-space-3);
}

.adm-timeline-year {
    font-family: var(--adm-font-mono);
    font-size: 12px;
    font-weight: 600;
    color: var(--adm-primary);
    padding: 2px 8px;
    border-radius: var(--adm-radius-pill);
    background: var(--adm-status-green-bg);
    white-space: nowrap;
}

.adm-timeline-logo {
    width: 40px;
    height: 40px;
    border-radius: var(--adm-radius-md);
    object-fit: contain;
    background: var(--adm-surface-soft);
    border: 1px solid var(--adm-line);
    flex-shrink: 0;
}

.adm-timeline-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--adm-text-strong);
    margin: 0;
    line-height: 1.3;
}

.adm-timeline-desc {
    font-size: 13px;
    color: var(--adm-text-muted);
    line-height: 1.5;
    margin: var(--adm-space-2) 0 0;
}

.adm-timeline-card-grow {
    flex: 1;
    min-width: 0;
}

.adm-timeline-actions {
    display: flex;
    gap: 4px;
    white-space: nowrap;
}

/* ═══════════════════════════════════════════════════════════════════════════
   TECH-5614 [AP-F7] — Hesap Ayarları (Account settings) sayfası
   ═══════════════════════════════════════════════════════════════════════════ */

/* ---- Kart ızgarası: 6 kart responsive ---- */
.adm-account-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--adm-space-5);
    align-items: start;
}

.adm-account-grid .adm-card {
    margin: 0;
}

@media (max-width: 920px) {
    .adm-account-grid { grid-template-columns: 1fr; }
}

/* Kart başlığı (her hesap kartının üst satırı) */
.adm-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--adm-space-3);
    margin-bottom: var(--adm-space-4);
}

.adm-card-head-text { min-width: 0; }

.adm-card-title {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: var(--adm-text-strong);
}

.adm-card-sub {
    margin: 4px 0 0;
    font-size: 12.5px;
    line-height: 1.45;
    color: var(--adm-text-muted);
}

/* ---- Parola güç göstergesi (segment bar) ---- */
.adm-pw-strength {
    margin: 0 0 var(--adm-space-3);
}

.adm-pw-strength-bar {
    display: flex;
    gap: 4px;
    margin-bottom: 6px;
}

.adm-pw-strength-seg {
    flex: 1;
    height: 5px;
    border-radius: var(--adm-radius-pill);
    background: var(--adm-line-strong);
    transition: background var(--adm-transition-fast);
}

.adm-pw-strength-seg.is-on-weak   { background: var(--adm-status-red); }
.adm-pw-strength-seg.is-on-fair   { background: var(--adm-status-amber); }
.adm-pw-strength-seg.is-on-good   { background: var(--adm-primary-light); }
.adm-pw-strength-seg.is-on-strong { background: var(--adm-status-green); }

.adm-pw-strength-label {
    font-size: 12px;
    font-weight: 600;
}

.adm-pw-strength-label.is-weak   { color: var(--adm-status-red); }
.adm-pw-strength-label.is-fair   { color: var(--adm-status-amber); }
.adm-pw-strength-label.is-good   { color: var(--adm-primary); }
.adm-pw-strength-label.is-strong { color: var(--adm-status-green); }

/* ---- 2FA durum satırı ---- */
/* ---- 2FA multi-method satırları (TECH-5695) ---- */
.adm-2fa-methods {
    display: flex;
    flex-direction: column;
    gap: var(--adm-space-2);
    margin-bottom: var(--adm-space-2);
}

.adm-2fa-method {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--adm-space-3);
    flex-wrap: wrap;
    padding: var(--adm-space-3);
    border: 1px solid var(--adm-line);
    border-radius: var(--adm-radius-md);
    background: var(--adm-surface-soft);
}

.adm-2fa-method-info {
    min-width: 0;
    flex: 1 1 240px;
}

.adm-2fa-method-title {
    font-weight: 600;
    color: var(--adm-text-strong);
    font-size: 14px;
}

.adm-2fa-method-sub {
    font-size: 12.5px;
    line-height: 1.45;
    color: var(--adm-text-faint);
    margin-top: 2px;
}

.adm-2fa-method-state {
    display: flex;
    align-items: center;
    gap: var(--adm-space-2);
    flex: 0 0 auto;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.adm-2fa-backup {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--adm-space-3);
    flex-wrap: wrap;
}

.adm-2fa-reset {
    display: flex;
    justify-content: flex-start;
    padding-top: var(--adm-space-3);
    border-top: 1px solid var(--adm-line);
}

/* ---- QR + manuel key (TOTP kurulum modalı) ---- */
.adm-totp-setup {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--adm-space-3);
    text-align: center;
}

.adm-totp-qr {
    width: 200px;
    height: 200px;
    border: 1px solid var(--adm-line-strong);
    border-radius: var(--adm-radius-md);
    background: #fff;
    padding: 8px;
    box-sizing: border-box;
}

.adm-totp-manual {
    font-family: var(--adm-font-mono, ui-monospace, monospace);
    font-size: 14px;
    letter-spacing: 1px;
    word-break: break-all;
    padding: 8px 12px;
    background: var(--adm-surface-soft);
    border: 1px solid var(--adm-line);
    border-radius: var(--adm-radius-sm);
    color: var(--adm-text-strong);
}

/* ---- Yedek kodlar (10'lu liste) ---- */
.adm-backup-codes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin: var(--adm-space-3) 0;
    padding: var(--adm-space-3);
    background: var(--adm-surface-soft);
    border: 1px dashed var(--adm-line-strong);
    border-radius: var(--adm-radius-md);
}

.adm-backup-code {
    font-family: var(--adm-font-mono, ui-monospace, monospace);
    font-size: 14px;
    letter-spacing: 1px;
    text-align: center;
    color: var(--adm-text-strong);
}

.adm-backup-warn {
    font-size: 12.5px;
    line-height: 1.45;
    color: var(--adm-status-amber);
    margin: 0 0 var(--adm-space-3);
}

/* ---- Tehlikeli bölge kartı ---- */
.adm-card--danger {
    border-color: var(--adm-status-red);
    background: var(--adm-status-red-bg);
}

.adm-card--danger .adm-card-title { color: var(--adm-status-red); }

.adm-danger-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--adm-space-3);
    padding: var(--adm-space-3) 0;
    border-top: 1px solid var(--adm-line);
}

.adm-danger-row:first-of-type { border-top: 0; }

.adm-danger-row-text { min-width: 0; }

.adm-danger-row-title {
    font-weight: 600;
    font-size: 14px;
    color: var(--adm-text-strong);
}

.adm-danger-row-sub {
    font-size: 12.5px;
    line-height: 1.4;
    color: var(--adm-text-muted);
    margin-top: 2px;
}

/* ---- Aktif oturumlar: "Bu cihaz" rozeti (TECH-5693) ---- */
.adm-session-current {
    display: inline-block;
    margin-left: var(--adm-space-2);
    padding: 1px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.6;
    color: var(--adm-status-green);
    background: var(--adm-status-green-bg);
    vertical-align: middle;
}

/* ─────────────────────────────────────────────────────────────────────────
   TECH-5615 [AP-F8] — Reply composer: quill toolbar add-on + attachments
   ───────────────────────────────────────────────────────────────────────── */

/* Extra controls (divider button) sitting above the Quill toolbar. */
.adm-quill-toolbarrow {
    display: flex;
    align-items: center;
    gap: var(--adm-space-2);
    margin-bottom: var(--adm-space-2);
}

/* İçerik editörü, AdmField'ın `.adm-field-control` (display:flex row) içinde
   yaşıyor. Quill host'un (wrapper'ın) intrinsic width'i olmadığından flex
   satırında büzülüp (yarı genişlik) dikeyde taşıyor / kısalıyor. Düzeltme,
   WRAPPER CLASS'INDAN BAĞIMSIZ olmalı: DS V3 dönüşümü tutarsız yapıldı —
   bazı formlar `.adm-quill-wrap`, bazıları `.adm-card` ile sarıyor
   (NotebookList vs PracticeList). Bu yüzden Quill'i `.ql-container` varlığıyla
   hedefliyoruz. (TECH-5605 layout fix) */
.adm-field-control:has(.ql-container) {
    display: block;
}

/* Editör host'u (hangi wrapper olursa olsun) tam genişlik + dikey akış. */
.adm-field-control:has(.ql-container) > * {
    width: 100%;
    box-sizing: border-box;
}

.adm-quill-wrap {
    display: block;
    width: 100%;
}

/* Quill editor body — makul min-height (wrapper class'tan bağımsız). */
.adm-field-control .ql-container,
.adm-quill-wrap .ql-container {
    min-height: 180px;
    font-family: var(--adm-font-body);
    font-size: 14px;
}

.adm-field-control .ql-editor,
.adm-quill-wrap .ql-editor {
    min-height: 180px;
}

.adm-field-control .ql-editor hr,
.adm-quill-wrap .ql-editor hr {
    border: 0;
    border-top: 1px solid var(--adm-line);
    margin: 12px 0;
}

/* Attachments block */
.adm-attach {
    display: flex;
    flex-direction: column;
    gap: var(--adm-space-3);
}

.adm-attach-pick {
    align-self: flex-start;
    cursor: pointer;
}

.adm-attach-status {
    font-size: 12px;
    font-family: var(--adm-font-mono);
    color: var(--adm-text-muted);
}

.adm-attach-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--adm-space-2);
}

.adm-attach-item {
    display: flex;
    align-items: center;
    gap: var(--adm-space-3);
    padding: var(--adm-space-2) var(--adm-space-3);
    border: 1px solid var(--adm-line);
    border-radius: var(--adm-radius-md);
    background: var(--adm-surface);
}

.adm-attach-ico {
    flex: 0 0 auto;
    color: var(--adm-text-muted);
    display: inline-flex;
}

.adm-attach-name {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 13px;
    color: var(--adm-text-strong);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.adm-attach-size {
    flex: 0 0 auto;
    font-size: 11px;
    font-family: var(--adm-font-mono);
    color: var(--adm-text-faint);
}

.adm-attach-remove {
    flex: 0 0 auto;
    border: 0;
    background: transparent;
    color: var(--adm-text-faint);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    padding: 2px;
    border-radius: var(--adm-radius-sm);
}

.adm-attach-remove:hover:not(:disabled) {
    color: var(--adm-status-red);
    background: var(--adm-surface-hover);
}

.adm-attach-remove:disabled {
    opacity: 0.5;
    cursor: default;
}
