@media (max-width: 767.98px) {
    .presura-shell[data-shell-page="settings"] .presura-shell__content {
        padding-bottom: calc(var(--presura-mobile-bottom-nav-height, 58px) + env(safe-area-inset-bottom, 0px));
        background:
            radial-gradient(circle at 88% 4%, rgba(37, 158, 141, 0.13), transparent 34%),
            var(--tblr-body-bg);
    }

    .presura-settings-page {
        width: 100%;
        min-height: 100dvh;
        padding: 0.8rem 0 1.5rem;
        overflow-x: clip;
    }

    .presura-settings-page > .container-xl {
        width: 100%;
        max-width: none;
        padding-inline: clamp(0.75rem, 3.8vw, 1rem);
    }

    .presura-settings-heading {
        display: grid;
        gap: 0.2rem;
        margin: 0 0 0.8rem;
        padding-inline: 0.2rem;
    }

    .presura-settings-heading__eyebrow {
        font-size: 0.62rem;
    }

    .presura-settings-heading h1 {
        margin: 0;
        font-size: clamp(1.6rem, 8vw, 2rem);
    }

    .presura-settings-heading p {
        max-width: 34rem;
        font-size: 0.82rem;
        line-height: 1.45;
    }

    .presura-settings-workspace {
        display: block;
        min-height: 0;
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .presura-settings-nav {
        position: sticky;
        top: calc(var(--presura-shell-topbar-bottom, 64px) + 6px);
        z-index: 80;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.42rem;
        margin-inline: -0.2rem;
        padding: 0.4rem;
        overflow: hidden;
        border: 1px solid color-mix(in srgb, var(--tblr-border-color) 82%, transparent);
        border-radius: 1rem;
        background: color-mix(in srgb, var(--tblr-card-bg) 88%, transparent);
        box-shadow: 0 12px 28px rgba(0, 30, 27, 0.12);
        backdrop-filter: blur(16px) saturate(130%);
    }

    .presura-settings-nav__group {
        display: contents;
    }

    .presura-settings-nav__label {
        display: none;
    }

    .presura-settings-tab {
        width: 100%;
        min-width: 0;
        min-height: 58px;
        flex-direction: column;
        justify-content: center;
        gap: 0.2rem;
        padding: 0.45rem 0.2rem;
        border: 1px solid transparent;
        border-radius: 0.75rem;
        font-size: clamp(0.52rem, 2.4vw, 0.66rem);
        line-height: 1.1;
        text-align: center;
    }

    .presura-settings-tab span,
    .presura-settings-tab span svg {
        width: 20px;
        height: 20px;
    }

    .presura-settings-tab span svg {
        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .presura-settings-tab.is-active {
        border-color: rgba(51, 180, 160, 0.3);
        background: linear-gradient(145deg, rgba(22, 126, 113, 0.22), rgba(22, 126, 113, 0.1));
        color: var(--presura-text);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
    }

    .presura-settings-content {
        padding: 1rem 0 0;
        touch-action: pan-y;
    }

    .presura-settings-panel.is-active {
        animation: mobile-settings-panel-in 0.22s ease-out;
    }

    .presura-settings-panel__header {
        padding: 0 0.2rem 0.8rem;
        border-bottom: 0;
    }

    .presura-settings-panel__header h2 {
        margin-bottom: 0.2rem;
        font-size: 1.22rem;
    }

    .presura-settings-panel__header p {
        font-size: 0.8rem;
        line-height: 1.45;
    }

    .presura-settings-form {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 0.65rem;
    }

    .presura-settings-field,
    .presura-settings-field--theme {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "label" "help" "select";
        gap: 0.24rem;
        padding: 0.9rem;
        border: 1px solid var(--tblr-border-color);
        border-radius: 0.9rem;
        background: color-mix(in srgb, var(--tblr-card-bg) 94%, var(--presura-teal) 6%);
        box-shadow: 0 8px 22px rgba(0, 30, 27, 0.06);
    }

    .presura-settings-field--theme {
        display: grid;
        grid-template-areas: none;
        gap: 0.75rem;
    }

    .presura-settings-field__heading p,
    .presura-settings-field > p {
        font-size: 0.75rem;
        line-height: 1.4;
    }

    .presura-settings-field > select {
        width: 100%;
        min-height: 48px;
        margin-top: 0.45rem;
        border-radius: 0.72rem;
        font-size: 0.86rem;
    }

    .presura-theme-picker {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.45rem;
    }

    .presura-theme-choice {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
        gap: 0.4rem;
        min-height: 112px;
        padding: 0.5rem;
        border-radius: 0.72rem;
    }

    .presura-theme-choice input {
        top: 0.4rem;
        right: 0.4rem;
    }

    .presura-theme-choice__preview {
        height: 43px;
        border-radius: 0.42rem;
    }

    .presura-theme-choice strong {
        font-size: 0.72rem;
    }

    .presura-theme-choice small {
        display: none;
    }

    .presura-settings-note,
    .presura-settings-notification-card,
    .presura-settings-list-card,
    .presura-settings-station,
    .presura-settings-empty {
        border-radius: 0.9rem;
    }

    .presura-settings-note {
        margin-top: 0.7rem;
        padding: 0.9rem;
        font-size: 0.78rem;
    }

    .presura-settings-status {
        min-height: 0;
        margin: 0.7rem 0 0;
        padding: 0.58rem 0.75rem;
        border-radius: 0.7rem;
        background: color-mix(in srgb, var(--presura-teal) 12%, transparent);
        font-size: 0.72rem;
    }

    .presura-settings-status.is-confirmed {
        animation: settings-confirm 0.45s ease;
    }

    .presura-settings-notification-card {
        align-items: stretch;
        flex-direction: column;
        gap: 1rem;
        margin-top: 0.35rem;
        padding: 1rem;
    }

    .presura-settings-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .presura-settings-actions .btn {
        min-height: 48px;
        margin: 0;
    }

    .presura-settings-actions .btn:disabled {
        opacity: 1;
        cursor: not-allowed;
    }

    .presura-settings-actions .btn-primary:disabled {
        border-color: rgba(113, 184, 245, 0.78);
        background: rgba(6, 111, 209, 0.24);
        color: #fff;
    }

    .presura-settings-actions .btn-outline-primary:disabled {
        border-color: color-mix(in srgb, var(--tblr-primary) 72%, #fff 28%);
        color: color-mix(in srgb, var(--tblr-primary) 58%, #fff 42%);
    }

    .presura-settings-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.55rem;
        margin: 0.35rem 0 0.9rem;
    }

    .presura-settings-metrics article {
        padding: 0.85rem;
        border-radius: 0.85rem;
        background: var(--tblr-card-bg);
    }

    .presura-settings-metrics strong {
        font-size: 1.4rem;
    }

    .presura-settings-columns,
    .presura-settings-stations {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.75rem;
    }

    .presura-settings-list-card,
    .presura-settings-station {
        padding: 0.9rem;
    }

    .presura-settings-station dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 374.98px) {
    .presura-settings-page > .container-xl {
        padding-inline: 0.6rem;
    }

    .presura-settings-station dl {
        grid-template-columns: minmax(0, 1fr);
    }
}

@keyframes mobile-settings-panel-in {
    from { opacity: 0; transform: translateX(10px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes settings-confirm {
    0% { transform: scale(0.985); }
    50% { transform: scale(1.01); }
    100% { transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .presura-settings-panel.is-active,
    .presura-settings-status.is-confirmed {
        animation: none;
    }
}
