/* Shared WCAG 2.2 AA support for the Persian/RTL admin panel. */
:root {
    color-scheme: dark;
    --a11y-focus: #F3D98A;
    --a11y-focus-shadow: rgba(243, 217, 138, 0.32);
}

.sr-only,
.app-live-region {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.skip-link {
    position: fixed;
    z-index: 12000;
    top: 12px;
    right: 12px;
    transform: translateY(-160%);
    padding: 12px 18px;
    border: 2px solid var(--a11y-focus);
    border-radius: 10px;
    background: #0b1226;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    transition: transform 0.18s ease;
}

.skip-link:focus-visible { transform: translateY(0); }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 3px solid var(--a11y-focus) !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 5px var(--a11y-focus-shadow) !important;
}

:where(button, input:not([type="hidden"]), select, textarea) {
    min-height: 44px;
}

:where(input[type="checkbox"], input[type="radio"]) {
    min-width: 20px;
    min-height: 20px;
}

:where(button, a, [role="button"], [role="tab"]) { touch-action: manipulation; }

:where(.btn-submit, .btn-primary, .btn-action, .action-button) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

:where(.btn-submit, .btn-primary, .btn-action, .action-button) > i {
    flex: 0 0 auto;
    line-height: 1;
}

:where(.btn-icon, .btn-close, .global-btn-close, .mm-close, .logout-btn, .tb-logout, .search-clear) {
    min-width: 44px;
    min-height: 44px;
}

:where(button, input, select, textarea)[disabled],
[aria-disabled="true"] {
    cursor: not-allowed !important;
    opacity: 0.62;
}

[aria-busy="true"] { cursor: progress !important; }
[hidden] { display: none !important; }

.modal-overlay[aria-hidden="true"],
.global-modal-overlay[aria-hidden="true"],
.mega-modal-overlay[aria-hidden="true"] {
    pointer-events: none;
}

.empty-state,
.empty-list,
.chart-empty {
    line-height: 1.8;
}

h1.header-title,
h1.dash-title { margin: 0; }

.custom-tab[role="tab"],
.modal-tab[role="tab"] {
    appearance: none;
    border-top: 0;
    border-right: 0;
    border-left: 0;
    background: transparent;
    font-family: inherit;
}

@media (forced-colors: active) {
    :where(a, button, input, select, textarea, [tabindex]):focus-visible {
        outline: 3px solid CanvasText !important;
        box-shadow: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
    }
}

/* Phase 16: shared pagination, readable responsibility badges and tablet cards. */
.admin-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-block:24px; }
.pagination-links { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.pagination-links a,.pagination-links span { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:8px 12px; border:1px solid var(--border-glow); border-radius:9px; color:var(--text-pure); text-decoration:none; }
.pagination-links .is-current { background:var(--gold-linear); color:var(--bg-deep); font-weight:800; }
.pagination-links .is-disabled { color:var(--text-muted); }
.reviewer-badges { display:flex; flex-wrap:wrap; gap:8px; margin-block-start:10px; }
.reviewer-badge,.tracking-code { display:inline-block; white-space:nowrap; border:1px solid var(--border-glow); border-radius:8px; padding:5px 8px; }
.user-group-badges { display:flex;flex-wrap:wrap;gap:7px;justify-content:center; }
.custom-table .status-badge { display:inline-block; white-space:nowrap; }
.main-content .audience-option { display:grid; grid-template-columns:24px minmax(0,1fr); align-items:start; }
.main-content .audience-option input { width:20px; height:20px; min-width:20px; min-height:20px; margin:3px 0 0; padding:0; }
.main-content .ug-toolbar { flex-wrap:wrap; align-items:flex-end; }
.main-content .ug-toolbar h2 { margin:0; }
.main-content .ug-toolbar .ug-input { width:auto; max-width:100%; }
.main-content .ug-card-head { flex-wrap:wrap; }
.main-content .ug-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr)); }
.main-content .priority-help { width:44px; padding:0; }
.main-content .ug-field { min-width:0; }
.main-content details summary { min-height:44px; padding:10px 0; cursor:pointer; }
.audit-table td { vertical-align:middle; overflow-wrap:anywhere; }
.audit-table td.mono { display:table-cell; }
@media(max-width:1100px) {
 .main-content .audit-table,.main-content .ug-table { min-width:0; width:100%; }
 .audit-table thead,.ug-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .audit-table tbody,.ug-table tbody,.audit-table tr,.ug-table tr { display:block; }
 .audit-table tr,.ug-table tr { border:1px solid var(--border-glow); border-radius:12px; margin-block:14px; padding:10px; }
 .main-content .audit-table td,.main-content .ug-table td { display:grid; grid-template-columns:minmax(90px,30%) minmax(0,1fr); gap:12px; text-align:start; direction:rtl; padding:10px 4px; }
 .audit-table td::before,.ug-table td::before { content:attr(data-label); color:var(--text-muted); font-family:inherit; }
 .audit-table td[colspan],.ug-table td[colspan] { display:block; }
 .audit-table td[colspan]::before,.ug-table td[colspan]::before { content:none; }
 .main-content .filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .audit-actions>* { max-width:100%; }
 .main-content .ug-heading,.main-content .ug-toolbar { align-items:stretch; flex-direction:column; }
}
@media(max-width:600px) {
 .main-content .filter-grid { grid-template-columns:minmax(0,1fr); }
 .audit-actions { align-items:stretch; }
 .audit-actions label,.audit-actions .control { width:100%; }
 .main-content .ug-toolbar .ug-input { width:100%; }
 .main-content .product-row { grid-template-columns:1fr 44px !important; }
 .main-content .product-row input:first-child { grid-column:1 / -1; }
}
