/* 06:30 Coffee — brand overrides (Tailwind companion) */

body {
  font-family: 'DM Sans', system-ui, sans-serif;
  background: rgb(var(--c-oat));
  color: rgb(var(--c-espresso));
  font-size: 16px;
}

.font-display {
  font-family: 'Cormorant Garamond', Georgia, serif;
}

/* 16px minimum on inputs — prevents iOS zoom */
input,
select,
textarea {
  font-size: 16px !important;
}

.bottom-nav-spacer {
  height: calc(64px + env(safe-area-inset-bottom));
}

@media (min-width: 576px) {
  .bottom-nav-spacer {
    height: 0;
  }
}

/* Login centering */
html.login-html {
  height: 100%;
}

body.login-wrap {
  min-height: 100%;
  min-height: 100dvh;
  margin: 0;
  display: flex;
  flex-direction: column;
  background: rgb(var(--c-oat));
}

body.login-wrap .page-shell--full {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
  width: 100%;
  margin: 0;
}

body.login-wrap .page-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 1rem;
}

body.login-wrap .page-content.login-page {
  padding: 0;
  align-items: stretch;
  justify-content: flex-start;
}

body.login-wrap .login-card-container {
  width: 100%;
  max-width: 420px;
}

/* Bottom sheet (daily ledger) */
.bottom-sheet-backdrop {
  position: fixed;
  inset: 0;
  background: rgb(var(--c-espresso) / 0.45);
  z-index: 1045;
}

.bottom-sheet {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  max-height: 90vh;
  overflow-y: auto;
  z-index: 1050;
  padding: 0;
}

.bottom-sheet__inner {
  border-radius: 16px 16px 0 0;
  background: #fff;
  padding: 20px;
  box-shadow: 0 -4px 24px rgb(var(--c-espresso) / 0.12);
  border-top: 2px solid rgb(var(--c-gold));
}

body.bottom-sheet-open {
  overflow: hidden;
}

.table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media print {
  .app-sidebar,
  .bottom-nav,
  .no-print {
    display: none !important;
  }

  .page-shell {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  .page-content {
    max-width: none !important;
    padding-bottom: 0 !important;
  }
}
