@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;1,500&family=DM+Sans:wght@300;400;500&display=swap');

.fg-dash-wrap {
    max-width: 780px;
    margin: 0 auto;
    padding: 0 20px 80px;
    font-family: 'DM Sans', sans-serif;
}

.fg-dash-wrap a{
    text-decoration: none !important;
}

/* Header */
.fg-dash-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
}
.fg-dash-logo {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 600;
    color: #111;
    display: flex;
    align-items: center;
    gap: 8px;
}
.fg-dash-logo span { color: #1D9E75; }
.fg-dash-plus-badge {
    font-family: 'DM Sans', sans-serif;
    font-size: 11px;
    font-weight: 500;
    background: #1D4E35;
    color: #fff;
    padding: 4px 10px;
    border-radius: 999px;
    letter-spacing: 0.04em;
}
.fg-dash-header-right {
    display: flex;
    align-items: center;
    gap: 10px;
}
.fg-dash-avatar {
    width: 36px;
    height: 36px;
    background: #1D9E75;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 600;
}
.fg-dash-username {
    font-size: 14px;
    font-weight: 500;
    color: #111;
}
.fg-dash-divider {
    height: 1px;
    background: #E5E7EB;
    margin-bottom: 36px;
}

/* Welcome */
.fg-dash-welcome {
    margin-bottom: 28px;
}
.fg-dash-welcome h1 {
    font-family: 'Playfair Display', serif;
    font-size: 32px;
    font-weight: 600;
    color: #111;
    margin: 0 0 6px;
}
.fg-dash-welcome p {
    font-size: 14px;
    color: #6B7280;
    margin: 0;
}

/* Tabs */
.fg-dash-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 36px;
}
.fg-dash-tab {
    padding: 10px 20px;
    border: 1px solid #E5E7EB;
    border-radius: 999px;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    color: #374151;
    text-decoration: none;
    transition: all 0.15s ease;
    white-space: nowrap;
}
.fg-dash-tab:hover { border-color: #1D4E35; color: #1D4E35; }
.fg-dash-tab-active {
    background: #1D4E35;
    border-color: #1D4E35;
    color: #fff !important;
}

/* Stats Grid */
.fg-dash-stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 16px;
}
.fg-dash-stat-card {
    background: #F9FAFB;
    border-radius: 14px;
    padding: 24px 28px;
}
.fg-dash-stat-num {
    font-family: 'Playfair Display', serif;
    font-size: 40px;
    font-weight: 600;
    color: #111;
    line-height: 1;
    margin-bottom: 6px;
}
.fg-dash-stat-label {
    font-size: 13px;
    color: #6B7280;
}

/* Quick Actions */
.fg-dash-actions-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 32px;
}
.fg-dash-action-card {
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 14px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
    color: #111;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.15s ease;
    position: relative;
}
.fg-dash-action-card:hover { border-color: #1D9E75; }
.fg-dash-action-locked {
    opacity: 0.6;
    cursor: not-allowed;
}
.fg-dash-action-icon {
    font-size: 22px;
    color: #1D4E35;
}
.fg-dash-coming-badge {
    font-size: 10px;
    background: #E5E7EB;
    color: #6B7280;
    padding: 2px 8px;
    border-radius: 999px;
    position: absolute;
    top: 12px;
    right: 12px;
}

/* Section Label */
.fg-dash-section-label {
    font-size: 11px;
    font-weight: 500;
    color: #9CA3AF;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 14px;
}

/* Plan Cards */
.fg-dash-plans-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.fg-dash-plan-card {
    background: #F9FAFB;
    border-radius: 14px;
    padding: 20px 24px;
}
.fg-dash-plan-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 14px;
    gap: 12px;
}
.fg-dash-plan-title {
    font-family: 'Playfair Display', serif;
    font-size: 18px;
    font-weight: 600;
    color: #111;
    margin-bottom: 4px;
}
.fg-dash-plan-preview {
    font-size: 13px;
    color: #6B7280;
    line-height: 1.5;
}
.fg-dash-plan-meta {
    font-size: 13px;
    color: #9CA3AF;
    white-space: nowrap;
}
.fg-dash-plan-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

/* Buttons */
.fg-dash-btn-outline {
    padding: 9px 18px;
    border: 1px solid #E5E7EB;
    border-radius: 10px;
    font-family: 'DM Sans', sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #111;
    background: #fff;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.15s ease;
    display: inline-block;
}
.fg-dash-btn-outline:hover { border-color: #1D9E75; color: #1D9E75; }
.fg-dash-btn-outline:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.fg-dash-plus-lock { color: #9CA3AF; }
.fg-dash-coming { opacity: 0.5; cursor: not-allowed; }

/* Upgrade Prompt */
.fg-dash-upgrade-prompt {
    text-align: center;
    padding: 60px 40px;
    background: #F9FAFB;
    border-radius: 16px;
}
.fg-dash-upgrade-prompt h3 {
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    font-weight: 600;
    color: #111;
    margin-bottom: 10px;
}
.fg-dash-upgrade-prompt p {
    font-size: 14px;
    color: #6B7280;
    margin-bottom: 24px;
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
}
.fg-dash-upgrade-btn {
    display: inline-block;
    padding: 13px 28px;
    background: #1D4E35;
    color: #fff;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
}

/* Recipe Cards */
.fg-dash-recipes-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 20px;
}
.fg-dash-recipe-card {
    border: 1px solid #E5E7EB;
    border-radius: 14px;
    padding: 22px 20px;
    background: #fff;
}
.fg-dash-recipe-name {
    font-family: 'Playfair Display', serif;
    font-size: 17px;
    font-weight: 600;
    color: #111;
    margin-bottom: 6px;
}
.fg-dash-recipe-meta {
    font-size: 13px;
    color: #6B7280;
    margin-bottom: 14px;
}
.fg-dash-pdf-coming {
    width: 100%;
    text-align: center;
    justify-content: center;
}

/* Info Box */
.fg-dash-info-box {
    background: #F9FAFB;
    border-radius: 12px;
    padding: 16px 20px;
    font-size: 13px;
    color: #6B7280;
    line-height: 1.6;
}

/* Budget Report */
.fg-dash-savings-box {
    background: #E1F5EE;
    border-radius: 14px;
    padding: 22px 24px;
    margin-bottom: 16px;
}
.fg-dash-savings-title {
    font-family: 'Playfair Display', serif;
    font-size: 20px;
    font-weight: 600;
    color: #1D4E35;
    margin-bottom: 6px;
}
.fg-dash-savings-sub {
    font-size: 13px;
    color: #1D9E75;
    line-height: 1.6;
}
.fg-dash-log-btn {
    width: 100%;
    padding: 14px;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #9CA3AF;
    background: #fff;
    cursor: not-allowed;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    opacity: 0.7;
}
.fg-dash-budget-table-wrap {
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    overflow: hidden;
}
.fg-dash-budget-table {
    width: 100%;
    border-collapse: collapse;
}
.fg-dash-budget-table th {
    background: #F9FAFB;
    font-size: 11px;
    font-weight: 500;
    color: #9CA3AF;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 12px 16px;
    text-align: left;
    border-bottom: 1px solid #E5E7EB;
}
.fg-dash-budget-table td {
    padding: 14px 16px;
    font-size: 14px;
    color: #374151;
    border-bottom: 1px solid #F3F4F6;
}

/* Pantry */
.fg-dash-pantry-input-row {
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
}
.fg-dash-pantry-input {
    flex: 1;
    padding: 13px 16px;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    color: #111;
    background: #F9FAFB;
    cursor: not-allowed;
}
.fg-dash-pantry-add {
    padding: 13px 20px;
    background: #F9FAFB;
    border: 1px solid #E5E7EB;
    border-radius: 12px;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #9CA3AF;
    cursor: not-allowed;
    white-space: nowrap;
}
.fg-dash-pantry-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}
.fg-dash-pantry-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: #F3F4F6;
    border-radius: 999px;
    font-size: 13px;
    color: #374151;
    font-weight: 500;
}
.fg-dash-pantry-pill-demo { opacity: 0.5; }
.fg-dash-pill-x {
    color: #9CA3AF;
    cursor: not-allowed;
    font-size: 14px;
}

/* Account */
.fg-dash-account-section-label {
    font-size: 11px;
    font-weight: 500;
    color: #9CA3AF;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 4px;
}
.fg-dash-account-table {
    border-bottom: 1px solid #E5E7EB;
    margin-bottom: 8px;
}
.fg-dash-account-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 0;
    border-top: 1px solid #E5E7EB;
    font-size: 14px;
}
.fg-dash-account-key { color: #374151; }
.fg-dash-account-val { color: #111; font-weight: 400; text-align: right; }
.fg-dash-cancel-link {
    font-size: 14px;
    color: #EF4444;
    text-decoration: none;
}
.fg-dash-cancel-link:hover { text-decoration: underline; }

/* Empty State */
.fg-dash-empty-state {
    text-align: center;
    padding: 50px 20px;
    color: #9CA3AF;
    font-size: 14px;
}
.fg-dash-empty-state a { color: #1D9E75; }

/* Login prompt */
.fg-dash-login {
    text-align: center;
    padding: 60px 20px;
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    color: #6B7280;
}
.fg-dash-login a { color: #1D9E75; }

/* Mobile */
@media (max-width: 600px) {
    .fg-dash-stats-grid { grid-template-columns: 1fr; }
    .fg-dash-actions-grid { grid-template-columns: 1fr; }
    .fg-dash-recipes-grid { grid-template-columns: 1fr; }
    .fg-dash-plan-top { flex-direction: column; }
    .fg-dash-plan-meta { order: -1; }
    .fg-dash-welcome h1 { font-size: 24px; }
    .fg-dash-tabs { gap: 6px; }
    .fg-dash-tab { font-size: 13px; padding: 8px 14px; }
}

.fg-checkout-wrap {
    text-align: center;
}
.fg-btn-checkout-full {
    display: block;
    width: 100%;
    padding: 16px;
    background: #1D4E35;
    color: #fff;
    border: none;
    border-radius: 14px;
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s ease;
    margin-bottom: 10px;
}
.fg-btn-checkout-full:hover { background: #163C29; }
.fg-btn-checkout-inline {
    display: inline-block;
    padding: 13px 32px;
    background: #1D4E35;
    color: #fff;
    border: none;
    border-radius: 999px;
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s ease;
    margin-bottom: 10px;
}
.fg-btn-checkout-inline:hover { background: #163C29; }
.fg-checkout-note {
    font-family: 'DM Sans', sans-serif;
    font-size: 12px;
    color: #9CA3AF;
    margin: 0;
}