:root {
    --color-bg: #14151a;
    --color-surface: #1f2128;
    --color-surface-alt: #262832;
    --color-text: #f4f4f6;
    --color-text-muted: #9a9dab;
    --color-border: #33353f;
    --color-card-text: #1c1c1f;
    --color-danger: #a54b4b;
    --color-error: #5e2020;
    --radius-card: 20px;
    --radius-control: 14px;
    --radius-pill: 999px;
    --touch-min: 44px;
    --font-main: 'Nunito', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

    /* Couleurs */
    --color-rose-poudre: #EE9DB8;
    --color-corail-peche: #f4a87c;
    --color-abricot: #f9c778;
    --color-jaune-vanille: #f5eabb;
    --color-vert-pistache: #A8D671;
    --color-menthe: #7ED9B3;
    --color-turquoise-doux: #6BC9D0;
    --color-bleu-ciel: #7CBBE8;
    --color-bleu-lavande: #9CACE8;
    --color-violet-parme: #BB9AE0;
    --color-mauve: #D394C4;
    --color-bordeaux: #b5578e;
    --color-gris-perle: #BFB9AC;

    /* Couleurs de graphiques */
    --color-chart-alcool: #3987e5;
    --color-chart-cigarettes: #d95926;
    --color-chart-grid: #2c2c2a;
}

* {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;
}

body {
    background: var(--color-bg);
    color: var(--color-text);
    font-family: var(--font-main);
    font-weight: 300;
    min-height: 100vh;
    overflow-x: hidden;
}

#app {
    max-width: 480px;
    margin: 0 auto;
    padding: 20px 16px 40px;
}

.hidden {
    display: none !important;
}



h1 {
    margin: 0;
    font-family: inherit;
    font-size: 2rem;
    font-weight: 300;
}

.app-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 4px 0 20px;
}

.app-header h1 {
    margin: 0;
}

.section-title {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 24px 0 10px;
}

.btn-hamburger {
    width: var(--touch-min);
    height: var(--touch-min);
    border-radius: var(--radius-pill);
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    color: var(--color-text);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    text-decoration: none;
    cursor: pointer;
}

.btn-hamburger svg {
    width: 20px;
    height: 20px;
}

.journal-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.journal-date {
    margin: 0;
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--color-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.02em;
}
