/* ============================================================
   AI Business Plan Generator – Public Styles
   Brand: Gold #ffa619 | Navy #07294d | White #ffffff
   ============================================================ */
:root {
  --aibpg-gold:#ffa619; --aibpg-navy:#07294d; --aibpg-white:#ffffff;
  --aibpg-light:#f5f7fa; --aibpg-border:#dde3ec;
  --aibpg-radius:10px; --aibpg-shadow:0 4px 24px rgba(7,41,77,.1);
  --aibpg-font:'Segoe UI',system-ui,Arial,sans-serif;
}
.aibpg-form-wrapper { max-width:760px; margin:40px auto; font-family:var(--aibpg-font); color:#2c3e50; }
/* Progress Bar */
.aibpg-progress-bar-container { background:var(--aibpg-border); border-radius:50px; height:8px; margin-bottom:24px; overflow:hidden; }
.aibpg-progress-bar { height:100%; background:linear-gradient(90deg,var(--aibpg-gold),#ff8c00); border-radius:50px; transition:width .4s ease; }
/* Step Dots */
.aibpg-step-indicator { display:flex; justify-content:space-between; margin:0 8px 8px; position:relative; }
.aibpg-step-indicator::before { content:''; position:absolute; top:18px; left:18px; right:18px; height:2px; background:var(--aibpg-border); z-index:0; }
.aibpg-step-dot { width:36px; height:36px; border-radius:50%; background:var(--aibpg-white); border:2px solid var(--aibpg-border); display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700; color:#999; position:relative; z-index:1; transition:all .3s; }
.aibpg-step-dot.active, .aibpg-step-dot.done { border-color:var(--aibpg-gold); background:var(--aibpg-gold); color:#fff; }
.aibpg-step-labels { display:flex; justify-content:space-between; margin:0 0 24px; font-size:11px; color:#888; }
/* Form Card */
.aibpg-step { background:var(--aibpg-white); border:1px solid var(--aibpg-border); border-radius:var(--aibpg-radius); padding:36px 40px; box-shadow:var(--aibpg-shadow); animation:aibpgFadeIn .3s ease; }
@keyframes aibpgFadeIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
.aibpg-step h2 { font-size:1.4rem; color:var(--aibpg-navy); margin:0 0 6px; }
.aibpg-step-desc { color:#666; margin:0 0 24px; font-size:.95rem; }
/* Fields */
.aibpg-field { margin-bottom:20px; }
.aibpg-field label { display:block; font-weight:600; margin-bottom:6px; font-size:.9rem; color:var(--aibpg-navy); }
.aibpg-field .req { color:#e74c3c; }
.aibpg-input-wrap { position:relative; }
.aibpg-field input[type=text],.aibpg-field input[type=email],.aibpg-field select,.aibpg-field textarea {
  width:100%; padding:11px 44px 11px 14px; border:1.5px solid var(--aibpg-border); border-radius:7px;
  font-size:.95rem; font-family:var(--aibpg-font); background:var(--aibpg-light); color:#2c3e50;
  transition:border .2s,box-shadow .2s; box-sizing:border-box;
}
.aibpg-field input:focus,.aibpg-field select:focus,.aibpg-field textarea:focus {
  outline:none; border-color:var(--aibpg-gold); box-shadow:0 0 0 3px rgba(255,166,25,.15); background:#fff;
}
.aibpg-field input.aibpg-invalid,.aibpg-field select.aibpg-invalid,.aibpg-field textarea.aibpg-invalid {
  border-color:#e74c3c; box-shadow:0 0 0 3px rgba(231,76,60,.1);
}
/* Tooltip */
.aibpg-tooltip { position:absolute; right:12px; top:12px; width:20px; height:20px; background:var(--aibpg-navy); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:11px; cursor:pointer; z-index:2; }
.aibpg-tooltip::after { content:attr(data-tip); position:absolute; right:28px; top:0; background:rgba(7,41,77,.92); color:#fff; padding:8px 12px; border-radius:6px; font-size:12px; white-space:normal; max-width:220px; display:none; z-index:100; line-height:1.4; }
.aibpg-tooltip:hover::after { display:block; }
/* Summary */
.aibpg-summary { background:var(--aibpg-light); border:1px solid var(--aibpg-border); border-radius:8px; padding:16px 20px; margin-top:20px; }
.aibpg-summary h4 { color:var(--aibpg-navy); margin:0 0 10px; }
.aibpg-summary dl { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:6px 16px; }
.aibpg-summary dt { font-weight:600; font-size:.8rem; color:#666; }
.aibpg-summary dd { font-size:.85rem; margin:0; }
/* Buttons */
.aibpg-form-nav { display:flex; gap:12px; margin-top:28px; flex-wrap:wrap; }
.aibpg-btn { padding:12px 28px; border-radius:7px; font-size:.95rem; font-weight:700; border:none; cursor:pointer; transition:all .2s; font-family:var(--aibpg-font); display:inline-flex; align-items:center; gap:6px; text-decoration:none; }
.aibpg-btn-primary { background:var(--aibpg-navy); color:#fff; }
.aibpg-btn-primary:hover { background:#0a3a68; transform:translateY(-1px); }
.aibpg-btn-secondary { background:var(--aibpg-white); color:var(--aibpg-navy); border:2px solid var(--aibpg-navy); }
.aibpg-btn-secondary:hover { background:var(--aibpg-light); }
.aibpg-btn-gold { background:linear-gradient(135deg,var(--aibpg-gold),#e08800); color:#fff; font-size:1rem; padding:14px 36px; }
.aibpg-btn-gold:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(255,166,25,.4); }
.aibpg-btn-ghost { background:transparent; color:#666; border:1px solid var(--aibpg-border); }
.aibpg-btn-ghost:hover { background:var(--aibpg-light); }
.aibpg-btn:disabled { opacity:.6; cursor:not-allowed; transform:none !important; }
/* Messages */
.aibpg-message { padding:14px 18px; border-radius:8px; margin-top:16px; font-size:.9rem; }
.aibpg-message.error   { background:#fdecea; color:#c0392b; border:1px solid #f5b7b1; }
.aibpg-message.success { background:#eafaf1; color:#1e8449; border:1px solid #a9dfbf; }
.aibpg-message.info    { background:#ebf5fb; color:#1a5276; border:1px solid #aed6f1; }
/* Payment Box */
.aibpg-payment-box { background:var(--aibpg-white); border:2px solid var(--aibpg-gold); border-radius:var(--aibpg-radius); padding:40px; text-align:center; box-shadow:var(--aibpg-shadow); }
.aibpg-payment-box h3 { color:var(--aibpg-navy); font-size:1.4rem; margin-bottom:10px; }
#aibpg-payment-buttons { margin-top:24px; }
/* Spinner */
.aibpg-generating-box { text-align:center; padding:60px 40px; background:var(--aibpg-white); border-radius:var(--aibpg-radius); box-shadow:var(--aibpg-shadow); }
.aibpg-spinner { width:64px; height:64px; border:6px solid var(--aibpg-border); border-top-color:var(--aibpg-gold); border-radius:50%; animation:aibpgSpin 1s linear infinite; margin:0 auto 24px; }
@keyframes aibpgSpin { to { transform:rotate(360deg); } }
.aibpg-generating-box h3 { color:var(--aibpg-navy); font-size:1.4rem; margin-bottom:8px; }
/* Plan Preview */
.aibpg-plan-preview { background:var(--aibpg-white); border-radius:var(--aibpg-radius); box-shadow:var(--aibpg-shadow); overflow:hidden; }
.aibpg-plan-header { background:var(--aibpg-navy); color:#fff; padding:32px 40px; }
.aibpg-plan-header h2 { color:#fff; margin:0 0 8px; }
.aibpg-plan-header p { color:rgba(255,255,255,.8); margin:0; }
.aibpg-download-bar { padding:16px 24px; background:var(--aibpg-light); border-bottom:1px solid var(--aibpg-border); display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.aibpg-download-bar-bottom { border-bottom:none; border-top:1px solid var(--aibpg-border); }
.aibpg-plan-content { padding:40px; line-height:1.7; font-size:.95rem; max-height:1000px; overflow-y:auto; }
.aibpg-plan-content h1 { color:var(--aibpg-navy); font-size:1.6rem; border-bottom:3px solid var(--aibpg-gold); padding-bottom:8px; margin-top:32px; }
.aibpg-plan-content h2 { color:#1a5276; font-size:1.25rem; border-left:4px solid var(--aibpg-gold); padding-left:10px; margin-top:28px; }
.aibpg-plan-content h3 { color:#1a5276; font-size:1.05rem; margin-top:20px; }
.aibpg-plan-content h4,.aibpg-plan-content h5,.aibpg-plan-content h6 { color:#333; margin-top:16px; }
.aibpg-plan-content table { width:100%; border-collapse:collapse; margin:16px 0; font-size:.88rem; }
.aibpg-plan-content table th,.aibpg-plan-content table td { border:1px solid var(--aibpg-border); padding:8px 12px; }
.aibpg-plan-content table th { background:var(--aibpg-navy); color:#fff; }
.aibpg-plan-content table tr:nth-child(even) td { background:var(--aibpg-light); }
.aibpg-plan-content ul { padding-left:24px; }
.aibpg-plan-content li { margin:4px 0; }
.aibpg-plan-content hr { border:none; border-top:1px solid var(--aibpg-border); margin:24px 0; }
.aibpg-plan-content code { background:#f4f4f4; padding:2px 5px; border-radius:3px; }
.aibpg-plan-content strong { color:#1a1a1a; }
/* Responsive */
@media(max-width:600px){
  .aibpg-step{padding:24px 20px}
  .aibpg-plan-content{padding:24px 16px}
  .aibpg-plan-header{padding:24px 20px}
  .aibpg-summary dl{grid-template-columns:1fr}
  .aibpg-form-nav{flex-direction:column}
  .aibpg-btn{width:100%;justify-content:center}
  .aibpg-step-labels{display:none}
}
@media print{
  .aibpg-download-bar,.aibpg-form-nav,.aibpg-step-indicator,
  .aibpg-progress-bar-container,.aibpg-step-labels{display:none !important}
  .aibpg-plan-content{max-height:none;border:none;padding:0}
  .aibpg-plan-header{background:#07294d !important;-webkit-print-color-adjust:exact}
}
