.trajectory-panel.active{display:block!important}
.life-trajectory{
  margin-top:16px;
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.92);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.93),rgba(235,239,242,.8));
  box-shadow:0 14px 34px rgba(61,71,80,.1),inset 0 1px 0 #fff;
}
.life-trajectory .section-head p{margin:5px 0 0;color:#8b959c;font-size:11px}
.trajectory-steps{display:grid;grid-template-columns:1fr!important;gap:14px;margin-top:16px}
.trajectory-step{box-sizing:border-box;width:100%;padding:18px;border:1px solid #dde3e6;border-radius:17px;background:rgba(255,255,255,.72)}
.trajectory-step[hidden]{display:none!important}
.trajectory-step>header{display:flex;align-items:center;gap:10px;padding-bottom:13px;border-bottom:1px solid #e3e7e9}
.trajectory-step>header i{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:#e7ece9;color:#4f6b61;font:700 10px Georgia,serif;font-style:normal}
.trajectory-step>header b{color:#48535b;font-size:15px}
.trajectory-step>header span{margin-left:auto;color:#9f7b43;font-size:10px}

.trajectory-profile{display:grid;grid-template-columns:minmax(220px,.8fr) 1.2fr;gap:12px;margin-top:14px}
.trajectory-profile-main,.trajectory-pillars{border:1px solid #e2e6e8;border-radius:13px;background:#f5f7f6}
.trajectory-profile-main{display:flex;flex-direction:column;justify-content:center;padding:15px}
.trajectory-profile-main strong{color:#38584d;font-size:16px}
.trajectory-profile-main span{margin-top:5px;color:#68757b;font-size:11px}
.trajectory-profile-main small{margin-top:4px;color:#929ba0;font-size:10px}
.trajectory-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden}
.trajectory-pillars div{padding:13px 8px;background:#fff;text-align:center}
.trajectory-pillars small{display:block;color:#9aa2a5;font-size:9px}
.trajectory-pillars b{display:block;margin-top:6px;color:#4b575e;font:700 18px "Songti SC","Noto Serif SC",serif}
.trajectory-pillars p{grid-column:1/-1;margin:auto;color:#8d969b}

.trajectory-schools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:16px 0 0;padding:14px;border:1px solid #e0e5e7;border-radius:14px}
.trajectory-schools legend{padding:0 7px;color:#69767c;font-size:11px}
.trajectory-schools label{position:relative;cursor:pointer}
.trajectory-schools input{position:absolute;opacity:0;pointer-events:none}
.trajectory-schools span{display:block;padding:12px;border:1px solid #dfe5e7;border-radius:11px;background:#fff;transition:.18s}
.trajectory-schools b,.trajectory-schools small{display:block}
.trajectory-schools b{color:#566169;font-size:13px}
.trajectory-schools small{margin-top:4px;color:#949da2;font-size:9px}
.trajectory-schools input:checked+span{border-color:#b49358;background:#fff9ed;box-shadow:0 5px 14px rgba(147,111,51,.12)}
.trajectory-schools input:checked+span b{color:#8d692f}
.trajectory-calibrate,.trajectory-finish,.trajectory-generate{width:100%;margin-top:12px;padding:12px;border:1px solid #b79355;border-radius:11px;background:#fffaf0;color:#8e682e;font-size:11px;font-weight:700}
.trajectory-calibrate:disabled,.trajectory-finish:disabled,.trajectory-generate:disabled{border-color:#dce1de;background:#edf0ee;color:#a2a9a5}

.trajectory-pattern{margin-top:14px;padding:14px;border-radius:13px;background:#f4f6f5}
.trajectory-pattern h3{margin:0 0 10px;color:#52615b;font-size:13px}
.trajectory-pattern>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.trajectory-pattern p{margin:0;padding:10px;border-radius:9px;background:#fff}
.trajectory-pattern p:nth-child(4),.trajectory-pattern p:nth-child(5){grid-column:span 3}
.trajectory-pattern small,.trajectory-pattern b,.trajectory-pattern span{display:block}
.trajectory-pattern small{color:#999f9c;font-size:9px}
.trajectory-pattern b{margin-top:4px;color:#4c5a55;font-size:12px}
.trajectory-pattern span{margin-top:4px;color:#69766f;font-size:11px;line-height:1.7}

.predicted-events{display:grid;gap:11px;margin-top:12px}
.predicted-event{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:14px;border:1px solid #e0e5e7;border-radius:14px;background:#fff}
.event-number{padding-top:3px;color:#b14d3e;font:700 10px Georgia,serif}
.event-content>header{display:flex;align-items:center;gap:10px}
.event-content>header b{color:#44554f;font-size:14px}
.event-content>header small{color:#9a8a71;font-size:10px}
.event-content>p{margin:11px 0 0;padding-left:12px;border-left:2px solid #bdd0c8;color:#5d6b66;font-size:12px;line-height:1.85}
.event-content>p strong{margin-right:8px;color:#397268}
.event-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.event-actions button{padding:8px 14px;border:1px solid #d5dbd8;border-radius:8px;background:#fff;color:#52605b;font-size:10px}
.event-actions button.active{border-color:#63847a;background:#63847a;color:#fff}
.event-correction{display:none;margin-top:12px}
.predicted-event.needs-correction .event-correction{display:block}
.event-correction span{display:block;margin-bottom:6px;color:#8e6a35;font-size:10px;font-weight:700}
.event-correction textarea{box-sizing:border-box;width:100%;min-height:78px;padding:10px;border:1px solid #ddcfb9;border-radius:9px;background:#fffaf3;color:#57645f;font-size:11px;line-height:1.65;resize:vertical}

.trajectory-report-intro{margin:14px 0 0;color:#7b878d;font-size:11px;line-height:1.7}
.trajectory-report-text{margin-top:12px;padding:15px;border-radius:12px;background:#f4f6f3;color:#56645e;font-size:12px;line-height:1.85;white-space:pre-line}

@media(max-width:700px){
  .life-trajectory{padding:15px 12px;border-radius:18px}
  .trajectory-step{padding:13px 11px}
  .trajectory-profile{grid-template-columns:1fr}
  .trajectory-profile-main{padding:12px}
  .trajectory-pillars b{font-size:16px}
  .trajectory-schools{grid-template-columns:1fr;padding:10px}
  .trajectory-schools span{padding:10px}
  .trajectory-pattern>div{grid-template-columns:1fr}
  .trajectory-pattern p:nth-child(4),.trajectory-pattern p:nth-child(5){grid-column:auto}
  .predicted-event{grid-template-columns:25px minmax(0,1fr);gap:7px;padding:11px 9px}
  .event-content>header{align-items:flex-start;flex-direction:column;gap:3px}
  .event-content>p{font-size:11px}
  .event-actions{display:grid;grid-template-columns:repeat(2,1fr)}
  .event-actions button{padding:9px 4px}
}
