/* FlexPro™ — front-end + admin styles */

.flexpro-field-msg { display:block; margin-top:4px; font-size:13px; font-weight:600; }
.flexpro-field-msg.fp-ok  { color:#22863a; }
.flexpro-field-msg.fp-err { color:#cb2431; }

.flexpro-dashboard-wrap { max-width:900px; margin:40px auto; padding:0 20px 60px; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }

.flexpro-header h1 { font-size:2rem; font-weight:800; margin-bottom:4px; }
.flexpro-welcome   { color:#555; font-size:1rem; margin-bottom:30px; }

.flexpro-login-prompt, .flexpro-no-account { padding:40px; text-align:center; background:#f9f9f9; border-radius:10px; }

.flexpro-promo-badge { display:inline-flex; flex-direction:column; align-items:center; background:#111; color:#fff; border-radius:12px; padding:20px 40px; margin-bottom:36px; }
.flexpro-promo-badge .fp-label { font-size:11px; letter-spacing:2px; text-transform:uppercase; opacity:.6; margin-bottom:6px; }
.flexpro-promo-badge .fp-code  { font-size:2.2rem; font-weight:900; letter-spacing:4px; }
.flexpro-promo-badge .fp-used  { font-size:12px; opacity:.6; margin-top:6px; }

.flexpro-stats-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; margin-bottom:40px; }
.stat-card { background:#f7f7f7; border:1px solid #e0e0e0; border-radius:10px; padding:20px; display:flex; flex-direction:column; }
.stat-card.balance { background:#fff8e1; border-color:#f0c040; }
.stat-label { font-size:11px; letter-spacing:1px; text-transform:uppercase; color:#888; margin-bottom:8px; }
.stat-value { font-size:1.8rem; font-weight:800; color:#111; }
.stat-value.small { font-size:1rem; font-weight:600; }

.flexpro-sales-wrap h2 { font-size:1.2rem; font-weight:700; margin-bottom:12px; }
.flexpro-table { width:100%; border-collapse:collapse; font-size:14px; }
.flexpro-table th, .flexpro-table td { text-align:left; padding:10px 14px; border-bottom:1px solid #eee; }
.flexpro-table th { background:#f4f4f4; font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.5px; color:#555; }

.fp-badge { display:inline-block; padding:2px 8px; border-radius:20px; font-size:11px; font-weight:700; }
.fp-badge.initial { background:#e8f4fd; color:#0073aa; }
.fp-badge.upgrade { background:#f0e6ff; color:#7c3aed; }

.fp-status { display:inline-block; padding:2px 10px; border-radius:20px; font-size:12px; font-weight:700; }
.fp-status.paid    { background:#e6f4ea; color:#1e7e34; }
.fp-status.pending { background:#fff3cd; color:#856404; }

.fp-no-sales { color:#888; font-style:italic; }

.flexpro-info-box { margin-top:36px; background:#e8f4fd; border-left:4px solid #0073aa; padding:16px 20px; border-radius:6px; font-size:14px; }
.flexpro-pay-info { margin-top:24px; background:#f9f9f9; border:1px solid #eee; padding:16px 20px; border-radius:8px; font-size:14px; }
.flexpro-pay-info h3 { margin-top:0; font-size:14px; text-transform:uppercase; letter-spacing:1px; color:#888; }

/* Admin */
.flexpro-admin-wrap code { background:#f0f0f0; padding:2px 6px; border-radius:4px; font-size:13px; font-weight:700; letter-spacing:1px; }

/* ------------------------------------------------------------------ */
/*  FlexPro™ Signup Form                                               */
/* ------------------------------------------------------------------ */
.fp-signup-wrap { max-width:700px; margin:40px auto; padding:0 20px 60px; font-family:"SF UI Text","SF Pro Text",-apple-system,BlinkMacSystemFont,sans-serif; font-size:18px; font-weight:400; }
.fp-signup-header { margin-bottom:32px; text-align:center; }
.fp-signup-header h2 { font-family:"SF UI Display","SF Pro Display",-apple-system,BlinkMacSystemFont,sans-serif; font-size:24px; font-weight:700; margin-bottom:6px; }
.fp-signup-header p  { font-family:"SF UI Text","SF Pro Text",-apple-system,BlinkMacSystemFont,sans-serif; font-size:18px; font-weight:400; color:#666; }

.fp-section { background:#fff; border:1px solid #e5e5e5; border-radius:12px; padding:28px; margin-bottom:24px; }
.fp-section-title { font-family:"SF UI Display","SF Pro Display",-apple-system,BlinkMacSystemFont,sans-serif; font-size:20px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#888; margin:0 0 20px; padding-bottom:12px; border-bottom:1px solid #f0f0f0; }

.fp-field { display:flex; flex-direction:column; margin-bottom:18px; }
.fp-field label { font-family:"SF UI Text","SF Pro Text",-apple-system,BlinkMacSystemFont,sans-serif; font-size:18px; font-weight:400; margin-bottom:6px; color:#333; }
.fp-field input[type="text"],
.fp-field input[type="email"],
.fp-field input[type="tel"],
.fp-field input[type="password"],
.fp-field textarea,
.fp-field select { font-family:"SF UI Text","SF Pro Text",-apple-system,BlinkMacSystemFont,sans-serif; font-size:18px; font-weight:400; border:1px solid #ddd; border-radius:8px; padding:10px 14px; width:100%; box-sizing:border-box; transition:border-color .2s; }
.fp-field input:focus, .fp-field textarea:focus { outline:none; border-color:#0073aa; box-shadow:0 0 0 3px rgba(0,115,170,.1); }
.fp-field textarea { resize:vertical; }
.fp-field input[readonly] { background:#f5f5f5; color:#888; }

.fp-field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:600px) { .fp-field-row { grid-template-columns:1fr; } }

.fp-field-msg { font-family:"SF UI Display","SF Pro Display",-apple-system,BlinkMacSystemFont,sans-serif; font-size:16px; font-weight:400; margin-top:4px; }
.fp-field-msg.fp-ok  { color:#22863a; }
.fp-field-msg.fp-err { color:#cb2431; }

.fp-req  { color:#cb2431; }
.fp-help { font-family:"SF UI Display","SF Pro Display",-apple-system,BlinkMacSystemFont,sans-serif; font-size:16px; font-weight:400; color:#888; margin:4px 0 0; }

.fp-radio-group { display:flex; gap:20px; flex-wrap:wrap; }
.fp-radio { display:flex; align-items:center; gap:8px; font-family:"SF UI Text","SF Pro Text",-apple-system,BlinkMacSystemFont,sans-serif; font-size:18px; font-weight:400; cursor:pointer; }
.fp-radio input { width:16px; height:16px; cursor:pointer; }

.fp-checkbox { display:flex; align-items:center; gap:10px; font-family:"SF UI Text","SF Pro Text",-apple-system,BlinkMacSystemFont,sans-serif; font-size:18px; font-weight:400; cursor:pointer; flex-wrap:wrap; }
.fp-checkbox input { width:16px; height:16px; flex-shrink:0; cursor:pointer; }

.fp-submit-wrap { text-align:center; margin-top:8px; }
.fp-submit-btn { font-family:"SF UI Display","SF Pro Display",-apple-system,BlinkMacSystemFont,sans-serif; font-size:18px; font-weight:700; background:#a800ff; color:#fff; border:none; border-radius:10px; padding:16px 48px; cursor:pointer; }
.fp-submit-btn:hover, .fp-submit-btn:focus, .fp-submit-btn:active { background:#a800ff; outline:none; box-shadow:none; }
.fp-submit-btn:disabled { background:#999; cursor:not-allowed; }

.fp-form-notice { font-family:"SF UI Text","SF Pro Text",-apple-system,BlinkMacSystemFont,sans-serif; font-size:18px; font-weight:400; padding:16px 20px; border-radius:8px; margin-bottom:24px; }
.fp-form-notice.fp-success { background:#e6f4ea; border:1px solid #22863a; color:#1e7e34; }
.fp-form-notice.fp-error   { background:#ffeef0; border:1px solid #cb2431; color:#cb2431; }

/* ------------------------------------------------------------------ */
/*  Terms Modal                                                         */
/* ------------------------------------------------------------------ */
#fp-terms-modal { position:fixed; top:0; left:0; width:100%; height:100%; z-index:99999; display:flex; align-items:center; justify-content:center; }
#fp-terms-overlay { position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,.6); }
#fp-terms-content { position:relative; background:#fff; border-radius:14px; width:90%; max-width:760px; max-height:85vh; display:flex; flex-direction:column; overflow:hidden; z-index:1; font-family:"SF UI Text","SF Pro Text",-apple-system,BlinkMacSystemFont,sans-serif; }
#fp-terms-header { display:flex; align-items:center; justify-content:space-between; padding:20px 24px; border-bottom:1px solid #eee; }
#fp-terms-header h3 { margin:0; font-family:"SF UI Display","SF Pro Display",-apple-system,BlinkMacSystemFont,sans-serif; font-size:20px; font-weight:700; }
#fp-terms-close { background:none; border:none; font-size:24px; cursor:pointer; color:#888; padding:0; line-height:1; }
#fp-terms-close:hover { color:#111; }
#fp-terms-body { flex:1; overflow:hidden; }
#fp-terms-iframe { width:100%; height:500px; border:none; display:block; }
#fp-terms-loading { padding:40px; text-align:center; color:#888; font-size:16px; }
#fp-terms-footer { padding:16px 24px; border-top:1px solid #eee; display:flex; align-items:center; justify-content:center; }
#fp-terms-body { overflow-y:auto; max-height:480px; }
#fp-terms-text { padding:24px; font-family:"SF UI Text","SF Pro Text",-apple-system,BlinkMacSystemFont,sans-serif; font-size:16px; line-height:1.7; color:#333; }
#fp-terms-text h1,#fp-terms-text h2,#fp-terms-text h3 { font-family:"SF UI Display","SF Pro Display",-apple-system,BlinkMacSystemFont,sans-serif; font-weight:700; }

/* Year selector */
.flexpro-year-selector { display:flex; align-items:center; gap:12px; margin-bottom:24px; }
.flexpro-year-selector label { font-family:"SF UI Text",-apple-system,sans-serif; font-size:14px; color:#888; font-weight:600; }
.fp-year-tabs { display:flex; gap:8px; flex-wrap:wrap; }
.fp-year-tab { display:inline-block; padding:6px 16px; border-radius:20px; border:1px solid #ddd; font-size:13px; font-weight:600; color:#555; text-decoration:none; transition:all .2s; }
.fp-year-tab:hover { border-color:#a800ff; color:#a800ff; }
.fp-year-tab.active { background:#a800ff; border-color:#a800ff; color:#fff; }
.fp-current-tag { font-size:10px; background:rgba(255,255,255,0.3); padding:1px 5px; border-radius:10px; margin-left:4px; }

/* W-9 progressive status cards */
.fp-w9-status { display:flex; align-items:flex-start; gap:16px; padding:18px 20px; border-radius:10px; border:1px solid #e0e0e0; background:#f9f9f9; margin-bottom:16px; }
.fp-w9-status.fp-w9-complete  { background:#e6f4ea; border-color:#22863a; }
.fp-w9-status.fp-w9-warning   { background:#fff3cd; border-color:#f0a500; }
.fp-w9-status.fp-w9-required  { background:#ffeef0; border-color:#cb2431; }
.fp-w9-status.fp-w9-info      { background:#f0f4ff; border-color:#c0c8e0; }
.fp-w9-icon { font-size:24px; flex-shrink:0; margin-top:2px; }
.fp-w9-status strong { display:block; font-family:"SF UI Display",-apple-system,sans-serif; font-size:15px; font-weight:700; margin-bottom:6px; }
.fp-w9-status p { font-size:14px; color:#444; margin:0 0 10px; line-height:1.6; }
.fp-w9-toggle-btn { background:#a800ff; color:#fff; border:none; border-radius:8px; padding:10px 20px; font-size:14px; font-weight:600; cursor:pointer; }
.fp-w9-toggle-btn:hover { background:#a800ff; }
