@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap);
:root {
  /* Brand */
  --primary-color: #406B7E;            /* Blu Ottanio  hsl(198,33%,37%) */
  --primary-hover: #335766;
  --primary-active: #2B4855;
  --primary-light: #E7F0F3;
  --primary-muted: rgba(64,107,126,.10);
  --primary-focus: rgba(64,107,126,.25);

  --accent-1: #D36D48;                 /* Mattone  hsl(16,61%,55%) */
  --accent-1-hover: #B24F2F;           /* già usato dall'Header */
  --accent-1-active: #9C4526;
  --accent-1-light: #F8E8E2;
  --accent-1-muted: rgba(211,109,72,.12);
  --secondary-color: var(--accent-1);  /* alias legacy, già consumato dalle pagine */

  --accent-2: #FF8F00;                 /* Arancio  hsl(34,100%,50%) */
  --accent-2-hover: #E07E00;
  --accent-2-active: #C76F00;
  --accent-2-light: #FFF4E0;
  --accent-2-muted: rgba(255,143,0,.12);

  /* Semantici — danger DISTINTO dal mattone (più freddo/saturo) */
  --danger-color: #DC2626;  --danger-hover: #B91C1C;  --danger-light: #FEE2E2;
  --success-color: #16A34A; --success-hover: #15803D; --success-light: #DCFCE7;
  --warning-color: #D97706; --warning-light: #FEF3C7; /* amber-600: leggibile, distinto da accent-2 */
  --info-color: #0EA5E9;    --info-light: #E0F2FE;

  /* Neutri */
  --text-color: #1E293B;
  --text-secondary: #64748B;
  --text-muted: var(--text-secondary); /* alias: già referenziato da GuestsPage e CentersGrid */
  --text-faint: #94A3B8;
  --background-light: #F8FAFC;
  --surface: #FFFFFF;
  --surface-alt: #F1F5F9;
  --border-color: #E2E8F0;
  --border-strong: #CBD5E1;

  /* Tipografia (family+weights spostati qui da fonts.css) */
  --font-family: 'Poppins', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  --font-family-display: 'This Is Agni', var(--font-family); /* solo titoli hero; richiede @font-face/licenza — fallback Poppins finché i file non ci sono */
  --font-weight-light: 300;            /* usato da .font-light in fonts.css */
  --font-weight-regular: 400; --font-weight-medium: 500;
  --font-weight-semibold: 600; --font-weight-bold: 700;
  --font-size-xs: .75rem; --font-size-sm: .875rem; --font-size-base: 1rem;
  --font-size-lg: 1.125rem; --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem; --font-size-3xl: 1.875rem;  /* sblocca h1-h3 di main.css */
  --line-height-tight: 1.2; --line-height-base: 1.5;

  /* Spacing 4-8-12-16-24-32-48 */
  --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem;
  --space-6: 1.5rem; --space-8: 2rem; --space-12: 3rem;
  --spacing-sm: var(--space-2); --spacing-md: var(--space-4); /* alias legacy */
  --spacing-unit: 1rem; /* legacy, invariato in questo task; deprecare nell'applicazione */

  /* Radius / Shadows */
  --radius-sm: .25rem; --radius-md: .5rem; --radius-lg: .75rem; --radius-full: 9999px;
  --border-radius: var(--radius-md); /* legacy: era 8px, identico */
  --shadow-sm: 0 1px 3px rgba(0,0,0,.05);   /* valore dominante nelle card esistenti */
  --shadow-md: 0 4px 12px rgba(0,0,0,.08);

  /* Form & bottoni */
  --input-height: 2.5rem;
  --input-padding-y: .625rem; --input-padding-x: .75rem;
  --input-gap: var(--space-2);          /* label ↔ campo */
  --form-grid-gap: 1.25rem;             /* gap attuale delle form-grid */
  --control-radius: var(--radius-md);
  --focus-ring: 0 0 0 3px var(--primary-focus);
  --btn-padding: .625rem 1.25rem;       /* = padding attuale di .button in buttons.css */
  --btn-radius: var(--radius-md);
  --btn-font-weight: var(--font-weight-medium);

  /* Layout — allineati ai valori realmente renderizzati dai componenti
     (prima Header/Sidebar li ridichiaravano su :host con valori diversi) */
  --sidebar-width: 160px; --footer-height: 80px; --header-height: 80px;
}

/* src/styles/fonts.css */

/* Import Poppins font from Google Fonts */

/* Font tokens (family + weights) live in variables.css — imported before this file by main.css */

/* Apply the font to the body and set base styling */
body {
    font-family: var(--font-family);
    font-weight: var(--font-weight-regular);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Helper classes for font weight */
.font-light {
    font-weight: var(--font-weight-light);
}

.font-regular {
    font-weight: var(--font-weight-regular);
}

.font-medium {
    font-weight: var(--font-weight-medium);
}

.font-semibold {
    font-weight: var(--font-weight-semibold);
}

.font-bold {
    font-weight: var(--font-weight-bold);
}
.flex { display: flex; }
.flex-col { flex-direction: column; }
.flex-center { justify-content: center; align-items: center; }
.inline-flex { display: inline-flex; }
.mt-1 { margin-top: var(--spacing-sm); }
.mb-2 { margin-bottom: var(--spacing-md); }
.text-center { text-align: center; }
.hidden { display: none !important; }
.gap-sm { gap: var(--spacing-sm); }
.gap-md { gap: var(--spacing-md); } 
.button {
  display: inline-flex;
  align-items: center;
  padding: 0.625rem 1.25rem;
  border-radius: var(--border-radius);
  background: var(--primary-color);
  color: #fff;
  border: none;
  cursor: pointer;
  transition: background 0.2s;
}
.button--secondary { background: var(--secondary-color); }
.button--danger { background: var(--danger-color); }
.button:disabled { opacity: 0.6; cursor: not-allowed; } 
.card {
  background: #fff;
  border-radius: var(--border-radius);
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  padding: var(--spacing-md);
  margin-bottom: var(--spacing-md);
}
.card--stat { /* Stat card specific styles */ }
.card--center { /* Center card specific styles */ } 
/* src/styles/main.css */
/* @import './self-hosted-fonts.css'; */

/* Global resets and base styles */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-family);
    font-weight: var(--font-weight-semibold);
    line-height: 1.2;
    margin-bottom: 0.5rem;
}

h1 {
    font-size: var(--font-size-3xl);
}
h2 {
    font-size: var(--font-size-2xl);
}
h3 {
    font-size: var(--font-size-xl);
}

a {
    color: var(--primary-color);
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}

button, input, select, textarea {
    font-family: var(--font-family);
    font-size: var(--font-size-base);
}

.container {
    width: calc(100% - var(--sidebar-width));
    margin-left: var(--sidebar-width);
    padding: 0 2rem;
    box-sizing: border-box;
}

#app {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  /* Clears the fixed header. Pages must NOT add their own header offset on
     .main-content — this is the single one. */
  padding-top: var(--header-height);
}

.page-wrapper {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

footer-element {
  flex-shrink: 0;
  width: 100%;
  margin-top: auto;
  display: block;
}

footer.footer {
  width: 100%;
  background: #fff;
  box-sizing: border-box;
  /* Remove any margin-top or position: absolute/fixed unless you want it always visible */
  margin-top: 0;
  position: static;
}

.content-wrapper {
  flex: 1 0 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.main-content {
  flex: 1 0 auto;
  min-height: 0;
  padding-bottom: 24px;
}

/* Utility classes */
.text-center {
    text-align: center;
}
.mb-1 {
    margin-bottom: var(--spacing-unit);
}
.mb-2 {
    margin-bottom: calc(var(--spacing-unit) * 2);
}
.mt-1 {
    margin-top: var(--spacing-unit);
}
.mt-2 {
    margin-top: calc(var(--spacing-unit) * 2);
}
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/*# sourceMappingURL=main.52832e213ff046219268.css.map*/