/*
 * AJSocials Premium UI Theme — 2026-09-15
 * Authoritative presentation layer for public, customer and admin surfaces.
 * Mature green + calm grey. Keeps existing Blade/JS/backend behaviour intact.
 */
:root {
    --aj-primary: #4F6F5A;
    --aj-primary-hover: #425F4C;
    --aj-primary-dark: #344A3C;
    --aj-primary-soft: #EEF3EF;
    --aj-primary-border: #D5E0D8;
    --aj-success: #5F8068;
    --aj-danger: #A85656;
    --aj-danger-hover: #914A4A;
    --aj-warning: #9A7440;
    --aj-info: #55717A;

    --aj-bg: #F6F7F6;
    --aj-surface: #FFFFFF;
    --aj-surface-2: #EFF1F0;
    --aj-surface-3: #E8ECE9;
    --aj-border: #D9DEDB;
    --aj-border-strong: #C6CEC9;
    --aj-text: #1F2923;
    --aj-text-2: #68736C;
    --aj-text-3: #7D8981;

    --aj-radius-sm: 8px;
    --aj-radius: 10px;
    --aj-radius-card: 14px;
    --aj-radius-lg: 18px;
    --aj-shadow-sm: 0 1px 2px rgba(24, 38, 29, .05), 0 2px 8px rgba(24, 38, 29, .04);
    --aj-shadow: 0 8px 24px rgba(24, 38, 29, .07);
    --aj-shadow-lg: 0 18px 46px rgba(24, 38, 29, .10);
    --aj-focus: 0 0 0 3px rgba(79, 111, 90, .16);

    /* Map legacy variables into the new design system. */
    --primary-color: var(--aj-primary) !important;
    --bg-primary: var(--aj-surface);
    --bg-secondary: var(--aj-bg);
    --text-primary: var(--aj-text);
    --text-secondary: var(--aj-text-2);
    --border-color: var(--aj-border);
    --border: 1px solid var(--aj-border);
    --box-shadow: var(--aj-shadow-sm);
}

html[data-theme="dark"] {
    --aj-primary: #789580;
    --aj-primary-hover: #89A590;
    --aj-primary-dark: #B7C9BC;
    --aj-primary-soft: #202B24;
    --aj-primary-border: #415047;
    --aj-success: #7F9D87;
    --aj-danger: #C87878;
    --aj-danger-hover: #D58A8A;
    --aj-warning: #C49A61;
    --aj-info: #7FA0A8;

    --aj-bg: #121714;
    --aj-surface: #1A211D;
    --aj-surface-2: #222A25;
    --aj-surface-3: #28322C;
    --aj-border: #354039;
    --aj-border-strong: #46544B;
    --aj-text: #F2F5F3;
    --aj-text-2: #AAB5AE;
    --aj-text-3: #8F9D94;

    --aj-shadow-sm: 0 1px 2px rgba(0,0,0,.22), 0 5px 14px rgba(0,0,0,.12);
    --aj-shadow: 0 10px 28px rgba(0,0,0,.22);
    --aj-shadow-lg: 0 22px 52px rgba(0,0,0,.28);
    --aj-focus: 0 0 0 3px rgba(120, 149, 128, .18);

    --primary-color: var(--aj-primary) !important;
    --bg-primary: var(--aj-surface);
    --bg-secondary: var(--aj-bg);
    --text-primary: var(--aj-text);
    --text-secondary: var(--aj-text-2);
    --border-color: var(--aj-border);
    --border: 1px solid var(--aj-border);
}

html { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }

body {
    background: var(--aj-bg) !important;
    color: var(--aj-text) !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

::selection { background: rgba(79,111,90,.20); color: var(--aj-text); }

/* Typography and semantic color */
h1,h2,h3,h4,h5,h6,.title,.card-title,.modal-title,.action-title,.stat-card .value,
.table-title,.container-header .title,.page-title { color: var(--aj-text) !important; }
p,.description,.text-muted,.label,.helper-text,.form-text,.small,.small-text,
.action-desc,.dash-panel-hint,.stat-card .label { color: var(--aj-text-2) !important; }

a { text-underline-offset: 3px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, [tabindex]:focus-visible {
    outline: 2px solid var(--aj-primary) !important;
    outline-offset: 2px !important;
}

/* Surfaces */
.card,.stat-card,.action-card,.dashboard-hero,.mp-seller-cta,.accordion-card,.modal-content,
.table-card,.table-container,.list-group,.product-card,.filter-grid,.form-card,
.select-dropdown,.header-dropdown,.header-profile-dropdown,.auth-wrapper,
.buy-number-select,.buy-number-summary,.smm-form,.smm-summary {
    background: var(--aj-surface) !important;
    border-color: var(--aj-border) !important;
    color: var(--aj-text) !important;
    box-shadow: var(--aj-shadow-sm);
}
.card,.stat-card,.action-card,.dashboard-hero,.mp-seller-cta,.product-card,.table-card,
.form-card,.auth-wrapper { border-radius: var(--aj-radius-card) !important; }

/* Buttons: always legible in both themes */
.btn,.auth-button,.search-btn,.clear-btn,.gc-apply,.cp-buy,.aju-buy,
button[class*="btn"],a[class*="btn"] {
    min-height: 42px;
    border-radius: var(--aj-radius) !important;
    font-weight: 650 !important;
    line-height: 1.2;
    transition: background-color .16s ease, border-color .16s ease, color .16s ease,
                box-shadow .16s ease, transform .16s ease;
}
.btn:not(:disabled):active,.auth-button:not(:disabled):active { transform: translateY(1px); }

.btn-primary,.auth-button,.search-btn,.gc-apply,.cp-buy,.aju-buy,
button.btn-primary,a.btn-primary {
    background: var(--aj-primary) !important;
    border: 1px solid var(--aj-primary) !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(52, 74, 60, .14) !important;
}
.btn-primary:hover,.auth-button:hover,.search-btn:hover,.gc-apply:hover,.cp-buy:hover,.aju-buy:hover,
button.btn-primary:hover,a.btn-primary:hover {
    background: var(--aj-primary-hover) !important;
    border-color: var(--aj-primary-hover) !important;
    color: #fff !important;
}

.btn-secondary,button.btn-secondary,a.btn-secondary {
    background: var(--aj-surface-2) !important;
    border: 1px solid var(--aj-border-strong) !important;
    color: var(--aj-text) !important;
}
.btn-secondary:hover,button.btn-secondary:hover,a.btn-secondary:hover {
    background: var(--aj-surface-3) !important;
    border-color: var(--aj-primary-border) !important;
    color: var(--aj-primary-dark) !important;
}

.btn-outline,button.btn-outline,a.btn-outline,.clear-btn {
    background: var(--aj-surface) !important;
    border: 1px solid var(--aj-primary) !important;
    color: var(--aj-primary-dark) !important;
    box-shadow: none !important;
}
html[data-theme="dark"] .btn-outline,
html[data-theme="dark"] button.btn-outline,
html[data-theme="dark"] a.btn-outline,
html[data-theme="dark"] .clear-btn { color: #DCE9DF !important; border-color: var(--aj-primary) !important; }
.btn-outline:hover,button.btn-outline:hover,a.btn-outline:hover,.clear-btn:hover {
    background: var(--aj-primary-soft) !important;
    border-color: var(--aj-primary-hover) !important;
    color: var(--aj-primary-dark) !important;
}
html[data-theme="dark"] .btn-outline:hover,
html[data-theme="dark"] button.btn-outline:hover,
html[data-theme="dark"] a.btn-outline:hover { color: #F2F5F3 !important; }

.btn-danger,.danger-btn,button.btn-danger,a.btn-danger {
    background: var(--aj-danger) !important;
    border: 1px solid var(--aj-danger) !important;
    color: #fff !important;
}
.btn-danger:hover,.danger-btn:hover,button.btn-danger:hover,a.btn-danger:hover {
    background: var(--aj-danger-hover) !important;
    border-color: var(--aj-danger-hover) !important;
    color: #fff !important;
}
.btn-success,button.btn-success,a.btn-success {
    background: var(--aj-success) !important;
    border-color: var(--aj-success) !important;
    color: #fff !important;
}
.btn:disabled,.btn.disabled,button:disabled,.auth-button:disabled {
    opacity: .55 !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Forms */
.form-label,.auth-label,label { color: var(--aj-text) !important; }
.form-control,.form-select,.table-search,input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="color"]),
select,textarea,.select-preview,.select-search input {
    background: var(--aj-surface) !important;
    color: var(--aj-text) !important;
    border-color: var(--aj-border-strong) !important;
    border-radius: var(--aj-radius) !important;
}
.form-control::placeholder,input::placeholder,textarea::placeholder { color: var(--aj-text-3) !important; opacity: 1; }
.form-control:focus,.form-select:focus,input:focus,select:focus,textarea:focus,.select.active .select-preview {
    border-color: var(--aj-primary) !important;
    box-shadow: var(--aj-focus) !important;
    outline: none !important;
}
input[readonly],input:disabled,select:disabled,textarea:disabled {
    background: var(--aj-surface-2) !important;
    color: var(--aj-text-2) !important;
    opacity: 1 !important;
}
.password-toggle,.captcha-refresh,.auth-more-toggle {
    color: var(--aj-text-2) !important;
    background: transparent !important;
    border-color: var(--aj-border-strong) !important;
}
.password-toggle:hover,.captcha-refresh:hover,.auth-more-toggle:hover { color: var(--aj-primary) !important; }

/* Tables */
.table-responsive,.table-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; }
table,.table { background: var(--aj-surface) !important; color: var(--aj-text) !important; }
thead,thead tr,.table thead { background: var(--aj-surface-2) !important; }
th {
    color: var(--aj-text-2) !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    letter-spacing: .025em;
    border-color: var(--aj-border) !important;
}
td { color: var(--aj-text) !important; border-color: var(--aj-border) !important; }
tbody tr:hover { background: var(--aj-primary-soft) !important; }
.table-header,.table-footer { border-color: var(--aj-border) !important; }

/* Badges/status */
.badge,.status-badge,.stat-pill {
    border-radius: 999px !important;
    font-weight: 700 !important;
}
.badge.active,.badge.success,.status-success,.stat-pill:not(.stat-pill--danger) {
    background: var(--aj-primary-soft) !important;
    color: var(--aj-primary-dark) !important;
    border: 1px solid var(--aj-primary-border) !important;
}
.badge.inactive,.badge.danger,.status-danger,.stat-pill--danger {
    background: color-mix(in srgb, var(--aj-danger) 12%, var(--aj-surface)) !important;
    color: var(--aj-danger) !important;
    border: 1px solid color-mix(in srgb, var(--aj-danger) 35%, var(--aj-border)) !important;
}

/* Sidebar/navigation */
.sidebar {
    background: var(--aj-surface) !important;
    border-color: var(--aj-border) !important;
    box-shadow: 1px 0 0 var(--aj-border);
}
.sidebar-brand { border-color: var(--aj-border) !important; }
.sidebar-title,.sidebar-menu-caption { color: var(--aj-text-3) !important; letter-spacing: .08em; }
.sidebar-link,.sidebar-item > .sidebar-link,.sidebar-dropdown-link {
    color: var(--aj-text-2) !important;
    border-radius: var(--aj-radius) !important;
}
.sidebar-link i,.sidebar-item > .sidebar-link i,.sidebar-dropdown-link i { color: currentColor !important; }
.sidebar-link:hover,.sidebar-item > .sidebar-link:hover,.sidebar-dropdown-link:hover {
    background: var(--aj-primary-soft) !important;
    color: var(--aj-primary-dark) !important;
}
.sidebar-link.active,.sidebar-item > .sidebar-link.active,
.sidebar-item:has(.sidebar-dropdown.active) > .sidebar-link.has-dropdown {
    background: var(--aj-primary) !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(52,74,60,.14);
}
.sidebar-dropdown { border-color: var(--aj-border) !important; }

/* Headers and dropdowns */
.header {
    background: color-mix(in srgb, var(--aj-surface) 94%, transparent) !important;
    border-color: var(--aj-border) !important;
    color: var(--aj-text) !important;
    backdrop-filter: blur(14px) saturate(145%);
}
.header-balance,.visit-site-btn,.theme-toggle-btn,.aj-admin-theme-toggle {
    background: var(--aj-surface-2) !important;
    border: 1px solid var(--aj-border) !important;
    color: var(--aj-text) !important;
    border-radius: var(--aj-radius) !important;
}
.header-balance:hover,.visit-site-btn:hover,.theme-toggle-btn:hover,.aj-admin-theme-toggle:hover {
    border-color: var(--aj-primary-border) !important;
    color: var(--aj-primary-dark) !important;
    background: var(--aj-primary-soft) !important;
}
.header-dropdown,.header-profile-dropdown { box-shadow: var(--aj-shadow-lg) !important; }
.header-profile-item,.header-profile-link { color: var(--aj-text) !important; }
.header-profile-item:hover,.header-profile-link:hover { background: var(--aj-primary-soft) !important; color: var(--aj-primary-dark) !important; }

/* Admin theme button */
.aj-admin-theme-toggle {
    width: 42px;
    height: 42px;
    display: inline-grid;
    place-items: center;
    cursor: pointer;
    font-size: 19px;
}
.aj-admin-theme-toggle .aj-theme-sun { display: none; }
html[data-theme="dark"] .aj-admin-theme-toggle .aj-theme-sun { display: inline-block; }
html[data-theme="dark"] .aj-admin-theme-toggle .aj-theme-moon { display: none; }

/* Modals / dropdowns / select menus */
.modal { background: rgba(10,16,12,.48) !important; backdrop-filter: blur(3px); }
.modal-header,.modal-footer { border-color: var(--aj-border) !important; }
.close-modal { color: var(--aj-text-2) !important; }
.close-modal:hover { color: var(--aj-text) !important; background: var(--aj-surface-2) !important; }
.select-item { color: var(--aj-text) !important; }
.select-item:hover,.select-item.selected { background: var(--aj-primary-soft) !important; color: var(--aj-primary-dark) !important; }

/* Dashboard */
.dashboard-hero {
    background: linear-gradient(135deg, var(--aj-surface) 0%, var(--aj-primary-soft) 100%) !important;
    border: 1px solid var(--aj-primary-border) !important;
    box-shadow: var(--aj-shadow) !important;
}
.stat-icon,.action-icon,.mp-seller-cta-icon {
    background: var(--aj-primary-soft) !important;
    color: var(--aj-primary-dark) !important;
    border: 1px solid var(--aj-primary-border) !important;
}
.action-card:hover,.stat-card:hover {
    border-color: var(--aj-primary-border) !important;
    box-shadow: var(--aj-shadow) !important;
}
.action-arrow { color: var(--aj-text-3) !important; }
.action-card:hover .action-arrow { color: var(--aj-primary) !important; }

/* Auth */
.auth-container {
    background:
      radial-gradient(circle at 15% 15%, rgba(79,111,90,.08), transparent 34%),
      radial-gradient(circle at 85% 80%, rgba(104,115,108,.07), transparent 30%),
      var(--aj-bg) !important;
}
.auth-wrapper {
    border: 1px solid var(--aj-border) !important;
    box-shadow: var(--aj-shadow-lg) !important;
    padding: clamp(24px, 4vw, 38px) !important;
}
.auth-header .title,.auth-header h3 { color: var(--aj-text) !important; letter-spacing: -.025em; }
.auth-header .description,.auth-description { color: var(--aj-text-2) !important; }
.btn-google {
    background: var(--aj-surface) !important;
    color: var(--aj-text) !important;
    border: 1px solid var(--aj-border-strong) !important;
    box-shadow: var(--aj-shadow-sm) !important;
}
.btn-google:hover { background: var(--aj-surface-2) !important; border-color: var(--aj-primary-border) !important; }
.auth-theme-toggle { position: fixed; top: 18px; right: 18px; z-index: 20; }
.auth-checkline { color: var(--aj-text-2) !important; }
.auth-checkline a,.auth-footer-link,.forgot-password { color: var(--aj-primary-dark) !important; }
html[data-theme="dark"] .auth-checkline a,
html[data-theme="dark"] .auth-footer-link,
html[data-theme="dark"] .forgot-password { color: #BED1C3 !important; }

/* Public/home sections */
.hero,.hero-section,.section,.feature-card,.service-card,.pricing-card,.faq-card {
    border-color: var(--aj-border) !important;
}
.feature-card,.service-card,.pricing-card,.faq-card { background: var(--aj-surface) !important; color: var(--aj-text) !important; }

/* Alerts */
.alert,.notification,.flash-message { border-radius: var(--aj-radius) !important; }
.alert-success { background: var(--aj-primary-soft) !important; border-color: var(--aj-primary-border) !important; color: var(--aj-primary-dark) !important; }
.alert-danger,.alert-error { background: color-mix(in srgb,var(--aj-danger) 10%,var(--aj-surface)) !important; color: var(--aj-danger) !important; }
.alert-warning { background: color-mix(in srgb,var(--aj-warning) 10%,var(--aj-surface)) !important; color: var(--aj-warning) !important; }

/* Pagination */
.pagination a,.pagination span,.page-link {
    background: var(--aj-surface) !important;
    border-color: var(--aj-border) !important;
    color: var(--aj-text-2) !important;
}
.pagination .active,.page-item.active .page-link {
    background: var(--aj-primary) !important;
    border-color: var(--aj-primary) !important;
    color: #fff !important;
}

/* Loading / empty */
.empty,.empty-state { color: var(--aj-text-2) !important; }
.empty .icon,.empty-state i { color: var(--aj-primary) !important; }

/* Upload controls */
.upload-zone,.upload-accounts-wrapper {
    background: var(--aj-surface-2) !important;
    border-color: var(--aj-primary-border) !important;
    color: var(--aj-text) !important;
}
.upload-zone-text,.upload-zone-hint,.upload-accounts-wrapper .text,.upload-accounts-wrapper .format {
    color: var(--aj-text-2) !important;
}

/* Keep touch targets comfortable */
@media (max-width: 768px) {
    .btn,.auth-button,.sidebar-link,.sidebar-item > .sidebar-link,.theme-toggle-btn,.aj-admin-theme-toggle {
        min-height: 44px;
    }
    .card,.stat-card,.action-card { border-radius: 12px !important; }
    .auth-wrapper { box-shadow: none !important; }
}

@media (max-width: 430px) {
    .btn,.auth-button { width: 100%; justify-content: center; }
    .table-header .btn,.table-header a.btn { width: 100%; }
    .header-balance-meta small { display: none; }
}

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

/* Auth composition details used by signup/login/recovery screens */
.auth-logo { display:flex; justify-content:center; margin-bottom: 4px; }
.auth-logo .logo { max-width: 148px; max-height: 48px; object-fit: contain; }
.auth-logo-text { font-size: 24px; font-weight: 800; color: var(--aj-text); letter-spacing: -.03em; }
.auth-label { display:block; margin-bottom: 7px; font-size: 13px; font-weight: 700; color: var(--aj-text) !important; }
.form-group { min-width: 0; }
.password-field { position: relative; }
.password-field .form-control { padding-right: 48px !important; }
.password-toggle {
    position:absolute; right:8px; top:50%; transform:translateY(-50%);
    width:36px; height:36px; min-height:36px; display:grid; place-items:center;
    border:0 !important; border-radius:8px !important; cursor:pointer;
}
.auth-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.auth-register-wrapper { max-width: 620px !important; }
.auth-more-toggle {
    width:100%; display:flex; align-items:center; justify-content:space-between;
    min-height:42px; padding:0 12px; margin:2px 0 4px;
    border:1px solid var(--aj-border) !important; border-radius:var(--aj-radius) !important;
    background:var(--aj-surface-2) !important; font-weight:650; cursor:pointer;
}
.auth-optional-fields { padding-top: 4px; }
.auth-checkline { display:flex; align-items:flex-start; gap:10px; font-size:13px; line-height:1.55; }
.auth-checkline input { margin-top:3px; accent-color:var(--aj-primary); }
.auth-register-submit { margin-top: 2px; }
.auth-form > .form-group:last-child { margin-bottom: 0; }

.aj-backend-auth-theme {
    position: fixed; top:18px; right:18px; z-index:30;
}

@media (max-width: 576px) {
    .auth-field-grid { grid-template-columns:1fr; gap:0; }
    .auth-container { padding: 76px 16px 28px !important; align-items:flex-start !important; }
    .auth-wrapper { width:100%; max-width:none !important; padding:24px 18px !important; }
}

/* Settings feature chooser */
.multi-select-trigger { background:var(--aj-surface) !important; color:var(--aj-text) !important; border:1px solid var(--aj-border-strong) !important; }
.multi-select-dropdown { background:var(--aj-surface) !important; border:1px solid var(--aj-border) !important; box-shadow:var(--aj-shadow-lg) !important; }
.multi-select-item { color:var(--aj-text) !important; border:1px solid transparent; }
.multi-select-item:hover { background:var(--aj-primary-soft) !important; color:var(--aj-primary-dark) !important; }
.multi-select-item:has(input:checked) { background:var(--aj-primary-soft) !important; border-color:var(--aj-primary-border) !important; }
.multi-select-item input[type="checkbox"] { accent-color:var(--aj-primary) !important; }
.multi-select-actions { border-color:var(--aj-border) !important; }
.toggle-switch input:checked + .toggle-label,.form-check-input:checked { background-color:var(--aj-primary) !important; border-color:var(--aj-primary) !important; }

/* ========================================================================== */
/* AJSocials Premium Product System v2 — Tabler-informed, Blade-safe           */
/* ========================================================================== */
:root {
    --aj-font: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --aj-content-max: 1180px;
    --aj-control-h: 44px;
    --aj-section-gap: 24px;
}

html, body, button, input, select, textarea {
    font-family: var(--aj-font) !important;
}
body { font-size: 15px; line-height: 1.55; letter-spacing: -.006em; }
h1,h2,h3,h4,h5,h6,.title,.page-title { letter-spacing: -.025em; line-height: 1.2; }
h1,.page-title { font-size: clamp(28px, 2.5vw, 34px) !important; font-weight: 700 !important; }
h2,.container-header .title { font-size: clamp(22px, 2vw, 28px) !important; font-weight: 700 !important; }
h3,.card-title { font-size: 18px !important; font-weight: 600 !important; }

/* Consistent product shell */
.container { max-width: var(--aj-content-max); }
.main-content .container { padding-top: 24px; padding-bottom: 40px; }
.container-header,.page-head { margin-bottom: 20px !important; }
.page-desc { max-width: 720px; color: var(--aj-text-2) !important; }

/* Compact brand scale across public/customer/admin/auth */
.header .header-logo .logo,.header-logo .logo { width: auto !important; max-width: 104px !important; max-height: 42px !important; object-fit: contain; }
.sidebar .logo,.sidebar-logo .logo,.sidebar-logo img { width: auto !important; max-width: 108px !important; max-height: 52px !important; object-fit: contain; }
.auth-logo .logo,.auth-logo img { width: auto !important; max-width: 118px !important; max-height: 64px !important; object-fit: contain; }
.footer .logo,.footer-logo img { width: auto !important; max-width: 104px !important; max-height: 54px !important; object-fit: contain; }
.backend-logo img,.admin-logo img { max-width: 100px !important; max-height: 48px !important; object-fit: contain; }

/* Header — compact fintech SaaS proportions */
.header { min-height: 68px !important; }
.header-row { min-height: 68px !important; }
.header-balance { border: 1px solid var(--aj-border) !important; background: var(--aj-surface) !important; border-radius: 12px !important; }
.header-balance:hover { border-color: var(--aj-primary-border) !important; background: var(--aj-primary-soft) !important; }
.header-profile-top,.theme-toggle-btn,.header-cart,.menu-icon { min-height: 42px; }
.header-profile-name { font-weight: 600 !important; font-size: 14px !important; }

/* Sidebar — dense but calm */
.sidebar { box-shadow: 8px 0 30px rgba(18,31,23,.05) !important; }
.sidebar-logo { min-height: 72px !important; padding-block: 10px !important; }
.sidebar-title { margin: 18px 12px 7px !important; padding: 0 10px !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: .11em !important; text-transform: uppercase; opacity: .72; }
.sidebar-link { min-height: 42px !important; border-radius: 9px !important; margin: 2px 8px !important; padding: 9px 12px !important; gap: 11px !important; font-size: 14px !important; font-weight: 500 !important; }
.sidebar-link > i,.sidebar-link > .sidebar-esim-icon { width: 18px !important; font-size: 18px !important; flex: 0 0 18px; }
.sidebar-link.active,.sidebar-item.active > .sidebar-link { font-weight: 600 !important; }

/* Product cards */
.card,.stat-card,.action-card,.form-card,.table-card { border: 1px solid var(--aj-border) !important; box-shadow: 0 1px 2px rgba(18,31,23,.03), 0 7px 22px rgba(18,31,23,.035) !important; }
.card { padding: clamp(16px,2vw,22px); }
.stat-card { min-height: 132px; }
.stat-card .value { font-size: clamp(22px,2vw,28px) !important; font-weight: 700 !important; }
.stat-card .label { font-size: 13px !important; }
.stat-icon { width: 38px !important; height: 38px !important; border-radius: 10px !important; }

/* Dashboard hero — premium, restrained */
.dash-hero { border: 1px solid var(--aj-primary-border) !important; background: linear-gradient(135deg, var(--aj-surface) 0%, var(--aj-primary-soft) 100%) !important; box-shadow: var(--aj-shadow-sm) !important; overflow: hidden; }
.dash-hero-orb { opacity: .12 !important; filter: blur(2px); }
.dash-hero-name { color: var(--aj-text) !important; font-size: clamp(24px,2.7vw,34px) !important; }
.dash-hero-hello,.dash-hero-balance-label { color: var(--aj-text-2) !important; }
.dash-hero-balance-value { color: var(--aj-primary-dark) !important; font-size: clamp(25px,3vw,36px) !important; }
.dash-hero-avatar { width: 48px !important; height: 48px !important; }
.dash-hero-actions { gap: 10px !important; }
.stats-grid { gap: 14px !important; }
.actions-grid { gap: 12px !important; }
.action-card { min-height: 78px; padding: 14px 16px !important; }
.action-icon { width: 40px !important; height: 40px !important; border-radius: 10px !important; }
.action-title { font-size: 14px !important; font-weight: 600 !important; }
.action-desc { font-size: 12.5px !important; }

/* Forms — one predictable rhythm */
.form-group { margin-bottom: 16px; }
.form-label,.auth-label,label.aj-pay-label { font-size: 13px !important; font-weight: 600 !important; margin-bottom: 7px; }
.form-control,.form-select,.aj-pay-input,.select-preview { min-height: var(--aj-control-h) !important; font-size: 14px !important; }
textarea.form-control { min-height: 112px !important; }
.btn { min-height: var(--aj-control-h) !important; padding: 0 17px !important; font-size: 14px !important; font-weight: 600 !important; }
.btn-sm { min-height: 34px !important; padding: 0 12px !important; font-size: 12.5px !important; }

/* Tables — Tabler-like density */
.table-card,.table-container { overflow: hidden; }
.table th,table th { height: 42px; padding: 10px 12px !important; font-size: 12.5px !important; font-weight: 600 !important; letter-spacing: .01em !important; text-transform: none !important; }
.table td,table td { padding: 11px 12px !important; font-size: 13.5px !important; vertical-align: middle !important; }
.table tbody tr:last-child td { border-bottom: 0 !important; }

/* Dropdowns, menus, modals */
.select-dropdown,.header-dropdown,.services-dropdown,.modal-content { border: 1px solid var(--aj-border) !important; box-shadow: var(--aj-shadow-lg) !important; }
.select-item,.header-profile-link { min-height: 40px; }
.modal-header,.modal-footer { border-color: var(--aj-border) !important; }

/* Auth — no inline/template-specific visual drift */
.auth-wrapper { max-width: 460px !important; padding: clamp(22px,4vw,34px) !important; }
.auth-logo { margin-bottom: 18px !important; }
.auth-header .title { font-size: 26px !important; }
.auth-header .description { max-width: 380px; margin-inline: auto; }
.btn-google { width: 100%; min-height: 46px !important; display: flex !important; align-items: center; justify-content: center; gap: 10px; background: var(--aj-surface) !important; color: var(--aj-text) !important; border: 1px solid var(--aj-border-strong) !important; box-shadow: none !important; }
.btn-google:hover { background: var(--aj-surface-2) !important; border-color: var(--aj-primary-border) !important; color: var(--aj-text) !important; }
.aj-auth-divider { display:flex;align-items:center;gap:12px;margin:0 0 18px;color:var(--aj-text-3);font-size:12px;font-weight:600; }
.aj-auth-divider::before,.aj-auth-divider::after { content:"";height:1px;background:var(--aj-border);flex:1; }

/* Number verification — clearer purchase mode and compact steps */
.number-mode-switch { display:flex;align-items:center;gap:8px;margin:0 0 18px;padding:5px;background:var(--aj-surface-2);border:1px solid var(--aj-border);border-radius:12px;width:max-content;max-width:100%; }
.number-mode-btn { min-height:38px;border:0;border-radius:9px;padding:0 14px;font:600 13px/1 var(--aj-font);background:transparent;color:var(--aj-text-2);display:inline-flex;align-items:center;gap:7px; }
.number-mode-btn.is-active { background:var(--aj-surface);color:var(--aj-primary-dark);box-shadow:var(--aj-shadow-sm); }
.number-mode-btn[disabled] { cursor:not-allowed;opacity:.62; }
.number-mode-badge { font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 6px;border-radius:999px;background:var(--aj-primary-soft);color:var(--aj-primary-dark); }
.number-mode-note { border:1px solid var(--aj-primary-border);background:var(--aj-primary-soft);color:var(--aj-text-2);border-radius:12px;padding:11px 13px;margin:0 0 18px;font-size:13px;display:flex;gap:9px;align-items:flex-start; }
.number-mode-note i { color:var(--aj-primary-dark);font-size:17px;margin-top:1px; }
.buy-number-layout { gap:16px !important; }
.buy-number-step { border:1px solid var(--aj-border) !important;border-radius:12px;padding:16px !important;background:var(--aj-surface) !important; }
.buy-number-step + .buy-number-step { margin-top:12px; }
.buy-number-step-num { background:var(--aj-primary-soft) !important;color:var(--aj-primary-dark) !important;border:1px solid var(--aj-primary-border) !important; }
.buy-number-summary { position:sticky;top:88px;align-self:start; }
.buy-number-summary-row { min-height:42px; }
.buy-number-summary .btn { width:100%; }

/* Wallet/KoraPay — remove old purple visual remnants */
.aj-pay { color:var(--aj-text) !important; }
.aj-pay h1 { color:var(--aj-text) !important;font-size:32px !important;font-weight:700 !important; }
.aj-pay-sub,.aj-pay-desc,.aj-pay-note { color:var(--aj-text-2) !important; }
.aj-pay-card { background:var(--aj-surface) !important;border:1px solid var(--aj-border) !important;border-radius:14px !important;box-shadow:var(--aj-shadow-sm) !important; }
.aj-pay-card.primary { border-color:var(--aj-primary-border) !important;box-shadow:var(--aj-shadow) !important; }
.aj-pay-badge { background:var(--aj-primary-soft) !important;color:var(--aj-primary-dark) !important;letter-spacing:.05em; }
.aj-pay-input { background:var(--aj-surface) !important;color:var(--aj-text) !important;border-color:var(--aj-border-strong) !important; }
.aj-pay-btn { background:var(--aj-primary) !important;color:#fff !important;font-weight:600 !important;box-shadow:0 4px 12px rgba(52,74,60,.14); }
.aj-pay-btn:hover { background:var(--aj-primary-hover) !important; }
.aj-pay-btn[aria-busy="true"] { opacity:.75;cursor:wait; }

/* Empty states */
.empty { min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:var(--aj-text-2); }
.empty .icon { width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--aj-primary-soft);color:var(--aj-primary-dark);font-size:22px; }

/* Dark mode polish */
html[data-theme="dark"] .dash-hero { background:linear-gradient(135deg,var(--aj-surface) 0%,#202b24 100%) !important; }
html[data-theme="dark"] .btn-google { background:var(--aj-surface-2) !important; }
html[data-theme="dark"] .number-mode-btn.is-active { background:var(--aj-surface-3);color:var(--aj-text); }

/* Responsive */
@media (max-width: 991px) {
    .buy-number-summary { position:static; }
    .main-content .container { padding-top:18px; }
}
@media (max-width: 767px) {
    body { font-size:14.5px; }
    .main-content .container { padding-inline:12px !important;padding-bottom:86px !important; }
    .header .header-logo .logo,.header-logo .logo { max-width:88px !important;max-height:38px !important; }
    .sidebar-logo .logo,.sidebar-logo img { max-width:92px !important; }
    .dash-hero { padding:18px !important; }
    .dash-hero-main { gap:16px !important; }
    .dash-hero-actions { display:grid !important;grid-template-columns:1fr 1fr; }
    .dash-hero-actions .btn:first-child { grid-column:1/-1; }
    .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    .stat-card { min-height:116px !important;padding:14px !important; }
    .stat-card .value { font-size:21px !important; }
    .actions-grid { grid-template-columns:1fr !important; }
    .number-mode-switch { width:100%; }
    .number-mode-btn { flex:1;justify-content:center;padding-inline:8px; }
    .buy-number-step { padding:14px !important; }
    .aj-pay { padding-inline:12px !important; }
    .aj-pay-card { padding:18px !important; }
    .table th,.table td,table th,table td { white-space:nowrap; }
}
@media (max-width: 360px) {
    .stats-grid { grid-template-columns:1fr !important; }
    .dash-hero-actions { grid-template-columns:1fr !important; }
    .dash-hero-actions .btn:first-child { grid-column:auto; }
}
