/* ==========================================================================
   AI Qatar Summit 2026 - Central Admin Portal Stylesheet
   Preserving Sovereign Brand Identity, Layout Geometry & Premium Visuals
   ========================================================================== */

.admin-login-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 20px;
    background: radial-gradient(circle at center, #075b65 0%, #063f49 100%);
}

.admin-login-card {
    background: #ffffff;
    border-radius: var(--radius-lg);
    padding: 48px 40px;
    max-width: 460px;
    width: 100%;
    text-align: center;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
    border: 1px solid rgba(85,223,208, 0.3);
}

.admin-login-logo img {
    display: block;
    width: 144px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    border-radius: 0;
    margin: 0 auto 18px auto;
    border: 0;
}

.admin-login-title {
    font-size: 24px;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 6px;
}

.admin-login-sub {
    font-size: 13px;
    color: var(--text-muted);
    margin-bottom: 28px;
}

.login-error-alert {
    background: #ffebee;
    border: 1px solid #ffcdd2;
    color: #c62828;
    padding: 10px 14px;
    border-radius: 6px;
    margin-bottom: 16px;
    font-size: 13.5px;
    font-weight: 700;
}

/* Dashboard Layout */
.admin-dashboard-layout {
    background: #f0f8f7;
    min-height: 100vh;
    padding-bottom: 80px;
}

.admin-top-bar {
    background: var(--qatar-maroon-deep);
    color: #ffffff;
    border-bottom: 3px solid var(--gold-accent);
    position: sticky;
    top: 0;
    z-index: 100;
}

.admin-top-shell {
    width: min(1480px, calc(100% - 48px));
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 72px;
    padding-block: 10px;
}

.admin-brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.admin-brand-logo {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid var(--gold-accent);
}

.admin-brand-title {
    font-size: 16px;
    font-weight: 800;
    color: #ffffff;
    line-height: 1.2;
}

.admin-brand-sub {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.7);
}

.admin-actions-bar {
    display: flex;
    align-items: center;
    gap: 12px;
}

.admin-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(46, 125, 50, 0.2);
    color: #a7f3d0;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
}

.pulse-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 8px #22c55e;
}

.admin-link-btn {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: 0.2s;
    text-decoration: none;
}

.admin-link-btn:hover {
    background: rgba(255, 255, 255, 0.2);
    color: var(--gold-accent);
}

.admin-icon-btn {
    background: rgba(255, 255, 255, 0.1);
    border: none;
    color: #ffffff;
    width: 36px;
    height: 36px;
    border-radius: 6px;
    cursor: pointer;
    display: grid;
    place-items: center;
    font-size: 15px;
    transition: 0.2s;
}

.admin-icon-btn:hover {
    background: rgba(255, 255, 255, 0.2);
}

.admin-logout-btn {
    background: rgba(198, 40, 40, 0.2);
    border: 1px solid rgba(198, 40, 40, 0.4);
    color: #ffcdd2;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: 0.2s;
}

.admin-logout-btn:hover {
    background: #c62828;
    color: #ffffff;
}

.admin-main-container {
    width: min(1480px, calc(100% - 48px));
    margin: 20px auto 0 auto;
}

/* KPI Ribbon */
.admin-kpi-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 16px;
}

.kpi-card {
    background: #ffffff;
    border: 1px solid var(--surface-border);
    border-radius: 10px;
    padding: 13px 12px;
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 82px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
    text-decoration: none;
    color: inherit;
}

.kpi-card:hover {
    transform: translateY(-1px);
    border-color: var(--gold-accent);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
}

.kpi-card.kpi-active {
    border-color: var(--qatar-maroon);
    box-shadow: inset 0 -3px 0 var(--qatar-maroon), 0 5px 14px rgba(0,127,130, 0.07);
}

.kpi-icon-wrap {
    width: 38px;
    height: 38px;
    border-radius: 9px;
    display: grid;
    place-items: center;
    font-size: 16px;
    flex-shrink: 0;
}

.kpi-label {
    font-size: 11px;
    color: var(--text-muted);
    font-weight: 700;
    display: block;
}

.kpi-value {
    font-size: 20px;
    font-weight: 900;
    color: var(--text-primary);
    line-height: 1.2;
    margin: 2px 0;
    font-feature-settings: 'tnum';
}

.kpi-note {
    font-size: 10px;
    color: var(--text-muted);
    display: block;
}

/* Workspace navigation */
.admin-workspace {
    display: grid;
    grid-template-columns: 248px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.admin-workspace-content {
    min-width: 0;
}

.admin-nav-tabs {
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: #ffffff;
    padding: 10px;
    border-radius: 12px;
    border: 1px solid var(--surface-border);
    margin: 0;
    position: sticky;
    top: 90px;
    z-index: 20;
    box-shadow: 0 6px 20px rgba(42, 25, 31, 0.05);
}

.admin-nav-heading {
    padding: 8px 10px 12px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--surface-border);
}

.admin-nav-heading span,
.admin-nav-heading small {
    display: block;
}

.admin-nav-heading span {
    font-size: 13px;
    font-weight: 800;
    color: var(--text-primary);
}

.admin-nav-heading small {
    margin-top: 2px;
    font-size: 10.5px;
    color: var(--text-muted);
}

.admin-tab-btn {
    background: transparent;
    border: none;
    width: 100%;
    padding: 10px 11px;
    border-radius: 8px;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--text-secondary);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-align: right;
    transition: 0.2s;
    text-decoration: none;
}

.admin-tab-btn:hover {
    color: var(--qatar-maroon);
    background: #f8fbfa;
}

.admin-tab-btn.active {
    background: var(--qatar-maroon) !important;
    color: #ffffff !important;
}

.admin-tab-btn.btn-scanner-tab {
    border: 1px dashed rgba(85,223,208, 0.4);
    background: rgba(85,223,208, 0.04);
}

.admin-tab-btn.btn-scanner-tab:hover {
    border-color: var(--gold-accent);
}

.admin-tab-btn > i {
    width: 18px;
    text-align: center;
}

.admin-tab-btn > span:nth-child(2) {
    flex: 1;
}

.badge-count {
    background: rgba(0, 0, 0, 0.08);
    font-size: 11.5px;
    padding: 2px 8px;
    border-radius: 12px;
}

.admin-tab-btn.active .badge-count {
    background: rgba(255, 255, 255, 0.25);
    color: #ffffff;
}

.admin-capabilities-link {
    color: #704f0c;
    background: linear-gradient(90deg, rgba(85,223,208, .12), rgba(85,223,208, .03));
    border: 1px solid rgba(85,223,208, .26);
}

/* ========================================================================== 
   Executive platform capabilities page
   ========================================================================== */
.capabilities-page {
    --cap-maroon: #007f82;
    --cap-deep: #063f49;
    --cap-gold: #55dfd0;
    --cap-ink: #143b40;
    --cap-muted: #766b70;
    display: flex;
    flex-direction: column;
    gap: 22px;
    color: var(--cap-ink);
}

.capabilities-page *, .capabilities-page *::before, .capabilities-page *::after { box-sizing: border-box; }

.capabilities-hero {
    min-height: 430px;
    border-radius: 24px;
    padding: clamp(38px, 5vw, 68px);
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr);
    align-items: center;
    gap: 44px;
    color: #fff;
    overflow: hidden;
    position: relative;
    background:
        radial-gradient(circle at 12% 15%, rgba(216,182,94,.18), transparent 29%),
        radial-gradient(circle at 88% 75%, rgba(148,26,65,.42), transparent 35%),
        linear-gradient(135deg, #032c38 0%, #075b65 55%, #007f82 100%);
    box-shadow: 0 24px 50px rgba(50, 4, 21, .2);
}

.capabilities-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .13;
    background-image: linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: linear-gradient(90deg, transparent, #000);
}

.capabilities-hero-copy, .capabilities-hero-visual { position: relative; z-index: 1; }
.capabilities-eyebrow, .capabilities-section-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #9b6a0c;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .02em;
}
.capabilities-eyebrow {
    color: #d6fff5;
    border: 1px solid rgba(216,182,94,.5);
    background: rgba(216,182,94,.12);
    padding: 8px 14px;
    border-radius: 999px;
}
.capabilities-hero h1 {
    margin: 22px 0 16px;
    color: #fff;
    font-size: clamp(36px, 4.2vw, 62px);
    line-height: 1.18;
    font-weight: 900;
    letter-spacing: -.04em;
}
.capabilities-hero h1 em { color: #a8f3e8; font-style: normal; }
.capabilities-hero-copy > p { max-width: 720px; margin: 0; color: rgba(255,255,255,.79); font-size: 16px; line-height: 2; }
.capabilities-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.capability-btn {
    min-height: 46px;
    padding: 0 20px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    text-decoration: none;
    font-weight: 900;
    font-size: 13px;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.capability-btn:hover { transform: translateY(-2px); }
.capability-btn-gold { color: #063f49; background: linear-gradient(135deg, #b9f1e8, #55dfd0); box-shadow: 0 9px 22px rgba(85,223,208,.24); }
.capability-btn-ghost { color: #fff; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.08); }
.capability-btn-outline { color: var(--cap-maroon); border: 1px solid rgba(0,127,130,.22); background: #fff; white-space: nowrap; }

.capabilities-hero-visual { height: 310px; display: grid; place-items: center; }
.capabilities-orbit { position: absolute; border: 1px solid rgba(216,182,94,.28); border-radius: 50%; }
.orbit-one { width: 285px; height: 285px; }
.orbit-two { width: 205px; height: 205px; border-style: dashed; }
.capabilities-center-mark { width: 132px; height: 132px; border-radius: 50%; display: grid; place-items: center; align-content: center; gap: 6px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.28); box-shadow: 0 0 45px rgba(216,182,94,.18); backdrop-filter: blur(8px); }
.capabilities-center-mark img { width: 62px; height: 62px; object-fit: contain; border-radius: 50%; border: 1px solid var(--cap-gold); }
.capabilities-center-mark span { color: #fff; font-size: 11px; font-weight: 800; }
.orbit-badge { position: absolute; display: inline-flex; align-items: center; gap: 6px; padding: 7px 11px; border-radius: 999px; color: #fff; background: rgba(20,2,8,.7); border: 1px solid rgba(216,182,94,.38); font-size: 10px; font-weight: 800; box-shadow: 0 8px 18px rgba(0,0,0,.2); }
.orbit-badge i { color: #a8f3e8; }.orbit-a{top:10px;right:28px}.orbit-b{bottom:30px;left:0}.orbit-c{top:84px;left:0}.orbit-d{bottom:5px;right:45px}

.capabilities-value-strip { display: grid; grid-template-columns: repeat(4, 1fr); background: #fff; border: 1px solid #e8e0dc; border-radius: 18px; padding: 10px 18px; box-shadow: 0 10px 30px rgba(45,22,30,.05); }
.capabilities-value-strip > div { padding: 18px; display: grid; grid-template-columns: 42px 1fr; column-gap: 12px; align-items: center; border-inline-start: 1px solid #eee7e3; }
.capabilities-value-strip > div:last-child { border-inline-start: 0; }
.capabilities-value-strip i { grid-row: 1/3; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; color: var(--cap-maroon); background: #e1f5f0; }
.capabilities-value-strip strong { font-size: 13px; }.capabilities-value-strip span { color: var(--cap-muted); font-size: 10.5px; margin-top: 2px; }

.capabilities-intro { padding: 44px 24px 10px; display: grid; grid-template-columns: 1fr .9fr; gap: 60px; align-items: end; }
.capabilities-intro h2, .capabilities-section-heading h2, .capabilities-future h2, .control-room-copy h2 { margin: 8px 0 0; font-size: clamp(25px, 3vw, 38px); font-weight: 900; color: var(--cap-ink); letter-spacing: -.025em; }
.capabilities-intro > p, .capabilities-section-heading > p { color: var(--cap-muted); line-height: 1.9; margin: 0; font-size: 13px; }

.management-journey { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; position: relative; }
.management-journey article { min-height: 245px; position: relative; padding: 26px 22px 22px; background: #fff; border: 1px solid #e9e1dd; border-radius: 16px; transition: .22s ease; }
.management-journey article:hover { transform: translateY(-4px); box-shadow: 0 16px 30px rgba(54,25,35,.08); border-color: rgba(85,223,208,.55); }
.management-journey article > span { position: absolute; left: 18px; top: 15px; color: #d6e7e5; font-size: 28px; font-weight: 900; }
.management-journey article > i { width: 48px; height: 48px; display: grid; place-items: center; color: var(--cap-maroon); background: #e1f5f0; border-radius: 14px; font-size: 18px; }
.management-journey h3 { margin: 20px 0 7px; font-size: 16px; font-weight: 900; }.management-journey p { margin: 0; min-height: 54px; color: var(--cap-muted); font-size: 11.5px; line-height: 1.75; }
.management-journey a, .capability-card-link { color: var(--cap-maroon); font-size: 11px; font-weight: 900; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; margin-top: 18px; }

.capabilities-catalog { margin-top: 22px; padding: clamp(28px, 4vw, 48px); background: #eee8e4; border-radius: 24px; }
.capabilities-section-heading { max-width: 720px; margin: 0 auto 28px; text-align: center; }.capabilities-section-heading > p { margin-top: 12px; }
.capabilities-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.capability-card { min-height: 255px; padding: 24px; color: inherit; text-decoration: none; background: rgba(255,255,255,.9); border: 1px solid rgba(255,255,255,.9); border-radius: 16px; display: flex; flex-direction: column; transition: .22s ease; box-shadow: 0 4px 12px rgba(48,28,35,.025); }
.capability-card:hover { color: inherit; transform: translateY(-4px); border-color: rgba(85,223,208,.55); box-shadow: 0 16px 30px rgba(48,28,35,.09); }
.capability-card.featured { grid-column: span 2; background: linear-gradient(135deg,#fff,#fff9f4); border-color: rgba(85,223,208,.38); }
.capability-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.capability-icon { width: 46px; height: 46px; border-radius: 13px; display: grid; place-items: center; color: var(--cap-maroon); background: #e1f5f0; font-size: 17px; }.capability-icon.gold{color:#825e0d;background:#fff4d8}.capability-icon.green{color:#267845;background:#e8f6ec}.capability-icon.blue{color:#17658b;background:#e8f4fa}.capability-icon.violet{color:#6f3c91;background:#f3ebf8}.capability-icon.amber{color:#a05b15;background:#fff0df}.capability-icon.coral{color:#b34a35;background:#faeae6}
.capability-state { display: inline-flex; gap: 5px; align-items: center; font-size: 9.5px; font-weight: 800; color: #287447; background: #eaf7ee; padding: 5px 9px; border-radius: 999px; }.capability-state.live{color:#8a5e08;background:#fff4d5}
.capability-card h3 { margin: 18px 0 8px; font-size: 17px; font-weight: 900; }.capability-card p { margin: 0; color: var(--cap-muted); font-size: 11.5px; line-height: 1.8; }.capability-card ul { display: flex; gap: 8px; flex-wrap: wrap; list-style: none; padding: 0; margin: 16px 0 0; }.capability-card li { color: #665b60; font-size: 9.5px; background: #f5f1ef; padding: 5px 8px; border-radius: 6px; }.capability-card-link { margin-top: auto; padding-top: 16px; }

.capabilities-control-room { min-height: 390px; overflow: hidden; display: grid; grid-template-columns: 1fr .8fr; gap: 54px; align-items: center; padding: clamp(36px,5vw,64px); color: #fff; border-radius: 24px; background: radial-gradient(circle at 80% 15%,rgba(85,223,208,.2),transparent 32%),linear-gradient(135deg,#063f49,#006a70); }
.capabilities-section-kicker.light { color: #a8f3e8; }.control-room-copy h2 { color: #fff; }.control-room-copy > p { color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.9; max-width: 650px; }.control-room-points { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 22px 0 28px; }.control-room-points span { font-size: 11px; color: rgba(255,255,255,.9); }.control-room-points i { color: #a8f3e8; margin-left: 5px; }
.control-room-preview { padding: 22px; min-height: 290px; direction: rtl; border: 1px solid rgba(255,255,255,.19); border-radius: 18px; background: rgba(255,255,255,.1); box-shadow: 0 25px 55px rgba(0,0,0,.26); backdrop-filter: blur(10px); transform: rotate(-2deg); }
.preview-top { display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:800;color:#fff;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:14px}.preview-numbers{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.preview-numbers>div{padding:13px;border-radius:10px;background:rgba(255,255,255,.08)}.preview-numbers small,.preview-numbers strong{display:block}.preview-numbers small{font-size:9px;color:rgba(255,255,255,.58)}.preview-numbers strong{font-size:13px;margin-top:5px}.preview-numbers i{display:block;width:55%;height:3px;margin-top:10px;background:#55dfd0;border-radius:4px}.preview-chart{height:112px;display:flex;align-items:end;gap:9px;padding:12px;background:rgba(0,0,0,.12);border-radius:10px}.preview-chart span{flex:1;background:linear-gradient(#a8f3e8,#9b6a0c);border-radius:4px 4px 1px 1px;opacity:.9}

.capabilities-future { display: grid; grid-template-columns: 82px 1fr auto; gap: 24px; align-items: center; padding: 36px; border-radius: 20px; border: 1px solid #d6e7e5; background: linear-gradient(100deg,#fff,#f0f8f7); }.future-mark { width: 72px; height: 72px; display: grid; place-items: center; border-radius: 50%; color: var(--cap-maroon); background: #e1f5f0; font-size: 24px; }.capabilities-future h2 { font-size: 25px; }.capabilities-future p { margin: 8px 0 0; color: var(--cap-muted); font-size: 12px; line-height: 1.8; max-width: 750px; }
.capabilities-closing { display: grid; grid-template-columns: 58px 1fr auto; gap: 18px; align-items: center; padding: 30px 34px; color: #fff; border-radius: 20px; background: var(--cap-deep); border-bottom: 3px solid var(--cap-gold); }.capabilities-closing img { width: 54px; height: 54px; border-radius: 50%; border: 1px solid var(--cap-gold); }.capabilities-closing span { font-size: 10px; color: #a8f3e8; font-weight: 800; }.capabilities-closing h2 { margin: 4px 0; font-size: 20px; color: #fff; }.capabilities-closing p { margin: 0; color: rgba(255,255,255,.65); font-size: 10.5px; }

@media (max-width: 1100px) {
    .capabilities-hero { grid-template-columns: 1fr; }.capabilities-hero-visual { display: none; }
    .capabilities-value-strip { grid-template-columns: 1fr 1fr; }.capabilities-value-strip > div:nth-child(3){border-inline-start:0}
    .management-journey { grid-template-columns: 1fr 1fr; }.capabilities-grid { grid-template-columns: 1fr 1fr; }
    .capabilities-control-room { grid-template-columns: 1fr; }.control-room-preview { max-width: 600px; width: 100%; transform: none; }
}

@media (max-width: 700px) {
    .capabilities-page { gap: 14px; }.capabilities-hero { min-height: auto; padding: 34px 22px; border-radius: 18px; }.capabilities-hero h1 { font-size: 34px; }.capabilities-hero-copy > p { font-size: 13px; }
    .capabilities-hero-actions,.capabilities-hero-actions .capability-btn { width: 100%; }.capabilities-value-strip { grid-template-columns: 1fr; padding: 8px; }.capabilities-value-strip > div { border-inline-start: 0; border-bottom: 1px solid #eee7e3; }.capabilities-value-strip > div:last-child { border-bottom:0; }
    .capabilities-intro { padding: 28px 8px 6px; grid-template-columns: 1fr; gap: 12px; }.management-journey,.capabilities-grid { grid-template-columns: 1fr; }.management-journey article { min-height: 220px; }.capability-card.featured { grid-column: auto; }
    .capabilities-catalog,.capabilities-control-room { padding: 28px 18px; border-radius: 18px; }.control-room-points { grid-template-columns: 1fr; }.control-room-preview { min-height: 250px; padding: 16px; }
    .capabilities-future { grid-template-columns: 1fr; padding: 26px 20px; }.capabilities-future .capability-btn { width:100%; }.capabilities-closing { grid-template-columns: 46px 1fr; padding: 24px 18px; }.capabilities-closing img{width:44px;height:44px}.capabilities-closing .capability-btn { grid-column: 1/-1; width:100%; margin-top:8px; }
}

/* Admin Panel Cards */
.admin-panel-card {
    background: #ffffff;
    border: 1px solid var(--surface-border);
    border-radius: 14px;
    padding: 24px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.02);
}

.panel-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--surface-border);
    margin-bottom: 20px;
    flex-wrap: wrap;
    gap: 16px;
}

.panel-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--text-primary);
    margin: 0 0 4px 0;
}

.panel-subtitle {
    font-size: 13.5px;
    color: var(--text-muted);
    margin: 0;
}

/* Filter Bar */
.admin-filter-bar {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.search-input-wrap {
    flex: 1;
    min-width: 260px;
    position: relative;
}

.search-input-wrap i {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
}

.admin-search-input {
    width: 100%;
    padding: 10px 40px 10px 14px;
    border: 1.5px solid var(--surface-border);
    border-radius: 8px;
    font-size: 14px;
    outline: none;
}

.admin-search-input:focus {
    border-color: var(--qatar-maroon);
}

.admin-select-filter {
    padding: 10px 16px;
    border: 1.5px solid var(--surface-border);
    border-radius: 8px;
    font-size: 13.5px;
    background: #ffffff;
    outline: none;
}

/* Data Table */
.admin-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--surface-border);
    border-radius: 10px;
    max-height: min(66vh, 760px);
    overscroll-behavior: contain;
}

.admin-data-table {
    width: 100%;
    border-collapse: collapse;
    text-align: right;
    font-size: 13.5px;
}

.admin-data-table th {
    background: #f8fbfa;
    padding: 12px 14px;
    font-weight: 800;
    color: var(--text-primary);
    border-bottom: 2px solid var(--surface-border);
    white-space: nowrap;
    position: sticky;
    top: 0;
    z-index: 2;
}

.admin-data-table td {
    padding: 14px;
    border-bottom: 1px solid #f0eae7;
    vertical-align: middle;
    min-width: 110px;
}

.admin-data-table tr:hover td {
    background: #fdfcfb;
}

.articles-data-table {
    table-layout: fixed;
    min-width: 980px;
}

.articles-data-table th,
.articles-data-table td {
    padding: 10px 12px;
}

.articles-data-table th:nth-child(1) { width: 74px; }
.articles-data-table th:nth-child(2) { width: 28%; }
.articles-data-table th:nth-child(3) { width: 18%; }
.articles-data-table th:nth-child(4) { width: 110px; }
.articles-data-table th:nth-child(5) { width: 86px; }
.articles-data-table th:nth-child(6) { width: 90px; }
.articles-data-table th:nth-child(7) { width: 120px; }
.articles-data-table th:nth-child(8) { width: 126px; }

.articles-data-table td:nth-child(2) > div:first-child {
    font-size: 13px;
    line-height: 1.45 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.articles-data-table td:last-child > div {
    flex-wrap: nowrap;
}

/* WYSIWYG article editor */
.wysiwyg-editor {
    overflow: hidden;
    border: 1.5px solid var(--surface-border);
    border-radius: 10px;
    background: #fff;
    transition: border-color .2s, box-shadow .2s;
}

.wysiwyg-editor:focus-within {
    border-color: var(--qatar-maroon);
    box-shadow: 0 0 0 3px rgba(0,127,130, .08);
}

.wysiwyg-toolbar {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 8px;
    border-bottom: 1px solid var(--surface-border);
    background: #f0f8f7;
    position: sticky;
    top: 0;
    z-index: 2;
}

.wysiwyg-toolbar button,
.wysiwyg-format {
    height: 34px;
    min-width: 34px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
}

.wysiwyg-toolbar button:hover {
    color: var(--qatar-maroon);
    border-color: var(--surface-border);
    background: #fff;
}

.wysiwyg-format {
    min-width: 110px;
    padding: 0 8px;
    border-color: var(--surface-border);
    background: #fff;
    font-family: inherit;
}

.toolbar-separator { width: 1px; height: 24px; margin: 0 3px; background: var(--surface-border); }
.toolbar-spacer { flex: 1; }

.wysiwyg-content {
    min-height: 300px;
    max-height: 52vh;
    overflow-y: auto;
    padding: 24px;
    outline: none;
    font-size: 15px;
    line-height: 1.9;
    color: var(--text-primary);
}

.wysiwyg-content:empty::before {
    content: attr(data-placeholder);
    color: var(--text-muted);
    pointer-events: none;
}

.wysiwyg-content h2 { font-size: 24px; margin: 24px 0 10px; color: var(--qatar-maroon); }
.wysiwyg-content h3 { font-size: 19px; margin: 20px 0 8px; color: var(--text-primary); }
.wysiwyg-content p { margin: 0 0 12px; }
.wysiwyg-content ul, .wysiwyg-content ol { padding-right: 24px; margin-bottom: 14px; }

.editor-help {
    display: block;
    margin-top: 7px;
    font-size: 11.5px;
    color: var(--text-muted);
}

.ref-tag {
    font-family: monospace;
    font-weight: 800;
    color: var(--qatar-maroon);
    background: rgba(0,127,130, 0.08);
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 12.5px;
}

.country-badge {
    background: #f0f0f0;
    padding: 3px 8px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
}

.track-badge {
    background: #faf2ea;
    color: #855d05;
    padding: 3px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
}

.hotel-pill {
    background: rgba(106, 27, 154, 0.08);
    color: #6a1b9a;
    padding: 3px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.no-hotel-tag {
    color: var(--text-muted);
    font-size: 12px;
}

.status-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 11.5px;
    font-weight: 700;
}

.status-registered, .status-pending {
    background: #fff3e0;
    color: #e65100;
}

.status-confirmed, .status-accepted, .status-paid, .submission-status-Accepted {
    background: #e8f5e9;
    color: #2e7d32;
}

.submission-status-UnderReview {
    background: #e3f2fd;
    color: #0277bd;
}

.submission-status-RevisionRequired {
    background: #fff8e1;
    color: #f57f17;
}

.submission-status-Rejected {
    background: #ffebee;
    color: #c62828;
}

.table-btn {
    background: #f0eae7;
    border: none;
    padding: 6px 12px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--text-primary);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: 0.2s;
    text-decoration: none;
}

.table-btn:hover {
    background: var(--qatar-maroon);
    color: #ffffff;
}

.btn-success-sm {
    background: #e8f5e9;
    color: #2e7d32;
}

.btn-success-sm:hover {
    background: #2e7d32;
    color: #ffffff;
}

.empty-state-box {
    text-align: center;
    padding: 60px 20px;
    color: var(--text-muted);
}

.empty-state-box i {
    font-size: 48px;
    margin-bottom: 14px;
    opacity: 0.3;
}

/* Charts / Analytics */
.analytics-charts-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.chart-panel {
    background: #f8fbfa;
    border: 1px solid var(--surface-border);
    border-radius: 10px;
    padding: 22px;
}

.chart-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 18px;
}

.chart-bars-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.bar-label-row {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    margin-bottom: 6px;
}

.bar-track {
    height: 8px;
    background: #e8e0da;
    border-radius: 4px;
    overflow: hidden;
}

.bar-fill {
    height: 100%;
    background: var(--qatar-maroon);
    border-radius: 4px;
    transition: width 0.4s ease;
}

/* System Health */
.system-health-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.health-card {
    background: #f8fbfa;
    border: 1px solid var(--surface-border);
    border-radius: 10px;
    padding: 22px;
}

.health-card-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

.health-badge.healthy {
    background: #e8f5e9;
    color: #2e7d32;
    font-size: 11.5px;
    font-weight: 800;
    padding: 3px 10px;
    border-radius: 12px;
}

.health-title {
    font-size: 16px;
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 6px;
}

.health-desc {
    font-size: 13px;
    color: var(--text-muted);
    line-height: 1.6;
    margin: 0;
}

/* Modals */
.admin-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(4px);
    z-index: 2000;
    display: grid;
    place-items: center;
    padding: 20px;
}

.admin-modal-box {
    background: #ffffff;
    border-radius: 14px;
    max-width: 620px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.admin-modal-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 24px;
    background: var(--qatar-maroon);
    color: #ffffff;
}

.admin-modal-head h3 {
    margin: 0;
    font-size: 17px;
    font-weight: 800;
}

.modal-close-btn {
    background: none;
    border: none;
    color: #ffffff;
    font-size: 24px;
    cursor: pointer;
}

.admin-modal-body {
    padding: 24px;
}

.detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    font-size: 13.5px;
}

.admin-modal-foot {
    padding: 16px 24px;
    background: #f8fbfa;
    border-top: 1px solid var(--surface-border);
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.status-action-btn {
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12.5px;
    font-weight: 700;
    border: none;
    cursor: pointer;
}

.btn-accept {
    background: #2e7d32;
    color: #ffffff;
}

.btn-revision {
    background: #f57f17;
    color: #ffffff;
}

.btn-reject {
    background: #c62828;
    color: #ffffff;
}

/* ==========================================================================
   Ticket Scanner Specific Components
   ========================================================================== */
.scanner-container-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 24px;
    align-items: start;
}

.scanner-viewfinder-card {
    background: #032c38;
    border: 2px solid var(--qatar-maroon);
    border-radius: 16px;
    padding: 24px;
    color: #ffffff;
    box-shadow: 0 16px 40px rgba(6,63,73, 0.25);
    position: relative;
    overflow: hidden;
}

.scanner-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
    border-bottom: 1px solid rgba(85,223,208, 0.25);
    padding-bottom: 12px;
}

.scanner-header h3 {
    margin: 0;
    font-size: 16px;
    font-weight: 800;
    color: var(--gold-accent);
    display: flex;
    align-items: center;
    gap: 8px;
}

.scanner-mode-switch {
    display: flex;
    gap: 6px;
}

.mode-btn {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.15);
    padding: 5px 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: 0.2s;
}

.mode-btn.active {
    background: var(--gold-accent);
    color: #032c38;
    border-color: var(--gold-accent);
}

.camera-stream-box {
    width: 100%;
    aspect-ratio: 4/3;
    background: #000;
    border-radius: 12px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.camera-stream-box video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.scan-crosshairs {
    position: absolute;
    width: 65%;
    aspect-ratio: 1;
    border: 2px solid rgba(85,223,208, 0.45);
    border-radius: 16px;
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.45);
    pointer-events: none;
}

.scan-crosshairs::before {
    content: "";
    position: absolute;
    inset: -2px;
    border: 3px solid #55dfd0;
    border-radius: 16px;
    clip-path: polygon(
        0% 25%, 0% 0%, 25% 0%,
        75% 0%, 100% 0%, 100% 25%,
        100% 75%, 100% 100%, 75% 100%,
        25% 100%, 0% 100%, 0% 75%
    );
}

.scan-laser-beam {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, #22c55e, #55dfd0, transparent);
    box-shadow: 0 0 12px #22c55e;
    animation: scanSweep 2s ease-in-out infinite alternate;
}

@keyframes scanSweep {
    0% { transform: translateY(0); }
    100% { transform: translateY(220px); }
}

.manual-scan-box {
    margin-top: 18px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    padding: 14px 16px;
}

.manual-scan-input-group {
    display: flex;
    gap: 8px;
    margin-top: 8px;
}

.manual-scan-input {
    flex: 1;
    background: #ffffff;
    border: 1.5px solid var(--gold-accent);
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 15px;
    font-family: monospace;
    font-weight: 700;
    color: #1e1e1e;
    direction: ltr;
    text-align: left;
}

.btn-verify-scan {
    background: var(--gold-accent);
    color: #032c38;
    border: none;
    padding: 10px 22px;
    border-radius: 8px;
    font-weight: 800;
    font-size: 14px;
    cursor: pointer;
    transition: 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.btn-verify-scan:hover {
    background: #8beedd;
    transform: translateY(-1px);
}

/* Scan Result Card */
.scan-result-card {
    background: #ffffff;
    border: 1.5px solid var(--surface-border);
    border-radius: 16px;
    padding: 24px;
    box-shadow: 0 8px 24px rgba(6,63,73, 0.05);
}

.result-status-banner {
    padding: 16px 20px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}

.result-status-banner.valid {
    background: #e8f5e9;
    border: 1.5px solid #a5d6a7;
    color: #1b5e20;
}

.result-status-banner.invalid {
    background: #ffebee;
    border: 1.5px solid #ef9a9a;
    color: #b71c1c;
}

.result-status-banner.warning {
    background: #fff8e1;
    border: 1.5px solid #ffe082;
    color: #f57f17;
}

.status-icon-circle {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 20px;
    flex-shrink: 0;
}

.valid .status-icon-circle { background: #2e7d32; color: #fff; }
.invalid .status-icon-circle { background: #c62828; color: #fff; }
.warning .status-icon-circle { background: #f57f17; color: #fff; }

.status-details h4 {
    margin: 0 0 2px 0;
    font-size: 17px;
    font-weight: 800;
}

.status-details p {
    margin: 0;
    font-size: 13px;
}

.scan-ticket-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    background: #f8fbfa;
    border: 1px solid #ede5df;
    border-radius: 12px;
    padding: 18px;
    margin-bottom: 20px;
}

.scan-field label {
    display: block;
    font-size: 11.5px;
    color: #7a7067;
    margin-bottom: 3px;
    font-weight: 600;
}

.scan-field strong {
    font-size: 14.5px;
    color: #1e1e1e;
    display: block;
}

.scan-field.highlight strong {
    color: var(--qatar-maroon);
    font-family: monospace;
    font-size: 16px;
}

.btn-checkin-action {
    width: 100%;
    padding: 14px 20px;
    background: linear-gradient(135deg, #2e7d32 0%, #1b5e20 100%);
    color: #ffffff;
    border: none;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: 0 6px 18px rgba(46, 125, 50, 0.25);
    transition: all 0.2s ease;
}

.btn-checkin-action:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(46, 125, 50, 0.35);
}

.btn-checkin-action.checked {
    background: #78909c;
    cursor: not-allowed;
    box-shadow: none;
}

.scan-session-log {
    margin-top: 36px;
}

.scan-clear-log {
    padding: 7px 14px;
    font-size: 12.5px;
}

.poll-admin-create { display: grid; gap: 14px; padding: 20px; margin-bottom: 22px; border: 1px solid var(--surface-border); border-radius: 12px; background: #f8fbfa; }
.poll-admin-create .btn-cta-primary { width: fit-content; }
.admin-form-message { color: var(--qatar-maroon); font-size: 13px; font-weight: 700; }
.poll-admin-list { display: grid; gap: 14px; }
.poll-admin-card { display: grid; grid-template-columns: 1fr auto; gap: 14px; padding: 18px; border: 1px solid var(--surface-border); border-radius: 12px; background: white; }
.poll-admin-card h3 { margin: 8px 0 3px; font-size: 16px; }
.poll-admin-card p { margin: 0; color: var(--text-muted); font-size: 12px; }
.admin-poll-results { grid-column: 1 / -1; display: grid; gap: 8px; }
.admin-poll-results > div { display: grid; grid-template-columns: 1fr 55px; gap: 7px; font-size: 12px; }
.admin-poll-results strong { text-align: left; color: var(--qatar-maroon); }
.admin-poll-results i { grid-column: 1 / -1; height: 5px; overflow: hidden; border-radius: 5px; background: #eee7e5; }
.admin-poll-results b { display: block; height: 100%; background: var(--qatar-maroon); }

@media (max-width: 600px) {
    .poll-admin-create { padding: 14px; }
    .poll-admin-create .btn-cta-primary { width: 100%; justify-content: center; }
    .poll-admin-card { grid-template-columns: 1fr; }
    .admin-poll-results { grid-column: 1; }
}

/* Responsive Rules */
@media (max-width: 1200px) {
    .admin-kpi-grid {
        grid-template-columns: repeat(4, 1fr);
    }
    .scanner-container-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .admin-workspace {
        grid-template-columns: 1fr;
    }

    .admin-nav-tabs {
        position: static;
        flex-direction: row;
        overflow-x: auto;
        padding: 8px;
        scrollbar-width: thin;
    }

    .admin-nav-heading { display: none; }

    .admin-tab-btn {
        width: auto;
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .admin-panel-card { padding: 18px; }
    .admin-kpi-grid { grid-template-columns: repeat(2, 1fr); }
    .analytics-charts-grid { grid-template-columns: 1fr; }
    .system-health-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
    .admin-kpi-grid {
        grid-template-columns: 1fr;
    }
    .detail-grid, .scan-ticket-info-grid {
        grid-template-columns: 1fr;
    }

    .admin-brand-title { font-size: 13px; }
    .admin-brand-logo { width: 36px; height: 36px; }
    .admin-main-container { width: calc(100% - 20px); }
    .admin-kpi-grid { gap: 8px; }
    .kpi-note { display: none; }
    .kpi-card { min-height: 70px; }
    .panel-header-row { align-items: flex-start; }
    .admin-filter-bar { display: grid; grid-template-columns: 1fr; }
    .search-input-wrap { min-width: 0; }
    .admin-select-filter { width: 100%; }
    .admin-login-card { padding: 36px 22px; }

    /* The scanner is a field tool: keep only controls needed at reception. */
    .scanner-route {
        padding-bottom: max(24px, env(safe-area-inset-bottom));
        background: #f7f5f3;
    }

    .scanner-route .admin-top-bar {
        position: sticky;
        top: 0;
        border-bottom-width: 2px;
    }

    .scanner-route .admin-top-shell {
        width: 100%;
        min-height: 58px;
        padding: 8px 12px;
        gap: 10px;
    }

    .scanner-route .admin-brand {
        min-width: 0;
        gap: 8px;
    }

    .scanner-route .admin-brand-logo {
        width: 34px;
        height: 34px;
    }

    .scanner-route .admin-brand-title {
        max-width: 155px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .scanner-route .admin-brand-sub,
    .scanner-route .admin-status-pill,
    .scanner-route .admin-link-btn,
    .scanner-route .admin-kpi-grid,
    .scanner-route .admin-nav-tabs {
        display: none;
    }

    .scanner-route .admin-actions-bar {
        gap: 6px;
    }

    .scanner-route .admin-icon-btn,
    .scanner-route .admin-logout-btn {
        width: 40px;
        height: 40px;
        padding: 0;
        justify-content: center;
    }

    .scanner-route .admin-logout-btn span {
        display: none;
    }

    .scanner-route .admin-main-container {
        width: 100%;
        margin: 0;
    }

    .scanner-route .admin-workspace {
        display: block;
    }

    .scanner-route .admin-workspace-content {
        width: 100%;
    }

    .scanner-page.admin-panel-card {
        padding: 14px 12px 24px;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: transparent;
    }

    .scanner-page > .panel-header-row {
        margin-bottom: 14px;
        padding: 0 2px 14px;
        border-bottom: 1px solid var(--surface-border);
    }

    .scanner-page > .panel-header-row .panel-title {
        font-size: 18px;
        line-height: 1.5;
    }

    .scanner-page > .panel-header-row .panel-title i {
        margin-left: 5px !important;
    }

    .scanner-page > .panel-header-row .panel-subtitle {
        font-size: 11.5px;
        line-height: 1.7;
        margin-top: 4px;
    }

    .scanner-page > .panel-header-row .panel-actions-group {
        display: none;
    }

    .scanner-container-grid {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    .scanner-viewfinder-card {
        order: 1;
        width: 100%;
        padding: 12px;
        border-width: 1px;
        border-radius: 14px;
        box-shadow: 0 10px 28px rgba(6,63,73, 0.18);
    }

    .scanner-header {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
        margin-bottom: 12px;
        padding-bottom: 12px;
    }

    .scanner-header h3 {
        font-size: 15px;
    }

    .scanner-mode-switch {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .mode-btn {
        min-height: 44px;
        padding: 9px 8px;
        font-size: 12.5px;
    }

    .camera-stream-box {
        aspect-ratio: 1 / 1;
        max-height: calc(100svh - 245px);
        min-height: 290px;
        border-radius: 10px;
    }

    .camera-stream-box > div:not(.scan-crosshairs) {
        padding: 20px 14px !important;
    }

    .camera-stream-box .btn-verify-scan {
        min-height: 48px;
        padding-inline: 20px;
    }

    .scan-crosshairs {
        width: min(70%, 270px);
    }

    .manual-scan-box {
        margin-top: 12px;
        padding: 12px;
    }

    .manual-scan-input-group {
        display: grid;
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .manual-scan-input {
        width: 100%;
        min-width: 0;
        min-height: 48px;
        padding: 11px 12px;
        font-size: 14px;
    }

    .manual-scan-input-group .btn-verify-scan {
        width: 100%;
        min-height: 48px;
        justify-content: center;
    }

    .manual-scan-box > div:last-child {
        align-items: center;
        gap: 10px;
        line-height: 1.5;
    }

    .scan-result-pane {
        order: 2;
    }

    .scan-result-card {
        padding: 14px;
        border-radius: 14px;
        box-shadow: 0 5px 18px rgba(6,63,73, 0.06);
    }

    .scan-result-pane .scan-result-card[style] {
        padding: 24px 14px !important;
    }

    .result-status-banner {
        align-items: flex-start;
        gap: 11px;
        padding: 13px;
        margin-bottom: 14px;
    }

    .status-icon-circle {
        width: 38px;
        height: 38px;
        font-size: 17px;
    }

    .status-details h4 {
        font-size: 15px;
        line-height: 1.45;
    }

    .status-details p {
        margin-top: 3px;
        font-size: 12px;
        line-height: 1.55;
    }

    .scan-ticket-info-grid {
        gap: 0;
        padding: 4px 14px;
        margin-bottom: 14px;
    }

    .scan-field {
        padding: 11px 0;
        border-bottom: 1px solid #ede5df;
    }

    .scan-field:last-child {
        border-bottom: 0;
    }

    .scan-field strong {
        overflow-wrap: anywhere;
    }

    .btn-checkin-action {
        position: sticky;
        bottom: max(10px, env(safe-area-inset-bottom));
        z-index: 25;
        min-height: 54px;
        padding: 12px;
        font-size: 14px;
        line-height: 1.45;
    }

    .scan-session-log {
        margin-top: 20px;
        padding: 18px 2px 0;
        border-top: 1px solid var(--surface-border);
    }

    .scan-session-log > .panel-header-row {
        gap: 10px;
    }

    .scan-clear-log {
        min-height: 42px;
        padding: 8px 12px;
    }

    .scan-session-log .admin-table-wrap {
        margin-inline: -2px;
        border-radius: 10px;
    }
}

.admin-content-excerpt {
    max-width: 360px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.admin-data-table .admin-poll-results { min-width: 220px; }
.admin-modal-body .qatar-label { display: block; }

.admin-text-editor { max-width:800px; }
.admin-text-editor .admin-modal-head h2 { margin:0; font-size:20px; }
.admin-text-editor textarea { line-height:1.9; resize:vertical; }
.admin-text-editor .admin-modal-foot { display:flex; flex-wrap:wrap; gap:10px; }

.council-admin-thumb { width:58px; height:70px; object-fit:cover; border-radius:8px; display:block; }
.council-admin-placeholder { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:58px; min-height:70px; background:#f7f2ef; color:#7d6870; border-radius:8px; }
.council-admin-country { display:flex; align-items:center; gap:8px; margin-block:6px; }
.council-admin-country img { width:30px; height:21px; object-fit:contain; flex-shrink:0; }
.council-admin-editor { max-width:820px; }
.council-admin-editor h2 { margin:0; font-size:20px; }
.council-admin-photo { display:flex; align-items:center; gap:22px; padding:18px; background:#f0f8f7; border-radius:12px; margin-bottom:20px; }
.council-admin-photo > img { width:125px; height:155px; object-fit:cover; border-radius:10px; }
.council-admin-photo > div { min-width:0; }
.council-admin-photo input { max-width:100%; }
.council-admin-fields { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
.council-admin-editor textarea { line-height:1.9; resize:vertical; }
.council-admin-publish { display:flex; align-items:center; gap:10px; font-weight:700; }
.council-admin-editor .admin-modal-foot { display:flex; flex-wrap:wrap; gap:10px; }
@media(max-width:600px) { .council-admin-fields { grid-template-columns:1fr; } .council-admin-photo { flex-direction:column; align-items:flex-start; } }

/* Compact administration shell for touch screens. */
.admin-mobile-menu { display:none; }
.admin-brand, .admin-brand > div, .admin-actions-bar { min-width:0; }
.admin-actions-bar { flex-wrap:wrap; justify-content:flex-end; }
.admin-brand { flex-shrink:0; max-width:38%; }
.admin-brand-logo { flex-shrink:0; object-fit:contain; border:0; border-radius:0; }
.admin-top-shell { gap:20px; }
.admin-table-wrap { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; }
@media(max-width:1100px) {
 .admin-status-pill { display:none; }
 .admin-top-shell { flex-wrap:wrap; }
 .admin-brand { max-width:100%; }
}
@media(max-width:900px) {
 .admin-dashboard-layout .admin-top-bar { position:static; }
 .admin-dashboard-layout .admin-top-shell { width:calc(100% - 28px); display:flex; flex-direction:column; align-items:stretch; gap:14px; padding:16px 0; }
 .admin-dashboard-layout .admin-brand { max-width:100%; width:100%; gap:12px; }
 .admin-dashboard-layout .admin-brand-title { font-size:17px; line-height:1.5; }
 .admin-dashboard-layout .admin-brand-sub { display:block; font-size:11px; line-height:1.7; }
 .admin-dashboard-layout .admin-brand-logo { width:44px; height:44px; }
 .admin-dashboard-layout .admin-actions-bar { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:8px; width:100%; }
 .admin-dashboard-layout .admin-actions-bar > a, .admin-dashboard-layout .admin-actions-bar > button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 10px; font-size:12px; line-height:1.4; white-space:nowrap; gap:6px; }
 .admin-dashboard-layout .admin-status-pill { display:none; }
 .admin-dashboard-layout .admin-main-container { width:calc(100% - 28px); margin:16px auto; display:flex; flex-direction:column; gap:14px; }
 .admin-mobile-menu { display:flex; align-items:center; gap:10px; min-height:48px; width:100%; border:1px solid #bdd8d3; border-radius:10px; padding:10px 14px; background:#fff; color:#006a70; font:inherit; font-weight:700; order:-3; }
 .admin-mobile-menu > i:last-child { margin-inline-start:auto; }
 .admin-dashboard-layout .admin-workspace { display:contents; }
 .admin-dashboard-layout .admin-nav-tabs { display:none; position:static; order:-2; }
 .admin-dashboard-layout .admin-nav-tabs.mobile-open { display:flex; flex-direction:column; max-height:55vh; overflow-y:auto; overflow-x:hidden; padding:8px; }
 .admin-dashboard-layout .admin-tab-btn { width:100%; min-height:46px; white-space:normal; flex-shrink:0; font-size:13px; }
 .admin-dashboard-layout .admin-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0; }
 .admin-dashboard-layout.dashboard-section .admin-kpi-grid { display:none; }
 .admin-dashboard-layout .kpi-card { padding:12px; min-height:102px; grid-template-columns:30px minmax(0,1fr); gap:8px; }
 .admin-dashboard-layout .kpi-icon-wrap { width:30px; height:34px; font-size:15px; }
 .admin-dashboard-layout .kpi-label { font-size:11px; line-height:1.6; }
 .admin-dashboard-layout .kpi-value { font-size:23px; line-height:1.3; overflow-wrap:anywhere; }
 .admin-dashboard-layout .kpi-note { display:none; }
 .admin-dashboard-layout .admin-workspace-content { width:100%; min-width:0; }
 .admin-panel-card { padding:16px; }
 .panel-header-row, .admin-filters-bar { flex-wrap:wrap; gap:12px; }
 .panel-header-row > *, .admin-filters-bar > * { min-width:0; max-width:100%; }
 .admin-filters-bar input, .admin-filters-bar select { width:100%; min-height:44px; }
 .admin-layout input:not([type=checkbox]):not([type=radio]), .admin-layout select, .admin-layout textarea { font-size:16px; max-width:100%; box-sizing:border-box; }
 .admin-modal-backdrop { padding:12px; }
 .admin-modal-box { width:100%; max-width:100%; max-height:calc(100dvh - 24px); overflow-y:auto; }
 .admin-modal-head, .admin-modal-body, .admin-modal-foot { padding:16px; }
 .cms-form-grid, .council-admin-fields { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:360px) {
 .admin-dashboard-layout .admin-actions-bar { gap:6px; }
 .admin-dashboard-layout .admin-actions-bar > a, .admin-dashboard-layout .admin-actions-bar > button { font-size:11px; padding:8px; }
 .admin-dashboard-layout .kpi-card { grid-template-columns:minmax(0,1fr); min-height:108px; }
 .admin-dashboard-layout .kpi-icon-wrap { display:none; }
}
@media(max-width:900px){
 .admin-dashboard-shortcuts { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; }
 .admin-dashboard-shortcuts>a { min-width:0; padding:14px!important; }
 .admin-dashboard-shortcuts strong { overflow-wrap:anywhere; }
}
@media(max-width:600px){
 .admin-dashboard-layout .admin-actions-bar { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
 .admin-dashboard-layout .admin-actions-bar>a { grid-column:span 2; width:100%; }
 .admin-dashboard-layout .admin-actions-bar>button { grid-column:span 3; width:100%; }
 .admin-revenue-summary { grid-template-columns:minmax(0,1fr)!important; }
 .bar-label-row { flex-wrap:wrap; gap:6px; }
 .admin-table-wrap::before { content:'اسحب الجدول أفقيًا لعرض بقية البيانات'; display:block; position:sticky; right:0; width:100%; padding:10px; box-sizing:border-box; background:#f0f8f7; color:#75515e; font-size:11px; }
}

.admin-layout .tag-label-accent { color:#007f82; border-color:#9acfc9; background:#e1f5f0; }
.admin-layout :is(a,button,input,select,textarea):focus-visible { outline:3px solid #009c9d!important; outline-offset:3px; }

/* Dashboard welcome: explicit contrast for both action variants. */
.admin-welcome { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:24px; padding:28px; border:1px solid #42b9b3; border-radius:16px; background:linear-gradient(115deg,#063f49,#006d73); color:#fff; box-shadow:0 8px 24px #063f4910; }
.admin-welcome__copy { max-width:650px; }
.admin-welcome__badge { display:inline-flex; align-items:center; gap:8px; padding:5px 12px; margin-bottom:14px; border:1px solid #7cddd180; border-radius:999px; background:#ffffff12; color:#d6fff5; font-size:12px; font-weight:600; }
.admin-welcome h2 { margin:0 0 10px; color:#fff; font-size:clamp(23px,2.2vw,30px); line-height:1.4; }
.admin-welcome p { margin:0; max-width:600px; color:#d9edee; font-size:14px; line-height:1.9; }
.admin-welcome__actions { display:flex; gap:12px; flex-wrap:wrap; }
.admin-welcome__actions a { display:inline-flex; justify-content:center; align-items:center; gap:10px; padding:12px 20px; min-height:48px; border-radius:9px; border:1px solid transparent; font-size:14px; font-weight:700; text-decoration:none; transition:background-color .2s,border-color .2s; }
.admin-welcome .admin-welcome__primary { background:#55dfd0; color:#063f49; border-color:#55dfd0; }
.admin-welcome .admin-welcome__primary:hover { background:#a8f3e8; border-color:#a8f3e8; }
.admin-welcome .admin-welcome__secondary { background:#ffffff0d; color:#fff; border-color:#b4e2df; }
.admin-welcome .admin-welcome__secondary:hover { background:#ffffff24; border-color:#fff; }
.admin-layout .admin-welcome a:focus-visible { outline:3px solid #d6fff5!important; outline-offset:4px; }
.admin-dashboard-shortcuts .kpi-label { color:#526b6d; font-size:12px; }
.admin-dashboard-shortcuts .kpi-note { color:#526b6d; font-size:12px; }
.admin-dashboard-shortcuts .kpi-icon-wrap { background:#e1f5f0!important; color:#00777b!important; }
.admin-dashboard-shortcuts .kpi-card { border-color:#c5e2de; box-shadow:0 3px 14px #063f4905; }
.admin-dashboard-shortcuts .kpi-card:hover { border-color:#007f82; background:#f5fbfa; }
@media(max-width:650px) { .admin-welcome { padding:20px; gap:20px; }.admin-welcome__actions { width:100%; }.admin-welcome__actions a { flex:1 1 180px; }.admin-welcome h2 { font-size:23px; } }
.admin-layout .admin-row-actions { min-width:175px; white-space:nowrap; }
.admin-layout .admin-row-actions .table-btn + .table-btn { margin-inline-start:8px; }
.admin-layout .table-btn.admin-action-edit, .admin-layout .table-btn.admin-action-delete { min-height:40px; padding:8px 12px; border:1px solid; gap:7px; line-height:1.4; }
.admin-layout .table-btn.admin-action-edit { color:#00676c; background:#e5f6f3; border-color:#a0d8d2; }
.admin-layout .table-btn.admin-action-edit:hover { color:#fff; background:#00676c; border-color:#00676c; }
.admin-layout .table-btn.admin-action-delete { color:#b42332; background:#fff1f2; border-color:#efb8be; }
.admin-layout .table-btn.admin-action-delete:hover { color:#fff; background:#b42332; border-color:#b42332; }
.admin-action-icon { display:inline-block; flex-shrink:0; vertical-align:middle; }
