:is(.adv-booking,.adv-staff) {
  --adv-navy: #001031;
  --adv-ink: #101a45;
  --adv-muted: #41536f;
  --adv-gold: #d99500;
  --adv-gold-light: #fff2cf;
  --adv-border: #cdd8e7;
  --adv-blue: #edf4ff;
  --adv-green: #087b32;
  color: var(--adv-ink);
  font-size: 15px;
  line-height: 1.48;
}
.adv-booking { background: #f4f6f9; padding-bottom: 2rem; }
body:has(.adv-booking) #ai-toggle { display: none; }
.adv-booking [hidden], .adv-staff [hidden], .adv-staff[hidden] { display: none !important; }
:is(.adv-booking,.adv-staff) :is(h1,h2,h3,h4,dl,ul,ol,p,fieldset) { margin: 0; }
:is(.adv-booking,.adv-staff) :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #2563a6; outline-offset: 3px; }
.adv-hero { display: grid; grid-template-columns: 1.05fr .95fr; background: var(--adv-navy); color: #fff; }
.adv-hero-copy { align-self: center; padding: 1.5rem clamp(1rem,4vw,4rem); }
.adv-hero-copy .adv-kicker { color: #ffcb52; margin-bottom: .2rem; }
.adv-kicker { font-size: .83rem; text-transform: uppercase; font-weight: 800; letter-spacing: .07em; }
.adv-hero h1 { margin-bottom: .45rem; color: #fff; font-size: clamp(1.65rem, 2.9vw, 2.125rem); line-height: 1.12; }
.adv-hero-copy > p:not(.adv-kicker) { max-width: 43rem; color: #eff5ff; }
.adv-highlights { display: flex; flex-wrap: wrap; gap: .65rem 1.25rem; list-style: none; padding: 0; margin-block: .8rem 1rem !important; }
.adv-highlights li { display: flex; align-items: center; gap: .45rem; font-size: .78rem; }
.adv-highlights .adv-icon { color: #ffcb52; width: 1.6rem; height: 1.6rem; }
.adv-highlights strong { display: block; font-size: 1rem; }
.adv-hero-visual { display: grid; position: relative; min-width: 0; min-height: 170px; border-left: 7px solid #f7ba32; }
.adv-hero-visual img { width: 100%; height: 100%; min-height: 0; object-fit: contain; object-position: center; }
.adv-hero-visual > p { display: flex; align-items: center; gap: .7rem; position: absolute; right: 0; bottom: 0; width: min(100%, 32rem); padding: .55rem .9rem; background: #ffcc54; color: #192139; font-weight: 700; font-size: .85rem; }
.adv-hero-visual .adv-icon { color: currentColor; }
.adv-shell { width: min(1500px,calc(100% - 32px)); margin-inline: auto; }
.adv-layout { display: grid; grid-template-columns: minmax(0,20fr) minmax(0,54fr) minmax(0,26fr); gap: 14px; align-items: start; margin-top: 1rem; }
.adv-layout > * { min-width: 0; }
.adv-layout :is(.adv-left,.adv-right) { display: grid; gap: .9rem; }
.adv-panel { border: 1px solid var(--adv-border,#cdd8e7); border-radius: 12px; padding: clamp(.85rem, 1.4vw, 1.25rem); background: #fff; min-width: 0; }
.adv-panel h2 { font-size: clamp(1.1rem,1.45vw,1.3rem); line-height: 1.25; margin-bottom: .65rem; color: inherit; }
.adv-panel p + p { margin-top: .55rem; }
.adv-progress { list-style: none; padding: 0; display: grid; gap: .38rem; }
.adv-progress li { display: flex; align-items: flex-start; gap: .5rem; border-radius: 8px; padding: .5rem .38rem; }
.adv-progress li.is-current { background: var(--adv-gold-light); }
.adv-step-badge { display: grid; place-items: center; flex: 0 0 1.8rem; height: 1.8rem; border-radius: 100%; background: #e9eef4; font-weight: 800; }
.adv-progress .is-current .adv-step-badge, .adv-stage-title > span { background: #e4a616; color: #182343; }
.adv-progress .is-done .adv-step-badge { background: var(--adv-green); color: white; }
.adv-progress small { display: block; color: var(--adv-muted); line-height: 1.3; }
.adv-selection { display: flex; align-items: flex-start; gap: .65rem; }
.adv-selection p { font-size: .87rem; }
.adv-icon { display: inline-block; vertical-align: middle; width: 1.35rem; height: 1.35rem; flex: 0 0 auto; color: #a76a00; }
.adv-blue { background: var(--adv-blue); }
.adv-support { background: var(--adv-navy); color: #fff; }
.adv-support a { color: #ffdb87; overflow-wrap: anywhere; }
.adv-details { display: grid; }
.adv-details > div { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: .4rem .7rem; padding-block: .55rem; border-bottom: 1px solid #e2e9f2; }
.adv-details > div:last-child { border-bottom: 0; }
.adv-details dt { font-weight: 700; }
.adv-details dd { margin: 0; color: var(--adv-muted); overflow-wrap: anywhere; white-space: pre-line; }
.adv-mpesa { border: 1px solid #418b58; border-radius: 11px; padding: .8rem; background: #fff; text-align: center; }
.adv-mpesa-label { display: flex; flex-wrap: wrap; gap: .25rem .5rem; align-items: center; justify-content: space-between; font-weight: 850; font-size: 1.12rem; color: #126c37; }
.adv-mpesa-label span { font-size: .78rem; color: #254e3a; }
.adv-paybill { margin-block: .65rem .45rem; border-radius: 8px; background: #087b32; color: white; padding: .45rem .65rem; font-size: 1.15rem; font-weight: 750; }
.adv-paybill strong { font-size: 1.35rem; }
.adv-fee { background: #fff3d9; margin-top: .6rem; padding: .4rem; border-radius: 6px; font-weight: 800; }
.adv-next { padding-left: 1.2rem; }
.adv-next li + li { margin-top: .65rem; }
.adv-next p { color: var(--adv-muted); }
.adv-main { scroll-margin-top: 100px; }
.adv-stage-title { display: flex; align-items: flex-start; gap: .7rem; margin-bottom: 1rem; }
.adv-stage-title > span { display: grid; place-items: center; border-radius: 50%; flex: 0 0 2.55rem; height: 2.55rem; font-weight: 850; font-size: 1.25rem; }
.adv-stage-title h2 { font-size: clamp(1.35rem,2.2vw,1.75rem); margin-bottom: .15rem; }
.adv-stage-title p { color: var(--adv-muted); }
:is(.adv-booking,.adv-staff) fieldset { border: 0; padding: 0; min-inline-size: 0; }
:is(.adv-booking,.adv-staff) legend { padding: 0; font-weight: 750; margin-bottom: .35rem; }
.adv-service-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: .65rem; margin-bottom: 1rem; }
.adv-service-grid > label { grid-column: span 3; }
.adv-service-grid > label:nth-child(n+5) { grid-column: span 4; }
.adv-first-progress { display: none; }
.adv-choice { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: .35rem; min-width: 0; border: 1px solid #bccadd; padding: .7rem; border-radius: 10px; cursor: pointer; background: #fff; overflow-wrap: anywhere; }
.adv-choice:has(:checked) { border-color: #9a6100; box-shadow: 0 0 0 1px #9a6100; background: #fff7e5; }
.adv-choice:has(:disabled) { opacity: .62; cursor: default; }
.adv-choice > input[type=radio] { position: absolute; top: .6rem; right: .6rem; }
.adv-choice small { color: #41536f; font-size: .8rem; line-height: 1.4; }
.adv-choice strong { font-size: .9rem; line-height: 1.3; }
:is(.adv-booking,.adv-staff) :is(input[type=radio],input[type=checkbox]) { accent-color: #936100; width: 18px; height: 18px; vertical-align: middle; margin: 0; }
.adv-band, :is(.adv-booking,.adv-staff) legend.adv-band { display: flex; align-items: center; gap: .5rem; width: 100%; padding: .45rem .6rem; margin: .75rem 0; border-radius: 7px; color: var(--adv-navy); background: #e4edfc; font-size: 1rem; line-height: 1.35; }
.adv-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: .7rem; }
.adv-fields > * { min-width: 0; }
.adv-span { grid-column: 1 / -1; }
:is(.adv-booking,.adv-staff) label:not(.adv-choice,.adv-upload-button,.adv-inline) { font-weight: 650; }
:is(.adv-booking,.adv-staff) :is(input:not([type=radio],[type=checkbox],[type=file]),select,textarea) {
  display: block; min-width: 0; width: 100%; min-height: 46px; padding: .55rem .6rem; margin-top: .2rem;
  border: 1px solid #aabbd1; border-radius: 7px; background: #fcfdff; color: var(--adv-ink); font: inherit; font-size: 1rem; font-weight: 450;
}
:is(.adv-booking,.adv-staff) textarea { resize: vertical; }
.adv-required { color: #a31b2b; }
.adv-radios label, .adv-inline { display: inline-flex; align-items: center; gap: .35rem; margin: .2rem .55rem .2rem 0; min-height: 30px; }
.adv-fee-line, .adv-summary-line, .adv-hold { padding: .65rem .8rem; margin-top: .75rem !important; border-radius: 8px; background: #edf3fb; }
.adv-fee-line span { font-weight: 850; color: #805000; margin-left: .65rem; }
.adv-actions { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .55rem; margin-top: .85rem; }
.adv-button { display: inline-flex; justify-content: center; align-items: center; gap: .4rem; border: 1px solid transparent; border-radius: 8px; min-height: 44px; padding: .6rem .85rem; text-decoration: none; cursor: pointer; font: inherit; font-weight: 750; font-size: .9rem; text-align: center; white-space: normal; }
.adv-primary { background: linear-gradient(#ffcb55,#e9a91c); color: #172039; border-color: #cb8900; }
.adv-primary:hover { background: #f3b231; color: #111c35; }
.adv-secondary { color: #172e52; background: #fff; border-color: #9aaec9; }
.adv-secondary:hover { background: #edf4ff; }
.adv-button:disabled { opacity: .65; cursor: default; }
.adv-word-count { text-align: right; color: var(--adv-muted); font-size: .84rem; }
.adv-upload { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .45rem; align-items: center; margin-top: 1rem; padding: .75rem; border: 1px solid #d79515; border-radius: 9px; background: #fff5da; }
.adv-upload > div { display: flex; align-items: center; gap: .5rem; }
.adv-upload-button { position: relative; }
.adv-upload-button input { position: absolute; inset: 0; width: 100%; opacity: 0; cursor: pointer; }
.adv-upload-button:focus-within { outline: 3px solid #2563a6; outline-offset: 3px; }
.adv-upload :is(ul,progress,p[role]) { grid-column: 1 / -1; }
.adv-upload progress { width: 100%; }
.adv-files { display: grid; gap: .35rem; list-style: none; padding: 0; }
.adv-files li { display: flex; justify-content: space-between; gap: .5rem; align-items: center; border-top: 1px solid #d9e1ed; padding-top: .3rem; }
.adv-files li > span { min-width: 0; overflow-wrap: anywhere; }
.adv-files small { display: block; color: var(--adv-muted); }
.adv-files li > button:not(.adv-button) { min-height: 36px; padding-inline: .55rem; border: 1px solid #9aaec9; border-radius: 6px; background: #fff; cursor: pointer; color: #172e52; }
.adv-attendees { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: .7rem; align-items: center; margin-top: .85rem; }
.adv-schedule,.adv-review { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
.adv-schedule section { min-width: 0; }
.adv-calendar,.adv-times { border: 1px solid #d4deeb; padding: .5rem; border-radius: 9px; min-width: 0; }
.adv-month { display: grid; grid-template-columns: 40px 1fr 40px; align-items: center; text-align: center; gap: .3rem; margin-bottom: .35rem; }
.adv-month .adv-button { padding: 0; font-size: 1.4rem; }
.adv-calendar-grid { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 2px; text-align: center; }
.adv-calendar-grid strong { font-size: .75rem; }
.adv-calendar-grid button,.adv-time-grid button { min-width: 0; min-height: 44px; border: 1px solid #b0c1d9; border-radius: 5px; background: #f8fbff; color: var(--adv-ink); padding: 2px; font-weight: 700; cursor: pointer; }
.adv-calendar-grid button:disabled { background: #e9eef4; color: #66758c; cursor: default; border-color: #e9eef4; }
.adv-calendar-grid button[aria-pressed=true],.adv-time-grid button[aria-pressed=true] { background: #ffd16a; border-color: #845500; outline: 1px solid #845500; }
.adv-time-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .32rem; }
.adv-review { margin-top: .8rem; }
.adv-summary h2 { background: var(--adv-navy); color: #fff; border-radius: 7px; padding: .55rem .65rem; }
.adv-summary .adv-mpesa { margin-bottom: .7rem; }
:is(.adv-booking,.adv-staff) .adv-declaration { margin-top: 1rem; border: 1px solid #bdcce3; border-radius: 9px; background: #f0f6ff; padding: .65rem; }
.adv-declaration ul { padding: .45rem 1.25rem; }
.adv-declaration p { font-size: .84rem; }
.adv-declaration a { text-decoration: underline; }
.adv-message { margin-bottom: .8rem; padding: .65rem; color: #871b2b; background: #fff1f2; border-radius: 6px; }
.adv-document-links { justify-content: flex-start; margin-bottom: 1rem; }
.adv-legacy-link { margin-top: .65rem; }
.adv-staff-nav .adv-icon { color: #ffcb54; width: 1.25rem; height: 1.25rem; }
.adv-staff-nav[aria-current=page] { background: #153d70; color: #fff; }
.ref-admin.advisory-is-open > main > :not(header,[data-advisory-staff]) { display: none !important; }
.adv-staff { display: grid; gap: .8rem; padding: .8rem 0 3rem; min-width: 0; }
.adv-admin-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .55rem; }
.adv-admin-head h2 { font-size: clamp(1.25rem,2.25vw,1.8rem); }
.adv-admin-message:empty { display: none; }
.adv-admin-message { background: #e7f2ff; border-radius: 6px; padding: .55rem; }
.adv-admin-message.is-error { color: #871b2b; background: #fff1f2; }
.adv-kpis { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,9rem),1fr)); gap: .55rem; }
.adv-kpis article { display: grid; gap: .2rem; padding: .55rem .65rem; border: 1px solid #d2deed; border-radius: 8px; background: #fff; }
.adv-kpis strong { font-size: 1.13rem; }
.adv-kpis span { color: var(--adv-muted); font-size: .8rem; }
.adv-staff-filters { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,10rem),1fr)); align-items: end; gap: .65rem; }
.adv-table-wrap { overflow: auto; margin-top: .65rem; }
.adv-table-wrap table { width: 100%; min-width: 660px; border-collapse: collapse; text-align: left; font-size: .875rem; }
.adv-table-wrap th,.adv-table-wrap td { padding: .55rem; border-bottom: 1px solid #dce5ef; vertical-align: top; }
.adv-table-wrap th { background: #edf3fb; }
.adv-admin-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .65rem; }
.adv-admin-disclosure { border-top: 1px solid #d6e1ed; padding: .6rem 0; }
.adv-admin-disclosure summary { cursor: pointer; font-weight: 700; }
.adv-admin-disclosure form,.adv-admin-action { padding-top: .55rem; }
.adv-admin-action > .adv-button,.adv-staff form > .adv-button { margin-top: .55rem; }
@media(min-width: 1200px) {
  .adv-layout[data-adv-current="0"] { grid-template-columns: minmax(0,74fr) minmax(0,26fr); }
  .adv-layout[data-adv-current="0"] > .adv-left { display: none; }
  .adv-first-progress { display: block; margin-bottom: .9rem; }
  .adv-first-progress .adv-progress-panel { padding: .65rem; background: #f8fbff; }
  .adv-first-progress .adv-progress-panel h2 { font-size: .95rem; margin-bottom: .35rem; }
  .adv-first-progress .adv-progress { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .adv-first-progress .adv-progress small { display: none; }
  .adv-first-columns { display: grid; grid-template-columns: minmax(0,2.4fr) minmax(0,1fr); gap: .9rem; align-items: start; }
  .adv-first-details { border-left: 1px solid #dce5f0; padding-left: .85rem; }
  .adv-first-details .adv-band { margin-top: 0; }
  .adv-first-details .adv-fields { grid-template-columns: minmax(0,1fr); }
  .adv-first-details .adv-actions > .adv-button { width: 100%; }
  .adv-first-details .adv-actions > span:empty { display: none; }
}
@media(max-width: 1199px) {
  .adv-layout { grid-template-columns: minmax(0,1fr) minmax(0,3fr); }
  .adv-layout .adv-right { grid-column: 1 / -1; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .adv-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .adv-service-grid > label:nth-child(n) { grid-column: auto; }
}
@media(max-width: 767px) {
  .adv-shell { width: calc(100% - 24px); }
  .adv-hero,.adv-layout,.adv-layout .adv-right,.adv-service-grid,.adv-review,.adv-schedule,.adv-admin-detail-grid { grid-template-columns: minmax(0,1fr); }
  .adv-hero-visual { min-height: 140px; border-left: 0; border-top: 4px solid #f7ba32; }
  .adv-hero-visual img { height: auto; }
  .adv-hero-visual p { position: static; width: 100%; }
  .adv-layout .adv-right { grid-column: auto; }
  .adv-left { gap: .55rem; }
  .adv-progress { grid-template-columns: repeat(4,minmax(0,1fr)); gap: .15rem; }
  .adv-progress li { flex-direction: column; align-items: center; padding: .35rem .1rem; text-align: center; gap: .25rem; font-size: .7rem; line-height: 1.2; overflow-wrap: anywhere; }
  .adv-step-badge { width: 1.65rem; flex-basis: 1.65rem; height: 1.65rem; }
  .adv-progress small { display: none; }
  .adv-actions > .adv-button,.adv-hero-copy .adv-button { width: 100%; }
  .adv-actions > span:empty { display: none; }
}
@media(max-width: 480px) {
  .adv-fields,.adv-attendees,.adv-upload { grid-template-columns: minmax(0,1fr); }
  .adv-time-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .adv-stage-title > span { flex-basis: 2rem; height: 2rem; }
  .adv-highlights { gap: .5rem .7rem; }
}

@media(min-width: 1440px) { .adv-hero-visual img { object-fit: cover; object-position: center 42%; } }