:root{--fg-navy:#1a2744;--fg-gold:#c8a85a;--fg-green:#4caf50;--fg-red:#e53935;--fg-border:#e0e0e0;--fg-bg:#f8f9fa;--fg-text:#333;--fg-muted:#777}
*{box-sizing:border-box}
.fg-signup-wrap,.fg-dashboard{max-width:860px;margin:0 auto;font-family:Arial,sans-serif;color:var(--fg-text)}
/* Steps */
.fg-steps{display:flex;justify-content:space-between;margin-bottom:35px;position:relative}
.fg-steps::before{content:'';position:absolute;top:18px;left:0;right:0;height:2px;background:var(--fg-border);z-index:0}
.fg-step{display:flex;flex-direction:column;align-items:center;font-size:13px;color:var(--fg-muted);position:relative;z-index:1;flex:1;text-align:center}
.fg-step span{width:36px;height:36px;border-radius:50%;background:#fff;border:2px solid var(--fg-border);display:flex;align-items:center;justify-content:center;font-weight:bold;margin-bottom:6px;transition:all .3s}
.fg-step.active span{background:var(--fg-navy);border-color:var(--fg-navy);color:#fff}
.fg-step.done span{background:var(--fg-green);border-color:var(--fg-green);color:#fff}
.fg-step.active{color:var(--fg-navy);font-weight:bold}
/* Step content */
.fg-step-content{display:none}
.fg-step-content.active{display:block}
.fg-step-content h3{font-size:22px;color:var(--fg-navy);margin:0 0 25px;padding-bottom:12px;border-bottom:2px solid var(--fg-border)}
/* Fields */
.fg-row{display:flex;gap:15px}
.fg-field{flex:1;margin-bottom:18px}
.fg-field-sm{flex:0 0 120px}
.fg-field label{display:block;font-size:13px;font-weight:600;color:var(--fg-navy);margin-bottom:5px}
.fg-field .req{color:var(--fg-red)}
.fg-field input,.fg-field select{width:100%;padding:10px 12px;border:1px solid var(--fg-border);border-radius:4px;font-size:14px;transition:border-color .2s}
.fg-field input:focus,.fg-field select:focus{outline:none;border-color:var(--fg-navy)}
.fg-field input.fg-error{border-color:var(--fg-red)}
/* Step nav */
.fg-step-nav{display:flex;justify-content:space-between;align-items:center;margin-top:25px;padding-top:20px;border-top:1px solid var(--fg-border)}
/* Buttons */
.fg-btn{background:var(--fg-navy);color:#fff!important;padding:12px 28px;border:none;border-radius:4px;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s}
.fg-btn:hover{background:#253466}
.fg-btn:disabled{background:#aaa;cursor:not-allowed}
.fg-btn-ghost{background:none;border:none;color:var(--fg-muted)!important;cursor:pointer;font-size:14px;padding:8px 0}
.fg-btn-ghost:hover{color:var(--fg-navy)!important}
.fg-btn-outline{background:none;border:2px solid var(--fg-navy);color:var(--fg-navy)!important;padding:10px 20px;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;transition:all .2s}
.fg-btn-outline:hover{background:var(--fg-navy);color:#fff!important}
/* Vehicles */
.fg-vehicle-row{background:var(--fg-bg);border:1px solid var(--fg-border);border-radius:6px;padding:18px;margin-bottom:15px}
.fg-vehicle-header{display:flex;justify-content:space-between;margin-bottom:12px;color:var(--fg-navy)}
.fg-remove-vehicle{background:none;border:none;color:var(--fg-red);cursor:pointer;font-size:13px}
/* Billing toggle */
.fg-billing-toggle{display:flex;background:var(--fg-bg);border:1px solid var(--fg-border);border-radius:30px;padding:4px;width:fit-content;margin:0 auto 20px;gap:2px}
.fg-toggle-btn{padding:9px 24px;border:none;border-radius:25px;background:transparent;color:var(--fg-muted);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}
.fg-toggle-btn.active{background:var(--fg-navy);color:#fff}
.fg-save-badge{background:var(--fg-green);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px;margin-left:5px;vertical-align:middle}
.fg-pricing-note{text-align:center;color:var(--fg-muted);font-size:13px;margin-bottom:25px}
/* Plans grid */
.fg-plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}
.fg-plan-card{border:2px solid var(--fg-border);border-radius:10px;padding:25px 20px;text-align:center;position:relative;transition:all .2s;background:#fff;cursor:pointer}
.fg-plan-card:hover,.fg-plan-card.selected{border-color:var(--fg-navy);box-shadow:0 4px 20px rgba(26,39,68,.12);transform:translateY(-2px)}
.fg-plan-popular{border-color:var(--fg-gold)}
.fg-popular-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--fg-gold);color:#fff;font-size:11px;font-weight:700;padding:4px 14px;border-radius:20px;white-space:nowrap}
.fg-plan-card h4{color:var(--fg-navy);font-size:17px;margin:10px 0 5px}
.fg-plan-subtitle{color:var(--fg-muted);font-size:12px;margin-bottom:15px}
.fg-price{font-size:22px;font-weight:700;color:var(--fg-navy);margin:15px 0}
.fg-yearly-eq{display:block;font-size:12px;color:var(--fg-green);font-weight:600;margin-top:3px}
.fg-features{list-style:none;padding:0;margin:15px 0 20px;text-align:left;font-size:13px}
.fg-features li{padding:4px 0}
.fg-select-plan{width:100%}
/* Review box */
.fg-review-box{background:var(--fg-bg);border:1px solid var(--fg-border);border-radius:8px;padding:20px;margin-bottom:20px}
.fg-review-box table{width:100%;border-collapse:collapse}
.fg-review-box tr td{padding:8px 5px;border-bottom:1px solid var(--fg-border);font-size:14px}
.fg-review-box tr:last-child td{border-bottom:none}
.fg-review-box td:first-child{color:var(--fg-muted);width:40%}
.fg-review-box td:last-child{font-weight:600;color:var(--fg-navy)}
/* Payment tabs */
.fg-payment-tabs{display:flex;gap:10px;margin-bottom:20px}
.fg-tab-btn{flex:1;padding:14px 20px;border:2px solid var(--fg-border);border-radius:8px;background:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;color:var(--fg-text)}
.fg-tab-btn.active{border-color:var(--fg-navy);background:var(--fg-navy);color:#fff}
.fg-tab-btn:hover:not(.active){border-color:var(--fg-navy);color:var(--fg-navy)}
/* Card form */
.fg-card-form{background:#fff;border:1px solid var(--fg-border);border-radius:8px;padding:22px;margin-bottom:12px}
#fg-card-element {
    padding: 12px 14px;
    border: 1.5px solid var(--fg-border);
    border-radius: 4px;
    background: #fff;
    /* Explicit height is CRITICAL for Stripe iframe to render */
    height: 46px;
    min-height: 46px;
    width: 100%;
    display: block;
    box-sizing: border-box;
    transition: border-color .2s, box-shadow .2s;
}
#fg-card-element.StripeElement--focus {
    border-color: var(--fg-navy);
    box-shadow: 0 0 0 3px rgba(26,39,68,.1);
    outline: none;
}
#fg-card-element.StripeElement--invalid {
    border-color: var(--fg-red);
    box-shadow: 0 0 0 3px rgba(229,57,53,.1);
}
#fg-card-element.StripeElement--complete {
    border-color: #4caf50;
}
/* Force Stripe's injected iframe to fill the container */
#fg-card-element iframe {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 40px !important;
    border: none !important;
}
.fg-pay-btn{font-size:16px;padding:14px 35px}
.fg-paypal-pay-btn{background:#003087;font-size:16px;padding:14px 30px}
.fg-paypal-pay-btn:hover{background:#001f5c}
/* Dashboard */
.fg-dash-header{background:var(--fg-navy);color:#fff;padding:25px 30px;border-radius:10px;display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}
.fg-dash-header h2{margin:0;font-size:22px}
.fg-dash-header p{margin:5px 0 0;opacity:.8}
.fg-status-badge{padding:8px 18px;border-radius:20px;color:#fff;font-size:12px;font-weight:700;letter-spacing:1px}
.fg-stats-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:25px}
.fg-stat{background:#fff;border:1px solid var(--fg-border);border-radius:8px;padding:15px;text-align:center}
.fg-stat-icon{font-size:22px;margin-bottom:5px}
.fg-stat-value{font-size:15px;font-weight:700;color:var(--fg-navy)}
.fg-stat-label{font-size:11px;color:var(--fg-muted);margin-top:2px}
.fg-dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.fg-card{background:#fff;border:1px solid var(--fg-border);border-radius:10px;padding:25px;margin-bottom:20px}
.fg-card h3{margin:0 0 18px;color:var(--fg-navy);font-size:17px;padding-bottom:10px;border-bottom:1px solid var(--fg-border)}
.fg-plan-badge{display:inline-block;background:var(--fg-navy);color:#fff;padding:6px 14px;border-radius:4px;font-size:13px;font-weight:700;margin-bottom:8px}
.fg-feature-list{list-style:none;padding:0;margin:0;font-size:13px}
.fg-feature-list li{padding:5px 0;border-bottom:1px solid var(--fg-bg)}
.fg-info-table{width:100%;border-collapse:collapse;font-size:13px}
.fg-info-table th{text-align:left;background:var(--fg-bg);padding:8px 10px;color:var(--fg-muted);font-size:12px}
.fg-info-table td{padding:9px 10px;border-bottom:1px solid var(--fg-bg)}
.fg-info-table td:first-child{color:var(--fg-muted);width:38%}
.fg-support-card{grid-column:1/-1}
.fg-support-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;font-size:14px}
.fg-support-grid a{color:var(--fg-navy)}
.fg-login-box{text-align:center;padding:60px 30px;border:1px solid var(--fg-border);border-radius:10px;max-width:400px;margin:0 auto}
.fg-login-icon{font-size:50px;margin-bottom:15px}
.fg-login-box h3{color:var(--fg-navy);margin:0 0 10px}
.fg-login-box p{color:var(--fg-muted);margin-bottom:20px}
@media(max-width:680px){
    .fg-plans-grid,.fg-dash-grid{grid-template-columns:1fr}
    .fg-stats-row{grid-template-columns:repeat(2,1fr)}
    .fg-row{flex-direction:column}
    .fg-support-grid{grid-template-columns:repeat(2,1fr)}
    .fg-payment-tabs{flex-direction:column}
}

/* v5 specific */
#fg-wrap{max-width:860px;margin:0 auto;font-family:Arial,sans-serif;}
.fg-panel{display:none;}.fg-panel.active{display:block;}
.fg-steps{display:flex;justify-content:space-between;margin-bottom:35px;position:relative;}
.fg-steps::before{content:'';position:absolute;top:18px;left:0;right:0;height:2px;background:#e0e0e0;z-index:0;}
.fg-step{display:flex;flex-direction:column;align-items:center;font-size:13px;color:#777;position:relative;z-index:1;flex:1;text-align:center;}
.fg-step span{width:36px;height:36px;border-radius:50%;background:#fff;border:2px solid #e0e0e0;display:flex;align-items:center;justify-content:center;font-weight:bold;margin-bottom:6px;transition:all .3s;}
.fg-step.active span{background:#1a2744;border-color:#1a2744;color:#fff;}
.fg-step.done span{background:#4caf50;border-color:#4caf50;color:#fff;}
.fg-step.active{color:#1a2744;font-weight:bold;}
.fg-panel h3{font-size:22px;color:#1a2744;margin:0 0 25px;padding-bottom:12px;border-bottom:2px solid #e0e0e0;}
.fg-row{display:flex;gap:15px;}
.fg-f{flex:1;margin-bottom:18px;}
.fg-sm{flex:0 0 110px;}
.fg-f label{display:block;font-size:13px;font-weight:600;color:#1a2744;margin-bottom:5px;}
.fg-f input,.fg-f select{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:4px;font-size:14px;box-sizing:border-box;transition:border-color .2s;}
.fg-f input:focus,.fg-f select:focus{outline:none;border-color:#1a2744;}
.fg-f input.fg-err{border-color:#e53935;}
.fg-nav{display:flex;justify-content:space-between;align-items:center;margin-top:25px;padding-top:20px;border-top:1px solid #e0e0e0;}
.fg-btn{background:#1a2744;color:#fff!important;padding:12px 28px;border:none;border-radius:4px;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s;}
.fg-btn:hover{background:#253466;}
.fg-btn:disabled{background:#aaa;cursor:not-allowed;}
.fg-ghost{background:none;border:none;color:#777!important;cursor:pointer;font-size:14px;padding:8px 0;}
.fg-ghost:hover{color:#1a2744!important;}
.fg-btn-o{background:none;border:2px solid #1a2744;color:#1a2744!important;padding:10px 20px;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;margin-bottom:20px;}
.fg-toggle{display:flex;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:30px;padding:4px;width:fit-content;margin:0 auto 20px;gap:2px;}
.fg-tb{padding:9px 24px;border:none;border-radius:25px;background:transparent;color:#777;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;}
.fg-tb.active{background:#1a2744;color:#fff;}
.fg-badge{background:#4caf50;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px;margin-left:5px;vertical-align:middle;}
.fg-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px;}
.fg-plan-card{border:2px solid #e0e0e0;border-radius:10px;padding:25px 20px;text-align:center;position:relative;transition:all .2s;background:#fff;cursor:pointer;}
.fg-plan-card:hover,.fg-plan-card.fg-sel{border-color:#1a2744;box-shadow:0 4px 20px rgba(26,39,68,.12);transform:translateY(-2px);}
.fg-pop{border-color:#D85A30;}
.fg-pop-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:#D85A30;color:#fff;font-size:11px;font-weight:700;padding:4px 14px;border-radius:20px;white-space:nowrap;}
.fg-plan-card h4{color:#1a2744;font-size:17px;margin:10px 0 5px;}
.fg-sub{color:#777;font-size:12px;margin-bottom:15px;}
.fg-price{font-size:22px;font-weight:700;color:#1a2744;margin:15px 0;}
.fg-price span{font-size:14px;font-weight:400;}
.fg-eq{font-size:12px;color:#4caf50;font-weight:600;margin-top:3px;}
.fg-plan-card ul{list-style:none;padding:0;margin:15px 0 20px;text-align:left;font-size:13px;}
.fg-plan-card ul li{padding:4px 0;}
.fg-pick{width:100%;}
.fg-vehicle{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;padding:18px;margin-bottom:15px;}
.fg-vh{display:flex;justify-content:space-between;margin-bottom:12px;color:#1a2744;}
.fg-rmv{background:none;border:none;color:#e53935;cursor:pointer;font-size:13px;}
#fg-summary{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:16px;}
.fg-card-wrap{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:20px;margin-bottom:12px;}
#fg-card-el{padding:12px;border:1.5px solid #e0e0e0;border-radius:4px;background:#fff;height:46px;min-height:46px;width:100%;display:block;box-sizing:border-box;transition:border-color .2s;}
#fg-card-el.StripeElement--focus{border-color:#1a2744;box-shadow:0 0 0 3px rgba(26,39,68,.1);}
#fg-card-el.StripeElement--invalid{border-color:#e53935;}
#fg-card-el.StripeElement--complete{border-color:#4caf50;}
#fg-card-el iframe{display:block!important;width:100%!important;height:100%!important;min-height:40px!important;border:none!important;}
#fg-err{display:none;}
@media(max-width:680px){.fg-plans,.fg-row{grid-template-columns:1fr;flex-direction:column;}.fg-plans{display:block;}.fg-plan-card{margin-bottom:16px;}}
