/* Shared closed-loop sequence for automotive application pages. */
.cabin-loop{background:#fff;font-family:Inter,"Segoe UI","Helvetica Neue",Arial,sans-serif}
.cabin-loop .dcv-app-heading{max-width:1060px}
.cabin-loop__panel{padding:36px 32px 24px;border:1px solid #e5ecf4;border-radius:8px;background:#f4f7fa}
.cabin-loop__steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px;margin:0;padding:0;list-style:none}
.cabin-loop__step{min-width:0;position:relative}
.cabin-loop__node{position:relative;display:flex;align-items:center;gap:12px;margin-bottom:28px}
.cabin-loop__step:not(:last-child) .cabin-loop__node:after{position:absolute;top:31px;left:104px;right:-18px;height:1px;background:#c9d9ee;content:""}
.cabin-loop__step:not(:last-child) .cabin-loop__node:before{position:absolute;top:28px;right:-18px;width:6px;height:6px;border-top:1px solid #8faed7;border-right:1px solid #8faed7;transform:rotate(45deg);content:""}
.cabin-loop__icon{display:grid;place-items:center;flex:0 0 64px;height:64px;border:1px solid #d6e4f8;border-radius:16px;color:#347af0;background:#fff}
.cabin-loop__icon svg{width:30px;height:30px}
.cabin-loop__number{color:#6882a3;font-size:12px;font-weight:600;letter-spacing:.06em}
.cabin-loop__step .cabin-loop__role{min-height:28px;margin:0 0 8px;color:#3472c9;font-size:10px;line-height:1.4;font-weight:600;letter-spacing:.055em}
.cabin-loop__step h3{margin:0 0 12px;color:#001a3d;font-size:22px;font-weight:500;line-height:1.25;letter-spacing:-.02em}
.cabin-loop__step .cabin-loop__description{margin:0;color:#52667b;font-size:14px;line-height:1.7}
.cabin-loop__return{position:relative;display:flex;justify-content:center;margin:28px 30px 0;padding-top:18px;color:#3472c9;font-size:12px;font-weight:500}
.cabin-loop__return:before{position:absolute;inset:-7px 0 11px;border:1px solid #c9d9ee;border-top:0;border-radius:0 0 12px 12px;content:""}
.cabin-loop__return:after{position:absolute;top:-7px;left:-3px;width:6px;height:6px;border-top:1px solid #8faed7;border-left:1px solid #8faed7;transform:rotate(45deg);content:""}
.cabin-loop__return>span{position:relative;display:inline-flex;align-items:center;gap:8px;padding:0 16px;background:#f4f7fa}
.cabin-loop__return svg{width:17px;height:17px}
.cabin-loop__footer{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-top:24px}
.cabin-loop__footer p{max-width:720px;margin:0;color:#687e94;font-size:13px;line-height:1.65}
.cabin-loop__footer a{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;padding-bottom:5px;border-bottom:2px solid #2f7df6;color:#001a3d;font-size:14px;font-weight:500;text-decoration:none}
.cabin-loop__footer a:hover{color:#2f7df6}
.cabin-loop__footer a:focus-visible{outline:2px solid #1677ff;outline-offset:5px}
@media(max-width:1100px){
  .cabin-loop__panel{padding:28px 24px 22px}
  .cabin-loop__steps{gap:22px}
  .cabin-loop__icon{flex-basis:52px;height:52px;border-radius:13px}
  .cabin-loop__icon svg{width:26px;height:26px}
  .cabin-loop__step:not(:last-child) .cabin-loop__node:after{top:25px;left:90px;right:-10px}
  .cabin-loop__step:not(:last-child) .cabin-loop__node:before{top:22px;right:-10px}
  .cabin-loop__step h3{font-size:20px}
  .cabin-loop__footer{align-items:flex-start;flex-direction:column;gap:16px}
}
@media(max-width:991px){
  .cabin-loop__steps{grid-template-columns:1fr;gap:0}
  .cabin-loop__step{padding:0 0 30px 84px;min-height:134px}
  .cabin-loop__step:last-child{padding-bottom:0;min-height:0}
  .cabin-loop__node{position:absolute;top:0;left:0;flex-direction:column;gap:7px;margin:0}
  .cabin-loop__icon{width:52px;flex-basis:52px}
  .cabin-loop__step:not(:last-child) .cabin-loop__node:after,.cabin-loop__step:not(:last-child) .cabin-loop__node:before{display:none}
  .cabin-loop__step:not(:last-child):after{position:absolute;left:26px;top:85px;bottom:12px;width:1px;background:#c9d9ee;content:""}
  .cabin-loop__step:not(:last-child):before{position:absolute;left:23px;bottom:12px;width:6px;height:6px;border-bottom:1px solid #8faed7;border-right:1px solid #8faed7;transform:rotate(45deg);content:""}
  .cabin-loop__step .cabin-loop__role{min-height:0;margin-bottom:6px}
  .cabin-loop__step h3{margin-bottom:8px}
  .cabin-loop__return{margin:28px 0 0;padding-top:20px;border-top:1px solid #d9e4f1;justify-content:flex-start}
  .cabin-loop__return:before,.cabin-loop__return:after{display:none}
  .cabin-loop__return>span{padding:0}
}
@media(max-width:767px){
  .cabin-loop__panel{padding:26px 20px 22px}
  .cabin-loop__step{padding-left:74px}
  .cabin-loop__footer a{flex-shrink:1;font-size:13px}
}
