/**
 * Mobile layout overrides (loaded for viewports up to 767px wide).
 * Complements CSS/style_v5.css — do not duplicate base styles here.
 */

html {
    min-width: 0;
}

body {
    padding-top: 64px;
    font-size: var(--font-size-ui);
}

body > form {
    width: 100%;
}

.container,
.login-container {
    width: 100%;
    max-width: 100%;
    margin: 12px 0;
    padding: 14px;
    border-radius: 0;
    box-sizing: border-box;
}

.has-minimum {
    min-width: 0;
}

.login-container {
    width: min(100%, 22rem);
    margin: 12px auto;
    border-radius: 8px;
}

/* Top banner */
.banner {
    min-width: 0;
    padding: 0.65rem 0;
}

.banner-content {
    max-width: 100%;
    padding: 0 12px;
}

.logo-container .logo img {
    height: 42px;
}

.main-nav > ul > li.nav-word-item {
    width: var(--nav-word-item-width, auto);
    min-width: 0;
}

.main-nav > ul > li > a,
.nav-menu-trigger {
    padding: 8px 10px;
    font-size: 13px;
}

/* Dashboard */
.dashboard-grid--three,
.dashboard-grid--two {
    grid-template-columns: 1fr;
}

.dashboard-panel-side {
    max-width: none;
}

.dashboard-activity-meta-columns {
    --meta-on-value-width: 100%;
    --meta-teeth-value-width: 100%;
    --meta-insurer-value-width: 100%;
    flex-direction: column;
    align-items: stretch;
    row-gap: 0.15rem;
}

.dashboard-activity-meta-segment,
.dashboard-activity-meta-segment-on,
.dashboard-activity-meta-segment-teeth,
.dashboard-activity-meta-segment-insurer {
    flex-basis: auto;
    width: 100%;
}

.dashboard-activity-meta-segment-on .dashboard-activity-meta-value,
.dashboard-activity-meta-segment-teeth .dashboard-activity-meta-value,
.dashboard-activity-meta-segment-insurer .dashboard-activity-meta-value {
    flex: 1 1 auto;
    max-width: none;
}

/* Forms and sections */
.dual-wrapper {
    grid-template-columns: 1fr;
}

/* Form field rows only — page action bars keep horizontal layout (see style_v5) */
.section-content.section-inline:has(.inline-field) {
    flex-direction: column;
    align-items: stretch;
}

.inline-field {
    flex: 1 1 100%;
    width: 100%;
}

.single-field {
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.label,
.full-width label {
    width: auto;
}

/* Wide data grids: horizontal scroll instead of squashing */
.grid-scroll-wrapper,
.procedure-container,
#procedure-container,
#user-container.seven-field,
.seven-field,
.eight-field {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.procedure-container,
#procedure-container {
    min-width: 36rem;
}

.seven-field,
#user-container.seven-field {
    min-width: 42rem;
}

.treatment-costs-page .treatment-grid {
    min-width: 44rem;
}

/* Buttons — full width in stacked form rows; page footers stay intrinsic width */
.nav-button,
.submit-button,
.loginForm button {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.inline-field .nav-button,
.inline-field .submit-button,
.section-content.section-inline:not(:has(.inline-field)) .nav-button,
.section-content.section-inline:not(:has(.inline-field)) .submit-button {
    width: auto;
    max-width: none;
    flex: 0 0 auto;
}

