.passion-app-root, .passion-app-root *{ box-sizing:border-box; }
.passion-app-root{
  --pa-navy:#1B2A4A; --pa-teal:#0F9B8E; --pa-coral:#F2542D; --pa-gold:#F5A623;
  --pa-lilac:#6C63FF; --pa-paper:#F7F8FB; --pa-line:#DEE3ED; --pa-ink:#222836;
  --pa-ink-soft:#5A6472; --pa-danger:#D64545;
  font-family:-apple-system,"Segoe UI",Inter,system-ui,sans-serif;
  color:var(--pa-ink);
  background:var(--pa-paper);
  border-radius:16px;
  overflow:hidden;
  display:grid;
  grid-template-columns:250px 1fr;
  min-height:640px;
}
.pa-rail{background:var(--pa-navy); color:#fff; padding:26px 18px;}
.pa-brand{font-weight:800; font-size:19px; margin-bottom:2px;}
.pa-brand span{color:var(--pa-coral);}
.pa-brand-sub{font-size:11px; color:#AEB9D6; margin-bottom:20px; line-height:1.5;}
.pa-userbox{background:rgba(255,255,255,.06); border-radius:10px; padding:9px 11px; margin-bottom:16px; font-size:11.5px;}
.pa-userbox .pa-uname{font-weight:700; color:#fff;}
.pa-userbox .pa-uemail{color:#AEB9D6; font-size:10.5px;}
.pa-userbox a{color:#F2A08C; text-decoration:none; font-size:10.5px; cursor:pointer;}
.pa-steps{list-style:none; margin:0; padding:0;}
.pa-step{display:flex; gap:10px; align-items:flex-start; padding:10px 8px; border-radius:9px; cursor:pointer; margin-bottom:2px;}
.pa-step:hover{background:rgba(255,255,255,.06);}
.pa-step.pa-active{background:rgba(255,255,255,.14);}
.pa-step-num{width:22px;height:22px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10.5px;font-weight:700;background:rgba(255,255,255,.14);color:#D7DCEA;}
.pa-step.pa-active .pa-step-num{background:var(--pa-coral); color:#fff;}
.pa-step.pa-ready .pa-step-num{background:var(--pa-teal); color:#fff;}
.pa-step-label{font-size:12.5px; color:#D7DCEA; line-height:1.3; padding-top:2px;}
.pa-step.pa-active .pa-step-label{color:#fff; font-weight:700;}

.pa-stage{padding:30px 34px;}
.pa-card{background:transparent;}
.pa-title{font-size:21px; margin:0 0 8px; color:var(--pa-navy); line-height:1.3;}
.pa-sub{font-size:13px; color:var(--pa-ink-soft); margin:0 0 22px; line-height:1.55; max-width:620px;}
.pa-guard{border:1.5px dashed #C9CFDC; border-radius:12px; padding:24px; text-align:center; color:var(--pa-ink-soft); font-size:13px;}
.pa-guard .pa-btn{margin-top:12px;}

.pa-choicewrap{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.pa-choice{border:1.5px solid var(--pa-line); border-radius:14px; padding:18px; cursor:pointer; background:#fff;}
.pa-choice.pa-selected{border-color:var(--pa-coral); background:#FFF6F2;}
.pa-choice .pa-ico{width:36px;height:36px;border-radius:10px; display:flex;align-items:center;justify-content:center; font-size:16px; color:#fff; margin-bottom:10px;}
.pa-choice h3{font-size:14.5px; margin:0 0 5px; color:var(--pa-navy);}
.pa-choice p{font-size:12px; color:var(--pa-ink-soft); margin:0; line-height:1.5;}

.pa-label{font-size:12px; font-weight:700; color:var(--pa-navy); display:block; margin-bottom:6px;}
.pa-hint{font-size:10.5px; color:var(--pa-ink-soft); margin:-2px 0 8px; display:block;}
.passion-app-root input, .passion-app-root select, .passion-app-root textarea{
  width:100%; border:1px solid var(--pa-line); border-radius:9px; padding:10px 12px;
  font-size:13.5px; font-family:inherit; color:var(--pa-ink); background:#FCFCFE; margin-bottom:15px;
}
.passion-app-root textarea{min-height:64px; resize:vertical;}
.pa-grid2{display:grid; grid-template-columns:1fr 1fr; gap:0 16px;}
.pa-err{color:var(--pa-danger); font-size:11px; margin:-11px 0 13px; display:none;}
.pa-invalid{border-color:var(--pa-danger) !important;}
.pa-invalid + .pa-err{display:block;}

.pa-btnrow{display:flex; justify-content:space-between; margin-top:22px; gap:10px; flex-wrap:wrap;}
.pa-btn{padding:10px 20px; border-radius:9px; font-size:13.5px; font-weight:700; border:none; cursor:pointer;}
.pa-btn-coral{background:var(--pa-coral); color:#fff;}
.pa-btn-navy{background:var(--pa-navy); color:#fff;}
.pa-btn-ghost{background:#fff; color:var(--pa-navy); border:1px solid var(--pa-line);}
.pa-btn-sm{padding:7px 13px; font-size:12px;}
.pa-btn:disabled{opacity:.4; cursor:not-allowed;}

.pa-steplist{display:flex; gap:6px; margin-bottom:22px; flex-wrap:wrap;}
.pa-steppill{font-size:11px; padding:5px 11px; border-radius:20px; background:#EEF1F7; color:var(--pa-ink-soft); font-weight:600;}
.pa-steppill.pa-pillactive{background:var(--pa-navy); color:#fff;}
.pa-steppill.pa-pilldone{background:#E4F5F3; color:var(--pa-teal);}

.pa-hero{display:grid; grid-template-columns:1.1fr .9fr; gap:24px; align-items:center;}
.pa-hero h2{font-size:20px; color:var(--pa-navy); line-height:1.3; margin:0 0 10px;}
.pa-hero p{font-size:13px; color:var(--pa-ink-soft); line-height:1.6; margin:0 0 16px;}
.pa-cardrow{display:flex; gap:10px; margin-top:18px;}
.pa-minicard{flex:1; border:1px solid var(--pa-line); border-radius:10px; padding:11px; text-align:center; background:#fff;}
.pa-minicard .pa-num{font-size:17px; font-weight:800; color:var(--pa-coral);}
.pa-minicard .pa-lbl{font-size:10px; color:var(--pa-ink-soft); margin-top:2px;}
.pa-heroshot{background:linear-gradient(160deg,#1B2A4A,#2C3E63); border-radius:12px; height:200px; display:flex; align-items:center; justify-content:center; color:#AEB9D6; font-size:12px; text-align:center; padding:18px;}

.pa-tabrow{display:flex; gap:8px; margin-bottom:18px;}
.pa-tab{padding:7px 14px; border-radius:8px; font-size:12.5px; font-weight:700; cursor:pointer; border:1px solid var(--pa-line); background:#fff; color:var(--pa-ink-soft);}
.pa-tab.pa-tabactive{background:var(--pa-navy); color:#fff; border-color:var(--pa-navy);}
.pa-info-note{font-size:11px; color:var(--pa-ink-soft); background:#EEF1F7; border-radius:8px; padding:9px 11px; margin:-6px 0 15px; display:none;}
.pa-info-note.pa-show{display:block;}

.pa-dropzone{border:1.5px dashed #C9CFDC; border-radius:12px; padding:30px; text-align:center; color:var(--pa-ink-soft); font-size:12.5px; background:#FCFCFE; cursor:pointer;}
.pa-dropzone.pa-drag{border-color:var(--pa-teal); background:#EEFBF9;}
.pa-filerow{display:flex; align-items:center; justify-content:space-between; border:1px solid var(--pa-line); border-radius:8px; padding:9px 13px; margin-top:9px; font-size:12px; background:#fff;}
.pa-filerow .pa-x{cursor:pointer; color:var(--pa-ink-soft); font-weight:700;}

.pa-agentrow{display:flex; align-items:center; gap:13px; padding:12px 0; border-bottom:1px solid #EEF1F7;}
.pa-agentrow:last-child{border-bottom:none;}
.pa-agentdot{width:32px;height:32px;border-radius:9px; display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:800; flex:none;}
.pa-agentname{font-size:12.5px; font-weight:700; color:var(--pa-navy);}
.pa-agentstatus{font-size:11px; color:var(--pa-ink-soft);}
.pa-barbg{height:6px; border-radius:6px; background:#EEF1F7; margin-top:6px; overflow:hidden;}
.pa-barfill{height:100%; border-radius:6px; transition:width .4s ease;}

.pa-scoreband{display:flex; gap:18px; align-items:center; border:1px solid var(--pa-line); border-radius:14px; padding:18px; margin-bottom:20px; flex-wrap:wrap; background:#fff;}
.pa-ring{width:80px;height:80px;border-radius:50%; flex:none; display:flex;align-items:center;justify-content:center;}
.pa-ring-inner{width:60px;height:60px;border-radius:50%; background:#fff; display:flex;align-items:center;justify-content:center; font-weight:800; color:var(--pa-navy); font-size:17px;}
.pa-kpirow{display:grid; grid-template-columns:repeat(4,1fr); gap:11px; margin-bottom:20px;}
.pa-kpi{border:1px solid var(--pa-line); border-radius:12px; padding:12px; background:#fff;}
.pa-kpi .pa-v{font-size:17px; font-weight:800; color:var(--pa-navy);}
.pa-kpi .pa-l{font-size:10.5px; color:var(--pa-ink-soft); margin-top:3px;}
.pa-oppcols{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:18px;}
.pa-opphead{font-size:12.5px; font-weight:800; margin-bottom:9px;}
.pa-oppitem{border:1px solid var(--pa-line); border-radius:10px; padding:10px 12px; margin-bottom:8px; font-size:12.5px; display:flex; justify-content:space-between; gap:10px; background:#fff;}
.pa-risklist{border:1px solid #FBE3D6; background:#FFF7F2; border-radius:12px; padding:15px 17px;}
.pa-risklist h4{margin:0 0 8px; font-size:12.5px; color:var(--pa-coral);}
.pa-risklist li{font-size:12px; color:var(--pa-ink); margin-bottom:5px; line-height:1.5;}
.pa-empty{font-size:12px; color:var(--pa-ink-soft); font-style:italic;}

.pa-reclist{border:1px solid var(--pa-line); border-radius:10px; overflow:hidden; background:#fff;}
.pa-rechead{display:grid; grid-template-columns:24px 1fr 84px 84px; gap:10px; padding:9px 14px; background:#F4F6FB; font-size:10.5px; font-weight:700; color:var(--pa-ink-soft);}
.pa-recrow{display:grid; grid-template-columns:24px 1fr 84px 84px; gap:10px; padding:11px 14px; align-items:center; font-size:12px; border-top:1px solid var(--pa-line);}
.pa-recrow.pa-done{opacity:.5; text-decoration:line-through;}
.pa-chk{width:15px;height:15px; cursor:pointer;}
.pa-impact{font-weight:700; color:var(--pa-teal);}
.pa-effort{font-size:10.5px; padding:3px 8px; border-radius:20px; text-align:center; background:#EEF1F7; color:var(--pa-ink-soft);}

.pa-timeline{display:flex; align-items:flex-end; gap:14px; height:130px; padding:10px 6px 28px; position:relative;}
.pa-tbar{flex:1; background:linear-gradient(180deg,var(--pa-lilac),#8B85FF); border-radius:6px 6px 0 0; position:relative; min-height:4px;}
.pa-tbar .pa-tlabel{position:absolute; bottom:-22px; left:0; right:0; text-align:center; font-size:9.5px; color:var(--pa-ink-soft);}
.pa-tbar .pa-tval{position:absolute; top:-18px; left:0; right:0; text-align:center; font-size:10.5px; font-weight:700; color:var(--pa-navy);}
.pa-alertbox{display:flex; gap:11px; border:1px solid #FBE3D6; background:#FFF7F2; border-radius:10px; padding:13px; margin-top:10px;}
.pa-error-banner{background:#FFF0EE; border:1px solid #F6C6BC; color:#9A3324; border-radius:10px; padding:11px 13px; font-size:12.5px; margin-bottom:15px;}

@media (max-width:820px){
  .passion-app-root{grid-template-columns:1fr;}
  .pa-choicewrap, .pa-grid2, .pa-kpirow, .pa-oppcols, .pa-hero{grid-template-columns:1fr;}
  .pa-stage{padding:20px;}
}
