/* ============================================================
   SPRINT 2 CSS — Tools + Operations
   ============================================================ */

/* ===== SHARED TOOL/OPS LAYOUT ===== */
.tool-screen-wrap{max-width:860px;margin:0 auto;padding:1.5rem}
.tool-nav-row{display:flex;align-items:center;gap:.75rem;margin-bottom:1.75rem}
.tool-screen-title{font-size:1.05rem;font-weight:800;color:var(--text-primary);flex:1}
.tool-screen-sub{font-size:.72rem;color:var(--text-muted);margin-top:.1rem}

/* ===== INPUT COMPONENTS ===== */
.field-group{margin-bottom:1rem}
.field-label{display:block;font-size:.72rem;color:var(--text-muted);font-weight:600;margin-bottom:.45rem;letter-spacing:.02em}
.field-inp{width:100%;box-sizing:border-box;background:var(--bg-card2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.65rem .95rem;color:var(--text-primary);font-size:.84rem;line-height:1.5;transition:var(--transition);font-family:inherit;color-scheme:dark;display:block}
.field-inp:focus{border-color:rgba(200,169,110,0.45);box-shadow:0 0 0 3px rgba(200,169,110,0.08);outline:none}
body.light-mode .field-inp{background:rgba(0,0,0,0.04);color-scheme:light}
.field-inp::placeholder{color:var(--text-muted);opacity:.7}
textarea.field-inp{resize:vertical;min-height:72px;line-height:1.7}
select.field-inp{cursor:pointer}
select.field-inp option{background:var(--bg-card2);color:var(--text-primary)}
body.light-mode select.field-inp option{background:#fff;color:#0F172A}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
@media(max-width:540px){.field-row{grid-template-columns:1fr}}
.field-select{width:100%;background:var(--bg-card2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .9rem;color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:var(--transition);-webkit-appearance:none;color-scheme:dark}
.field-select:focus{border-color:rgba(200,169,110,0.45)}
.field-select option{background:var(--bg-card2);color:var(--text-primary)}
.field-select optgroup{background:var(--bg-secondary);color:var(--text-muted)}
body.light-mode .field-select{background:rgba(0,0,0,0.04);color-scheme:light}
body.light-mode .field-select option{background:#fff;color:#0F172A}
body.light-mode .field-select optgroup{background:#f3f4f6;color:#64748B}
.field-hint{font-size:.65rem;color:var(--text-muted);margin-top:.3rem}
.field-suffix{position:relative}
.field-suffix .field-inp{padding-left:2.5rem}
.field-suffix-label{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);font-size:.75rem;color:var(--text-muted);pointer-events:none}

/* ===== PANEL CARDS ===== */
.panel-card{background:linear-gradient(135deg,var(--bg-card),var(--bg-card2));border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.4rem;margin-bottom:1rem}
.panel-title{font-weight:700;font-size:.88rem;color:var(--text-primary);margin-bottom:1.1rem;display:flex;align-items:center;gap:.5rem}
.panel-title i{color:var(--accent);font-size:.85rem}

/* ===== PRICING ENGINE ===== */
.pricing-layout{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}
@media(max-width:680px){.pricing-layout{grid-template-columns:1fr}}

.cost-breakdown{background:rgba(255,255,255,0.02);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;margin-bottom:1rem}
.cost-row{display:flex;justify-content:space-between;align-items:center;padding:.55rem .9rem;border-bottom:1px solid var(--border);font-size:.8rem}
.cost-row:last-child{border-bottom:none}
.cost-row.total{background:rgba(200,169,110,0.06);border-top:1px solid rgba(200,169,110,0.2)}
.cost-label{color:var(--text-muted)}
.cost-value{font-weight:700;color:var(--text-primary)}
.cost-row.total .cost-label{color:var(--accent);font-weight:700}
.cost-row.total .cost-value{color:var(--accent);font-size:.9rem}

.scenarios-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin-bottom:1rem}
@media(max-width:480px){.scenarios-grid{grid-template-columns:1fr}}
.scenario-card{border-radius:var(--radius-md);padding:.85rem .6rem;text-align:center;border:1px solid var(--border);transition:var(--transition);cursor:default;overflow:hidden;min-width:0}
.scenario-card.recommended{border-color:rgba(200,169,110,0.4);background:rgba(200,169,110,0.07);box-shadow:0 0 20px rgba(200,169,110,0.1)}
.scenario-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.4rem}
.scenario-price{font-size:1.1rem;font-weight:900;line-height:1.2;margin-bottom:.3rem;word-break:break-all;overflow-wrap:break-word}
.scenario-card.min .scenario-price{color:var(--info)}
.scenario-card.recommended .scenario-price{background:linear-gradient(135deg,var(--accent),var(--accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.scenario-card.ideal .scenario-price{color:var(--success)}
.scenario-margin{font-size:.72rem;color:var(--text-muted);margin-bottom:.25rem}
.scenario-breakeven{font-size:.65rem;color:var(--text-muted)}
.scenario-badge{font-size:.6rem;padding:.15rem .5rem;border-radius:10px;font-weight:700;margin-top:.4rem;display:inline-block}
.scenario-card.recommended .scenario-badge{background:rgba(200,169,110,0.2);color:var(--accent);border:1px solid rgba(200,169,110,0.3)}

.save-calc-btn{width:100%;padding:.8rem;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#000;border:none;border-radius:var(--radius-md);font-size:.88rem;font-weight:800;cursor:pointer;transition:var(--transition);letter-spacing:.02em;margin-bottom: 2rem;}
.save-calc-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--accent-glow)}

.saved-calcs-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}
.saved-calc-item{display:flex;align-items:center;gap:.65rem;padding:.7rem .9rem;background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}
.saved-calc-item:hover{border-color:var(--border-hover);background:var(--bg-hover)}
.sc-name{font-weight:600;font-size:.82rem;color:var(--text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sc-meta{font-size:.68rem;color:var(--text-muted)}
.sc-price{font-weight:800;font-size:.85rem;color:var(--accent)}
.sc-del{background:none;border:none;color:var(--danger);cursor:pointer;padding:.2rem .4rem;border-radius:4px;opacity:.6;transition:var(--transition)}
.sc-del:hover{opacity:1;background:rgba(239,68,68,0.08)}
.sc-edit{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.2rem .4rem;border-radius:4px;opacity:.6;transition:var(--transition);font-size:.85rem}
.sc-edit:hover{opacity:1;background:rgba(200,169,110,0.1);color:var(--accent)}

/* ===== RISK ENGINE ===== */
.risk-gauge{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.1rem}
.risk-circle-lg{width:72px;height:72px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;border:2.5px solid}
.risk-circle-lg.low{border-color:var(--success);background:rgba(16,185,129,0.08);color:var(--success)}
.risk-circle-lg.medium{border-color:var(--warning);background:rgba(245,158,11,0.08);color:var(--warning)}
.risk-circle-lg.high{border-color:var(--danger);background:rgba(239,68,68,0.08);color:var(--danger)}
.risk-circle-lg.critical{border-color:#ff0000;background:rgba(255,0,0,0.1);color:#ff4444}
.risk-score-num{font-size:1.4rem;font-weight:900;line-height:1}
.risk-score-lbl{font-size:.55rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.risk-summary{flex:1}
.risk-level-title{font-size:.95rem;font-weight:800;margin-bottom:.2rem}
.risk-level-desc{font-size:.75rem;color:var(--text-muted);line-height:1.55}
.risk-item{display:flex;align-items:flex-start;gap:.6rem;padding:.55rem 0;border-bottom:1px solid var(--border);font-size:.78rem}
.risk-item:last-child{border-bottom:none}
.risk-item-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:.28rem}
.risk-item-dot.red{background:var(--danger)}
.risk-item-dot.yellow{background:var(--warning)}
.risk-item-dot.green{background:var(--success)}
.risk-item-text{color:var(--text-secondary);line-height:1.5;flex:1}
.risk-rec{display:flex;align-items:flex-start;gap:.55rem;padding:.45rem .8rem;background:rgba(200,169,110,0.05);border-radius:var(--radius-sm);margin-bottom:.4rem;font-size:.75rem;color:var(--text-muted);line-height:1.55}
.risk-rec i{color:var(--accent);font-size:.7rem;flex-shrink:0;margin-top:.18rem}

/* ===== PRODUCTION PLANNER ===== */
.prod-result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;margin-bottom:1rem}
@media(max-width:480px){.prod-result-grid{grid-template-columns:1fr}}
.prod-result-card{background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:var(--radius-md);padding:.9rem;text-align:center}
.prod-result-card.highlight{background:rgba(200,169,110,0.07);border-color:rgba(200,169,110,0.25)}
.prc-label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.3rem;font-weight:600}
.prc-value{font-size:1.25rem;font-weight:900}
.prc-value.gold{background:linear-gradient(135deg,var(--accent),var(--accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.prc-value.green{color:var(--success)}
.prc-value.danger{color:var(--danger)}
.prc-sub{font-size:.65rem;color:var(--text-muted);margin-top:.2rem}

.prod-timeline{display:flex;gap:0;margin-top:.75rem;overflow:hidden;border-radius:var(--radius-sm);border:1px solid var(--border)}
.prod-tl-step{flex:1;padding:.6rem .4rem;text-align:center;font-size:.65rem;color:var(--text-muted);border-left:1px solid var(--border);background:rgba(255,255,255,0.02)}
.prod-tl-step:first-child{border-left:none}
.prod-tl-step strong{display:block;font-size:.72rem;color:var(--text-primary);margin-bottom:.15rem}

.saved-plans-list{display:flex;flex-direction:column;gap:.5rem}
.plan-item{display:flex;align-items:center;gap:.75rem;padding:.75rem .9rem;background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition)}
.plan-item:hover{border-color:var(--border-hover)}
.plan-item-icon{font-size:1.2rem}
.plan-item-info{flex:1}
.plan-item-name{font-weight:600;font-size:.82rem;color:var(--text-primary)}
.plan-item-meta{font-size:.68rem;color:var(--text-muted)}
.plan-item-stat{text-align:left;font-weight:800;font-size:.82rem;color:var(--success)}

/* ===== LAUNCH CHECKLIST ===== */
.checklist-score{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.3rem;border-radius:var(--radius-md);margin-bottom:1.25rem;border:1px solid}
.checklist-score.ready{background:rgba(16,185,129,0.06);border-color:rgba(16,185,129,0.2)}
.checklist-score.notready{background:rgba(239,68,68,0.05);border-color:rgba(239,68,68,0.15)}
.cs-pct{font-size:2rem;font-weight:900;line-height:1;flex-shrink:0}
.cs-pct.ready{color:var(--success)}
.cs-pct.notready{color:var(--danger)}
.cs-label{font-weight:700;font-size:.88rem;color:var(--text-primary);margin-bottom:.15rem}
.cs-sub{font-size:.73rem;color:var(--text-muted);line-height:1.5}

.cl-section{margin-bottom:1.1rem}
.cl-section-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.6rem}
.cl-item{display:flex;align-items:flex-start;gap:.75rem;padding:.65rem .8rem;border-radius:var(--radius-sm);margin-bottom:.3rem;transition:var(--transition);cursor:pointer;background:rgba(255,255,255,0.02);border:1px solid var(--border)}
.cl-item:hover{background:var(--bg-hover)}
.cl-item.checked{background:rgba(16,185,129,0.05);border-color:rgba(16,185,129,0.18)}
.cl-chk{width:22px;height:22px;border-radius:6px;border:1.5px solid var(--border);background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition);font-size:.72rem;font-weight:800;color:var(--success);min-width:22px}
.cl-item.checked .cl-chk{background:rgba(16,185,129,0.15);border-color:var(--success);box-shadow:0 0 0 2px rgba(16,185,129,0.12)}
.cl-text{font-size:.8rem;color:var(--text-secondary);line-height:1.5;flex:1}
.cl-item.checked .cl-text{color:var(--text-muted);text-decoration:line-through;text-decoration-color:rgba(255,255,255,.2)}

/* ===== MARKET INTELLIGENCE ===== */
.trend-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-bottom:1.25rem}
.trend-card{background:linear-gradient(135deg,var(--bg-card),var(--bg-card2));border:1px solid var(--border);border-radius:var(--radius-md);padding:1.1rem;transition:var(--transition)}
.trend-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}
.trend-card-top{display:flex;align-items:center;gap:.6rem;margin-bottom:.65rem}
.trend-icon{font-size:1.3rem}
.trend-name{font-weight:700;font-size:.82rem;color:var(--text-primary)}
.trend-badge{font-size:.6rem;padding:.15rem .5rem;border-radius:10px;font-weight:700;margin-right:auto}
.trend-badge.hot{background:rgba(239,68,68,0.12);color:var(--danger);border:1px solid rgba(239,68,68,0.2)}
.trend-badge.rising{background:rgba(245,158,11,0.12);color:var(--warning);border:1px solid rgba(245,158,11,0.2)}
.trend-badge.stable{background:rgba(16,185,129,0.1);color:var(--success);border:1px solid rgba(16,185,129,0.18)}
.trend-desc{font-size:.73rem;color:var(--text-muted);line-height:1.6}
.trend-price{font-size:.7rem;color:var(--accent);font-weight:600;margin-top:.45rem}

.season-bar{display:grid;grid-template-columns:repeat(12,1fr);gap:.2rem;margin-bottom:.5rem}
.season-cell{border-radius:4px;padding:.4rem .15rem;text-align:center}
.season-cell .mn{font-size:.5rem;color:var(--text-muted);display:block;margin-bottom:.15rem;font-weight:600}
.season-cell .mi{font-size:.75rem;display:block}
.season-cell.peak{background:rgba(239,68,68,0.15);border:1px solid rgba(239,68,68,0.25)}
.season-cell.high{background:rgba(245,158,11,0.12);border:1px solid rgba(245,158,11,0.2)}
.season-cell.mid{background:rgba(200,169,110,0.1);border:1px solid rgba(200,169,110,0.15)}
.season-cell.low{background:rgba(255,255,255,0.03);border:1px solid var(--border)}
.season-cell.cur{box-shadow:0 0 0 2px var(--accent)}
.season-legend{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.65rem;color:var(--text-muted)}
.sl-dot{width:10px;height:10px;border-radius:3px;display:inline-block;margin-left:.3rem}

/* ===== PRODUCTS MANAGEMENT ===== */
.ops-toolbar{display:flex;align-items:center;gap:.6rem;margin-bottom:1.25rem;flex-wrap:wrap}
.ops-search{flex:1;min-width:160px;background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .85rem;color:var(--text-primary);font-size:.82rem}
.ops-search:focus{border-color:rgba(200,169,110,0.4)}
body.light-mode .ops-search{background:rgba(0,0,0,0.04)}
.ops-add-btn{padding:.55rem 1.1rem;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#000;border:none;border-radius:var(--radius-sm);font-size:.8rem;font-weight:800;cursor:pointer;transition:var(--transition);white-space:nowrap;display:flex;align-items:center;gap:.4rem}
.ops-add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-glow)}

.products-table-wrap{overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--border)}
.ops-table{width:100%;border-collapse:collapse;font-size:.78rem;min-width:560px}
.ops-table th{background:rgba(255,255,255,0.04);color:var(--text-muted);padding:.6rem .85rem;text-align:right;font-weight:700;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}
.ops-table td{padding:.65rem .85rem;border-bottom:1px solid rgba(255,255,255,0.04);color:var(--text-secondary);vertical-align:middle}
.ops-table tr:last-child td{border-bottom:none}
.ops-table tr:hover td{background:rgba(255,255,255,0.02)}
body.light-mode .ops-table th{background:rgba(0,0,0,0.03)}
body.light-mode .ops-table tr:hover td{background:rgba(0,0,0,0.02)}

.status-pill{display:inline-flex;align-items:center;padding:.2rem .65rem;border-radius:20px;font-size:.65rem;font-weight:700;gap:.3rem}
.status-pill.instock{background:rgba(16,185,129,0.1);color:var(--success);border:1px solid rgba(16,185,129,0.2)}
.status-pill.lowstock{background:rgba(245,158,11,0.1);color:var(--warning);border:1px solid rgba(245,158,11,0.2)}
.status-pill.outstock{background:rgba(239,68,68,0.1);color:var(--danger);border:1px solid rgba(239,68,68,0.2)}

.tbl-action{background:none;border:none;cursor:pointer;padding:.25rem .4rem;border-radius:4px;font-size:.78rem;transition:var(--transition)}
.tbl-edit{color:var(--accent)}
.tbl-edit:hover{background:rgba(200,169,110,0.1)}
.tbl-del{color:var(--danger)}
.tbl-del:hover{background:rgba(239,68,68,0.08)}

.empty-state{text-align:center;padding:3rem 2rem;color:var(--text-muted)}
.empty-state-icon{font-size:2.8rem;margin-bottom:.85rem}
.empty-state-title{font-weight:700;font-size:.9rem;color:var(--text-secondary);margin-bottom:.35rem}
.empty-state-sub{font-size:.78rem;line-height:1.65;margin-bottom:1.25rem}

/* ===== ORDERS TRACKER ===== */
.order-status-tabs{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:1.1rem}
.order-tab{padding:.32rem .8rem;background:transparent;border:1px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;font-size:.72rem;font-weight:600;transition:var(--transition);font-family:inherit}
.order-tab.on{background:rgba(200,169,110,0.1);border-color:rgba(200,169,110,0.3);color:var(--accent)}

.pnl-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1.1rem}
@media(max-width:480px){.pnl-summary{grid-template-columns:1fr 1fr}}
.pnl-card{background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:var(--radius-md);padding:.85rem;text-align:center}
.pnl-label{font-size:.63rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.3rem;font-weight:600}
.pnl-val{font-size:1.15rem;font-weight:900}
.pnl-val.green{color:var(--success)}
.pnl-val.gold{background:linear-gradient(135deg,var(--accent),var(--accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.pnl-val.red{color:var(--danger)}

.order-card{display:flex;align-items:center;gap:.75rem;padding:.85rem .9rem;background:rgba(255,255,255,0.02);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:.45rem;cursor:pointer;transition:var(--transition)}
.order-card:hover{border-color:var(--border-hover);background:var(--bg-hover)}
.order-num{font-size:.68rem;font-weight:800;color:var(--accent);flex-shrink:0;min-width:60px}
.order-customer{font-weight:600;font-size:.82rem;color:var(--text-primary);flex:1}
.order-date{font-size:.68rem;color:var(--text-muted)}
.order-total{font-weight:800;font-size:.88rem;color:var(--success);white-space:nowrap}
.order-status-badge{font-size:.63rem;padding:.18rem .6rem;border-radius:10px;font-weight:700;flex-shrink:0}
.osb-new{background:rgba(6,182,212,0.1);color:var(--info);border:1px solid rgba(6,182,212,0.2)}
.osb-preparing{background:rgba(245,158,11,0.1);color:var(--warning);border:1px solid rgba(245,158,11,0.2)}
.osb-shipped{background:rgba(139,92,246,0.1);color:var(--purple);border:1px solid rgba(139,92,246,0.2)}
.osb-delivered{background:rgba(16,185,129,0.1);color:var(--success);border:1px solid rgba(16,185,129,0.2)}
.osb-returned{background:rgba(239,68,68,0.1);color:var(--danger);border:1px solid rgba(239,68,68,0.2)}
.osb-confirmed{background:rgba(200,169,110,0.1);color:#C8A96E;border:1px solid rgba(200,169,110,0.2)}
.osb-followup{background:rgba(236,72,153,0.1);color:#EC4899;border:1px solid rgba(236,72,153,0.2)}
.order-status-select{font-size:.65rem;padding:.2rem .5rem;border-radius:10px;font-weight:700;border:1px solid var(--border);background:var(--bg-card2);color:var(--text-primary);cursor:pointer;font-family:inherit;outline:none;transition:var(--transition);color-scheme:dark;-webkit-appearance:none;min-width:80px;text-align:center}
.order-status-select:focus{border-color:rgba(200,169,110,0.45)}
.order-status-select option{background:var(--bg-card2);color:var(--text-primary)}
body.light-mode .order-status-select{background:#fff;color:#0F172A;color-scheme:light}
body.light-mode .order-status-select option{background:#fff;color:#0F172A}
.order-status-select.osb-new{background:rgba(6,182,212,0.1);color:var(--info);border-color:rgba(6,182,212,0.3)}
.order-status-select.osb-preparing{background:rgba(245,158,11,0.1);color:var(--warning);border-color:rgba(245,158,11,0.3)}
.order-status-select.osb-shipped{background:rgba(139,92,246,0.1);color:var(--purple);border-color:rgba(139,92,246,0.3)}
.order-status-select.osb-delivered{background:rgba(16,185,129,0.1);color:var(--success);border-color:rgba(16,185,129,0.3)}
.order-status-select.osb-returned{background:rgba(239,68,68,0.1);color:var(--danger);border-color:rgba(239,68,68,0.3)}
.order-status-select.osb-confirmed{background:rgba(200,169,110,0.1);color:#C8A96E;border-color:rgba(200,169,110,0.3)}
.order-status-select.osb-followup{background:rgba(236,72,153,0.1);color:#EC4899;border-color:rgba(236,72,153,0.3)}

/* ===== MODALS ===== */
.modal-backdrop{position:fixed;inset:0;z-index:600;background:rgba(0,0,0,0.8);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1rem}
.modal-backdrop.hidden{display:none}
.modal-box{background:linear-gradient(160deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border:1px solid var(--border);border-radius:var(--radius-xl);padding:1.75rem;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:scaleIn .25s ease;box-sizing:border-box}
.modal-box .field-group{margin-bottom:.85rem}
.modal-box .field-inp,.modal-box .field-select{width:100%;box-sizing:border-box;max-width:100%}
.modal-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.4rem}
.modal-title{font-weight:800;font-size:.95rem;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}
.modal-close{background:rgba(255,255,255,0.06);border:1px solid var(--border);color:var(--text-muted);width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:.8rem;transition:var(--transition);display:flex;align-items:center;justify-content:center}
.modal-close:hover{color:var(--text-primary);background:var(--bg-hover)}
.modal-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1.4rem;padding-top:1rem;border-top:1px solid var(--border)}
.btn-cancel{padding:.6rem 1.25rem;background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;font-size:.82rem;transition:var(--transition);font-family:inherit}
.btn-cancel:hover{border-color:var(--border-hover);color:var(--text-primary)}
.btn-save{padding:.6rem 1.4rem;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#000;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.82rem;font-weight:800;transition:var(--transition);font-family:inherit}
.btn-save:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-glow)}
.btn-danger-solid{padding:.6rem 1.25rem;background:rgba(239,68,68,0.1);border:1px solid rgba(239,68,68,0.25);color:var(--danger);border-radius:var(--radius-sm);cursor:pointer;font-size:.82rem;font-weight:700;transition:var(--transition);font-family:inherit}
.btn-danger-solid:hover{background:rgba(239,68,68,0.2)}

/* Alert box inside modal */
.alert-box{padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.78rem;line-height:1.6}
.alert-box.warning{background:rgba(245,158,11,0.07);border:1px solid rgba(245,158,11,0.2);color:var(--warning)}
.alert-box.success{background:rgba(16,185,129,0.07);border:1px solid rgba(16,185,129,0.18);color:var(--success)}
.alert-box.danger{background:rgba(239,68,68,0.06);border:1px solid rgba(239,68,68,0.15);color:var(--danger)}

/* ===== SPRINT 3 — AI TOOLS ===== */
.ai-tool-wrap{max-width:960px;margin:0 auto;padding:1.5rem}
.ai-tool-header{text-align:center;margin-bottom:2rem}
.ai-tool-icon{font-size:3rem;margin-bottom:.75rem}
.ai-tool-title{font-size:1.4rem;font-weight:900;color:var(--text-primary);margin-bottom:.35rem}
.ai-tool-sub{font-size:.85rem;color:var(--text-muted);line-height:1.6}

/* API Key Setup */
.api-key-banner{display:flex;align-items:center;gap:.85rem;padding:.9rem 1.1rem;background:rgba(245,158,11,0.07);border:1px solid rgba(245,158,11,0.22);border-radius:var(--radius-md);margin-bottom:1.5rem;flex-wrap:wrap}
.api-key-banner.ok{background:rgba(16,185,129,0.06);border-color:rgba(16,185,129,0.2)}
.api-key-text{flex:1;font-size:.8rem;color:var(--text-secondary);min-width:200px}
.api-key-text strong{color:var(--text-primary);display:block;margin-bottom:.2rem}
.api-key-input-row{display:flex;gap:.5rem;flex:2;min-width:240px}
.api-key-inp{flex:1;background:rgba(255,255,255,0.05);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .85rem;color:var(--text-primary);font-size:.8rem;font-family:monospace}
.api-key-inp:focus{border-color:rgba(200,169,110,0.4)}
body.light-mode .api-key-inp{background:rgba(0,0,0,0.04)}
.api-key-save-btn{padding:.5rem 1rem;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#000;border:none;border-radius:var(--radius-sm);font-size:.78rem;font-weight:800;cursor:pointer;white-space:nowrap}

/* AI Chat Interface */
.ai-chat-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:1rem;align-items:start}
@media(max-width:700px){.ai-chat-layout{grid-template-columns:1fr}}
.ai-messages-box{background:linear-gradient(135deg,var(--bg-card),var(--bg-card2));border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;min-height:400px;display:flex;flex-direction:column}
.ai-msg-hdr{padding:.9rem 1.1rem;background:rgba(139,92,246,0.1);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.55rem}
.ai-msg-hdr-icon{font-size:1rem}
.ai-msg-hdr-title{font-weight:700;font-size:.82rem;color:var(--text-primary)}
.ai-msg-hdr-dot{width:8px;height:8px;border-radius:50%;background:var(--success);margin-right:auto;box-shadow:0 0 6px var(--success)}
.ai-msg-hdr-dot.off{background:var(--text-muted);box-shadow:none}
.ai-messages-list{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.65rem;max-height:340px}
.ai-msg{max-width:88%;padding:.65rem .9rem;border-radius:var(--radius-md);font-size:.8rem;line-height:1.65;animation:fadeSlide .25s ease}
.ai-msg.bot{background:rgba(139,92,246,0.1);border:1px solid rgba(139,92,246,0.18);color:var(--text-secondary);align-self:flex-start;border-bottom-right-radius:4px}
.ai-msg.user{background:rgba(200,169,110,0.12);border:1px solid rgba(200,169,110,0.22);color:var(--text-primary);align-self:flex-end;border-bottom-left-radius:4px}
.ai-msg.typing{background:rgba(139,92,246,0.07);border:1px solid rgba(139,92,246,0.12);align-self:flex-start}
.typing-dots{display:inline-flex;gap:.3rem;align-items:center;height:16px}
.typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--purple);animation:typingPulse 1.4s ease-in-out infinite}
.typing-dots span:nth-child(2){animation-delay:.2s}
.typing-dots span:nth-child(3){animation-delay:.4s}
@keyframes typingPulse{0%,80%,100%{transform:scale(0.6);opacity:.4}40%{transform:scale(1);opacity:1}}
@keyframes fadeSlide{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.ai-input-area{padding:.8rem 1rem;border-top:1px solid var(--border);display:flex;gap:.5rem}
.ai-inp{flex:1;background:rgba(255,255,255,0.04);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .85rem;color:var(--text-primary);font-size:.8rem;font-family:inherit;resize:none}
.ai-inp:focus{border-color:rgba(139,92,246,0.4)}
body.light-mode .ai-inp{background:rgba(0,0,0,0.04)}
.ai-send-btn{padding:.55rem .95rem;background:linear-gradient(135deg,var(--purple),#6D28D9);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.82rem;transition:var(--transition);white-space:nowrap}
.ai-send-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px var(--purple-glow)}
.ai-send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* AI Results Panel */
.ai-results-panel{display:flex;flex-direction:column;gap:.75rem;margin-bottom: 2rem;}
.ai-result-card{background:linear-gradient(135deg,var(--bg-card),var(--bg-card2));border:1px solid var(--border);border-radius:var(--radius-md);padding:1.1rem;transition:var(--transition)}
.ai-result-card:hover{border-color:var(--border-hover)}
.ai-result-card-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}
.ai-result-card-title{font-size:.78rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}
.ai-copy-btn{background:rgba(255,255,255,0.05);border:1px solid var(--border);color:var(--text-muted);padding:.25rem .65rem;border-radius:var(--radius-sm);font-size:.68rem;cursor:pointer;transition:var(--transition);font-family:inherit}
.ai-copy-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}
.ai-result-content{font-size:.82rem;color:var(--text-secondary);line-height:1.75;white-space:pre-wrap}
.ai-result-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.65rem}
.ai-tag{background:rgba(139,92,246,0.1);border:1px solid rgba(139,92,246,0.2);color:var(--purple);padding:.2rem .65rem;border-radius:20px;font-size:.7rem;font-weight:600}
.ai-tag.gold{background:rgba(200,169,110,0.1);border-color:rgba(200,169,110,0.25);color:var(--accent)}
.ai-tag.green{background:rgba(16,185,129,0.1);border-color:rgba(16,185,129,0.2);color:var(--success)}

/* ===== CAPTION GENERATOR ===== */
.caption-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:1rem;align-items:start}
@media(max-width:700px){.caption-layout{grid-template-columns:1fr}}
.cap-platform-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.25rem}
.cap-platform-btn{flex:1;min-width:calc(50% - .4rem);padding:.55rem .5rem;background:rgba(255,255,255,0.03);border:1.5px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.75rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit;text-align:center}
.cap-platform-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}
.cap-platform-btn.active{background:rgba(200,169,110,0.1);border-color:rgba(200,169,110,0.4);color:var(--accent)}
.cap-placeholder{background:linear-gradient(135deg,var(--bg-card),var(--bg-card2));border:1px dashed var(--border);border-radius:var(--radius-lg);padding:2.5rem 1.5rem;text-align:center;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem}
.cap-placeholder-icon{font-size:3rem;opacity:.5}
.cap-placeholder-title{font-size:.95rem;font-weight:700;color:var(--text-secondary)}
.cap-placeholder-sub{font-size:.78rem;color:var(--text-muted);line-height:1.7;max-width:280px}
.cap-loading-spinner{width:44px;height:44px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:.5rem}
@keyframes spin{to{transform:rotate(360deg)}}
.cap-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem}
.cap-results-title{font-size:.9rem;font-weight:700;color:var(--success)}
.cap-regen-btn{background:rgba(255,255,255,0.04);border:1px solid var(--border);color:var(--text-muted);padding:.3rem .75rem;border-radius:var(--radius-sm);font-size:.72rem;cursor:pointer;font-family:inherit;transition:var(--transition);display:flex;align-items:center;gap:.35rem}
.cap-regen-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}
.cap-card{background:linear-gradient(135deg,var(--bg-card),var(--bg-card2));border:1px solid var(--border);border-radius:var(--radius-md);padding:1.1rem;margin-bottom:.75rem;transition:var(--transition)}
.cap-card:hover{border-color:var(--border-hover)}
.cap-card-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:.65rem}
.cap-card-label{font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}
.cap-copy-btn{background:rgba(255,255,255,0.05);border:1px solid var(--border);color:var(--text-muted);padding:.22rem .6rem;border-radius:var(--radius-sm);font-size:.68rem;cursor:pointer;transition:var(--transition);font-family:inherit;display:flex;align-items:center;gap:.25rem}
.cap-copy-btn:hover{border-color:var(--accent);color:var(--accent)}
.cap-copy-btn.copied{background:rgba(16,185,129,0.1);border-color:var(--success);color:var(--success)}
.cap-card-body{font-size:.82rem;color:var(--text-secondary);line-height:1.85;white-space:pre-wrap;word-break:break-word}
.cap-hashtags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--border)}
.cap-hashtag{background:rgba(139,92,246,0.08);border:1px solid rgba(139,92,246,0.18);color:var(--purple);padding:.18rem .6rem;border-radius:20px;font-size:.68rem;font-weight:600;cursor:pointer;transition:var(--transition)}
.cap-hashtag:hover{background:rgba(139,92,246,0.15)}

/* ===== RISK ENGINE ===== */
.risk-hero{display:grid;grid-template-columns:200px 1fr;gap:1.25rem;align-items:center;background:linear-gradient(135deg,var(--bg-card),var(--bg-card2));border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.4rem 1.75rem;margin-bottom:1.25rem}
@media(max-width:640px){.risk-hero{grid-template-columns:1fr;text-align:center}}
.risk-hero-gauge{position:relative;display:flex;flex-direction:column;align-items:center}
.risk-arc-svg{width:180px;height:100px}
.risk-hero-num{font-size:2.2rem;font-weight:900;color:var(--text-primary);line-height:1;margin-top:-1.2rem}
.risk-hero-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-top:.2rem}
.risk-hero-title{font-size:1.1rem;font-weight:900;color:var(--text-primary);margin-bottom:.3rem}
.risk-hero-desc{font-size:.8rem;color:var(--text-muted);line-height:1.65;margin-bottom:.75rem}
.risk-hero-stats{display:flex;gap:.55rem;flex-wrap:wrap}
.risk-stat-chip{padding:.28rem .7rem;border-radius:20px;font-size:.7rem;font-weight:700;border:1px solid}
.risk-stat-chip.green{background:rgba(16,185,129,0.1);border-color:rgba(16,185,129,0.25);color:var(--success)}
.risk-stat-chip.yellow{background:rgba(245,158,11,0.1);border-color:rgba(245,158,11,0.25);color:var(--warning)}
.risk-stat-chip.red{background:rgba(239,68,68,0.1);border-color:rgba(239,68,68,0.25);color:var(--danger)}
.risk-tabs{display:flex;gap:.4rem;margin-bottom:1rem}
.risk-tab{padding:.42rem 1rem;background:transparent;border:1px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;font-size:.78rem;font-weight:600;transition:var(--transition);font-family:inherit}
.risk-tab.active{background:rgba(239,68,68,0.1);border-color:rgba(239,68,68,0.3);color:var(--danger)}
.risk-tab-content{animation:fadeSlide .2s ease}
.risk-factors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem}
.risk-factor-card{background:linear-gradient(135deg,var(--bg-card),var(--bg-card2));border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;transition:var(--transition)}
.risk-factor-card:hover{border-color:var(--border-hover)}
.risk-factor-hdr{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}
.risk-factor-title{font-size:.8rem;font-weight:700;color:var(--text-primary);line-height:1.4;flex:1}
.risk-factor-badge{font-size:.62rem;font-weight:800;padding:.15rem .55rem;border-radius:10px;border:1px solid;white-space:nowrap;flex-shrink:0}
.risk-factor-badge.low{background:rgba(16,185,129,0.1);border-color:rgba(16,185,129,0.25);color:var(--success)}
.risk-factor-badge.medium{background:rgba(245,158,11,0.1);border-color:rgba(245,158,11,0.25);color:var(--warning)}
.risk-factor-badge.high{background:rgba(239,68,68,0.1);border-color:rgba(239,68,68,0.25);color:var(--danger)}
.risk-factor-body{font-size:.74rem;color:var(--text-muted);line-height:1.55}
.risk-factor-bar{height:4px;background:rgba(255,255,255,0.07);border-radius:2px;overflow:hidden;margin-top:.6rem}
.risk-factor-fill{height:100%;border-radius:2px;transition:width .9s cubic-bezier(.4,0,.2,1)}
.risk-rec-card{background:linear-gradient(135deg,var(--bg-card),var(--bg-card2));border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem 1.1rem;margin-bottom:.65rem;display:flex;gap:.85rem;align-items:flex-start;transition:var(--transition)}
.risk-rec-card:hover{border-color:var(--border-hover)}
.risk-rec-icon{width:36px;height:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}
.risk-rec-title{font-size:.82rem;font-weight:700;color:var(--text-primary);margin-bottom:.2rem}
.risk-rec-body{font-size:.75rem;color:var(--text-muted);line-height:1.55}
.risk-rec-priority{font-size:.62rem;font-weight:700;padding:.12rem .5rem;border-radius:8px;display:inline-block;margin-top:.3rem}
.risk-rec-priority.urgent{background:rgba(239,68,68,0.1);color:var(--danger)}
.risk-rec-priority.soon{background:rgba(245,158,11,0.1);color:var(--warning)}
.risk-rec-priority.optional{background:rgba(16,185,129,0.1);color:var(--success)}
.risk-sim-desc{font-size:.78rem;color:var(--text-muted);margin-bottom:1rem;line-height:1.6}
.risk-sim-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
@media(max-width:580px){.risk-sim-grid{grid-template-columns:1fr}}
.risk-sim-item{display:flex;flex-direction:column;gap:.4rem}
.risk-sim-label{font-size:.75rem;font-weight:600;color:var(--text-secondary)}
.risk-slider{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:rgba(255,255,255,0.1);outline:none;cursor:pointer}
.risk-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--danger);cursor:pointer;box-shadow:0 0 6px rgba(239,68,68,0.4)}
.risk-sim-val{font-size:.78rem;font-weight:700;color:var(--accent)}
.risk-sim-result{background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;text-align:center;margin-top:.5rem}
.risk-sim-score{font-size:2rem;font-weight:900;margin-bottom:.2rem}
.risk-sim-level{font-size:.82rem;font-weight:700}
.risk-refresh-btn{display:flex;align-items:center;gap:.45rem;margin:1.25rem auto 0;padding:.55rem 1.25rem;background:rgba(239,68,68,0.08);border:1px solid rgba(239,68,68,0.2);border-radius:var(--radius-md);color:var(--danger);font-size:.78rem;font-weight:600;cursor:pointer;font-family:inherit;transition:var(--transition)}
.risk-refresh-btn:hover{background:rgba(239,68,68,0.14)}

/* ===== QUALITY AUDIT ===== */
.qa-layout{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}
@media(max-width:720px){.qa-layout{grid-template-columns:1fr}}
.qa-two-col{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}
.qa-summary-bar{display:flex;align-items:center;justify-content:space-around;background:linear-gradient(135deg,var(--bg-card),var(--bg-card2));border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1.25rem;flex-wrap:wrap;gap:.5rem}
.qa-sum-item{display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:60px}
.qa-sum-val{font-size:1.25rem;font-weight:900;color:var(--text-primary)}
.qa-sum-val.green{color:var(--success)}
.qa-sum-val.yellow{color:var(--warning)}
.qa-sum-val.red{color:var(--danger)}
.qa-sum-val.accent{color:var(--accent)}
.qa-sum-label{font-size:.62rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.qa-sum-divider{width:1px;height:36px;background:var(--border)}
/* checklist section */
.qa-section{margin-bottom:1.1rem}
.qa-section-title{font-size:.78rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.55rem;display:flex;align-items:center;gap:.4rem}
.qa-item{display:flex;align-items:center;gap:.65rem;padding:.5rem .25rem;border-bottom:1px solid var(--border);transition:var(--transition)}
.qa-item:last-child{border-bottom:none}
.qa-item-label{flex:1;font-size:.8rem;color:var(--text-secondary);line-height:1.4}
.qa-item-label small{display:block;font-size:.68rem;color:var(--text-muted);margin-top:.1rem}
.qa-btn-group{display:flex;gap:.3rem;flex-shrink:0}
.qa-btn{padding:.28rem .6rem;border-radius:var(--radius-sm);font-size:.68rem;font-weight:700;cursor:pointer;border:1.5px solid;transition:var(--transition);font-family:inherit;white-space:nowrap}
.qa-btn.pass{background:transparent;border-color:rgba(16,185,129,0.3);color:var(--success)}
.qa-btn.pass.active{background:rgba(16,185,129,0.15);border-color:var(--success)}
.qa-btn.warn{background:transparent;border-color:rgba(245,158,11,0.3);color:var(--warning)}
.qa-btn.warn.active{background:rgba(245,158,11,0.15);border-color:var(--warning)}
.qa-btn.fail{background:transparent;border-color:rgba(239,68,68,0.3);color:var(--danger)}
.qa-btn.fail.active{background:rgba(239,68,68,0.15);border-color:var(--danger)}
/* verdict card */
.qa-verdict-card{background:linear-gradient(135deg,var(--bg-card),var(--bg-card2));border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;text-align:center;margin-bottom:.85rem;transition:var(--transition)}
.qa-verdict-icon{font-size:2.5rem;margin-bottom:.5rem}
.qa-verdict-title{font-size:1.05rem;font-weight:900;margin-bottom:.3rem}
.qa-verdict-desc{font-size:.78rem;color:var(--text-muted);line-height:1.6;margin-bottom:1rem}
.qa-score-ring-wrap{position:relative;width:80px;height:80px;margin:0 auto .85rem}
.qa-score-svg{width:80px;height:80px}
.qa-score-ring-num{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.1rem;font-weight:900;color:var(--text-primary)}
.qa-verdict-breakdown{display:flex;justify-content:center;gap:.65rem;flex-wrap:wrap}
.qa-bd-chip{font-size:.7rem;font-weight:700;padding:.22rem .65rem;border-radius:20px;border:1px solid}
.qa-bd-chip.pass{background:rgba(16,185,129,0.1);border-color:rgba(16,185,129,0.25);color:var(--success)}
.qa-bd-chip.warn{background:rgba(245,158,11,0.1);border-color:rgba(245,158,11,0.25);color:var(--warning)}
.qa-bd-chip.fail{background:rgba(239,68,68,0.1);border-color:rgba(239,68,68,0.25);color:var(--danger)}
/* failed/warn items */
.qa-issue-item{display:flex;align-items:flex-start;gap:.5rem;padding:.45rem 0;border-bottom:1px solid var(--border);font-size:.78rem;color:var(--text-secondary)}
.qa-issue-item:last-child{border-bottom:none}
.qa-issue-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:.35rem}
/* reports list */
.qa-report-row{display:flex;align-items:center;gap:.65rem;padding:.65rem .75rem;background:rgba(255,255,255,0.02);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:.45rem;cursor:pointer;transition:var(--transition)}
.qa-report-row:hover{border-color:var(--border-hover);background:var(--bg-hover)}
.qa-report-score{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:900;flex-shrink:0;border:2px solid}
.qa-report-info{flex:1;min-width:0}
.qa-report-name{font-size:.8rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qa-report-meta{font-size:.66rem;color:var(--text-muted);margin-top:.1rem}
.qa-report-verdict{font-size:.65rem;font-weight:800;padding:.15rem .55rem;border-radius:10px}
.qa-empty-reports{font-size:.78rem;color:var(--text-muted);text-align:center;padding:1.25rem;line-height:1.6}

/* ===== VALIDATE ENGINE ===== */
/* stepper */
.vld-stepper{display:flex;align-items:center;margin-bottom:1.5rem;padding:.85rem 1.25rem;background:linear-gradient(135deg,var(--bg-card),var(--bg-card2));border:1px solid var(--border);border-radius:var(--radius-lg)}
.vld-step{display:flex;flex-direction:column;align-items:center;gap:.25rem;cursor:pointer;transition:var(--transition)}
.vld-step-num{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,0.06);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;color:var(--text-muted);transition:var(--transition)}
.vld-step.active .vld-step-num{background:var(--purple);border-color:var(--purple);color:#fff}
.vld-step.done .vld-step-num{background:rgba(16,185,129,0.15);border-color:var(--success);color:var(--success)}
.vld-step-label{font-size:.62rem;font-weight:700;color:var(--text-muted);white-space:nowrap}
.vld-step.active .vld-step-label{color:var(--purple)}
.vld-step.done .vld-step-label{color:var(--success)}
.vld-step-line{flex:1;height:1px;background:var(--border);margin:0 .35rem;margin-bottom:1.1rem}
/* panel */
.vld-panel{animation:fadeSlide .25s ease}
.vld-panel-header{display:flex;align-items:center;gap:.85rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
.vld-panel-icon{font-size:2rem;flex-shrink:0}
.vld-panel-title{font-size:1rem;font-weight:900;color:var(--text-primary)}
.vld-panel-sub{font-size:.78rem;color:var(--text-muted);margin-top:.15rem}
.vld-two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}
@media(max-width:700px){.vld-two-col{grid-template-columns:1fr}}
/* chips */
.vld-chips{display:flex;flex-wrap:wrap;gap:.35rem}
.vld-chip{padding:.28rem .7rem;background:rgba(255,255,255,0.03);border:1.5px solid var(--border);border-radius:20px;color:var(--text-muted);font-size:.72rem;font-weight:600;cursor:pointer;transition:var(--transition);font-family:inherit}
.vld-chip:hover{border-color:var(--border-hover)}
.vld-chip.active{background:rgba(139,92,246,0.12);border-color:rgba(139,92,246,0.4);color:var(--purple)}
/* radio */
.vld-radio-group{display:flex;flex-direction:column;gap:.45rem}
.vld-radio{display:flex;align-items:flex-start;gap:.55rem;cursor:pointer;font-size:.8rem;color:var(--text-secondary);line-height:1.4}
.vld-radio input{margin-top:.2rem;accent-color:var(--purple);flex-shrink:0}
/* nav row */
.vld-nav-row{display:flex;justify-content:space-between;align-items:center;margin-top:1.25rem;margin-bottom: 2rem;padding-top:1rem;border-top:1px solid var(--border)}
.vld-next-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:linear-gradient(135deg,var(--purple),rgba(139,92,246,.8));color:#fff;border:none;border-radius:var(--radius-md);font-size:.82rem;font-weight:700;cursor:pointer;font-family:inherit;transition:var(--transition)}
.vld-next-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(139,92,246,.35)}
.vld-back-btn{display:flex;align-items:center;gap:.45rem;padding:.55rem 1rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:.8rem;font-weight:600;cursor:pointer;font-family:inherit;transition:var(--transition)}
.vld-back-btn:hover{border-color:var(--border-hover);color:var(--text-primary)}
/* live calc card */
.vld-calc-card{background:linear-gradient(135deg,rgba(139,92,246,.08),rgba(139,92,246,.03));border:1px solid rgba(139,92,246,.25);border-radius:var(--radius-lg);padding:1.1rem 1.25rem}
.vld-calc-title{font-size:.78rem;font-weight:800;color:var(--purple);margin-bottom:.85rem;letter-spacing:.04em}
.vld-calc-row{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:var(--text-muted);padding:.28rem 0;border-bottom:1px solid rgba(255,255,255,.04)}
.vld-calc-row:last-of-type{border-bottom:none}
.vld-calc-val{font-weight:800;color:var(--text-primary)}
.vld-calc-val.accent{color:var(--accent);font-size:.9rem}
.vld-calc-divider{height:1px;background:rgba(255,255,255,.07);margin:.45rem 0}
.vld-calc-verdict{margin-top:.75rem;padding:.5rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;text-align:center;background:rgba(255,255,255,.03)}
/* score banner */
.vld-score-banner{display:flex;align-items:center;gap:1.5rem;background:linear-gradient(135deg,var(--bg-card),var(--bg-card2));border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.4rem 1.75rem;margin-bottom:1rem;flex-wrap:wrap}
.vld-score-left{flex:1;min-width:180px}
.vld-overall-label{font-size:.68rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.3rem}
.vld-overall-verdict{font-size:1.4rem;font-weight:900;margin-bottom:.3rem}
.vld-overall-desc{font-size:.78rem;color:var(--text-muted);line-height:1.6;max-width:320px}
.vld-score-gauges{display:flex;gap:1rem;flex-wrap:wrap}
.vld-gauge-wrap{display:flex;flex-direction:column;align-items:center;gap:.3rem;min-width:70px}
.vld-gauge-label{font-size:.62rem;font-weight:700;color:var(--text-muted);text-align:center}
.vld-gauge-ring-wrap{position:relative;width:60px;height:60px}
.vld-gauge-svg{width:60px;height:60px}
.vld-ring{transition:stroke-dashoffset 1.1s cubic-bezier(.4,0,.2,1)}
.vld-gauge-num{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.8rem;font-weight:900;color:var(--text-primary)}
/* sections grid */
.vld-sections-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.85rem}
@media(max-width:640px){.vld-sections-grid{grid-template-columns:1fr}}
.vld-section-card{background:linear-gradient(135deg,var(--bg-card),var(--bg-card2));border:1px solid var(--border);border-radius:var(--radius-md);padding:1.1rem}
.vld-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}
.vld-section-icon-title{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:800;color:var(--text-primary)}
.vld-section-score-badge{font-size:.72rem;font-weight:800;padding:.18rem .6rem;border-radius:10px;border:1px solid}
.vld-section-score-badge.high{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.25);color:var(--success)}
.vld-section-score-badge.medium{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.25);color:var(--warning)}
.vld-section-score-badge.low{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.25);color:var(--danger)}
.vld-section-body{font-size:.78rem;color:var(--text-muted);line-height:1.75}
.vld-point{display:flex;gap:.45rem;margin-bottom:.35rem;font-size:.77rem;color:var(--text-secondary);line-height:1.5}
.vld-point-dot{width:5px;height:5px;border-radius:50%;margin-top:.45rem;flex-shrink:0}
/* red flags / opps */
.vld-flag{display:flex;gap:.55rem;align-items:flex-start;padding:.45rem 0;border-bottom:1px solid var(--border);font-size:.78rem;color:var(--text-secondary);line-height:1.5}
.vld-flag:last-child{border-bottom:none}
/* action plan */
.vld-action-step{display:flex;gap:.75rem;align-items:flex-start;padding:.5rem 0;border-bottom:1px solid var(--border)}
.vld-action-step:last-child{border-bottom:none}
.vld-action-num{width:22px;height:22px;border-radius:50%;background:rgba(139,92,246,.12);border:1px solid rgba(139,92,246,.3);color:var(--purple);font-size:.68rem;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem}
.vld-action-text{font-size:.78rem;color:var(--text-secondary);line-height:1.6}
/* profit summary */
.vld-profit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
@media(max-width:540px){.vld-profit-grid{grid-template-columns:1fr 1fr}}
.vld-profit-cell{background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.7rem;text-align:center}
.vld-profit-val{font-size:1rem;font-weight:900;color:var(--accent)}
.vld-profit-lbl{font-size:.62rem;color:var(--text-muted);margin-top:.15rem}
/* report actions */
.vld-report-actions{display:flex;gap:.75rem;justify-content:center;margin:1.25rem 0}
.vld-action-btn{display:flex;align-items:center;gap:.45rem;padding:.6rem 1.4rem;border-radius:var(--radius-md);font-size:.82rem;font-weight:700;cursor:pointer;font-family:inherit;transition:var(--transition)}
.vld-action-btn.primary{background:linear-gradient(135deg,var(--purple),rgba(139,92,246,.8));color:#fff;border:none}
.vld-action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(139,92,246,.35)}
.vld-action-btn.secondary{background:transparent;border:1px solid var(--border);color:var(--text-muted)}
.vld-action-btn.secondary:hover{border-color:var(--border-hover);color:var(--text-primary)}
/* loading */
.vld-loading-spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--purple);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}
/* saved reports */
.vld-report-row{display:flex;align-items:center;gap:.65rem;padding:.65rem .75rem;background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:.45rem;cursor:pointer;transition:var(--transition)}
.vld-report-row:hover{border-color:var(--border-hover);background:var(--bg-hover)}

/* Quick Prompts */
.quick-prompts{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}
.qp-btn{padding:.35rem .8rem;background:rgba(139,92,246,0.07);border:1px solid rgba(139,92,246,0.18);color:var(--purple);border-radius:20px;font-size:.72rem;cursor:pointer;transition:var(--transition);font-family:inherit;white-space:nowrap}
.qp-btn:hover{background:rgba(139,92,246,0.15);border-color:rgba(139,92,246,0.3)}

/* Phase AI Zone */
.phase-ai-zone{background:linear-gradient(135deg,rgba(139,92,246,0.07),rgba(139,92,246,0.03));border:1px solid rgba(139,92,246,0.18);border-radius:var(--radius-md);padding:1.1rem;margin-top:1rem}
.phase-ai-title{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:700;color:var(--purple);margin-bottom:.75rem}
.phase-ai-messages{display:flex;flex-direction:column;gap:.5rem;max-height:220px;overflow-y:auto;margin-bottom:.65rem}
.phase-ai-inp-row{display:flex;gap:.45rem}
.phase-ai-inp{flex:1;background:rgba(255,255,255,0.04);border:1px solid rgba(139,92,246,0.2);border-radius:var(--radius-sm);padding:.5rem .8rem;color:var(--text-primary);font-size:.8rem;font-family:inherit}
.phase-ai-inp:focus{border-color:rgba(139,92,246,0.45)}
body.light-mode .phase-ai-inp{background:rgba(0,0,0,0.04)}
.phase-ai-btn{padding:.5rem .9rem;background:rgba(139,92,246,0.15);border:1px solid rgba(139,92,246,0.3);color:var(--purple);border-radius:var(--radius-sm);font-size:.78rem;font-weight:700;cursor:pointer;transition:var(--transition);white-space:nowrap;font-family:inherit}
.phase-ai-btn:hover{background:rgba(139,92,246,0.25)}
.phase-ai-btn:disabled{opacity:.5;cursor:not-allowed}

/* ===== SPRINT 3 — CRM ===== */
.crm-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin-bottom:1.25rem}
@media(max-width:640px){.crm-stats-row{grid-template-columns:repeat(2,1fr)}}
.crm-stat{background:linear-gradient(135deg,var(--bg-card),var(--bg-card2));border:1px solid var(--border);border-radius:var(--radius-md);padding:.9rem 1rem;text-align:center}
.crm-stat-val{font-size:1.4rem;font-weight:900;margin-bottom:.2rem}
.crm-stat-lbl{font-size:.62rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.crm-customer-card{display:flex;align-items:center;gap:.85rem;padding:.85rem .95rem;background:rgba(255,255,255,0.02);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:.45rem;cursor:pointer;transition:var(--transition)}
.crm-customer-card:hover{border-color:var(--border-hover);background:var(--bg-hover)}
.crm-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-dark));display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:800;color:#000;flex-shrink:0}
.crm-name{font-weight:700;font-size:.85rem;color:var(--text-primary)}
.crm-phone{font-size:.7rem;color:var(--text-muted);margin-top:.1rem}
.crm-meta-row{display:flex;gap:1rem;margin-top:.2rem;flex-wrap:wrap}
.crm-meta-item{font-size:.68rem;color:var(--text-muted)}
.crm-meta-item span{color:var(--text-secondary);font-weight:600}
.crm-badge{font-size:.6rem;padding:.15rem .6rem;border-radius:10px;font-weight:700}
.crm-badge.vip{background:rgba(200,169,110,0.15);border:1px solid rgba(200,169,110,0.3);color:var(--accent)}
.crm-badge.loyal{background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.2);color:var(--success)}
.crm-badge.new{background:rgba(6,182,212,0.1);border:1px solid rgba(6,182,212,0.2);color:var(--info)}
.crm-badge.atrisk{background:rgba(239,68,68,0.1);border:1px solid rgba(239,68,68,0.2);color:var(--danger)}
.crm-total{font-weight:900;font-size:.9rem;color:var(--success);margin-right:auto;white-space:nowrap}

/* CRM Detail */
.crm-detail-hdr{background:linear-gradient(135deg,rgba(200,169,110,0.08),rgba(200,169,110,0.03));border:1px solid rgba(200,169,110,0.15);border-radius:var(--radius-lg);padding:1.4rem 1.75rem;margin-bottom:1.25rem}
.crm-detail-top{display:flex;align-items:center;gap:1rem;margin-bottom:.85rem}
.crm-avatar-lg{width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-dark));display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:900;color:#000;flex-shrink:0}
.crm-detail-name{font-size:1.2rem;font-weight:900;color:var(--text-primary)}
.crm-detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.crm-ds-card{background:rgba(255,255,255,0.03);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.7rem;text-align:center}
.crm-ds-val{font-size:1.1rem;font-weight:900;color:var(--accent)}
.crm-ds-lbl{font-size:.62rem;color:var(--text-muted);font-weight:600}

/* ===== SPRINT 3 — BUSINESS PLAN ===== */
.plan-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-bottom:1.25rem}
@media(max-width:640px){.plan-overview{grid-template-columns:1fr 1fr}}
.plan-ov-card{background:linear-gradient(135deg,var(--bg-card),var(--bg-card2));border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;text-align:center}
.plan-ov-val{font-size:1.3rem;font-weight:900;margin-bottom:.25rem}
.plan-ov-lbl{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600}

.plan-month-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.1rem}
.plan-tab{padding:.32rem .8rem;background:transparent;border:1px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;font-size:.72rem;font-weight:600;transition:var(--transition);font-family:inherit}
.plan-tab.on{background:rgba(200,169,110,0.12);border-color:rgba(200,169,110,0.3);color:var(--accent)}
.plan-goal-card{background:linear-gradient(135deg,var(--bg-card),var(--bg-card2));border:1px solid var(--border);border-radius:var(--radius-md);padding:1.1rem;margin-bottom:.65rem}
.plan-goal-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}
.plan-goal-title{font-weight:700;font-size:.85rem;color:var(--text-primary);display:flex;align-items:center;gap:.45rem}
.plan-goal-pct{font-size:.78rem;font-weight:800;color:var(--accent)}
.plan-goal-bar{height:4px;background:rgba(255,255,255,0.07);border-radius:2px;overflow:hidden;margin-bottom:.85rem}
.plan-goal-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-light));border-radius:2px;transition:width .6s ease}
.plan-task-item{display:flex;align-items:flex-start;gap:.65rem;padding:.55rem 0;border-bottom:1px solid var(--border);cursor:pointer}
.plan-task-item:last-child{border-bottom:none}
.plan-task-chk{width:20px;height:20px;border-radius:5px;border:1.5px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.65rem;color:var(--success);transition:var(--transition);min-width:20px;margin-top:.08rem}
.plan-task-item.done .plan-task-chk{background:rgba(16,185,129,0.15);border-color:var(--success)}
.plan-task-text{font-size:.8rem;color:var(--text-secondary);line-height:1.5;flex:1}
.plan-task-item.done .plan-task-text{text-decoration:line-through;color:var(--text-muted)}
.plan-task-kpi{font-size:.65rem;color:var(--text-muted);margin-top:.12rem}
.plan-add-task{width:100%;padding:.6rem;background:rgba(255,255,255,0.02);border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.78rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:.5rem;font-family:inherit}
.plan-add-task:hover{border-color:var(--border-hover);color:var(--text-secondary);background:var(--bg-hover)}

/* Plan Input Modal fields — تعريفات field-group/inp موحّدة في fix-spacing.css */

/* Dashboard Sprint3 charts */
.chart-tabs{display:flex;gap:.3rem;margin-bottom:.75rem;flex-wrap:wrap}
.chart-tab{padding:.25rem .7rem;background:transparent;border:1px solid var(--border);border-radius:20px;color:var(--text-muted);cursor:pointer;font-size:.68rem;font-weight:600;transition:var(--transition);font-family:inherit}
.chart-tab.on{background:rgba(200,169,110,0.1);border-color:rgba(200,169,110,0.3);color:var(--accent)}


/* ===================================================
   MODAL OVERLAY — Sprint 8 Project Modal
   =================================================== */
.modal-overlay{
  position:fixed;
  inset:0;
  z-index:3000;
  background:rgba(0,0,0,0.85);
  backdrop-filter:blur(12px);
  display:none;
  align-items:center;
  justify-content:center;
  padding:1rem;
}
.modal-overlay.show{
  display:flex;
}
/* fallback: JS يستخدم style="display:flex" للفتح */
.modal-overlay[style*="display: flex"],
.modal-overlay[style*="display:flex"]{
  display:flex !important;
  align-items:center;
  justify-content:center;
}
.modal-overlay[style*="display: none"],
.modal-overlay[style*="display:none"]{
  display:none !important;
}

.modal-overlay .modal-box{
  background:linear-gradient(160deg,var(--bg-secondary) 0%,var(--bg-card) 100%);
  border:1px solid var(--border);
  border-radius:var(--radius-xl);
  width:100%;
  max-width:440px;
  max-height:92vh;
  overflow-y:auto;
  box-shadow:var(--shadow-xl);
  animation:scaleIn .22s cubic-bezier(.34,1.56,.64,1);
  box-sizing:border-box;
  position:relative;
}

.modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:1.25rem 1.5rem;
  border-bottom:1px solid var(--border);
}
.modal-header .modal-title{
  font-size:1rem;
  font-weight:800;
  color:var(--text-primary);
}
.modal-header .modal-close{
  background:rgba(255,255,255,0.05);
  border:1px solid var(--border);
  color:var(--text-muted);
  width:32px; height:32px;
  border-radius:50%;
  cursor:pointer;
  font-size:.9rem;
  transition:var(--transition-fast);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.modal-header .modal-close:hover{
  background:var(--bg-hover);
  color:var(--text-primary);
}

/* form body inside modal-overlay */
.modal-overlay .modal-body{
  padding:1.25rem 1.5rem 1.5rem;
}

/* ===================================================
   FORM INPUTS — form-inp / input-label
   =================================================== */
.form-inp{
  width:100%;
  box-sizing:border-box;
  background:var(--bg-card2);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:.65rem .95rem;
  color:var(--text-primary);
  font-size:.85rem;
  font-family:inherit;
  transition:var(--transition-fast);
  display:block;
}
.form-inp:focus{
  border-color:rgba(200,169,110,.5);
  box-shadow:0 0 0 3px rgba(200,169,110,.1);
  outline:none;
}
.form-inp::placeholder{ color:var(--text-muted); opacity:.7; }
body.light-mode .form-inp{ background:rgba(0,0,0,.04); }

.input-label{
  display:block;
  font-size:.72rem;
  color:var(--text-muted);
  font-weight:600;
  margin-bottom:.4rem;
  letter-spacing:.02em;
}

/* modal form actions row */
.modal-form-actions{
  display:flex;
  gap:.65rem;
  justify-content:flex-end;
  padding-top:1rem;
  margin-top:.25rem;
  border-top:1px solid var(--border);
}

/* ===================================================
   SCROLL TO TOP BUTTON
   =================================================== */
#scrollTopBtn{
  position:fixed;
  left:1rem;
  bottom:calc(var(--bottom-nav-h, 64px) + 4rem);
  z-index:400;
  width:42px; height:42px;
  border-radius:50%;
  background:var(--bg-card);
  border:1px solid var(--border);
  color:var(--text-muted);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transition:var(--transition);
  box-shadow:var(--shadow-md);
  font-size:.85rem;
}
#scrollTopBtn.show{
  opacity:1;
  pointer-events:auto;
}
#scrollTopBtn:hover{
  background:var(--accent);
  color:#000;
  border-color:var(--accent);
  transform:translateY(-2px);
  box-shadow:0 6px 20px var(--accent-glow);
}

/* ── Path Warning Banner ─────────────────────────────────── */
.path-warning-banner{
  margin-bottom:1rem;
  border-radius:.75rem;
  overflow:hidden;
}
.path-warning-item{
  background:#2d1f00;
  border:1px solid #c8a96e55;
  border-right:3px solid var(--accent);
  border-radius:.75rem;
  padding:.85rem 1rem;
  font-size:.88rem;
  color:#f5c97a;
  line-height:1.7;
  margin-bottom:.5rem;
}
.path-warning-item:last-child{margin-bottom:0}
/* ============================================================
   LAUNCH CHECKLIST V2
   ============================================================ */
/* ── Summary Banner ─────────────────────────────────────────── */
.cl-summary {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-radius: var(--radius-md);
  margin-bottom: 1.25rem;
  border: 1px solid;
}

.cl-summary.cl-ready    { background: rgba(16,185,129,.1); border-color: rgba(16,185,129,.3); }
.cl-summary.cl-almost   { background: rgba(200,169,110,.1); border-color: rgba(200,169,110,.3); }
.cl-summary.cl-notready { background: rgba(239,68,68,.08); border-color: rgba(239,68,68,.25); }

.cl-summary-icon  { font-size: 1.8rem; flex-shrink: 0; }
.cl-summary-label { font-size: .9rem; font-weight: 700; color: var(--text-primary); }
.cl-summary-sub   { font-size: .75rem; color: var(--text-muted); margin-top: .2rem; }
.cl-summary-pct   { margin-right: auto; font-size: 1.4rem; font-weight: 900; color: var(--accent); flex-shrink: 0; }

/* ── Section ─────────────────────────────────────────────────── */
.cl-section { margin-bottom: 1.25rem; }

.cl-section-hdr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: .4rem;
}

.cl-section-title { font-size: .82rem; font-weight: 700; color: var(--text-secondary); }
.cl-section-prog  { font-size: .72rem; color: var(--text-muted); }

.cl-prog-bar {
  height: 3px;
  background: var(--bg-card);
  border-radius: 2px;
  margin-bottom: .6rem;
  overflow: hidden;
}
.cl-prog-fill {
  height: 100%;
  background: var(--accent);
  border-radius: 2px;
  transition: width .4s ease;
}

/* ── Item ────────────────────────────────────────────────────── */
.cl-item {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: .75rem 1rem;
  border-radius: var(--radius-sm);
  background: var(--bg-card);
  border: 1px solid var(--border);
  margin-bottom: .45rem;
  cursor: pointer;
  transition: var(--transition);
}
.cl-item:hover { border-color: var(--border-hover); }
.cl-item.checked { border-color: rgba(16,185,129,.3); background: rgba(16,185,129,.06); }
.cl-item.critical:not(.checked) { border-right: 3px solid rgba(239,68,68,.5); }

.cl-chk {
  width: 20px;
  height: 20px;
  border-radius: 6px;
  border: 2px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: .1rem;
  font-size: .75rem;
  transition: var(--transition);
  color: var(--success);
}

.cl-item.checked .cl-chk { background: rgba(16,185,129,.15); border-color: var(--success); }

.cl-body { flex: 1; min-width: 0; }

.cl-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .5rem;
}
.cl-text {
  font-size: .82rem;
  color: var(--text-primary);
  line-height: 1.5;
  flex: 1;
}
.cl-item.checked .cl-text { color: var(--text-muted); text-decoration: line-through; }

.cl-meta { display: flex; gap: .35rem; flex-shrink: 0; flex-wrap: wrap; justify-content: flex-end; }

/* Badges */
.cl-badge {
  font-size: .62rem;
  font-weight: 700;
  padding: .15rem .5rem;
  border-radius: 20px;
}
.cl-badge.critical    { background: rgba(239,68,68,.12); color: #ef4444; border: 1px solid rgba(239,68,68,.25); }
.cl-badge.recommended { background: rgba(200,169,110,.1); color: var(--accent); border: 1px solid rgba(200,169,110,.2); }
.cl-auto-tag { font-size: .62rem; color: var(--success); opacity: .8; padding-top: .2rem; }

/* Hint */
.cl-hint {
  font-size: .72rem;
  color: var(--text-muted);
  margin-top: .35rem;
  line-height: 1.5;
}

/* Action Button */
.cl-action-btn {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: .7rem;
  color: var(--accent);
  background: rgba(200,169,110,.08);
  border: 1px solid rgba(200,169,110,.2);
  border-radius: var(--radius-sm);
  padding: .25rem .65rem;
  margin-top: .45rem;
  cursor: pointer;
  transition: var(--transition);
  font-family: inherit;
}
.cl-action-btn:hover { background: rgba(200,169,110,.15); }

/* ── Explainer Banner ────────────────────────────────────────── */
.cl-explainer {
  display: flex;
  align-items: flex-start;
  gap: .85rem;
  background: rgba(200,169,110,.06);
  border: 1px solid rgba(200,169,110,.2);
  border-radius: var(--radius-md);
  padding: .9rem 1.1rem;
  margin-bottom: 1rem;
}
.cl-explainer-icon { font-size: 1.4rem; flex-shrink: 0; margin-top: .1rem; }
.cl-explainer-title {
  font-size: .82rem;
  font-weight: 700;
  color: var(--accent);
  margin-bottom: .35rem;
}
.cl-explainer-text {
  font-size: .76rem;
  color: var(--text-secondary);
  line-height: 1.7;
}
.cl-explainer-text strong { color: var(--text-primary); }

/* Flow steps */
.cl-flow-step {
  display: inline-block;
  font-size: .68rem;
  font-weight: 700;
  padding: .15rem .55rem;
  border-radius: 20px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  color: var(--text-muted);
}

.cl-flow-step.active {
  background: rgba(200,169,110,.15);
  border-color: rgba(200,169,110,.4);
  color: var(--accent);
}