/*
 * Chief Fleet Intelligence · Swiss Express Passenger Loyalty / Passenger 360
 * Screenshot-led presentation, scoped entirely to this new view.
 * No typography, spacing, zoom, navigation scale or responsive behavior changes
 * to the existing Fleet Atlas, Compliance, Maintenance or booking screens.
 */
body.cfi-command-design:has(.cfi-loyalty-page){
  --cfi-command-rail:74px;
  --cfi-command-header:78px;
  color:#0b2e44;
  background:#fbfcfa;
}
body.cfi-command-design:has(.cfi-loyalty-page) .app-shell{
  padding-left:var(--cfi-command-rail);
  background:#fbfcfa;
}
body.cfi-command-design:has(.cfi-loyalty-page) .topbar{
  min-height:78px;
  height:78px;
  gap:24px;
  padding:9px 24px;
  background:#fffefa;
  border-color:#e7eae8;
}
body.cfi-command-design:has(.cfi-loyalty-page) .cfi-command-brand{
  min-height:57px;
  padding-right:22px;
}
body.cfi-command-design:has(.cfi-loyalty-page) .cfi-command-brand img{
  width:146px;
  height:57px;
  object-fit:contain;
}
body.cfi-command-design:has(.cfi-loyalty-page) .cfi-command-heading{
  margin-right:0;
}
body.cfi-command-design:has(.cfi-loyalty-page) .cfi-command-heading h1{
  color:#0a2c46;
  font-size:24px;
  letter-spacing:-.8px;
}
body.cfi-command-design:has(.cfi-loyalty-page) .cfi-command-heading p{
  font-size:0 !important;
  line-height:1.25;
}
body.cfi-command-design:has(.cfi-loyalty-page) .cfi-command-heading p::after{
  content:"Chief Fleet Intelligence";
  color:#8293a0;
  font-size:12px;
}
body.cfi-command-design:has(.cfi-loyalty-page) .loy-header-code{
  flex:0 0 auto;
  border-left:1px solid #e7ebe8;
  padding-left:17px;
  color:#8190ae;
  font-size:11px;
  font-weight:800;
  letter-spacing:.5px;
  white-space:nowrap;
}
body.cfi-command-design:has(.cfi-loyalty-page) .top-actions{
  gap:16px;
  margin-left:auto;
}
body.cfi-command-design:has(.cfi-loyalty-page) .demo-top{
  padding:8px 15px;
  border-color:#ffe5d1;
  background:#fff7ef;
  font-size:0 !important;
  min-height:35px;
}
body.cfi-command-design:has(.cfi-loyalty-page) .demo-top .status-dot{
  display:none;
}
body.cfi-command-design:has(.cfi-loyalty-page) .demo-top::after{
  content:"●  Concept · Demo data";
  color:#bb5029;
  font-size:10px;
  font-weight:760;
  white-space:nowrap;
}
body.cfi-command-design:has(.cfi-loyalty-page) .header-time{
  font-size:0 !important;
  font-weight:700;
  padding-left:14px;
  border-left:1px solid #e7ebe9;
}
body.cfi-command-design:has(.cfi-loyalty-page) .header-time::after{
  content:"17 Oct 2026";
  color:#8194b4;
  font-size:11px;
}
body.cfi-command-design:has(.cfi-loyalty-page) .loy-demo-clock{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding-left:14px;
  border-left:1px solid #e7ebe9;
  color:#8294b2;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
body.cfi-command-design:has(.cfi-loyalty-page) .avatar{
  width:45px;
  height:45px;
  flex-basis:45px;
  font-weight:770;
  border-radius:50%;
}
body.cfi-command-design:has(.cfi-loyalty-page) .main-view{
  width:100%;
  max-width:none;
  margin:0;
  padding:16px 18px 30px;
}
body.cfi-command-design:has(.cfi-loyalty-page) .sidebar .nav-list{
  min-height:0;
  overflow-y:auto;
  overflow-x:visible;
  scrollbar-width:none;
  overscroll-behavior:contain;
}
body.cfi-command-design:has(.cfi-loyalty-page) .sidebar .nav-list::-webkit-scrollbar{display:none}
.cfi-loyalty-page{
  --loy-ink:#0c2d4b;
  --loy-dark:#003f47;
  --loy-mint:#d6f9ed;
  --loy-teal:#006a71;
  --loy-line:#e3e9e6;
  --loy-muted:#7e90a8;
  max-width:1700px;
  margin:0 auto;
  color:var(--loy-ink);
  font-family:Manrope,"DM Sans",Arial,sans-serif;
  font-size:12px;
  font-weight:450;
  line-height:1.42;
}
.cfi-loyalty-page *,.cfi-loyalty-page *::before,.cfi-loyalty-page *::after{box-sizing:border-box}
.cfi-loyalty-page button,.cfi-loyalty-page input,.cfi-loyalty-page select{font-family:inherit;color:inherit}
.cfi-loyalty-page button{cursor:pointer}
.cfi-loyalty-page button:focus-visible,.cfi-loyalty-page input:focus-visible,.cfi-loyalty-page select:focus-visible{
  outline:3px solid #43bdb1;
  outline-offset:2px;
}
.cfi-loyalty-page h2,.cfi-loyalty-page h3,.cfi-loyalty-page h4,.cfi-loyalty-page p{margin:0}
.cfi-loyalty-page .loy-icon{
  display:inline-block;
  flex:0 0 auto;
  width:20px;
  height:20px;
  vertical-align:middle;
  stroke:currentColor;
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cfi-loyalty-page .loy-icon.sm{width:15px;height:15px}
.cfi-loyalty-page .loy-icon.lg{width:27px;height:27px}
.cfi-loyalty-page .loy-panel{
  border:1px solid var(--loy-line);
  border-radius:14px;
  background:linear-gradient(150deg,#fffefa,#fdfefb);
  box-shadow:0 5px 19px rgba(26,64,61,.023);
  min-width:0;
}
.cfi-loyalty-page .loy-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr)) minmax(150px,.67fr);
  align-items:center;
  min-height:96px;
  padding:10px 8px;
  margin-bottom:13px;
  gap:0;
  border:1px solid #e7ebe9;
  border-radius:16px;
  background:linear-gradient(110deg,#fffefa,#fffdfb 50%,#fbfdfd);
  box-shadow:0 4px 15px #34484904;
}
.cfi-loyalty-page .loy-metric{
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  align-items:center;
  gap:16px;
  min-width:0;
  min-height:72px;
  padding:7px 15px 7px 17px;
  border-right:1px solid #dce4e5;
}
.cfi-loyalty-page .loy-metric-icon{
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  border-radius:50%;
  background:#ecf9f4;
  color:#00545c;
  border:1px solid #e2f3eb;
}
.cfi-loyalty-page .loy-metric-icon.air{color:#014b56;background:#eaf9f4}
.cfi-loyalty-page .loy-metric-icon.gift{color:#956027;background:#fff2e5;border-color:#fbebdc}
.cfi-loyalty-page .loy-metric-icon.star{color:#0f4b6a;background:#e9f7fc;border-color:#e0f1fa}
.cfi-loyalty-page .loy-metric-icon.gear{width:45px;height:45px;background:#f3f5f5;border-color:#e9ecea;color:#315871}
.cfi-loyalty-page .loy-metric-icon .loy-icon{height:27px;width:27px;stroke-width:2.15}
.cfi-loyalty-page .loy-metric-copy{min-width:0}
.cfi-loyalty-page .loy-metric-copy strong{
  display:block;
  font-size:30px;
  font-weight:860;
  letter-spacing:-1px;
  color:#091f55;
  line-height:1.03;
}
.cfi-loyalty-page .loy-metric-copy b{display:block;font-size:12px;color:#093350;line-height:1.35}
.cfi-loyalty-page .loy-metric-copy small{display:block;color:#8093ac;font-size:10px;line-height:1.45;margin-top:2px}
.cfi-loyalty-page .loy-metric.rule{
  grid-template-columns:45px minmax(0,1fr);
  padding-left:15px;
  padding-right:6px;
  gap:10px;
  border-right:0;
}
.cfi-loyalty-page .loy-metric.rule .loy-metric-copy b{font-size:11px}
.cfi-loyalty-page .loy-searchbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) 166px;
  gap:15px;
  margin-bottom:13px;
}
.cfi-loyalty-page .loy-search{
  display:flex;
  gap:13px;
  align-items:center;
  width:100%;
  min-width:0;
  height:43px;
  padding:0 17px;
  border:1px solid #dbe5e4;
  border-radius:7px;
  background:#fffefa;
  box-shadow:0 2px 10px #21373804;
}
.cfi-loyalty-page .loy-search>.loy-icon{width:19px;height:19px;color:#0a4b62}
.cfi-loyalty-page .loy-search input{display:block;width:100%;height:41px;min-width:0;border:0;background:transparent;outline:0;color:#0d3651;font-size:12px}
.cfi-loyalty-page .loy-search input::placeholder{color:#8aa0b9;opacity:1}
.cfi-loyalty-page .loy-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:39px;
  padding:9px 13px;
  border:1px solid #d4e1e2;
  border-radius:8px;
  background:#fffefa;
  color:#0c3450;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
  text-decoration:none;
}
.cfi-loyalty-page .loy-button:hover{background:#f0f9f5;border-color:#95c5bb}
.cfi-loyalty-page .loy-button.dark{
  background:linear-gradient(140deg,#06525b,#003d47);
  border-color:#064c52;
  color:#fff;
  box-shadow:0 2px 10px #054b4a13;
}
.cfi-loyalty-page .loy-button.dark:hover{background:#07636b}
.cfi-loyalty-page .loy-button.small{font-size:10px;min-height:30px;padding:6px 10px}
.cfi-loyalty-page .loy-button.ghost{border:0;background:transparent}
.cfi-loyalty-page .loy-button:disabled{cursor:not-allowed;opacity:.56}
.cfi-loyalty-page .loy-layout{
  display:grid;
  grid-template-columns:minmax(285px,.90fr) minmax(445px,1.47fr) minmax(338px,1.09fr);
  align-items:stretch;
  gap:13px;
}
.cfi-loyalty-page .loy-directory{
  min-width:0;
  padding:14px 0 10px;
  overflow:hidden;
}
.cfi-loyalty-page .loy-directory h2{
  color:#0c3154;
  font-size:17px;
  font-weight:830;
  letter-spacing:-.45px;
  margin:0 16px 13px;
}
.cfi-loyalty-page .loy-directory-tabs{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  align-items:center;
  margin:0 18px 9px;
  padding:2px;
  border:1px solid #e5ece8;
  border-radius:7px;
  background:#f5f7f5;
}
.cfi-loyalty-page .loy-directory-tabs button{
  display:block;
  width:100%;
  min-height:32px;
  padding:6px 5px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#0a314e;
  font-size:11px;
  font-weight:760;
}
.cfi-loyalty-page .loy-directory-tabs button[aria-selected="true"]{
  background:#dff9f0;
  box-shadow:inset 0 0 0 1px #a6e3d6;
}
.cfi-loyalty-page .loy-sort{
  display:flex;
  align-items:center;
  gap:6px;
  width:100%;
  min-height:30px;
  padding:0 18px;
  margin-bottom:2px;
  color:#6785a1;
  font-size:10px;
  font-weight:730;
}
.cfi-loyalty-page .loy-sort select{
  width:auto;
  min-width:0;
  max-width:175px;
  border:0;
  padding:3px 2px;
  outline:0;
  background:transparent;
  color:#557896;
  font-size:10px;
  font-weight:750;
}
.cfi-loyalty-page .loy-passengers{padding:0 0 1px}
.cfi-loyalty-page .loy-person{
  display:grid;
  grid-template-columns:26px 46px minmax(0,1fr) 36px 12px;
  gap:8px;
  align-items:center;
  width:100%;
  min-height:68px;
  padding:8px 10px 8px 12px;
  border:0;
  border-top:1px solid #e6ece9;
  background:transparent;
  color:#092c4f;
  text-align:left;
}
.cfi-loyalty-page .loy-person:first-child{border-top:0}
.cfi-loyalty-page .loy-person:hover{background:#f2faf6}
.cfi-loyalty-page .loy-person.selected{
  border-left:3px solid #05c09e;
  background:linear-gradient(100deg,#e0f8ef,#f0faf5);
  padding-left:9px;
  border-radius:5px;
}
.cfi-loyalty-page .loy-rank{
  color:#667b85;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.cfi-loyalty-page .loy-avatar{
  display:grid;
  place-items:center;
  width:45px;
  height:45px;
  flex:0 0 45px;
  border-radius:50%;
  background:linear-gradient(135deg,#e1ebe1,#ecf3e7);
  box-shadow:inset 0 0 0 1px #dae7de;
  color:#0b4450;
  font-size:13px;
  font-weight:830;
}
.cfi-loyalty-page .loy-person-meta{min-width:0;line-height:1.26}
.cfi-loyalty-page .loy-person-meta b{
  display:block;
  font-size:12px;
  color:#0d2550;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.cfi-loyalty-page .loy-person-meta small{display:block;font-size:10px;color:#7d92a6;margin-top:2px}
.cfi-loyalty-page .loy-person-note{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-top:4px;
  color:#6684a0;
  font-size:10px;
  font-weight:620;
  line-height:1.1;
  white-space:nowrap;
}
.cfi-loyalty-page .loy-person-note.awarded{color:#bf7728}
.cfi-loyalty-page .loy-person-note.ready{color:#09854a}
.cfi-loyalty-page .loy-person-trip{min-width:0;text-align:right}
.cfi-loyalty-page .loy-person-trip strong{display:block;color:#0a2357;font-size:16px;font-weight:870;line-height:1.2}
.cfi-loyalty-page .loy-person-trip small{display:block;font-size:10px;color:#6682a0}
.cfi-loyalty-page .loy-person>.loy-icon{color:#13486a}
.cfi-loyalty-page .loy-middle{display:flex;flex-direction:column;gap:11px;min-width:0}
.cfi-loyalty-page .loy-profile{
  position:relative;
  min-height:224px;
  border:1px solid #09555e;
  border-radius:12px;
  padding:20px 27px 16px;
  color:#f9fffc;
  background:radial-gradient(circle at 95% 0%,#175760 0%,#06474e 26%,#03424a 46%,#00333b 100%);
  overflow:hidden;
}
.cfi-loyalty-page .loy-profile::before{
  position:absolute;
  top:-90px;right:-72px;
  width:215px;height:215px;
  border-radius:50%;
  box-shadow:inset 0 0 0 27px #74ada811;
  background:#9ad7bd0a;
  content:"";
  pointer-events:none;
}
.cfi-loyalty-page .loy-profile::after{
  position:absolute;
  right:-50px;bottom:-50px;
  width:180px;height:145px;
  background:radial-gradient(ellipse,#0e677519,transparent 72%);
  content:"";
  pointer-events:none;
}
.cfi-loyalty-page .loy-profile-top{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:89px minmax(0,1fr);
  align-items:center;
  gap:20px;
}
.cfi-loyalty-page .loy-profile-avatar{
  display:grid;place-items:center;
  width:87px;height:87px;
  border-radius:50%;
  background:linear-gradient(140deg,#e2efdc,#f8f6e3);
  border:1px solid #c8e8d7;
  color:#064149;
  font-size:27px;
  font-weight:830;
}
.cfi-loyalty-page .loy-profile h2{
  font-size:21px;
  font-weight:800;
  color:#fff;
  line-height:1.2;
  letter-spacing:-.45px;
}
.cfi-loyalty-page .loy-profile-id{display:flex;flex-wrap:wrap;gap:12px;margin-top:7px;color:#cce5e6;font-size:12px}
.cfi-loyalty-page .loy-profile-id span+span{padding-left:12px;border-left:1px solid #548d90}
.cfi-loyalty-page .loy-hero-rank{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:9px;
  padding:4px 9px;
  border:1px solid #cba95d;
  border-radius:99px;
  background:#8e793722;
  color:#ffe8ae;
  font-size:10px;
  font-weight:740;
  white-space:nowrap;
}
.cfi-loyalty-page .loy-profile-stats{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:22px;
}
.cfi-loyalty-page .loy-profile-stat{
  min-width:0;
  padding:0 16px 0 24px;
  border-left:1px solid #80b0ac9c;
}
.cfi-loyalty-page .loy-profile-stat:first-child{padding-left:0;border-left:0}
.cfi-loyalty-page .loy-profile-stat strong{display:block;font-size:29px;line-height:1;color:#fff;font-weight:850}
.cfi-loyalty-page .loy-profile-stat b{display:block;font-size:12px;color:#fff;font-weight:650;margin-top:2px}
.cfi-loyalty-page .loy-profile-stat small{display:block;font-size:10px;color:#c5dadd;margin-top:2px}
.cfi-loyalty-page .loy-next-row{
  display:grid;
  grid-template-columns:1.14fr .86fr;
  gap:11px;
}
.cfi-loyalty-page .loy-next-progress,.cfi-loyalty-page .loy-latest{
  min-height:130px;
  padding:14px 17px 13px;
  border-radius:10px;
}
.cfi-loyalty-page .loy-next-progress h3{
  color:#0a2e50;
  font-size:15px;
  font-weight:820;
  margin:0 0 7px;
}
.cfi-loyalty-page .loy-countline{
  color:#0d4265;
  font-size:12px;
  margin-bottom:8px;
}
.cfi-loyalty-page .loy-countline b{font-size:20px;color:#102b4e;letter-spacing:-.4px}
.cfi-loyalty-page .loy-progress-track{
  display:block;
  height:10px;
  min-width:0;
  overflow:hidden;
  border-radius:999px;
  background:#e8eee6;
}
.cfi-loyalty-page .loy-progress-track>span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#078f7f,#00676c);
}
.cfi-loyalty-page .loy-progress-wrap{display:flex;align-items:center;gap:9px}
.cfi-loyalty-page .loy-progress-wrap .loy-progress-track{flex:1}
.cfi-loyalty-page .loy-progress-wrap>strong{font-size:11px;color:#214e6e}
.cfi-loyalty-page .loy-next-progress>small{display:block;color:#4c7186;font-size:10px;margin-top:9px}
.cfi-loyalty-page .loy-latest{
  display:grid;
  grid-template-columns:60px minmax(0,1fr);
  gap:9px;
  align-items:start;
}
.cfi-loyalty-page .loy-latest-icon{
  display:grid;
  place-items:center;
  width:57px;height:57px;
  border:1px solid #ffe8d5;
  border-radius:50%;
  background:#fff0df;
  color:#9b5517;
}
.cfi-loyalty-page .loy-latest h3{font-size:11px;color:#0b3964;margin:1px 0 1px;font-weight:730}
.cfi-loyalty-page .loy-latest b{display:block;font-size:12px;color:#0d2850;line-height:1.4}
.cfi-loyalty-page .loy-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  max-width:100%;
  padding:5px 10px;
  border-radius:100px;
  background:#fff0dc;
  color:#c46a10;
  font-size:10px;
  font-weight:760;
  white-space:nowrap;
}
.cfi-loyalty-page .loy-badge.green{background:#e9f7ed;color:#08783e}
.cfi-loyalty-page .loy-badge.blue{background:#eef5fb;color:#587393}
.cfi-loyalty-page .loy-latest .loy-badge{margin-top:4px}
.cfi-loyalty-page .loy-latest small{display:block;color:#8399ae;font-size:9px;line-height:1.45;margin-top:10px}
.cfi-loyalty-page .loy-history{
  display:flex;
  flex-direction:column;
  min-height:300px;
  padding:0 0 9px;
  overflow:hidden;
}
.cfi-loyalty-page .loy-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  align-items:stretch;
  height:41px;
  border-bottom:1px solid #e0e8e5;
}
.cfi-loyalty-page .loy-tabs button{
  border:0;
  border-bottom:3px solid transparent;
  background:transparent;
  font-size:12px;
  font-weight:640;
  color:#234a69;
}
.cfi-loyalty-page .loy-tabs button[aria-selected="true"]{
  border-bottom-color:#0b4b57;
  color:#11344e;
  font-weight:810;
}
.cfi-loyalty-page .loy-tabs .loy-tab-count{
  display:inline-grid;
  place-items:center;
  min-width:19px;height:19px;
  padding:0 4px;
  border-radius:50%;
  margin-left:7px;
  background:#06434a;
  color:#fff;
  font-size:10px;
}
.cfi-loyalty-page .loy-history-body{flex:1;padding:10px 18px 3px;min-height:0}
.cfi-loyalty-page .loy-history-body h3{font-size:14px;color:#122f54;letter-spacing:-.3px;margin:1px 0 7px}
.cfi-loyalty-page .loy-timeline{position:relative;margin:5px 0 0}
.cfi-loyalty-page .loy-timeline::before{content:"";position:absolute;top:13px;left:6px;bottom:23px;width:1px;background:#85a0b9}
.cfi-loyalty-page .loy-history-event{
  position:relative;
  display:grid;
  grid-template-columns:112px 39px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  min-height:42px;
  padding-left:28px;
  border-bottom:1px solid #e8edea;
}
.cfi-loyalty-page .loy-history-event::before{
  position:absolute;left:2px;top:18px;
  width:9px;height:9px;
  border:2px solid #174d7b;
  background:#fffefa;
  border-radius:50%;
  content:"";
}
.cfi-loyalty-page .loy-history-event:last-child{border-bottom:0}
.cfi-loyalty-page .loy-history-event time{color:#4e6b92;font-size:10px;white-space:nowrap;font-weight:720}
.cfi-loyalty-page .loy-history-event .loy-event-icon{
  display:grid;place-items:center;
  width:38px;height:38px;
  border-radius:50%;
  background:#fff1e1;
  color:#8c4e1b;
}
.cfi-loyalty-page .loy-history-event .loy-event-text{min-width:0}
.cfi-loyalty-page .loy-history-event .loy-event-text b{display:block;font-size:11px;color:#142e58}
.cfi-loyalty-page .loy-history-event .loy-event-text small{display:block;font-size:10px;color:#7492ab;margin-top:1px}
.cfi-loyalty-page .loy-history-event .loy-badge{font-size:9px;justify-self:end}
.cfi-loyalty-page .loy-history-footer{padding:10px 18px 8px;border-top:1px solid #edf0eb}
.cfi-loyalty-page .loy-history-footer button{
  display:inline-flex;align-items:center;gap:8px;padding:0;
  border:0;background:transparent;color:#134d73;
  font-size:11px;font-weight:790;
}
.cfi-loyalty-page .loy-journey-list{display:grid;gap:8px}
.cfi-loyalty-page .loy-journey-item{
  display:flex;justify-content:space-between;gap:12px;
  padding:12px;border:1px solid #e8eeeb;border-radius:8px;
  color:#1b445d;font-size:11px;
}
.cfi-loyalty-page .loy-journey-item strong{display:block;color:#0b3050}
.cfi-loyalty-page .loy-details{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.cfi-loyalty-page .loy-details>div{
  padding:12px;border:1px solid #e5ece7;border-radius:8px;background:#fcfdfb;
}
.cfi-loyalty-page .loy-details dt{color:#7e91a3;font-size:10px}
.cfi-loyalty-page .loy-details dd{margin:4px 0 0;font-size:12px;font-weight:800;color:#113653}
.cfi-loyalty-page .loy-right{display:flex;flex-direction:column;gap:12px;min-width:0}
.cfi-loyalty-page .loy-queue{min-width:0;padding:12px 16px 14px}
.cfi-loyalty-page .loy-queue-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:30px}
.cfi-loyalty-page .loy-queue-head h2{font-size:16px;color:#123a56;font-weight:830;letter-spacing:-.4px}
.cfi-loyalty-page .loy-queue-head select{
  width:auto;max-width:205px;min-width:140px;min-height:34px;
  padding:6px 25px 6px 9px;
  border:1px solid #d9e4e6;
  border-radius:7px;
  background:#fffefa;
  font-size:10px;
  font-weight:750;
  color:#2a536e;
}
.cfi-loyalty-page .loy-queue-person{
  border-top:1px solid #e1e9e8;
  padding:12px 0 13px;
  margin-top:10px;
}
.cfi-loyalty-page .loy-queue-identity{
  display:grid;
  grid-template-columns:25px 53px minmax(0,1fr) 41px;
  align-items:center;
  gap:10px;
}
.cfi-loyalty-page .loy-queue-identity .loy-avatar{width:52px;height:52px;font-size:14px}
.cfi-loyalty-page .loy-queue-identity .loy-rank{font-size:12px}
.cfi-loyalty-page .loy-queue-identity b{display:block;font-size:12px;color:#112d56}
.cfi-loyalty-page .loy-queue-identity small{display:block;font-size:10px;color:#8193ad;margin-top:3px}
.cfi-loyalty-page .loy-queue-count{text-align:right}
.cfi-loyalty-page .loy-queue-count strong{font-size:16px;color:#0b2455}
.cfi-loyalty-page .loy-queue-status{
  display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px;
  margin:7px 0 12px 42px;
}
.cfi-loyalty-page .loy-status-ready{display:inline-flex;align-items:center;gap:5px;color:#008045;font-size:10px;font-weight:820}
.cfi-loyalty-page .loy-progress-track.ready{height:8px;background:#e4f1ed}
.cfi-loyalty-page .loy-progress-track.ready>span{background:linear-gradient(90deg,#068476,#00786c)}
.cfi-loyalty-page .loy-queue-prog-head{display:flex;align-items:center;gap:9px}
.cfi-loyalty-page .loy-queue-prog-head .loy-progress-track{flex:1}
.cfi-loyalty-page .loy-queue-prog-head strong{font-size:10px;color:#0c4560}
.cfi-loyalty-page .loy-queue-prog-note{margin:5px 0 7px;color:#7c95ac;font-size:10px;white-space:normal}
.cfi-loyalty-page .loy-queue-person>.loy-button{display:flex;width:fit-content;margin-left:auto;min-width:169px}
.cfi-loyalty-page .loy-queue-note{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:1px;
  padding:13px 11px;
  border:1px solid #e3eae3;
  border-radius:8px;
  background:#f5f9f4;
  color:#5a7c8d;
  font-size:10px;
  line-height:1.45;
}
.cfi-loyalty-page .loy-queue-note .loy-icon{width:17px;height:17px;fill:#0b758b;color:#0b758b}
.cfi-loyalty-page .loy-reward-activity{padding:14px 16px 19px}
.cfi-loyalty-page .loy-reward-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;gap:8px}
.cfi-loyalty-page .loy-reward-heading h2{font-size:16px;font-weight:840;color:#123550}
.cfi-loyalty-page .loy-reward-heading button{
  display:inline-flex;align-items:center;gap:5px;padding:0;
  border:0;background:transparent;color:#235b7c;
  font-size:11px;font-weight:780;white-space:nowrap;
}
.cfi-loyalty-page .loy-reward-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cfi-loyalty-page .loy-reward-card{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  align-items:center;
  gap:7px;
  min-width:0;
  min-height:106px;
  padding:10px 8px;
  border:1px solid #dfeff8;
  border-radius:10px;
  background:linear-gradient(120deg,#eaf8fd,#f4fbff);
}
.cfi-loyalty-page .loy-reward-card.green{border-color:#deefe6;background:linear-gradient(125deg,#effaf4,#f6fcf8)}
.cfi-loyalty-page .loy-reward-card.orange{border-color:#fbead8;background:linear-gradient(125deg,#fff6ed,#fffaf4)}
.cfi-loyalty-page .loy-reward-card .loy-reward-icon{
  width:37px;height:37px;
  border-radius:50%;
  display:grid;place-items:center;
  background:#d5effc;
  color:#0d5b7f;
}
.cfi-loyalty-page .loy-reward-card.green .loy-reward-icon{background:#d5efe0;color:#08723b}
.cfi-loyalty-page .loy-reward-card.orange .loy-reward-icon{background:#fff0df;color:#a66019}
.cfi-loyalty-page .loy-reward-card strong{font-size:19px;color:#0c2b5e;font-weight:870}
.cfi-loyalty-page .loy-reward-card b{grid-column:1/-1;font-size:10px;text-align:center;color:#16435b}
.cfi-loyalty-page .loy-reward-card small{grid-column:1/-1;text-align:center;font-size:9px;color:#7791a7;line-height:1.3}
.cfi-loyalty-page .loy-empty{
  padding:22px 10px;
  color:#70899a;
  text-align:center;
  font-size:12px;
}
.cfi-loyalty-page .loy-footer{
  margin-top:14px;
  text-align:right;
  color:#9aabb6;
  font-size:9px;
}
@media (max-width:1490px){
 .cfi-loyalty-page .loy-layout{grid-template-columns:minmax(285px,.88fr) minmax(415px,1.45fr) minmax(330px,1.07fr)}
 .cfi-loyalty-page .loy-metric{grid-template-columns:51px minmax(0,1fr);gap:10px;padding-inline:11px}
 .cfi-loyalty-page .loy-metric-icon{width:51px;height:51px}
 .cfi-loyalty-page .loy-metric.rule{grid-template-columns:40px minmax(0,1fr)}
 .cfi-loyalty-page .loy-profile{padding-inline:21px}
 .cfi-loyalty-page .loy-history-event{grid-template-columns:78px 37px minmax(0,1fr) auto;gap:6px;padding-left:20px}
 .cfi-loyalty-page .loy-queue{padding-inline:12px}
}
@media (max-width:1280px){
 body.cfi-command-design:has(.cfi-loyalty-page) .loy-header-code{display:none}
 .cfi-loyalty-page .loy-layout{grid-template-columns:minmax(265px,.95fr) minmax(380px,1.5fr)}
 .cfi-loyalty-page .loy-right{grid-column:1/-1;display:grid;grid-template-columns:1.35fr 1fr;align-items:start}
 .cfi-loyalty-page .loy-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
 .cfi-loyalty-page .loy-metric.rule{grid-column:1/-1;grid-template-columns:41px 1fr;min-height:42px;padding:3px 15px;border-top:1px solid #e6ece9}
 .cfi-loyalty-page .loy-metric.rule .loy-metric-icon{width:33px;height:33px}
}
@media (max-width:980px){
 .cfi-loyalty-page .loy-layout{grid-template-columns:minmax(0,1fr)}
 .cfi-loyalty-page .loy-directory{max-width:none}
 .cfi-loyalty-page .loy-passengers{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;padding:0 12px 10px}
 .cfi-loyalty-page .loy-person{min-height:65px}
 .cfi-loyalty-page .loy-right{grid-column:1;display:grid;grid-template-columns:1fr 1fr}
 .cfi-loyalty-page .loy-metric-copy strong{font-size:25px}
}
@media (max-width:760px){
 body.cfi-command-design:has(.cfi-loyalty-page) .topbar{gap:12px;padding-inline:15px}
 body.cfi-command-design:has(.cfi-loyalty-page) .cfi-command-brand img{width:117px;height:51px}
 body.cfi-command-design:has(.cfi-loyalty-page) .cfi-command-brand{padding-right:12px}
 body.cfi-command-design:has(.cfi-loyalty-page) .cfi-command-heading h1{font-size:19px}
 body.cfi-command-design:has(.cfi-loyalty-page) .loy-demo-clock,body.cfi-command-design:has(.cfi-loyalty-page) .header-time{display:none}
 body.cfi-command-design:has(.cfi-loyalty-page) .top-actions{gap:9px}
 body.cfi-command-design:has(.cfi-loyalty-page) .demo-top{display:none}
 body.cfi-command-design:has(.cfi-loyalty-page) .main-view{padding:13px 12px 25px}
 .cfi-loyalty-page .loy-metrics{grid-template-columns:repeat(2,minmax(0,1fr));padding:4px 6px}
 .cfi-loyalty-page .loy-metric{border-bottom:1px solid #e8eceb;min-height:77px}
 .cfi-loyalty-page .loy-metric:nth-child(even){border-right:0}
 .cfi-loyalty-page .loy-metric:nth-child(3),.cfi-loyalty-page .loy-metric:nth-child(4){border-bottom:0}
 .cfi-loyalty-page .loy-metric.rule{grid-column:1/-1}
 .cfi-loyalty-page .loy-searchbar{grid-template-columns:minmax(0,1fr);gap:7px}
 .cfi-loyalty-page .loy-searchbar>.loy-button{justify-self:start}
 .cfi-loyalty-page .loy-profile{min-height:219px}
 .cfi-loyalty-page .loy-next-row{grid-template-columns:1fr 1fr}
 .cfi-loyalty-page .loy-right{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:640px){
 body.cfi-command-design:has(.cfi-loyalty-page){--cfi-command-rail:0px;--cfi-command-header:74px}
 body.cfi-command-design:has(.cfi-loyalty-page) .app-shell{padding-left:0}
 body.cfi-command-design:has(.cfi-loyalty-page) .topbar{height:74px;min-height:74px;padding-inline:11px}
 body.cfi-command-design:has(.cfi-loyalty-page) .cfi-command-brand{display:none}
 body.cfi-command-design:has(.cfi-loyalty-page) .cfi-command-heading h1{font-size:18px}
 body.cfi-command-design:has(.cfi-loyalty-page) .cfi-command-heading p::after{font-size:10px}
 .cfi-loyalty-page .loy-passengers{grid-template-columns:1fr}
 .cfi-loyalty-page .loy-profile-top{grid-template-columns:60px minmax(0,1fr);gap:12px}
 .cfi-loyalty-page .loy-profile-avatar{width:60px;height:60px;font-size:19px}
 .cfi-loyalty-page .loy-profile h2{font-size:18px}
 .cfi-loyalty-page .loy-profile{padding:17px 16px}
 .cfi-loyalty-page .loy-profile-stats{margin-top:20px}
 .cfi-loyalty-page .loy-profile-stat{padding-inline:9px}
 .cfi-loyalty-page .loy-profile-stat strong{font-size:25px}
 .cfi-loyalty-page .loy-profile-stat b{font-size:10px}
 .cfi-loyalty-page .loy-profile-stat small{font-size:9px}
 .cfi-loyalty-page .loy-next-row{grid-template-columns:1fr}
 .cfi-loyalty-page .loy-history-event{grid-template-columns:69px 32px minmax(0,1fr);min-height:50px}
 .cfi-loyalty-page .loy-history-event .loy-badge{grid-column:3;justify-self:start;margin-bottom:5px}
 .cfi-loyalty-page .loy-history-event .loy-event-icon{width:30px;height:30px}
 .cfi-loyalty-page .loy-reward-activity,.cfi-loyalty-page .loy-queue{padding-inline:11px}
}
@media(max-width:390px){
 .cfi-loyalty-page .loy-metric{grid-template-columns:41px minmax(0,1fr);gap:7px;padding-inline:6px}
 .cfi-loyalty-page .loy-metric-icon{width:41px;height:41px}
 .cfi-loyalty-page .loy-metric-copy b{font-size:10px}
 .cfi-loyalty-page .loy-metric-copy small{font-size:9px}
 .cfi-loyalty-page .loy-person{grid-template-columns:23px 39px minmax(0,1fr) 30px 11px;gap:5px}
 .cfi-loyalty-page .loy-avatar{width:39px;height:39px}
 .cfi-loyalty-page .loy-queue-head{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
 .cfi-loyalty-page *{transition:none!important;animation:none!important}
}
