/* Page frame for the DW6 app; components come from bundle.css. */
html { -webkit-text-size-adjust: 100%; }
body.dw { margin: 0; min-height: 100vh; display: flex; flex-direction: column; }
.dw-page { width: 100%; max-width: var(--page-width); margin: var(--space-4) auto var(--space-5); padding: 0 var(--space-4); flex: 1; }
.dw-dropdown { position: relative; display: flex; align-items: center; }
.dw-dropdown > .dw-menu { display: none; position: absolute; top: 100%; left: 0; margin-top: 8px; z-index: 40; }
.dw-dropdown > .dw-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
.dw-dropdown.is-open > .dw-menu, .dw-dropdown:has(:focus-visible) > .dw-menu { display: block; }
@media (hover: hover) { .dw-dropdown:hover > .dw-menu { display: block; } }
.dw-brandmark { color: var(--accent); }
.dw-stack > * + * { margin-top: var(--space-2); }
.dw-actions { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-2); align-items: center; }
.dw-right { text-align: right; }
.dw-muted { color: var(--ink-muted); }
.dw-page > * + .dw-panel, .dw-page > .dw-panel + .dw-panel { margin-top: var(--space-4); }
.dw-login { max-width: 400px; margin: 8vh auto 0; padding: var(--space-5) var(--space-5) var(--space-4); }
.dw-login .dw-panel__title { font-size: 22px; border-bottom: 0; padding-bottom: 0; margin-bottom: var(--space-3); }
.dw-login .dw-btn { width: 100%; margin-top: var(--space-2); }
.dw-login .dw-input { width: 100%; }
.dw-login-brand { text-align: center; font-size: 28px; font-weight: 700; letter-spacing: -.02em; color: var(--accent); margin: 8vh 0 0; }
.dw-login-brand + .dw-login { margin-top: var(--space-4); }
.dw-login-page .dw-bar { display: none; }

/* Phone and small tablets: menu button, 16px gutters, wide tables scroll inside their wrapper */
@media (max-width: 900px) {
  .dw-bar__inner { flex-wrap: wrap; padding: 8px 16px; gap: 0; }
  .dw-bar__brand { margin-right: 0; }
  .dw-bar__toggle { display: inline-flex; }
  .dw-bar__menu, .dw-bar__end { display: none; width: 100%; }
  .dw-bar.is-open .dw-bar__menu { display: flex; flex-direction: column; align-items: stretch; gap: 2px; padding: 8px 0 4px; border-top: 1px solid var(--line); margin-top: 8px; }
  .dw-bar.is-open .dw-bar__end { display: flex; flex-direction: row; justify-content: space-between; margin-left: 0; padding: 4px 0 8px; }
  .dw-bar__menu > li, .dw-dropdown { display: block; }
  .dw-bar__item { width: 100%; height: 44px; justify-content: space-between; }
  .dw-bar__end .dw-bar__item { width: auto; }
  .dw-dropdown > .dw-menu, .dw-dropdown:has(:focus-visible) > .dw-menu { display: none; position: static; margin: 0 0 4px 12px; box-shadow: none; border: 0; border-left: 2px solid var(--line); border-radius: 0; padding: 0 0 0 4px; min-width: 0; }
  .dw-dropdown > .dw-menu::before { display: none; }
  .dw-dropdown.is-open > .dw-menu { display: block; }
  .dw-menu a { padding: 11px 12px; }
}
@media (max-width: 640px) {
  .dw-page { padding: 0 16px; margin-top: 16px; }
  .dw-panel { padding: 16px; border-radius: 12px; }
  .dw-footer { padding: 14px 16px; flex-direction: column; }
  .dw-fields { gap: var(--space-2); }
  .dw-field, .dw-fields > .dw-input, .dw-fields > .dw-select { max-width: 100%; }
  .dw-btn { min-height: 44px; }
  .dw-table-wrap td { white-space: nowrap; }
  .dw-input, .dw-select { height: 44px; font-size: 16px; }
  .dw-table .dw-input, .dw-table .dw-select { height: 36px; font-size: 14px; }
  .dw-login { margin-top: var(--space-3); padding: 24px 20px; }
}
