/*
 | Ahoora UI 2026
 | Unified visual system for admin and customer account panels.
 | This file is loaded after resources/css/app.css.
 */

:root {
    --ahoora-font: "Vazirmatn Variable", "Ahoora Yekan Local", "Yekan Bakh", "IRANYekan", "B Yekan", "Vazir", Tahoma, Arial, sans-serif;
    --ahoora-canvas: #f4f7fb;
    --ahoora-surface: #ffffff;
    --ahoora-surface-soft: #f8fafc;
    --ahoora-surface-strong: #eef4f8;
    --ahoora-border: #dbe5ee;
    --ahoora-border-strong: #c6d4e0;
    --ahoora-ink: #10243e;
    --ahoora-muted: #64748b;
    --ahoora-subtle: #94a3b8;
    --ahoora-navy-950: #071f36;
    --ahoora-navy-900: #0a2f4f;
    --ahoora-navy-800: #0d466f;
    --ahoora-blue-700: #0369a1;
    --ahoora-blue-600: #0284c7;
    --ahoora-blue-500: #0ea5e9;
    --ahoora-cyan-400: #22d3ee;
    --ahoora-teal-600: #0d9488;
    --ahoora-success: #15803d;
    --ahoora-warning: #b45309;
    --ahoora-danger: #be123c;
    --ahoora-info: #0369a1;
    --ahoora-radius-sm: 12px;
    --ahoora-radius-md: 18px;
    --ahoora-radius-lg: 24px;
    --ahoora-radius-xl: 30px;
    --ahoora-shadow-sm: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px rgba(15, 23, 42, .035);
    --ahoora-shadow-md: 0 16px 45px rgba(15, 23, 42, .08);
    --ahoora-shadow-blue: 0 18px 45px rgba(2, 132, 199, .16);
    --ahoora-sidebar-width: 288px;
    color-scheme: light;
}

[data-ahoora-theme="dark"] {
    --ahoora-canvas: #07131f;
    --ahoora-surface: #0d1c2b;
    --ahoora-surface-soft: #102235;
    --ahoora-surface-strong: #142a40;
    --ahoora-border: #20384d;
    --ahoora-border-strong: #31516b;
    --ahoora-ink: #e7f0f8;
    --ahoora-muted: #9fb2c5;
    --ahoora-subtle: #70869a;
    --ahoora-shadow-sm: 0 12px 32px rgba(0, 0, 0, .16);
    --ahoora-shadow-md: 0 22px 55px rgba(0, 0, 0, .28);
    color-scheme: dark;
}

html {
    scroll-behavior: smooth;
}

body.ahoora-admin,
body.ahoora-account {
    margin: 0;
    min-height: 100vh;
    background:
        radial-gradient(circle at 92% 0%, rgba(14, 165, 233, .08), transparent 28rem),
        radial-gradient(circle at 8% 18%, rgba(13, 148, 136, .055), transparent 25rem),
        var(--ahoora-canvas);
    color: var(--ahoora-ink);
    font-family: var(--ahoora-font);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.ahoora-admin *,
body.ahoora-account * {
    box-sizing: border-box;
}

body.ahoora-admin ::selection,
body.ahoora-account ::selection {
    background: rgba(14, 165, 233, .24);
    color: var(--ahoora-navy-950);
}

/* ---------- Shared primitives ---------- */

.ahoora-shell {
    min-height: 100vh;
}

.ahoora-main {
    min-width: 0;
    min-height: 100vh;
}

.ahoora-page {
    width: min(100%, 1540px);
    margin-inline: auto;
    padding: 28px clamp(16px, 2.4vw, 38px) 54px;
}

.ahoora-page-narrow {
    width: min(100%, 1120px);
}

.ahoora-page-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 24px;
}

.ahoora-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--ahoora-blue-700);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: -.01em;
}

.ahoora-page-title {
    margin: 7px 0 0;
    color: var(--ahoora-ink);
    font-size: clamp(25px, 2.3vw, 36px);
    font-weight: 950;
    line-height: 1.35;
    letter-spacing: -.035em;
}

.ahoora-page-description {
    max-width: 720px;
    margin: 8px 0 0;
    color: var(--ahoora-muted);
    font-size: 14px;
    line-height: 2;
}

.ahoora-panel,
.ahoora-card {
    border: 1px solid var(--ahoora-border);
    background: color-mix(in srgb, var(--ahoora-surface) 97%, transparent);
    box-shadow: var(--ahoora-shadow-sm);
}

.ahoora-panel {
    border-radius: var(--ahoora-radius-lg);
}

.ahoora-card {
    border-radius: var(--ahoora-radius-md);
}

.ahoora-card-hover {
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.ahoora-card-hover:hover {
    transform: translateY(-2px);
    border-color: rgba(2, 132, 199, .35);
    box-shadow: var(--ahoora-shadow-md);
}

.ahoora-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 20px 22px;
    border-bottom: 1px solid var(--ahoora-border);
}

.ahoora-panel-body {
    padding: 22px;
}

.ahoora-section-title {
    margin: 0;
    color: var(--ahoora-ink);
    font-size: 18px;
    font-weight: 950;
    line-height: 1.6;
}

.ahoora-section-subtitle {
    margin: 5px 0 0;
    color: var(--ahoora-muted);
    font-size: 12px;
    line-height: 1.8;
}

.ahoora-grid-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.ahoora-stat {
    position: relative;
    min-height: 142px;
    overflow: hidden;
    padding: 20px;
    border: 1px solid var(--ahoora-border);
    border-radius: var(--ahoora-radius-md);
    background: var(--ahoora-surface);
    box-shadow: var(--ahoora-shadow-sm);
}

.ahoora-stat::after {
    content: "";
    position: absolute;
    inset: auto -32px -42px auto;
    width: 112px;
    height: 112px;
    border-radius: 999px;
    background: var(--stat-glow, rgba(14, 165, 233, .09));
}

.ahoora-stat-icon {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 16px;
    border-radius: 14px;
    background: var(--stat-soft, rgba(14, 165, 233, .1));
    color: var(--stat-color, var(--ahoora-blue-700));
}

.ahoora-stat-label {
    position: relative;
    z-index: 1;
    color: var(--ahoora-muted);
    font-size: 12px;
    font-weight: 850;
}

.ahoora-stat-value {
    position: relative;
    z-index: 1;
    margin-top: 8px;
    color: var(--ahoora-ink);
    font-size: clamp(25px, 2.1vw, 34px);
    font-weight: 950;
    line-height: 1.2;
}

.ahoora-stat-note {
    position: relative;
    z-index: 1;
    margin-top: 8px;
    color: var(--ahoora-muted);
    font-size: 11px;
}

.ahoora-btn {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 10px 17px;
    border: 1px solid transparent;
    border-radius: 14px;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.4;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}

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

.ahoora-btn:focus-visible {
    outline: 3px solid rgba(14, 165, 233, .24);
    outline-offset: 2px;
}

.ahoora-btn-primary {
    background: linear-gradient(135deg, var(--ahoora-blue-600), var(--ahoora-navy-800));
    color: #fff;
    box-shadow: 0 10px 24px rgba(2, 132, 199, .19);
}

.ahoora-btn-primary:hover {
    box-shadow: var(--ahoora-shadow-blue);
}

.ahoora-btn-secondary {
    border-color: var(--ahoora-border);
    background: var(--ahoora-surface);
    color: var(--ahoora-ink);
}

.ahoora-btn-secondary:hover {
    border-color: rgba(2, 132, 199, .36);
    color: var(--ahoora-blue-700);
}

.ahoora-btn-danger {
    border-color: rgba(190, 18, 60, .18);
    background: rgba(244, 63, 94, .08);
    color: var(--ahoora-danger);
}

.ahoora-btn-success {
    border-color: rgba(21, 128, 61, .18);
    background: rgba(34, 197, 94, .1);
    color: var(--ahoora-success);
}

.ahoora-icon-btn {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid var(--ahoora-border);
    border-radius: 14px;
    background: var(--ahoora-surface);
    color: var(--ahoora-muted);
    cursor: pointer;
    transition: .16s ease;
}

.ahoora-icon-btn:hover {
    border-color: rgba(2, 132, 199, .34);
    color: var(--ahoora-blue-700);
    box-shadow: var(--ahoora-shadow-sm);
}

.ahoora-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 26px;
    padding: 4px 10px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    white-space: nowrap;
}

.ahoora-badge-neutral { background: var(--ahoora-surface-strong); color: var(--ahoora-muted); border-color: var(--ahoora-border); }
.ahoora-badge-info { background: rgba(14, 165, 233, .09); color: var(--ahoora-info); border-color: rgba(14, 165, 233, .18); }
.ahoora-badge-success { background: rgba(34, 197, 94, .1); color: var(--ahoora-success); border-color: rgba(34, 197, 94, .2); }
.ahoora-badge-warning { background: rgba(245, 158, 11, .11); color: var(--ahoora-warning); border-color: rgba(245, 158, 11, .23); }
.ahoora-badge-danger { background: rgba(244, 63, 94, .09); color: var(--ahoora-danger); border-color: rgba(244, 63, 94, .19); }

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

.ahoora-alert {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
    padding: 14px 16px;
    border: 1px solid;
    border-radius: 16px;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.9;
}

.ahoora-alert-success { border-color: rgba(34, 197, 94, .24); background: rgba(34, 197, 94, .09); color: #166534; }
.ahoora-alert-error { border-color: rgba(244, 63, 94, .22); background: rgba(244, 63, 94, .08); color: #9f1239; }
.ahoora-alert-warning { border-color: rgba(245, 158, 11, .25); background: rgba(245, 158, 11, .1); color: #92400e; }

[data-ahoora-theme="dark"] .ahoora-alert-success { color: #86efac; }
[data-ahoora-theme="dark"] .ahoora-alert-error { color: #fda4af; }
[data-ahoora-theme="dark"] .ahoora-alert-warning { color: #fcd34d; }

/* ---------- Forms ---------- */

.ahoora-admin :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea),
.ahoora-account :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
    width: 100%;
    min-height: 48px;
    border: 1px solid var(--ahoora-border-strong) !important;
    border-radius: 14px !important;
    background-color: var(--ahoora-surface) !important;
    color: var(--ahoora-ink) !important;
    font-family: var(--ahoora-font) !important;
    font-size: 13px !important;
    line-height: 1.65;
    box-shadow: none !important;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.ahoora-admin :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select),
.ahoora-account :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select) {
    padding: 0 14px !important;
}

.ahoora-admin textarea,
.ahoora-account textarea {
    min-height: 138px;
    padding: 13px 14px !important;
    resize: vertical;
}

.ahoora-admin :where(input, select, textarea):focus,
.ahoora-account :where(input, select, textarea):focus {
    border-color: var(--ahoora-blue-500) !important;
    outline: 0 !important;
    box-shadow: 0 0 0 4px rgba(14, 165, 233, .11) !important;
}

.ahoora-admin :where(input, textarea)::placeholder,
.ahoora-account :where(input, textarea)::placeholder {
    color: var(--ahoora-subtle);
    opacity: 1;
}

.ahoora-admin input[type="checkbox"],
.ahoora-admin input[type="radio"],
.ahoora-account input[type="checkbox"],
.ahoora-account input[type="radio"] {
    width: 18px;
    height: 18px;
    border: 1px solid var(--ahoora-border-strong);
    color: var(--ahoora-blue-600);
    accent-color: var(--ahoora-blue-600);
}

.ahoora-admin input[type="file"],
.ahoora-account input[type="file"] {
    min-height: 48px;
    padding: 5px !important;
    direction: rtl;
}

.ahoora-admin input[type="file"]::file-selector-button,
.ahoora-account input[type="file"]::file-selector-button {
    height: 36px;
    margin-inline-end: 10px;
    padding: 0 14px;
    border: 0;
    border-radius: 10px;
    background: var(--ahoora-surface-strong);
    color: var(--ahoora-ink);
    font-family: var(--ahoora-font);
    font-weight: 850;
    cursor: pointer;
}

.ahoora-field {
    display: block;
}

.ahoora-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
    color: var(--ahoora-ink);
    font-size: 12px;
    font-weight: 900;
}

.ahoora-help {
    display: block;
    margin-top: 7px;
    color: var(--ahoora-muted);
    font-size: 11px;
    line-height: 1.8;
}

.ahoora-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.ahoora-file-picker {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-height: 58px;
    padding: 8px;
    border: 1px dashed var(--ahoora-border-strong);
    border-radius: 16px;
    background: var(--ahoora-surface-soft);
    transition: .16s ease;
}

.ahoora-file-picker:hover,
.ahoora-file-picker:focus-within {
    border-color: var(--ahoora-blue-500);
    background: rgba(14, 165, 233, .04);
}

.ahoora-file-picker input[type="file"] {
    position: absolute;
    width: 1px !important;
    height: 1px !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

.ahoora-file-picker-button {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 14px;
    border-radius: 11px;
    background: var(--ahoora-navy-900);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.ahoora-file-picker-name {
    min-width: 0;
    overflow: hidden;
    color: var(--ahoora-muted);
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ---------- Tables ---------- */

.ahoora-table-wrap {
    width: 100%;
    overflow: auto;
    border: 1px solid var(--ahoora-border);
    border-radius: var(--ahoora-radius-md);
    background: var(--ahoora-surface);
    box-shadow: var(--ahoora-shadow-sm);
}

.ahoora-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    color: var(--ahoora-ink);
    font-size: 12px;
    text-align: right;
}

.ahoora-table thead {
    background: var(--ahoora-surface-soft);
    color: var(--ahoora-muted);
}

.ahoora-table th {
    padding: 14px 16px;
    border-bottom: 1px solid var(--ahoora-border);
    font-weight: 900;
    white-space: nowrap;
}

.ahoora-table td {
    padding: 15px 16px;
    border-bottom: 1px solid var(--ahoora-border);
    vertical-align: middle;
}

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

.ahoora-table tbody tr {
    transition: background .15s ease;
}

.ahoora-table tbody tr:hover {
    background: color-mix(in srgb, var(--ahoora-surface-soft) 70%, transparent);
}

/* Improve legacy Tailwind tables within panels */
.ahoora-admin table,
.ahoora-account table {
    color: var(--ahoora-ink);
}

.ahoora-admin thead,
.ahoora-account thead {
    background-color: var(--ahoora-surface-soft) !important;
    color: var(--ahoora-muted) !important;
}

.ahoora-admin tbody,
.ahoora-account tbody {
    border-color: var(--ahoora-border) !important;
}

/* ---------- Admin shell ---------- */

.ahoora-admin-shell {
    padding-right: var(--ahoora-sidebar-width);
    transition: padding .25s ease;
}

.ahoora-admin-sidebar {
    position: fixed;
    z-index: 60;
    inset: 0 0 0 auto;
    display: flex;
    width: var(--ahoora-sidebar-width);
    flex-direction: column;
    border-left: 1px solid rgba(255, 255, 255, .08);
    background:
        radial-gradient(circle at 40% -5%, rgba(34, 211, 238, .17), transparent 16rem),
        linear-gradient(180deg, var(--ahoora-navy-950), #092b47 55%, #071f36);
    color: #ddecf7;
    box-shadow: -18px 0 50px rgba(8, 47, 73, .10);
    transition: transform .25s ease, width .25s ease;
}

.ahoora-admin-brand {
    display: flex;
    min-height: 88px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 18px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.ahoora-admin-logo {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 11px;
    color: #fff;
}

.ahoora-admin-logo img {
    width: 46px;
    height: 46px;
    padding: 6px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 15px;
    background: rgba(255, 255, 255, .96);
    object-fit: contain;
}

.ahoora-admin-logo strong {
    display: block;
    color: #fff;
    font-size: 16px;
    font-weight: 950;
}

.ahoora-admin-logo small {
    display: block;
    margin-top: 3px;
    color: #8fb0c8;
    font-size: 10px;
    font-weight: 750;
}

.ahoora-admin-nav {
    flex: 1;
    padding: 14px 12px 24px;
    overflow-y: auto;
    scrollbar-color: rgba(255,255,255,.18) transparent;
    scrollbar-width: thin;
}

.ahoora-admin-nav::-webkit-scrollbar { width: 5px; }
.ahoora-admin-nav::-webkit-scrollbar-thumb { border-radius: 99px; background: rgba(255,255,255,.16); }

.ahoora-nav-main {
    display: grid;
    gap: 5px;
}

.ahoora-nav-link {
    display: flex;
    min-height: 44px;
    align-items: center;
    gap: 11px;
    padding: 9px 12px;
    border: 1px solid transparent;
    border-radius: 13px;
    color: #bcd0df;
    font-size: 12px;
    font-weight: 850;
    transition: .16s ease;
}

.ahoora-nav-link:hover {
    border-color: rgba(255, 255, 255, .08);
    background: rgba(255, 255, 255, .065);
    color: #fff;
}

.ahoora-nav-link.is-active {
    border-color: rgba(34, 211, 238, .18);
    background: linear-gradient(135deg, rgba(14, 165, 233, .25), rgba(13, 148, 136, .15));
    color: #fff;
    box-shadow: inset 3px 0 0 var(--ahoora-cyan-400), 0 10px 26px rgba(0, 0, 0, .12);
}

.ahoora-nav-icon {
    display: grid;
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    place-items: center;
    border-radius: 9px;
    background: rgba(255, 255, 255, .06);
    color: #8fd9f5;
}

.ahoora-nav-icon svg {
    width: 15px;
    height: 15px;
}

.ahoora-nav-group {
    margin-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, .065);
    padding-top: 8px;
}

.ahoora-nav-group summary {
    display: flex;
    min-height: 38px;
    list-style: none;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 12px;
    border-radius: 11px;
    color: #6f91aa;
    font-size: 10px;
    font-weight: 950;
    cursor: pointer;
    user-select: none;
}

.ahoora-nav-group summary::-webkit-details-marker { display: none; }
.ahoora-nav-group summary::after {
    content: "⌄";
    font-size: 14px;
    transition: transform .16s ease;
}
.ahoora-nav-group[open] summary::after { transform: rotate(180deg); }

.ahoora-nav-group-links {
    display: grid;
    gap: 3px;
    padding-top: 3px;
}

.ahoora-admin-user {
    padding: 12px;
    border-top: 1px solid rgba(255, 255, 255, .08);
}

.ahoora-admin-user-card {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 10px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .06);
}

.ahoora-avatar {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 13px;
    background: linear-gradient(135deg, #38bdf8, #0d9488);
    color: #fff;
    font-size: 13px;
    font-weight: 950;
}

.ahoora-admin-topbar {
    position: sticky;
    z-index: 40;
    top: 0;
    display: flex;
    min-height: 76px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px clamp(16px, 2.4vw, 36px);
    border-bottom: 1px solid color-mix(in srgb, var(--ahoora-border) 88%, transparent);
    background: color-mix(in srgb, var(--ahoora-canvas) 88%, transparent);
    backdrop-filter: blur(18px);
}

.ahoora-admin-search {
    position: relative;
    width: min(100%, 560px);
}

.ahoora-admin-search-field {
    display: flex;
    min-height: 46px;
    align-items: center;
    padding-inline: 42px 78px;
    border: 1px solid var(--ahoora-border);
    border-radius: 14px;
    background: color-mix(in srgb, var(--ahoora-surface) 88%, transparent);
    color: var(--ahoora-subtle);
    font-size: 12px;
    font-weight: 700;
}

.ahoora-admin-search:hover .ahoora-admin-search-field {
    border-color: rgba(2, 132, 199, .35);
    color: var(--ahoora-muted);
}

.ahoora-search-icon {
    position: absolute;
    top: 50%;
    right: 14px;
    width: 17px;
    height: 17px;
    transform: translateY(-50%);
    color: var(--ahoora-subtle);
    pointer-events: none;
}

.ahoora-search-shortcut {
    position: absolute;
    top: 50%;
    left: 10px;
    padding: 4px 8px;
    transform: translateY(-50%);
    border: 1px solid var(--ahoora-border);
    border-radius: 8px;
    background: var(--ahoora-surface-soft);
    color: var(--ahoora-subtle);
    font-size: 10px;
    font-weight: 900;
}

.ahoora-topbar-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ahoora-sidebar-overlay {
    position: fixed;
    z-index: 55;
    inset: 0;
    display: none;
    background: rgba(2, 6, 23, .52);
    backdrop-filter: blur(4px);
}

.ahoora-admin.is-sidebar-collapsed {
    --ahoora-sidebar-width: 84px;
}

.ahoora-admin.is-sidebar-collapsed .ahoora-admin-logo-copy,
.ahoora-admin.is-sidebar-collapsed .ahoora-nav-copy,
.ahoora-admin.is-sidebar-collapsed .ahoora-nav-group summary span,
.ahoora-admin.is-sidebar-collapsed .ahoora-admin-user-copy,
.ahoora-admin.is-sidebar-collapsed .ahoora-sidebar-logout-copy {
    display: none;
}

.ahoora-admin.is-sidebar-collapsed .ahoora-admin-brand,
.ahoora-admin.is-sidebar-collapsed .ahoora-nav-link,
.ahoora-admin.is-sidebar-collapsed .ahoora-admin-user-card {
    justify-content: center;
}

.ahoora-admin.is-sidebar-collapsed .ahoora-nav-link {
    padding-inline: 8px;
}

.ahoora-admin.is-sidebar-collapsed .ahoora-nav-group summary::after {
    display: none;
}

/* ---------- Account shell ---------- */

.ahoora-account-main {
    padding: 30px 16px 54px;
}

.ahoora-account-grid {
    display: grid;
    width: min(100%, 1450px);
    margin-inline: auto;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 22px;
}

.ahoora-account-sidebar {
    position: sticky;
    top: 104px;
    align-self: start;
    overflow: hidden;
    border: 1px solid var(--ahoora-border);
    border-radius: 24px;
    background: var(--ahoora-surface);
    box-shadow: var(--ahoora-shadow-sm);
}

.ahoora-account-profile {
    position: relative;
    overflow: hidden;
    margin: 10px;
    padding: 18px;
    border-radius: 18px;
    background:
        radial-gradient(circle at 15% 0%, rgba(34, 211, 238, .25), transparent 11rem),
        linear-gradient(135deg, var(--ahoora-navy-900), var(--ahoora-blue-700));
    color: #fff;
}

.ahoora-account-profile::after {
    content: "";
    position: absolute;
    width: 120px;
    height: 120px;
    left: -40px;
    bottom: -70px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .07);
}

.ahoora-account-profile-head {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 11px;
}

.ahoora-account-profile .ahoora-avatar {
    border: 1px solid rgba(255,255,255,.22);
    background: rgba(255,255,255,.14);
}

.ahoora-account-nav {
    display: grid;
    gap: 3px;
    padding: 6px 10px 14px;
}

.ahoora-account-nav-title {
    margin-top: 8px;
    padding: 10px 10px 5px;
    border-top: 1px solid var(--ahoora-border);
    color: var(--ahoora-subtle);
    font-size: 9px;
    font-weight: 950;
}

.ahoora-account-link {
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 11px;
    border-radius: 12px;
    color: var(--ahoora-muted);
    font-size: 12px;
    font-weight: 850;
    transition: .16s ease;
}

.ahoora-account-link:hover {
    background: var(--ahoora-surface-soft);
    color: var(--ahoora-ink);
}

.ahoora-account-link.is-active {
    background: rgba(14, 165, 233, .09);
    color: var(--ahoora-blue-700);
    box-shadow: inset 3px 0 0 var(--ahoora-blue-500);
}

.ahoora-account-content {
    min-width: 0;
}

.ahoora-account-mobile-nav {
    display: none;
}

/* ---------- Support desk ---------- */

.ahoora-ticket-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 310px;
    gap: 20px;
    align-items: start;
}

.ahoora-thread {
    display: grid;
    gap: 14px;
}

.ahoora-message {
    position: relative;
    width: min(86%, 820px);
    padding: 16px 18px;
    border: 1px solid var(--ahoora-border);
    border-radius: 20px 20px 7px 20px;
    background: var(--ahoora-surface);
    box-shadow: var(--ahoora-shadow-sm);
}

.ahoora-message.is-admin {
    margin-left: 0;
    margin-right: auto;
    border-color: rgba(14, 165, 233, .24);
    border-radius: 20px 20px 20px 7px;
    background: linear-gradient(145deg, rgba(14, 165, 233, .075), rgba(13, 148, 136, .045));
}

.ahoora-message-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--ahoora-muted);
    font-size: 10px;
    font-weight: 850;
}

.ahoora-message-body {
    margin-top: 11px;
    color: var(--ahoora-ink);
    font-size: 13px;
    line-height: 2.05;
    white-space: pre-line;
}

.ahoora-ticket-reply {
    padding: 18px;
    border: 1px solid var(--ahoora-border);
    border-radius: var(--ahoora-radius-lg);
    background: var(--ahoora-surface);
    box-shadow: var(--ahoora-shadow-sm);
}

.ahoora-ticket-side {
    position: sticky;
    top: 98px;
    display: grid;
    gap: 14px;
}

.ahoora-ticket-code {
    direction: ltr;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .01em;
}

/* ---------- Command palette ---------- */

.ahoora-command-backdrop {
    position: fixed;
    z-index: 90;
    inset: 0;
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding: 9vh 16px 20px;
    background: rgba(2, 6, 23, .58);
    backdrop-filter: blur(7px);
}

.ahoora-command-backdrop.is-open {
    display: flex;
}

.ahoora-command {
    width: min(100%, 690px);
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 22px;
    background: var(--ahoora-surface);
    box-shadow: 0 36px 100px rgba(0, 0, 0, .32);
}

.ahoora-command-input-wrap {
    position: relative;
    padding: 14px;
    border-bottom: 1px solid var(--ahoora-border);
}

.ahoora-command input {
    min-height: 52px !important;
    padding-inline: 44px 14px !important;
    border: 0 !important;
    background: var(--ahoora-surface-soft) !important;
    font-size: 14px !important;
}

.ahoora-command-results {
    max-height: 55vh;
    padding: 9px;
    overflow-y: auto;
}

.ahoora-command-item {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 12px;
    border-radius: 12px;
    color: var(--ahoora-ink);
    font-size: 12px;
    font-weight: 850;
}

.ahoora-command-item:hover,
.ahoora-command-item.is-selected {
    background: rgba(14, 165, 233, .09);
    color: var(--ahoora-blue-700);
}

.ahoora-command-empty {
    padding: 28px;
    color: var(--ahoora-muted);
    font-size: 12px;
    text-align: center;
}

/* ---------- Toast ---------- */

.ahoora-toast-stack {
    position: fixed;
    z-index: 100;
    left: 18px;
    bottom: 18px;
    display: grid;
    width: min(calc(100vw - 36px), 380px);
    gap: 9px;
    pointer-events: none;
}

.ahoora-toast {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 13px 14px;
    border: 1px solid var(--ahoora-border);
    border-radius: 15px;
    background: var(--ahoora-surface);
    color: var(--ahoora-ink);
    box-shadow: var(--ahoora-shadow-md);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.8;
    pointer-events: auto;
    animation: ahoora-toast-in .24s ease both;
}

@keyframes ahoora-toast-in {
    from { transform: translateY(10px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* ---------- Empty states ---------- */

.ahoora-empty {
    display: grid;
    min-height: 250px;
    place-items: center;
    padding: 36px 20px;
    border: 1px dashed var(--ahoora-border-strong);
    border-radius: var(--ahoora-radius-lg);
    background: var(--ahoora-surface-soft);
    text-align: center;
}

.ahoora-empty-icon {
    display: grid;
    width: 62px;
    height: 62px;
    margin-inline: auto;
    place-items: center;
    border-radius: 21px;
    background: rgba(14, 165, 233, .09);
    color: var(--ahoora-blue-700);
}

/* ---------- Legacy cleanup / screenshot-specific fixes ---------- */

.ahoora-admin .bg-white,
.ahoora-account .bg-white {
    background-color: var(--ahoora-surface) !important;
}

.ahoora-admin .bg-slate-50,
.ahoora-account .bg-slate-50 {
    background-color: var(--ahoora-surface-soft) !important;
}

.ahoora-admin .border-slate-100,
.ahoora-admin .border-slate-200,
.ahoora-account .border-slate-100,
.ahoora-account .border-slate-200 {
    border-color: var(--ahoora-border) !important;
}

.ahoora-admin .text-slate-900,
.ahoora-admin .text-slate-800,
.ahoora-account .text-slate-900,
.ahoora-account .text-slate-800 {
    color: var(--ahoora-ink) !important;
}

.ahoora-admin .text-slate-500,
.ahoora-admin .text-slate-600,
.ahoora-account .text-slate-500,
.ahoora-account .text-slate-600 {
    color: var(--ahoora-muted) !important;
}

.ahoora-admin .shadow-sm,
.ahoora-account .shadow-sm {
    box-shadow: var(--ahoora-shadow-sm) !important;
}

/* ---------- Responsive ---------- */

@media (max-width: 1280px) {
    .ahoora-grid-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ahoora-ticket-layout { grid-template-columns: minmax(0, 1fr) 280px; }
}

@media (max-width: 1023px) {
    .ahoora-admin-shell { padding-right: 0; }
    .ahoora-admin-sidebar { transform: translateX(105%); }
    .ahoora-admin.is-sidebar-open .ahoora-admin-sidebar { transform: translateX(0); }
    .ahoora-admin.is-sidebar-open .ahoora-sidebar-overlay { display: block; }
    .ahoora-admin-topbar { min-height: 68px; }
    .ahoora-admin-search { width: min(100%, 460px); }
    .ahoora-account-grid { grid-template-columns: 1fr; }
    .ahoora-account-sidebar { position: static; display: none; }
    .ahoora-account.is-account-menu-open .ahoora-account-sidebar { display: block; }
    .ahoora-account-mobile-nav { display: flex; margin-bottom: 14px; }
    .ahoora-ticket-layout { grid-template-columns: 1fr; }
    .ahoora-ticket-side { position: static; grid-row: 1; }
}

@media (max-width: 767px) {
    .ahoora-page { padding: 18px 13px 38px; }
    .ahoora-page-head { flex-direction: column; align-items: stretch; }
    .ahoora-page-head > :last-child { width: 100%; }
    .ahoora-page-head .ahoora-btn { width: 100%; }
    .ahoora-grid-stats { grid-template-columns: 1fr; }
    .ahoora-form-grid { grid-template-columns: 1fr; }
    .ahoora-panel-head, .ahoora-panel-body { padding: 16px; }
    .ahoora-admin-search { display: none; }
    .ahoora-topbar-actions { margin-right: auto; }
    .ahoora-account-main { padding: 18px 12px 40px; }
    .ahoora-message { width: 96%; }
    .ahoora-file-picker { grid-template-columns: 1fr; }
    .ahoora-file-picker-button { width: 100%; }
    .ahoora-search-shortcut { display: none; }
}

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

/* Account pages keep the public header, but with the panel color system. */
body.ahoora-account > header {
    border-color: var(--ahoora-border) !important;
    background: color-mix(in srgb, var(--ahoora-surface) 94%, transparent) !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .045) !important;
}

body.ahoora-account > header > div:first-child {
    background: linear-gradient(90deg, var(--ahoora-navy-950), var(--ahoora-navy-800)) !important;
}

body.ahoora-account > header form input[type="search"] {
    background: var(--ahoora-surface-soft) !important;
}

body.ahoora-account > header nav a {
    transition: color .16s ease;
}

body.ahoora-account > header nav a:hover {
    color: var(--ahoora-blue-700);
}


/* ---------- Public/auth form compatibility ---------- */
.ahoora-field > span:first-child {
    display: block;
    margin-bottom: 8px;
    color: var(--ahoora-ink);
    font-size: 12px;
    font-weight: 900;
}

.ahoora-field > input:not([type="checkbox"]):not([type="radio"]),
.ahoora-field > select,
.ahoora-field > textarea {
    width: 100%;
    min-height: 48px;
    border: 1px solid var(--ahoora-border);
    border-radius: 14px;
    padding: 10px 13px;
    color: var(--ahoora-ink);
    background: var(--ahoora-surface-soft);
    font: inherit;
    outline: 0;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.ahoora-field > textarea {
    min-height: 120px;
    resize: vertical;
}

.ahoora-field > input:focus,
.ahoora-field > select:focus,
.ahoora-field > textarea:focus {
    border-color: var(--ahoora-blue-500);
    background: var(--ahoora-surface);
    box-shadow: 0 0 0 4px rgba(14, 165, 233, .11);
}
