/* ==========================================================================
   A.S.U admin area
   Sidebar layout + the public design tokens (asu.css) applied to the
   existing admin-* classes, so admin templates keep their markup.
   ========================================================================== */

body.ad-body {
    margin: 0;
    background: var(--sc-bg-alt);
    color: var(--sc-text);
    font-family: 'Cairo', 'Nunito Sans', system-ui, sans-serif;
    font-size: 1rem;
    -webkit-font-smoothing: antialiased;
}
.ad-body .material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24; }

/* ---------- Layout ---------- */
.ad-layout { min-height: 100vh; display: flex; }
.ad-sidebar {
    position: fixed;
    inset-block: 0;
    inset-inline-start: 0;
    z-index: 70;
    width: 264px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 18px 14px;
    box-sizing: border-box;
    background: var(--sc-navy-deep);
    color: rgba(255,255,255,.82);
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform .22s ease;
}
[dir='ltr'] .ad-sidebar { transform: translateX(-100%); }
.ad-nav-open .ad-sidebar { transform: none; }
.ad-backdrop {
    position: fixed; inset: 0; z-index: 65;
    background: rgba(7,31,61,.45);
    opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s;
}
.ad-nav-open .ad-backdrop { opacity: 1; visibility: visible; }

.ad-main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.ad-content { flex: 1; }

@media (min-width: 1100px) {
    .ad-sidebar, [dir='ltr'] .ad-sidebar { position: sticky; top: 0; height: 100vh; transform: none; flex-shrink: 0; }
    .ad-backdrop, .ad-burger { display: none !important; }
}

.ad-brand {
    display: flex; align-items: center; gap: 12px;
    padding: 6px 8px 18px;
    margin-bottom: 6px;
    border-bottom: 1px solid rgba(255,255,255,.1);
    color: #fff; text-decoration: none;
}
.ad-brand strong { display: block; font-size: 1.25rem; font-weight: 900; letter-spacing: .04em; }
.ad-brand small { display: block; font-size: .8rem; color: var(--sc-gold); font-weight: 700; }

.ad-nav { display: grid; gap: 2px; }
.ad-nav-link {
    display: flex; align-items: center; gap: 12px;
    padding: 11px 12px;
    border-radius: var(--sc-radius);
    color: rgba(255,255,255,.78);
    font-weight: 700;
    text-decoration: none;
    transition: background-color .15s, color .15s;
}
.ad-nav-link .sc-icon { font-size: 22px; }
.ad-nav-link:hover { background: rgba(255,255,255,.07); color: #fff; }
.ad-nav-link.is-active {
    background: rgba(255,194,14,.14);
    color: var(--sc-gold);
    box-shadow: inset 3px 0 0 var(--sc-gold);
}
[dir='rtl'] .ad-nav-link.is-active { box-shadow: inset -3px 0 0 var(--sc-gold); }
.ad-nav-link--danger:hover { background: rgba(193,39,45,.2); color: #ffb4b7; }
.ad-count {
    margin-inline-start: auto;
    min-width: 22px; height: 22px; padding: 0 6px; box-sizing: border-box;
    display: grid; place-items: center;
    border-radius: 999px;
    background: var(--sc-red); color: #fff;
    font-size: .78rem; font-weight: 900;
}
.ad-sidebar-foot { margin-top: auto; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.1); display: grid; gap: 2px; }

.ad-topbar {
    position: sticky; top: 0; z-index: 40;
    display: flex; align-items: center; gap: 14px;
    min-height: 64px;
    padding: 0 clamp(16px, 3vw, 32px);
    background: #fff;
    border-bottom: 1px solid var(--sc-line);
}
.ad-burger, .ad-icon-btn {
    position: relative;
    width: 42px; height: 42px;
    display: grid; place-items: center;
    border: 1px solid var(--sc-line); border-radius: var(--sc-radius);
    background: #fff; color: var(--sc-navy);
    cursor: pointer; text-decoration: none;
}
.ad-icon-btn:hover, .ad-burger:hover { border-color: var(--sc-navy); }
.ad-dot { position: absolute; top: 8px; inset-inline-end: 9px; width: 9px; height: 9px; border-radius: 50%; background: var(--sc-red); border: 2px solid #fff; }
.ad-topbar-title { flex: 1; min-width: 0; font-weight: 900; font-size: 1.1rem; color: var(--sc-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ad-user { display: flex; align-items: center; gap: 10px; }
.ad-avatar {
    width: 38px; height: 38px; display: grid; place-items: center;
    border-radius: 50%; background: var(--sc-gold); color: var(--sc-navy); font-weight: 900;
}
.ad-user-text { display: none; line-height: 1.2; }
.ad-user-text strong { display: block; color: var(--sc-ink); font-size: .92rem; }
.ad-user-text small { color: var(--sc-muted); font-size: .78rem; }
@media (min-width: 640px) { .ad-user-text { display: block; } }

/* Flash messages sit below the top bar */
.ad-body .sc-flash-stack { top: 80px; }

/* ---------- Page structure (existing admin-* classes) ---------- */
.ad-body .admin-shell { background: none; min-height: 0; }
.ad-body .admin-page { width: auto; max-width: 1280px; margin: 0 auto; padding: clamp(16px, 3vw, 32px); }

.ad-body .admin-hero {
    margin-bottom: 24px;
    border-radius: var(--sc-radius-lg);
    padding: clamp(20px, 3vw, 32px);
    background: var(--sc-navy);
    box-shadow: none;
}
.ad-body .admin-hero::before {
    inset-inline-end: auto; inset-inline-start: 0; top: auto; bottom: 0;
    width: min(220px, 40%); height: 6px;
    border-radius: 0; background: var(--sc-gold); filter: none;
}
.ad-body .admin-kicker {
    padding: 4px 12px; border-radius: 999px;
    background: rgba(255,194,14,.16); color: var(--sc-gold);
    letter-spacing: .08em; font-size: .75rem;
}
.ad-body .admin-title { font-family: inherit; letter-spacing: 0; line-height: 1.3; font-size: clamp(1.6rem, 3vw, 2.2rem); color: #fff; }
.ad-body .admin-copy { line-height: 1.75; }

.ad-body .admin-section { margin-top: 24px; }
.ad-body .admin-section-title { color: var(--sc-ink); font-size: 1.3rem; line-height: 1.3; }
.ad-body .admin-section-copy { color: var(--sc-muted); }

/* ---------- Buttons ---------- */
.ad-body :is(.admin-btn-primary, .admin-btn-secondary, .admin-btn-danger, .admin-btn-ghost) {
    min-height: 42px;
    padding: 8px 16px;
    border-radius: var(--sc-radius);
    font-weight: 800;
    box-shadow: none;
    text-decoration: none;
    border: 2px solid transparent;
    cursor: pointer;
}
.ad-body .admin-btn-primary { background: var(--sc-navy); color: #fff; }
.ad-body .admin-btn-primary:hover { background: var(--sc-navy-deep); }
.ad-body .admin-btn-secondary { background: #fff; color: var(--sc-navy); border-color: var(--sc-line); }
.ad-body .admin-btn-secondary:hover { border-color: var(--sc-navy); }
.ad-body .admin-hero .admin-btn-primary { background: var(--sc-gold); color: var(--sc-navy); }
.ad-body .admin-hero .admin-btn-primary:hover { background: var(--sc-gold-deep); }
.ad-body .admin-hero .admin-btn-secondary { border-color: transparent; }
.ad-body .admin-btn-danger { background: var(--sc-red); color: #fff; }
.ad-body .admin-btn-danger:hover { background: #9e1f24; }
.ad-body .admin-btn-ghost { background: rgba(255,255,255,.1); color: #fff; border-color: rgba(255,255,255,.35); }
.ad-body .admin-form-card .admin-btn-ghost, .ad-body .admin-section .admin-btn-ghost { background: var(--sc-bg-alt); color: var(--sc-navy); border-color: var(--sc-line); }
.ad-body .admin-link-button, .ad-body .admin-link { color: var(--sc-navy); }
.ad-body .admin-link-button:hover, .ad-body .admin-link:hover { color: var(--sc-brown); text-decoration: underline; text-underline-offset: 3px; }
[dir='rtl'] .ad-body .admin-link-button .material-symbols-outlined:is(:only-child, :last-child) { transform: scaleX(-1); }

/* ---------- Cards ---------- */
.ad-body :is(.admin-card, .admin-stat-card, .admin-table-card, .admin-list-card, .admin-form-card, .admin-empty) {
    border-radius: var(--sc-radius-lg);
    border: 1px solid var(--sc-line);
    background: #fff;
    box-shadow: 0 1px 2px rgba(11,46,89,.04);
}
.ad-body .admin-empty { border-style: dashed; border-width: 2px; }
.ad-body .admin-empty-icon { background: var(--sc-gold-soft); color: var(--sc-brown); }
.ad-body .admin-stat-card { padding: 20px; }
.ad-body .admin-stat-card::before { inset-block: 0; top: 0; bottom: 0; width: 4px; border-radius: 0; background: var(--sc-gold); }
.ad-body .admin-stat-value { color: var(--sc-navy); }
.ad-body .admin-form-card h2, .ad-body .admin-form-card legend { color: var(--sc-ink); }

/* ---------- Tables ---------- */
.ad-body .admin-table thead { background: var(--sc-bg-alt); }
.ad-body .admin-table th { color: var(--sc-muted); letter-spacing: 0; font-size: .85rem; }
.ad-body .admin-table tbody tr { border-top-color: var(--sc-line); }
.ad-body .admin-table tbody tr:hover { background: #fafbfd; }

/* ---------- Forms ---------- */
.ad-body :is(.admin-input, .admin-select, .admin-textarea) {
    border-radius: var(--sc-radius);
    border: 2px solid var(--sc-line);
    font-family: inherit;
    color: var(--sc-ink);
}
.ad-body :is(.admin-input, .admin-select, .admin-textarea):hover { border-color: #c9d3e1; }
.ad-body :is(.admin-input, .admin-select, .admin-textarea):focus,
.ad-body :is(.admin-input, .admin-select, .admin-textarea):focus-visible {
    border-color: var(--sc-navy);
    box-shadow: 0 0 0 4px rgba(11,46,89,.12);
}
.ad-body .admin-label { color: var(--sc-ink); }
.ad-body .admin-help { color: var(--sc-muted); }
.ad-body .admin-checkbox-row { border-radius: var(--sc-radius); background: var(--sc-bg-alt); border-color: var(--sc-line); }
.ad-body .admin-checkbox { color: var(--sc-navy); border-radius: 4px; }
.ad-body .admin-badge { border-radius: 999px; font-weight: 800; }
.ad-body .admin-media-thumb, .ad-body .admin-preview { border-radius: var(--sc-radius); border-color: var(--sc-line); }

/* ---------- Login ---------- */
.ad-login {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 1fr;
}
.ad-login-art {
    position: relative;
    display: none;
    flex-direction: column;
    justify-content: flex-end;
    gap: 14px;
    padding: 48px;
    color: #fff;
    background: var(--sc-navy) center/cover no-repeat;
    isolation: isolate;
}
.ad-login-art::before {
    content: ''; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(0deg, rgba(7,31,61,.95) 0%, rgba(7,31,61,.35) 70%);
}
.ad-login-art h1 { font-size: 2.4rem; font-weight: 900; line-height: 1.3; color: #fff; margin: 0; }
.ad-login-art p { color: rgba(255,255,255,.85); font-size: 1.1rem; max-width: 40ch; margin: 0; }
.ad-login-panel { display: grid; place-items: center; padding: 32px 18px; background: var(--sc-bg-alt); }
.ad-login-card {
    width: min(420px, 100%);
    padding: 32px;
    box-sizing: border-box;
    border-radius: var(--sc-radius-lg);
    background: #fff;
    border: 1px solid var(--sc-line);
    box-shadow: var(--sc-shadow);
}
.ad-login-card img { width: 72px; height: 72px; margin: 0 auto 14px; display: block; }
.ad-login-card h2 { margin: 0; text-align: center; font-size: 1.5rem; font-weight: 900; color: var(--sc-ink); }
.ad-login-card > p { margin: 6px 0 24px; text-align: center; color: var(--sc-muted); }
.ad-login-card form { display: grid; gap: 16px; }
.ad-login-card .admin-btn-primary { width: 100%; min-height: 50px; font-size: 1rem; }
.ad-login-back { display: block; margin-top: 20px; text-align: center; font-weight: 800; color: var(--sc-navy); text-decoration: none; }
.ad-login-back:hover { text-decoration: underline; }
@media (min-width: 960px) { .ad-login { grid-template-columns: 1.1fr 1fr; } .ad-login-art { display: flex; } }

/* ---------- Partners ---------- */
.ad-partner-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.ad-partner-card { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 22px 18px; text-align: center; }
.ad-partner-card.is-hidden { opacity: .55; }
.ad-partner-logo {
    width: 120px; height: 120px;
    display: grid; place-items: center;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--sc-line);
    box-shadow: 0 4px 14px rgba(11,46,89,.08);
    overflow: hidden;
}
.ad-partner-logo img { width: 78%; height: 78%; object-fit: contain; }
.ad-partner-logo span { font-size: 2rem; font-weight: 900; color: var(--sc-navy); }
.ad-partner-logo--lg { width: 180px; height: 180px; margin-inline: auto; background: #fff url('../images/patterns/zellige-gold.svg') 0 0 / 60px; }

/* ---------- Social links in settings ---------- */
.ad-social-label { display: flex; align-items: center; gap: 10px; }
.ad-social-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 8px; flex-shrink: 0; }
.ad-social-icon svg { width: 17px; height: 17px; fill: #fff; }
.ad-whatsapp-box { padding: 16px; border-radius: var(--sc-radius); background: #effbf3; border: 1px solid #c7efd5; }

/* ---------- Homepage background chooser ---------- */
.ad-hero-modes { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 0; margin: 0; padding: 0; }
.ad-hero-mode { position: relative; display: grid; gap: 4px; padding: 8px 8px 12px; border: 2px solid var(--sc-line); border-radius: var(--sc-radius-lg); background: #fff; cursor: pointer; text-align: center; transition: border-color .15s, box-shadow .15s; }
.ad-hero-mode:hover { border-color: #c9d3e1; }
.ad-hero-mode input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.ad-hero-mode:has(input:checked) { border-color: var(--sc-navy); box-shadow: 0 0 0 3px rgba(11,46,89,.12); }
.ad-hero-mode:has(input:checked)::after {
    content: 'check'; font-family: 'Material Symbols Outlined'; font-size: 18px;
    position: absolute; top: 14px; inset-inline-start: 14px;
    width: 26px; height: 26px; display: grid; place-items: center;
    border-radius: 50%; background: var(--sc-gold); color: var(--sc-navy);
}
.ad-hero-mode:has(input:focus-visible) { outline: 3px solid var(--sc-gold); outline-offset: 2px; }
.ad-hero-thumb {
    position: relative;
    aspect-ratio: 16 / 10;
    display: grid; place-items: center;
    margin-bottom: 6px;
    border-radius: var(--sc-radius);
    background: var(--sc-bg-alt) center / cover no-repeat;
    color: var(--sc-muted);
    overflow: hidden;
}
.ad-hero-thumb .material-symbols-outlined { font-size: 36px; }
.ad-hero-thumb--video { background: var(--sc-navy); color: #fff; }
.ad-hero-thumb video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ad-hero-thumb--video .material-symbols-outlined { position: relative; text-shadow: 0 2px 8px rgba(0,0,0,.4); }
.ad-hero-mode strong { color: var(--sc-ink); font-size: .95rem; }
.ad-hero-mode small { color: var(--sc-muted); font-size: .78rem; }
@media (max-width: 560px) { .ad-hero-modes { grid-template-columns: 1fr; } }

/* ---------- Group location picker ---------- */
.ad-maplink { display: flex; gap: 8px; }
.ad-maplink .admin-input { flex: 1; min-width: 0; }
.ad-maplink .admin-btn-primary { flex-shrink: 0; white-space: nowrap; }
[data-map-status][data-tone='ok'] { color: var(--sc-green); font-weight: 700; }
[data-map-status][data-tone='error'] { color: var(--sc-red); font-weight: 700; }
[data-map-status][data-tone='busy'] { color: var(--sc-navy); }
.ad-map { height: 320px; margin-top: 14px; border-radius: var(--sc-radius-lg); border: 1px solid var(--sc-line); overflow: hidden; z-index: 0; cursor: crosshair; }
@media (max-width: 560px) { .ad-maplink { flex-direction: column; } }

/* ---------- Shared image field (change / cancel / delete) ---------- */
.ad-imgfield { display: grid; gap: 10px; }
.ad-imgfield-preview {
    position: relative;
    aspect-ratio: 16 / 9;
    border-radius: var(--sc-radius-lg);
    border: 2px dashed var(--sc-line);
    background: var(--sc-bg-alt);
    overflow: hidden;
}
.ad-imgfield-preview img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ad-imgfield--round .ad-imgfield-preview { width: 180px; aspect-ratio: 1; border-radius: 50%; margin-inline: auto; background: #fff; }
.ad-imgfield--round .ad-imgfield-preview img { object-fit: contain; padding: 14%; box-sizing: border-box; }
.ad-imgfield[data-state='new'] .ad-imgfield-preview { border-style: solid; border-color: var(--sc-green); }
.ad-imgfield[data-state='removed'] .ad-imgfield-preview { border-style: solid; border-color: var(--sc-red); }
.ad-imgfield-empty { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 6px; color: var(--sc-muted); font-weight: 700; }
.ad-imgfield-empty .material-symbols-outlined { font-size: 40px; }
.ad-imgfield-badge { position: absolute; inset-inline: 10px; bottom: 10px; padding: 6px 10px; border-radius: var(--sc-radius); font-size: .82rem; font-weight: 800; text-align: center; }
.ad-imgfield-badge--new { background: rgba(0,112,60,.92); color: #fff; }
.ad-imgfield-badge--remove { background: rgba(193,39,45,.92); color: #fff; }
.ad-imgfield--round .ad-imgfield-badge { inset-inline: -40px; bottom: -6px; }
.ad-imgfield-input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.ad-imgfield-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ad-imgfield-actions [hidden] { display: none !important; }
.ad-imgfield-actions label { cursor: pointer; }
.ad-imgfield-input:focus-visible + .ad-imgfield-input + .ad-imgfield-actions [data-img-pick] { outline: 3px solid var(--sc-gold); outline-offset: 2px; }
.ad-body .ad-imgfield-delete { color: var(--sc-red); }
.ad-body .ad-imgfield-delete:hover { border-color: var(--sc-red); }
.ad-imgfield [hidden] { display: none !important; }

/* ---------- Unit "What you'll do" cards editor ---------- */
.ad-feature-list { display: grid; gap: 14px; }
.ad-feature { padding: 16px; border: 1px solid var(--sc-line); border-inline-start: 4px solid var(--sc-gold); border-radius: var(--sc-radius-lg); background: #fcfdff; }
.ad-feature-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.ad-feature-head strong { color: var(--sc-ink); }
.ad-feature-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: var(--sc-gold-soft); color: var(--sc-brown); font-size: 22px; }
.ad-feature-tools { margin-inline-start: auto; display: flex; gap: 4px; }
.ad-icon-tool { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--sc-line); border-radius: var(--sc-radius); background: #fff; color: var(--sc-navy); cursor: pointer; }
.ad-icon-tool:hover:not(:disabled) { border-color: var(--sc-navy); }
.ad-icon-tool:disabled { opacity: .35; cursor: default; }
.ad-icon-tool .material-symbols-outlined { font-size: 18px; }
.ad-icon-tool--danger { color: var(--sc-red); }
.ad-icon-tool--danger:hover { border-color: var(--sc-red) !important; }
.ad-feature-langs { margin-top: 12px; }
.ad-feature-langs summary { cursor: pointer; font-weight: 800; color: var(--sc-navy); font-size: .92rem; }
.ad-body [data-feature-add]:disabled { opacity: .5; cursor: not-allowed; }

/* ---------- Page headers ---------- */
.ad-pages-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); }
.ad-page-card { display: grid; border: 1px solid var(--sc-line); border-radius: var(--sc-radius-lg); background: #fff; overflow: hidden; text-decoration: none; transition: border-color .15s, transform .15s; }
.ad-page-card:hover { border-color: var(--sc-navy); transform: translateY(-2px); }
.ad-page-banner, .ad-banner-preview {
    position: relative; display: flex; flex-direction: column; justify-content: center; gap: 4px;
    padding: 22px 20px; background: var(--sc-navy) center / cover no-repeat; color: #fff; isolation: isolate;
}
.ad-page-banner { min-height: 120px; }
.ad-page-banner::before, .ad-banner-preview::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(270deg, rgba(7,31,61,.92), rgba(7,31,61,.55)); }
.ad-page-banner small, .ad-banner-preview small { color: var(--sc-gold); font-weight: 800; font-size: .8rem; }
.ad-page-banner strong { font-size: 1.3rem; font-weight: 900; line-height: 1.3; }
.ad-page-meta { display: flex; align-items: center; gap: 8px; padding: 12px 16px; color: var(--sc-ink); font-weight: 800; }
.ad-page-meta .material-symbols-outlined { color: var(--sc-navy); }
.ad-page-edit { margin-inline-start: auto; color: var(--sc-muted) !important; }
.ad-banner-preview { min-height: 200px; padding: 32px; border-radius: var(--sc-radius-lg); box-shadow: inset 0 -8px 0 var(--sc-gold); }
.ad-banner-preview strong { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 900; line-height: 1.3; }
.ad-banner-preview p { margin: 4px 0 0; max-width: 60ch; color: rgba(255,255,255,.88); }
.ad-banner-preview-tag { position: absolute; top: 12px; inset-inline-end: 12px; padding: 3px 10px; border-radius: 999px; background: rgba(255,255,255,.18); font-size: .75rem; font-weight: 800; }

/* Image field v2: compact preview, drop zone, always-visible buttons */
.ad-imgfield-preview { display: block; max-height: 240px; aspect-ratio: 16 / 9; cursor: pointer; transition: border-color .15s, background-color .15s; }
.ad-imgfield-preview:hover { border-color: #c9d3e1; }
.ad-imgfield-preview.is-dragging { border-color: var(--sc-navy); border-style: solid; background: var(--sc-navy-soft); }
.ad-imgfield--round .ad-imgfield-preview { max-height: none; }
.ad-imgfield-empty small { font-weight: 600; font-size: .8rem; }
.ad-imgfield-missing { color: var(--sc-red); }
.ad-body .ad-imgfield-actions button:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.ad-body .ad-imgfield-actions button:disabled:hover { border-color: var(--sc-line); }
.ad-imgfield-actions [data-img-pick]:focus-visible { outline: 3px solid var(--sc-gold); outline-offset: 2px; }

/* ---------- Publications admin ---------- */
.ad-doc-list { display: grid; gap: 12px; }
.ad-doc-row { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.ad-doc-row.is-hidden { opacity: .6; }
.ad-doc-thumb { width: 66px; aspect-ratio: 3 / 4; flex-shrink: 0; display: grid; place-items: center; border-radius: 4px 8px 8px 4px; background: var(--sc-navy); color: #fff; overflow: hidden; box-shadow: 0 4px 10px rgba(11,46,89,.18); }
.ad-doc-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ad-doc-thumb .material-symbols-outlined { font-size: 30px; }
.ad-doc-info { flex: 1; min-width: 220px; display: grid; gap: 6px; }
.ad-doc-info h2 { margin: 0; font-size: 1.1rem; font-weight: 900; color: var(--sc-ink); }
.ad-doc-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ad-pdf-current { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: var(--sc-radius); background: #fdecec; }
.ad-pdf-current > .material-symbols-outlined { font-size: 32px; color: var(--sc-red); }
.ad-pdf-current strong { display: block; color: var(--sc-ink); }
.ad-pdf-current small { color: var(--sc-muted); }
.ad-pdf-current a { margin-inline-start: auto; }

/* ---------- Automatic translation bar ---------- */
.ad-translate { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 12px 16px; margin-bottom: 16px; border: 1px dashed var(--sc-navy); border-radius: var(--sc-radius-lg); background: var(--sc-navy-soft); grid-column: 1 / -1; }
.ad-translate-over { display: inline-flex; align-items: center; gap: 6px; font-size: .9rem; font-weight: 700; color: var(--sc-ink); cursor: pointer; }
.ad-translate-status { font-weight: 700; font-size: .92rem; color: var(--sc-muted); }
.ad-translate-status[data-tone='ok'] { color: var(--sc-green); }
.ad-translate-status[data-tone='error'] { color: var(--sc-red); }
.ad-translate-status[data-tone='warn'] { color: var(--sc-brown); }
.ad-translate-status[data-tone='busy'] { color: var(--sc-navy); }
.is-translated { background: #fffbe6 !important; box-shadow: 0 0 0 2px rgba(255,194,14,.5) !important; }

/* ---------- Dashboard language menu: same dropdown as the website header (asu.css .sc-lang) ---------- */
.ad-lang-dd { flex-shrink: 0; }
.ad-lang-dd .sc-lang-trigger { min-height: 36px; padding: 4px 12px; background: var(--sc-navy); border-color: var(--sc-navy); }
.ad-lang-dd .sc-lang-trigger:hover, .ad-lang-dd.is-open .sc-lang-trigger { background: var(--sc-navy); border-color: var(--sc-gold); }
.ad-lang-dd .sc-lang-trigger .sc-icon { margin: 0; font-size: 18px; vertical-align: 0; }
.ad-lang-dd .sc-lang-menu { inset-inline-start: auto; inset-inline-end: 0; }
.ad-lang-dd .sc-lang-menu a { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: var(--sc-radius); color: var(--sc-ink); font-weight: 700; text-decoration: none; }
.ad-lang-dd .sc-lang-menu a:hover { background: var(--sc-bg-alt); color: var(--sc-navy); }
.ad-lang-dd .sc-lang-menu a.is-active { background: var(--sc-navy-soft); color: var(--sc-navy); }
.ad-lang-dd .sc-lang-check { margin: 0; margin-inline-start: auto; font-size: 18px; color: var(--sc-green); vertical-align: 0; }
.ad-login-lang { display: flex; justify-content: center; margin-bottom: 18px; }
.ad-login-lang .sc-lang-menu { inset-inline-start: 50%; inset-inline-end: auto; transform: translate(-50%, -4px); }
.ad-login-lang .sc-lang.is-open .sc-lang-menu { transform: translate(-50%, 0); }
[dir='rtl'] .ad-login-lang .sc-lang-menu { transform: translate(50%, -4px); }
[dir='rtl'] .ad-login-lang .sc-lang.is-open .sc-lang-menu { transform: translate(50%, 0); }
