/* AQARK R28-R21-R2 static UI bundle */
/*
|--------------------------------------------------------------------------
| AQARK Design System
|--------------------------------------------------------------------------
|
| White-first visual system for AQARK.
| Existing AQARK logo and brand identity remain unchanged.
|
| Goals:
| - simple
| - premium
| - real-estate focused
| - strong whitespace
| - consistent typography
| - responsive
| - RTL/LTR compatible
| - dashboard-ready
|
*/

/* ========================================================================
   1. DESIGN TOKENS
   ======================================================================== */

:root {
    --aq-white: #ffffff;

    --aq-bg: #ffffff;
    --aq-bg-soft: #f7f9fc;
    --aq-bg-muted: #f2f5f8;

    --aq-surface: #ffffff;
    --aq-surface-raised: #ffffff;

    --aq-text: #172033;
    --aq-text-strong: #101828;
    --aq-text-soft: #475467;
    --aq-text-muted: #667085;
    --aq-text-faint: #98a2b3;

    --aq-border: #e4e7ec;
    --aq-border-soft: #eef1f4;
    --aq-border-strong: #d0d5dd;

    /*
     * Brand accents.
     * These variables are UI accents only.
     * AQARK logo artwork must not be recolored.
     */
    --aq-primary: #1686d9;
    --aq-primary-hover: #0f72bc;
    --aq-primary-soft: #eef8ff;
    --aq-primary-subtle: #f5fbff;

    --aq-secondary: #1f2937;
    --aq-secondary-soft: #f3f4f6;

    --aq-success: #12b76a;
    --aq-success-soft: #ecfdf3;

    --aq-warning: #f79009;
    --aq-warning-soft: #fffaeb;

    --aq-danger: #f04438;
    --aq-danger-soft: #fef3f2;

    --aq-info: #2e90fa;
    --aq-info-soft: #eff8ff;

    --aq-ai: #7259e7;
    --aq-ai-soft: #f4f3ff;

    --aq-radius-xs: 6px;
    --aq-radius-sm: 8px;
    --aq-radius-md: 12px;
    --aq-radius-lg: 16px;
    --aq-radius-xl: 20px;
    --aq-radius-2xl: 28px;
    --aq-radius-pill: 999px;

    --aq-shadow-xs:
        0 1px 2px rgba(16, 24, 40, 0.04);

    --aq-shadow-sm:
        0 1px 3px rgba(16, 24, 40, 0.05),
        0 1px 2px rgba(16, 24, 40, 0.03);

    --aq-shadow-md:
        0 6px 18px rgba(16, 24, 40, 0.07);

    --aq-shadow-lg:
        0 16px 40px rgba(16, 24, 40, 0.08);

    --aq-space-1: 4px;
    --aq-space-2: 8px;
    --aq-space-3: 12px;
    --aq-space-4: 16px;
    --aq-space-5: 20px;
    --aq-space-6: 24px;
    --aq-space-7: 28px;
    --aq-space-8: 32px;
    --aq-space-10: 40px;
    --aq-space-12: 48px;
    --aq-space-14: 56px;
    --aq-space-16: 64px;
    --aq-space-20: 80px;

    --aq-container: 1440px;
    --aq-container-wide: 1600px;

    --aq-sidebar-width: 264px;
    --aq-header-height: 72px;

    --aq-font-sans:
        Inter,
        Cairo,
        "Noto Sans Arabic",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    --aq-font-ar:
        Cairo,
        "Noto Sans Arabic",
        Tahoma,
        Arial,
        sans-serif;

    --aq-duration-fast: 150ms;
    --aq-duration: 220ms;
    --aq-ease: cubic-bezier(.2,.8,.2,1);
}


/* ========================================================================
   2. RESET / BASE
   ======================================================================== */

.aq-ui,
.aq-ui *,
.aq-ui *::before,
.aq-ui *::after {
    box-sizing: border-box;
}

.aq-ui {
    margin: 0;
    color: var(--aq-text);
    background: var(--aq-bg);
    font-family: var(--aq-font-sans);
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

[dir="rtl"] .aq-ui {
    font-family: var(--aq-font-ar);
}

.aq-ui img {
    max-width: 100%;
    height: auto;
}

.aq-ui a {
    color: inherit;
    text-decoration: none;
}

.aq-ui button,
.aq-ui input,
.aq-ui select,
.aq-ui textarea {
    font: inherit;
}


/* ========================================================================
   3. TYPOGRAPHY
   ======================================================================== */

.aq-display {
    margin: 0;
    color: var(--aq-text-strong);
    font-size: clamp(38px, 5vw, 58px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.aq-h1 {
    margin: 0;
    color: var(--aq-text-strong);
    font-size: clamp(34px, 4vw, 48px);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -0.03em;
}

.aq-h2 {
    margin: 0;
    color: var(--aq-text-strong);
    font-size: clamp(27px, 3vw, 36px);
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -0.025em;
}

.aq-h3 {
    margin: 0;
    color: var(--aq-text-strong);
    font-size: 24px;
    font-weight: 650;
    line-height: 1.3;
    letter-spacing: -0.015em;
}

.aq-h4 {
    margin: 0;
    color: var(--aq-text-strong);
    font-size: 18px;
    font-weight: 650;
    line-height: 1.4;
}

.aq-body-lg {
    font-size: 18px;
    line-height: 1.7;
}

.aq-body {
    font-size: 16px;
    line-height: 1.65;
}

.aq-body-sm {
    font-size: 14px;
    line-height: 1.55;
}

.aq-caption {
    color: var(--aq-text-muted);
    font-size: 13px;
    line-height: 1.45;
}

.aq-muted {
    color: var(--aq-text-muted);
}

[dir="rtl"] .aq-display,
[dir="rtl"] .aq-h1,
[dir="rtl"] .aq-h2,
[dir="rtl"] .aq-h3 {
    letter-spacing: 0;
}


/* ========================================================================
   4. LAYOUT
   ======================================================================== */

.aq-container {
    width: min(
        calc(100% - 48px),
        var(--aq-container)
    );
    margin-inline: auto;
}

.aq-container-wide {
    width: min(
        calc(100% - 48px),
        var(--aq-container-wide)
    );
    margin-inline: auto;
}

.aq-section {
    padding-block: var(--aq-space-16);
}

.aq-section-sm {
    padding-block: var(--aq-space-12);
}

.aq-section-lg {
    padding-block: var(--aq-space-20);
}

.aq-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--aq-space-6);
    margin-bottom: var(--aq-space-8);
}

.aq-stack {
    display: flex;
    flex-direction: column;
    gap: var(--aq-space-6);
}

.aq-stack-sm {
    gap: var(--aq-space-4);
}

.aq-grid {
    display: grid;
    gap: var(--aq-space-6);
}

.aq-grid-2 {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
}

.aq-grid-3 {
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
}

.aq-grid-4 {
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
}


/* ========================================================================
   5. CARDS / SURFACES
   ======================================================================== */

.aq-card {
    background: var(--aq-surface);
    border: 1px solid var(--aq-border-soft);
    border-radius: var(--aq-radius-lg);
    box-shadow: var(--aq-shadow-xs);
}

.aq-card-pad {
    padding: var(--aq-space-6);
}

.aq-card-lg {
    border-radius: var(--aq-radius-xl);
    padding: var(--aq-space-8);
}

.aq-card-hover {
    transition:
        border-color var(--aq-duration) var(--aq-ease),
        box-shadow var(--aq-duration) var(--aq-ease),
        transform var(--aq-duration) var(--aq-ease);
}

.aq-card-hover:hover {
    border-color: var(--aq-border);
    box-shadow: var(--aq-shadow-md);
    transform: translateY(-2px);
}


/* ========================================================================
   6. BUTTONS
   ======================================================================== */

.aq-btn {
    min-height: 44px;
    padding:
        10px
        18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--aq-space-2);

    border: 1px solid transparent;
    border-radius: var(--aq-radius-md);

    background: var(--aq-white);
    color: var(--aq-text-strong);

    font-weight: 600;
    line-height: 1;

    cursor: pointer;

    transition:
        background var(--aq-duration-fast) var(--aq-ease),
        border-color var(--aq-duration-fast) var(--aq-ease),
        box-shadow var(--aq-duration-fast) var(--aq-ease),
        transform var(--aq-duration-fast) var(--aq-ease);
}

.aq-btn:hover {
    transform: translateY(-1px);
}

.aq-btn-primary {
    background: var(--aq-primary);
    color: #fff;
}

.aq-btn-primary:hover {
    background: var(--aq-primary-hover);
}

.aq-btn-secondary {
    border-color: var(--aq-border);
    background: #fff;
}

.aq-btn-secondary:hover {
    background: var(--aq-bg-soft);
}

.aq-btn-ghost {
    color: var(--aq-text-soft);
    background: transparent;
}

.aq-btn-ghost:hover {
    background: var(--aq-bg-soft);
}

.aq-btn-danger {
    background: var(--aq-danger);
    color: #fff;
}

.aq-btn-sm {
    min-height: 36px;
    padding: 8px 13px;
    border-radius: var(--aq-radius-sm);
    font-size: 14px;
}

.aq-btn-lg {
    min-height: 52px;
    padding: 14px 22px;
}


/* ========================================================================
   7. FORM CONTROLS / SEARCH
   ======================================================================== */

.aq-field {
    display: flex;
    flex-direction: column;
    gap: var(--aq-space-2);
}

.aq-label {
    color: var(--aq-text-strong);
    font-size: 14px;
    font-weight: 600;
}

.aq-input,
.aq-select,
.aq-textarea {
    width: 100%;

    border: 1px solid var(--aq-border);
    border-radius: var(--aq-radius-md);

    background: #fff;
    color: var(--aq-text);

    outline: none;

    transition:
        border-color var(--aq-duration-fast),
        box-shadow var(--aq-duration-fast);
}

.aq-input,
.aq-select {
    min-height: 48px;
    padding-inline: 14px;
}

.aq-textarea {
    min-height: 120px;
    padding: 14px;
    resize: vertical;
}

.aq-input:focus,
.aq-select:focus,
.aq-textarea:focus {
    border-color: var(--aq-primary);
    box-shadow:
        0 0 0 4px
        rgba(22, 134, 217, 0.10);
}

.aq-search-shell {
    display: flex;
    align-items: center;
    gap: var(--aq-space-3);

    min-height: 64px;

    padding:
        var(--aq-space-2)
        var(--aq-space-2)
        var(--aq-space-2)
        var(--aq-space-5);

    border: 1px solid var(--aq-border);
    border-radius: var(--aq-radius-xl);

    background: #fff;
    box-shadow: var(--aq-shadow-md);
}

[dir="rtl"] .aq-search-shell {
    padding:
        var(--aq-space-2)
        var(--aq-space-5)
        var(--aq-space-2)
        var(--aq-space-2);
}


/* ========================================================================
   8. TABS / FILTER CHIPS
   ======================================================================== */

.aq-tabs {
    display: flex;
    align-items: center;
    gap: var(--aq-space-1);

    padding: 4px;

    border-radius: var(--aq-radius-md);
    background: var(--aq-bg-soft);

    overflow-x: auto;
}

.aq-tab {
    min-height: 40px;
    padding:
        8px
        14px;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    border: 0;
    border-radius: var(--aq-radius-sm);
    background: transparent;

    color: var(--aq-text-muted);
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}

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

.aq-tab.is-active,
.aq-tab[aria-selected="true"] {
    background: #fff;
    color: var(--aq-text-strong);
    box-shadow: var(--aq-shadow-sm);
}

.aq-chip-row {
    display: flex;
    align-items: center;
    gap: var(--aq-space-2);
    flex-wrap: wrap;
}

.aq-chip {
    min-height: 38px;

    display: inline-flex;
    align-items: center;
    gap: 7px;

    padding:
        7px
        13px;

    border: 1px solid var(--aq-border);
    border-radius: var(--aq-radius-pill);

    background: #fff;
    color: var(--aq-text-soft);

    font-size: 14px;
    font-weight: 550;
}

.aq-chip.is-active {
    border-color: rgba(22, 134, 217, 0.35);
    background: var(--aq-primary-soft);
    color: var(--aq-primary-hover);
}


/* ========================================================================
   9. BADGES
   ======================================================================== */

.aq-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;

    min-height: 26px;

    padding:
        4px
        9px;

    border-radius: var(--aq-radius-pill);

    background: var(--aq-bg-muted);
    color: var(--aq-text-soft);

    font-size: 12px;
    font-weight: 650;
}

.aq-badge-primary {
    background: var(--aq-primary-soft);
    color: var(--aq-primary-hover);
}

.aq-badge-success {
    background: var(--aq-success-soft);
    color: #067647;
}

.aq-badge-warning {
    background: var(--aq-warning-soft);
    color: #b54708;
}

.aq-badge-danger {
    background: var(--aq-danger-soft);
    color: #b42318;
}

.aq-badge-ai {
    background: var(--aq-ai-soft);
    color: var(--aq-ai);
}


/* ========================================================================
   10. PUBLIC HEADER
   ======================================================================== */

.aq-header {
    position: sticky;
    top: 0;
    z-index: 50;

    min-height: var(--aq-header-height);

    border-bottom: 1px solid rgba(228, 231, 236, 0.85);
    background: rgba(255, 255, 255, 0.96);

    backdrop-filter: blur(16px);
}

.aq-header-inner {
    min-height: var(--aq-header-height);

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: var(--aq-space-6);
}


/* ========================================================================
   11. HERO / HOMEPAGE
   ======================================================================== */

.aq-hero {
    position: relative;
    overflow: hidden;

    padding:
        clamp(56px, 7vw, 104px)
        0
        clamp(48px, 6vw, 88px);

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(22, 134, 217, 0.07),
            transparent 42%
        ),
        #fff;
}

.aq-hero-inner {
    width: min(920px, 100%);
    margin-inline: auto;
    text-align: center;
}

.aq-hero-subtitle {
    max-width: 720px;
    margin:
        var(--aq-space-5)
        auto
        0;

    color: var(--aq-text-muted);
    font-size: 18px;
    line-height: 1.7;
}

.aq-hero-search {
    margin-top: var(--aq-space-8);
}


/* ========================================================================
   12. PROPERTY CARDS
   ======================================================================== */

.aq-property-card {
    overflow: hidden;

    border: 1px solid var(--aq-border-soft);
    border-radius: var(--aq-radius-lg);

    background: #fff;

    transition:
        transform var(--aq-duration) var(--aq-ease),
        box-shadow var(--aq-duration) var(--aq-ease),
        border-color var(--aq-duration) var(--aq-ease);
}

.aq-property-card:hover {
    transform: translateY(-3px);
    border-color: var(--aq-border);
    box-shadow: var(--aq-shadow-md);
}

.aq-property-media {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--aq-bg-muted);
}

.aq-property-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.aq-property-content {
    padding: var(--aq-space-5);
}

.aq-property-price {
    color: var(--aq-text-strong);
    font-size: 21px;
    font-weight: 700;
    line-height: 1.25;
}

.aq-property-title {
    margin-top: 7px;
    color: var(--aq-text-strong);
    font-size: 16px;
    font-weight: 600;
}

.aq-property-meta {
    margin-top: 10px;

    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;

    color: var(--aq-text-muted);
    font-size: 14px;
}

.aq-property-location {
    margin-top: 9px;
    color: var(--aq-text-muted);
    font-size: 14px;
}


/* ========================================================================
   13. DASHBOARD SHELL
   ======================================================================== */

.aq-dashboard {
    min-height: 100vh;
    display: grid;

    grid-template-columns:
        var(--aq-sidebar-width)
        minmax(0, 1fr);

    background: var(--aq-bg-soft);
}

.aq-sidebar {
    min-height: 100vh;

    padding:
        var(--aq-space-5)
        var(--aq-space-4);

    border-inline-end: 1px solid var(--aq-border-soft);

    background: #fff;
}

.aq-sidebar-section {
    margin-top: var(--aq-space-7);
}

.aq-sidebar-label {
    margin:
        0
        var(--aq-space-3)
        var(--aq-space-2);

    color: var(--aq-text-faint);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.aq-sidebar-nav {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.aq-sidebar-link {
    min-height: 44px;

    display: flex;
    align-items: center;
    gap: 11px;

    padding:
        9px
        12px;

    border-radius: var(--aq-radius-md);

    color: var(--aq-text-soft);
    font-size: 14px;
    font-weight: 550;

    transition:
        background var(--aq-duration-fast),
        color var(--aq-duration-fast);
}

.aq-sidebar-link:hover {
    background: var(--aq-bg-soft);
    color: var(--aq-text-strong);
}

.aq-sidebar-link.is-active {
    background: var(--aq-primary-soft);
    color: var(--aq-primary-hover);
}

.aq-dashboard-main {
    min-width: 0;
}

.aq-dashboard-topbar {
    min-height: var(--aq-header-height);

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: var(--aq-space-5);

    padding:
        0
        var(--aq-space-8);

    border-bottom: 1px solid var(--aq-border-soft);
    background: #fff;
}

.aq-dashboard-content {
    padding: var(--aq-space-8);
}

.aq-dashboard-pagehead {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: var(--aq-space-6);

    margin-bottom: var(--aq-space-8);
}


/* ========================================================================
   14. DASHBOARD KPI CARDS
   ======================================================================== */

.aq-stat-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: var(--aq-space-5);
}

.aq-stat {
    padding: var(--aq-space-6);

    border: 1px solid var(--aq-border-soft);
    border-radius: var(--aq-radius-lg);

    background: #fff;
}

.aq-stat-label {
    color: var(--aq-text-muted);
    font-size: 14px;
    font-weight: 550;
}

.aq-stat-value {
    margin-top: var(--aq-space-2);

    color: var(--aq-text-strong);

    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.025em;
}

.aq-stat-foot {
    margin-top: var(--aq-space-3);

    color: var(--aq-text-muted);
    font-size: 13px;
}


/* ========================================================================
   15. DASHBOARD SECTIONS
   ======================================================================== */

.aq-dashboard-section {
    margin-top: var(--aq-space-8);
}

.aq-dashboard-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: var(--aq-space-4);

    margin-bottom: var(--aq-space-4);
}

.aq-dashboard-panel {
    border: 1px solid var(--aq-border-soft);
    border-radius: var(--aq-radius-lg);
    background: #fff;
}

.aq-dashboard-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: var(--aq-space-4);

    padding:
        var(--aq-space-5)
        var(--aq-space-6);

    border-bottom: 1px solid var(--aq-border-soft);
}

.aq-dashboard-panel-body {
    padding: var(--aq-space-6);
}


/* ========================================================================
   16. TABLES
   ======================================================================== */

.aq-table-wrap {
    width: 100%;
    overflow-x: auto;

    border: 1px solid var(--aq-border-soft);
    border-radius: var(--aq-radius-lg);

    background: #fff;
}

.aq-table {
    width: 100%;
    border-collapse: collapse;
}

.aq-table th,
.aq-table td {
    padding:
        14px
        18px;

    border-bottom: 1px solid var(--aq-border-soft);

    text-align: start;
    vertical-align: middle;
}

.aq-table th {
    background: #fbfcfd;

    color: var(--aq-text-muted);

    font-size: 12px;
    font-weight: 650;
    letter-spacing: 0.02em;
}

.aq-table td {
    color: var(--aq-text-soft);
    font-size: 14px;
}

.aq-table tr:last-child td {
    border-bottom: 0;
}

.aq-table tbody tr:hover {
    background: #fcfcfd;
}


/* ========================================================================
   17. EMPTY STATES
   ======================================================================== */

.aq-empty {
    padding:
        var(--aq-space-16)
        var(--aq-space-6);

    text-align: center;
}

.aq-empty-icon {
    width: 52px;
    height: 52px;

    margin:
        0
        auto
        var(--aq-space-4);

    display: grid;
    place-items: center;

    border-radius: var(--aq-radius-lg);

    background: var(--aq-bg-soft);
    color: var(--aq-text-muted);
}

.aq-empty-title {
    color: var(--aq-text-strong);
    font-size: 17px;
    font-weight: 650;
}

.aq-empty-text {
    max-width: 460px;

    margin:
        var(--aq-space-2)
        auto
        0;

    color: var(--aq-text-muted);
    font-size: 14px;
}


/* ========================================================================
   18. ALERTS
   ======================================================================== */

.aq-alert {
    display: flex;
    align-items: flex-start;
    gap: var(--aq-space-3);

    padding: var(--aq-space-4);

    border: 1px solid var(--aq-border-soft);
    border-radius: var(--aq-radius-md);

    background: #fff;
}

.aq-alert-info {
    border-color: #b2ddff;
    background: var(--aq-info-soft);
}

.aq-alert-success {
    border-color: #abefc6;
    background: var(--aq-success-soft);
}

.aq-alert-warning {
    border-color: #fedf89;
    background: var(--aq-warning-soft);
}

.aq-alert-danger {
    border-color: #fecdca;
    background: var(--aq-danger-soft);
}


/* ========================================================================
   19. AI MODULE
   ======================================================================== */

.aq-ai-card {
    border: 1px solid #ddd6fe;

    background:
        linear-gradient(
            135deg,
            #ffffff 0%,
            #fbfaff 100%
        );
}

.aq-ai-icon {
    color: var(--aq-ai);
}

.aq-ai-highlight {
    color: var(--aq-ai);
}


/* ========================================================================
   20. MODAL
   ======================================================================== */

.aq-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 100;

    display: grid;
    place-items: center;

    padding: var(--aq-space-6);

    background: rgba(16, 24, 40, 0.42);
    backdrop-filter: blur(3px);
}

.aq-modal {
    width: min(640px, 100%);

    overflow: hidden;

    border-radius: var(--aq-radius-xl);

    background: #fff;
    box-shadow: var(--aq-shadow-lg);
}

.aq-modal-head,
.aq-modal-foot {
    padding:
        var(--aq-space-5)
        var(--aq-space-6);
}

.aq-modal-head {
    border-bottom: 1px solid var(--aq-border-soft);
}

.aq-modal-body {
    padding: var(--aq-space-6);
}

.aq-modal-foot {
    display: flex;
    justify-content: flex-end;
    gap: var(--aq-space-3);

    border-top: 1px solid var(--aq-border-soft);
}


/* ========================================================================
   21. UTILITY
   ======================================================================== */

.aq-divider {
    height: 1px;
    border: 0;
    background: var(--aq-border-soft);
}

.aq-surface-soft {
    background: var(--aq-bg-soft);
}

.aq-text-center {
    text-align: center;
}

.aq-hidden {
    display: none !important;
}


/* ========================================================================
   22. RESPONSIVE
   ======================================================================== */

@media (max-width: 1200px) {
    .aq-grid-4,
    .aq-stat-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .aq-dashboard {
        grid-template-columns:
            224px
            minmax(0, 1fr);
    }
}

@media (max-width: 900px) {
    .aq-container,
    .aq-container-wide {
        width: min(
            calc(100% - 32px),
            var(--aq-container)
        );
    }

    .aq-section {
        padding-block: var(--aq-space-12);
    }

    .aq-grid-3,
    .aq-grid-2 {
        grid-template-columns: 1fr;
    }

    .aq-dashboard {
        display: block;
    }

    .aq-sidebar {
        display: none;
    }

    .aq-dashboard-content {
        padding: var(--aq-space-5);
    }

    .aq-dashboard-topbar {
        padding-inline: var(--aq-space-5);
    }
}

@media (max-width: 640px) {
    .aq-container,
    .aq-container-wide {
        width: min(
            calc(100% - 24px),
            var(--aq-container)
        );
    }

    .aq-display {
        font-size: 36px;
    }

    .aq-h1 {
        font-size: 32px;
    }

    .aq-h2 {
        font-size: 26px;
    }

    .aq-section {
        padding-block: var(--aq-space-10);
    }

    .aq-section-lg {
        padding-block: var(--aq-space-12);
    }

    .aq-section-head,
    .aq-dashboard-pagehead {
        align-items: stretch;
        flex-direction: column;
    }

    .aq-search-shell {
        min-height: auto;
        padding: var(--aq-space-3);
        flex-direction: column;
        align-items: stretch;
    }

    .aq-grid-4,
    .aq-stat-grid {
        grid-template-columns: 1fr;
    }

    .aq-dashboard-content {
        padding:
            var(--aq-space-4)
            var(--aq-space-3);
    }

    .aq-dashboard-panel-body,
    .aq-card-lg {
        padding: var(--aq-space-5);
    }

    .aq-property-content {
        padding: var(--aq-space-4);
    }

    .aq-modal-backdrop {
        padding: var(--aq-space-3);
    }
}


/* ========================================================================
   23. ACCESSIBILITY
   ======================================================================== */

.aq-ui :focus-visible {
    outline: 3px solid rgba(22, 134, 217, 0.25);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    .aq-ui *,
    .aq-ui *::before,
    .aq-ui *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.001ms !important;
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
    }
}


/*
|--------------------------------------------------------------------------
| AQARK R28 Visual Shell
|--------------------------------------------------------------------------
| Presentation only.
| Existing AQARK logo identity remains unchanged.
*/

/* ============================================================
   GLOBAL
   ============================================================ */

body.aq-ui {
    margin: 0;
    min-height: 100vh;

    background: #ffffff;
    color: var(--aq-text);

    font-family: var(--aq-font-sans);
    font-size: 16px;
    line-height: 1.6;

    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

html[dir="rtl"] body.aq-ui {
    font-family: var(--aq-font-ar);
}

body.aq-ui main {
    min-width: 0;
}

body.aq-ui h1,
body.aq-ui h2,
body.aq-ui h3,
body.aq-ui h4 {
    color: var(--aq-text-strong);
}

body.aq-ui input,
body.aq-ui select,
body.aq-ui textarea,
body.aq-ui button {
    font: inherit;
}

body.aq-ui input,
body.aq-ui select,
body.aq-ui textarea {
    border-radius: 12px;
}

body.aq-ui input:focus,
body.aq-ui select:focus,
body.aq-ui textarea:focus {
    outline: none;
    border-color: var(--aq-primary) !important;
    box-shadow: 0 0 0 4px rgba(22, 134, 217, .08);
}


/* ============================================================
   PUBLIC WEBSITE
   ============================================================ */

body.aq-public-shell {
    background: #fff;
}

body.aq-public-shell > #app {
    background: #fff;
}

body[data-aqark-reference-layout="public"] header {
    position: sticky;
    top: 0;
    z-index: 70;

    border-bottom: 1px solid rgba(228, 231, 236, .9);

    background: rgba(255, 255, 255, .97);

    box-shadow: 0 1px 3px rgba(16, 24, 40, .035);

    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

body[data-aqark-reference-layout="public"] header nav {
    min-height: 68px;
}

body[data-aqark-reference-layout="public"] main {
    background: #fff;
}

body[data-aqark-reference-layout="public"] main > section {
    scroll-margin-top: 84px;
}

body[data-aqark-reference-layout="public"] h1 {
    letter-spacing: -.032em;
    text-wrap: balance;
}

body[data-aqark-reference-layout="public"] h2 {
    letter-spacing: -.022em;
    text-wrap: balance;
}

html[dir="rtl"]
body[data-aqark-reference-layout="public"] h1,

html[dir="rtl"]
body[data-aqark-reference-layout="public"] h2 {
    letter-spacing: 0;
}

body[data-aqark-reference-layout="public"] footer {
    margin-top: clamp(48px, 7vw, 90px);

    border-top: 1px solid var(--aq-border-soft);

    background: #fbfcfd;
}


/* ============================================================
   PUBLIC CARDS
   ============================================================ */

body[data-aqark-reference-layout="public"]
article[class*="border"],

body[data-aqark-reference-layout="public"]
main div[class*="rounded-2xl"][class*="border"],

body[data-aqark-reference-layout="public"]
main div[class*="rounded-xl"][class*="border"] {
    border-color: var(--aq-border-soft);

    box-shadow: 0 1px 3px rgba(16, 24, 40, .04);

    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease;
}

body[data-aqark-reference-layout="public"]
article[class*="border"]:hover {
    transform: translateY(-3px);

    border-color: var(--aq-border);

    box-shadow: 0 12px 30px rgba(16, 24, 40, .08);
}


/* ============================================================
   PUBLIC SEARCH / FILTER AREAS
   ============================================================ */

body[data-aqark-reference-layout="public"]
form[class*="rounded"],

body[data-aqark-reference-layout="public"]
[class*="search"] {
    border-color: var(--aq-border-soft);
}


/* ============================================================
   DASHBOARD + ADMIN BASE
   ============================================================ */

body.aq-dashboard-shell,
body.aq-admin-shell {
    background: #f7f9fc;
}

body[data-aqark-reference-layout="dashboard"] > header,
body[data-aqark-reference-layout="admin"] > header {
    min-height: 64px;

    border-bottom: 1px solid rgba(255, 255, 255, .08);

    box-shadow: 0 2px 10px rgba(16, 24, 40, .08);
}

body[data-aqark-reference-layout="dashboard"] main,
body[data-aqark-reference-layout="admin"] main {
    min-width: 0;
}


/* ============================================================
   DASHBOARD / ADMIN CONTENT CARDS
   ============================================================ */

body[data-aqark-reference-layout="dashboard"]
main [class*="rounded-xl"],

body[data-aqark-reference-layout="dashboard"]
main [class*="rounded-2xl"],

body[data-aqark-reference-layout="admin"]
main [class*="rounded-xl"],

body[data-aqark-reference-layout="admin"]
main [class*="rounded-2xl"] {
    border-color: var(--aq-border-soft);

    box-shadow: 0 1px 3px rgba(16, 24, 40, .04);
}


/* ============================================================
   DASHBOARD SECTIONS
   ============================================================ */

body[data-aqark-reference-layout="dashboard"]
main section + section,

body[data-aqark-reference-layout="admin"]
main section + section {
    margin-top: clamp(24px, 3vw, 40px);
}


/* ============================================================
   DASHBOARD NAV
   ============================================================ */

body[data-aqark-reference-layout="dashboard"] nav a,
body[data-aqark-reference-layout="admin"] nav a {
    transition:
        background-color .18s ease,
        color .18s ease,
        border-color .18s ease,
        transform .18s ease;
}


/* ============================================================
   TABS
   ============================================================ */

body[data-aqark-reference-layout="dashboard"] [role="tablist"],
body[data-aqark-reference-layout="admin"] [role="tablist"] {
    display: flex;
    align-items: center;
    gap: 4px;

    max-width: 100%;
    padding: 4px;

    overflow-x: auto;

    border-radius: 12px;

    background: var(--aq-bg-muted);
}

body[data-aqark-reference-layout="dashboard"] [role="tab"],
body[data-aqark-reference-layout="admin"] [role="tab"] {
    min-height: 38px;

    padding: 8px 14px;

    border-radius: 8px;

    white-space: nowrap;
}

body[data-aqark-reference-layout="dashboard"]
[role="tab"][aria-selected="true"],

body[data-aqark-reference-layout="admin"]
[role="tab"][aria-selected="true"] {
    background: #fff;

    box-shadow: 0 1px 3px rgba(16, 24, 40, .07);
}


/* ============================================================
   TABLES
   ============================================================ */

body[data-aqark-reference-layout="dashboard"] table,
body[data-aqark-reference-layout="admin"] table {
    width: 100%;
    border-collapse: collapse;
}

body[data-aqark-reference-layout="dashboard"] thead,
body[data-aqark-reference-layout="admin"] thead {
    background: #fbfcfd;
}

body[data-aqark-reference-layout="dashboard"] th,
body[data-aqark-reference-layout="admin"] th {
    color: var(--aq-text-muted);

    font-size: 12px;
    font-weight: 650;
}

body[data-aqark-reference-layout="dashboard"] th,
body[data-aqark-reference-layout="dashboard"] td,
body[data-aqark-reference-layout="admin"] th,
body[data-aqark-reference-layout="admin"] td {
    padding-block: 13px;

    border-color: var(--aq-border-soft);
}

body[data-aqark-reference-layout="dashboard"] tbody tr,
body[data-aqark-reference-layout="admin"] tbody tr {
    transition: background-color .15s ease;
}

body[data-aqark-reference-layout="dashboard"] tbody tr:hover,
body[data-aqark-reference-layout="admin"] tbody tr:hover {
    background: #fcfcfd;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 900px) {
    body[data-aqark-reference-layout="public"] header nav {
        min-height: 62px;
    }

    body.aq-dashboard-shell,
    body.aq-admin-shell {
        background: #fff;
    }
}

@media (max-width: 640px) {
    body[data-aqark-reference-layout="public"] h1 {
        letter-spacing: -.02em;
    }

    body[data-aqark-reference-layout="dashboard"]
    main section + section,

    body[data-aqark-reference-layout="admin"]
    main section + section {
        margin-top: 24px;
    }

    body[data-aqark-reference-layout="dashboard"] table,
    body[data-aqark-reference-layout="admin"] table {
        font-size: 14px;
    }
}


/* ============================================================
   ACCESSIBILITY
   ============================================================ */

body.aq-ui :focus-visible {
    outline: 2px solid var(--aq-primary);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    body.aq-ui *,
    body.aq-ui *::before,
    body.aq-ui *::after {
        animation-duration: .001ms !important;
        transition-duration: .001ms !important;
    }
}
