/* =========================================================
   FINPLUS OSTIA - Mobile UX patch v1
   Mobile-first redesign for planner usability
   ========================================================= */

@media (max-width: 820px) {
  body {
    overflow-x: hidden;
  }

  .app {
    padding: 10px !important;
  }

  .topbar {
    position: sticky;
    top: 0;
    z-index: 40;
    gap: 10px !important;
    padding: 10px 12px !important;
    border-radius: 0 0 18px 18px !important;
  }

  .brand-icon {
    width: 38px !important;
    height: 38px !important;
    font-size: 20px !important;
  }

  .brand-text h1 {
    font-size: 18px !important;
    line-height: 1.05 !important;
  }

  .brand-text p {
    font-size: 11px !important;
  }

  .topbar-right {
    display: flex !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
  }

  .topbar-right .chip,
  .topbar-right .btn-secondary {
    font-size: 11px !important;
    padding: 8px 10px !important;
    min-height: 40px !important;
  }

  .tabs {
    position: sticky;
    top: 64px;
    z-index: 35;
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8px !important;
    padding: 8px 0 !important;
    background: rgba(246, 250, 253, .92);
    backdrop-filter: blur(10px);
  }

  .tab {
    width: 100% !important;
    min-height: 42px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
    padding: 9px 8px !important;
  }

  .toolbar {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    align-items: stretch !important;
    padding: 10px !important;
    border-radius: 18px !important;
  }

  .toolbar .grow {
    grid-column: 1 / -1;
    order: -2;
  }

  .week-title {
    font-size: 17px !important;
    text-align: center !important;
    padding: 6px 4px !important;
  }

  .toolbar button,
  .toolbar .btn,
  .toolbar .btn-secondary,
  .toolbar .btn-ghost {
    width: 100% !important;
    min-height: 42px !important;
    font-size: 12px !important;
    padding: 9px 8px !important;
    border-radius: 14px !important;
  }

  .toolbar .mini-group {
    display: none !important;
  }

  .notes-banner {
    padding: 12px !important;
    border-radius: 16px !important;
  }

  .notes-title {
    font-size: 14px !important;
  }

  #weeklyNotes {
    min-height: 72px !important;
    font-size: 14px !important;
  }

  .card {
    border-radius: 18px !important;
    margin: 10px 0 !important;
  }

  .card-head {
    padding: 12px !important;
  }

  .card-head h2,
  .card-head h3 {
    font-size: 17px !important;
  }

  .legend {
    display: none !important;
  }

  .modal-card {
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
    max-height: calc(100vh - 18px) !important;
    border-radius: 18px !important;
  }

  .modal-head,
  .modal-body,
  .modal-foot {
    padding: 12px !important;
  }

  #trainingText,
  textarea {
    font-size: 15px !important;
  }

  .modal-foot {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  .modal-foot button {
    width: 100% !important;
    min-height: 42px !important;
    font-size: 12px !important;
  }
}

