/* Mobile + solid layout overrides */
html {
    -webkit-text-size-adjust: 100%;
}

:root {
    --dashboard-page-pad: clamp(12px, 2vw, 24px);
    --dashboard-section-gap: clamp(12px, 1.6vw, 18px);
    --dashboard-touch: 44px;
    --dashboard-focus: 0 0 0 3px rgba(109, 160, 147, 0.26);
}

img,
video {
    max-width: 100%;
    height: auto;
}

input,
select,
textarea,
button {
    font-size: 16px;
}

button,
a,
input,
select,
textarea {
    min-height: var(--dashboard-touch);
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: none;
    box-shadow: var(--dashboard-focus);
}

.touch-target,
.corefi-btn,
.corefi-nav-item,
.guild-side-link,
.guild-side-sublink,
.guild-sub-nav-btn,
.srv-tier-btn,
.tab,
.duration-btn,
.cart-pay-tab {
    min-height: var(--dashboard-touch);
}

.corefi-topbar,
.corefi-panel-head,
.guild-header,
.sys-card-head,
.sys-health-header,
.sys-chart-head,
.subs-toolbar,
.top-nav .nav-inner {
    gap: var(--dashboard-section-gap);
}

.corefi-panel,
.guild-main,
.sys-card,
.sys-chart-card,
.sys-health-card,
.sys-heatmap-card,
.subs-card,
.server-card,
.marketplace-card,
.pricing-card {
    overflow-wrap: anywhere;
}

.corefi-btn,
.btn,
.btn-primary,
.btn-secondary,
.srv-tier-btn,
.sub-copy-btn,
.server-action {
    line-height: 1.25;
    white-space: normal;
}

[dir='ltr'] body {
    text-align: left;
}

[dir='ltr'] .corefi-brand,
[dir='ltr'] .corefi-nav-item,
[dir='ltr'] .corefi-sidebar-user,
[dir='ltr'] .guild-side-brand,
[dir='ltr'] .guild-side-server,
[dir='ltr'] .guild-side-link,
[dir='ltr'] .guild-side-sublink {
    flex-direction: row !important;
    text-align: left;
}

[dir='rtl'] .corefi-brand,
[dir='rtl'] .corefi-nav-item,
[dir='rtl'] .corefi-sidebar-user {
    flex-direction: row-reverse;
}

[dir='ltr'] .guild-side-link span:first-of-type,
[dir='ltr'] .guild-side-sublink span:first-of-type {
    text-align: start;
}

[dir='rtl'] input[type='text']:not([dir]),
[dir='rtl'] input[type='search']:not([dir]),
[dir='rtl'] textarea:not([dir]) {
    direction: rtl;
}

input[inputmode='numeric'],
input[data-number-field='true'],
input[id*='Id'],
input[id*='ID'],
code {
    direction: ltr;
    unicode-bidi: plaintext;
}

.corefi-scroll,
.guild-main,
.scroll-box,
.cart-items,
.modal-content {
    overscroll-behavior: contain;
}

@media (max-width: 768px) {
    input,
    select,
    textarea {
        font-size: 16px !important;
    }

    #page-dashboard.active,
    #page-servers.active,
    .dashboard-page,
    .guild-main {
        padding-inline: var(--dashboard-page-pad) !important;
    }

    .corefi-topbar,
    .guild-header,
    .sys-health-header,
    .sys-chart-head,
    .sys-card-head {
        align-items: stretch !important;
    }

    .guild-sub-nav {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 10px;
    }

    .guild-sub-nav-btn {
        flex-shrink: 0;
    }

    .guild-side-nav-main .guild-side-link {
        font-size: 13px;
    }

    .top-nav {
        backdrop-filter: none !important;
    }

    .corefi-topbar-end,
    .subs-toolbar,
    .dash-panel-actions,
    .sys-health-actions,
    .cart-pay-tabs {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100%;
    }

    .corefi-btn,
    .btn-primary,
    .btn-secondary,
    .srv-tier-btn,
    .subs-reset-btn,
    .server-action {
        width: 100%;
        justify-content: center;
    }

    .corefi-search,
    .corefi-search input,
    .subs-search-input,
    .subs-filter-select,
    .form-input,
    .cart-server-input {
        width: 100% !important;
        min-width: 0 !important;
    }

    .corefi-metrics,
    .sys-stats-trio,
    .sys-health-grid,
    .sys-charts-grid,
    .bot-settings-grid {
        grid-template-columns: 1fr !important;
    }

    .server-card,
    .sub-card,
    .marketplace-card {
        min-width: 0 !important;
    }
}

@media (max-width: 520px) {
    .sys-stats-strip {
        grid-template-columns: 1fr;
    }
}
