/* =====================================================
   TRUGARO - MODERN UI
   ===================================================== */

@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@600;700;800&display=swap");

* {
    box-sizing: border-box;
}

:root {
    --bg: #0b1120;
    --bg-secondary: #111827;
    --card: #172033;
    --card-hover: #1c2940;

    --border: #263449;

    --text: #f8fafc;
    --text-secondary: #94a3b8;
    --text-muted: #64748b;

    --green: #22c55e;
    --green-dark: #16a34a;

    --blue: #38bdf8;
    --purple: #a78bfa;
    --orange: #f59e0b;
    --red: #ef4444;

    --sidebar-width: 250px;

    --radius: 16px;
}


/* =====================================================
   BODY
   ===================================================== */

body {
    margin: 0;
    padding: 0;

    background: var(--bg);

    color: var(--text);

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;

    min-height: 100vh;
}


/* =====================================================
   APP
   ===================================================== */

.app {
    display: flex;
    min-height: 100vh;
}


/* =====================================================
   SIDEBAR
   ===================================================== */

.sidebar {
    position: fixed;

    left: 0;
    top: 0;
    bottom: 0;

    width: var(--sidebar-width);

    background: #0f172a;

    border-right: 1px solid var(--border);

    display: flex;
    flex-direction: column;

    padding: 24px 16px;

    z-index: 100;
}


/* =====================================================
   LOGO
   ===================================================== */

.logo {
    display: flex;
    align-items: center;

    gap: 12px;

    padding: 8px 10px 28px;
}

.logo-icon {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: linear-gradient(
        135deg,
        #22c55e,
        #16a34a
    );

    font-size: 21px;

    box-shadow:
        0 8px 20px
        rgba(34, 197, 94, 0.2);
}

.logo-title {
    font-size: 18px;
    font-weight: 800;
}

.logo-subtitle {
    color: var(--text-muted);

    font-size: 11px;

    margin-top: 2px;
}


/* =====================================================
   MENU
   ===================================================== */

.menu {
    display: flex;
    flex-direction: column;

    gap: 6px;
}

.menu-button {
    width: 100%;

    border: 0;

    background: transparent;

    color: var(--text-secondary);

    padding: 13px 14px;

    border-radius: 11px;

    cursor: pointer;

    display: flex;
    align-items: center;

    gap: 12px;

    font-size: 14px;
    font-weight: 600;

    text-align: left;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}

.menu-button:hover {
    background: #172033;
    color: white;

    transform: translateX(2px);
}

.menu-button.active {
    background: rgba(34, 197, 94, 0.13);

    color: var(--green);
}

.menu-button span:first-child {
    width: 22px;

    text-align: center;

    font-size: 17px;
}


/* =====================================================
   SIDEBAR BOTTOM
   ===================================================== */

.sidebar-bottom {
    margin-top: auto;
}


/* =====================================================
   LOGOUT
   ===================================================== */

.logout-button {
    width: 100%;

    border: 1px solid var(--border);

    background: #111827;

    color: var(--text-secondary);

    padding: 12px 14px;

    border-radius: 11px;

    cursor: pointer;

    display: flex;
    align-items: center;

    gap: 10px;

    font-size: 14px;
    font-weight: 600;

    transition: 0.2s ease;
}

.logout-button:hover {
    background: rgba(239, 68, 68, 0.12);

    border-color: rgba(239, 68, 68, 0.3);

    color: #f87171;
}

.logout-button.large {
    margin-top: 25px;

    justify-content: center;

    padding: 14px;
}


/* =====================================================
   MAIN
   ===================================================== */

.main {
    margin-left: var(--sidebar-width);

    width: calc(100% - var(--sidebar-width));

    min-height: 100vh;

    padding: 0 38px 50px;
}


/* =====================================================
   TOPBAR
   ===================================================== */

.topbar {
    min-height: 88px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    border-bottom: 1px solid var(--border);

    margin-bottom: 30px;
}

.topbar-title {
    font-size: 20px;
    font-weight: 800;
}

.topbar-subtitle {
    margin-top: 4px;

    color: var(--text-muted);

    font-size: 12px;
}

.user-area {
    display: flex;

    align-items: center;

    gap: 10px;
}

.user-avatar {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #1e293b;

    border: 1px solid var(--border);

    border-radius: 50%;

    font-size: 16px;
}

.user-email {
    font-size: 13px;

    font-weight: 600;

    max-width: 220px;

    overflow: hidden;

    text-overflow: ellipsis;

    white-space: nowrap;
}

.user-label {
    color: var(--text-muted);

    font-size: 11px;

    margin-top: 2px;
}


/* =====================================================
   PAGES
   ===================================================== */

.page {
    display: none;

    animation:
        pageAppear
        0.25s ease;
}

.page.active {
    display: block;
}

@keyframes pageAppear {

    from {
        opacity: 0;

        transform:
            translateY(5px);
    }

    to {
        opacity: 1;

        transform:
            translateY(0);
    }
}


/* =====================================================
   WELCOME
   ===================================================== */

.welcome-card {
    position: relative;

    overflow: hidden;

    display: flex;

    justify-content: space-between;

    align-items: center;

    min-height: 190px;

    padding: 32px;

    border-radius: 20px;

    margin-bottom: 24px;

    background:
        linear-gradient(
            135deg,
            #14291f 0%,
            #12251e 45%,
            #172033 100%
        );

    border: 1px solid
        rgba(34, 197, 94, 0.15);
}

.welcome-card::before {
    content: "";

    position: absolute;

    width: 260px;
    height: 260px;

    right: -90px;
    top: -120px;

    background:
        rgba(34, 197, 94, 0.08);

    border-radius: 50%;
}

.welcome-small {
    color: var(--green);

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 1.5px;
}

.welcome-card h1 {
    margin: 8px 0;

    font-size: 30px;

    letter-spacing: -0.5px;
}

.welcome-card p {
    margin: 0;

    color: var(--text-secondary);

    font-size: 14px;
}

.welcome-icon {
    position: relative;

    z-index: 1;

    width: 85px;
    height: 85px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 24px;

    background:
        rgba(34, 197, 94, 0.12);

    font-size: 42px;
}


/* =====================================================
   STATISTICS
   ===================================================== */

.stats-grid {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 15px;

    margin-bottom: 35px;
}

.stat-card {
    background: var(--card);

    border: 1px solid var(--border);

    border-radius: var(--radius);

    padding: 20px;

    display: flex;

    align-items: center;

    gap: 14px;

    transition: 0.2s ease;
}

.stat-card:hover {
    background: var(--card-hover);

    transform: translateY(-2px);
}

.stat-icon {
    width: 45px;
    height: 45px;

    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    font-size: 20px;
}

.stat-icon.green {
    background: rgba(34, 197, 94, 0.12);
}

.stat-icon.blue {
    background: rgba(56, 189, 248, 0.12);
}

.stat-icon.purple {
    background: rgba(167, 139, 250, 0.12);
}

.stat-icon.orange {
    background: rgba(245, 158, 11, 0.12);
}

.stat-label {
    color: var(--text-muted);

    font-size: 11px;

    margin-bottom: 5px;
}

.stat-value {
    font-size: 22px;

    font-weight: 800;
}


/* =====================================================
   SECTION HEADER
   ===================================================== */

.section-header {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    margin-bottom: 20px;
}

.section-header h1,
.section-header h2 {
    margin: 0;

    font-weight: 800;
}

.section-header h1 {
    font-size: 27px;
}

.section-header h2 {
    font-size: 20px;
}

.section-header p {
    color: var(--text-muted);

    margin: 6px 0 0;

    font-size: 13px;
}


/* =====================================================
   BUTTONS
   ===================================================== */

.primary-button {
    border: 0;

    background:
        linear-gradient(
            135deg,
            var(--green),
            var(--green-dark)
        );

    color: white;

    border-radius: 10px;

    padding: 11px 17px;

    font-size: 13px;

    font-weight: 700;

    cursor: pointer;

    transition: 0.2s ease;

    box-shadow:
        0 6px 16px
        rgba(34, 197, 94, 0.12);
}

.primary-button:hover {
    transform: translateY(-1px);

    box-shadow:
        0 9px 20px
        rgba(34, 197, 94, 0.2);
}

.primary-button.large {
    margin-top: 22px;

    padding: 14px 22px;

    font-size: 14px;
}


/* =====================================================
   GOAL GRID
   ===================================================== */

.goal-grid {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 16px;
}


/* =====================================================
   GOAL CARD
   ===================================================== */

.goal-card {
    background: var(--card);

    border: 1px solid var(--border);

    border-radius: var(--radius);

    padding: 20px;

    transition: 0.2s ease;
}

.goal-card:hover {
    background: var(--card);
    border-color: rgba(34, 197, 94, 0.45);
    box-shadow: 0 10px 28px rgba(34, 197, 94, 0.10);
}

.goal-card-top {
    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 15px;
}

.goal-card-name {
    font-size: 18px;

    font-weight: 800;
}

.goal-card-unit {
    color: var(--text-muted);

    font-size: 12px;

    margin-top: 4px;
}

.goal-delete {
    border: 0;

    background: rgba(239, 68, 68, 0.08);

    color: #f87171;

    width: 32px;
    height: 32px;

    border-radius: 8px;

    cursor: pointer;

    transition: 0.2s ease;
}

.goal-delete:hover {
    background: rgba(239, 68, 68, 0.18);
}

.goal-date {
    color: var(--blue);

    font-size: 11px;

    margin-top: 16px;
}

.goal-targets {
    margin-top: 16px;

    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 8px;
}

.target-box {
    background: #0f172a;

    border-radius: 9px;

    padding: 10px;
}

.target-label {
    color: #ffffff;

    font-size: 10px;
}

.target-value {
    margin-top: 4px;

    color: #ffffff;

    font-size: 13px;

    font-weight: 700;
}


/* =====================================================
   CONTENT CARD
   ===================================================== */

.content-card {
    background: var(--card);

    border: 1px solid var(--border);

    border-radius: var(--radius);

    padding: 24px;

    margin-bottom: 25px;
}

.card-header {
    margin-bottom: 22px;
}

.card-header h2 {
    margin: 0;

    font-size: 18px;
}

.card-header p {
    margin: 5px 0 0;

    color: var(--text-muted);

    font-size: 12px;
}


/* =====================================================
   FORMS
   ===================================================== */

.form-grid {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 18px;
}

.form-group {
    display: flex;

    flex-direction: column;
}

.form-group label {
    margin-bottom: 7px;

    color: var(--text-secondary);

    font-size: 12px;

    font-weight: 600;
}

.form-group input,
.form-group select {
    width: 100%;

    border: 1px solid var(--border);

    outline: none;

    background: #0f172a;

    color: white;

    border-radius: 10px;

    padding: 12px 13px;

    font-size: 14px;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.form-group input::placeholder {
    color: #475569;
}

.form-group input:focus,
.form-group select:focus {
    border-color: var(--green);

    box-shadow:
        0 0 0 3px
        rgba(34, 197, 94, 0.08);
}


/* =====================================================
   TASKS
   ===================================================== */

.tasks-list {
    display: flex;

    flex-direction: column;

    gap: 9px;
}

.task-row {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;

    padding: 14px;

    border-radius: 11px;

    background: #0f172a;

    border: 1px solid transparent;

    transition: 0.2s ease;
}

.task-row:hover {
    border-color: var(--border);
}

.task-main {
    min-width: 0;
}

.task-goal {
    font-weight: 700;

    font-size: 13px;
}

.task-info {
    color: var(--text-muted);

    font-size: 11px;

    margin-top: 5px;
}

.task-right {
    display: flex;

    align-items: center;

    gap: 12px;
}

.task-amount {
    color: var(--green);

    font-weight: 800;

    font-size: 13px;

    white-space: nowrap;
}

.small-delete {
    border: 0;

    background: #1e293b;

    color: var(--text-muted);

    padding: 6px 9px;

    border-radius: 7px;

    cursor: pointer;

    font-size: 10px;
}

.small-delete:hover {
    color: #f87171;

    background:
        rgba(239, 68, 68, 0.1);
}


/* =====================================================
   PROGRESS
   ===================================================== */

.overall-card {
    background:
        linear-gradient(
            135deg,
            #14291f,
            #172033
        );

    border: 1px solid
        rgba(34, 197, 94, 0.15);

    border-radius: 18px;

    padding: 25px;

    margin-bottom: 25px;
}

.overall-label {
    color: var(--text-muted);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 1px;
}

.overall-score {
    font-size: 42px;

    font-weight: 900;

    margin-top: 4px;
}

.overall-progress {
    height: 10px;

    margin-top: 15px;

    background: #263449;

    border-radius: 20px;

    overflow: hidden;
}

.progress-fill {
    height: 100%;

    width: 0%;

    background:
        linear-gradient(
            90deg,
            var(--green),
            #4ade80
        );

    border-radius: 20px;

    transition:
        width 0.5s ease;
}

.progress-list {
    display: flex;

    flex-direction: column;

    gap: 15px;
}

.progress-card {
    background: var(--card);

    border: 1px solid var(--border);

    border-radius: var(--radius);

    padding: 20px;
}

.progress-card-header {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 15px;
}

.progress-goal-name {
    font-size: 18px;

    font-weight: 800;
}

.progress-goal-date {
    color: var(--blue);

    font-size: 11px;

    margin-top: 5px;
}

.period {
    margin-top: 13px;

    padding: 14px;

    background: #0f172a;

    border-radius: 11px;
}

.period-header {
    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-bottom: 8px;
}

.period-title {
    color: var(--text-secondary);

    font-size: 11px;

    font-weight: 700;
}

.period-percent {
    font-size: 12px;

    font-weight: 800;
}

.period-info {
    display: flex;

    justify-content: space-between;

    color: var(--text-muted);

    font-size: 11px;
}

.period-bar {
    width: 100%;

    height: 7px;

    margin-top: 9px;

    background: #263449;

    border-radius: 20px;

    overflow: hidden;
}

.period-fill {
    height: 100%;

    border-radius: 20px;

    background: var(--green);

    transition:
        width 0.5s ease;
}

.status-message {
    margin-top: 7px;

    font-size: 10px;

    font-weight: 600;
}

.status-green {
    color: var(--green);
}

.status-blue {
    color: var(--blue);
}

.status-orange {
    color: var(--orange);
}

.status-red {
    color: var(--red);
}


/* =====================================================
   SETTINGS
   ===================================================== */

.settings-card {
    max-width: 600px;

    text-align: center;
}

.settings-icon {
    width: 70px;
    height: 70px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 auto 15px;

    border-radius: 20px;

    background:
        rgba(56, 189, 248, 0.1);

    font-size: 30px;
}

.settings-card h2 {
    margin: 0;

    font-size: 20px;
}

.settings-card p {
    color: var(--text-muted);

    font-size: 13px;

    margin: 7px 0;
}

.settings-email {
    color: var(--blue);

    font-size: 14px;

    font-weight: 700;

    margin-top: 12px;
}


/* =====================================================
   EMPTY STATE
   ===================================================== */

.empty {
    text-align: center;

    padding: 35px 15px;

    color: var(--text-muted);

    font-size: 13px;

    background: #0f172a;

    border-radius: 12px;

    border: 1px dashed var(--border);
}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 1000px) {

    .stats-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .goal-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 750px) {

    :root {
        --sidebar-width: 0px;
    }

    .sidebar {
        position: fixed;

        width: 100%;

        height: 70px;

        top: auto;
        bottom: 0;

        left: 0;

        padding: 7px 10px;

        border-right: 0;

        border-top: 1px solid var(--border);

        flex-direction: row;

        align-items: center;
    }

    .logo {
        display: none;
    }

    .menu {
        width: 100%;

        display: grid;

        grid-template-columns:
            repeat(5, 1fr);

        gap: 3px;
    }

    .menu-button {
        padding: 7px 2px;

        flex-direction: column;

        justify-content: center;

        gap: 2px;

        font-size: 9px;

        text-align: center;
    }

    .menu-button span:first-child {
        width: auto;

        font-size: 17px;
    }

    .sidebar-bottom {
        display: none;
    }

    .main {
        margin-left: 0;

        width: 100%;

        padding:
            0 15px 90px;
    }

    .topbar {
        min-height: 75px;

        margin-bottom: 20px;
    }

    .topbar-title {
        font-size: 17px;
    }

    .topbar-subtitle {
        display: none;
    }

    .user-email {
        max-width: 110px;

        font-size: 10px;
    }

    .welcome-card {
        padding: 24px;

        min-height: 160px;
    }

    .welcome-card h1 {
        font-size: 23px;
    }

    .welcome-card p {
        font-size: 12px;
    }

    .welcome-icon {
        width: 60px;
        height: 60px;

        font-size: 28px;

        border-radius: 17px;
    }

    .stats-grid {
        grid-template-columns:
            repeat(2, 1fr);

        gap: 9px;

        margin-bottom: 25px;
    }

    .stat-card {
        padding: 14px;

        gap: 9px;
    }

    .stat-icon {
        width: 36px;
        height: 36px;

        font-size: 16px;
    }

    .stat-label {
        font-size: 9px;
    }

    .stat-value {
        font-size: 18px;
    }

    .section-header {
        align-items: flex-start;

        flex-direction: column;
    }

    .section-header .primary-button {
        width: 100%;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .content-card {
        padding: 17px;
    }

    .goal-targets {
        grid-template-columns: 1fr;
    }

    .task-row {
        align-items: flex-start;
    }

    .task-right {
        flex-direction: column;

        align-items: flex-end;

        gap: 6px;
    }

}
/* =====================================================
   PROGRESS - NOUVEAU DESIGN
   ===================================================== */


/* -----------------------------------------------------
   LISTE DES OBJECTIFS
   ----------------------------------------------------- */

.progress-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}


/* -----------------------------------------------------
   CARTE PRINCIPALE D'UN OBJECTIF
   ----------------------------------------------------- */

.progress-card {
    background: #ffffff;
    border: 1px solid #e7eaf0;
    border-radius: 18px;
    padding: 26px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}


/* -----------------------------------------------------
   EN-TETE
   ----------------------------------------------------- */

.progress-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 24px;
}


.progress-goal-name {
    font-size: 22px;
    font-weight: 700;
    color: #172033;
    margin-bottom: 6px;
}


.progress-goal-date {
    font-size: 13px;
    color: #7b8495;
}


/* -----------------------------------------------------
   BADGE DE STATUT
   ----------------------------------------------------- */

.progress-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 13px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}


/* -----------------------------------------------------
   RESUME PRINCIPAL
   ----------------------------------------------------- */

.progress-overview {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 12px;
}


.progress-overview-label {
    font-size: 13px;
    color: #7b8495;
    margin-bottom: 6px;
}


.progress-overview-value {
    font-size: 30px;
    font-weight: 800;
    color: #172033;
}


.progress-overview-value span {
    font-size: 14px;
    font-weight: 500;
    color: #7b8495;
}


.progress-overview-percent {
    font-size: 30px;
    font-weight: 800;
    color: #2563eb;
}


/* -----------------------------------------------------
   GRANDE BARRE DE PROGRESSION
   ----------------------------------------------------- */

.main-progress-bar {
    width: 100%;
    height: 12px;
    background: #edf0f5;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 14px;
}


.main-progress-fill {
    height: 100%;
    border-radius: inherit;
    background: #2563eb;
    transition: width 0.4s ease;
}


/* -----------------------------------------------------
   INFORMATIONS SOUS LA BARRE
   ----------------------------------------------------- */

.progress-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    font-size: 13px;
    color: #737d8f;
    padding-bottom: 24px;
    border-bottom: 1px solid #edf0f4;
}


/* -----------------------------------------------------
   GRILLE DES PERIODES
   ----------------------------------------------------- */

.periods-grid {
    display: grid;
    grid-template-columns:
        repeat(5, minmax(0, 1fr));

    gap: 12px;
    margin-top: 22px;
}

.target-remaining{margin-top:6px;color:#cbd5e1;font-size:10px;font-weight:600}

.periods-grid-primary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}


/* -----------------------------------------------------
   CARTE D'UNE PERIODE
   ----------------------------------------------------- */

.period-card {
    background: #f8f9fb;
    border: 1px solid #e9ecf1;
    border-radius: 14px;
    padding: 16px;
    min-width: 0;
}


.period-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 14px;
}


.period-card-title {
    font-size: 14px;
    font-weight: 700;
    color: #20293a;
}


.period-card-subtitle {
    font-size: 11px;
    color: #8a93a3;
    margin-top: 3px;
}


.period-card-percent {
    font-size: 14px;
    font-weight: 800;
}


.period-card-values {
    display: flex;
    align-items: baseline;
    gap: 4px;
    margin-bottom: 11px;
}


.period-card-values strong {
    font-size: 19px;
    color: #172033;
}


.period-card-values span {
    font-size: 11px;
    color: #858e9d;
}


/* -----------------------------------------------------
   BARRE DES PETITES PERIODES
   ----------------------------------------------------- */

.period-card-bar {
    height: 7px;
    width: 100%;
    background: #e5e9ef;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 10px;
}


.period-card-fill {
    height: 100%;
    border-radius: inherit;
    background: #2563eb;
    transition: width 0.4s ease;
}


.period-card-status {
    font-size: 11px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    min-height: 25px;
    padding: 4px 9px;
    border-radius: 999px;
}

.long-term-periods {
    margin-top: 14px;
    border-top: 1px solid #edf0f4;
    padding-top: 14px;
}

.long-term-periods summary {
    color: var(--navy, #0b132b);
    cursor: pointer;
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 700;
    list-style-position: inside;
}

.periods-grid-long-term {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}


/* -----------------------------------------------------
   COULEURS DES STATUTS
   ----------------------------------------------------- */

.status-green {
    color: #15803d;
}


.status-blue {
    color: #2563eb;
}


.status-orange {
    color: #d97706;
}


.status-red {
    color: #dc2626;
}

.status-neutral {
    color: #64748b;
}

.progress-status-badge.status-green,
.period-card-status.status-green { background: rgba(34, 197, 94, 0.12); }
.progress-status-badge.status-blue,
.period-card-status.status-blue { background: rgba(6, 182, 212, 0.12); color: #0e7490; }
.progress-status-badge.status-orange,
.period-card-status.status-orange { background: rgba(245, 158, 11, 0.13); }
.progress-status-badge.status-red,
.period-card-status.status-red { background: rgba(239, 68, 68, 0.11); }
.progress-status-badge.status-neutral,
.period-card-status.status-neutral { background: #eef2f6; }


/* -----------------------------------------------------
   RESUME GLOBAL
   ----------------------------------------------------- */

.progress-summary {
    margin: 0 0 24px;
}

.progress-insights-card {
    border-left: 4px solid var(--primary, #22c55e);
}

.reminder-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;transition:opacity .2s}.reminder-options.disabled{opacity:.42}.reminder-check{grid-column:1/-1;display:flex;gap:10px;align-items:center;color:var(--text-secondary)}
.rewards-hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px;border-radius:20px;background:linear-gradient(135deg,#0b132b,#152447);color:white;margin-bottom:24px}.rewards-hero span{color:#f4c542;font-weight:700;font-size:12px;letter-spacing:1px}.rewards-hero h2{color:white;margin:8px 0}.rewards-hero p{color:#cbd5e1;margin:0}.rewards-hero>strong{font-size:48px;color:#f4c542}.rewards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.reward-card{padding:24px;border-radius:18px;background:white;border:1px solid var(--border);box-shadow:var(--shadow-card);text-align:center}.reward-card.locked{opacity:.58;filter:grayscale(.4)}.reward-medal{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;font-size:34px;background:linear-gradient(135deg,rgba(34,197,94,.15),rgba(6,182,212,.18));border:3px solid rgba(34,197,94,.25)}.reward-state{font-size:11px;font-weight:800;color:var(--primary-dark);text-transform:uppercase;letter-spacing:1px}.reward-card h3{margin:8px 0}.reward-card p{color:var(--text-secondary);min-height:42px}.reward-card strong{color:var(--navy)}
.reward-celebration{position:fixed;inset:0;z-index:10000;background:rgba(11,19,43,.78);display:grid;place-items:center;padding:20px}.reward-celebration-card{position:relative;width:min(460px,100%);padding:38px;text-align:center;border-radius:24px;background:white;box-shadow:0 30px 80px rgba(0,0,0,.3)}.reward-celebration-card>button{position:absolute;right:16px;top:12px;border:0;background:none;font-size:28px;cursor:pointer}.reward-burst{font-size:76px}.reward-celebration-card>span{color:#d69e00;font-weight:800;letter-spacing:2px}.reward-celebration-card h2{font-size:30px}.reward-celebration-card a{display:inline-flex;margin-top:12px;padding:12px 20px;border-radius:12px;background:var(--gradient-primary);color:white;text-decoration:none;font-weight:700}
@media(max-width:800px){.rewards-grid{grid-template-columns:1fr}.rewards-hero{align-items:flex-start}.reminder-options{grid-template-columns:1fr}.reminder-check{grid-column:auto}}


.progress-summary-card {
    display: flex;
    align-items: center;
    gap: 18px;
    background: #ffffff;
    border: 1px solid #e7eaf0;
    border-radius: 18px;
    padding: 20px 24px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}


.progress-summary-icon {
    width: 48px;
    height: 48px;
    flex-shrink: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;
    background: #eef4ff;
    font-size: 23px;
}


.progress-summary-title {
    font-size: 16px;
    font-weight: 700;
    color: #172033;
    margin-bottom: 4px;
}


.progress-summary-text {
    font-size: 13px;
    color: #7b8495;
}


.progress-summary-score {
    margin-left: auto;
    font-size: 25px;
    font-weight: 800;
    color: #2563eb;
}


/* -----------------------------------------------------
   ETAT VIDE
   ----------------------------------------------------- */

.progress-list .empty {
    text-align: center;
    padding: 55px 20px;
    background: #ffffff;
    border: 1px dashed #d8dde6;
    border-radius: 18px;
}


.empty-icon {
    font-size: 42px;
    margin-bottom: 12px;
}


.progress-list .empty h3 {
    margin: 0 0 7px;
    color: #172033;
}


.progress-list .empty p {
    margin: 0;
    color: #7b8495;
    font-size: 14px;
}


/* =====================================================
   RESPONSIVE TABLETTE
   ===================================================== */

@media (max-width: 1100px) {

    .periods-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }

    .periods-grid-primary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}


/* =====================================================
   RESPONSIVE MOBILE
   ===================================================== */

@media (max-width: 700px) {

    .progress-card {
        padding: 18px;
        border-radius: 15px;
    }


    .progress-card-header {
        flex-direction: column;
        gap: 12px;
    }


    .progress-status-badge {
        align-self: flex-start;
    }


    .progress-overview-value {
        font-size: 25px;
    }


    .progress-overview-percent {
        font-size: 25px;
    }


    .progress-meta {
        flex-direction: column;
        align-items: flex-start;
    }


    .periods-grid {
        grid-template-columns: 1fr;
    }


    .period-card {
        padding: 15px;
    }


    .progress-summary-card {
        padding: 18px;
    }


    .progress-summary-score {
        font-size: 21px;
    }

}
/* =====================================================
   AUTHENTICATION
   ===================================================== */

.auth-page {
    min-height: 100vh;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 30px 20px;

    background:
        linear-gradient(
            135deg,
            #f5f7fb 0%,
            #eef3ff 100%
        );
}


.auth-card {
    width: 100%;
    max-width: 440px;

    background: #ffffff;

    border: 1px solid #e7eaf0;

    border-radius: 22px;

    padding: 38px;

    box-shadow:
        0 20px 50px rgba(
            15,
            23,
            42,
            0.10
        );
}


/* -----------------------------------------------------
   LOGO
   ----------------------------------------------------- */

.auth-logo {
    text-align: center;
    margin-bottom: 30px;
}


.auth-logo-icon {
    width: 62px;
    height: 62px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 auto 14px;

    border-radius: 18px;

    background: #eef4ff;

    font-size: 30px;
}


.auth-logo h1 {
    margin: 0;

    font-size: 30px;

    font-weight: 800;

    color: #172033;
}


.auth-logo p {
    margin: 8px 0 0;

    color: #7b8495;

    font-size: 14px;
}


/* -----------------------------------------------------
   PANELS
   ----------------------------------------------------- */

.auth-panel h2 {
    margin: 0 0 7px;

    font-size: 22px;

    color: #172033;
}


.auth-description {
    margin: 0 0 24px;

    color: #7b8495;

    font-size: 14px;
}


/* -----------------------------------------------------
   FORMULAIRES
   ----------------------------------------------------- */

.auth-panel .form-group {
    margin-bottom: 18px;
}


.auth-panel label {
    display: block;

    margin-bottom: 7px;

    font-size: 13px;

    font-weight: 600;

    color: #344054;
}


.auth-panel input {
    width: 100%;

    box-sizing: border-box;

    padding: 13px 14px;

    border: 1px solid #d9dee8;

    border-radius: 10px;

    background: #ffffff;

    color: #172033;

    font-size: 14px;

    outline: none;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}


.auth-panel input:focus {
    border-color: #2563eb;

    box-shadow:
        0 0 0 3px
        rgba(
            37,
            99,
            235,
            0.10
        );
}


.auth-panel input::placeholder {
    color: #a0a8b6;
}


/* -----------------------------------------------------
   BOUTON
   ----------------------------------------------------- */

.auth-button {
    width: 100%;

    margin-top: 4px;
}


.primary-button {
    cursor: pointer;
}


.primary-button:disabled {
    opacity: 0.65;

    cursor: not-allowed;
}


/* -----------------------------------------------------
   CHANGEMENT LOGIN / REGISTER
   ----------------------------------------------------- */

.auth-switch {
    display: flex;

    align-items: center;
    justify-content: center;

    flex-wrap: wrap;

    gap: 5px;

    margin-top: 24px;

    font-size: 13px;

    color: #7b8495;
}


.text-button {
    border: none;

    background: transparent;

    padding: 0;

    color: #2563eb;

    font-size: 13px;

    font-weight: 700;

    cursor: pointer;
}


.text-button:hover {
    text-decoration: underline;
}


/* -----------------------------------------------------
   MESSAGES
   ----------------------------------------------------- */

.auth-message {
    min-height: 20px;

    margin-bottom: 8px;

    font-size: 13px;

    color: #64748b;
}


.auth-message.error {
    color: #dc2626;
}


.auth-message.success {
    color: #15803d;
}

.auth-verification-note {
    margin: -9px 0 18px;
    padding: 11px 13px;
    border: 1px solid #bae6fd;
    border-radius: 10px;
    background: #f0f9ff;
    color: #334155;
    font-size: 12px;
    line-height: 1.5;
}

.resend-verification-button {
    display: block;
    margin: 0 auto 14px;
}

.resend-verification-button[hidden] {
    display: none;
}

.forgot-password-row {
    display: flex;
    justify-content: flex-end;
    margin: -8px 0 16px;
}

.forgot-password-link,
.password-reset-card .text-button {
    color: #087f5b;
    font-size: 13px;
    font-weight: 750;
    text-decoration: none;
}

.forgot-password-link:hover,
.forgot-password-link:focus-visible,
.password-reset-card .text-button:hover,
.password-reset-card .text-button:focus-visible {
    text-decoration: underline;
}

.password-reset-page {
    background:
        radial-gradient(circle at 20% 15%, rgba(34,197,94,.13), transparent 32%),
        radial-gradient(circle at 85% 80%, rgba(6,182,212,.13), transparent 34%),
        linear-gradient(135deg,#f8fbff 0%,#eef7f5 100%);
}

.password-reset-card {
    position: relative;
    max-width: 500px;
    padding: 42px;
}

.password-reset-home {
    display: block;
    width: fit-content;
    margin: 0 auto 34px;
}

.password-reset-home img {
    display: block;
    width: 188px;
    max-width: 62vw;
    height: auto;
}

.password-reset-kicker {
    display: block;
    margin-bottom: 10px;
    color: #079669;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 1.4px;
}

.password-reset-card h1 {
    margin: 0 0 10px;
    color: #0b132b;
    font-size: clamp(25px,5vw,32px);
    line-height: 1.12;
}

.password-reset-card .auth-description {
    margin-bottom: 26px;
    color: #526175;
    font-size: 15px;
    line-height: 1.6;
}

.password-reset-card .auth-message {
    min-height: 22px;
    margin: 4px 0 12px;
    line-height: 1.45;
}

.password-reset-card .auth-message.success {
    padding: 12px 14px;
    border: 1px solid #bbf7d0;
    border-radius: 10px;
    background: #f0fdf4;
}

.password-reset-card .auth-message.error {
    padding: 12px 14px;
    border: 1px solid #fecaca;
    border-radius: 10px;
    background: #fff7f7;
}

.email-verification-action {
    display: block;
    box-sizing: border-box;
    margin-top: 18px;
    text-align: center;
    text-decoration: none;
}

.email-verification-action[hidden] {
    display: none;
}


/* -----------------------------------------------------
   HIDDEN
   ----------------------------------------------------- */

.hidden {
    display: none !important;
}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 520px) {

    .auth-page {
        padding: 20px 14px;
    }


    .auth-card {
        padding: 28px 22px;

        border-radius: 18px;
    }


    .auth-logo h1 {
        font-size: 26px;
    }


    .auth-logo-icon {
        width: 56px;
        height: 56px;

        font-size: 27px;
    }

}
/* =====================================================
   YOUR PLAN
   ===================================================== */

.plan-card {
    margin-top: 24px;
}


.plan-header {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 12px;
}


.plan-label {
    font-size: 11px;

    font-weight: 800;

    letter-spacing: 0.08em;

    color: #7b8495;

    margin-bottom: 5px;
}


.plan-card h2 {
    margin: 0;

    font-size: 24px;

    color: #172033;
}


.plan-badge {
    padding: 8px 14px;

    border-radius: 999px;

    font-size: 12px;

    font-weight: 800;
}


.plan-badge.free {
    background: #f1f5f9;

    color: #475569;
}


.plan-badge.premium {
    background: #fff7d6;

    color: #b77900;
}


.plan-description {
    color: #7b8495;

    font-size: 14px;

    margin-bottom: 20px;
}


.plan-features {
    display: grid;

    gap: 10px;

    margin-bottom: 22px;
}


.plan-feature {
    display: flex;

    align-items: center;

    gap: 9px;

    font-size: 13px;

    color: #475467;
}


.plan-feature span {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 20px;
    height: 20px;

    border-radius: 50%;

    background: #eef4ff;

    color: #2563eb;

    font-size: 11px;

    font-weight: 800;
}

.premium-poker-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    margin: 0 0 22px;
    padding: 18px;
    border: 1px solid rgba(6, 182, 212, 0.28);
    border-radius: 15px;
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.10), rgba(6, 182, 212, 0.10));
    color: #172033;
    text-decoration: none;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.premium-poker-card:hover {
    transform: translateY(-2px);
    border-color: rgba(6, 182, 212, 0.55);
    box-shadow: 0 12px 28px rgba(6, 182, 212, 0.10);
}

.premium-poker-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 13px;
    background: #0b132b;
    font-size: 23px;
}

.premium-poker-copy,
.premium-poker-copy small,
.premium-poker-copy strong,
.premium-poker-copy span {
    display: block;
}

.premium-poker-copy small {
    margin-bottom: 3px;
    color: #16a34a;
    font: 800 9px Poppins, sans-serif;
    letter-spacing: .10em;
}

.premium-poker-copy strong {
    color: inherit;
    font: 700 15px Poppins, sans-serif;
}

.premium-poker-copy span {
    margin-top: 4px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.45;
}

.premium-poker-card > b {
    color: #0891b2;
    font-size: 12px;
    white-space: nowrap;
}

.plan-card:has(.plan-badge.premium) .premium-poker-card {
    border-color: rgba(103, 232, 249, .30);
    background: rgba(255, 255, 255, .07);
    color: #fff;
}

.plan-card:has(.plan-badge.premium) .premium-poker-copy span {
    color: #cbd5e1;
}

.plan-card:has(.plan-badge.premium) .premium-poker-card > b {
    color: #67e8f9;
}


.upgrade-button {
    width: 100%;
}


.subscription-status {
    margin-top: 12px;

    text-align: center;

    font-size: 12px;

    color: #8a93a3;
}


@media (max-width: 600px) {

    .plan-header {
        align-items: flex-start;
    }

    .plan-badge {
        padding: 7px 11px;
    }

    .premium-poker-card {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start;
    }

    .premium-poker-card > b {
        grid-column: 2;
    }

}

/* =====================================================
   LANDING PAGE
   ===================================================== */

.landing-page {
    margin: 0;

    background: #ffffff;

    color: #172033;

    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
}


.landing-page * {
    box-sizing: border-box;
}


/* =====================================================
   NAVIGATION
   ===================================================== */

.landing-nav {
    width: min(
        1440px,
        calc(100% - 48px)
    );

    margin: 0 auto;

    min-height: 78px;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;
}


.landing-logo {
    display: flex;

    align-items: center;

    gap: 10px;

    color: #172033;

    text-decoration: none;

    font-size: 19px;

    font-weight: 800;
}


.landing-logo-icon {
    width: 36px;
    height: 36px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 11px;

    background: #eef4ff;

    color: #2563eb;

    font-weight: 900;
}


.landing-menu {
    display: flex;

    align-items: center;

    justify-content: center;

    gap: clamp(12px, 1.35vw, 22px);

    flex: 1;

    margin: 0 24px;

    white-space: nowrap;
}

/* =====================================================
   OFFICIAL BRAND — FINAL OVERRIDES
   ===================================================== */

:root {
    --primary: #22C55E;
    --primary-dark: #16A34A;
    --navy: #0B132B;
    --text: #0B132B;
    --text-secondary: #64748B;
    --background: #F1F5F9;
    --surface: #FFFFFF;
    --border: #E2E8F0;
    --cyan: #06B6D4;
    --premium-gold: #F4C542;
    --gradient-primary: linear-gradient(135deg, #22C55E 0%, #06B6D4 100%);
    --radius-small: 8px;
    --radius-medium: 14px;
    --radius-large: 20px;
    --shadow-card: 0 8px 30px rgba(11, 19, 43, 0.08);
}

body,
p,
input,
textarea,
select {
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

h1,
h2,
h3,
h4,
button,
.landing-logo,
.logo-title,
.hero-stat strong,
.overall-score,
.progress-overview-value,
.progress-summary-score {
    font-family: "Poppins", sans-serif;
}

.landing-page,
.auth-page {
    background: var(--background);
    color: var(--navy);
}

.landing-logo-icon,
.auth-logo-icon,
.logo-icon {
    color: transparent !important;
    background-color: transparent !important;
    background-image: url("/icon-trugaro.svg") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 0 !important;
}

.landing-logo-icon {
    width: 42px;
    height: 42px;
}

.landing-logo,
.landing-page h1,
.landing-page h2,
.landing-page h3,
.auth-logo h1,
.auth-panel h2 {
    color: var(--navy);
}

.landing-menu a:hover,
.text-button,
.hero-secondary {
    color: var(--primary-dark);
}

.section-label,
.plan-label {
    color: var(--primary-dark);
}

.primary-button,
.landing-primary,
.btn-primary {
    border: none;
    border-radius: 12px;
    padding: 12px 22px;
    background: var(--gradient-primary);
    color: #FFFFFF;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 7px 18px rgba(34, 197, 94, 0.18);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.primary-button:hover,
.landing-primary:hover,
.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(34, 197, 94, 0.25);
}

.step-card,
.benefit-card,
.testimonial-card,
.faq-item,
.content-card,
.goal-card,
.task-card,
.progress-card,
.auth-card,
.pricing-card,
.hero-dashboard,
.stat-card,
.progress-summary-card {
    background: var(--surface);
    border-color: var(--border);
    border-radius: 18px;
    box-shadow: var(--shadow-card);
}

.hero-check {
    color: var(--primary-dark);
    background: rgba(34, 197, 94, 0.12);
}

.hero-progress,
.overall-progress,
.main-progress-bar,
.progress,
.progress-bar-background {
    background: var(--border);
    border-radius: 999px;
    overflow: hidden;
}

.hero-progress-fill,
.progress-fill,
.main-progress-fill,
.progress-bar {
    background: linear-gradient(90deg, var(--primary), var(--cyan));
    border-radius: inherit;
}

.auth-panel input:focus,
.auth-panel textarea:focus,
.auth-panel select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.12);
}

.sidebar {
    background: var(--navy);
    border-right-color: rgba(255, 255, 255, 0.08);
}

.sidebar .logo-title,
.sidebar .menu-button:hover {
    color: #FFFFFF;
}

.sidebar .logo-subtitle,
.sidebar .menu-button {
    color: #94A3B8;
}

.sidebar .menu-button:hover {
    background: rgba(255, 255, 255, 0.07);
}

.sidebar .menu-button.active {
    background: rgba(34, 197, 94, 0.15);
    color: var(--primary);
}

.sidebar .logout-button {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.1);
}

.plan-card:has(.plan-badge.premium),
.premium-card {
    background: linear-gradient(135deg, var(--navy), #152447);
    color: #FFFFFF;
    border-color: rgba(244, 197, 66, 0.28);
}

.plan-card:has(.plan-badge.premium) h2,
.plan-card:has(.plan-badge.premium) .plan-description {
    color: #FFFFFF;
}

.plan-badge.premium,
.premium {
    color: var(--premium-gold);
}

.plan-badge.premium {
    background: rgba(244, 197, 66, 0.14);
    border: 1px solid rgba(244, 197, 66, 0.28);
}

.landing-final {
    background: linear-gradient(135deg, var(--navy), #152447);
}

.landing-final h2,
.landing-final p {
    color: #FFFFFF;
}

@media (prefers-reduced-motion: reduce) {
    .primary-button,
    .landing-primary,
    .btn-primary {
        transition: none;
    }

    .password-reset-card {
        padding: 30px 22px;
    }
}

/* =====================================================
   OFFICIAL TRUGARO BRAND SYSTEM
   ===================================================== */

:root {
    --primary: #22C55E;
    --primary-dark: #16A34A;
    --navy: #0B132B;
    --text: #0B132B;
    --text-secondary: #64748B;
    --background: #F1F5F9;
    --surface: #FFFFFF;
    --border: #E2E8F0;
    --cyan: #06B6D4;
    --premium-gold: #F4C542;
    --gradient-primary: linear-gradient(135deg, #22C55E 0%, #06B6D4 100%);
    --radius-small: 8px;
    --radius-medium: 14px;
    --radius-large: 20px;
    --shadow-card: 0 8px 30px rgba(11, 19, 43, 0.08);
}


.landing-menu a {
    color: #667085;

    text-decoration: none;

    font-size: clamp(11px, 0.88vw, 13px);

    font-weight: 600;
}


.landing-menu a:hover {
    color: #2563eb;
}


.landing-actions {
    display: flex;

    align-items: center;

    gap: 10px;
}


.landing-login {
    border: none;

    background: transparent;

    padding: 10px 14px;

    color: #475467;

    font-size: 13px;

    font-weight: 700;

    cursor: pointer;
}


.landing-primary {
    border: none;

    border-radius: 10px;

    padding: 12px 18px;

    background: #2563eb;

    color: #ffffff;

    font-size: 13px;

    font-weight: 700;

    cursor: pointer;

    box-shadow:
        0 7px 18px
        rgba(
            37,
            99,
            235,
            0.18
        );

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


.landing-primary:hover {
    transform: translateY(-1px);

    box-shadow:
        0 10px 24px
        rgba(
            37,
            99,
            235,
            0.24
        );
}


/* =====================================================
   HERO
   ===================================================== */

.landing-hero {
    width: min(
        1180px,
        calc(100% - 40px)
    );

    margin: 0 auto;

    min-height: 650px;

    display: grid;

    grid-template-columns:
        1.05fr
        0.95fr;

    align-items: center;

    gap: 70px;

    padding: 70px 0 90px;
}


.hero-badge {
    display: inline-flex;

    align-items: center;

    padding: 7px 12px;

    margin-bottom: 20px;

    border-radius: 999px;

    background: #eef4ff;

    color: #2563eb;

    font-size: 11px;

    font-weight: 800;

    letter-spacing: 0.04em;
}


.hero-content h1 {
    max-width: 650px;

    margin: 0;

    font-size: clamp(
        44px,
        6vw,
        76px
    );

    line-height: 0.98;

    letter-spacing: -0.055em;

    font-weight: 850;
}


.hero-content h1 span {
    display: block;

    color: #2563eb;
}


.hero-text {
    max-width: 590px;

    margin: 28px 0 0;

    color: #667085;

    font-size: 17px;

    line-height: 1.7;
}


.hero-buttons {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 16px;

    margin-top: 30px;
}


.hero-button {
    padding: 14px 21px;

    font-size: 14px;
}

.language-switcher {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
}

.language-select {
    width: 58px;
    min-width: 58px;
    height: 40px;
    padding: 0 8px;
    border: 1px solid #e4e7ec;
    border-radius: 10px;
    background: #ffffff;
    color: #344054;
    font: inherit;
    font-size: 20px;
    font-weight: 700;
    cursor: pointer;
}

.standalone-language-switcher {
    position: fixed;
    z-index: 1000;
    top: 18px;
    right: 20px;
}

.auth-language-switcher {
    align-self: flex-end;
    margin: -6px -2px 8px 0;
}

.app-language-switcher {
    margin-right: 8px;
}

.hero-content > .hero-button {
    display: inline-flex;

    align-items: center;

    justify-content: center;

    width: fit-content;

    margin-top: 38px;
}


.hero-secondary {
    color: #475467;

    text-decoration: none;

    font-size: 13px;

    font-weight: 700;
}


.hero-secondary:hover {
    color: #2563eb;
}


.hero-note {
    margin-top: 18px;

    color: #98a2b3;

    font-size: 11px;
}


/* =====================================================
   HERO VISUAL
   ===================================================== */

.hero-visual {
    display: flex;

    justify-content: center;

    align-items: center;
}


.hero-card {
    width: 100%;

    max-width: 440px;

    padding: 30px;

    border: 1px solid #e7eaf0;

    border-radius: 24px;

    background: #ffffff;

    box-shadow:
        0 30px 70px
        rgba(
            15,
            23,
            42,
            0.10
        );

    transform: rotate(1.2deg);
}


.hero-card-top {
    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 25px;
}


.small-label {
    display: block;

    margin-bottom: 5px;

    color: #98a2b3;

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 0.08em;
}


.hero-card h3 {
    margin: 0;

    font-size: 20px;
}


.hero-check {
    width: 38px;
    height: 38px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: #eef4ff;

    color: #2563eb;

    font-weight: 900;
}


.hero-progress {
    height: 10px;

    overflow: hidden;

    border-radius: 999px;

    background: #edf0f5;
}


.hero-progress-fill {
    width: 68%;

    height: 100%;

    border-radius: inherit;

    background: #2563eb;
}


.hero-progress-info {
    display: flex;

    justify-content: space-between;

    margin-top: 9px;

    color: #667085;

    font-size: 11px;

    font-weight: 600;
}


.hero-goal {
    display: flex;

    align-items: center;

    gap: 13px;

    margin-top: 22px;

    padding: 15px;

    border: 1px solid #edf0f5;

    border-radius: 14px;
}


.goal-icon {
    width: 36px;
    height: 36px;

    display: flex;

    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border-radius: 10px;

    background: #f5f7fb;
}


.hero-goal strong {
    display: block;

    margin-bottom: 3px;

    color: #344054;

    font-size: 12px;
}


.hero-goal span {
    color: #98a2b3;

    font-size: 11px;
}


/* =====================================================
   SECTIONS
   ===================================================== */

.landing-section {
    width: min(
        1080px,
        calc(100% - 40px)
    );

    margin: 0 auto;

    padding: 100px 0;
}


.section-heading {
    max-width: 690px;

    margin: 0 auto 55px;

    text-align: center;
}


.section-label {
    display: block;

    margin-bottom: 12px;

    color: #2563eb;

    font-size: 10px;

    font-weight: 850;

    letter-spacing: 0.1em;
}


.section-heading h2,
.motivation-content h2,
.pricing-content h2,
.landing-final h2 {
    margin: 0;

    color: #172033;

    font-size: clamp(
        30px,
        4vw,
        46px
    );

    line-height: 1.08;

    letter-spacing: -0.035em;
}


.section-heading p {
    margin: 18px auto 0;

    max-width: 620px;

    color: #667085;

    font-size: 15px;

    line-height: 1.7;
}


/* =====================================================
   STEPS
   ===================================================== */

.steps-grid {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            1fr
        );

    gap: 20px;
}


.step-card {
    padding: 30px;

    border: 1px solid #e7eaf0;

    border-radius: 18px;

    background: #ffffff;
}


.step-number {
    margin-bottom: 35px;

    color: #2563eb;

    font-size: 12px;

    font-weight: 850;

    letter-spacing: 0.08em;
}


.step-card h3 {
    margin: 0 0 10px;

    font-size: 19px;
}


.step-card p {
    margin: 0;

    color: #667085;

    font-size: 13px;

    line-height: 1.65;
}


/* =====================================================
   MOTIVATION
   ===================================================== */

.motivation-section {
    width: 100%;

    max-width: none;

    padding-left: max(
        20px,
        calc(
            (100% - 1080px) / 2
        )
    );

    padding-right: max(
        20px,
        calc(
            (100% - 1080px) / 2
        )
    );

    background: #f7f9fc;
}


.motivation-content {
    max-width: 720px;
}


.motivation-content p {
    margin: 22px 0 0;

    color: #667085;

    font-size: 16px;

    line-height: 1.75;
}


.motivation-quote {
    margin-top: 28px;

    padding-left: 18px;

    border-left: 3px solid #2563eb;

    color: #344054;

    font-size: 14px;

    font-style: italic;

    line-height: 1.6;
}


/* =====================================================
   PRICING
   ===================================================== */

.landing-pricing {
    width: min(
        1080px,
        calc(100% - 40px)
    );

    margin: 0 auto;

    padding: 100px 0;
}


.pricing-card {
    overflow: hidden;

    border-radius: 24px;

    background: #172033;

    box-shadow:
        0 25px 60px
        rgba(
            15,
            23,
            42,
            0.16
        );
}


.pricing-content {
    max-width: 720px;

    padding: 55px;
}


.pricing-content h2 {
    color: #ffffff;
}


.pricing-content > p {
    max-width: 600px;

    margin: 20px 0;

    color: #b9c1cf;

    font-size: 15px;

    line-height: 1.7;
}


.pricing-price {
    display: flex;

    align-items: baseline;

    gap: 7px;

    margin: 28px 0;
}


.pricing-price strong {
    color: #ffffff;

    font-size: 48px;

    letter-spacing: -0.04em;
}


.pricing-price span {
    color: #aab3c2;

    font-size: 14px;
}


.pricing-features {
    display: grid;

    grid-template-columns:
        repeat(
            2,
            1fr
        );

    gap: 12px;

    margin-bottom: 30px;

    color: #dce1e8;

    font-size: 13px;
}


.pricing-button {
    background: #ffffff;

    color: #172033;

    box-shadow: none;
}


.pricing-button:hover {
    box-shadow:
        0 10px 24px
        rgba(
            0,
            0,
            0,
            0.16
        );
}


.pricing-content small {
    display: block;

    margin-top: 12px;

    color: #8f99aa;

    font-size: 10px;
}


/* =====================================================
   FINAL CTA
   ===================================================== */

.landing-final {
    padding: 110px 20px;

    text-align: center;
}


.landing-final p {
    margin: 16px 0 26px;

    color: #667085;

    font-size: 15px;
}


/* =====================================================
   FOOTER
   ===================================================== */

.landing-footer {
    width: min(
        1180px,
        calc(100% - 40px)
    );

    margin: 0 auto;

    padding: 28px 0;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    border-top: 1px solid #edf0f5;

    color: #98a2b3;

    font-size: 11px;
}


.landing-footer strong {
    display: block;

    margin-bottom: 4px;

    color: #344054;

    font-size: 12px;
}


.footer-links {
    display: flex;

    gap: 18px;
}


.footer-links a {
    color: #98a2b3;

    text-decoration: none;
}


.footer-links a:hover {
    color: #2563eb;
}


/* =====================================================
   RESPONSIVE
   ===================================================== */

@media (max-width: 850px) {

    .landing-menu {
        display: none;
    }

    .language-select { width: 54px; min-width: 54px; }


    .landing-hero {
        grid-template-columns: 1fr;

        gap: 50px;

        padding-top: 50px;

        text-align: center;
    }

    .hero-content > .hero-button {
        margin-right: auto;

        margin-left: auto;
    }


    .hero-text {
        margin-left: auto;
        margin-right: auto;
    }


    .hero-buttons {
        justify-content: center;
    }


    .hero-visual {
        max-width: 500px;

        width: 100%;

        margin: 0 auto;
    }


    .steps-grid {
        grid-template-columns: 1fr;
    }

}


@media (max-width: 600px) {

    .landing-nav {
        width: calc(100% - 28px);
    }


    .landing-actions {
        gap: 4px;
    }


    .landing-login {
        padding: 8px;
    }


    .landing-primary {
        padding: 10px 13px;
    }


    .landing-hero {
        width: calc(100% - 28px);

        padding: 40px 0 70px;
    }


    .hero-content h1 {
        font-size: 44px;
    }


    .landing-section {
        width: calc(100% - 28px);

        padding: 70px 0;
    }


    .pricing-content {
        padding: 35px 25px;
    }


    .pricing-features {
        grid-template-columns: 1fr;
    }


    .landing-footer {
        width: calc(100% - 28px);

        flex-direction: column;

        align-items: flex-start;
    }

}

/* Official Trugaro identity: keep this block last so every page shares one system. */
.campaign-share{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.campaign-share-btn{appearance:none;border:1px solid rgba(6,182,212,.45);background:rgba(6,182,212,.09);color:inherit;border-radius:12px;padding:11px 17px;font:600 13px Poppins,sans-serif;cursor:pointer}.campaign-share-btn:hover{border-color:#22c55e;background:rgba(34,197,94,.12);transform:translateY(-1px)}
:root {
    --primary: #22C55E; --primary-dark: #16A34A; --navy: #0B132B;
    --text: #0B132B; --text-secondary: #64748B; --background: #F1F5F9;
    --surface: #FFFFFF; --border: #E2E8F0; --cyan: #06B6D4;
    --premium-gold: #F4C542;
    --gradient-primary: linear-gradient(135deg, #22C55E 0%, #06B6D4 100%);
    --radius-small: 8px; --radius-medium: 14px; --radius-large: 20px;
    --shadow-card: 0 8px 30px rgba(11, 19, 43, 0.08);
}
body, p, input, textarea, select { font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
h1, h2, h3, h4, button, .landing-logo, .logo-title, .hero-stat strong, .overall-score, .progress-overview-value, .progress-summary-score { font-family: "Poppins", sans-serif; }
.landing-page, .auth-page { background: var(--background); color: var(--navy); }
.landing-logo-icon, .auth-logo-icon, .logo-icon {
    color: transparent !important; background-color: transparent !important;
    background-image: url("/icon-trugaro.svg") !important; background-position: center !important;
    background-repeat: no-repeat !important; background-size: contain !important;
    border-radius: 0 !important; box-shadow: none !important; font-size: 0 !important;
}
.landing-logo-icon { width: 42px; height: 42px; }
.landing-logo, .landing-page h1, .landing-page h2, .landing-page h3, .auth-logo h1, .auth-panel h2 { color: var(--navy); }
.landing-menu a:hover, .text-button, .hero-secondary, .section-label, .plan-label { color: var(--primary-dark); }
.primary-button, .landing-primary, .btn-primary {
    border: none; border-radius: 12px; padding: 12px 22px; background: var(--gradient-primary);
    color: #FFF; font-family: "Poppins", sans-serif; font-weight: 600; cursor: pointer;
    box-shadow: 0 7px 18px rgba(34, 197, 94, 0.18); transition: transform .2s ease, box-shadow .2s ease;
}
.primary-button:hover, .landing-primary:hover, .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(34, 197, 94, .25); }
.step-card, .benefit-card, .testimonial-card, .faq-item, .content-card, .goal-card, .task-card, .progress-card, .auth-card, .pricing-card, .hero-dashboard, .stat-card, .progress-summary-card {
    background: var(--surface); border-color: var(--border); border-radius: 18px; box-shadow: var(--shadow-card);
}
.hero-check { color: var(--primary-dark); background: rgba(34, 197, 94, .12); }
.hero-progress, .overall-progress, .main-progress-bar, .progress, .progress-bar-background { background: var(--border); border-radius: 999px; overflow: hidden; }
.hero-progress-fill, .progress-fill, .main-progress-fill, .progress-bar { background: linear-gradient(90deg, var(--primary), var(--cyan)); border-radius: inherit; }
.auth-panel input:focus, .auth-panel textarea:focus, .auth-panel select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(34, 197, 94, .12); }
.sidebar { background: var(--navy); border-right-color: rgba(255,255,255,.08); }
.sidebar .logo-title, .sidebar .menu-button:hover { color: #FFF; }
.sidebar .logo-subtitle, .sidebar .menu-button { color: #94A3B8; }
.sidebar .menu-button:hover { background: rgba(255,255,255,.07); }
.sidebar .menu-button.active { background: rgba(34,197,94,.15); color: var(--primary); }
.poker-math-menu-link{position:relative;text-decoration:none}.poker-math-menu-link small{margin-left:auto;padding:3px 6px;border-radius:999px;background:rgba(244,197,66,.16);color:#f4c542;font:800 8px Poppins,sans-serif;letter-spacing:.08em}
.sidebar .logout-button { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.1); }
.topbar-title,
.user-email,
.main > .page > .section-header h1,
.main > .page > .section-header h2 {
    color: #F8FAFC;
}
.topbar-subtitle,
.user-label,
.main > .page > .section-header p {
    color: #94A3B8;
}
.plan-card:has(.plan-badge.premium), .premium-card { background: linear-gradient(135deg, var(--navy), #152447); color: #FFF; border-color: rgba(244,197,66,.28); }
.plan-card:has(.plan-badge.premium) h2, .plan-card:has(.plan-badge.premium) .plan-description { color: #FFF; }
.plan-badge.premium, .premium { color: var(--premium-gold); }
.plan-badge.premium { background: rgba(244,197,66,.14); border: 1px solid rgba(244,197,66,.28); }
.landing-final { background: linear-gradient(135deg, var(--navy), #152447); }
.landing-final h2, .landing-final p { color: #FFF; }
@media (prefers-reduced-motion: reduce) { .primary-button, .landing-primary, .btn-primary { transition: none; } }

/* Guided goal creation and branded notifications. */
.guided-goal-form { display: grid; gap: 18px; }
.goal-form-step { display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding: 24px; border: 1px solid var(--border); border-radius: 18px; background: linear-gradient(145deg,#fff,#f8fafc); }
.goal-step-number { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; background: var(--gradient-primary); color: #fff; font: 700 14px Poppins,sans-serif; box-shadow: 0 8px 20px rgba(34,197,94,.2); }
.goal-step-content h3 { margin: 2px 0 6px; color: var(--navy); font-size: 20px; }
.goal-step-content > p { margin: 0 0 18px; color: var(--text-secondary); line-height: 1.55; }
.goal-target-preview { margin-top: 16px; padding: 17px; border-radius: 14px; background: rgba(34,197,94,.08); border: 1px solid rgba(34,197,94,.18); color: var(--text-secondary); }
.goal-target-preview strong { display: block; color: var(--navy); margin-bottom: 10px; font-family: Poppins,sans-serif; }
.goal-target-preview > div { display: flex; flex-wrap: wrap; gap: 9px; }
.goal-target-preview > div span { min-width: 112px; padding: 10px 12px; background: #fff; border: 1px solid var(--border); border-radius: 10px; color: var(--navy); font-weight: 700; }
.goal-target-preview small { display: block; margin-bottom: 3px; color: var(--text-secondary); font-weight: 500; }
.trugaro-toast-container { position: fixed; top: 22px; right: 22px; z-index: 20000; display: grid; gap: 12px; width: min(390px,calc(100vw - 32px)); }
.trugaro-toast { position: relative; display: grid; grid-template-columns: 48px 1fr 28px; align-items: center; gap: 13px; padding: 17px 16px; color: #fff; background: linear-gradient(135deg,var(--navy),#152447); border: 1px solid rgba(34,197,94,.38); border-radius: 17px; box-shadow: 0 20px 50px rgba(11,19,43,.28); opacity: 0; transform: translateY(-15px) scale(.97); transition: .25s ease; overflow: hidden; }
.trugaro-toast:before { content:""; position:absolute; inset:0 auto 0 0; width:5px; background:var(--gradient-primary); }
.trugaro-toast.visible { opacity: 1; transform: translateY(0) scale(1); }
.trugaro-toast.error { border-color: rgba(248,113,113,.5); }
.trugaro-toast.error:before { background:#ef4444; }
.trugaro-toast-icon { width: 45px; height: 45px; display:grid; place-items:center; border-radius:50%; background:var(--gradient-primary); font:700 22px Poppins,sans-serif; }
.trugaro-toast.error .trugaro-toast-icon { background:#ef4444; }
.trugaro-toast strong { font:700 15px Poppins,sans-serif; }
.trugaro-toast p { margin:3px 0 0; color:#dbe5f3; font-size:14px; line-height:1.4; }
.trugaro-toast button { align-self:start; border:0; background:transparent; color:#94a3b8; font-size:22px; cursor:pointer; padding:0; }
@media(max-width:600px){.goal-form-step{grid-template-columns:1fr;padding:19px}.trugaro-toast-container{top:14px;right:16px}.trugaro-toast{grid-template-columns:42px 1fr 24px}}

.smart-goal-import-modal{position:fixed;inset:0;z-index:25000;display:grid;place-items:center;padding:22px;background:rgba(3,9,24,.78);backdrop-filter:blur(9px);opacity:0;transition:opacity .22s ease}.smart-goal-import-modal.visible{opacity:1}.smart-goal-import-card{width:min(520px,100%);padding:34px;background:linear-gradient(145deg,#0B132B,#152447);color:#fff;border:1px solid rgba(34,197,94,.5);border-radius:24px;box-shadow:0 28px 80px rgba(0,0,0,.45);text-align:center}.smart-goal-import-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 16px;border-radius:50%;background:linear-gradient(135deg,#22C55E,#06B6D4);font:700 32px Poppins,sans-serif}.smart-goal-import-label{margin:0 0 8px;color:#22C55E;font:700 12px Poppins,sans-serif;letter-spacing:.12em}.smart-goal-import-card h2{margin:0 0 16px;color:#fff;font:700 28px/1.2 Poppins,sans-serif}.smart-goal-import-text{margin:0;padding:18px;background:rgba(255,255,255,.06);border:1px solid rgba(226,232,240,.15);border-radius:15px;color:#fff;font:600 17px/1.55 Poppins,sans-serif}.smart-goal-import-help{margin:15px 0 24px;color:#cbd5e1;line-height:1.55}.smart-goal-import-actions{display:flex;justify-content:center;gap:12px}.smart-goal-import-actions button{min-height:46px}.smart-goal-import-later{padding:11px 18px;color:#dbe5f3;background:transparent;border:1px solid rgba(226,232,240,.22);border-radius:12px;font:600 14px Poppins,sans-serif;cursor:pointer}@media(max-width:560px){.smart-goal-import-card{padding:26px 20px}.smart-goal-import-card h2{font-size:24px}.smart-goal-import-actions{flex-direction:column-reverse}.smart-goal-import-actions button{width:100%}}

.guided-goal-form { max-width: 820px; margin: 0 auto; }
.goal-wizard-progress { margin-bottom: 6px; }
.goal-wizard-track { height: 7px; overflow: hidden; border-radius: 999px; background: rgba(148,163,184,.18); }
.goal-wizard-track span { display:block; width:20%; height:100%; border-radius:inherit; background:var(--gradient-primary); transition:width .35s ease; }
.goal-wizard-labels { display:grid; grid-template-columns:repeat(6,1fr); gap:8px; margin-top:10px; color:#8293b2; font:500 11px Poppins,sans-serif; }
.goal-wizard-labels span { text-align:center; }
.goal-wizard-labels span:first-child { text-align:left; }.goal-wizard-labels span:last-child { text-align:right; }
.goal-wizard-labels span.active { color:var(--cyan); }.goal-wizard-labels span.completed { color:var(--primary); }
.goal-form-step { display:none; grid-template-columns:1fr; min-height:330px; padding:34px 30px; background:linear-gradient(145deg,#101d3a,#0d1831); border:1px solid rgba(148,163,184,.25); border-radius:20px; box-shadow:0 22px 55px rgba(11,19,43,.2); }
.goal-form-step.active { display:grid; animation:goalStepIn .28s ease; }
.goal-step-number { width:auto; height:auto; display:block; background:none; box-shadow:none; color:var(--cyan); font:700 11px Poppins,sans-serif; letter-spacing:.1em; }
.goal-step-content { display:flex; flex-direction:column; }
.goal-step-content h3 { margin:14px 0 8px; color:#fff; font-size:clamp(23px,3vw,31px); }
.goal-step-content > p { color:#aab9d2; font-size:15px; }
.goal-step-content .form-group { margin-top:6px; }
.goal-step-content .form-group label { color:#dbe5f3; }
.goal-step-content input,.goal-step-content select { min-height:52px; background:#152443; color:#fff; border:1px solid #314467; border-radius:13px; }
.goal-step-content input::placeholder { color:#8192af; }
.goal-step-content input:focus,.goal-step-content select:focus { border-color:var(--cyan); box-shadow:0 0 0 3px rgba(6,182,212,.14); }
.goal-wizard-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:auto; padding-top:30px; }
.goal-back-button { border:1px solid #314467; border-radius:12px; padding:12px 20px; color:#cbd5e1; background:transparent; cursor:pointer; }
.goal-back-button:hover { border-color:var(--cyan); color:#fff; }
.goal-target-preview { background:rgba(34,197,94,.09); border-color:rgba(34,197,94,.26); color:#aab9d2; }
.goal-target-preview strong,.goal-target-preview > div span { color:#fff; }.goal-target-preview > div span { background:#152443; border-color:#314467; }
@keyframes goalStepIn { from { opacity:0; transform:translateX(14px) } to { opacity:1; transform:none } }
@media(max-width:600px){.goal-wizard-labels{font-size:9px}.goal-form-step{min-height:360px;padding:25px 20px}.goal-wizard-actions{flex-wrap:wrap}.goal-wizard-actions .primary-button{margin-left:auto}}

/* Phase 1 — first-use onboarding and goal templates */
.goal-start-guide{margin-bottom:24px;padding:22px;border:1px solid rgba(34,197,94,.22);border-radius:18px;background:linear-gradient(145deg,rgba(34,197,94,.08),rgba(6,182,212,.04))}.goal-language-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}.goal-language-guide span{padding:13px;border-radius:12px;background:#111f3b;color:#aebbd0;font-size:12px}.goal-language-guide strong{display:block;margin-bottom:4px;color:#fff;font:600 14px Poppins,sans-serif}.goal-template-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.goal-template-heading h3{margin:4px 0;color:#fff}.goal-template-heading p{margin:0;color:#aebbd0}.goal-template-clear{border:1px solid #52617c;border-radius:10px;padding:10px 14px;background:#fff;color:#0b132b;font-weight:700;cursor:pointer}.goal-template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.goal-template-card{min-height:112px;padding:14px;text-align:left;border:1px solid #2d4265;border-radius:14px;background:#132440;color:#fff;cursor:pointer;transition:.2s ease}.goal-template-card:hover,.goal-template-card.selected{transform:translateY(-2px);border-color:#22c55e;box-shadow:0 8px 22px rgba(34,197,94,.13)}.goal-template-card>span{display:block;font-size:24px;margin-bottom:8px}.goal-template-card strong,.goal-template-card small{display:block}.goal-template-card strong{font-size:13px}.goal-template-card small{margin-top:4px;color:#91a3bd;font-size:10px}.onboarding-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:20px;background:rgba(4,10,25,.82);backdrop-filter:blur(8px)}.onboarding-card{position:relative;width:min(820px,100%);padding:38px;border:1px solid #304566;border-radius:24px;background:linear-gradient(145deg,#0b132b,#142746);color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.45)}.onboarding-card.compact{width:min(590px,100%)}.onboarding-close{position:absolute;right:18px;top:14px;border:0;background:transparent;color:#9aabc3;font-size:28px;cursor:pointer}.onboarding-kicker{color:#22c55e;font:700 11px Poppins,sans-serif;letter-spacing:.14em}.onboarding-card h2{max-width:620px;margin:8px 0 10px;color:#fff;font-size:clamp(25px,4vw,39px);line-height:1.15}.onboarding-card>p{color:#b8c5d9}.onboarding-definition{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:12px;margin:26px 0}.onboarding-definition span{min-height:110px;padding:15px;border:1px solid #2d4265;border-radius:14px;background:#11203b}.onboarding-definition b{display:grid;place-items:center;width:25px;height:25px;margin-bottom:9px;border-radius:50%;background:linear-gradient(135deg,#22c55e,#06b6d4)}.onboarding-definition strong,.onboarding-definition small{display:block}.onboarding-definition small{margin-top:5px;color:#9fb0c8}.onboarding-definition i{color:#22c55e}.onboarding-demo{padding:18px;border-radius:16px;background:#fff;color:#0b132b}.onboarding-demo div:first-child{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.onboarding-demo div:first-child span{color:#16a34a;font:700 10px Poppins,sans-serif}.onboarding-demo div:first-child small{margin-left:auto;color:#64748b}.onboarding-demo-track{height:9px;margin:13px 0;border-radius:99px;background:#e2e8f0;overflow:hidden}.onboarding-demo-track span{display:block;width:0;height:100%;background:linear-gradient(90deg,#22c55e,#06b6d4);transition:width .5s ease}.onboarding-demo button{border:0;background:transparent;color:#0b7f65;font-weight:700;cursor:pointer}.onboarding-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.onboarding-secondary{padding:11px 17px;border:1px solid #52617c;border-radius:11px;background:#fff;color:#0b132b;font-weight:700;cursor:pointer}.first-task-goal{margin-top:22px;padding:17px;border-left:4px solid #22c55e;border-radius:10px;background:#11203b}.first-task-goal strong,.first-task-goal span{display:block}.first-task-goal span{margin-top:5px;color:#9fb0c8}
.poker-goal-language-guide{grid-template-columns:repeat(4,minmax(0,1fr))}.poker-onboarding-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}.poker-onboarding-path{display:flex;min-height:315px;flex-direction:column;padding:20px;border:1px solid #2d4265;border-radius:17px;background:#11203b;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}.poker-onboarding-path-heading{display:flex;align-items:flex-start;gap:12px}.poker-onboarding-path-icon{display:grid;width:39px;height:39px;flex:0 0 39px;place-items:center;border:1px solid rgba(34,197,94,.3);border-radius:12px;background:linear-gradient(135deg,rgba(34,197,94,.16),rgba(6,182,212,.12));color:#fff;font-size:19px}.poker-onboarding-path-label{display:block;color:#22c55e;font:700 10px Poppins,sans-serif;letter-spacing:.1em}.poker-onboarding-path h3{margin:4px 0 0;color:#fff;font:700 19px/1.25 Poppins,sans-serif}.poker-onboarding-path>p{margin:14px 0;color:#aebdd1;font-size:12px;line-height:1.55}.poker-onboarding-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:16px}.poker-onboarding-examples-three{grid-template-columns:repeat(3,minmax(0,1fr))}.poker-onboarding-examples span{min-height:49px;padding:9px;border:1px solid rgba(148,163,184,.18);border-radius:10px;background:rgba(5,15,35,.28)}.poker-onboarding-examples b,.poker-onboarding-examples small{display:block}.poker-onboarding-examples b{color:#eaf4ff;font:700 9px/1.3 Poppins,sans-serif;letter-spacing:.05em}.poker-onboarding-examples small{margin-top:3px;color:#91a3bd;font-size:9px;line-height:1.25}.poker-onboarding-action{width:100%;min-height:46px;margin-top:auto;justify-content:center}.poker-onboarding-explore{display:block;margin:17px auto 0;padding:8px 12px;border:0;background:transparent;color:#a9b8cd;font:600 11px Poppins,sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.poker-onboarding-explore:hover{color:#fff}
@media(max-width:800px){.goal-template-grid{grid-template-columns:repeat(2,1fr)}.goal-language-guide{grid-template-columns:1fr}.onboarding-definition{grid-template-columns:1fr}.onboarding-definition i{display:none}.onboarding-card{padding:29px 20px;max-height:92vh;overflow:auto}.onboarding-actions{flex-direction:column-reverse}.onboarding-actions button{width:100%}}
@media(max-width:800px){.poker-goal-language-guide{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Phase 2 — daily engagement dashboard */
.daily-command-center{display:grid;gap:20px;margin:26px 0 34px}.daily-overview{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:15px 18px;border:1px solid #dbe5ef;border-radius:15px;background:#fff;color:#64748b}.daily-overview strong{margin-right:auto;color:#0b132b;font-family:Poppins,sans-serif}.daily-overview span{padding:7px 11px;border-radius:999px;background:#f1f5f9;font-size:12px;font-weight:700}.daily-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:20px}.today-focus-card,.next-action-card,.weekly-review-card,.recent-wins-card{padding:24px;border:1px solid #e2e8f0;border-radius:20px;background:#fff;box-shadow:0 8px 30px rgba(11,19,43,.06)}.dashboard-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.dashboard-card-heading span,.dashboard-eyebrow{color:#16a34a;font:700 10px Poppins,sans-serif;letter-spacing:.12em}.dashboard-card-heading h2{margin:4px 0 0;color:#0b132b;font-size:20px}.white-action-button{padding:10px 14px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0b132b;font:600 12px Poppins,sans-serif;cursor:pointer}.today-actions{display:grid;gap:10px}.today-action-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:15px;border:1px solid #e7edf4;border-radius:15px;background:#f8fafc}.today-number{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#0b132b;color:#fff;font:700 12px Poppins,sans-serif}.today-action-item small,.today-action-item strong,.today-action-item p{display:block}.today-action-item small{color:#16a34a;font:700 9px Poppins,sans-serif;letter-spacing:.08em}.today-action-item strong{margin:3px 0;color:#0b132b}.today-action-item p{margin:0;color:#64748b;font-size:12px}.quick-log-button{padding:10px 13px;border:0;border-radius:10px;background:linear-gradient(135deg,#22c55e,#06b6d4);color:#fff;font:600 11px Poppins,sans-serif;cursor:pointer}.next-action-card{background:linear-gradient(145deg,#0b132b,#15294a);color:#cbd5e1}.next-action-card h3{margin:14px 0 8px;color:#fff;font-size:24px}.next-action-card p{line-height:1.55}.next-action-icon{display:grid;place-items:center;width:52px;height:52px;margin-top:24px;border-radius:15px;background:linear-gradient(135deg,#22c55e,#06b6d4);color:#fff;font-size:24px}.next-action-card .white-action-button{margin-top:12px}.weekly-insights-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.weekly-review-card>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:12px}.weekly-review-metric{padding:14px;border-radius:13px;background:#f1f5f9}.weekly-review-metric strong,.weekly-review-metric span{display:block}.weekly-review-metric strong{color:#0b132b;font:700 22px Poppins,sans-serif}.weekly-review-metric span{color:#64748b;font-size:11px}.weekly-review-bar{grid-column:1/-1;height:9px;border-radius:99px;background:#e2e8f0;overflow:hidden}.weekly-review-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#06b6d4)}.weekly-review-card p{grid-column:1/-1;margin:0;color:#64748b;font-size:13px}.recent-win{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #edf2f7}.recent-win>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#dcfce7;color:#16a34a;font-weight:800}.recent-win strong,.recent-win small{display:block}.recent-win strong{color:#0b132b}.recent-win small{margin-top:2px;color:#64748b}.daily-empty{display:grid;gap:8px;padding:20px;border:1px dashed #cbd5e1;border-radius:14px;color:#64748b}.daily-empty strong{color:#0b132b}.daily-empty .primary-button{justify-self:start;margin-top:7px}.phase-two-planner{margin-top:22px}.phase-two-planner>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;cursor:pointer;color:#0b132b;font-family:Poppins,sans-serif}.phase-two-planner>summary span{font-weight:700}.phase-two-planner>summary small{color:#64748b}.phase-two-forms{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.planner-form{display:grid;gap:16px;padding:20px;border:1px solid #dce6f0;border-radius:16px;background:#f8fafc}.planner-form h3{margin:4px 0;color:#0b132b}.planner-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.planner-fields label,.quick-log-modal label{display:grid;gap:6px;color:#334155;font-size:12px;font-weight:700}.planner-fields input,.planner-fields select,.quick-log-modal input{width:100%;padding:11px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0b132b}.goal-plans-overview{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.goal-plans-overview h3{color:#0b132b}.plan-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:11px;margin-bottom:8px;border:1px solid #e2e8f0;border-radius:12px}.plan-row.paused{opacity:.55}.plan-row.completed{border-color:#86efac;background:#f0fdf4}.plan-type{padding:6px 8px;border-radius:8px;background:#e0f2fe;color:#0369a1;font:700 9px Poppins,sans-serif;text-transform:uppercase}.plan-row strong,.plan-row small{display:block}.plan-row strong{color:#0b132b}.plan-row small{margin-top:3px;color:#64748b}.plan-row button{border:0;background:#fff;color:#475569;cursor:pointer}.planner-empty{color:#64748b}.quick-log-modal label{margin-top:15px;color:#cbd5e1}.quick-log-modal input{margin-top:4px}.hidden{display:none!important}
@media(max-width:900px){.daily-layout,.weekly-insights-grid,.phase-two-forms,.goal-plans-overview{grid-template-columns:1fr}.today-action-item{grid-template-columns:auto 1fr}.today-action-item .quick-log-button{grid-column:2}.planner-fields{grid-template-columns:1fr}.daily-overview strong{width:100%}}

.guided-task-form { display:grid; gap:18px; max-width:820px; margin:0 auto; }
.task-wizard-progress { margin-bottom:6px; }
.task-wizard-track { height:7px; overflow:hidden; border-radius:999px; background:rgba(148,163,184,.18); }
.task-wizard-track span { display:block; width:25%; height:100%; border-radius:inherit; background:var(--gradient-primary); transition:width .35s ease; }
.task-wizard-labels { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:10px; color:#8293b2; font:500 11px Poppins,sans-serif; }
.task-wizard-labels span { text-align:center; }.task-wizard-labels span:first-child{text-align:left}.task-wizard-labels span:last-child{text-align:right}
.task-wizard-labels span.active{color:var(--cyan)}.task-wizard-labels span.completed{color:var(--primary)}
.task-form-step { display:none; grid-template-columns:1fr; min-height:330px; padding:34px 30px; background:linear-gradient(145deg,#101d3a,#0d1831); border:1px solid rgba(148,163,184,.25); border-radius:20px; box-shadow:0 22px 55px rgba(11,19,43,.2); }
.task-form-step.active { display:grid; animation:goalStepIn .28s ease; }
.task-step-number { color:var(--cyan); font:700 11px Poppins,sans-serif; letter-spacing:.1em; }
.task-step-content { display:flex; flex-direction:column; }.task-step-content h3{margin:14px 0 8px;color:#fff;font-size:clamp(23px,3vw,31px)}.task-step-content>p{margin:0 0 18px;color:#aab9d2;font-size:15px}
.task-step-content .form-group{margin-top:6px}.task-step-content .form-group label{color:#dbe5f3}.task-step-content input,.task-step-content select{min-height:52px;background:#152443;color:#fff;border:1px solid #314467;border-radius:13px}.task-step-content input::placeholder{color:#8192af}.task-step-content input:focus,.task-step-content select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(6,182,212,.14)}
.task-wizard-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:auto; padding-top:30px; }.task-back-button{border:1px solid #314467;border-radius:12px;padding:12px 20px;color:#cbd5e1;background:transparent;cursor:pointer}.task-back-button:hover{border-color:var(--cyan);color:#fff}
.task-summary-preview { margin-top:16px;padding:17px;border-radius:14px;background:rgba(34,197,94,.09);border:1px solid rgba(34,197,94,.26);color:#aab9d2 }.task-summary-preview strong{display:block;color:#fff;margin-bottom:10px;font-family:Poppins,sans-serif}.task-summary-preview>div{display:flex;flex-wrap:wrap;gap:9px}.task-summary-preview>div span{padding:9px 12px;border-radius:10px;background:#152443;border:1px solid #314467;color:#fff;font-weight:600}
@media(max-width:600px){.task-wizard-labels{font-size:9px}.task-form-step{min-height:360px;padding:25px 20px}.task-wizard-actions{flex-wrap:wrap}.task-wizard-actions .primary-button{margin-left:auto}}

/* Colour and scale refinements requested after the brand rollout. */
:root { --blue: #16A34A; }

.hero-content h1 span {
    color: var(--primary-dark);
    background: var(--gradient-primary);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.hero-badge,
.status-blue,
.goal-date,
.progress-goal-date,
.settings-email,
.progress-overview-percent,
.progress-summary-score,
.step-number,
.plan-feature span,
.footer-links a:hover {
    color: var(--primary-dark);
}

.hero-badge,
.progress-summary-icon,
.feature-icon,
.plan-feature span,
.stat-icon.blue {
    background: rgba(34, 197, 94, 0.11);
}

.period-card-fill { background: linear-gradient(90deg, var(--primary), var(--cyan)); }
.testimonial-quote, .motivation-quote { border-left-color: var(--primary); }

.landing-logo { font-size: 21px; gap: 12px; }
.landing-logo-icon { width: 48px; height: 48px; flex: 0 0 48px; }
.auth-logo-icon { width: 72px; height: 72px; }
.logo-icon { width: 48px; height: 48px; flex: 0 0 48px; }

.hero-content h1 {
    font-size: clamp(50px, 6vw, 80px);
    line-height: 1.02;
}

.section-heading h2,
.motivation-content h2,
.pricing-content h2,
.landing-final h2 {
    font-size: clamp(34px, 4.2vw, 52px);
    line-height: 1.12;
}

.step-card h3,
.benefit-card h3,
.hero-card h3 { font-size: 21px; }

.hero-visual { min-width: 0; }
.hero-card {
    max-width: 500px;
    padding: 36px;
    box-shadow: 0 30px 70px rgba(11, 19, 43, 0.14);
}
.hero-check { width: 46px; height: 46px; }
.stat-icon { width: 50px; height: 50px; font-size: 23px; }

@media (max-width: 850px) {
    .hero-card { max-width: 540px; }
}

@media (max-width: 600px) {
    .landing-logo { font-size: 19px; }
    .landing-logo-icon { width: 42px; height: 42px; flex-basis: 42px; }
    .hero-content h1 { font-size: clamp(40px, 12vw, 52px); }
    .section-heading h2, .motivation-content h2, .pricing-content h2, .landing-final h2 { font-size: 34px; }
    .hero-card { width: 100%; padding: 28px 22px; }
}
.free-tools-menu{position:relative}.free-tools-menu summary{list-style:none;cursor:pointer;font-weight:600}.free-tools-menu summary::-webkit-details-marker{display:none}.free-tools-menu summary:after{content:" ▾";font-size:.75em}.free-tools-panel{position:absolute;z-index:30;top:calc(100% + 12px);left:0;min-width:245px;padding:10px;background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-card);display:grid;gap:4px}.free-tools-panel a{padding:10px 12px;border-radius:9px;white-space:nowrap;color:var(--navy)!important;text-decoration:none}.free-tools-panel a:hover{background:#ecfdf5;color:var(--primary-dark)!important}.article-smart-discovery{max-width:900px;margin:20px auto 72px;padding:30px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;background:linear-gradient(135deg,#0b132b,#152447);border-radius:20px;color:#fff}.article-smart-discovery>span{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:var(--gradient-primary);font:700 12px Poppins}.article-smart-discovery h2{margin:0 0 6px;color:#fff;font-size:22px}.article-smart-discovery p{margin:0;color:#cbd5e1}@media(max-width:760px){.free-tools-panel{left:auto;right:0}.article-smart-discovery{grid-template-columns:1fr;text-align:center}.article-smart-discovery>span{margin:auto}}

/* Homepage hierarchy: section names and three-step cards. */
.section-heading .section-label,
.motivation-content > .section-label,
.pricing-content > .section-label,
.landing-final > .section-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    margin-bottom: 18px;
    padding: 8px 14px;
    border: 1px solid rgba(34, 197, 94, 0.20);
    border-radius: 999px;
    background: rgba(34, 197, 94, 0.10);
    color: var(--primary-dark);
    font-family: "Poppins", sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.075em;
}

.section-heading { max-width: 780px; }
.section-heading h2 { max-width: 760px; margin-inline: auto; }
.section-heading p { font-size: 16px; line-height: 1.75; }

.step-card {
    padding: 36px;
    border-radius: var(--radius-large);
}

.step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    height: 58px;
    margin-bottom: 26px;
    padding: 0 13px;
    border: 1px solid rgba(34, 197, 94, 0.18);
    border-radius: 17px;
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.13), rgba(6, 182, 212, 0.13));
    color: var(--primary-dark);
    font-family: "Poppins", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.02em;
}

.step-card h3 {
    margin-bottom: 13px;
    color: var(--navy);
    font-size: 22px;
    line-height: 1.25;
}

.step-card p { font-size: 14.5px; line-height: 1.72; }

@media (min-width: 1100px) {
    .landing-menu a { font-size: 13px; }
}

@media (max-width: 600px) {
    .section-heading .section-label,
    .motivation-content > .section-label,
    .pricing-content > .section-label,
    .landing-final > .section-label { font-size: 12px; }
    .section-heading p { font-size: 15px; }
    .step-card { padding: 30px 26px; }
    .step-number { min-width: 54px; height: 54px; font-size: 22px; }
}

/* Premium: strong contrast while keeping gold exclusive to the offer. */
.landing-pricing .pricing-card {
    position: relative;
    background: linear-gradient(135deg, var(--navy) 0%, #152447 100%);
    border: 1px solid rgba(244, 197, 66, 0.24);
    box-shadow: 0 24px 65px rgba(11, 19, 43, 0.22);
}

.landing-pricing .pricing-card::after {
    content: "";
    position: absolute;
    top: -120px;
    right: -90px;
    width: 330px;
    height: 330px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(6, 182, 212, 0.16), transparent 68%);
    pointer-events: none;
}

.landing-pricing .pricing-content { position: relative; z-index: 1; max-width: 790px; }

.landing-pricing .pricing-content > .section-label {
    color: var(--premium-gold);
    background: rgba(244, 197, 66, 0.11);
    border-color: rgba(244, 197, 66, 0.30);
}

.landing-pricing .pricing-content h2 { color: #FFFFFF; }
.landing-pricing .pricing-content > p { color: #CBD5E1; font-size: 16px; }
.landing-pricing .pricing-price strong { color: #FFFFFF; font-family: "Poppins", sans-serif; font-size: 54px; }
.landing-pricing .pricing-price span { color: #CBD5E1; font-size: 15px; }

.landing-pricing .pricing-features { gap: 12px 16px; color: #F8FAFC; font-size: 14px; }
.landing-pricing .pricing-features > div {
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.055);
    line-height: 1.45;
}
.landing-pricing .pricing-features > div::first-letter { color: var(--primary); }
.landing-pricing .pricing-content small { color: #CBD5E1; font-size: 12px; }

.plan-card:has(.plan-badge.premium) .plan-feature {
    background: rgba(255, 255, 255, 0.07);
    color: #F8FAFC;
    border: 1px solid rgba(255, 255, 255, 0.10);
    border-radius: 10px;
    padding: 10px 12px;
}
.plan-card:has(.plan-badge.premium) .subscription-status { color: #CBD5E1; }

@media (max-width: 600px) {
    .landing-pricing .pricing-price strong { font-size: 48px; }
    .landing-pricing .pricing-features { grid-template-columns: 1fr; }
}
.goal-generator-helper{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid rgba(6,182,212,.35);border-radius:15px;background:rgba(6,182,212,.08)}.goal-generator-helper div{display:grid;gap:4px}.goal-generator-helper strong{color:#fff;font-family:Poppins,sans-serif}.goal-generator-helper span{color:#a9b7cc;font-size:13px}.goal-generator-helper a{flex:none;color:#45d7bd;font-weight:700;text-decoration:none}@media(max-width:650px){.goal-generator-helper{align-items:flex-start;flex-direction:column}}
/* Phase 3 — flexibility, safety and accessibility */
:focus-visible{outline:3px solid #06b6d4!important;outline-offset:3px}
.goal-lifecycle-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#e2e8f0;color:#334155;font:700 11px Poppins,sans-serif;text-transform:uppercase;letter-spacing:.05em}
.goal-lifecycle-badge.active{background:#16a34a;color:#fff}.goal-lifecycle-badge.paused{background:#f59e0b;color:#fff}.goal-lifecycle-badge.archived{background:#64748b;color:#fff}
.goal-card.goal-status-paused{border-style:dashed}.goal-card.goal-status-archived{opacity:.78}
.goal-management-actions,.settings-action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.goal-management-actions button{min-height:42px;padding:9px 13px;border:1px solid #16a34a;border-radius:10px;background:#16a34a;color:#fff;font:600 13px Poppins,sans-serif;cursor:pointer;transition:.2s ease}.goal-management-actions button:hover{border-color:#22c55e;background:#22c55e;color:#fff;transform:translateY(-1px);box-shadow:0 6px 16px rgba(34,197,94,.22)}.goal-management-actions .goal-add-task{border-color:transparent;background:linear-gradient(135deg,#22c55e,#06b6d4)}.white-action-button{min-height:42px;padding:9px 13px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#0b132b;font:600 13px Poppins,sans-serif;cursor:pointer}.white-action-button:hover{border-color:#22c55e;color:#15803d}
.settings-card .settings-action-row{justify-content:center}.danger-zone-card{border-color:#fecaca!important;background:#fffafa!important}.danger-zone-card .settings-icon{background:#fee2e2;color:#b91c1c}.danger-button{min-height:44px;padding:11px 18px;border:1px solid #dc2626;border-radius:12px;background:#fff;color:#b91c1c;font:700 14px Poppins,sans-serif;cursor:pointer}.danger-button:hover{background:#b91c1c;color:#fff}.danger-button:disabled{opacity:.55;cursor:not-allowed}.danger-kicker{color:#b91c1c!important}
.goal-edit-modal label,.delete-account-modal label{display:grid;gap:7px;text-align:left;margin:13px 0;font:600 13px Poppins,sans-serif}.goal-edit-modal input,.goal-edit-modal select,.delete-account-modal input{min-height:46px;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;font:15px Inter,sans-serif}
.undo-toast .undo-progress-button{position:static;width:auto;padding:8px 13px;border:1px solid rgba(255,255,255,.65);border-radius:9px;color:inherit;font-weight:800}
@media (max-width:700px){button,.primary-button,.white-action-button,.goal-management-actions button{min-height:44px}.goal-management-actions>button,.settings-action-row>button{flex:1 1 145px}.onboarding-card{max-height:92vh;overflow:auto}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Phase 4 — recurring actions */
.planner-check{display:flex!important;align-items:center;gap:9px;min-height:46px}.planner-check input{width:18px;height:18px;accent-color:#22c55e}.occurrence-actions{display:flex;flex-wrap:wrap;gap:7px;justify-content:flex-end}.occurrence-actions button{min-height:38px;padding:8px 11px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#0b132b;font:700 12px Poppins,sans-serif;cursor:pointer}.occurrence-actions button:first-child{background:linear-gradient(135deg,#22c55e,#06b6d4);border-color:transparent;color:white}.occurrence-actions button:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(11,19,43,.1)}
@media(max-width:700px){.occurrence-actions{justify-content:flex-start;width:100%}.occurrence-actions button{flex:1 1 90px}}

/* Homepage Premium product tour */
.premium-tour{padding-top:86px}.premium-tour-heading{max-width:790px}.premium-tour-heading p{max-width:720px}.premium-tour-grid{display:grid;gap:34px;margin-top:42px}.premium-tour-card{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(480px,1.28fr);align-items:center;gap:44px;padding:34px;border:1px solid #e2e8f0;border-radius:26px;background:#fff;box-shadow:0 16px 45px rgba(11,19,43,.07)}.premium-tour-card.reverse .premium-tour-copy{order:2}.premium-tour-card.reverse .product-shot{order:1}.premium-tour-copy>span{color:#16a34a;font:700 11px Poppins,sans-serif;letter-spacing:.13em}.premium-tour-copy h3{margin:11px 0 12px;color:#0b132b;font-size:27px;line-height:1.22}.premium-tour-copy p{margin:0;color:#64748b;line-height:1.7}.product-shot{min-width:0;overflow:hidden;border:1px solid #263a60;border-radius:19px;background:#0b1630;color:#f8fafc;box-shadow:0 22px 45px rgba(11,19,43,.2)}.shot-browser{display:flex;align-items:center;gap:6px;padding:11px 15px;border-bottom:1px solid #263a60;background:#101d39}.shot-browser i{width:7px;height:7px;border-radius:50%;background:#64748b}.shot-browser i:first-child{background:#22c55e}.shot-browser strong{margin-left:7px;color:#cbd5e1;font:600 10px Poppins,sans-serif}.product-shot>small,.shot-today>small{display:block;color:#06b6d4;font:700 9px Poppins,sans-serif;letter-spacing:.12em}.goal-shot{padding-bottom:23px}.goal-shot>*:not(.shot-browser){margin-left:24px;margin-right:24px}.shot-progress{display:flex;gap:7px;margin-top:20px!important}.shot-progress b{flex:1;height:5px;border-radius:99px;background:#263a60}.shot-progress b:first-child,.shot-progress b:nth-child(2){background:linear-gradient(90deg,#22c55e,#06b6d4)}.product-shot h4{margin-top:8px;margin-bottom:13px;color:#fff;font-size:18px}.shot-input{padding:13px 15px;border:1px solid #33476d;border-radius:11px;background:#142344;color:#cbd5e1;font-size:12px}.product-shot button{border:0;border-radius:9px;background:linear-gradient(135deg,#22c55e,#06b6d4);color:#fff;font:600 10px Poppins,sans-serif}.goal-shot>button{display:block;margin-top:15px;margin-left:auto!important;padding:10px 16px}.action-shot{padding-bottom:22px}.action-shot>*:not(.shot-browser){margin-left:24px;margin-right:24px}.action-shot>small{margin-top:22px}.shot-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.shot-fields span{padding:11px;border:1px solid #2d4066;border-radius:10px;background:#142344;font-size:11px}.shot-fields em{display:block;margin-bottom:4px;color:#7f94b8;font-style:normal;font-size:8px;text-transform:uppercase}.shot-reminder{display:flex;align-items:center;gap:10px;margin-top:12px!important;padding:11px;border-radius:11px;background:rgba(34,197,94,.09)}.shot-reminder>b{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#22c55e}.shot-reminder span,.shot-reminder strong,.shot-reminder small{display:block}.shot-reminder strong{font-size:10px}.shot-reminder small{margin-top:2px;color:#94a3b8;font-size:8px}.dashboard-shot{padding-bottom:20px}.dashboard-shot>*:not(.shot-browser){margin-left:19px;margin-right:19px}.shot-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:17px!important}.shot-summary span{padding:10px;border:1px solid #293c61;border-radius:10px;background:#13213e}.shot-summary small,.shot-summary strong{display:block}.shot-summary small{color:#8194b5;font-size:7px}.shot-summary strong{margin-top:3px;font-size:17px}.shot-today{margin-top:13px!important;padding:13px;border:1px solid #293c61;border-radius:12px;background:#fff;color:#0b132b}.shot-today>div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-top:8px}.shot-today div>b{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:#0b132b;color:#fff;font-size:9px}.shot-today span,.shot-today strong,.shot-today em{display:block}.shot-today strong{font-size:9px}.shot-today em{margin-top:2px;color:#64748b;font-size:7px}.shot-today button{padding:7px 8px}.progress-shot{padding-bottom:22px}.progress-shot>*:not(.shot-browser){margin-left:22px;margin-right:22px}.progress-score{display:flex;align-items:center;justify-content:space-between;margin-top:18px!important}.progress-score small,.progress-score strong{display:block}.progress-score small{color:#94a3b8;font-size:8px}.progress-score strong{margin-top:4px;font-size:27px}.score-ring{display:grid;place-items:center;width:62px;height:62px;border:7px solid #22c55e;border-right-color:#263a60;border-radius:50%;font-weight:800}.progress-bars{display:grid;gap:10px;margin-top:15px!important}.progress-bars span{display:grid;grid-template-columns:43px 1fr 34px;align-items:center;gap:8px;font-size:8px}.progress-bars em{color:#cbd5e1;font-style:normal}.progress-bars i{height:7px;overflow:hidden;border-radius:99px;background:#263a60}.progress-bars i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#06b6d4)}.rewards-shot{padding-bottom:21px}.rewards-shot>*:not(.shot-browser){margin-left:20px;margin-right:20px}.trophy-title{margin-top:16px!important;text-align:center}.trophy-title span,.trophy-title strong{display:block}.trophy-title span{color:#f4c542;font:700 8px Poppins,sans-serif;letter-spacing:.12em}.trophy-title strong{margin-top:5px;font-size:13px}.badge-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px!important}.badge-row span{padding:11px 5px;border:1px solid #2d4066;border-radius:11px;text-align:center;opacity:.55}.badge-row span.earned{border-color:#f4c542;opacity:1;background:rgba(244,197,66,.07)}.badge-row b,.badge-row small{display:block}.badge-row b{font-size:22px}.badge-row small{margin-top:5px;color:#cbd5e1;font-size:8px}.premium-tour-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:34px;padding:27px 30px;border-radius:20px;background:linear-gradient(135deg,#0b132b,#152447);color:#fff}.premium-tour-cta strong,.premium-tour-cta span{display:block}.premium-tour-cta strong{font:700 18px Poppins,sans-serif}.premium-tour-cta span{margin-top:5px;color:#cbd5e1;font-size:13px}.premium-tour-cta button{flex:0 0 auto}
@media(max-width:900px){.premium-tour-card{grid-template-columns:1fr;gap:24px}.premium-tour-card.reverse .premium-tour-copy,.premium-tour-card.reverse .product-shot{order:initial}.product-shot{width:100%;max-width:640px}.premium-tour-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.premium-tour{padding-top:58px}.premium-tour-card{padding:20px;border-radius:20px}.premium-tour-copy h3{font-size:22px}.product-shot{border-radius:14px}.premium-tour-cta{padding:23px}.premium-tour-cta button{width:100%}.shot-summary{gap:5px}.shot-today>div{grid-template-columns:auto 1fr}.shot-today button{grid-column:1/-1}.badge-row{gap:5px}}

/* Desktop goal stability, visual progress analytics and shareable rewards */
.goal-card:hover{background:var(--surface)!important;border-color:var(--border)!important;box-shadow:var(--shadow-card)!important;transform:none!important}
.reward-share-button{display:block;width:100%;margin-top:16px;padding:11px 14px;border:0;border-radius:11px;background:linear-gradient(135deg,#22c55e,#06b6d4);color:#fff;font:700 12px Poppins,sans-serif;cursor:pointer}.reward-share-button:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(34,197,94,.22)}
.progress-trend{margin:22px 0 4px;padding:20px;border:1px solid #dbe5ee;border-radius:17px;background:linear-gradient(145deg,#f8fafc,#fff)}.trend-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.trend-heading>div>span{color:#16a34a;font:800 10px Poppins,sans-serif;letter-spacing:.12em}.trend-heading h3{margin:4px 0 0;color:#0b132b;font-size:17px}.trend-deadline{display:flex;align-items:baseline;gap:6px;padding:9px 13px;border-radius:12px;background:#0b132b;color:#fff}.trend-deadline strong{font-size:22px}.trend-deadline span{font-size:10px}.trend-chart{margin-top:15px}.trend-chart svg{display:block;width:100%;height:auto;overflow:visible}.trend-grid line{stroke:#dce5ee;stroke-width:1}.trend-planned,.trend-actual{fill:none;stroke-linecap:round;stroke-linejoin:round}.trend-planned{stroke:#06b6d4;stroke-width:3;stroke-dasharray:8 7}.trend-actual{stroke:#22c55e;stroke-width:5}.trend-last-point{fill:#fff;stroke:#16a34a;stroke-width:4}.trend-legend{display:flex;align-items:center;flex-wrap:wrap;gap:14px;color:#64748b;font-size:11px}.trend-legend>span{display:flex;align-items:center;gap:6px}.trend-legend>span:last-child{margin-left:auto}.trend-legend i{width:18px;height:4px;border-radius:99px;background:#22c55e}.trend-legend i.planned{height:2px;background:#06b6d4}.trend-legend b{color:#0b132b}.trend-legend em{font-style:normal}.period-days-left{margin-top:10px;color:#64748b;font-size:10px}.period-days-left strong{color:#0b132b;font-size:12px}@media(max-width:650px){.trend-heading{align-items:flex-start;flex-direction:column}.trend-legend>span:last-child{width:100%;margin-left:0}.progress-trend{padding:15px}}
.progress-analytics-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-top:22px}.analytics-chart{position:relative;min-width:0;padding:20px;border:1px solid #dbe5ee;border-radius:17px;background:linear-gradient(145deg,#f8fafc,#fff)}.analytics-line-chart{grid-column:1/-1}.analytics-heading>span{color:#16a34a;font:800 10px Poppins,sans-serif;letter-spacing:.12em}.analytics-heading h3{margin:5px 0 0;color:#0b132b;font-size:17px}.analytics-line-chart>.trend-deadline{position:absolute;right:20px;top:20px}.analytics-period-list{display:grid;gap:13px;margin-top:22px}.analytics-period-row{display:grid;grid-template-columns:66px minmax(90px,1fr) 40px 78px;align-items:center;gap:9px;color:#0b132b;font-size:11px}.analytics-period-row>span{font-weight:700}.analytics-period-row>i{height:9px;overflow:hidden;border-radius:99px;background:#e2e8f0}.analytics-period-row>i>b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#06b6d4)}.analytics-period-row>strong{text-align:right}.analytics-period-row>small{color:#64748b;text-align:right}.consistency-layout{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:22px;margin-top:22px}.consistency-donut{display:grid;place-items:center;width:116px;height:116px;border-radius:50%;background:conic-gradient(#22c55e calc(var(--completion)*1%),#e2e8f0 0)}.consistency-donut:before{content:"";grid-area:1/1;width:82px;height:82px;border-radius:50%;background:#fff}.consistency-donut>div{grid-area:1/1;z-index:1;text-align:center}.consistency-donut strong,.consistency-donut span,.consistency-donut small{display:block}.consistency-donut strong{display:inline;color:#0b132b;font-size:24px}.consistency-donut span{display:inline;color:#64748b}.consistency-donut small{margin-top:3px;color:#64748b}.weekday-chart{display:flex;align-items:end;justify-content:space-between;gap:7px;height:125px;padding-top:12px;border-bottom:1px solid #cbd5e1}.weekday-chart>span{display:flex;flex:1;align-items:center;flex-direction:column;justify-content:flex-end;height:100%}.weekday-chart i{display:block;width:min(24px,75%);min-height:7px;border-radius:6px 6px 0 0;background:linear-gradient(180deg,#22c55e,#06b6d4)}.weekday-chart small{margin-top:7px;color:#64748b;font-size:9px}@media(max-width:850px){.progress-analytics-grid{grid-template-columns:1fr}.analytics-line-chart{grid-column:auto}}@media(max-width:560px){.analytics-line-chart>.trend-deadline{position:static;width:max-content;margin-top:13px}.analytics-period-row{grid-template-columns:58px 1fr 38px}.analytics-period-row>small{grid-column:2/-1;text-align:left}.consistency-layout{grid-template-columns:1fr}.consistency-donut{margin:auto}.analytics-chart{padding:15px}}
.free-limit-card{text-align:center}.free-limit-icon{display:grid;place-items:center;width:68px;height:68px;margin:8px auto 15px;border-radius:20px;background:linear-gradient(135deg,#22c55e,#06b6d4);color:#fff;font:800 34px Poppins,sans-serif}.free-limit-card>p{color:#64748b;line-height:1.6}.free-limit-benefits{display:grid;gap:8px;margin:20px 0;text-align:left}.free-limit-benefits span{padding:10px 12px;border-radius:10px;background:#f1f5f9;color:#0b132b;font-size:13px;font-weight:600}.free-limit-card .primary-button{text-decoration:none}
.plan-choice-section{padding-top:30px}.plan-choice-heading{max-width:800px}.plan-choice-heading p{max-width:750px}.plan-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:38px}.plan-choice-card{position:relative;padding:31px;border:1px solid #dce5ef;border-radius:24px;background:#fff;box-shadow:0 12px 36px rgba(11,19,43,.07)}.plan-choice-card.unlimited-plan-card{overflow:hidden;border-color:#263b61;background:linear-gradient(145deg,#0b132b,#15294a);color:#fff}.plan-choice-card.unlimited-plan-card::after{content:"∞";position:absolute;right:-16px;top:-52px;color:rgba(34,197,94,.09);font:800 180px Poppins,sans-serif}.plan-choice-card>*{position:relative;z-index:1}.plan-choice-top{display:grid;grid-template-columns:1fr auto;align-items:end}.plan-choice-top>span{color:#16a34a;font:800 11px Poppins,sans-serif;letter-spacing:.14em}.unlimited-plan-card .plan-choice-top>span{color:#f4c542}.plan-choice-top>strong{grid-row:1/3;grid-column:2;font:800 38px Poppins,sans-serif}.plan-choice-top>small{color:#64748b}.unlimited-plan-card .plan-choice-top>small{color:#94a3b8}.plan-choice-card h3{margin:25px 0 8px;color:#0b132b;font-size:24px}.unlimited-plan-card h3{color:#fff}.plan-choice-card>p{min-height:48px;color:#64748b;line-height:1.55}.unlimited-plan-card>p{color:#cbd5e1}.plan-choice-card ul{display:grid;gap:10px;margin:23px 0 27px;padding:0;list-style:none}.plan-choice-card li{padding-bottom:10px;border-bottom:1px solid #edf2f7;color:#334155;font-size:14px}.unlimited-plan-card li{border-color:#263b61;color:#e2e8f0}.plan-choice-button{width:100%}.free-plan-card .plan-choice-button{background:#fff;color:#0b132b;border:1px solid #cbd5e1}.free-plan-card .plan-choice-button:hover{border-color:#22c55e;box-shadow:0 8px 24px rgba(34,197,94,.13)}.plan-choice-rule{display:flex;align-items:center;gap:16px;margin-top:20px;padding:18px 22px;border:1px solid #c9eee0;border-radius:16px;background:#f0fdf7}.plan-choice-rule>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#22c55e,#06b6d4);color:#fff;font:800 20px Poppins,sans-serif}.plan-choice-rule p{margin:0;color:#475569;line-height:1.5}.plan-choice-rule strong{color:#0b132b}
@media(max-width:760px){.plan-choice-grid{grid-template-columns:1fr}.plan-choice-card>p{min-height:0}.plan-choice-rule{align-items:flex-start}}
.pricing-free-link{display:inline-block;margin-top:18px;color:#16a34a;font:700 13px Poppins,sans-serif;text-decoration:none}.pricing-free-link:hover{text-decoration:underline}
.pricing-poker-feature{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;margin:18px 0;padding:17px;border:1px solid rgba(6,182,212,.3);border-radius:15px;background:linear-gradient(135deg,rgba(34,197,94,.1),rgba(6,182,212,.1));color:#172033;text-align:left;text-decoration:none}.pricing-poker-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:12px;background:#0b132b;font-size:22px}.pricing-poker-feature>span:nth-child(2),.pricing-poker-feature small,.pricing-poker-feature strong,.pricing-poker-feature>span:nth-child(2)>span{display:block}.pricing-poker-feature small{color:#16a34a;font:800 9px Poppins,sans-serif;letter-spacing:.1em}.pricing-poker-feature strong{margin-top:3px;font:700 15px Poppins,sans-serif}.pricing-poker-feature>span:nth-child(2)>span{margin-top:4px;color:#64748b;font-size:12px;line-height:1.45}.pricing-poker-feature>b{grid-column:2;color:#0891b2;font-size:12px}.pricing-poker-feature:hover{border-color:#06b6d4;box-shadow:0 10px 25px rgba(6,182,212,.1)}
.homepage-video-section{padding-top:46px}.homepage-video-heading{max-width:820px}.homepage-video-heading p{max-width:760px}.homepage-video-shell{max-width:980px;margin:38px auto 0;overflow:hidden;border:1px solid #263b61;border-radius:24px;background:#0b132b;box-shadow:0 24px 65px rgba(11,19,43,.18)}.homepage-video-browser{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 19px;border-bottom:1px solid #263b61;color:#cbd5e1}.homepage-video-browser>span{display:flex;gap:7px}.homepage-video-browser i{display:block;width:8px;height:8px;border-radius:50%;background:#64748b}.homepage-video-browser i:first-child{background:#22c55e}.homepage-video-browser strong{font:600 11px Poppins,sans-serif}.homepage-video-frame{position:relative;aspect-ratio:16/9;background:#060b19}.homepage-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.homepage-video-note{display:flex;align-items:center;justify-content:center;gap:9px;margin:18px auto 0;color:#64748b;font-size:13px;text-align:center}.homepage-video-note::before{content:"✓";display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#dcfce7;color:#16a34a;font-weight:800}@media(max-width:600px){.homepage-video-section{padding-top:28px}.homepage-video-shell{margin-top:25px;border-radius:17px}.homepage-video-browser{padding:11px 13px}.homepage-video-browser strong{font-size:9px}.homepage-video-note{align-items:flex-start;text-align:left}}
.home-smart-resources{display:grid;gap:34px;margin-top:46px}.home-smart-generator,.home-workbook{border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:var(--shadow-card);overflow:hidden}.home-smart-generator{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:42px;align-items:center;padding:42px}.home-resource-copy h2,.home-workbook-copy h2{font-size:clamp(2rem,3.8vw,3.15rem);line-height:1.08;margin:14px 0 18px}.home-resource-copy>p,.home-workbook-copy>p{color:var(--text-secondary);font-size:1.03rem;line-height:1.72}.home-resource-points{display:grid;gap:11px;padding:0;margin:24px 0 28px;list-style:none}.home-resource-points li{display:flex;gap:10px;align-items:center;color:var(--navy);font-weight:600}.home-resource-points li span{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:50%;background:#e9fbf1;color:var(--primary-dark)}.home-generator-preview{min-height:270px;padding:32px;border:1px solid rgba(6,182,212,.28);border-radius:20px;background:linear-gradient(145deg,#0b132b,#152447);color:#fff;display:flex;flex-direction:column;justify-content:center;box-shadow:0 20px 42px rgba(11,19,43,.2)}.home-generator-preview small{color:#22c55e;font-weight:800;letter-spacing:.1em}.home-generator-preview strong{font:700 clamp(1.35rem,2.6vw,2rem)/1.22 Poppins,sans-serif;margin:14px 0 22px}.home-generator-preview span{border:1px solid #33466d;border-radius:12px;padding:15px;color:#94a3b8}.home-generator-preview i{align-self:flex-end;margin-top:22px;padding:11px 18px;border-radius:11px;background:#fff;color:#0b132b;font-style:normal;font-weight:800}.home-workbook{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:42px;padding:42px}.home-workbook-card{border:1px solid var(--border);border-radius:20px;padding:24px;background:#fff;box-shadow:0 14px 38px rgba(11,19,43,.08)}.home-workbook-cover{min-height:190px;padding:24px;border-radius:16px;background:linear-gradient(145deg,#0b132b,#152447);color:#fff;display:flex;flex-direction:column;justify-content:space-between}.home-workbook-cover>small{color:#cbd5e1}.home-workbook-cover>strong{font:700 1.55rem/1.12 Poppins,sans-serif}.home-workbook-cover>div{display:flex;gap:7px;flex-wrap:wrap}.home-workbook-cover span{font-size:.72rem;padding:6px 9px;border-radius:999px;background:rgba(34,197,94,.15);color:#86efac}.home-workbook-form{display:grid;gap:12px;margin-top:20px}.home-workbook-form label{font-weight:700;color:var(--navy)}.home-workbook-form input{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:11px;padding:13px 14px;font:inherit}.home-workbook-form .landing-primary{width:100%;border:0;cursor:pointer}.home-workbook-form>p{font-size:.76rem;line-height:1.48;color:var(--text-secondary);margin:0}.home-workbook-form a{color:var(--primary-dark)}.workbook-honeypot{position:absolute!important;left:-9999px!important}.home-workbook-status{display:none;padding:12px;border-radius:10px;font-weight:600}.home-workbook-status.success{display:block;background:#ecfdf5;color:#166534}.home-workbook-status.error{display:block;background:#fff1f2;color:#9f1239}.home-workbook-learning{grid-column:1/-1;border-top:1px solid var(--border);padding-top:30px;text-align:center}.home-workbook-learning h3{font-size:clamp(1.65rem,3vw,2.35rem);margin:10px 0 24px}.home-workbook-learning>div{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:left}.home-workbook-learning article{border:1px solid var(--border);border-radius:15px;padding:20px;background:#f8fafc}.home-workbook-learning article strong{font:700 1rem Poppins,sans-serif;color:var(--navy)}.home-workbook-learning article p{color:var(--text-secondary);line-height:1.6;margin-bottom:0}.home-workbook-signature{color:var(--text-secondary);font-size:.84rem;margin:22px 0 0}@media(max-width:850px){.home-smart-generator,.home-workbook{grid-template-columns:1fr;padding:26px}.home-generator-preview{min-height:220px}.home-workbook-learning>div{grid-template-columns:1fr}}
.homepage-video-shell-secondary{margin-top:42px}

/* Reports */
.reports-page-header{align-items:center}.reports-download-button{border:0;border-radius:12px;padding:12px 18px;background:linear-gradient(135deg,#22c55e,#06b6d4);color:#fff;font:700 13px Poppins,sans-serif;cursor:pointer;box-shadow:0 8px 24px rgba(34,197,94,.2)}.reports-download-button:hover{transform:translateY(-1px)}.reports-filter-bar{display:flex;align-items:end;gap:14px;margin:24px 0 18px;padding:18px;border:1px solid #e2e8f0;border-radius:16px;background:#fff}.reports-filter-bar label{display:grid;gap:7px;min-width:190px}.reports-filter-bar label span{color:#64748b;font-size:12px;font-weight:700}.reports-filter-bar select{width:100%;border:1px solid #dbe5ef;border-radius:10px;padding:11px 12px;background:#fff;color:#0b132b;font:600 13px Inter,sans-serif}.reports-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.reports-kpi-grid article{padding:19px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(11,19,43,.05)}.reports-kpi-grid span{display:block;color:#64748b;font-size:12px}.reports-kpi-grid strong{display:block;margin:7px 0 3px;color:#0b132b;font:800 27px Poppins,sans-serif}.reports-kpi-grid small{color:#16a34a;font-size:11px}.reports-chart-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);gap:16px;margin-top:16px}.reports-chart-card,.reports-table-card{border:1px solid #e2e8f0;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(11,19,43,.05)}.reports-chart-card{padding:21px}.reports-chart-heading,.reports-table-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.reports-chart-heading span,.reports-table-heading span{color:#16a34a;font:800 10px Poppins,sans-serif;letter-spacing:.12em}.reports-chart-heading h2,.reports-table-heading h2{margin:4px 0 0;color:#0b132b;font-size:18px}.reports-chart-legend{display:flex;gap:12px;color:#64748b;font-size:11px}.reports-chart-legend span{display:flex;align-items:center;color:#64748b;letter-spacing:0;font:500 11px Inter,sans-serif}.reports-chart-legend i{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%}.reports-chart-legend i.actual{background:#22c55e}.reports-chart-legend i.planned{background:#94a3b8}.reports-trajectory-chart{min-height:230px;margin-top:12px}.reports-trajectory-chart svg{display:block;width:100%;height:auto}.report-grid-line{stroke:#e6edf4;stroke-width:1}.report-planned-line{fill:none;stroke:#94a3b8;stroke-width:2;stroke-dasharray:6 6}.report-actual-line{fill:none;stroke:url(#reportLineGradient);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.report-chart-point{fill:#fff;stroke:#22c55e;stroke-width:3}.report-axis-label{fill:#64748b;font:10px Inter,sans-serif}.reports-completion-chart{display:grid;place-items:center;min-height:230px}.reports-donut{--report-completion:0;position:relative;display:grid;place-items:center;width:170px;height:170px;border-radius:50%;background:conic-gradient(#22c55e 0 calc(var(--report-completion)*1%),#e2e8f0 calc(var(--report-completion)*1%) 100%)}.reports-donut::before{content:"";position:absolute;inset:25px;border-radius:50%;background:#fff}.reports-donut div{position:relative;z-index:1;text-align:center}.reports-donut strong{display:block;color:#0b132b;font:800 30px Poppins,sans-serif}.reports-donut span{display:block;color:#64748b;font-size:11px}.reports-table-card{margin-top:16px;padding:21px}.reports-table-heading>strong{color:#64748b;font-size:12px}.reports-table-scroll{overflow-x:auto}.reports-table{width:100%;margin-top:14px;border-collapse:collapse;font-size:12px}.reports-table th{padding:10px 8px;border-bottom:1px solid #dbe5ef;color:#64748b;text-align:left;font-weight:700}.reports-table td{padding:12px 8px;border-bottom:1px solid #edf2f7;color:#334155}.reports-table td:last-child{color:#16a34a;font-weight:700}.reports-empty-row td{padding:28px;text-align:center;color:#64748b!important}.reports-status-mark{display:inline-grid;place-items:center;width:19px;height:19px;margin-right:6px;border-radius:50%;background:#dcfce7;color:#16a34a;font-weight:800}@media(max-width:1050px){.reports-kpi-grid{grid-template-columns:repeat(2,1fr)}.reports-chart-grid{grid-template-columns:1fr}}@media(max-width:650px){.reports-page-header{align-items:flex-start}.reports-download-button{width:100%;margin-top:12px}.reports-filter-bar{display:grid}.reports-filter-bar label{min-width:0}.reports-kpi-grid{grid-template-columns:1fr 1fr}.reports-chart-heading{display:grid}.reports-chart-legend{justify-content:flex-start}.reports-chart-card,.reports-table-card{padding:16px}.reports-kpi-grid strong{font-size:22px}}@media(max-width:420px){.reports-kpi-grid{grid-template-columns:1fr}}
.reports-period-filter{display:grid;flex:1;gap:7px}.reports-period-filter>span{color:#64748b;font-size:12px;font-weight:700}.reports-period-options{display:flex;flex-wrap:wrap;gap:7px}.reports-period-options button{border:1px solid #dbe5ef;border-radius:10px;padding:9px 12px;background:#fff;color:#334155;font:700 11px Poppins,sans-serif;cursor:pointer;transition:.18s ease}.reports-period-options button:hover{border-color:#22c55e;color:#16a34a}.reports-period-options button.active{border-color:transparent;background:linear-gradient(135deg,#22c55e,#06b6d4);color:#fff;box-shadow:0 6px 16px rgba(34,197,94,.17)}.reports-comparison-list{display:grid;gap:10px;margin:0 0 16px}.reports-comparison-card{display:grid;grid-template-columns:minmax(170px,.7fr) minmax(280px,1.3fr) auto;align-items:center;gap:16px;padding:15px 17px;border:1px solid #e2e8f0;border-radius:15px;background:#fff}.reports-comparison-card>div:first-child strong{display:block;color:#0b132b;font:700 13px Poppins,sans-serif}.reports-comparison-card>div:first-child span{display:block;margin-top:3px;color:#64748b;font-size:11px}.reports-comparison-card p{margin:0;color:#475569;font-size:12px;line-height:1.55}.reports-comparison-card p strong{color:#0b132b}.reports-comparison-status{padding:7px 10px;border-radius:999px;font:800 10px Poppins,sans-serif;white-space:nowrap}.reports-comparison-card.ahead .reports-comparison-status,.reports-comparison-card.on-track .reports-comparison-status{background:#dcfce7;color:#15803d}.reports-comparison-card.behind .reports-comparison-status{background:#fee2e2;color:#b91c1c}.reports-comparison-card.complete .reports-comparison-status{background:#cffafe;color:#0e7490}@media(max-width:760px){.reports-comparison-card{grid-template-columns:1fr}.reports-comparison-status{justify-self:start}.reports-period-options{display:grid;grid-template-columns:1fr 1fr}.reports-period-options button{width:100%}}
.reports-period-filter select{min-width:220px;border:1px solid #dbe5ef;border-radius:12px;padding:11px 38px 11px 13px;background:#fff;color:#0b132b;font:700 12px Poppins,sans-serif;cursor:pointer}.reports-comparison-card.unavailable{background:#f8fafc;border-style:dashed}.reports-comparison-card.unavailable .reports-comparison-status{background:#e2e8f0;color:#475569}

/* Reports: goal progress compared with elapsed time */
.reports-completion-chart{align-content:start;min-height:300px}.reports-dual-rings{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;padding:16px 0 8px}.reports-ring{--report-ring:0;display:grid;place-items:center;width:112px;height:112px;border-radius:50%;background:conic-gradient(#22c55e calc(var(--report-ring)*1%),#e2e8f0 0)}.reports-ring.time{background:conic-gradient(#06b6d4 calc(var(--report-ring)*1%),#e2e8f0 0)}.reports-ring:before{content:"";grid-area:1/1;width:80px;height:80px;border-radius:50%;background:#fff}.reports-ring>div{grid-area:1/1;z-index:1;text-align:center}.reports-ring strong,.reports-ring span{display:block}.reports-ring strong{color:#0b132b;font:800 21px Poppins,sans-serif}.reports-ring span{color:#64748b;font:800 9px Poppins,sans-serif;letter-spacing:.08em;text-transform:uppercase}.reports-ring-insight{width:100%;padding:0 4px}.reports-ring-insight>strong,.reports-ring-insight>span{display:block}.reports-ring-insight>strong{color:#0b132b;font:700 13px Poppins,sans-serif}.reports-ring-insight>span{margin-top:3px;color:#64748b;font-size:10px}.reports-ring-insight p{margin:10px 0;color:#475569;font-size:11px;line-height:1.5}.reports-ring-verdict{display:inline-block;padding:7px 10px;border-radius:999px;background:#dcfce7;color:#15803d;font:800 9px Poppins,sans-serif;font-style:normal}.reports-ring-verdict.behind{background:#fee2e2;color:#b91c1c}.reports-ring-verdict.unavailable{background:#e2e8f0;color:#475569}@media(max-width:430px){.reports-dual-rings{gap:9px}.reports-ring{width:96px;height:96px}.reports-ring:before{width:69px;height:69px}}

/* Progress period selector and dual activity rings */
.progress-page-header{align-items:flex-end}.progress-period-filter{display:grid;gap:6px;min-width:190px}.progress-period-filter>span{color:#64748b;font-size:11px;font-weight:700}.progress-period-filter select{width:100%;border:1px solid #dbe5ef;border-radius:12px;padding:11px 38px 11px 13px;background:#fff;color:#0b132b;font:700 12px Poppins,sans-serif;cursor:pointer}.progress-rings{display:flex;align-items:center;gap:13px}.progress-ring{--ring-value:0;display:grid;place-items:center;width:92px;height:92px;border-radius:50%;background:conic-gradient(#22c55e calc(var(--ring-value)*1%),#e2e8f0 0)}.progress-ring.time-ring{background:conic-gradient(#06b6d4 calc(var(--ring-value)*1%),#e2e8f0 0)}.progress-ring:before{content:"";grid-area:1/1;width:68px;height:68px;border-radius:50%;background:#fff}.progress-ring>div{grid-area:1/1;z-index:1;text-align:center}.progress-ring strong,.progress-ring span{display:block}.progress-ring strong{color:#0b132b;font:800 17px Poppins,sans-serif}.progress-ring span{margin-top:1px;color:#64748b;font-size:9px;text-transform:uppercase;letter-spacing:.08em}@media(max-width:650px){.progress-page-header{align-items:stretch}.progress-period-filter{width:100%}.progress-overview{align-items:flex-start}.progress-rings{gap:8px}.progress-ring{width:78px;height:78px}.progress-ring:before{width:58px;height:58px}}

/* Homepage: social links below About Trugaro */
.about-socials{display:grid;justify-items:center;gap:13px;margin-top:28px;padding-top:24px;border-top:1px solid #e2e8f0}.about-socials>strong{color:#0b132b;font:700 15px Poppins,sans-serif}.about-social-links{display:flex;flex-wrap:wrap;justify-content:center;gap:11px}.about-social-links a{display:inline-flex;align-items:center;gap:9px;min-width:138px;padding:11px 16px;border:1px solid #dbe5ef;border-radius:12px;background:#fff;color:#0b132b;font:700 13px Poppins,sans-serif;text-decoration:none;box-shadow:0 7px 20px rgba(11,19,43,.06);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.about-social-links a:hover{transform:translateY(-2px);border-color:#22c55e;box-shadow:0 10px 24px rgba(34,197,94,.15)}.about-social-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:linear-gradient(135deg,#22c55e,#06b6d4);color:#fff;font-size:16px;line-height:1}.about-social-icon.youtube{font-size:11px}@media(max-width:520px){.about-social-links{width:100%}.about-social-links a{flex:1 1 100%;justify-content:center}}

/* Tasks: completed work, recurring action, then milestone */
#tasksPage.active{display:flex;flex-direction:column}#tasksPage>.section-header{order:0}.completed-work-card{order:1}.tasks-planner{order:2}.task-history-card{order:3}.tasks-planner .phase-two-forms{grid-template-columns:1fr}.tasks-planner .planner-form{width:100%;box-sizing:border-box}

/* Mobile-only navigation and goal creation improvements */
.mobile-menu-toggle,.mobile-nav-backdrop{display:none}
@media(max-width:750px){
  .main{padding:0 15px 32px}
  .topbar{position:sticky;top:0;z-index:1200;min-height:76px;gap:11px;margin-bottom:20px;padding:0 2px;background:#0b132b;border-bottom-color:#20304e}
  .mobile-menu-toggle{display:grid;place-items:center;align-content:center;flex:0 0 46px;width:46px;height:46px;padding:0;border:1px solid #314467;border-radius:13px;background:#132440;cursor:pointer}
  .mobile-menu-toggle span{display:block;width:21px;height:2px;margin:2px 0;border-radius:99px;background:#fff;transition:.2s ease}
  .mobile-nav-open .mobile-menu-toggle span:first-child{transform:translateY(6px) rotate(45deg)}
  .mobile-nav-open .mobile-menu-toggle span:nth-child(2){opacity:0}
  .mobile-nav-open .mobile-menu-toggle span:last-child{transform:translateY(-6px) rotate(-45deg)}
  .topbar-heading{min-width:0;flex:1}.topbar-title{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .user-area{flex:0 0 auto;gap:0}.user-area>.user-avatar,.user-area>div:not(.language-switcher){display:none}.app-language-switcher{margin:0}
  .language-select{display:block;width:68px;min-width:68px;height:46px;padding:0 10px;border:2px solid #22c55e;border-radius:13px;background:#fff;color:#0b132b;font-size:23px;line-height:1;appearance:auto}
  .sidebar{display:flex;position:fixed;z-index:2200;top:84px;bottom:auto;left:14px;width:min(310px,calc(100% - 28px));height:auto;max-height:calc(100vh - 102px);padding:18px;border:1px solid #2c4064;border-radius:20px;flex-direction:column;align-items:stretch;overflow-y:auto;box-shadow:0 24px 70px rgba(0,0,0,.48);opacity:0;visibility:hidden;transform:translateY(-12px) scale(.98);transform-origin:top left;transition:opacity .2s ease,transform .2s ease,visibility .2s}
  .mobile-nav-open .sidebar{opacity:1;visibility:visible;transform:none}
  .mobile-nav-backdrop{position:fixed;z-index:2100;inset:0;width:100%;height:100%;border:0;background:rgba(3,8,20,.68);backdrop-filter:blur(3px)}
  .mobile-nav-open .mobile-nav-backdrop{display:block}
  .sidebar .logo{display:flex;margin-bottom:15px}.sidebar .menu{display:grid;width:100%;grid-template-columns:1fr;gap:6px}.sidebar .menu-button{min-height:48px;padding:10px 13px;flex-direction:row;justify-content:flex-start;gap:11px;border-radius:12px;font-size:13px;text-align:left}.sidebar .menu-button span:first-child{width:27px;font-size:18px;text-align:center}.sidebar .sidebar-bottom{display:block;margin-top:15px}.sidebar .logout-button{width:100%}
  .goal-start-guide{padding:20px 16px}.goal-template-heading{display:grid;align-items:start}.goal-template-heading .goal-step-number{color:#4ade80;font-size:12px}.goal-template-heading h3{color:#fff;font-size:20px;line-height:1.3}.goal-template-heading p{color:#e2e8f0;font-size:14px;line-height:1.55}.goal-template-clear{position:relative;z-index:2;width:100%;min-height:50px;border:2px solid #22c55e;background:#fff;color:#0b132b;font:700 14px Poppins,sans-serif;touch-action:manipulation}
}

/* Always-visible action planner and calendar/to-do sharing */
.planner-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:28px}.planner-heading h2{margin:5px 0 0;color:#0b132b}.planner-heading>p{max-width:650px;margin:0;color:#64748b;line-height:1.6}.planner-help{display:flex;align-items:flex-start;gap:12px;margin-top:20px;padding:14px 16px;border:1px solid #bae6fd;border-radius:14px;background:#f0f9ff}.planner-help>span{font-size:20px}.planner-help p{margin:0;color:#475569;line-height:1.55}.planner-help strong{color:#0b132b}.plan-row{grid-template-columns:auto minmax(130px,1fr) auto auto auto}.plan-row-copy{min-width:0}.plan-row-tools{display:flex;flex-wrap:wrap;gap:6px}.plan-row .plan-tool-button{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid #bbf7d0;border-radius:9px;background:#f0fdf4;color:#15803d;font:700 10px Poppins,sans-serif}.plan-row .plan-tool-button:hover{background:#dcfce7}@media(max-width:1100px){.plan-row{grid-template-columns:auto 1fr auto auto}.plan-row-tools{grid-column:2/-1}}@media(max-width:700px){.planner-heading{display:grid}.plan-row{grid-template-columns:auto 1fr auto}.plan-row-tools{grid-column:1/-1}.plan-row .plan-tool-button{flex:1;justify-content:center}}

/* Official Trugaro logo — August 2026 */
.landing-logo{
  display:block!important;flex:0 0 auto;width:clamp(145px,15vw,190px);height:58px;
  background:url("/logo-trugaro-2026.png?v=20260827") center/contain no-repeat!important;
  font-size:0!important;color:transparent!important;
}
.landing-logo>*{display:none!important}
.auth-logo:before{
  content:"";display:block;width:min(245px,82%);height:82px;margin:0 auto 10px;
  background:url("/logo-trugaro-2026.png?v=20260827") center/contain no-repeat;
}
.auth-logo>.auth-logo-icon,.auth-logo>h1{display:none!important}
.sidebar .logo{
  display:block!important;width:100%;height:62px;margin:0 0 24px;padding:0!important;
  border-radius:11px;background-color:#fff!important;
  background-image:url("/logo-trugaro-2026.png?v=20260827")!important;
  background-position:center!important;background-size:160px auto!important;background-repeat:no-repeat!important;
}
.sidebar .logo>*{display:none!important}
@media(max-width:750px){
  .landing-logo{width:142px;height:48px}
  .sidebar .logo{display:block!important;height:54px;background-size:150px auto!important}
}

/* Trugaro Trajectory — P1 goal interface */
.goal-trajectory-snapshot{margin-top:18px;padding:18px;border:1px solid #dbe5ef;border-radius:16px;background:linear-gradient(145deg,#f8fafc,#fff)}
.goal-trajectory-heading,.goal-trajectory-total{display:flex;align-items:center;justify-content:space-between;gap:12px}
.goal-trajectory-heading>span:first-child,.trajectory-section-label,.trajectory-forecast>span,.trajectory-recommendation>span{color:#16a34a;font:800 10px Poppins,sans-serif;letter-spacing:.12em}
.trajectory-status{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:999px;font:800 10px Poppins,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.trajectory-status.ahead,.trajectory-status.on_track{background:#dcfce7;color:#15803d}.trajectory-status.behind{background:#ffedd5;color:#c2410c}.trajectory-status.at_risk{background:#fee2e2;color:#b91c1c}.trajectory-status.paused,.trajectory-status.getting_started{background:#e2e8f0;color:#475569}
.goal-trajectory-total{margin:16px 0 10px}.goal-trajectory-total strong{color:#0b132b;font:800 20px Poppins,sans-serif}.goal-trajectory-total>span{color:#64748b;font-size:12px}
.trajectory-progress{height:9px;border-radius:99px;background:#e2e8f0;overflow:hidden}.trajectory-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#06b6d4)}
.goal-trajectory-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.goal-trajectory-metrics>div{padding:11px;border-radius:11px;background:#fff;border:1px solid #e2e8f0}.goal-trajectory-metrics span,.goal-trajectory-metrics strong{display:block}.goal-trajectory-metrics span{color:#64748b;font-size:10px}.goal-trajectory-metrics strong{margin-top:4px;color:#0b132b;font:700 13px Poppins,sans-serif}
.view-trajectory-button{width:100%;margin-top:12px;padding:11px;border:0;border-radius:11px;background:#0b132b;color:#fff;font:700 12px Poppins,sans-serif;cursor:pointer}.view-trajectory-button:hover{background:#152447;transform:translateY(-1px)}
.trajectory-overlay{position:fixed;inset:0;z-index:28000;display:grid;place-items:center;padding:22px;background:rgba(3,9,24,.78);backdrop-filter:blur(8px);overflow:auto}
.trajectory-detail{position:relative;width:min(860px,100%);margin:auto;padding:30px;border:1px solid rgba(34,197,94,.35);border-radius:24px;background:#f8fafc;box-shadow:0 28px 80px rgba(0,0,0,.4)}
.trajectory-close{position:absolute;top:18px;right:18px;width:36px;height:36px;border:1px solid #dbe5ef;border-radius:50%;background:#fff;color:#0b132b;font-size:22px;cursor:pointer}
.trajectory-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-right:45px}.trajectory-detail-header>div>span{color:#16a34a;font:800 11px Poppins,sans-serif;letter-spacing:.14em}.trajectory-detail-header h2{margin:6px 0 3px;color:#0b132b;font-size:30px}.trajectory-detail-header p{margin:0;color:#64748b}
.trajectory-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}.trajectory-summary-grid article,.trajectory-pace-grid article{padding:16px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.trajectory-summary-grid span,.trajectory-summary-grid strong,.trajectory-pace-grid span,.trajectory-pace-grid strong{display:block}.trajectory-summary-grid span,.trajectory-pace-grid span{color:#64748b;font-size:11px}.trajectory-summary-grid strong,.trajectory-pace-grid strong{margin-top:6px;color:#0b132b;font:700 16px Poppins,sans-serif}
.trajectory-score-panel{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:28px;margin-top:16px;padding:22px;border-radius:18px;background:linear-gradient(145deg,#0b132b,#15294a);color:#cbd5e1}.trajectory-score-panel h3{margin:7px 0;color:#fff;font-size:22px}.trajectory-score-panel p{margin:0 0 13px}.trajectory-score-ring{--trajectory-score:0;position:relative;display:grid;place-items:center;width:132px;height:132px;border-radius:50%;background:conic-gradient(#22c55e 0 calc(var(--trajectory-score)*1%),#263653 calc(var(--trajectory-score)*1%) 100%)}.trajectory-score-ring::before{content:"";position:absolute;inset:15px;border-radius:50%;background:#0f1d38}.trajectory-score-ring div{position:relative;text-align:center}.trajectory-score-ring strong,.trajectory-score-ring span{display:block}.trajectory-score-ring strong{color:#fff;font:800 25px Poppins,sans-serif}.trajectory-score-ring span{color:#94a3b8;font-size:9px;text-transform:uppercase}.trajectory-score-panel .trajectory-progress{background:#263653}
.trajectory-pace-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.trajectory-forecast,.trajectory-recommendation{display:grid;gap:7px;margin-top:12px;padding:17px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.trajectory-forecast strong{color:#0b132b}.trajectory-recommendation{border-color:#bbf7d0;background:#f0fdf4}.trajectory-recommendation p{margin:0;color:#166534;font-weight:600;line-height:1.5}.trajectory-detail footer{display:flex;justify-content:center;gap:12px;margin-top:19px;color:#0b132b;font:800 11px Poppins,sans-serif;letter-spacing:.1em}.trajectory-detail footer i{color:#06b6d4;font-style:normal}
@media(max-width:700px){.goal-trajectory-total{align-items:flex-start;flex-direction:column}.goal-trajectory-metrics{grid-template-columns:1fr}.trajectory-detail{padding:24px 17px}.trajectory-detail-header{display:grid}.trajectory-summary-grid{grid-template-columns:1fr 1fr}.trajectory-score-panel{grid-template-columns:1fr}.trajectory-score-ring{margin:auto}.trajectory-pace-grid{grid-template-columns:1fr}}

/* Trugaro Trajectory — P2 visualization and dashboard overview */
.trajectory-status.completed{background:#dcfce7;color:#15803d}
.dashboard-trajectory-section{margin:8px 0 34px}.trajectory-overview-header{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:17px}.trajectory-overview-header>div:first-child>span{color:#16a34a;font:800 10px Poppins,sans-serif;letter-spacing:.13em}.trajectory-overview-header h2{margin:5px 0 3px;color:#fff;font-size:27px}.trajectory-overview-header p{margin:0;color:#94a3b8}
.trajectory-global-summary{display:flex;gap:9px;padding:9px;border:1px solid #22314d;border-radius:15px;background:#101b31}.trajectory-global-summary strong{min-width:72px;padding:8px 11px;border-right:1px solid #263653;color:#fff;font:800 18px Poppins,sans-serif;text-align:center}.trajectory-global-summary strong:last-child{border-right:0}.trajectory-global-summary span{display:block;margin-top:3px;color:#94a3b8;font:600 9px Inter,sans-serif}
.trajectory-attention{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:14px;padding:21px 23px;border:1px solid #fecaca;border-left:5px solid #ef4444;border-radius:17px;background:linear-gradient(110deg,#fff7f7,#fff);box-shadow:0 8px 24px rgba(127,29,29,.08)}.trajectory-attention>div:first-child>span{color:#dc2626;font:800 10px Poppins,sans-serif;letter-spacing:.12em}.trajectory-attention h3{margin:5px 0 2px;color:#0b132b;font-size:21px}.trajectory-attention p{margin:0;color:#64748b}.trajectory-attention>div:last-child{display:grid;justify-items:end}.trajectory-attention>div:last-child>span{color:#64748b;font-size:10px}.trajectory-attention>div:last-child>strong{margin:3px 0 8px;color:#0b132b;font:800 18px Poppins,sans-serif}.trajectory-attention button,.trajectory-overview-card button,.trajectory-completed-item button{border:0;border-radius:9px;padding:9px 12px;background:#0b132b;color:#fff;font:700 11px Poppins,sans-serif;cursor:pointer}
.trajectory-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.trajectory-overview-card{display:grid;grid-template-columns:1fr auto;gap:14px;padding:19px;border:1px solid #e2e8f0;border-top:4px solid #94a3b8;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(11,19,43,.06)}.trajectory-overview-card.at_risk{border-top-color:#ef4444}.trajectory-overview-card.behind{border-top-color:#f97316}.trajectory-overview-card.on_track{border-top-color:#22c55e}.trajectory-overview-card.ahead{border-top-color:#06b6d4}.trajectory-overview-card h3{margin:10px 0 2px;color:#0b132b;font-size:18px}.trajectory-overview-card p{margin:0;color:#64748b;font-size:12px}.trajectory-overview-card dl{display:grid;gap:5px;margin:0}.trajectory-overview-card dl>div{display:flex;justify-content:space-between;gap:12px}.trajectory-overview-card dt{color:#64748b;font-size:10px}.trajectory-overview-card dd{margin:0;color:#0b132b;font:700 11px Poppins,sans-serif}.trajectory-overview-card button{grid-column:1/-1;background:linear-gradient(135deg,#22c55e,#06b6d4)}
.trajectory-completed{margin-top:14px;padding:15px 18px;border:1px solid #22314d;border-radius:15px;background:#101b31}.trajectory-completed summary{color:#cbd5e1;font:700 12px Poppins,sans-serif;cursor:pointer}.trajectory-completed>div{display:grid;gap:8px;margin-top:12px}.trajectory-completed-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:11px;background:#fff}.trajectory-completed-item>span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#dcfce7;color:#15803d}.trajectory-completed-item div{margin-right:auto}.trajectory-completed-item strong,.trajectory-completed-item small{display:block}.trajectory-completed-item strong{color:#0b132b}.trajectory-completed-item small{color:#64748b}.trajectory-empty{padding:28px;border:1px dashed #334155;border-radius:18px;background:#101b31;text-align:center}.trajectory-empty strong{color:#fff;font:700 21px Poppins,sans-serif}.trajectory-empty p{color:#94a3b8}
.trajectory-chart-card{margin-top:16px;padding:20px;border:1px solid #e2e8f0;border-radius:18px;background:#fff}.trajectory-chart-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.trajectory-chart-heading>div>span{color:#16a34a;font:800 10px Poppins,sans-serif;letter-spacing:.12em}.trajectory-chart-heading h3{margin:4px 0 0;color:#0b132b;font-size:18px}.trajectory-chart-legend{display:flex;gap:13px;color:#64748b;font-size:11px}.trajectory-chart-legend span{display:flex;align-items:center;gap:5px}.trajectory-chart-legend i{width:17px;height:3px;border-radius:4px}.trajectory-chart-legend i.expected{background:#94a3b8}.trajectory-chart-legend i.actual{background:linear-gradient(90deg,#22c55e,#06b6d4)}
.trajectory-chart-wrap{position:relative;margin-top:10px}.trajectory-chart{display:block;width:100%;height:auto;touch-action:none}.trajectory-grid-line{stroke:#e2e8f0;stroke-width:1}.trajectory-expected-line{stroke:#94a3b8;stroke-width:3;stroke-dasharray:8 7}.trajectory-actual-line{fill:none;stroke:url(#trajectoryActualGradient);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.trajectory-today-line{stroke:#0b132b;stroke-width:1.5;stroke-dasharray:3 4;opacity:.5}.trajectory-today-label{fill:#0b132b;font:800 9px Poppins,sans-serif;letter-spacing:.08em}.trajectory-today-dot.expected{fill:#fff;stroke:#94a3b8;stroke-width:3}.trajectory-today-dot.actual{fill:#fff;stroke:#22c55e;stroke-width:4}.trajectory-axis-label{fill:#64748b;font:10px Inter,sans-serif}.trajectory-hover-line{stroke:#06b6d4;stroke-width:1.5;stroke-dasharray:3 3}.trajectory-chart-tooltip{position:absolute;z-index:4;display:grid;gap:3px;width:168px;padding:11px;border-radius:10px;background:#0b132b;color:#cbd5e1;box-shadow:0 8px 24px rgba(0,0,0,.22);font-size:10px;pointer-events:none}.trajectory-chart-tooltip[hidden]{display:none}.trajectory-chart-tooltip strong{color:#fff;font:700 12px Poppins,sans-serif}.trajectory-current-position{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:10px}.trajectory-current-position>div{padding:11px;border-radius:11px;background:#f8fafc}.trajectory-current-position span,.trajectory-current-position strong{display:block}.trajectory-current-position span{color:#64748b;font-size:10px}.trajectory-current-position strong{margin-top:4px;color:#0b132b;font:700 14px Poppins,sans-serif}.trajectory-current-position .positive{color:#15803d}.trajectory-current-position .negative{color:#dc2626}
@media(max-width:900px){.trajectory-overview-header{display:grid;align-items:start}.trajectory-global-summary{width:100%;overflow:hidden}.trajectory-global-summary strong{flex:1;min-width:0}.trajectory-overview-grid{grid-template-columns:1fr}}
@media(max-width:600px){.trajectory-global-summary{display:grid;grid-template-columns:1fr 1fr}.trajectory-global-summary strong{border-right:0}.trajectory-attention{align-items:flex-start;flex-direction:column}.trajectory-attention>div:last-child{justify-items:start}.trajectory-overview-card{grid-template-columns:1fr}.trajectory-overview-card button{grid-column:auto}.trajectory-chart-card{padding:14px 10px}.trajectory-chart-heading{display:grid}.trajectory-chart-legend{order:2}.trajectory-current-position{grid-template-columns:1fr 1fr}.trajectory-current-position>div:last-child{grid-column:1/-1}.trajectory-axis-label{font-size:8px}}

/* P2.1 trajectory polish */
.dashboard-objectives-link{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 34px;padding:18px 20px;border:1px solid rgba(148,163,184,.24);border-radius:16px;background:rgba(15,29,56,.72)}
.dashboard-objectives-link strong,.dashboard-objectives-link span{display:block}.dashboard-objectives-link strong{color:#fff;font:700 14px Poppins,sans-serif}.dashboard-objectives-link span{margin-top:3px;color:#94a3b8;font-size:12px}
.trajectory-info{position:relative;display:inline-grid;place-items:center;width:17px;height:17px;margin-left:4px;padding:0;border:1px solid #94a3b8;border-radius:50%;background:transparent;color:inherit;font:800 10px Inter,sans-serif;cursor:help;vertical-align:middle}
.trajectory-info::after{content:none}
.trajectory-chart-today{position:absolute;top:31px;display:grid;gap:1px;min-width:116px;padding:7px 9px;border:1px solid #dbe5ef;border-radius:9px;background:rgba(255,255,255,.94);box-shadow:0 5px 16px rgba(11,19,43,.1);color:#475569;font-size:9px;line-height:1.3;pointer-events:none;transform:translateX(-50%)}
.trajectory-chart-today strong{color:#0b132b;font:800 9px Poppins,sans-serif;letter-spacing:.08em}
.trajectory-recommendation h3{margin:0;color:#0b132b;font-size:18px}.trajectory-recommendation small{color:#166534}.trajectory-recommendation strong{color:#0b132b}
.trajectory-recommendation.behind{border-color:#fed7aa;background:#fff7ed}.trajectory-recommendation.behind>span,.trajectory-recommendation.behind p,.trajectory-recommendation.behind small{color:#9a3412}
.trajectory-recommendation.at_risk{border-color:#fecaca;background:#fff1f2}.trajectory-recommendation.at_risk>span,.trajectory-recommendation.at_risk p,.trajectory-recommendation.at_risk small{color:#b91c1c}
.trajectory-recommendation.on_track,.trajectory-recommendation.ahead{border-color:#bbf7d0;background:#f0fdf4}
.trajectory-overview-card.at_risk{box-shadow:0 10px 28px rgba(239,68,68,.12)}.trajectory-overview-card.behind{box-shadow:0 9px 25px rgba(249,115,22,.09)}.trajectory-overview-card.on_track,.trajectory-overview-card.ahead{box-shadow:0 7px 20px rgba(11,19,43,.05)}
.trajectory-overview-card h3{overflow-wrap:anywhere}.trajectory-detail{overflow-x:hidden}.trajectory-summary-grid strong,.trajectory-pace-grid strong{overflow-wrap:anywhere}
@media(max-width:600px){.dashboard-objectives-link{align-items:stretch;flex-direction:column}.dashboard-objectives-link button{width:100%}.trajectory-chart-today{top:25px;min-width:94px;padding:5px 7px;font-size:8px}}

/* Landing page V2 — Track, Predict, Adapt */
.trajectory-landing{margin:0;background:#f8fafc;color:#0b132b;font-family:Inter,sans-serif}.trajectory-landing *{box-sizing:border-box}.trajectory-landing h1,.trajectory-landing h2,.trajectory-landing h3,.trajectory-landing strong,.trajectory-landing .v2-button{font-family:Poppins,sans-serif}.trajectory-landing em{color:#16a34a;font-style:normal}.v2-nav{position:sticky;z-index:100;top:0;display:flex;align-items:center;justify-content:space-between;min-height:76px;padding:14px max(30px,calc((100vw - 1180px)/2));border-bottom:1px solid rgba(226,232,240,.9);background:rgba(255,255,255,.92);backdrop-filter:blur(15px)}.v2-logo img{display:block;width:150px;height:45px;object-fit:contain}.v2-nav nav{display:flex;align-items:center;gap:27px}.v2-nav nav a{color:#334155;font-size:13px;font-weight:700;text-decoration:none}.v2-nav nav a:hover{color:#16a34a}.v2-button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border:0;border-radius:12px;background:linear-gradient(135deg,#22c55e,#06b6d4);box-shadow:0 9px 24px rgba(34,197,94,.22);color:#fff!important;font-size:13px;font-weight:700;text-decoration:none;transition:.2s ease}.v2-button:hover{transform:translateY(-2px)}.v2-button.small{padding:11px 17px}.v2-button.secondary{border:1px solid #dbe5ef;background:#fff;box-shadow:none;color:#0b132b!important}.v2-eyebrow{display:block;color:#16a34a;font:800 10px Poppins,sans-serif;letter-spacing:.15em}.v2-section{max-width:1180px;margin:auto;padding:100px 30px}.v2-heading h2,.v2-graph-copy h2,.v2-dashboard-copy h2,.v2-positioning h2,.v2-problem h2{margin:10px 0 16px;font-size:clamp(34px,4vw,55px);line-height:1.08;letter-spacing:-.04em}.v2-heading p{max-width:620px;color:#64748b;font-size:16px;line-height:1.75}.v2-heading.centered{text-align:center}.v2-hero{position:relative;display:grid;grid-template-columns:minmax(0,.88fr) minmax(500px,1.12fr);align-items:center;gap:68px;min-height:720px;max-width:1280px;margin:auto;padding:80px 50px 105px}.v2-hero::before{content:"";position:absolute;z-index:-1;right:0;top:30px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(34,197,94,.16),rgba(6,182,212,.05) 48%,transparent 70%);filter:blur(8px)}.v2-hero h1{margin:14px 0 20px;font-size:clamp(50px,5.7vw,82px);line-height:.98;letter-spacing:-.055em}.v2-hero-copy>p{max-width:590px;margin:0;color:#475569;font-size:18px;line-height:1.7}.v2-actions{display:flex;align-items:center;gap:24px;margin:31px 0 15px}.v2-link{color:#0b132b;font-size:13px;font-weight:800;text-decoration:none}.v2-link span{color:#16a34a}.v2-hero-copy>small{color:#64748b;font-size:12px}.v2-hero-copy>small b{padding:0 7px;color:#22c55e}.v2-product-window{overflow:hidden;border:1px solid #d9e4ef;border-radius:23px;background:#fff;box-shadow:0 28px 80px rgba(11,19,43,.16);transform:rotate(1deg)}.v2-window-bar{display:flex;align-items:center;justify-content:space-between;padding:13px 17px;border-bottom:1px solid #e2e8f0;background:#f8fafc;color:#64748b;font-size:10px}.v2-window-bar span{display:flex;gap:6px}.v2-window-bar i{display:block;width:8px;height:8px;border-radius:50%;background:#cbd5e1}.v2-window-bar i:first-child{background:#fb7185}.v2-window-bar i:nth-child(2){background:#fbbf24}.v2-window-bar i:last-child{background:#22c55e}.v2-product-head{display:flex;align-items:flex-start;justify-content:space-between;padding:25px 26px 12px}.v2-product-head small{color:#16a34a;font:800 9px Poppins,sans-serif;letter-spacing:.13em}.v2-product-head h2{margin:5px 0 0;font-size:25px}.v2-status{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;font:700 10px Poppins,sans-serif;text-transform:uppercase}.v2-status.behind{background:#fff7ed;color:#c2410c}.v2-status.on,.v2-status.ahead{background:#dcfce7;color:#15803d}.v2-status.risk{background:#fee2e2;color:#dc2626}.v2-product-metrics{display:grid;grid-template-columns:150px 1fr;gap:22px;padding:9px 26px}.v2-score{display:grid;place-items:center;width:140px;height:140px;border-radius:50%;background:conic-gradient(#f97316 0 82%,#e2e8f0 82%)}.v2-score::before{content:"";grid-area:1/1;width:106px;height:106px;border-radius:50%;background:#fff}.v2-score div{z-index:1;grid-area:1/1;text-align:center}.v2-score strong,.v2-score span{display:block}.v2-score strong{font-size:29px}.v2-score span{color:#64748b;font-size:9px}.v2-product-metrics dl{display:grid;gap:5px;margin:0}.v2-product-metrics dl div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid #edf2f7}.v2-product-metrics dt{color:#64748b;font-size:11px}.v2-product-metrics dd{margin:0;font:700 12px Poppins,sans-serif}.v2-mini-progress{height:9px;margin:16px 26px 9px;overflow:hidden;border-radius:999px;background:#e2e8f0}.v2-mini-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#06b6d4)}.v2-behind-copy{margin:0 26px;color:#c2410c;font-size:12px;font-weight:700}.v2-insight{display:grid;gap:4px;margin:19px 26px 26px;padding:15px 17px;border:1px solid #fed7aa;border-radius:13px;background:#fff7ed}.v2-insight span{color:#c2410c;font:800 9px Poppins,sans-serif;letter-spacing:.12em}.v2-insight strong{font-size:15px}.v2-problem{max-width:900px;text-align:center}.v2-problem>p{max-width:740px;margin:18px auto;color:#64748b;font-size:17px;line-height:1.75}.v2-problem blockquote{margin:30px auto;padding:26px;border-left:4px solid #22c55e;border-radius:0 16px 16px 0;background:#fff;box-shadow:0 12px 35px rgba(11,19,43,.06);font:700 clamp(24px,3vw,36px) Poppins,sans-serif}.v2-system{max-width:none;background:#0b132b;color:#fff}.v2-system>.v2-heading,.v2-system-grid,.v2-philosophy{max-width:1120px;margin-left:auto;margin-right:auto}.v2-system .v2-heading h2{color:#fff}.v2-system .v2-heading em{color:#22c55e}.v2-system-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:20px;margin-top:45px}.v2-system-grid>i{color:#06b6d4;font-size:27px;font-style:normal}.v2-system-grid article{position:relative;min-height:235px;padding:27px;border:1px solid rgba(148,163,184,.22);border-radius:18px;background:#111f3b}.v2-system-grid article>b{position:absolute;right:20px;top:18px;color:rgba(255,255,255,.07);font-size:55px}.v2-system-grid article>span{color:#22c55e;font:800 11px Poppins,sans-serif;letter-spacing:.14em}.v2-system-grid h3{margin:28px 0 25px;font-size:20px;line-height:1.45}.v2-system-grid article>strong{display:block;padding-top:15px;border-top:1px solid rgba(148,163,184,.2);color:#67e8f9;font-size:12px}.v2-philosophy{margin-top:44px;text-align:center;font:800 clamp(19px,3vw,31px) Poppins,sans-serif;letter-spacing:.12em}.v2-philosophy i{padding:0 12px;color:#22c55e;font-style:normal}.v2-graph-section{display:grid;grid-template-columns:.72fr 1.28fr;gap:55px;align-items:center}.v2-definitions{display:grid;gap:12px;margin-top:27px}.v2-definitions p{display:grid;gap:3px;margin:0;padding-left:15px;border-left:3px solid #22c55e}.v2-definitions b{font:700 14px Poppins,sans-serif}.v2-definitions span{color:#64748b;font-size:13px}.v2-chart-card{padding:25px;border:1px solid #dbe5ef;border-radius:20px;background:#fff;box-shadow:0 16px 50px rgba(11,19,43,.08)}.v2-chart-title{display:flex;align-items:flex-start;justify-content:space-between}.v2-chart-title small,.v2-forecast span{display:block;color:#16a34a;font:800 9px Poppins,sans-serif;letter-spacing:.12em}.v2-chart-title strong{display:block;margin-top:4px;font-size:18px}.v2-chart-title>span{color:#64748b;font-size:10px}.v2-chart-title>span i{display:inline-block;width:15px;height:3px;margin:0 4px;background:#94a3b8}.v2-chart-title>span i:last-of-type{background:#22c55e}.v2-chart-card svg{display:block;width:100%;height:auto}.v2-grid line{stroke:#e2e8f0}.v2-expected{stroke:#94a3b8;stroke-width:3;stroke-dasharray:8 7}.v2-actual{fill:none;stroke:url(#v2line);stroke-width:6;stroke-linecap:round;stroke-linejoin:round}.v2-today{stroke:#0b132b;stroke-dasharray:3 4;opacity:.6}.v2-dot{fill:#fff;stroke:#22c55e;stroke-width:5}.v2-chart-card text{fill:#64748b;font:9px Inter,sans-serif}.v2-chart-today{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.v2-chart-today span{padding:10px;border-radius:10px;background:#f8fafc;color:#64748b;font-size:10px}.v2-chart-today b{display:block;margin-top:3px;color:#0b132b;font-size:14px}.v2-forecast{display:flex;align-items:center;gap:12px;margin-top:12px;padding:14px 15px;border-radius:11px;background:#fff1f2}.v2-forecast strong{margin-left:auto}.v2-forecast>b{color:#dc2626;font-size:11px}.v2-statement{grid-column:1/-1;margin:8px auto 0;padding:17px 23px;border-radius:13px;background:#0b132b;color:#fff;font:700 14px Poppins,sans-serif;text-align:center}.v2-adapt{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:55px}.v2-recalc{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:10px}.v2-recalc>div{display:grid;gap:8px;padding:20px 15px;border:1px solid #e2e8f0;border-radius:15px;background:#fff;text-align:center}.v2-recalc>div span{color:#64748b;font:800 8px Poppins,sans-serif;letter-spacing:.1em}.v2-recalc>div strong{font-size:16px}.v2-recalc>i{color:#06b6d4;font-style:normal}.v2-recalc .warning{border-color:#fed7aa;background:#fff7ed}.v2-recalc .result{border-color:#bbf7d0;background:#f0fdf4}.v2-use-cases{max-width:none;background:#eef4f8}.v2-use-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;max-width:1050px;margin:42px auto 0}.v2-use-grid article{padding:25px;border:1px solid #dbe5ef;border-radius:17px;background:#fff}.v2-use-grid article>span{font-size:27px}.v2-use-grid h3{margin:18px 0 4px;font-size:17px}.v2-use-grid p{margin:0;color:#16a34a;font-size:12px;font-weight:700}.v2-dashboard{display:grid;grid-template-columns:.7fr 1.3fr;align-items:center;gap:60px}.v2-dashboard-copy p{max-width:450px;color:#64748b;line-height:1.7}.v2-dashboard-card{overflow:hidden;border:1px solid #dbe5ef;border-radius:20px;background:#fff;box-shadow:0 18px 55px rgba(11,19,43,.1)}.v2-dashboard-top{display:flex;justify-content:space-between;padding:18px 21px;background:#0b132b;color:#fff}.v2-dashboard-top span{color:#22c55e;font:800 9px Poppins,sans-serif;letter-spacing:.12em}.v2-dashboard-top strong{font-size:12px}.v2-goal-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 21px;border-bottom:1px solid #edf2f7}.v2-goal-row>strong{font-size:14px}.v2-goal-row.urgent{border-left:5px solid #ef4444;background:#fff7f7}.v2-how{text-align:center}.v2-how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:42px 0 34px;text-align:left}.v2-how-grid article{position:relative;min-height:210px;padding:25px;border:1px solid #dbe5ef;border-radius:17px;background:#fff}.v2-how-grid article>b{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#dcfce7;color:#16a34a}.v2-how-grid h3{margin:23px 0 8px;font-size:17px}.v2-how-grid p{color:#64748b;font-size:13px;line-height:1.6}.v2-how-grid article>strong{color:#16a34a;font-size:11px}.v2-positioning{max-width:none;background:linear-gradient(145deg,#0b132b,#15294a);color:#fff;text-align:center}.v2-positioning h2{color:#fff}.v2-positioning p{color:#cbd5e1}.v2-positioning>div{display:flex;justify-content:center;gap:10px;margin-top:31px;flex-wrap:wrap}.v2-positioning>div span{padding:11px 16px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.06);font-size:12px}.v2-pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,440px));justify-content:center;gap:20px;margin-top:43px}.v2-pricing-grid article{display:flex;flex-direction:column;padding:32px;border:1px solid #dbe5ef;border-radius:20px;background:#fff}.v2-pricing-grid article.premium{border:2px solid #22c55e;box-shadow:0 18px 45px rgba(34,197,94,.12)}.v2-pricing-grid article>span{color:#16a34a;font:800 10px Poppins,sans-serif;letter-spacing:.12em}.v2-pricing-grid h3{margin:13px 0 3px;font-size:40px}.v2-pricing-grid h3 small{font-size:13px}.v2-pricing-grid p{color:#64748b}.v2-pricing-grid ul{display:grid;gap:12px;margin:22px 0 30px;padding:0;list-style:none}.v2-pricing-grid li{color:#334155;font-size:13px}.v2-pricing-grid li::before{content:"✓";margin-right:9px;color:#22c55e;font-weight:800}.v2-pricing-grid .v2-button{margin-top:auto}.v2-final{padding:105px 30px;background:#eef4f8;text-align:center}.v2-final h2{margin:12px 0 18px;font-size:clamp(38px,5vw,65px);line-height:1.05;letter-spacing:-.045em}.v2-final p{max-width:690px;margin:0 auto 29px;color:#64748b;font-size:16px;line-height:1.7}.v2-final>small{display:block;margin-top:13px;color:#64748b}.v2-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:35px;padding:45px max(30px,calc((100vw - 1180px)/2));background:#0b132b;color:#94a3b8}.v2-footer .v2-logo img{width:130px}.v2-footer p{font-size:12px;line-height:1.6}.v2-footer nav{display:flex;gap:18px}.v2-footer nav a{color:#cbd5e1;font-size:11px;text-decoration:none}.v2-footer>small{grid-column:1/-1;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);font-size:10px}
@media(max-width:960px){.v2-nav nav>a:not(.v2-button):not(:nth-last-child(2)){display:none}.v2-hero{grid-template-columns:1fr;gap:50px;padding-top:65px}.v2-product-window{max-width:700px;transform:none}.v2-system-grid{grid-template-columns:1fr}.v2-system-grid>i{transform:rotate(90deg);text-align:center}.v2-graph-section,.v2-adapt,.v2-dashboard{grid-template-columns:1fr}.v2-how-grid{grid-template-columns:1fr 1fr}.v2-footer{grid-template-columns:1fr 1fr}.v2-footer nav{justify-content:flex-end}}
@media(max-width:650px){.v2-nav{min-height:66px;padding:10px 16px}.v2-logo img{width:120px}.v2-nav nav{gap:12px}.v2-nav nav>a:nth-last-child(2){display:none}.v2-button.small{padding:9px 12px}.v2-hero{min-height:auto;padding:55px 18px 72px}.v2-hero h1{font-size:48px}.v2-hero-copy>p{font-size:15px}.v2-actions{align-items:stretch;flex-direction:column;gap:15px}.v2-actions .v2-button{width:100%}.v2-product-window{border-radius:17px}.v2-product-head{padding:20px 17px 10px}.v2-product-metrics{grid-template-columns:110px 1fr;gap:13px;padding:8px 17px}.v2-score{width:104px;height:104px}.v2-score::before{width:78px;height:78px}.v2-score strong{font-size:22px}.v2-product-metrics dl div{align-items:flex-start;flex-direction:column;gap:2px;padding:6px 0}.v2-mini-progress{margin-left:17px;margin-right:17px}.v2-behind-copy{margin-left:17px}.v2-insight{margin:16px 17px 18px}.v2-section{padding:72px 18px}.v2-heading h2,.v2-graph-copy h2,.v2-dashboard-copy h2,.v2-positioning h2,.v2-problem h2{font-size:36px}.v2-system-grid article{min-height:auto}.v2-graph-section{gap:30px}.v2-chart-card{padding:15px}.v2-chart-title{gap:10px}.v2-chart-title>span{display:none}.v2-chart-today{grid-template-columns:1fr}.v2-forecast{align-items:flex-start;flex-direction:column}.v2-forecast strong{margin-left:0}.v2-recalc{grid-template-columns:1fr}.v2-recalc>i{transform:rotate(90deg);text-align:center}.v2-use-grid,.v2-how-grid,.v2-pricing-grid{grid-template-columns:1fr}.v2-goal-row{align-items:flex-start;flex-direction:column;gap:9px}.v2-footer{grid-template-columns:1fr;padding:38px 20px}.v2-footer nav{justify-content:flex-start;flex-wrap:wrap}.v2-philosophy{font-size:17px}.v2-philosophy i{padding:0 4px}}

/* Landing hero: rotating Trajectory examples */
.v2-product-window{position:relative}.v2-trajectory-stage{min-height:398px}.v2-trajectory-slide.is-active{animation:v2TrajectoryIn .42s cubic-bezier(.22,.61,.36,1)}.v2-score{background:conic-gradient(var(--score-color,#f97316) 0 min(var(--score,82%),100%),#e2e8f0 min(var(--score,82%),100%))}.v2-trajectory-copy{margin:0 26px;font-size:12px;font-weight:700}.v2-trajectory-copy.behind{color:#c2410c}.v2-trajectory-copy.on{color:#15803d}.v2-trajectory-copy.risk{color:#dc2626}.v2-insight.on{border-color:#bbf7d0;background:#f0fdf4}.v2-insight.on span{color:#15803d}.v2-insight.risk{border-color:#fecaca;background:#fef2f2}.v2-insight.risk span{color:#dc2626}.v2-carousel-controls{display:flex;align-items:center;justify-content:center;gap:13px;padding:0 26px 18px}.v2-carousel-dots{display:flex;align-items:center;gap:7px}.v2-carousel-dots button{width:7px;height:7px;padding:0;border:0;border-radius:999px;background:#cbd5e1;cursor:pointer;transition:width .2s ease,background .2s ease}.v2-carousel-dots button.is-active{width:24px;background:linear-gradient(90deg,#22c55e,#06b6d4)}.v2-carousel-arrow{display:grid;place-items:center;width:29px;height:29px;padding:0;border:1px solid #dbe5ef;border-radius:9px;background:#fff;color:#0b132b;font-size:15px;font-weight:800;cursor:pointer;transition:.2s ease}.v2-carousel-arrow:hover,.v2-carousel-arrow:focus-visible{border-color:#22c55e;color:#16a34a;outline:none;box-shadow:0 0 0 3px rgba(34,197,94,.12)}.v2-carousel-count{min-width:35px;color:#64748b;font-size:10px;text-align:center}.v2-carousel-count b{color:#0b132b}@keyframes v2TrajectoryIn{from{opacity:.15;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}@media(max-width:650px){.v2-trajectory-stage{min-height:358px}.v2-trajectory-copy{margin-left:17px;margin-right:17px}.v2-carousel-controls{padding:0 17px 15px}}@media(prefers-reduced-motion:reduce){.v2-trajectory-slide.is-active{animation:none}}

/* Landing V2 production fix — preserve free resources and sharpen positioning */
.v2-difference-copy{max-width:720px!important;color:#cbd5e1!important;font-size:17px!important}.v2-difference-copy strong{display:block;margin-top:5px;color:#fff;font-size:20px}.v2-resources{max-width:none;background:#eef4f8}.v2-resources .v2-heading p{margin-left:auto;margin-right:auto}.v2-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1080px;margin:42px auto 0}.v2-resource-grid article{display:flex;flex-direction:column;min-height:250px;padding:28px;border:1px solid #dbe5ef;border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(11,19,43,.06)}.v2-resource-grid article>span{color:#16a34a;font:800 10px Poppins,sans-serif;letter-spacing:.14em}.v2-resource-grid h3{margin:22px 0 10px;font-size:20px}.v2-resource-grid p{margin:0 0 24px;color:#64748b;font-size:14px;line-height:1.65}.v2-resource-grid a{margin-top:auto;color:#0b132b;font:700 13px Poppins,sans-serif;text-decoration:none}.v2-resource-grid a:hover{color:#16a34a}@media(max-width:960px){.v2-resource-grid{grid-template-columns:1fr}.v2-nav nav>a:not(.v2-button):not(:nth-last-child(2)){display:none}}@media(max-width:650px){.v2-nav nav>a:not(:last-child){display:none}}

/* Pre-launch QA: stronger contrast without changing layout or behavior */
.sidebar .logo-subtitle,
.sidebar .menu-button:not(.active),
.sidebar .logout-button,
.trajectory-overview-header p,
.trajectory-detail-header p { color:#cbd5e1; }
.trajectory-detail .trajectory-section-label,
.trajectory-detail footer span,
.trajectory-overview-header>div>span,
.trajectory-attention>div>span { color:#166534; }
input::placeholder,
textarea::placeholder { color:#64748b; opacity:1; }
button:disabled,
input:disabled,
select:disabled,
textarea:disabled { color:#64748b; opacity:1; }
.v2-system-grid h3,
.v2-system-grid article>strong,
.v2-positioning p,
.v2-footer,
.v2-footer p { color:#e2e8f0; }

/* Stronger contrast for the percentage inside the homepage mockup. */
.v2-score::before { background:#0b132b; }
.v2-score strong { color:#fff; }
.v2-score span { color:#cbd5e1; }

/* New navy Trugaro logo displayed on a clean white footer badge. */
.v2-footer .v2-logo { display:inline-flex; align-items:center; padding:8px 12px; border-radius:10px; background:#fff; }
.v2-footer .v2-logo img { width:145px; height:auto; object-fit:contain; }

/* Equal Track / Predict / Adapt cards with clearly visible step numbers. */
.v2-system-grid { align-items:stretch; }
.v2-system-grid article { display:flex; flex-direction:column; width:100%; height:245px; min-height:245px; }
.v2-system-grid article>b { color:#fff!important; opacity:1!important; }
.v2-system-grid article>strong { margin-top:auto; }
@media(max-width:960px){.v2-system-grid article{height:auto;min-height:220px}}

/* Mobile landing header: reserve a separate touch area for language selection. */
@media(max-width:650px){
  .trajectory-landing .v2-nav{padding-right:88px;gap:12px}
  .trajectory-landing .v2-nav nav{flex:0 0 auto}
  .trajectory-landing .v2-nav .v2-button.small{white-space:nowrap}
  .trajectory-landing .standalone-language-switcher{top:13px;right:14px}
  .trajectory-landing .standalone-language-switcher .language-select{width:60px;min-width:60px;height:42px}
}
@media(max-width:380px){
  .trajectory-landing .v2-logo img{width:108px}
  .trajectory-landing .v2-nav .v2-button.small{padding:9px 10px;font-size:12px}
}

/* Homepage language control: real SVG flags instead of unsupported flag emoji letters. */
.trajectory-landing .flag-language-switcher{
  position:fixed;
  z-index:1000;
  top:18px;
  right:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:62px;
  height:40px;
  padding-right:15px;
  border:1px solid #dbe5ef;
  border-radius:11px;
  background:#fff;
  box-shadow:0 6px 18px rgba(11,19,43,.08);
}
.trajectory-landing .flag-language-switcher::after{
  content:"⌄";
  position:absolute;
  right:7px;
  top:8px;
  color:#334155;
  font-size:14px;
  pointer-events:none;
}
.trajectory-landing .flag-language-switcher .language-flag-image{
  display:block;
  width:29px;
  height:18px;
  border-radius:3px;
  object-fit:cover;
  box-shadow:0 0 0 1px rgba(15,23,42,.12);
  pointer-events:none;
}
.trajectory-landing .flag-language-switcher .language-select{
  position:absolute;
  inset:0;
  width:100%;
  min-width:0;
  height:100%;
  padding:0;
  border:0;
  opacity:0;
  cursor:pointer;
}
@media(max-width:650px){
  .trajectory-landing .flag-language-switcher{
    top:13px;
    right:14px;
    width:60px;
    height:42px;
  }
}

/* Landing V2 — Poker Lab product showcase. */
.v2-poker-lab{
  position:relative;
  overflow:hidden;
  padding:105px 30px;
  background:linear-gradient(145deg,#071126 0%,#0b1b38 58%,#0b3040 100%);
  color:#fff;
}
.v2-poker-lab::before{
  content:"";
  position:absolute;
  right:-180px;
  top:-230px;
  width:620px;
  height:620px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(34,197,94,.22),rgba(6,182,212,.08) 45%,transparent 70%);
  pointer-events:none;
}
.v2-poker-lab-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(540px,1.18fr);
  align-items:center;
  gap:62px;
  max-width:1180px;
  margin:auto;
}
.v2-poker-lab-copy h2{
  margin:13px 0 20px;
  color:#fff;
  font-size:clamp(38px,4.4vw,61px);
  line-height:1.04;
  letter-spacing:-.045em;
}
.v2-poker-lab-copy>p{
  max-width:540px;
  margin:0;
  color:#cbd5e1;
  font-size:16px;
  line-height:1.75;
}
.v2-poker-benefits{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px 18px;
  margin-top:28px;
}
.v2-poker-benefits span{
  position:relative;
  padding-left:18px;
  color:#e2e8f0;
  font:700 12px Poppins,sans-serif;
  line-height:1.45;
}
.v2-poker-benefits span::before{
  content:"✓";
  position:absolute;
  left:0;
  color:#22c55e;
}
.v2-poker-lab .v2-actions{margin-bottom:0}
.v2-poker-secondary{
  color:#fff;
  font:700 13px Poppins,sans-serif;
  text-decoration:none;
}
.v2-poker-secondary:hover{color:#67e8f9}
.v2-lab-window{
  overflow:hidden;
  border:1px solid rgba(148,163,184,.32);
  border-radius:22px;
  background:#f8fafc;
  box-shadow:0 30px 85px rgba(0,0,0,.32);
  color:#0b132b;
}
.v2-lab-window-bar{
  display:flex;
  align-items:center;
  gap:14px;
  padding:13px 17px;
  border-bottom:1px solid #dbe5ef;
  background:#fff;
}
.v2-lab-window-bar>span{display:flex;gap:6px}
.v2-lab-window-bar i{display:block;width:8px;height:8px;border-radius:50%;background:#fb7185}
.v2-lab-window-bar i:nth-child(2){background:#fbbf24}
.v2-lab-window-bar i:nth-child(3){background:#22c55e}
.v2-lab-window-bar strong{font-size:11px}
.v2-lab-window-bar>b{
  margin-left:auto;
  padding:6px 9px;
  border-radius:999px;
  background:#dcfce7;
  color:#15803d;
  font:800 8px Poppins,sans-serif;
  letter-spacing:.1em;
}
.v2-lab-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  padding:18px 18px 0;
}
.v2-lab-stats>div{
  display:grid;
  gap:2px;
  padding:13px 14px;
  border:1px solid #dbe5ef;
  border-radius:12px;
  background:#fff;
}
.v2-lab-stats strong{font-size:22px}
.v2-lab-stats span{color:#64748b;font:800 7px Poppins,sans-serif;letter-spacing:.08em}
.v2-lab-modules{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:12px 18px 18px;
}
.v2-lab-modules article{
  min-height:138px;
  padding:17px;
  border:1px solid #dbe5ef;
  border-radius:14px;
  background:#fff;
}
.v2-lab-modules article.featured{
  grid-column:1/-1;
  min-height:150px;
  border-color:#86efac;
  background:linear-gradient(135deg,#f0fdf4,#ecfeff);
}
.v2-lab-modules article>span{color:#16a34a;font:800 8px Poppins,sans-serif;letter-spacing:.12em}
.v2-lab-modules h3{margin:9px 0 5px;font-size:15px}
.v2-lab-modules p{margin:0;color:#64748b;font-size:11px;line-height:1.5}
.v2-lab-modules article>div{height:7px;margin:16px 0 8px;overflow:hidden;border-radius:99px;background:#dbe5ef}
.v2-lab-modules article>div i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#06b6d4)}
.v2-lab-modules small{color:#15803d;font-size:9px;font-weight:700}
@media(max-width:960px){
  .v2-poker-lab-inner{grid-template-columns:1fr}
  .v2-lab-window{max-width:760px;width:100%}
}
@media(max-width:650px){
  .v2-poker-lab{padding:74px 18px}
  .v2-poker-lab-inner{gap:38px}
  .v2-poker-lab-copy h2{font-size:39px}
  .v2-poker-lab-copy>p{font-size:14px}
  .v2-poker-benefits{grid-template-columns:1fr}
  .v2-poker-lab .v2-actions{align-items:flex-start}
  .v2-lab-window-bar>b{display:none}
  .v2-lab-stats{grid-template-columns:1fr 1fr;padding:12px 12px 0}
  .v2-lab-stats>div:last-child{grid-column:1/-1}
  .v2-lab-modules{grid-template-columns:1fr;padding:10px 12px 12px}
  .v2-lab-modules article.featured{grid-column:auto}
}

/* Public Poker Lab discovery page. The connected workspace remains noindex. */
.poker-public-page{margin:0;background:#f4f8fb;color:#0b132b;font-family:Inter,Arial,sans-serif}
.poker-public-page *{box-sizing:border-box}
.poker-public-page h1,.poker-public-page h2,.poker-public-page h3,.poker-public-page strong{font-family:Poppins,Inter,Arial,sans-serif}
.poker-public-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:78px;padding:12px max(98px,calc((100vw - 1180px)/2)) 12px max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid #dbe5ef;background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}
.poker-public-brand img{display:block;width:132px;height:44px;object-fit:contain}
.poker-public-header nav{display:flex;align-items:center;justify-content:center;gap:26px}
.poker-public-header a{color:#23324b;text-decoration:none;font-size:14px;font-weight:700}
.poker-public-header>div{display:flex;align-items:center;gap:16px}
.poker-public-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border:1px solid transparent;border-radius:12px;background:linear-gradient(135deg,#22c55e,#06b6d4);box-shadow:0 12px 24px rgba(6,182,212,.18);color:#fff!important;text-decoration:none;font-weight:800}
.poker-public-button.small{min-height:42px;padding:9px 17px;font-size:13px}
.poker-public-button.secondary{border-color:#b8c7d9;background:#fff;box-shadow:none;color:#0b132b!important}
.poker-public-login{white-space:nowrap}
.poker-public-main{overflow:hidden}
.poker-public-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;gap:70px;max-width:1180px;margin:auto;padding:105px 24px 78px}
.poker-public-kicker,.poker-public-heading>span{display:block;margin-bottom:14px;color:#16a34a;font:800 12px Poppins,Inter,sans-serif;letter-spacing:.15em}
.poker-public-hero h1{max-width:720px;margin:0 0 24px;font-size:clamp(44px,6vw,72px);line-height:1.02;letter-spacing:-.05em}
.poker-public-hero>div>p{max-width:700px;margin:0;color:#526179;font-size:19px;line-height:1.75}
.poker-public-actions{display:flex;align-items:center;gap:24px;margin-top:34px}
.poker-public-link{color:#087d61;text-decoration:none;font-weight:800}
.poker-public-link.light{color:#7fffc2}
.poker-public-hero aside{position:relative;min-height:430px;padding:28px;overflow:hidden;border:1px solid #253d68;border-radius:30px;background:radial-gradient(circle at 75% 15%,rgba(6,182,212,.26),transparent 38%),linear-gradient(145deg,#091329,#10244a);box-shadow:0 30px 70px rgba(11,19,43,.22);color:#fff}
.poker-public-hero aside>span{font:800 11px Poppins,sans-serif;letter-spacing:.13em}
.poker-public-orbit{position:absolute;inset:78px 38px 38px;display:grid;place-items:center;border:1px solid rgba(125,211,252,.28);border-radius:50%}
.poker-public-orbit:before,.poker-public-orbit:after{position:absolute;content:"";border:1px solid rgba(34,197,94,.22);border-radius:50%}
.poker-public-orbit:before{inset:35px}.poker-public-orbit:after{inset:75px}
.poker-public-orbit strong{position:relative;z-index:1;color:#75f7b2;font-size:32px;letter-spacing:.08em}
.poker-public-orbit i,.poker-public-orbit b{position:absolute;z-index:1;padding:9px 13px;border-radius:999px;background:#fff;color:#0b132b;font:800 11px Poppins,sans-serif;font-style:normal;letter-spacing:.08em}
.poker-public-orbit i{top:14px;right:34px}.poker-public-orbit b{bottom:16px;left:23px}
.poker-public-stats{display:grid;grid-template-columns:repeat(3,1fr);max-width:1100px;margin:0 auto 100px;padding:0 24px}
.poker-public-stats article{display:flex;align-items:center;justify-content:center;gap:14px;min-height:105px;border:1px solid #dbe5ef;background:#fff}
.poker-public-stats article:first-child{border-radius:18px 0 0 18px}.poker-public-stats article:last-child{border-radius:0 18px 18px 0}
.poker-public-stats strong{color:#0b132b;font-size:34px}.poker-public-stats span{max-width:130px;color:#64748b;font-size:13px;font-weight:700;line-height:1.35;text-transform:uppercase}
.poker-public-section{max-width:1180px;margin:0 auto;padding:86px 24px}
.poker-public-heading{max-width:770px;margin-bottom:42px}
.poker-public-heading h2,.poker-public-math h2,.poker-public-final h2{margin:0 0 17px;font-size:clamp(34px,5vw,54px);line-height:1.08;letter-spacing:-.04em}
.poker-public-heading p,.poker-public-math>div>p,.poker-public-final p{color:#64748b;font-size:17px;line-height:1.7}
.poker-public-modules{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.poker-public-modules article{min-height:230px;padding:30px;border:1px solid #d7e2ee;border-radius:20px;background:#fff;box-shadow:0 16px 35px rgba(30,55,90,.06)}
.poker-public-modules article>span{display:grid;place-items:center;width:52px;height:52px;margin-bottom:28px;border-radius:14px;background:#ecfdf5;color:#0f9f58;font:800 15px Poppins,sans-serif}
.poker-public-modules h3{margin:0 0 11px;font-size:23px}.poker-public-modules p{margin:0;color:#64748b;line-height:1.7}
.poker-public-math{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:70px;max-width:none;margin:70px 0;padding:95px max(24px,calc((100vw - 1132px)/2));background:#091329;color:#fff}
.poker-public-math>div>p{color:#afbdd2}.poker-public-math ol{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.poker-public-math li{display:flex;align-items:center;gap:18px;padding:16px 20px;border:1px solid rgba(148,163,184,.22);border-radius:13px;background:rgba(21,39,75,.62);font-weight:800}
.poker-public-math li b{color:#56e89e;font-size:12px}.poker-public-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.poker-public-flow article{display:flex;gap:18px;padding:28px;border-top:3px solid #22c55e;background:#fff;box-shadow:0 12px 28px rgba(30,55,90,.06)}
.poker-public-flow article>b{color:#0dbb6c;font-size:26px}.poker-public-flow h3{margin:2px 0 9px;font-size:20px}.poker-public-flow p{margin:0;color:#64748b;line-height:1.65}
.poker-public-access{max-width:none;padding-right:max(24px,calc((100vw - 1132px)/2));padding-left:max(24px,calc((100vw - 1132px)/2));background:#eaf2f8}
.poker-public-plans{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.poker-public-plans article{padding:34px;border:1px solid #cbd9e8;border-radius:22px;background:#fff}
.poker-public-plans article.premium{border-color:#223961;background:#0e1d3b;color:#fff;box-shadow:0 22px 50px rgba(11,19,43,.18)}
.poker-public-plans article>span{color:#16a34a;font-size:11px;font-weight:900;letter-spacing:.15em}.poker-public-plans h3{margin:12px 0 10px;font-size:30px}
.poker-public-plans p{min-height:54px;color:#64748b;line-height:1.6}.poker-public-plans .premium p{color:#b5c2d5}
.poker-public-plans ul{display:grid;gap:12px;margin:24px 0 30px;padding:0;list-style:none}.poker-public-plans li:before{content:"✓";margin-right:9px;color:#22c55e;font-weight:900}
.poker-public-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.poker-public-faq details{padding:21px 0;border-bottom:1px solid #cfdae6}
.poker-public-faq summary{cursor:pointer;font:700 18px Poppins,sans-serif}.poker-public-faq details p{margin:13px 0 0;color:#64748b;line-height:1.7}
.poker-public-final{max-width:1040px;margin:60px auto 110px;padding:68px 28px;border-radius:28px;background:linear-gradient(135deg,#ecfdf5,#e6f7ff);text-align:center}
.poker-public-final p{max-width:710px;margin:0 auto 28px}.poker-public-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:35px;padding:38px max(24px,calc((100vw - 1132px)/2));background:#081128;color:#c3cfdf}
.poker-public-footer img{width:120px;max-height:40px}.poker-public-footer p{margin:0;font-size:13px}.poker-public-footer nav{display:flex;gap:20px}.poker-public-footer a{color:#fff;text-decoration:none;font-size:13px;font-weight:700}
@media(max-width:900px){
 .poker-public-header nav{display:none}.poker-public-hero,.poker-public-math,.poker-public-faq{grid-template-columns:1fr}.poker-public-hero{gap:42px;padding-top:70px}.poker-public-flow{grid-template-columns:1fr}.poker-public-footer{grid-template-columns:1fr;text-align:center}.poker-public-footer nav{justify-content:center}
}
@media(max-width:620px){
 .poker-public-header{min-height:68px;padding:9px 86px 9px 16px}.poker-public-brand img{width:108px;height:38px}.poker-public-login{display:none}.poker-public-header .poker-public-button.small{min-height:39px;padding:8px 13px}
 .poker-public-hero{grid-template-columns:minmax(0,1fr);padding:58px 18px 42px}.poker-public-hero h1{font-size:42px}.poker-public-hero>div>p{font-size:16px}.poker-public-actions{align-items:flex-start;flex-direction:column;gap:16px}.poker-public-hero aside{min-height:330px;padding:20px}.poker-public-orbit{inset:65px 24px 24px}.poker-public-orbit strong{font-size:25px}
 .poker-public-stats{grid-template-columns:1fr;margin-bottom:45px;padding:0 18px}.poker-public-stats article{justify-content:flex-start;padding:18px 25px;border-radius:0!important}.poker-public-stats article:first-child{border-radius:15px 15px 0 0!important}.poker-public-stats article:last-child{border-radius:0 0 15px 15px!important}
 .poker-public-section{padding:62px 18px}.poker-public-modules,.poker-public-plans{grid-template-columns:1fr}.poker-public-modules article{min-height:auto}.poker-public-math{gap:36px;margin:25px 0;padding:65px 18px}.poker-public-faq{gap:12px}.poker-public-final{margin:35px 18px 75px;padding:45px 20px}.poker-public-footer{padding:34px 18px}
}

/* First-account onboarding: compact mobile dialog with visible page context. */
@media(max-width:600px){
 .first-use-onboarding-overlay{align-items:center;padding:42px 24px;background:rgba(4,10,25,.68);backdrop-filter:blur(4px)}
 .first-use-onboarding-card{width:100%;max-width:352px;max-height:calc(100dvh - 84px);padding:22px 17px 18px;border-radius:19px;overflow:auto;overscroll-behavior:contain;box-shadow:0 22px 60px rgba(0,0,0,.48)}
 .first-use-onboarding-card .onboarding-close{position:sticky;display:grid;z-index:2;top:0;float:right;width:38px;height:38px;margin:-11px -7px 0 8px;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:#172b49;color:#fff;font-size:23px;line-height:1}
 .first-use-onboarding-card .onboarding-kicker{display:block;padding-right:42px;font-size:9px}
 .first-use-onboarding-card h2{margin:7px 38px 7px 0;font-size:22px;line-height:1.18}
 .first-use-onboarding-card>p{margin:0;color:#c4d0e1;font-size:11px;line-height:1.5}
 .first-use-onboarding-card .poker-onboarding-paths{grid-template-columns:1fr;gap:9px;margin-top:13px}
 .first-use-onboarding-card .poker-onboarding-path{min-height:236px;padding:12px 13px;border-radius:13px}
 .first-use-onboarding-card .poker-onboarding-path-heading{gap:9px}
 .first-use-onboarding-card .poker-onboarding-path-icon{width:32px;height:32px;flex-basis:32px;border-radius:9px;font-size:16px}
 .first-use-onboarding-card .poker-onboarding-path-label{font-size:9px}
 .first-use-onboarding-card .poker-onboarding-path h3{font-size:14px}
 .first-use-onboarding-card .poker-onboarding-path>p{margin:8px 0;font-size:11px;line-height:1.4}
 .first-use-onboarding-card .poker-onboarding-examples{gap:5px;margin-bottom:9px}
 .first-use-onboarding-card .poker-onboarding-examples-three{grid-template-columns:repeat(3,minmax(0,1fr))}
 .first-use-onboarding-card .poker-onboarding-examples span{min-height:38px;padding:6px 7px;border-radius:8px}
 .first-use-onboarding-card .poker-onboarding-examples b{font-size:9px}
 .first-use-onboarding-card .poker-onboarding-examples small{font-size:9px}
 .first-use-onboarding-card .poker-onboarding-action{min-height:42px;padding:8px 10px;font-size:10px}
 .first-use-onboarding-card .poker-onboarding-explore{margin-top:8px;padding:7px;font-size:10px}
}
