:root { --bg:#f5f7fb; --card:#fff; --ink:#0f172a; --muted:#64748b; --accent:#2563eb; --accent-2:#0f766e; --accent-soft:#eef4ff; --line:#d9e2ef; }
body { font-family:Inter,system-ui,sans-serif; background:var(--bg); color:var(--ink); }
.app-nav { background:rgba(255,255,255,.9); backdrop-filter: blur(10px); border-bottom:1px solid #e2e8f0; }
.app-brand { font-weight:800; text-decoration:none; color:var(--ink); }
.chip { border:1px solid #cbd5e1; padding:.3rem .62rem; border-radius:999px; color:var(--ink); text-decoration:none; font-size:.83rem; }
.app-inline-icon{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  width:1.15rem;
  height:1.15rem;
  margin-right:.5rem;
  color:color-mix(in srgb, var(--muted) 70%, var(--ink) 30%);
  line-height:1;
}
.app-inline-icon i{font-size:1rem;line-height:1;display:block;}
.app-inline-icon--right{margin-right:0;margin-left:.5rem;}
.btn .app-inline-icon{color:currentColor;}

.btn .app-inline-icon,
.mobile-menu-link .app-inline-icon,
.chip .app-inline-icon,
.kpi__title .app-inline-icon,
.page-title--icon .section-title__icon,
.section-title--icon .section-title__icon,
.empty-state__icon{
  transform:translateY(-.02em);
}
.chip--sub { background:#fff; }
.chip--active { background:var(--ink); color:#fff; border-color:var(--ink); }
.chip--active .app-inline-icon{color:currentColor;}
.chip--action{
  border-style:dashed;
  border-color:color-mix(in srgb, #2563eb 45%, #cbd5e1 55%);
  background:color-mix(in srgb, #eff6ff 72%, #ffffff 28%);
  padding-inline:.54rem;
}
.chip--action:hover{
  border-color:#2563eb;
}
.nav-feedback-button{
  display:inline-flex;
  align-items:center;
  min-width:2.1rem;
  justify-content:center;
}
.nav-feedback-button .app-inline-icon{
  margin-right:0;
}
.nav-feedback-button .d-xl-inline{
  margin-left:.45rem;
}
.feedback-form .modal-content,
.feedback-form{
  color:var(--ink);
}
.feedback-context-check{
  padding:.75rem .9rem .75rem 2.25rem;
  border:1px solid var(--line);
  border-radius:.5rem;
  background:color-mix(in srgb, var(--card) 88%, #dbeafe 12%);
}
.kpi { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:1rem; height:100%; box-shadow:0 2px 10px rgba(15,23,42,.03); }
.card { border:1px solid var(--line); border-radius:14px; box-shadow:0 2px 12px rgba(15,23,42,.035); }
.progress-bar { background:linear-gradient(90deg,#3b82f6,#2563eb); }
.app-toast { border-radius:10px; padding:.75rem 1rem; margin-bottom:.75rem; }
.app-toast--success { background:#15803d; color:#f0fdf4; }
.app-toast--error { background:#b91c1c; color:#fef2f2; }
.app-toast--warning { background:#b45309; color:#fffbeb; }
.ios-webapp-prompt{
  position:fixed;
  right:max(1rem, env(safe-area-inset-right));
  bottom:max(1rem, env(safe-area-inset-bottom));
  left:max(1rem, env(safe-area-inset-left));
  z-index:1080;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.85rem;
  max-width:720px;
  margin-inline:auto;
  padding:.8rem .85rem .8rem 1rem;
  color:#f8fafc;
  background:rgba(15,23,42,.96);
  border:1px solid rgba(226,232,240,.18);
  border-radius:14px;
  box-shadow:0 18px 44px rgba(15,23,42,.28);
  backdrop-filter:blur(12px);
}
.ios-webapp-prompt--leaving{
  opacity:0;
  transform:translateY(.5rem);
  transition:opacity .2s ease, transform .2s ease;
}
.ios-webapp-prompt__text{
  margin:0;
  font-size:.92rem;
  line-height:1.35;
}
.ios-webapp-prompt__actions{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:.45rem;
}
.ios-webapp-prompt__close{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2rem;
  height:2rem;
  border:0;
  border-radius:999px;
  color:#e2e8f0;
  background:rgba(255,255,255,.1);
  line-height:1;
}
.ios-webapp-prompt__close:hover,
.ios-webapp-prompt__close:focus-visible{
  color:#fff;
  background:rgba(255,255,255,.18);
}
.ios-webapp-modal{
  position:fixed;
  inset:0;
  z-index:1090;
  display:grid;
  place-items:end center;
  padding:1rem;
  padding-bottom:max(1rem, env(safe-area-inset-bottom));
  background:rgba(15,23,42,.44);
}
.ios-webapp-modal__dialog{
  width:min(100%, 460px);
  color:var(--ink);
  background:var(--card);
  border:1px solid var(--line);
  border-radius:16px;
  padding:1.15rem;
  box-shadow:0 22px 56px rgba(15,23,42,.24);
}
.ios-webapp-modal__title{
  margin:0 0 .8rem;
  font-size:1rem;
  font-weight:800;
  line-height:1.25;
}
.ios-webapp-modal__steps{
  margin:0 0 1rem;
  padding-left:1.25rem;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.45;
}
.ios-webapp-modal__steps li + li{
  margin-top:.5rem;
}
@media (max-width: 575.98px){
  .ios-webapp-prompt{
    align-items:flex-start;
    flex-direction:column;
    border-radius:12px;
  }

  .ios-webapp-prompt__actions{
    width:100%;
    justify-content:space-between;
  }

  .ios-webapp-prompt__actions .btn{
    min-width:8rem;
  }
}
.table-modern th { color:var(--muted); font-weight:600; font-size:.78rem; text-transform:uppercase; letter-spacing:.02em; }
.table-modern td { font-size:.92rem; }
.section-title { font-size:1.05rem; font-weight:700; margin-bottom:.75rem; }
.empty-state { border:1px dashed #cbd5e1; border-radius:12px; padding:1rem; color:var(--muted); background:#fff; }
.section-title--icon,
.page-title--icon{
  display:flex;
  align-items:center;
  gap:.58rem;
}
.section-title__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.2rem;
  color:color-mix(in srgb, var(--accent) 60%, var(--ink) 40%);
  font-size:1rem;
}
.dashboard-hero .section-title__icon,
.accor-dashboard-hero .section-title__icon{
  color:color-mix(in srgb, var(--accent) 72%, var(--accent-2) 28%);
}
.kpi__title{
  display:flex;
  align-items:center;
  gap:.15rem;
}
.kpi__meta{
  margin-bottom:0;
}
.info-hint__trigger{
  appearance:none;
  border:0;
  background:transparent;
  color:color-mix(in srgb, var(--muted) 72%, var(--accent) 28%);
  padding:.1rem .2rem;
  line-height:1;
  border-radius:999px;
}
.info-hint__trigger:hover{
  color:var(--accent);
  background:var(--accent-soft);
}
.info-hint__panel{
  font-size:.82rem;
  color:#334155;
  border:1px solid #cdd9ef;
  background:linear-gradient(180deg,#f8fbff 0%, #f3f8ff 100%);
  border-radius:.6rem;
  padding:.5rem .65rem;
}
.miles-stats-hero{
  border-color:#dbeafe;
  background:linear-gradient(180deg,#ffffff 0%,#f6faff 100%);
}
.miles-stats-highlight{
  border-color:#cbdaf5;
  background:linear-gradient(180deg,#ffffff 0%,#f6faff 62%,#f8fbff 100%);
}
.miles-stats-status-card{
  border-color:#d8e2f4 !important;
  background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.hon-zone--stats{
  border-width:2px;
  border-color:color-mix(in srgb, #7c3aed 44%, #c4b5fd 56%) !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8f4ff 100%);
  box-shadow:0 10px 24px rgba(124,58,237,.09);
}
.hon-zone--stats .table thead th{
  color:#5b21b6;
}
.empty-state__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.2rem;
  margin-right:.52rem;
  color:color-mix(in srgb, var(--muted) 80%, var(--ink) 20%);
}
@media (max-width: 768px){
  .container{padding-left:1rem;padding-right:1rem;}
  table.table-mobile thead { display:none; }
  table.table-mobile tbody tr { display:block; border:1px solid #e2e8f0; border-radius:12px; margin-bottom:.75rem; padding:.5rem; background:#fff; }
  table.table-mobile tbody td { display:flex; justify-content:space-between; gap:.75rem; border:0; padding:.35rem .4rem; font-size:.9rem; }
  table.table-mobile tbody td::before { content:attr(data-label); color:var(--muted); font-weight:600; text-transform:uppercase; font-size:.72rem; letter-spacing:.02em; }
}

.table-compact td,
.table-compact th { padding-top: .35rem; padding-bottom: .35rem; }
.compact-actions .btn { padding: .2rem .45rem; }
.compact-card { border-radius: 12px; }
.booking-card-compact { background:#fff; }

.airport-autocomplete{
  position:relative;
}

.airport-autocomplete__list{
  position:absolute;
  z-index:30;
  top:calc(100% + .28rem);
  left:0;
  right:0;
  display:grid;
  gap:.15rem;
  max-height:260px;
  overflow:auto;
  padding:.35rem;
  border:1px solid #cbd5e1;
  border-radius:.65rem;
  background:var(--card);
  box-shadow:0 16px 34px rgba(15,23,42,.16);
}

.airport-autocomplete__list[hidden]{
  display:none;
}

.airport-autocomplete__option{
  display:grid;
  gap:.08rem;
  width:100%;
  min-height:48px;
  padding:.52rem .62rem;
  border:0;
  border-radius:.45rem;
  background:transparent;
  color:var(--ink);
  text-align:left;
}

.airport-autocomplete__option:hover,
.airport-autocomplete__option:focus,
.airport-autocomplete__option.is-active{
  background:var(--accent-soft);
  outline:0;
}

.airport-autocomplete__option-title{
  font-weight:700;
  line-height:1.2;
}

.airport-autocomplete__option-meta{
  color:var(--muted);
  font-size:.78rem;
  line-height:1.25;
}

html[data-theme='dark'] .airport-autocomplete__list{
  border-color:var(--line);
  background:color-mix(in srgb, var(--card) 92%, #0f172a 8%);
  box-shadow:0 18px 36px rgba(2,6,23,.5);
}

html[data-theme='dark'] .airport-autocomplete__option:hover,
html[data-theme='dark'] .airport-autocomplete__option:focus,
html[data-theme='dark'] .airport-autocomplete__option.is-active{
  background:color-mix(in srgb, #2563eb 22%, var(--card) 78%);
}

.benefit-track-wrap { padding: .5rem .2rem; }
.benefit-track {
  position: relative;
  height: 16px;
  border-radius: 999px;
  background: #e2e8f0;
  overflow: visible;
}
.benefit-track__fill {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, #3b82f6, #2563eb);
}
.benefit-marker {
  position: absolute;
  top: -5px;
  width: 2px;
  height: 26px;
  background: #64748b;
  transform: translateX(-1px);
}
.benefit-marker--reached { background: #15803d; }
.benefit-current {
  position: absolute;
  top: -7px;
  width: 10px;
  height: 30px;
  border-radius: 5px;
  background: #0f172a;
  transform: translateX(-5px);
  opacity: .7;
}
.benefits-summary-card{
  border-radius:12px;
}
.benefits-summary-card__label{
  font-size:.78rem;
  color:var(--muted);
  font-weight:600;
  letter-spacing:.01em;
}
.benefits-summary-card__value{
  font-size:1.25rem;
  font-weight:700;
  line-height:1.2;
}

@media (max-width: 768px){
  .compact-filters .form-control,
  .compact-filters .btn { min-height: 34px; }
  .booking-card-compact { padding: .6rem !important; }
  table.table-mobile.table-compact tbody tr { margin-bottom: .5rem; padding: .35rem; }
  table.table-mobile.table-compact tbody td { padding: .2rem .25rem; font-size: .84rem; }
  .compact-actions { gap: .35rem !important; }
  .compact-actions .btn { font-size: .75rem; }
}

.chip--compact { padding: .22rem .55rem; font-size: .78rem; }
.nav-top-controls .form-select { min-width: 82px; }
.nav-menu-btn { padding: .22rem .5rem; font-size: .78rem; }
.mobile-subnav-scroll { scrollbar-width: thin; }
.mobile-subnav-scroll .chip { white-space: nowrap; }

@media (max-width: 768px){
  .app-brand { font-size: .95rem; }
  .app-nav .container { padding-top: .25rem !important; padding-bottom: .25rem !important; }
  .nav-top-controls { gap: .25rem !important; }
  .table-mobile tbody td { line-height: 1.25; }
  .table-mobile .btn-sm { padding: .18rem .42rem; font-size: .72rem; }
  .table-mobile .d-flex { flex-wrap: wrap; }
  .kpi { padding: .7rem; }
  .card { border-radius: 12px; }
}

.booking-card-compact{border-left:4px solid #cbd5e1; box-shadow:0 1px 2px rgba(15,23,42,.05);}
.booking-card-compact + .booking-card-compact{margin-top:.35rem;}
@media (max-width:768px){.booking-card-compact{padding:.45rem !important;border-radius:10px;} .booking-card-compact h4{font-size:.92rem;margin-bottom:.15rem;} .booking-card-compact .small{font-size:.72rem;} .app-nav .chip{padding:.18rem .45rem;font-size:.74rem;} }

.app-footer{border-top:1px solid #e2e8f0;background:#fff;margin-top:2rem;}
.legal-obfuscated{word-break:break-word;}
.legal-page{max-width:920px;}
.legal-page h2{font-size:1.15rem;margin-top:1.75rem;}
.legal-page h3{font-size:1rem;margin-top:1.25rem;}
.legal-page dl{display:grid;grid-template-columns:minmax(150px,220px) 1fr;gap:.5rem 1rem;}
.legal-page dt{font-weight:700;color:#475569;}
.legal-page dd{margin:0;}
@media (max-width:640px){.legal-page dl{display:block}.legal-page dt{margin-top:.85rem}}

.onboarding-shell{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.onboarding-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding:1.15rem 1.25rem;
  border:1px solid var(--line);
  border-radius:14px;
  background:linear-gradient(135deg,color-mix(in srgb,#ffffff 86%,#dbeafe 14%),color-mix(in srgb,#ffffff 88%,#ccfbf1 12%));
  box-shadow:0 10px 30px rgba(15,23,42,.06);
}
.onboarding-hero__title{
  font-size:1.45rem;
  font-weight:800;
  line-height:1.15;
  margin:0 0 .35rem;
}
.onboarding-hero__text{
  color:var(--muted);
  max-width:58rem;
  margin:0;
}
.onboarding-beta-note{
  display:flex;
  align-items:flex-start;
  gap:.75rem;
  padding:.85rem 1rem;
  border:1px solid color-mix(in srgb, #2563eb 38%, var(--line) 62%);
  border-radius:12px;
  background:color-mix(in srgb, var(--card) 86%, #dbeafe 14%);
  color:var(--ink);
  line-height:1.45;
}
.onboarding-beta-note__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:1.5rem;
  height:1.5rem;
  color:var(--accent);
}
.onboarding-beta-note__link{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  color:var(--accent);
  font:inherit;
  text-decoration:underline;
  text-underline-offset:.16em;
}
.onboarding-beta-note__link:hover{
  color:color-mix(in srgb, var(--accent) 76%, var(--ink) 24%);
}
.onboarding-layout{
  display:grid;
  grid-template-columns:minmax(190px,240px) minmax(0,1fr);
  gap:1rem;
  align-items:start;
}
.onboarding-rail{
  position:sticky;
  top:9rem;
  display:flex;
  flex-direction:column;
  gap:.5rem;
}
.onboarding-rail__item{
  display:flex;
  align-items:center;
  gap:.55rem;
  min-height:44px;
  padding:.62rem .7rem;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--card);
  color:var(--ink);
  text-decoration:none;
  font-weight:650;
  font-size:.88rem;
}
.onboarding-rail__item:hover{
  border-color:color-mix(in srgb,var(--accent) 45%,var(--line) 55%);
}
.onboarding-rail__item.is-active{
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}
.onboarding-rail__item.is-done .onboarding-rail__icon{
  color:var(--accent-2);
}
.onboarding-rail__item.is-active .onboarding-rail__icon{
  color:#fff;
}
.onboarding-rail__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.35rem;
  height:1.35rem;
  flex:0 0 auto;
  color:color-mix(in srgb,var(--accent) 70%,var(--ink) 30%);
}
.onboarding-card{
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--card);
  box-shadow:0 16px 42px rgba(15,23,42,.08);
  overflow:hidden;
}
.onboarding-progress{
  display:grid;
  grid-template-columns:auto minmax(120px,220px);
  align-items:center;
  gap:1rem;
  padding:.8rem 1rem;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font-size:.84rem;
  font-weight:700;
}
.onboarding-progress__track{
  height:8px;
  border-radius:999px;
  background:color-mix(in srgb,var(--line) 78%,transparent);
  overflow:hidden;
}
.onboarding-progress__track span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#2563eb,#0f766e);
}
.onboarding-card__body{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,42%);
  gap:1.15rem;
  padding:1.25rem;
}
.onboarding-copy{
  min-width:0;
}
.onboarding-step-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.4rem;
  height:2.4rem;
  margin-bottom:.85rem;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(135deg,#2563eb,#0f766e);
  box-shadow:0 10px 24px rgba(37,99,235,.18);
}
.onboarding-copy h3{
  font-size:1.35rem;
  line-height:1.18;
  font-weight:800;
  margin:0 0 .55rem;
}
.onboarding-copy p{
  color:var(--muted);
  font-size:1rem;
  line-height:1.58;
  margin:0 0 1rem;
  max-width:56rem;
}
.onboarding-points{
  display:grid;
  gap:.65rem;
  list-style:none;
  padding:0;
  margin:0;
}
.onboarding-points li{
  display:flex;
  align-items:flex-start;
  gap:.55rem;
  line-height:1.45;
}
.onboarding-points i{
  margin-top:.12rem;
  color:var(--accent-2);
}
.onboarding-media{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:260px;
  margin:0;
  border:1px dashed color-mix(in srgb,var(--accent) 32%,var(--line) 68%);
  border-radius:14px;
  background:
    linear-gradient(135deg,color-mix(in srgb,#eff6ff 74%,var(--card) 26%),color-mix(in srgb,#f0fdfa 60%,var(--card) 40%));
  overflow:hidden;
}
.onboarding-media img{
  display:block;
  width:100%;
  height:100%;
  min-height:220px;
  object-fit:cover;
}
.onboarding-media img[hidden]{
  display:none;
}
.onboarding-media figcaption{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:.75rem;
  color:var(--muted);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.78rem;
  text-align:center;
  word-break:break-word;
}
.onboarding-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.85rem;
  padding:1rem 1.25rem 1.25rem;
  border-top:1px solid var(--line);
}
.onboarding-decision{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.65rem;
}

html[data-theme='dark'] .onboarding-hero{
  background:linear-gradient(135deg,color-mix(in srgb,var(--card) 84%,#1d4ed8 16%),color-mix(in srgb,var(--card) 86%,#0f766e 14%));
}
html[data-theme='dark'] .onboarding-beta-note{
  background:color-mix(in srgb, var(--card) 82%, #1d4ed8 18%);
}
html[data-theme='dark'] .onboarding-media{
  background:linear-gradient(135deg,color-mix(in srgb,var(--card) 72%,#1d4ed8 28%),color-mix(in srgb,var(--card) 78%,#0f766e 22%));
}

@media (max-width: 900px){
  .onboarding-layout{
    grid-template-columns:1fr;
  }
  .onboarding-rail{
    position:static;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .onboarding-card__body{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){
  .onboarding-hero,
  .onboarding-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .onboarding-hero__title{
    font-size:1.18rem;
  }
  .onboarding-progress{
    grid-template-columns:1fr;
  }
  .onboarding-rail{
    display:flex;
    flex-direction:row;
    overflow-x:auto;
    padding-bottom:.15rem;
  }
  .onboarding-rail__item{
    min-width:180px;
  }
  .onboarding-card__body{
    padding:1rem;
  }
  .onboarding-media{
    min-height:210px;
  }
  .onboarding-decision,
  .onboarding-decision form,
  .onboarding-actions .btn,
  .onboarding-actions form{
    width:100%;
  }
}
.nav-mobile-top{padding-top:.2rem;padding-bottom:.75rem;}
.workspace-switch{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding-bottom:.7rem;}
.workspace-switch__tab{display:flex;align-items:center;justify-content:center;gap:.45rem;text-align:center;padding:.6rem .75rem;border:1px solid #cbd5e1;border-radius:.75rem;text-decoration:none;color:var(--ink);font-weight:600;background:#fff;}
.workspace-switch__tab-icon{display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;color:color-mix(in srgb, var(--muted) 78%, var(--ink) 22%);transition:color .15s ease;}
.workspace-switch__status{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;margin-left:.2rem;color:color-mix(in srgb, var(--muted) 74%, var(--ink) 26%);font-size:.78rem;opacity:.92;}
.workspace-switch__status[data-bs-toggle="tooltip"]{cursor:help;}
.workspace-switch__status--started{font-size:.9rem;}
.workspace-switch__status--active{color:color-mix(in srgb, var(--ink) 45%, var(--muted) 55%);}
.workspace-switch__tab.is-active .workspace-switch__tab-icon{color:#fff;}
.workspace-switch__tab.is-active .workspace-switch__status{color:rgba(255,255,255,.92);}
.workspace-switch__tab.is-active{background:#0f172a;color:#fff;border-color:#0f172a;}
.workspace-switch--desktop{min-width:320px;padding-bottom:0;gap:.45rem;}
.workspace-switch--desktop .workspace-switch__tab{padding:.55rem .95rem;border-radius:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.4rem;box-shadow:0 1px 2px rgba(15,23,42,.06);}
.workspace-switch--desktop .workspace-switch__tab:not(.is-active){background:color-mix(in srgb, var(--card) 85%, #e2e8f0 15%);}
.nav-desktop-top{padding-top:.65rem !important;padding-bottom:.5rem !important;}
.nav-desktop-subnav{padding-top:.35rem;padding-bottom:.8rem !important;}
.nav-desktop-links-row{
  display:flex;
  align-items:center;
  gap:.62rem;
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:.15rem;
}
.nav-primary-links{
  gap:.48rem !important;
  flex-wrap:nowrap !important;
}
.nav-primary-links .chip,
.nav-primary-links .btn,
.nav-quick-links .chip,
.nav-quick-links .btn,
.nav-quick-links .nav-quick-separator{
  flex:0 0 auto;
  white-space:nowrap;
}
.nav-quick-links{
  margin-left:auto;
  flex-wrap:nowrap !important;
}
.nav-quick-separator{
  width:1px;
  height:1rem;
  background:color-mix(in srgb, var(--line) 80%, #94a3b8 20%);
  opacity:.7;
  margin:0 .15rem 0 .05rem;
}
.nav-account-group{
  margin-left:.2rem;
  padding-left:.45rem;
}
.nav-top-controls{gap:.55rem !important;}
.account-danger-zone{border-width:1px;}
.account-danger-zone code{font-size:.82rem;}
.account-danger-zone--critical{box-shadow:0 0 0 1px color-mix(in srgb, #dc2626 25%, transparent), 0 8px 20px rgba(127,29,29,.08);}
.mobile-menu-list{display:grid;gap:.5rem;}
.mobile-menu-link{display:flex;align-items:center;padding:.75rem .9rem;border:1px solid #cbd5e1;border-radius:.7rem;text-decoration:none;color:#0f172a;background:#fff;font-weight:500;}
.mobile-menu-link{padding:.66rem .82rem;font-size:.93rem;}
.mobile-menu-link.is-active{border-color:#0f172a;background:#f8fafc;}
.mobile-menu-link--accent{border-style:dashed;}
.mobile-menu-link--danger{width:100%;text-align:left;color:#b91c1c;border-color:#fecaca;background:#fff5f5;}
.mobile-account-menu{border:1px solid #e2e8f0;border-radius:.8rem;padding:.7rem;background:#fff;}
.mobile-account-menu__header{padding:.2rem .25rem .55rem;}
.nav-menu-btn{min-height:38px;padding:.35rem .75rem;font-size:.85rem;}
.nav-year-switch{
  display:flex;
  align-items:center;
  gap:.42rem;
  padding:.22rem .36rem;
  border:1px solid color-mix(in srgb, var(--accent) 22%, var(--line) 78%);
  border-radius:.72rem;
  background:linear-gradient(180deg,#ffffff 0%,color-mix(in srgb, var(--accent-soft) 42%, #ffffff 58%) 100%);
  box-shadow:0 1px 2px rgba(15,23,42,.06);
}
.nav-year-switch__label{
  font-size:.7rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:color-mix(in srgb, var(--accent) 58%, var(--muted) 42%);
}
.nav-year-switch .form-select{
  min-height:38px;
  border-color:color-mix(in srgb, var(--accent) 36%, var(--line) 64%);
  color:var(--ink);
  font-weight:600;
  padding-right:1.8rem;
  background-color:var(--card);
  cursor:pointer;
}
.nav-year-switch .form-select:hover{
  border-color:color-mix(in srgb, var(--accent) 54%, var(--line) 46%);
}
.nav-year-switch .form-select:active{
  background:color-mix(in srgb, var(--accent-soft) 32%, var(--card) 68%);
}
.nav-year-switch .form-select:focus{
  border-color:color-mix(in srgb, var(--accent) 70%, var(--line) 30%);
  box-shadow:0 0 0 .15rem color-mix(in srgb, var(--accent) 22%, transparent);
}
.nav-top-controls .chip--sub{padding-inline:.52rem;}
.dashboard-hero{border-color:#dbeafe;background:linear-gradient(180deg,#ffffff,#f7fbff);}
.kpi--strong{border-color:inherit;background:inherit;}
.accor-tier{border:1px solid #e2e8f0;border-radius:12px;padding:.8rem;background:#fff;}
.accor-tier--silver{background:linear-gradient(180deg,#fff,#f8fafc);}
.accor-tier--gold{background:linear-gradient(180deg,#fff,#fffbeb);}
.accor-tier--platinum{background:linear-gradient(180deg,#fff,#ecfeff);}
.accor-tier--diamond{background:linear-gradient(180deg,#fff,#f5f3ff);}

@media (max-width: 768px){
  .app-nav .container{padding-left:1rem;padding-right:1rem;}
  .app-brand{font-size:1rem;}
  .nav-year-switch{
    padding:.18rem .28rem;
    gap:.28rem;
  }
  .nav-year-switch__label{
    font-size:.64rem;
  }
  .nav-year-switch .form-select{
    min-width:84px;
  }
}

:focus-visible{outline:2px solid #2563eb;outline-offset:2px;border-radius:6px;}

.app-page-header{
  display:flex;
  align-items:flex-start;
  gap:.8rem;
  padding:.9rem 1rem;
  border:1px solid color-mix(in srgb, var(--accent) 18%, var(--line) 82%);
  border-radius:.9rem;
  background-color:#f8fbff;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
}
.app-page-header__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.1rem;
  height:2.1rem;
  border-radius:.6rem;
  background:color-mix(in srgb, var(--accent-soft) 62%, #ffffff 38%);
  color:color-mix(in srgb, var(--accent) 72%, var(--ink) 28%);
  font-size:1.05rem;
}
.app-page-header__title{
  font-size:clamp(1.2rem,1.03rem + .5vw,1.46rem);
  font-weight:760;
  line-height:1.15;
}
.app-page-header__subtitle{
  color:var(--muted);
  font-size:.9rem;
}
html[data-theme='dark'] .app-page-header{
  border-color:#35506f !important;
  background-color:#122033 !important;
  background:linear-gradient(180deg,rgba(37,99,235,.22) 0%,rgba(15,23,42,.88) 100%) !important;
  box-shadow:0 10px 28px rgba(2,6,23,.28);
}
html[data-theme='dark'] .app-page-header__icon{
  background:#213754;
  color:#dbeafe;
}
html[data-theme='dark'] .app-page-header__title{
  color:#f8fbff;
}
html[data-theme='dark'] .app-page-header__subtitle{
  color:#c6d4e8;
}
html[data-theme='dark'] .miles-links-summary{
  border-color:color-mix(in srgb, #60a5fa 16%, var(--line) 84%);
  background:color-mix(in srgb, var(--card) 82%, #0f2747 18%);
}
html[data-theme='dark'] .miles-links-panel{
  border-color:color-mix(in srgb, #60a5fa 16%, var(--line) 84%);
  background:color-mix(in srgb, var(--card) 88%, #10233d 12%);
}
html[data-theme='dark'] .miles-links-entry{
  border-color:color-mix(in srgb, #60a5fa 12%, var(--line) 88%);
  background:color-mix(in srgb, var(--card) 92%, #0b1728 8%);
}
.workspace-switch__status[aria-label]{
  opacity:1;
}

.product-page-title{
  font-size:clamp(1.22rem,1.02rem + .55vw,1.5rem);
  font-weight:760;
  line-height:1.2;
}
.account-display-name{
  border:1px solid var(--line);
  border-radius:.75rem;
  padding:.75rem .85rem;
  background:color-mix(in srgb, var(--card) 88%, var(--accent-soft) 12%);
}
.miles-links-card{
  border-color:color-mix(in srgb, var(--accent) 12%, var(--line) 88%);
}
.miles-links-summary{
  height:100%;
  border:1px solid var(--line);
  border-radius:.85rem;
  padding:.8rem .9rem;
  background:color-mix(in srgb, var(--card) 86%, var(--accent-soft) 14%);
}
.miles-links-summary__label{
  color:var(--muted);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.miles-links-summary__value{
  margin-top:.15rem;
  font-size:1.65rem;
  font-weight:760;
  line-height:1.1;
}
.miles-links-panel{
  height:100%;
  border:1px solid var(--line);
  border-radius:.9rem;
  padding:1rem;
  background:color-mix(in srgb, var(--card) 94%, #eef4ff 6%);
}
.miles-links-panel__header{
  margin-bottom:.85rem;
  padding-bottom:.75rem;
  border-bottom:1px solid color-mix(in srgb, var(--line) 82%, transparent 18%);
}
.miles-links-entry{
  border:1px solid color-mix(in srgb, var(--line) 88%, var(--accent) 12%);
  border-radius:.8rem;
  padding:.8rem .9rem;
  background:color-mix(in srgb, var(--card) 92%, #ffffff 8%);
}
.miles-links-entry .btn{
  white-space:nowrap;
}
.miles-links-entry .form-text{
  max-width:42rem;
}
.miles-links-panel .form-text:last-child{
  margin-bottom:0;
}
.miles-links-panel p:last-child{
  margin-bottom:0;
}
.miles-links-panel .form-label{
  font-weight:600;
}
.miles-links-panel .btn-sm{
  min-width:8.75rem;
}
.account-display-name__form{
  max-width:42rem;
}
.btn{transition:all .14s ease;}
.btn:hover{transform:translateY(-1px);}
.btn:active{transform:translateY(0);}
.btn:disabled{opacity:.55;cursor:not-allowed;}
.app-toast{border:1px solid transparent;box-shadow:0 6px 18px rgba(15,23,42,.06);}
.app-toast--success{border-color:#166534;}
.app-toast--error{border-color:#7f1d1d;}
.app-toast--warning{border-color:#92400e;}

.active-filters{display:flex;flex-wrap:wrap;gap:.4rem;}
.filter-chip{font-size:.74rem;background:#eef2ff;border:1px solid #c7d2fe;color:#3730a3;padding:.22rem .55rem;border-radius:999px;}
.disabled-reason-popover{position:relative;}
.disabled-reason-popover__trigger{text-decoration:none;color:var(--muted);list-style:none;}
.disabled-reason-popover__trigger::-webkit-details-marker{display:none;}
.disabled-reason-popover__panel{
  position:absolute;
  right:0;
  top:calc(100% + .35rem);
  min-width:220px;
  max-width:280px;
  padding:.55rem .65rem;
  border:1px solid var(--line);
  border-radius:.55rem;
  background:var(--card);
  color:var(--ink);
  box-shadow:0 8px 24px rgba(15,23,42,.12);
  z-index:5;
}
.disabled-reason-popover:not([open]) .disabled-reason-popover__panel{display:none;}
.disabled-reason-popover:hover .disabled-reason-popover__panel,
.disabled-reason-popover:focus-within .disabled-reason-popover__panel{display:block;}
.sort-separator{
  position:relative;
}
.sort-separator__row{
  min-height:100%;
}
.sort-separator__label{
  font-size:.72rem;
  font-weight:700;
  color:#475569;
  text-transform:uppercase;
  letter-spacing:.03em;
  white-space:nowrap;
}
.sort-separator__dir{
  max-width:58px;
  flex:0 0 58px;
}
@media (min-width: 768px){
  .sort-separator{
    border-left:1px dashed #cbd5e1;
    padding-left:.75rem;
  }
}

@media (min-width: 1200px){
  .segment-filters .form-control-sm,
  .segment-filters .form-select-sm,
  .segment-filters .btn-sm{
    padding-left:.45rem;
    padding-right:.45rem;
  }

  .segment-filters .sort-separator{
    padding-left:.55rem;
  }

  .segment-filters .sort-separator__row{
    gap:.4rem !important;
    flex-wrap:nowrap;
  }

  .segment-filters .sort-separator__label{
    font-size:.68rem;
  }

  .segment-filters .sort-separator__dir{
    max-width:48px;
    flex-basis:48px;
    padding-left:.35rem;
    padding-right:1.35rem;
  }
}

.accor-conflict-icon{
  color:#dc2626;
  font-weight:700;
  margin-right:.35rem;
  display:inline-block;
}
.pagination-modern .page-link{
  border-radius:.55rem;
  margin:0 .1rem;
  border:1px solid var(--line);
  background:var(--card);
  color:var(--ink);
  min-width:2rem;
  text-align:center;
}
.pagination-modern .page-item .page-link:hover{
  background:color-mix(in srgb, var(--card) 72%, #2563eb 28%);
  border-color:color-mix(in srgb, var(--line) 60%, #2563eb 40%);
  color:var(--ink);
}
.pagination-modern .page-item.active .page-link{
  background:#2563eb;
  border-color:#2563eb;
  color:#fff;
  box-shadow:none;
}
.pagination-modern .page-item.disabled .page-link{
  background:color-mix(in srgb, var(--card) 85%, var(--line) 15%);
  border-color:var(--line);
  color:var(--muted);
  opacity:1;
}
.bookings-panel__header{padding-bottom:.35rem;border-bottom:1px solid #e2e8f0;}
.booking-card-compact--dense{border-left:5px solid #94a3b8;}
.booking-summary-pill{border-radius:.55rem;padding:.2rem .45rem;}
.booking-actions-bar{border-top:1px dashed #e2e8f0;padding-top:.45rem;}
.dashboard-secondary .card{border-color:#dbeafe;}
.dashboard-tertiary .card{opacity:.97;}
.hon-zone{
  border-color:color-mix(in srgb, #7c3aed 38%, #d8b4fe 62%) !important;
  background:linear-gradient(180deg,#ffffff 0%,#faf5ff 100%);
}
.hon-zone .section-title__icon{
  color:#7c3aed;
}
.hon-zone__badge{
  background:color-mix(in srgb, #7c3aed 18%, #ffffff 82%);
  color:#5b21b6;
  border:1px solid color-mix(in srgb, #7c3aed 45%, #c4b5fd 55%);
}

@media (max-width:768px){
  .booking-card-compact--dense{padding:.35rem .45rem !important;}
  .booking-card-compact--dense .table-compact td{padding:.16rem .2rem;font-size:.8rem;}
  .booking-summary-pill{padding:.12rem .35rem;}
}

.dashboard-section + .dashboard-section{
  margin-top:1.1rem;
  padding-top:1.1rem;
  border-top:1px solid #dbeafe;
}

.dashboard-section__title-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:.75rem;
  flex-wrap:wrap;
}

.dashboard-section__badges{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:.5rem;
  margin-left:auto;
}

.list-section-title{
  font-size:1.25rem;
  font-weight:600;
  line-height:1.25;
}

@media (max-width: 768px){
  .dashboard-section__title-row{
    align-items:flex-start;
  }

  .dashboard-section__badges{
    width:100%;
    justify-content:flex-start;
    margin-left:0;
  }
}

.booking-card-separated{
  border-left:5px solid #94a3b8;
  box-shadow:0 2px 6px rgba(15,23,42,.08);
}

.booking-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:.65rem;
}

.booking-card-main{
  min-width:0;
}

.booking-summary-pill--right{
  min-width:190px;
  text-align:right;
  border:1px solid #e2e8f0;
}

@media (max-width: 768px){
  .booking-card-head{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:start;
    column-gap:.55rem;
  }

  .booking-summary-pill--right{
    min-width:136px;
    font-size:.72rem;
    line-height:1.2;
    padding:.25rem .4rem;
    margin-left:auto;
  }

  .booking-card-separated{
    border-left-width:6px;
    margin-bottom:.2rem;
  }
}

:root{
  --bg:#f5f7fb;
  --card:#ffffff;
  --ink:#0f172a;
  --muted:#475569;
  --line:#dbe3ef;
  --chip-bg:#ffffff;
  --chip-line:#cbd5e1;
}

html[data-theme='dark']{
  --bg:#0b1220;
  --card:#111a2b;
  --ink:#e2e8f0;
  --muted:#a8b5c7;
  --line:#2a3a55;
  --chip-bg:#162237;
  --chip-line:#334967;
}

body{background:var(--bg);color:var(--ink);}
.app-nav,.app-footer,.card,.kpi,.empty-state,.booking-card-compact,.mobile-menu-link,.workspace-switch__tab,.chip--sub,.table-mobile tbody tr{background:var(--card)!important;color:var(--ink);border-color:var(--line)!important;}
.table,.table td,.table th,.list-group-item{color:var(--ink);border-color:var(--line)!important;background:transparent;}
.table-modern th,.text-secondary,.small{color:var(--muted)!important;}
.form-control,.form-select,.input-group-text{background:var(--card);color:var(--ink);border-color:var(--line);}
.form-control::placeholder{color:var(--muted);}
.chip{border-color:var(--chip-line);background:var(--chip-bg);color:var(--ink);}
.filter-chip{background:color-mix(in srgb, var(--chip-bg) 75%, #6366f1 25%);border-color:var(--chip-line);color:var(--ink);}
.mobile-menu-link.is-active,.workspace-switch__tab.is-active,.chip--active{background:#2563eb!important;border-color:#2563eb!important;color:#fff!important;}
.chip--action{border-color:color-mix(in srgb, #3b82f6 44%, var(--chip-line) 56%);background:color-mix(in srgb, #2563eb 16%, var(--chip-bg) 84%);}
.app-toast--success{background:#166534;color:#f0fdf4;}
.app-toast--error{background:#991b1b;color:#fef2f2;}
.app-toast--warning{background:#9a3412;color:#fffbeb;}
.app-toast{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.75rem;
}
.app-toast__close{
  border:0;
  background:transparent;
  color:inherit;
  opacity:.85;
  font-size:1.25rem;
  line-height:1;
  padding:0;
}
.app-toast__close:hover{opacity:1;}

.accor-dashboard-hero{border:1px solid color-mix(in srgb, #2563eb 25%, var(--line) 75%);background:linear-gradient(145deg,color-mix(in srgb, #2563eb 12%, var(--card) 88%),var(--card));}
.accor-tier{border-width:1px;border-style:solid;}
.accor-tier--silver{border-color:#94a3b8;background:linear-gradient(160deg,color-mix(in srgb,#94a3b8 18%,var(--card) 82%),var(--card));}
.accor-tier--gold{border-color:#f59e0b;background:linear-gradient(160deg,color-mix(in srgb,#f59e0b 18%,var(--card) 82%),var(--card));}
.accor-tier--platinum{border-color:#14b8a6;background:linear-gradient(160deg,color-mix(in srgb,#14b8a6 18%,var(--card) 82%),var(--card));}
.accor-tier--diamond{border-color:#8b5cf6;background:linear-gradient(160deg,color-mix(in srgb,#8b5cf6 18%,var(--card) 82%),var(--card));}

.accor-progress{height:10px;background:color-mix(in srgb,var(--line) 70%, transparent);}
.accor-progress .progress-bar{border-radius:999px;}
.accor-progress--silver{background:linear-gradient(90deg,#64748b,#94a3b8)!important;}
.accor-progress--gold{background:linear-gradient(90deg,#d97706,#f59e0b)!important;}
.accor-progress--platinum{background:linear-gradient(90deg,#0f766e,#14b8a6)!important;}
.accor-progress--diamond{background:linear-gradient(90deg,#6d28d9,#8b5cf6)!important;}

.accor-chip--silver{background:#94a3b8!important;color:#081226!important;}
.accor-chip--gold{background:#f59e0b!important;color:#1f1300!important;}
.accor-chip--platinum{background:#14b8a6!important;color:#03231f!important;}
.accor-chip--diamond{background:#8b5cf6!important;color:#12072a!important;}

html[data-theme='dark'] .accor-chip--silver,
html[data-theme='dark'] .accor-chip--gold,
html[data-theme='dark'] .accor-chip--platinum,
html[data-theme='dark'] .accor-chip--diamond{color:#fff!important;}

html[data-theme='dark'] .btn-outline-secondary,
html[data-theme='dark'] .btn-light,
html[data-theme='dark'] .btn-outline-primary,
html[data-theme='dark'] .btn-outline-danger{border-color:var(--line);color:var(--ink);}
html[data-theme='dark'] .btn-outline-secondary:hover,
html[data-theme='dark'] .btn-light:hover{background:#1f2a40;color:#fff;}
html[data-theme='dark'] .workspace-switch__tab-icon{
  color:#c9d6ea;
}
html[data-theme='dark'] .workspace-switch__tab.is-active .workspace-switch__tab-icon{
  color:#fff;
}
html[data-theme='dark'] .nav-year-switch{
  background:linear-gradient(180deg, color-mix(in srgb, #1e293b 72%, var(--card) 28%) 0%, color-mix(in srgb, #111827 82%, var(--card) 18%) 100%);
  border-color:color-mix(in srgb, #3b82f6 35%, var(--line) 65%);
}
html[data-theme='dark'] .nav-year-switch__label{
  color:#bfdbfe;
}
html[data-theme='dark'] .nav-year-switch .form-select{
  background:color-mix(in srgb, #0f172a 62%, var(--card) 38%);
  color:#e2e8f0;
  border-color:color-mix(in srgb, #3b82f6 45%, var(--line) 55%);
}
html[data-theme='dark'] .nav-year-switch .form-select:hover{
  background:color-mix(in srgb, #172236 74%, var(--card) 26%);
}
html[data-theme='dark'] .nav-year-switch .form-select:focus{
  border-color:#60a5fa;
  box-shadow:0 0 0 .15rem rgba(96,165,250,.28);
}
html[data-theme='dark'] .account-display-name{
  background:color-mix(in srgb, var(--card) 86%, #1d4ed8 14%);
}


.chart-switch .btn{
  min-width:170px;
  border-color:var(--line);
  color:var(--muted);
  background:var(--card);
}

.chart-switch .btn:hover{
  color:var(--ink);
  border-color:color-mix(in srgb, var(--line) 70%, #2563eb 30%);
}

.chart-switch .btn.is-active,
.chart-switch .btn.btn-secondary{
  background:#1d4ed8!important;
  border-color:#1d4ed8!important;
  color:#fff!important;
  box-shadow:0 0 0 1px color-mix(in srgb, #1d4ed8 35%, transparent);
}

.stats-card{
  border-color:color-mix(in srgb, var(--line) 82%, #93c5fd 18%);
  background:linear-gradient(170deg,color-mix(in srgb, #dbeafe 7%, var(--card) 93%),var(--card));
}
.stats-card .page-title--icon{margin-bottom:.25rem;}
.stats-card .section-title__icon{color:color-mix(in srgb, var(--accent) 70%, var(--accent-2) 30%);}
.stats-card--rolling,
.stats-card--monthly{background:linear-gradient(170deg,color-mix(in srgb, #cffafe 8%, var(--card) 92%),var(--card));}
.stats-card--points,
.stats-card--efficiency{background:linear-gradient(170deg,color-mix(in srgb, #ede9fe 10%, var(--card) 90%),var(--card));}
.stats-ranking-grid .card{min-height:100%;}

.booking-summary-pill{
  background:color-mix(in srgb,var(--card) 82%,#94a3b8 18%);
  border:1px solid var(--line);
  color:var(--ink);
}

.benefit-goal-card{
  background:var(--card);
  border-color:var(--line)!important;
}

.mobile-menu-link--theme{
  width:100%;
  text-align:left;
}

.chart-frame--doughnut-centered{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  min-height:100%;
  text-align:center;
}

.nav-theme-toggle-desktop{
  margin-left:auto;
}

html[data-theme='dark'] .chart-switch .btn{
  color:#cbd5e1;
}

html[data-theme='dark'] .chart-switch .btn.is-active,
html[data-theme='dark'] .chart-switch .btn.btn-secondary{
  background:#3b82f6!important;
  border-color:#3b82f6!important;
}

html[data-theme='dark'] .btn-outline-secondary,
html[data-theme='dark'] .btn-light,
html[data-theme='dark'] .btn-outline-primary,
html[data-theme='dark'] .btn-outline-danger{
  border-color:var(--line);
  color:var(--ink);
  background:transparent;
}

html[data-theme='dark'] .pagination-modern .page-link{
  background:#18243a;
  border-color:#324764;
  color:#e2e8f0;
}
html[data-theme='dark'] .pagination-modern .page-item .page-link:hover{
  background:#233756;
  border-color:#3b82f6;
  color:#f8fafc;
}
html[data-theme='dark'] .pagination-modern .page-item.active .page-link{
  background:#3b82f6;
  border-color:#3b82f6;
  color:#ffffff;
}
html[data-theme='dark'] .pagination-modern .page-item.disabled .page-link{
  background:#121d30;
  border-color:#2a3a55;
  color:#8aa0bf;
}


.cumulative-chart-frame{
  position:relative;
  height:240px;
}

@media (min-width: 992px){
  .cumulative-chart-frame{
    height:320px;
    max-height:44vh;
  }
}

.status-color-legend{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
}

.status-color-dot{
  display:inline-block;
  width:10px;
  height:10px;
  border-radius:999px;
  margin-right:.35rem;
  vertical-align:middle;
}

.upgrade-choice-panel[hidden]{display:none!important;}
.upgrade-choice-panel{
  margin-top:.5rem;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--card);
  color:var(--ink);
  padding:.65rem;
  box-shadow:0 8px 16px rgba(15,23,42,.12);
}
.upgrade-choice-panel__title{
  margin:0 0 .45rem;
  font-size:.86rem;
  font-weight:600;
}
.upgrade-choice-panel__actions{
  display:flex;
  gap:.45rem;
  flex-wrap:wrap;
}

.upgrade-button--max{
  opacity:.55;
  filter:grayscale(.35);
}

:root{
  --mm-status-ftl:#767676;
  --mm-status-sen:#8E7131;
  --mm-status-hon:#282828;
  --mm-status-neutral:color-mix(in srgb, var(--card) 84%, var(--line) 16%);
}

.kpi{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:132px;
  padding:1rem;
  gap:.32rem;
}

.kpi__title{
  min-height:2.3em;
  display:flex;
  align-items:flex-start;
  margin:0;
  font-size:.77rem;
  font-weight:560;
  letter-spacing:.028em;
  text-transform:uppercase;
  line-height:1.25;
  color:var(--muted);
}

.kpi__value{
  margin:0;
  display:flex;
  align-items:center;
  min-height:1.9em;
  font-size:clamp(1.22rem,1.05rem + .46vw,1.48rem);
  font-weight:670;
  line-height:1.14;
  font-variant-numeric:tabular-nums;
}

.kpi__value--compact{
  font-size:1.08rem;
  line-height:1.3;
}

.kpi__value--badge{
  min-height:1.95em;
}

.kpi--status{
  border-width:1px;
  box-shadow:none;
}

.kpi--status.status-badge--ftl{
  border-color:color-mix(in srgb, var(--mm-status-ftl) 45%, var(--line) 55%);
  background:linear-gradient(155deg,color-mix(in srgb, var(--mm-status-ftl) 14%, var(--card) 86%),var(--card));
}

.kpi--status.status-badge--sen{
  border-color:color-mix(in srgb, var(--mm-status-sen) 48%, var(--line) 52%);
  background:linear-gradient(155deg,color-mix(in srgb, var(--mm-status-sen) 16%, var(--card) 84%),var(--card));
}

.kpi--status.status-badge--hon{
  border-color:color-mix(in srgb, var(--mm-status-hon) 50%, var(--line) 50%);
  background:linear-gradient(155deg,color-mix(in srgb, var(--mm-status-hon) 14%, var(--card) 86%),var(--card));
}

.kpi--status.status-badge--none{
  border-color:var(--line);
  background:linear-gradient(155deg,color-mix(in srgb, var(--line) 11%, var(--card) 89%),var(--card));
}

.status-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:.28rem .66rem;
  font-size:.76rem;
  line-height:1.2;
  font-weight:760;
  border:1px solid transparent;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 1px 2px rgba(15,23,42,.12);
}

.status-badge--ftl{
  background:color-mix(in srgb, var(--mm-status-ftl) 26%, var(--card) 74%);
  border-color:color-mix(in srgb, var(--mm-status-ftl) 56%, var(--line) 44%);
  color:var(--ink);
}

.status-badge--sen{
  background:color-mix(in srgb, var(--mm-status-sen) 28%, var(--card) 72%);
  border-color:color-mix(in srgb, var(--mm-status-sen) 58%, var(--line) 42%);
  color:var(--ink);
}

.status-badge--hon{
  background:color-mix(in srgb, var(--mm-status-hon) 24%, var(--card) 76%);
  border-color:color-mix(in srgb, var(--mm-status-hon) 52%, var(--line) 48%);
  color:var(--ink);
}

.status-badge--none{
  background:var(--mm-status-neutral);
  border-color:var(--line);
  color:var(--muted);
}

.status-progress-track{
  height:10px;
  background:color-mix(in srgb, var(--line) 78%, transparent);
}

.status-progress-bar{
  border-radius:999px;
  background:none;
}

.status-progress-bar--ftl{background:var(--mm-status-ftl);}
.status-progress-bar--sen{background:var(--mm-status-sen);}
.status-progress-bar--hon{background:var(--mm-status-hon);}

.status-progress-row{
  padding:.85rem .9rem;
  border:1px solid color-mix(in srgb, var(--line) 78%, transparent);
  border-radius:.8rem;
  background:linear-gradient(180deg,color-mix(in srgb, #ffffff 78%, var(--accent-soft) 22%),#ffffff);
}
.status-progress-row + .status-progress-row{
  margin-top:.4rem;
}
.status-progress-row strong{font-size:.9rem;}
.status-progress-value{color:var(--ink);}
.status-progress-head{
  margin-bottom:.8rem;
  padding-bottom:.3rem;
  border-bottom:1px solid color-mix(in srgb, var(--line) 80%, transparent);
}
.status-progress-title{
  display:flex;
  align-items:center;
  gap:.55rem;
  min-width:0;
}
.status-progress-title strong{
  font-size:.95rem;
  line-height:1.25;
}
.status-progress-subrow + .status-progress-subrow{
  margin-top:.75rem;
}
.status-progress-subhead{
  margin-bottom:.38rem;
  gap:.75rem;
}
.status-progress-subtitle{
  font-size:.8rem;
  font-weight:600;
  color:var(--muted);
}
.status-progress-subvalue{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:.82rem;
  color:var(--muted);
  text-align:right;
}
.status-progress-subvalue strong{
  font-size:.82rem;
  color:var(--ink);
}
.status-progress-note{
  display:block;
  margin-top:.5rem;
  line-height:1.4;
}

.status-color-dot--ftl{background:var(--mm-status-ftl);}
.status-color-dot--sen{background:var(--mm-status-sen);}
.status-color-dot--hon{background:var(--mm-status-hon);}

.kpi--accor-tier{
  box-shadow:none;
}

.kpi__meta{
  margin:0;
  margin-top:auto;
  padding-top:.12rem;
  font-size:.63rem;
  font-weight:400;
  line-height:1.28;
  letter-spacing:.01em;
  color:color-mix(in srgb, var(--muted) 90%, var(--ink) 10%);
  opacity:.72;
}

html[data-theme='dark'] .miles-stats-highlight{
  border-color:color-mix(in srgb, #60a5fa 36%, var(--line) 64%);
  background:linear-gradient(175deg,color-mix(in srgb, #1d4ed8 22%, var(--card) 78%),var(--card));
}
html[data-theme='dark'] .status-progress-row{
  border-color:color-mix(in srgb, #60a5fa 18%, var(--line) 82%);
  background:linear-gradient(180deg,color-mix(in srgb, #1e293b 28%, var(--card) 72%),var(--card));
}
html[data-theme='dark'] .miles-stats-highlight .info-hint__panel{
  border-color:color-mix(in srgb, #60a5fa 42%, var(--line) 58%);
  background:linear-gradient(180deg,color-mix(in srgb, #1e3a8a 36%, var(--card) 64%),color-mix(in srgb, #0f172a 26%, var(--card) 74%));
  color:#cfe0ff;
}
html[data-theme='dark'] .miles-stats-status-card{
  border-color:color-mix(in srgb, #60a5fa 30%, var(--line) 70%) !important;
  background:linear-gradient(180deg,color-mix(in srgb, #1e293b 60%, var(--card) 40%),color-mix(in srgb, #0f172a 40%, var(--card) 60%));
  box-shadow:inset 0 1px 0 rgba(191,219,254,.1);
}
html[data-theme='dark'] .miles-stats-status-card strong{
  color:#f1f5f9;
}
html[data-theme='dark'] .miles-stats-highlight .status-badge{
  border-color:color-mix(in srgb, currentColor 35%, var(--line) 65%);
}
html[data-theme='dark'] .stats-card{
  border-color:color-mix(in srgb, #60a5fa 24%, var(--line) 76%);
  background:linear-gradient(170deg,color-mix(in srgb, #1d4ed8 17%, var(--card) 83%),var(--card));
}
html[data-theme='dark'] .stats-card--rolling,
html[data-theme='dark'] .stats-card--monthly{
  background:linear-gradient(170deg,color-mix(in srgb, #0f766e 15%, var(--card) 85%),var(--card));
}
html[data-theme='dark'] .stats-card--points,
html[data-theme='dark'] .stats-card--efficiency{
  background:linear-gradient(170deg,color-mix(in srgb, #7c3aed 15%, var(--card) 85%),var(--card));
}

.kpi__value--badge .status-badge{
  white-space:nowrap;
  width:fit-content;
  max-width:100%;
  font-size:.81rem;
  padding:.33rem .74rem;
}

@media (max-width: 768px){
  .kpi{
    min-height:108px;
    padding:.72rem .74rem;
    gap:.24rem;
  }

  .kpi__title{
    min-height:2.26em;
    font-size:.7rem;
  }

  .kpi__value{
    font-size:1.11rem;
    min-height:1.72em;
  }

  .kpi__value--badge .status-badge{
    font-size:.76rem;
    padding:.31rem .68rem;
  }

  .kpi__meta{
    font-size:.59rem;
    line-height:1.26;
  }
}

.chart-frame{
  position:relative;
  width:100%;
}

.chart-frame--wide{
  min-height:160px;
}
.chart-frame--accor-monthly{
  min-height:210px;
  height:100%;
}
.chart-frame--accor-monthly canvas{
  width:100% !important;
  height:100% !important;
}

.chart-frame--doughnut{
  max-height:280px;
  min-height:210px;
}

@media (min-width: 992px){
  .chart-frame--accor-monthly{
    min-height:220px;
  }
  .chart-frame--doughnut{
    max-height:320px;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px){
  .chart-frame--doughnut{
    max-height:260px;
    min-height:180px;
  }
}

.accor-tier--classic{
  border-color:color-mix(in srgb, #64748b 38%, var(--line) 62%);
  background:linear-gradient(160deg,color-mix(in srgb,#64748b 10%,var(--card) 90%),var(--card));
}

.dashboard-monthly-chart-card{
  display:flex;
  flex-direction:column;
}

.dashboard-monthly-chart-card .chart-frame--accor-monthly{
  flex:1 1 auto;
}

.pretracking-admin-flow{
  display:flex;
  flex-direction:column;
  gap:.9rem;
}

.pretracking-admin-flow__step{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  padding:.85rem;
  border:1px solid var(--line);
  border-radius:12px;
  background:color-mix(in srgb,var(--card) 94%,#4f46e5 6%);
}

.pretracking-admin-flow__step-index{
  width:1.9rem;
  height:1.9rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#4f46e5;
  color:#fff;
  font-weight:700;
  flex:0 0 auto;
}

.pretracking-admin-flow__step-body{
  width:100%;
}

.pretracking-admin-flow__eyebrow{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--muted);
  font-weight:600;
}

.pretracking-admin-flow__actions{
  margin-top:auto;
}

.pretracking-admin-flow__actions .btn{
  margin-left:auto;
}


@media (min-width: 992px){
  .pretracking-admin-flow{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1rem;
  }
}

.accor-progress--classic{background:linear-gradient(90deg,#475569,#64748b)!important;}

.accor-chip{
  font-weight:800;
}

.accor-chip--classic{
  background:color-mix(in srgb,#64748b 18%,var(--card) 82%)!important;
  color:var(--ink)!important;
  border-color:color-mix(in srgb,#64748b 38%,var(--line) 62%)!important;
}

.chart-switch .btn{
  min-width:130px;
}

@media (max-width: 768px){
  .chart-switch .btn{
    min-width:0;
    padding:.26rem .5rem;
    font-size:.78rem;
  }

  .status-progress-head{
    margin-bottom:.7rem;
    padding-bottom:.25rem;
  }

  .status-progress-title{
    flex-direction:column;
    align-items:flex-start;
    gap:.25rem;
  }

  .status-progress-title strong{
    font-size:.87rem;
  }
}

html[data-theme='dark'] .status-badge--ftl,
html[data-theme='dark'] .status-badge--sen,
html[data-theme='dark'] .status-badge--hon{
  color:#f8fafc;
}

html[data-theme='dark'] .status-badge{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 1px 2px rgba(2,6,23,.42);
}

.accor-history-overview{
  table-layout:fixed;
  width:100%;
}

.accor-history-overview th,
.accor-history-overview td{
  padding-left:.45rem;
  padding-right:.45rem;
  vertical-align:middle;
}

.accor-history-overview .status-badge{
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}


@media (max-width: 768px){
  .history-mobile-only{
    display:none;
  }

  table.table-mobile.history-list-table thead .history-mobile-hide{
    display:none;
  }

  table.table-mobile.history-list-table tbody tr{
    border-radius:10px;
    margin-bottom:.45rem;
    padding:.28rem .4rem;
  }

  table.table-mobile.history-list-table tbody td{
    padding:.18rem .2rem;
    gap:.45rem;
    font-size:.82rem;
    line-height:1.2;
  }

  table.table-mobile.history-list-table tbody td::before{
    font-size:.64rem;
    letter-spacing:.015em;
  }

  table.table-mobile.history-list-table tbody td[data-label="Jahr"]{
    font-weight:700;
  }

  table.table-mobile.history-list-table tbody td.history-mobile-hide{
    display:none;
  }

  table.table-mobile.history-list-table tbody td.history-mobile-only{
    display:flex;
    font-weight:600;
    color:var(--ink);
  }

  .history-list-actions{
    display:flex !important;
    justify-content:flex-end;
    align-items:center;
    gap:.25rem;
    flex-wrap:wrap;
  }

  .history-list-actions .btn{
    padding:.12rem .35rem;
    font-size:.68rem;
    line-height:1.2;
  }
}

@media (min-width: 768.02px){
  .history-mobile-only{
    display:none;
  }

  .mobile-combo-only{
    display:none !important;
  }
}

@media (max-width: 768px){
  table.table-mobile.table-mobile-dense thead .mobile-combo-source{
    display:none;
  }

  table.table-mobile.table-mobile-dense thead .mobile-combo-only{
    display:none;
  }

  table.table-mobile.table-mobile-dense tbody td.mobile-combo-source{
    display:none;
  }

  table.table-mobile.table-mobile-dense tbody td.mobile-combo-only{
    display:flex;
    font-weight:600;
    color:var(--ink);
  }

  table.table-mobile.table-mobile-pretracking tbody tr{
    margin-bottom:1rem;
    padding:.7rem .75rem;
    border-radius:16px;
  }

  table.table-mobile.table-mobile-pretracking tbody td{
    align-items:flex-start;
    flex-direction:column;
    gap:.28rem;
    padding:.5rem .2rem;
  }

  table.table-mobile.table-mobile-pretracking tbody td::before{
    font-size:.7rem;
    letter-spacing:.05em;
  }

  table.table-mobile.table-mobile-pretracking tbody td[data-label="Aufenthalt"] strong{
    font-size:1.05rem;
    line-height:1.3;
  }

  table.table-mobile.table-mobile-pretracking tbody td[data-label="Preise"] > div:first-child strong,
  table.table-mobile.table-mobile-pretracking tbody td[data-label="Preisstand"] strong,
  table.table-mobile.table-mobile-pretracking tbody td[data-label="Trend"] strong{
    font-size:1.02rem;
  }

  table.table-mobile.table-mobile-pretracking tbody td[data-label="Details"]{
    padding-top:.6rem;
    border-top:1px dashed #dbe3f1;
    margin-top:.25rem;
  }

  table.table-mobile.table-mobile-pretracking tbody td[data-label="Details"] .btn{
    width:100%;
    min-height:38px;
    font-size:.85rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    line-height:1.2;
  }
}

.accor-profiles-intro{
  border-color:#dbeafe;
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
}
.accor-profiles-intro__summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
}
.accor-profiles-intro__summary::-webkit-details-marker{
  display:none;
}
.accor-profiles-intro__hint{
  font-size:.8rem;
  font-weight:600;
  color:#475569;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  white-space:nowrap;
}
.accor-profiles-intro__hint i{
  transition:transform .15s ease-out;
}
.accor-profiles-intro__details[open] .accor-profiles-intro__hint i{
  transform:rotate(180deg);
}
.accor-profile-tip{
  border:1px solid #d8e2f4;
  border-radius:12px;
  padding:.8rem;
  background:#fff;
}
.accor-profile-card{
  border:1px solid #dbe3f1;
  border-radius:12px;
  padding:.9rem;
  background:#fff;
}
.accor-profile-card__meta{
  padding-bottom:.65rem;
  margin-bottom:.7rem;
  border-bottom:1px dashed #dbe3f1;
}
.accor-profile-card__safe-actions{
  border:1px solid color-mix(in srgb, #cbd5e1 62%, #ffffff 38%);
  border-radius:.75rem;
  background:color-mix(in srgb, #f8fafc 88%, #ffffff 12%);
  padding:.65rem .7rem;
  margin-bottom:.65rem;
}
.accor-profile-card__danger-zone{
  border:1px dashed color-mix(in srgb, #ef4444 44%, #cbd5e1 56%);
  border-radius:.75rem;
  background:color-mix(in srgb, #fff1f2 58%, #ffffff 42%);
  padding:.65rem .7rem;
  margin-top:.5rem;
}
.accor-profile-section{
  border:1px solid #dbe3f1;
  border-radius:.85rem;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  padding:1rem;
}
.accor-profile-section + .accor-profile-section{
  margin-top:.95rem;
}
.accor-profile-section__intro{
  margin-bottom:.7rem;
}
.accor-profile-card.is-active{
  border-color:#2563eb;
  box-shadow:0 0 0 1px rgba(37,99,235,.2), 0 10px 24px rgba(37,99,235,.08);
  background:linear-gradient(180deg,#ffffff 0%,#f5f9ff 100%);
}
.accor-profile-delete-entry .btn{
  border-style:dashed;
}
.accor-profile-delete-panel{
  transition:opacity .18s ease-out;
}

html[data-theme='dark'] .accor-profiles-intro{
  border-color:color-mix(in srgb, #60a5fa 30%, var(--line) 70%);
  background:linear-gradient(180deg,color-mix(in srgb, #1e3a8a 24%, var(--card) 76%) 0%,color-mix(in srgb, #0f172a 30%, var(--card) 70%) 100%);
}
html[data-theme='dark'] .accor-profiles-intro .text-muted{
  color:#cbd5e1 !important;
}
html[data-theme='dark'] .accor-profiles-intro__hint{
  color:#cbd5e1;
}
html[data-theme='dark'] .accor-profile-tip{
  border-color:color-mix(in srgb, #60a5fa 22%, var(--line) 78%);
  background:linear-gradient(180deg,color-mix(in srgb, #1d4ed8 10%, var(--card) 90%),var(--card));
}
html[data-theme='dark'] .accor-profile-card{
  border-color:color-mix(in srgb, #60a5fa 18%, var(--line) 82%);
  background:linear-gradient(180deg,color-mix(in srgb, #0f172a 22%, var(--card) 78%),var(--card));
  box-shadow:0 6px 18px rgba(2,6,23,.35);
}
html[data-theme='dark'] .accor-profile-card__meta{
  border-bottom-color:color-mix(in srgb, #60a5fa 28%, var(--line) 72%);
}
html[data-theme='dark'] .accor-profile-card__safe-actions{
  border-color:color-mix(in srgb, #60a5fa 28%, var(--line) 72%);
  background:color-mix(in srgb, #1e293b 44%, var(--card) 56%);
}
html[data-theme='dark'] .accor-profile-card__danger-zone{
  border-color:color-mix(in srgb, #fda4af 52%, var(--line) 48%);
  background:color-mix(in srgb, #7f1d1d 20%, var(--card) 80%);
}
html[data-theme='dark'] .accor-profile-section{
  border-color:color-mix(in srgb, #60a5fa 24%, var(--line) 76%);
  background:linear-gradient(180deg,color-mix(in srgb, #1d4ed8 10%, var(--card) 90%), var(--card));
}
html[data-theme='dark'] .accor-profile-card.is-active{
  border-color:color-mix(in srgb, #60a5fa 62%, var(--line) 38%);
  background:linear-gradient(180deg,color-mix(in srgb, #1d4ed8 22%, var(--card) 78%),color-mix(in srgb, #1e293b 40%, var(--card) 60%));
  box-shadow:0 0 0 1px rgba(96,165,250,.28), 0 14px 28px rgba(2,6,23,.5);
}
html[data-theme='dark'] .accor-profile-delete-entry .btn{
  border-color:color-mix(in srgb, #fda4af 58%, var(--line) 42%);
  color:#fecdd3;
}
html[data-theme='dark'] .accor-profile-delete-entry .btn:hover{
  background:rgba(190,24,93,.14);
  color:#ffe4e6;
}
html[data-theme='dark'] .accor-profile-rate-save{
  background:linear-gradient(180deg, #3b82f6 0%, #1d4ed8 100%);
  border-color:#60a5fa;
  color:#f8fbff;
  box-shadow:0 10px 22px rgba(29,78,216,.28);
}
html[data-theme='dark'] .accor-profile-rate-save:hover{
  background:linear-gradient(180deg, #60a5fa 0%, #2563eb 100%);
  border-color:#93c5fd;
  color:#ffffff;
}

.accor-profile-context{
  border:1px solid #dbeafe;
  background:#f8fbff;
  border-radius:12px;
  padding:.75rem .9rem;
}
.invite-review--highlight{
  outline:3px solid rgba(37,99,235,.35);
  box-shadow:0 0 0 3px rgba(37,99,235,.12), 0 14px 28px rgba(37,99,235,.16);
  transition:box-shadow .25s ease, outline-color .25s ease;
}
html[data-theme='dark'] .accor-profile-context{
  border-color:color-mix(in srgb, #60a5fa 28%, var(--line) 72%);
  background:color-mix(in srgb, #1d4ed8 15%, var(--card) 85%);
}

.accor-rate-tag{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  font-size:.95rem;
  font-weight:500;
  line-height:1.2;
  padding:.28rem .68rem;
  letter-spacing:.01em;
  border:1px solid transparent;
}
.accor-rate-tag--dedicated{
  background:#E8EDFF !important;
  color:#0c2c78 !important;
  border-color:#c7d4ff;
}
.accor-rate-tag--all-plus,
.accor-rate-tag--member{
  background:#D6D3FF !important;
  color:#4f46e5 !important;
  border-color:#c5bfff;
}
.accor-rate-tag--special{
  background:#FFD4EA !important;
  color:#a40058 !important;
  border-color:#ffc2e2;
}
html[data-theme='dark'] .accor-rate-tag--dedicated{
  color:#1d4ed8 !important;
}
html[data-theme='dark'] .accor-rate-tag--all-plus,
html[data-theme='dark'] .accor-rate-tag--member{
  color:#6366f1 !important;
}
html[data-theme='dark'] .accor-rate-tag--special{
  color:#be185d !important;
}

.accor-booked-price-card{
  background:linear-gradient(180deg,#f8faff 0%,#eef4ff 100%);
  border:1px solid #dbe7ff !important;
}

.accor-rate-price{
  border-radius:10px;
  padding:.55rem .7rem;
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  align-items:center;
}
.accor-rate-price__value{
  font-size:1.05rem;
  font-weight:700;
}
.accor-rate-delta{
  display:inline-flex;
  align-items:center;
  font-weight:600;
}
.accor-rate-price--better{
  background:#ecfdf3;
  border:1px solid #b7efcf;
}
.accor-rate-price--neutral{
  background:#f5f5f7;
  border:1px solid #e7e7ea;
}
.accor-rate-price--worse{
  background:#fff1f2;
  border:1px solid #fecdd3;
}
html[data-theme='dark'] .accor-booked-price-card{
  background:linear-gradient(180deg,color-mix(in srgb, #1d4ed8 18%, var(--card) 82%) 0%,color-mix(in srgb, #0f172a 24%, var(--card) 76%) 100%);
  border-color:color-mix(in srgb, #60a5fa 35%, var(--line) 65%) !important;
}
html[data-theme='dark'] .accor-rate-price{
  color:#ecf3ff;
}
html[data-theme='dark'] .accor-rate-price__value{
  color:inherit;
}
html[data-theme='dark'] .accor-rate-price--better{
  background:rgba(8,77,46,.55);
  border-color:rgba(74,222,128,.45);
  color:#dcfce7;
}
html[data-theme='dark'] .accor-rate-price--neutral{
  background:rgba(30,41,59,.6);
  border-color:rgba(148,163,184,.34);
  color:#e2e8f0;
}
html[data-theme='dark'] .accor-rate-price--worse{
  background:rgba(127,29,29,.55);
  border-color:rgba(251,113,133,.45);
  color:#ffe4e6;
}
.accor-price-state{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  border-radius:999px;
  padding:.22rem .65rem;
  font-weight:700;
  border:1px solid transparent;
}
.accor-price-state--better{
  color:#166534;
  background:#ecfdf3;
  border-color:#b7efcf;
}
.accor-price-state--neutral{
  color:#475569;
  background:#f8fafc;
  border-color:#dbe3ef;
}
.accor-price-state--worse{
  color:#b91c1c;
  background:#fff1f2;
  border-color:#fecdd3;
}
html[data-theme='dark'] .accor-price-state--better{
  color:#d1fae5;
  background:rgba(21,128,61,.24);
  border-color:rgba(110,231,183,.3);
}
html[data-theme='dark'] .accor-price-state--neutral{
  color:#dbe7f5;
  background:rgba(51,65,85,.4);
  border-color:rgba(148,163,184,.28);
}
html[data-theme='dark'] .accor-price-state--worse{
  color:#ffe4e6;
  background:rgba(185,28,28,.26);
  border-color:rgba(253,164,175,.34);
}

.accor-cancellation{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.15rem .45rem;
}


@media (min-width: 992px){
  .dashboard-monthly-chart-card .chart-frame--accor-monthly,
  .dashboard-category-chart-card .chart-frame--doughnut{
    height:220px;
    min-height:220px;
    max-height:220px;
  }

  .dashboard-monthly-chart-card .chart-frame--accor-monthly canvas,
  .dashboard-category-chart-card .chart-frame--doughnut canvas{
    height:220px !important;
    max-height:220px !important;
  }
}

.stay-price-track-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.25rem;
  height:1.25rem;
  color:#15803d;
  text-decoration:none;
  line-height:1;
}

.stay-price-track-badge:hover{
  color:#166534;
}

.stay-price-cell{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 1.25rem;
  align-items:center;
  column-gap:.65rem;
  width:100%;
  white-space:nowrap;
}

.stay-nights-cell{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  white-space:nowrap;
}

.stay-plus-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.1rem;
  height:1.1rem;
  color:#15803d;
  line-height:1;
}

.stay-price-value{
  min-width:0;
}

@media (max-width: 768px){
  table.table-mobile tbody td[data-label="Preis"]{
    flex-wrap:wrap;
    align-items:center;
  }

  table.table-mobile tbody td[data-label="Preis"] .stay-price-cell{
    width:auto;
    grid-template-columns:max-content max-content;
    justify-content:end;
    margin-left:auto;
  }

  table.table-mobile tbody td[data-label="Preis"] > .small{
    flex-basis:100%;
    text-align:right;
  }
}


.accor-profile-members-table th:last-child,
.accor-profile-members-table td:last-child{
  width: 190px;
}

.accor-member-actions__role{
  display:flex;
  flex-wrap:nowrap;
  gap:.45rem;
  align-items:center;
}

.accor-member-actions__remove{
  display:flex;
  justify-content:flex-end;
}

.accor-profile-members-table__role-admin{
  min-width:260px;
}

.accor-profile-members-table__actions{
  min-width:180px;
  text-align:right;
}

.stay-price-track-badge .bi{
  font-size:1rem;
}

html[data-theme='dark'] .stay-price-track-badge{
  color:#86efac;
}

html[data-theme='dark'] .stay-price-track-badge:hover{
  color:#bbf7d0;
}

.accor-rate-delta--better{ color:#15803d; }
.accor-rate-delta--neutral{ color:#64748b; }
.accor-rate-delta--worse{ color:#b91c1c; }

html[data-theme='dark'] .accor-rate-delta--better{ color:#86efac; }
html[data-theme='dark'] .accor-rate-delta--neutral{ color:#cbd5e1; }
html[data-theme='dark'] .accor-rate-delta--worse{ color:#fda4af; }

html[data-theme='dark'] .accor-member-actions__role .form-select,
html[data-theme='dark'] .accor-member-actions__role .btn,
html[data-theme='dark'] .accor-member-actions__remove .btn{
  border-color:var(--line);
}
