@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=DM+Sans:wght@300;400;500;600&display=swap');

:root {
  --boss-charcoal:#2B2F2D; --boss-gold:#FCB900; --boss-gold-dark:#d99e00;
  --boss-gold-light:#fff4cc; --boss-white:#ffffff; --boss-off-white:#f8f7f4;
  --boss-border:#e0ddd6; --boss-text:#2B2F2D; --boss-muted:#6b7280;
  --boss-radius:10px; --boss-shadow:0 4px 24px rgba(43,47,45,0.10);
}

#boss-wc-wrap { font-family:'DM Sans',sans-serif; max-width:780px; margin:0 auto; color:var(--boss-text); }

/* Header */
.boss-wc-header { background:var(--boss-charcoal); border-radius:var(--boss-radius) var(--boss-radius) 0 0; padding:36px 40px 28px; position:relative; overflow:hidden; }
.boss-wc-header::before { content:''; position:absolute; top:-40px; right:-40px; width:200px; height:200px; background:var(--boss-gold); opacity:0.07; border-radius:50%; }
.boss-wc-logo-bar { display:flex; align-items:baseline; gap:10px; margin-bottom:18px; }
.boss-wc-logo-text { font-family:'Playfair Display',serif; font-size:28px; font-weight:900; color:var(--boss-gold); letter-spacing:4px; }
.boss-wc-logo-sub { font-size:11px; color:rgba(255,255,255,0.5); letter-spacing:1.5px; text-transform:uppercase; }
.boss-wc-title { font-family:'Playfair Display',serif; font-size:26px; font-weight:700; color:var(--boss-white); margin:0 0 8px; }
.boss-version { font-family:'DM Sans',sans-serif; font-size:12px; font-weight:500; color:rgba(255,255,255,0.4); letter-spacing:1px; vertical-align:middle; margin-left:6px; }
.boss-wc-subtitle { font-size:14px; color:rgba(255,255,255,0.65); margin:0; line-height:1.6; max-width:600px; }

/* Progress */
.boss-wc-progress-wrap { background:var(--boss-charcoal); padding:0 40px 24px; }
.boss-wc-progress-bar { height:4px; background:rgba(255,255,255,0.12); border-radius:2px; margin-bottom:14px; }
.boss-wc-progress-fill { height:100%; background:var(--boss-gold); border-radius:2px; transition:width 0.4s ease; width:25%; }
.boss-wc-steps { display:flex; gap:16px; flex-wrap:wrap; }
.boss-step { font-size:11px; font-weight:500; color:rgba(255,255,255,0.35); letter-spacing:0.5px; transition:color 0.2s; }
.boss-step.active { color:var(--boss-gold); }
.boss-step.done   { color:rgba(255,255,255,0.6); }

/* Form */
#boss-wc-form { background:var(--boss-white); border:1px solid var(--boss-border); border-top:none; border-radius:0 0 var(--boss-radius) var(--boss-radius); box-shadow:var(--boss-shadow); }
.boss-wc-step { padding:36px 40px 32px; }
.boss-wc-step.hidden { display:none; }
.boss-wc-section-label { font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--boss-gold-dark); margin-bottom:8px; }
.boss-wc-step h2 { font-family:'Playfair Display',serif; font-size:22px; font-weight:700; color:var(--boss-charcoal); margin:0 0 6px; }
.boss-wc-step p { font-size:14px; color:var(--boss-muted); margin:0 0 24px; line-height:1.6; }

/* Textarea */
#boss-job-desc { width:100%; min-height:180px; padding:14px 16px; border:2px solid var(--boss-border); border-radius:var(--boss-radius); font-family:'DM Sans',sans-serif; font-size:14px; color:var(--boss-text); line-height:1.6; resize:vertical; transition:border-color 0.2s; box-sizing:border-box; background:var(--boss-off-white); }
#boss-job-desc:focus { outline:none; border-color:var(--boss-gold); background:var(--boss-white); }
#boss-job-desc::placeholder { color:#bbb; }

/* Buttons */
.boss-wc-nav { display:flex; justify-content:flex-end; gap:12px; margin-top:24px; padding-top:20px; border-top:1px solid var(--boss-border); align-items:center; }
.boss-btn-primary { background:var(--boss-gold); color:var(--boss-charcoal); border:none; padding:12px 28px; border-radius:8px; font-family:'DM Sans',sans-serif; font-size:14px; font-weight:600; cursor:pointer; transition:background 0.2s,transform 0.1s; }
.boss-btn-primary:hover { background:var(--boss-gold-dark); transform:translateY(-1px); }
.boss-btn-back-plain { background:transparent; color:var(--boss-muted); border:1.5px solid var(--boss-border); padding:12px 22px; border-radius:8px; font-family:'DM Sans',sans-serif; font-size:14px; font-weight:500; cursor:pointer; transition:all 0.2s; }
.boss-btn-back-plain:hover { border-color:var(--boss-charcoal); color:var(--boss-charcoal); }

/* Loading */
.boss-loading-inline { display:flex; align-items:center; gap:10px; font-size:13px; color:var(--boss-muted); margin-top:14px; }
.boss-loading-inline.hidden { display:none; }
.boss-spinner-sm { width:18px; height:18px; border:3px solid var(--boss-border); border-top-color:var(--boss-gold); border-radius:50%; animation:boss-spin 0.7s linear infinite; flex-shrink:0; }
@keyframes boss-spin { to { transform:rotate(360deg); } }

/* Preliminary banner */
.boss-prelim-banner { border-radius:var(--boss-radius); padding:24px 28px; margin-bottom:24px; border-width:2px; border-style:solid; }
.boss-prelim-banner.w2      { background:#f0fdf4; border-color:#16a34a; }
.boss-prelim-banner.c1099   { background:#fffbeb; border-color:#d97706; }
.boss-prelim-banner.unclear { background:#fef2f2; border-color:#dc2626; }
.boss-prelim-label { font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--boss-muted); margin-bottom:6px; }
.boss-prelim-classification { font-family:'Playfair Display',serif; font-size:24px; font-weight:900; margin-bottom:8px; }
.boss-prelim-banner.w2      .boss-prelim-classification { color:#16a34a; }
.boss-prelim-banner.c1099   .boss-prelim-classification { color:#d97706; }
.boss-prelim-banner.unclear .boss-prelim-classification { color:#dc2626; }
.boss-prelim-summary { font-size:14px; line-height:1.6; color:var(--boss-text); margin-top:10px; }
.boss-prelim-notice { font-size:13px; color:var(--boss-muted); margin-top:10px; padding-top:10px; border-top:1px solid rgba(0,0,0,0.08); font-style:italic; }

/* Confidence badge */
.boss-confidence-badge { display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:600; padding:3px 10px; border-radius:20px; }
.boss-confidence-badge.high   { background:#dcfce7; color:#16a34a; }
.boss-confidence-badge.medium { background:#fef9c3; color:#a16207; }
.boss-confidence-badge.low    { background:#fee2e2; color:#dc2626; }

/* Auto answered */
#boss-auto-answered-wrap { background:#f0fdf4; border:1px solid #bbf7d0; border-radius:var(--boss-radius); padding:16px 20px; margin-bottom:24px; }
.boss-auto-summary-label { font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#16a34a; margin-bottom:10px; }
#boss-auto-answered-list { display:flex; flex-direction:column; gap:6px; }
.boss-auto-item { font-size:13px; color:var(--boss-text); display:flex; gap:8px; line-height:1.5; }
.boss-auto-item-check { color:#16a34a; flex-shrink:0; font-weight:700; }
.boss-auto-item-evidence { color:var(--boss-muted); font-style:italic; font-size:12px; }

/* Follow-up questions */
.boss-followup-title { font-family:'Playfair Display',serif; font-size:18px; font-weight:700; color:var(--boss-charcoal); margin:0 0 20px; }
.boss-followup-q { margin-bottom:22px; padding-bottom:22px; border-bottom:1px solid var(--boss-border); }
.boss-followup-q:last-child { border-bottom:none; }
.boss-followup-q label { display:block; font-size:14px; font-weight:600; color:var(--boss-charcoal); margin-bottom:4px; line-height:1.5; }
.boss-followup-why { font-size:12px; color:var(--boss-muted); margin-bottom:10px; font-style:italic; }
.boss-followup-q textarea { width:100%; padding:10px 14px; border:1.5px solid var(--boss-border); border-radius:8px; font-family:'DM Sans',sans-serif; font-size:13.5px; line-height:1.5; color:var(--boss-text); resize:vertical; min-height:60px; box-sizing:border-box; transition:border-color 0.2s; }
.boss-followup-q textarea:focus { outline:none; border-color:var(--boss-gold); }
.boss-impact-badge { display:inline-block; font-size:10px; font-weight:700; padding:2px 7px; border-radius:20px; margin-left:6px; letter-spacing:0.5px; vertical-align:middle; }
.boss-impact-badge.high   { background:#fee2e2; color:#dc2626; }
.boss-impact-badge.medium { background:#fef9c3; color:#a16207; }

/* Changed / confirmed notice */
.boss-changed-notice, .boss-confirmed-notice { border-radius:var(--boss-radius); padding:12px 18px; margin-bottom:16px; font-size:13.5px; line-height:1.5; }
.boss-changed-notice   { background:#eff6ff; border:1px solid #93c5fd; color:#1e40af; }
.boss-confirmed-notice { background:#f0fdf4; border:1px solid #86efac; color:#166534; }

/* Final verdict */
.boss-verdict-banner { border-radius:var(--boss-radius); padding:28px 32px; margin-bottom:20px; display:flex; align-items:center; gap:20px; border-width:2px; border-style:solid; }
.boss-verdict-banner.w2      { background:#f0fdf4; border-color:#16a34a; }
.boss-verdict-banner.c1099   { background:#fffbeb; border-color:#d97706; }
.boss-verdict-banner.unclear { background:#fef2f2; border-color:#dc2626; }
.boss-verdict-icon { font-size:48px; line-height:1; flex-shrink:0; }
.boss-verdict-label { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--boss-muted); margin-bottom:4px; }
.boss-verdict-classification { font-family:'Playfair Display',serif; font-size:26px; font-weight:900; line-height:1.1; margin-bottom:6px; }
.boss-verdict-banner.w2      .boss-verdict-classification { color:#16a34a; }
.boss-verdict-banner.c1099   .boss-verdict-classification { color:#d97706; }
.boss-verdict-banner.unclear .boss-verdict-classification { color:#dc2626; }

/* Executive summary */
.boss-exec-summary { background:var(--boss-charcoal); color:var(--boss-white); border-radius:var(--boss-radius); padding:22px 28px; margin-bottom:20px; font-size:15px; line-height:1.7; }
.boss-exec-summary-label { font-size:10px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--boss-gold); margin-bottom:8px; }

/* Factor grid */
.boss-factors-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; margin-bottom:20px; }
.boss-factor-card { background:var(--boss-off-white); border:1px solid var(--boss-border); border-radius:var(--boss-radius); padding:16px 18px; }
.boss-factor-title { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--boss-gold-dark); margin-bottom:8px; }
.boss-factor-text { font-size:13px; line-height:1.6; color:var(--boss-text); }

/* Risks */
.boss-risks-section { background:#fef9f0; border:1px solid #fde68a; border-radius:var(--boss-radius); padding:18px 22px; margin-bottom:20px; }
.boss-risks-title { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#92400e; margin-bottom:10px; }
.boss-risks-list { list-style:none; padding:0; margin:0; }
.boss-risks-list li { font-size:13.5px; padding:5px 0 5px 22px; position:relative; line-height:1.5; }
.boss-risks-list li::before { content:'⚠'; position:absolute; left:0; color:#d97706; }

/* Recommendation */
.boss-recommendation { background:var(--boss-white); border:1.5px solid var(--boss-gold); border-radius:var(--boss-radius); padding:20px 24px; margin-bottom:20px; }
.boss-rec-title { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--boss-gold-dark); margin-bottom:10px; }
.boss-rec-text { font-size:14px; line-height:1.7; }

/* Chat */
#boss-chat-section { background:var(--boss-off-white); border:1px solid var(--boss-border); border-radius:var(--boss-radius); padding:24px 28px; margin-bottom:20px; }
.boss-chat-header { display:flex; align-items:flex-start; gap:14px; margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid var(--boss-border); }
.boss-chat-icon { font-size:28px; line-height:1; }
.boss-chat-title { font-family:'Playfair Display',serif; font-size:17px; font-weight:700; color:var(--boss-charcoal); margin-bottom:3px; }
.boss-chat-sub { font-size:12.5px; color:var(--boss-muted); line-height:1.5; }
#boss-chat-messages { display:flex; flex-direction:column; gap:12px; margin-bottom:16px; max-height:360px; overflow-y:auto; }
.boss-chat-msg { padding:12px 16px; border-radius:10px; font-size:13.5px; line-height:1.6; max-width:90%; white-space:pre-wrap; }
.boss-chat-msg.user      { background:var(--boss-charcoal); color:var(--boss-white); align-self:flex-end; border-bottom-right-radius:3px; }
.boss-chat-msg.assistant { background:var(--boss-white); color:var(--boss-text); border:1px solid var(--boss-border); align-self:flex-start; border-bottom-left-radius:3px; }
.boss-chat-input-wrap { display:flex; gap:10px; align-items:flex-end; }
#boss-chat-input { flex:1; padding:10px 14px; border:1.5px solid var(--boss-border); border-radius:8px; font-family:'DM Sans',sans-serif; font-size:13.5px; resize:none; min-height:44px; max-height:120px; box-sizing:border-box; transition:border-color 0.2s; }
#boss-chat-input:focus { outline:none; border-color:var(--boss-gold); }
#boss-chat-send { background:var(--boss-gold); color:var(--boss-charcoal); border:none; padding:10px 20px; border-radius:8px; font-family:'DM Sans',sans-serif; font-size:13.5px; font-weight:600; cursor:pointer; height:44px; flex-shrink:0; transition:background 0.2s; }
#boss-chat-send:hover { background:var(--boss-gold-dark); }

/* Disclaimer */
.boss-wc-disclaimer { background:var(--boss-gold-light); border-left:4px solid var(--boss-gold); padding:12px 16px; border-radius:0 8px 8px 0; font-size:12.5px; color:var(--boss-charcoal); margin-bottom:16px; line-height:1.5; }
.boss-wc-error { background:#fef2f2; border:1px solid #fca5a5; border-radius:var(--boss-radius); padding:16px 20px; color:#dc2626; font-size:14px; margin-bottom:16px; }

@media(max-width:640px) {
  .boss-wc-header,.boss-wc-progress-wrap,.boss-wc-step { padding-left:20px; padding-right:20px; }
  .boss-wc-title { font-size:20px; }
  .boss-factors-grid { grid-template-columns:1fr; }
  .boss-wc-nav { flex-direction:column-reverse; }
  .boss-btn-primary,.boss-btn-back-plain { width:100%; text-align:center; }
  .boss-chat-input-wrap { flex-direction:column; }
  #boss-chat-send { width:100%; }
}
