.cloud-login { width: min(100% - 32px, 460px); margin: 8vh auto; }
.cloud-login form, .cloud-login label { display: grid; gap: 12px; }
.cloud-login input { width: 100%; min-height: 44px; padding: 10px; }
.cloud-login button { margin-block: 12px; }
.cloud-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 8px 16px; border-bottom: 1px solid var(--border-color); }
.cloud-controls span { flex: 1 1 60px; min-width: 0; font-size: 12px; overflow-wrap: anywhere; }
.cloud-controls button { min-height: 36px; padding: 6px 10px; color: inherit; background: var(--bg-secondary, #202327); border: 1px solid var(--border-color); border-radius: 6px; }
.mobile-bottom-nav { display: none; }
@media (max-width: 820px) {
    html, body { max-width: 100%; }
    .alchemy-layout, .main-content, #page-content, .page-container { min-width: 0; max-width: 100%; }
    .main-content { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
    .mobile-bottom-nav { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); position: fixed; inset: auto 0 0; z-index: 30; padding: 4px 4px calc(4px + env(safe-area-inset-bottom)); background: #151719; border-top: 1px solid var(--border-color); }
    .mobile-bottom-nav .nav-item { min-width: 0; min-height: 54px; margin: 0; padding: 5px 2px; flex-direction: column; justify-content: center; gap: 4px; border-radius: 6px; }
    .mobile-bottom-nav .nav-label { font-size: 10px; display: block; }
    .mobile-menu-button, .header-context p { display: none; }
    .top-header { min-height: 48px; height: auto; padding-block: 10px; }
    .page-container, .recipe-detail-page, .recipe-form-page, .batch-page { padding: 12px; }
    input, select, textarea { min-width: 0; max-width: 100%; font-size: 16px; }
    input:not([type="checkbox"]):not([type="radio"]), select { min-height: 44px; }
    button, .button { touch-action: manipulation; }
    .choice-chips { flex-wrap: wrap; }
    .recipe-grid, .recipes-grid { grid-template-columns: minmax(0, 1fr); }
    .recipes-grid, .flavors-grid { gap: 0; }
    .recipe-card, .flavor-card { min-height: 0; padding: 12px 2px; border: 0; border-bottom: 1px solid var(--border-color); border-radius: 0; box-shadow: none; background: transparent; gap: 6px; }
    .recipe-card-header { min-height: 36px; }
    .recipe-card-header h2 { font-size: 15px; }
    .recipe-card .recipe-last-production { padding-top: 0; border-top: 0; }
    .recipe-card .favorite-button { min-width: 44px; min-height: 44px; }
    .home-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    h1, h2, h3, p, .nav-label { overflow-wrap: anywhere; }
    .modal-dialog { max-width: calc(100vw - 24px); }
}
