/* css/main.css — entry point only, no rules */
@import 'base/reset.css';
@import 'base/variables.css';
@import 'base/typography.css';
@import 'components/navbar.css';
@import 'components/fab.css';
@import 'components/modal.css';
@import 'components/cards.css';
@import 'components/buttons.css';
@import 'components/forms.css';
@import 'components/toast.css';
@import 'components/pin.css';
@import 'components/progress.css';
@import 'pages/dashboard.css';
@import 'pages/assets.css';
@import 'pages/expenses.css';
@import 'pages/goals.css';

/* ── Global Styles ── */
body {
  background-color: var(--color-bg-primary);
  color: var(--color-text-primary);
  font-family: var(--font-sans);
  min-height: 100vh;
  position: relative;
  max-width: var(--breakpoint-md);
  margin: 0 auto;
  overflow-x: hidden;
}

/* Structural Container Utility */
.structural-panel {
  background: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
}

/* Larger screens layout adjustments */
@media (min-width: 768px) {
  body {
    max-width: 100%;
  }
  
  #app-shell {
    max-width: var(--breakpoint-lg);
    margin: 0 auto;
    padding: 0 var(--space-xl);
  }
}

/* Utility: High-precision rhythm spacers */
.mt-8 { margin-top: 8px; }
.mt-16 { margin-top: 16px; }
.mt-24 { margin-top: 24px; }
.mb-8 { margin-bottom: 8px; }
.mb-16 { margin-bottom: 16px; }
.mb-24 { margin-bottom: 24px; }
.p-16 { padding: 16px; }
.p-24 { padding: 24px; }
