.app-viewport{min-height:100dvh;background:var(--color-viewport-chrome)}.app-frame{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--app-max-width);height:100dvh;background:var(--color-bg);isolation:isolate;display:flex;flex-direction:column}.app-frame__content{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-frame__overlays{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50}.app-frame__overlays>*{pointer-events:auto}@media(min-width:431px){.app-frame{box-shadow:0 0 64px #00000073;border-left:1px solid rgba(255,255,255,.06);border-right:1px solid rgba(255,255,255,.06)}}.app-frame__overlays :is(.overlay-panel-backdrop,.modal-backdrop,.login-modal-backdrop,.login-airline-backdrop){position:absolute}.app-frame :is(.login-page__server-fab,.login-page__version,.flight-date-nav,.pax-action-bar){position:absolute}@font-face{font-family:BdcsIcons;src:url(/fonts/BdcsIcons.ttf) format("truetype");font-weight:400;font-style:normal;font-display:block}.bdcs-icon{font-family:BdcsIcons,sans-serif;font-style:normal;font-weight:400;line-height:1;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-menu);flex-shrink:0;speak:never;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.login-page{min-height:100vh;min-height:100dvh;background:var(--color-bg);color:var(--color-text);position:relative;width:100%}.login-page__content{padding:48px 16px 24px}.login-form{display:flex;flex-direction:column;gap:24px}.login-form__fields{display:flex;flex-direction:column;gap:16px}.login-brand{width:111px;min-height:56px;border-radius:var(--radius-xs);overflow:hidden;position:relative;display:flex;flex-direction:column;align-items:center;padding-top:6px}.login-brand__logo{display:block;width:109px;height:21px;object-fit:contain}.login-brand__tagline{position:absolute;left:3px;top:32px;margin:0;display:flex;gap:2px;align-items:flex-start;font-family:Caveat,cursive;font-size:22px;line-height:normal;letter-spacing:-.66px;color:#4c4c4c;white-space:nowrap}.login-field{display:flex;flex-direction:column;gap:8px}.login-field__label{font-size:12px;font-weight:400;line-height:normal;color:#050d1e}.login-field__control{position:relative;min-height:40px;background:var(--color-surface);border:none;border-radius:var(--radius-xs);display:flex;align-items:center}.login-field__control--button{cursor:pointer}.login-field__input{flex:1;min-width:0;width:100%;border:none;outline:none;background:transparent;padding:12px;font-size:14px;line-height:normal;color:#050d1e;font-family:inherit}.login-field__input::placeholder{color:var(--color-not-important)}.login-field__input--button{text-align:left;cursor:pointer}.login-field__placeholder{color:var(--color-not-important);font-size:14px}.login-field__value{color:#050d1e;font-size:14px}.login-field__suffix{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center}.login-field__icon-btn{border:none;background:transparent;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.login-form__submit{width:100%;min-height:40px;border:none;border-radius:var(--radius-xs);background:var(--color-line);color:#fff;font-size:14px;font-weight:700;line-height:normal;padding:12px;cursor:not-allowed}.login-form__submit--ready:not(:disabled){background:var(--color-primary);cursor:pointer}.login-form__submit:disabled{opacity:1}.login-form__error{background:#fff2f2;color:var(--color-danger);border-radius:var(--radius-xs);padding:10px 12px;font-size:13px;line-height:1.35}.login-page__server-fab{position:fixed;left:16px;bottom:19px;width:48px;height:48px;border:none;border-radius:12px;background:var(--color-surface);padding:12px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;z-index:5}.login-page__version{position:fixed;right:12px;bottom:12px;font-size:12px;line-height:1.2;color:#afafaf;z-index:4}.login-modal-backdrop,.login-airline-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:20;display:flex;align-items:center;justify-content:center;padding:16px}.login-airline-backdrop{z-index:30}.login-settings{width:min(343px,100%);background:var(--color-surface);border-radius:12px;overflow:hidden;box-shadow:0 0 8px #00000014}.login-settings__row{width:100%;min-height:56px;border:none;background:transparent;display:flex;align-items:center;gap:10px;padding:16px;font-size:14px;color:var(--color-text);text-align:left;cursor:pointer}.login-settings__row--nav{justify-content:space-between}.login-settings__row-main{display:inline-flex;align-items:center;gap:10px}.login-server-modal{width:min(343px,100%);background:var(--color-surface);border-radius:12px;overflow:hidden;box-shadow:0 0 16px #00000014}.login-server-modal__header{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:12px;border-bottom:1px solid var(--color-line)}.login-server-modal__title{font-size:14px;font-weight:400;text-transform:uppercase;color:var(--color-text)}.login-server-modal__icon-btn{border:none;background:transparent;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.login-server-modal__body{background:var(--color-bg);padding:16px;display:flex;flex-direction:column;gap:16px}.login-server-modal__item{border:none;background:transparent;display:inline-flex;align-items:center;gap:8px;padding:0;font-size:14px;color:var(--color-text);cursor:pointer;text-align:left}.login-server-modal__item--selected{color:var(--color-primary)}.login-airline-modal{width:min(343px,100%);max-height:min(70vh,420px);background:var(--color-surface);border-radius:var(--radius-xs);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-modal)}.login-airline-modal__header{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:12px;font-size:16px;font-weight:400;color:var(--color-text);border-bottom:1px solid var(--color-line)}.login-airline-modal__close{border:none;background:transparent;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.login-airline-modal__search{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--color-line)}.login-airline-modal__search input{flex:1;border:none;outline:none;font-size:14px;background:transparent;color:var(--color-text)}.login-airline-modal__search input::placeholder{color:var(--color-not-important)}.login-airline-modal__list{overflow-y:auto}.login-airline-modal__item{width:100%;min-height:48px;border:none;background:transparent;display:flex;align-items:center;gap:10px;padding:8px 16px;text-align:left;cursor:pointer}.login-airline-modal__item:hover,.login-airline-modal__item--active{background:#001b940a}.login-airline-modal__logo{width:32px;height:32px;border-radius:var(--radius-xs);background:var(--color-bg);display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.login-airline-modal__code{font-size:14px;font-weight:500;width:28px;flex-shrink:0}.login-airline-modal__name{font-size:14px;color:var(--color-text-soft);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-device-status{display:flex;align-items:center;gap:8px;flex-shrink:0}.header-device-status__btn{width:24px;height:24px;padding:0;border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;cursor:default}.header-device-status__btn img{width:24px;height:24px;object-fit:contain;display:block}.overlay-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:50;display:flex}.overlay-panel-backdrop--center{align-items:center;justify-content:center;padding:16px}.overlay-panel-backdrop--bottom{align-items:flex-end;justify-content:center}.overlay-panel-backdrop--inset-left{align-items:stretch;justify-content:flex-start;padding:16px}.overlay-panel-backdrop--inset-right{align-items:stretch;justify-content:flex-end;padding:16px}.overlay-panel{background:var(--color-surface);box-shadow:0 0 16px #00000014;overflow:hidden;display:flex;flex-direction:column}.overlay-panel--center{width:min(343px,100%);max-height:min(85vh,650px);border-radius:12px;overflow-y:auto}.overlay-panel--bottom{width:100%;max-height:min(88vh,650px);border-radius:12px 12px 0 0;overflow-y:auto}.overlay-panel--inset-left,.overlay-panel--inset-right{width:min(268px,calc(100% - 32px));max-height:none;height:auto;max-height:calc(100dvh - 32px);border-radius:12px;overflow-y:auto}.menu-accordion__header{width:100%;border:none;background:transparent;display:flex;align-items:center;justify-content:space-between;padding:20px 16px;font-size:14px;color:var(--color-text);cursor:pointer}.menu-accordion__title{display:inline-flex;align-items:center;gap:8px}.menu-accordion__items{display:flex;flex-direction:column;gap:4px;padding-bottom:8px}.menu-accordion__item{width:100%;border:none;background:transparent;display:flex;align-items:center;gap:8px;padding:8px 16px 8px 24px;font-size:12px;color:var(--color-text);text-align:left;cursor:pointer}.menu-accordion__item:disabled{opacity:.45;cursor:not-allowed}.menu-accordion__item:not(:disabled):hover{background:#001b940a}.main-menu-panel{box-shadow:0 0 8px #00000014}.main-menu__profile{display:flex;align-items:center;gap:8px;padding:32px 16px 20px}.main-menu__avatar{width:32px;height:32px;border-radius:50%;background:#fff;color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.main-menu__profile-text{min-width:0}.main-menu__welcome{font-size:14px;color:var(--color-text);line-height:1.2}.main-menu__meta{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:12px;color:var(--color-text)}.main-menu__role{display:inline-flex;align-items:center;gap:2px}.main-menu__dot{width:4px;height:4px;border-radius:50%;background:var(--color-text-soft)}.main-menu__station{display:inline-flex;align-items:center;gap:4px;text-transform:uppercase}.main-menu__airline-icon{color:var(--color-text);flex-shrink:0}.main-menu__link{width:100%;border:none;background:transparent;display:flex;align-items:center;gap:8px;padding:20px 16px;font-size:14px;color:var(--color-text);text-align:left;cursor:pointer}.main-menu__link--danger{color:var(--color-danger)}.main-menu__link:not(.main-menu__link--danger):hover{background:#001b940a}.app-header{background:var(--color-primary);color:var(--color-text-invert);padding:46px 16px 0;position:sticky;top:0;z-index:10}.app-header__top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}.app-header__profile{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.app-header__avatar{width:32px;height:32px;border-radius:50%;background:#fff;color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.app-header__profile-text{min-width:0}.app-header__welcome{font-size:14px;font-weight:400;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-header__meta{display:flex;align-items:center;gap:4px;margin-top:4px;font-size:12px;line-height:1}.app-header__role{display:inline-flex;align-items:center;gap:2px}.app-header__airline{display:inline-flex;align-items:center;gap:4px}.app-header__airline-icon{color:#fff;flex-shrink:0}.app-header__dot{width:4px;height:4px;border-radius:50%;background:#fff9;flex-shrink:0}.app-header__station-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-xs);background:#0003;font-size:14px;font-weight:500;line-height:1;flex-shrink:0}.app-header__bar{display:flex;align-items:center;gap:8px;min-height:40px;margin-bottom:8px}.app-header__nav-btn{background:transparent;border:none;color:#fff;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.app-header__title{font-size:18px;font-weight:700;margin:0;flex:1;line-height:1.2}.app-header__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.pull-to-refresh{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;position:relative}.pull-to-refresh__indicator{display:flex;align-items:center;justify-content:center;gap:8px;overflow:hidden;color:var(--color-text-soft);font-size:12px;transition:height .15s ease}.pull-to-refresh__indicator--ready,.pull-to-refresh__indicator--active{color:var(--color-primary)}.pull-to-refresh__spinner{width:16px;height:16px;border:2px solid var(--color-line);border-top-color:var(--color-primary);border-radius:50%;flex-shrink:0}.pull-to-refresh__indicator--active .pull-to-refresh__spinner{animation:pull-to-refresh-spin .8s linear infinite}.pull-to-refresh__content{transition:transform .15s ease}@keyframes pull-to-refresh-spin{to{transform:rotate(360deg)}}.airline-logo{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.airline-logo img{width:100%;height:100%;object-fit:contain;display:block}.flights-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;width:100%;background:var(--color-bg)}.flights-page__list{flex:1;min-height:0;padding:0}.flights-page__list .pull-to-refresh__content{padding:8px 16px 88px}.flights-page__list .error-banner{display:flex;flex-direction:column;gap:8px}.flight-list__retry{align-self:flex-start;border:1px solid var(--color-line);background:var(--color-surface);border-radius:var(--radius-xs);padding:8px 12px;font-size:14px;cursor:pointer}.flight-search-bar{display:flex;align-items:center;gap:8px;background:var(--color-surface);padding:8px 12px;min-height:48px}.flight-search-bar__input{flex:1;border:none;outline:none;font-size:14px;background:transparent;color:var(--color-text)}.flight-search-bar__input::placeholder{color:var(--color-not-important)}.flight-search-bar__filter{position:relative;border:1px solid var(--color-line);background:var(--color-surface);border-radius:var(--radius-xs);width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}.flight-search-bar__filter--active{border-color:var(--color-primary)}.flight-search-bar__badge{position:absolute;top:-4px;right:-4px;min-width:12px;height:12px;padding:0 2px;border-radius:999px;background:var(--color-primary);color:#fff;font-size:8px;line-height:12px;text-align:center}.flight-list,.flight-list__group,.flight-list__items{display:flex;flex-direction:column;gap:8px}.flight-group-header{background:var(--color-surface);border-radius:var(--radius-xs);padding:4px 8px;font-size:12px;color:var(--color-text);line-height:14px;display:flex;align-items:center;justify-content:space-between}.flight-group-header strong{font-weight:700}.flight-group-header__count{font-size:12px;color:var(--color-text-soft)}.flight-card{position:relative;background:var(--color-surface);border-radius:var(--radius-xs);min-height:58px;padding:8px 12px 8px 8px;cursor:pointer}.flight-card__body{display:flex;align-items:center;justify-content:space-between;gap:8px}.flight-card__info{flex:1;display:flex;align-items:center;gap:8px;min-width:0;padding-top:4px}.flight-card__airline-row{display:flex;align-items:center;gap:4px;width:79px;flex-shrink:0}.flight-card__logo{width:24px;height:24px;flex-shrink:0}.flight-card__flight-no{display:flex;flex-direction:column;gap:2px;min-width:0}.flight-card__number{font-size:12px;font-weight:500;color:var(--color-text);line-height:14px}.flight-card__reg,.flight-card__subline{font-size:10px;font-weight:400;color:var(--color-text);line-height:12px}.flight-card__dest{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:54px;min-height:42px;padding:4px 8px;border-radius:var(--radius-xs);background:var(--color-bg);flex-shrink:0}.flight-card__dest-code{font-size:12px;color:var(--color-text);line-height:14px}.flight-card__dest-time{display:inline-flex;align-items:center;gap:2px;font-size:12px;color:var(--color-text);line-height:14px}.flight-card__dest-time--open{color:var(--color-danger);font-weight:500}.flight-card__meta{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:62px;flex-shrink:0}.flight-card__gate,.flight-card__pax{display:inline-flex;align-items:center;gap:2px;font-size:10px;color:var(--color-text);line-height:11px;padding-right:4px}.flight-card__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.flight-card__checkin{border:none;background:var(--color-primary);color:#fff;border-radius:var(--radius-xs);padding:8px;font-size:12px;font-weight:400;min-width:59px;line-height:14px}.flight-card__more{border:1px solid var(--color-primary);background:transparent;border-radius:var(--radius-xs);width:30px;height:30px;padding:7px;display:inline-flex;align-items:center;justify-content:center}.flight-status-badge{position:absolute;top:0;left:0;padding:2px 4px;border-radius:var(--radius-xs) 0 var(--radius-xs) 0;font-size:8px;font-weight:500;line-height:9px;text-transform:capitalize}.flight-status-badge--default,.flight-status-badge--closed,.flight-status-badge--not-open{background:var(--color-bg);color:var(--color-not-important)}.flight-status-badge--open{background:#e3f7ee;color:#048a6c}.flight-status-badge--boarding{background:#e1e4f0;color:var(--color-primary)}.flight-status-badge--suspended{background:#fdecec;color:var(--color-danger)}.flight-status-badge--finalized{background:#eee8ff;color:#6b4fc7}.flight-status-badge--closing{background:var(--color-text);color:#fff}.flight-status-badge--departed{background:var(--color-bg);color:var(--color-not-important)}.flight-date-nav{position:fixed;left:16px;right:16px;bottom:14px;width:auto;transform:none;background:#0a1a3a;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:space-between;padding:8px 16px;z-index:20}.flight-date-nav__arrow{border:none;background:transparent;padding:0;display:inline-flex;align-items:center;justify-content:center}.flight-date-nav__center{border:none;background:transparent;color:inherit;display:flex;flex-direction:column;align-items:center;gap:4px;padding:0;min-width:97px}.flight-date-nav__primary{font-size:18px;font-weight:700;line-height:normal}.flight-date-nav__secondary{font-size:12px;font-weight:400;line-height:normal}.flight-filter-panel{box-shadow:0 -4px 24px #0000001f}.flight-date-picker-panel{background:var(--color-bg);border:1px solid #fff}.flight-date-picker{padding:16px}.flight-date-picker__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.flight-date-picker__title{display:inline-flex;align-items:center;gap:4px;color:var(--color-text)}.flight-date-picker__month{font-size:16px;font-weight:500}.flight-date-picker__year{font-size:14px;font-weight:400}.flight-date-picker__nav{border:none;background:transparent;padding:0;display:inline-flex;align-items:center;justify-content:center}.flight-date-picker__weekdays,.flight-date-picker__row{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.flight-date-picker__weekdays{margin-bottom:4px;font-size:12px;font-weight:700;text-align:center;color:var(--color-text)}.flight-date-picker__grid{display:flex;flex-direction:column;gap:4px}.flight-date-picker__day{border:none;background:transparent;width:32px;height:32px;margin:0 auto;border-radius:4px;font-size:16px;color:var(--color-text);display:inline-flex;align-items:center;justify-content:center}.flight-date-picker__day--outside{color:var(--color-not-important)}.flight-date-picker__day--selected{background:var(--color-primary);color:#fff;font-weight:700}.flight-filter-panel .flight-filter__section-label{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 8px;font-size:14px;font-weight:500;color:var(--color-not-important);text-transform:uppercase}.flight-filter__option{width:100%;border:none;background:transparent;display:flex;align-items:center;gap:8px;padding:12px 16px;font-size:14px;color:var(--color-text);text-align:left;cursor:pointer}.flight-filter__option--active{background:#2645df14;color:var(--color-primary)}.flight-filter__reset{border:none;background:transparent;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.flight-filter__fields{display:flex;flex-direction:column;gap:8px;padding:8px 16px 16px}.flight-filter__field{display:flex;flex-direction:column;gap:8px}.flight-filter__field-label{font-size:14px;color:var(--color-text)}.flight-filter__select-wrap{position:relative;display:flex;align-items:center}.flight-filter__select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-line);border-radius:var(--radius-xs);background:var(--color-surface);padding:12px 36px 12px 12px;font-size:14px;color:var(--color-text)}.flight-filter__select-wrap>svg{position:absolute;right:12px;pointer-events:none}.flight-filter__time-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.flight-filter__time-input{position:relative;display:flex;align-items:center}.flight-filter__time-input input{width:100%;border:1px solid var(--color-line);border-radius:var(--radius-xs);background:var(--color-surface);padding:12px 36px 12px 12px;font-size:14px;color:var(--color-text)}.flight-filter__time-input svg{position:absolute;right:12px;pointer-events:none}.flight-filter__actions{display:flex;flex-direction:column;gap:10px;padding:8px 16px 16px}.flight-filter__submit{width:100%;border:none;border-radius:var(--radius-xs);background:var(--color-primary);color:#fff;font-size:14px;font-weight:700;padding:12px}.flight-filter__cancel{width:100%;border:none;background:transparent;color:var(--color-text);font-size:14px;font-weight:700;padding:12px}.flight-options-panel{box-shadow:0 0 16px #00000014}.flight-options__standalone{width:100%;border:none;background:transparent;display:flex;align-items:center;gap:8px;padding:20px 16px;font-size:14px;color:var(--color-text);text-align:left;cursor:pointer}.flight-options__standalone:disabled{opacity:.45;cursor:not-allowed}@keyframes shimmer-slide{0%{background-position:-240px 0}to{background-position:calc(240px + 100%) 0}}.shimmer-block{display:block;background:linear-gradient(90deg,#e4e7ec,#f3f4f6,#e4e7ec 90%);background-size:240px 100%;animation:shimmer-slide 1.25s ease-in-out infinite;border-radius:var(--radius-xs)}.flight-list-shimmer{display:flex;flex-direction:column;gap:8px}.flight-list-shimmer__group{display:flex;align-items:center;gap:8px;background:var(--color-surface);border-radius:var(--radius-xs);padding:4px 8px;min-height:24px}.shimmer-block--circle-sm{width:12px;height:12px;border-radius:50%;flex-shrink:0}.shimmer-block--group-line{width:72px;height:10px}.flight-card-shimmer{background:var(--color-surface);border-radius:var(--radius-xs);min-height:58px;padding:8px 12px 8px 8px}.flight-card-shimmer__body{display:flex;align-items:center;justify-content:space-between;gap:8px}.flight-card-shimmer__info{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.flight-card-shimmer__airline-row{display:flex;align-items:center;gap:4px;width:79px;flex-shrink:0}.shimmer-block--circle{width:24px;height:24px;border-radius:50%;flex-shrink:0}.flight-card-shimmer__lines{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.shimmer-block--line-md{width:42px;height:10px}.shimmer-block--line-sm{width:28px;height:8px}.flight-card-shimmer__dest{display:flex;flex-direction:column;align-items:center;gap:4px;width:54px;flex-shrink:0}.shimmer-block--dest,.shimmer-block--time{width:30px;height:10px}.flight-card-shimmer__meta{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.flight-card-shimmer__route{display:flex;align-items:center;gap:4px}.shimmer-block--route-code{width:18px;height:8px}.flight-card-shimmer__plane{display:inline-flex;align-items:center;justify-content:center;width:10px;height:10px;flex-shrink:0;opacity:.85}.shimmer-block--meta-line{width:58px;height:8px}.flight-card-shimmer__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.shimmer-block--checkin{width:59px;height:30px}.shimmer-block--more{width:30px;height:30px;border-radius:var(--radius-xs)}.btn{border:none;border-radius:var(--radius-md);font-size:15px;font-weight:600;padding:12px 20px;transition:opacity .15s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:var(--color-text-invert)}.btn--primary:hover:not(:disabled){background:var(--color-primary-light)}.btn--ghost{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary)}.btn--small{padding:7px 16px;font-size:13px;border-radius:var(--radius-sm)}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:13px;color:var(--color-text-soft);font-weight:500}.field__input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:12px 14px;font-size:15px;outline:none;width:100%;min-width:0}.field__input:focus{border-color:var(--color-primary)}.badge{display:inline-block;border-radius:var(--radius-sm);font-size:11px;font-weight:700;padding:3px 8px;letter-spacing:.3px}.badge--dark{background:#1c2233;color:#fff}.badge--success{background:var(--color-success-soft);color:var(--color-success)}.badge--warning{background:#fdf3d7;color:#b78905}.badge--outline{border:1px solid var(--color-border);color:var(--color-text-soft)}.spinner{width:28px;height:28px;margin:40px auto;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0e2880;display:flex;align-items:flex-end;justify-content:center;z-index:50}.modal-backdrop--dialog{align-items:center;padding:16px}.modal{background:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:min(560px,100%);max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-modal)}.modal--dialog{border-radius:var(--radius-lg);width:min(520px,100%);max-height:min(88vh,720px)}.modal__title-row{display:flex;align-items:center;justify-content:center;position:relative;padding:16px;border-bottom:1px solid var(--color-border)}.modal--dialog .modal__title-row{justify-content:flex-start;padding:12px}.modal--dialog .modal__title-row .modal__title{padding-left:12px;text-align:left;font-size:16px;font-weight:400;letter-spacing:.2px}.modal__title-row .modal__title{padding:0;border-bottom:none}.modal__close{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:none;background:transparent;font-size:24px;line-height:1;color:var(--color-text-soft);padding:4px 8px}.modal__title{text-align:center;font-size:16px;font-weight:700;padding:16px;border-bottom:1px solid var(--color-border)}.modal__body{overflow-y:auto;overflow-x:hidden;padding:8px 16px;flex:1}.modal__footer{display:flex;gap:10px;padding:14px 16px;border-top:1px solid var(--color-border)}.empty-state{text-align:center;color:var(--color-text-soft);padding:60px 20px;font-size:14px}.error-banner{background:#fdecec;color:var(--color-danger);border-radius:var(--radius-md);padding:10px 14px;font-size:13px}.detail-page{min-height:100vh;display:flex;flex-direction:column;width:100%;background:var(--color-bg)}.detail-page--with-bar .detail-page__list{padding-bottom:72px}.detail-page__list{flex:1;padding:8px 16px 40px;display:flex;flex-direction:column;gap:8px}.detail-page__bulk{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary);border-radius:var(--radius-sm);width:30px;height:30px;font-size:18px;line-height:1;font-weight:700}.detail-page__session-banner{background:#1c2233;color:#fff;padding:10px 14px;font-size:13px;font-weight:600}.detail-page__feedback{margin:8px 12px 0}.detail-page__feedback--info{background:#eef4ff;color:var(--color-primary);border-radius:var(--radius-md);padding:10px 14px;font-size:13px}.detail-page__search{display:flex;align-items:center;gap:8px;background:var(--color-surface);padding:8px 12px;min-height:48px;color:var(--color-not-important)}.detail-page__search input{flex:1;border:none;outline:none;font-size:14px;background:transparent}.flight-info-bar{background:var(--color-primary);color:#fff;padding:8px 0;display:flex;align-items:center;gap:8px}.flight-info-bar__strip{flex:1;display:flex;align-items:center;min-height:40px;overflow-x:auto;scrollbar-width:none}.flight-info-bar__strip::-webkit-scrollbar{display:none}.flight-info-bar__airline{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;flex-shrink:0}.flight-info-bar__logo{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:2px;background:#ffffff26;font-size:8px;font-weight:800}.flight-info-bar__code{font-size:12px;font-weight:500;white-space:nowrap}.flight-info-bar__stat{display:flex;flex-direction:column;padding:0 8px;flex-shrink:0}.flight-info-bar__stat-label{font-size:9px;opacity:.75;line-height:1}.flight-info-bar__stat-value{font-size:14px;font-weight:400;line-height:1.2}.flight-info-bar__info-btn{border:none;background:transparent;padding:4px 8px;flex-shrink:0;display:inline-flex;align-items:center}.flight-info-bar__actions{display:none}.flight-info-bar__icon-btn{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:var(--radius-xs);width:30px;height:30px;font-size:14px;display:inline-flex;align-items:center;justify-content:center;padding:0}.pax-tabs{display:flex;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.pax-tabs__tab{flex:1;background:transparent;border:none;border-bottom:3px solid transparent;padding:12px 6px;font-size:14px;font-weight:600;color:var(--color-text-soft);display:flex;align-items:center;justify-content:center;gap:7px}.pax-tabs__tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.pax-tabs__count{background:var(--color-primary);color:#fff;border-radius:999px;font-size:11px;padding:2px 8px}.pax-tabs__tab:not(.pax-tabs__tab--active) .pax-tabs__count{background:var(--color-border);color:var(--color-text-soft)}.pax-card{position:relative;background:var(--color-surface);border-radius:var(--radius-xs);padding:8px 12px 8px 8px;display:flex;flex-direction:column;gap:8px;border:2px solid transparent;box-shadow:none}.pax-card--selectable{cursor:pointer}.pax-card--selectable:hover{border-color:#001b9433}.pax-card--selected{border-color:var(--color-primary);box-shadow:0 0 0 1px #001b9426}.pax-card--session{border-color:var(--color-warning)}.pax-card__check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:8px;border:2px solid var(--color-border);border-radius:4px;font-size:12px;font-weight:800;color:var(--color-primary)}.pax-card__check--on{border-color:var(--color-primary);background:#eef4ff}.pax-card__menu{border:none;background:transparent;color:var(--color-text);width:30px;height:30px;padding:7px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xs)}.pax-card__board{border:none;background:var(--color-primary);color:#fff;border-radius:var(--radius-xs);padding:8px 9.5px;font-size:12px;font-weight:400;line-height:14px}.pax-card__remove{border:none;background:transparent;color:var(--color-danger);font-size:20px;line-height:1;padding:0 6px 0 0;font-weight:700}.pax-card--compact{box-shadow:none;padding:8px 0}.detail-page__bulk--clear{color:var(--color-danger)}.pax-card--infant{margin-left:22px;border-left:3px solid var(--color-accent)}.pax-card__top{display:flex;justify-content:space-between;align-items:center;gap:8px}.pax-card__name{font-weight:700;font-size:14px;text-transform:uppercase}.pax-card__gender{color:var(--color-primary);margin-right:6px}.pax-card__chips{display:flex;gap:6px}.pax-card__bottom{display:flex;justify-content:space-between;align-items:center}.pax-card__pnr{font-size:12px;color:var(--color-text-soft);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 8px}.pax-card__meta{display:flex;gap:6px}.pax-seat{display:inline-block;border-radius:var(--radius-sm);font-size:11px;font-weight:700;padding:3px 8px;letter-spacing:.3px}.pax-seat--reserved{background:#ffe8cc;color:#b35f00;border:1px solid #e8942f}.pax-seat--checked{background:#d8f3e4;color:#1f7a4f;border:1px solid #2ea86a}.pax-seat--boarded{background:#d6e8ff;color:#1e4f99;border:1px solid #3b7bdd}.pax-action-bar{position:fixed;left:0;right:0;bottom:0;width:100%;padding:8px 16px;background:var(--color-bg);z-index:20}.pax-action-bar__inner{background:var(--color-surface);border-radius:var(--radius-xs);padding:8px;min-height:48px;display:flex;align-items:center;justify-content:center}.pax-action-bar__inner--split{gap:8px;justify-content:stretch}.pax-action-bar--hint .pax-action-bar__inner{justify-content:space-between}.pax-action-bar__hint{color:var(--color-text-soft);font-size:11px;flex:1;padding:0 4px}.pax-action-bar__cta{flex:1;border:none;background:var(--color-primary);color:#fff;border-radius:var(--radius-xs);min-height:32px;padding:8px 12px;font-size:14px;font-weight:400;display:inline-flex;align-items:center;justify-content:center;gap:6px}.pax-action-bar__cta--full{width:100%}.pax-action-bar__cta-icon{transform:rotate(180deg);flex-shrink:0}.pax-action-bar__ghost{border:1px solid var(--color-line);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-xs);padding:8px 10px;font-size:12px;white-space:nowrap}.pax-action-bar__primary,.pax-action-bar__secondary{display:none}.pax-action-bar__cta:disabled,.pax-action-bar__ghost:disabled{opacity:.45;cursor:not-allowed}.pax-action-sheet .modal__body{padding:0}.pax-action-sheet__card{padding:0 8px;border-bottom:1px solid var(--color-border)}.pax-action-sheet__items{padding:4px 0 8px;max-height:50vh;overflow-y:auto}.pax-action-sheet__name{display:none}.pax-input-modal__form{display:flex;flex-direction:column;gap:12px;padding:8px 16px 16px}.pax-input-modal__actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.pax-input-modal__hint{margin:0;font-size:13px;color:var(--color-text-soft)}.pax-info-modal__body{margin:0;padding:8px 16px 16px;max-height:55vh;overflow:auto;font-size:12px;background:#f7f8fa;border-radius:var(--radius-sm)}.flight-info-bar__menu{background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:var(--radius-sm);width:34px;height:32px;font-size:18px;line-height:1;letter-spacing:1px}.flight-info-bar__actions{display:flex;align-items:center;gap:8px}.flight-menu-modal .modal__body{padding:0}.flight-menu-strip{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;padding:6px 12px;border-bottom:1px solid var(--color-border);font-size:14px}.flight-menu-strip__logo{display:inline-flex;align-items:center;justify-content:center;min-width:25px;height:25px;padding:2px 4px;border-radius:4px;background:#fff;font-size:10px;font-weight:800;color:var(--color-text-menu)}.flight-menu-strip__flight strong{font-size:16px;font-weight:700;color:var(--color-text-menu)}.flight-menu-strip__route{display:inline-flex;align-items:center;gap:4px;margin-left:auto;flex-wrap:wrap;color:var(--color-text-menu);font-size:14px}.flight-menu-strip__dot{color:var(--color-text-soft)}.flight-menu-strip__reg{color:var(--color-not-important)}.flight-menu-sections{display:flex;flex-direction:column}.flight-menu-section{overflow:hidden}.flight-menu-section--common{background:var(--color-menu-common)}.flight-menu-section--agent{background:var(--color-menu-agent)}.flight-menu-section--supervisor{background:var(--color-menu-supervisor)}.flight-menu-section__header{width:100%;min-height:var(--menu-row-height);border:none;background:transparent;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:16px;font-weight:400;color:var(--color-text-menu)}.flight-menu-section__title{display:inline-flex;align-items:center;gap:8px}.flight-menu-section__chevron{display:inline-flex;align-items:center}.flight-menu-section__items{display:flex;flex-direction:column}.flight-menu-section__items .drawer-action{padding-left:40px}.flight-menu-switch{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-soft);cursor:not-allowed}.flight-menu-switch input{accent-color:var(--color-primary)}.seat-map-overview{display:flex;flex-direction:column;gap:18px;padding:8px 16px}.seat-map-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--color-text-soft);padding-bottom:4px}.seat-map-legend__item{display:inline-flex;align-items:center;gap:6px}.seat-map-legend__icon{width:22px;height:22px;font-size:9px}.seat-map-deck__title{font-size:12px;font-weight:700;text-transform:uppercase;color:var(--color-text-soft);margin:8px 0}.seat-map-cabin__title{background:#eceff4;border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;font-weight:700;margin-bottom:12px}.seat-map-grid{display:flex;flex-direction:column;gap:8px;overflow-x:auto;padding-bottom:4px}.seat-map-grid__header,.seat-map-grid__row{display:flex;align-items:center;justify-content:center;gap:10px;min-width:max-content}.seat-map-grid__letters{display:flex;align-items:center;gap:6px}.seat-map-grid__letter{width:28px;text-align:center;font-size:12px;font-weight:700;color:var(--color-text-soft)}.seat-map-grid__aisle{width:28px;display:flex;align-items:center;justify-content:center}.seat-map-grid__row-number{font-size:12px;font-weight:700;color:var(--color-text-soft)}.seat-map__seat{width:28px;height:28px;border-radius:8px 8px 4px 4px;border:2px solid #b8bec8;background:#e8ebf0;display:inline-flex;align-items:center;justify-content:center;position:relative}.seat-map__seat--available{border-color:#b8bec8;background:#e8ebf0}.seat-map__seat--reserved{border-color:#e8942f;background:#ffe8cc;color:#b35f00}.seat-map__seat--checked{border-color:#2ea86a;background:#d8f3e4}.seat-map__seat--boarded{border-color:#3b7bdd;background:#d6e8ff}.seat-map__seat--blocked{border-color:#b8bec8;background:#e8ebf0;color:var(--color-danger)}.seat-map__seat-label{font-size:11px;font-weight:800;line-height:1}.seat-map__seat--blocked .seat-map__seat-label{font-size:16px;font-weight:700}.seat-map__gap{width:28px;height:28px;display:inline-block}.seat-map__refresh{width:46px;height:46px;border:none;border-radius:var(--radius-md);background:var(--color-primary);color:#fff;font-size:20px}.drawer-action{width:100%;min-height:var(--menu-row-height);display:flex;align-items:center;gap:8px;border:none;background:transparent;text-align:left;padding:0 16px;color:var(--color-text-menu);font-size:16px;font-weight:400;line-height:16px}.drawer-action--dense{min-height:44px;padding-left:40px;font-size:14px}.drawer-action--danger,.drawer-action--danger .ai-icon{color:var(--color-danger)}.drawer-action:disabled,.drawer-action--disabled{opacity:.45;cursor:not-allowed}.drawer-action:not(:disabled):not(.drawer-action--disabled):hover{background:#001b940a}.drawer-action__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px}.drawer-action__title{flex:1;min-width:0}.drawer-action__trailing{flex-shrink:0;display:inline-flex;align-items:center;gap:4px}.drawer-action__badges{display:inline-flex;align-items:center;gap:8px}.drawer-action__badge{display:inline-flex;align-items:center;justify-content:center;min-width:29px;height:22px;padding:4px;border-radius:var(--radius-xs);background:var(--color-bg);font-size:10px;font-weight:500;color:var(--color-text);line-height:14px}.services-page{min-height:100vh;min-height:100dvh;width:100%;background:var(--color-bg)}.services-page__list{padding:12px;display:flex;flex-direction:column;gap:10px}.service-card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:14px 16px;display:flex;align-items:center;gap:12px}.service-card__main{flex:1;display:flex;flex-direction:column;gap:8px}.service-card__title{display:flex;align-items:center;gap:10px}.service-card__sid{background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);font-size:12px;font-weight:800;padding:3px 8px}.service-card__name{font-weight:700;font-size:15px}.service-card__meta{display:flex;gap:6px;flex-wrap:wrap}.service-card__actions{display:flex;flex-direction:column;gap:6px}.service-card__toggle{background:#fdf3d7;color:#b78905;border:none;border-radius:var(--radius-sm);padding:7px 12px;font-size:12px;font-weight:700}.service-card__delete{background:#fdecec;color:var(--color-danger);border:none;border-radius:var(--radius-sm);padding:7px 12px;font-size:12px;font-weight:700}.service-form{display:flex;flex-direction:column;gap:12px;padding:6px 0 12px}.service-form__row{display:flex;gap:10px}.service-form__row>.field{flex:1;min-width:0}.service-form fieldset{min-width:0}.service-form__check{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}.service-form__config{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;gap:10px}.service-form__config legend{font-size:12px;font-weight:700;color:var(--color-text-soft);padding:0 6px}select.field__input{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.users-page{min-height:100vh;min-height:100dvh;width:100%;background:var(--color-bg)}.users-page__list{padding:12px;display:flex;flex-direction:column;gap:10px}.user-card{background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:14px 16px;display:flex;align-items:center;gap:12px}.user-card__main{flex:1;display:flex;flex-direction:column;gap:8px}.user-card__title{display:flex;align-items:baseline;gap:8px}.user-card__name{font-weight:700;font-size:15px}.user-card__username{color:var(--color-text-soft);font-size:13px}.user-card__meta{display:flex;gap:6px;flex-wrap:wrap}.user-card__actions{display:flex;flex-direction:column;gap:6px}.user-card__toggle{background:#fdf3d7;color:#b78905;border:none;border-radius:var(--radius-sm);padding:7px 12px;font-size:12px;font-weight:700}.user-card__delete{background:#fdecec;color:var(--color-danger);border:none;border-radius:var(--radius-sm);padding:7px 12px;font-size:12px;font-weight:700}.user-form{display:flex;flex-direction:column;gap:12px;padding:6px 0 12px}.user-form__row{display:flex;gap:10px}.user-form__row>*{flex:1}.user-form__group{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;gap:10px}.user-form__group legend{font-size:12px;font-weight:700;color:var(--color-text-soft);padding:0 6px}.user-form__check{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}:root{--color-primary: #001b94;--color-primary-dark: #001266;--color-primary-light: #4d6fff;--color-accent: #4d6fff;--color-success: #48c0a2;--color-success-soft: #e3f7ee;--color-danger: #ee5b5c;--color-warning: #efb04b;--color-bg: #f0f1f3;--color-surface: #ffffff;--color-border: rgba(0, 0, 0, .12);--color-line: rgba(0, 0, 0, .12);--color-text: #050d1e;--color-text-soft: #8d8d8d;--color-text-menu: #050d1e;--color-text-invert: #ffffff;--color-not-important: #b9b9b9;--color-footer-muted: #afafaf;--color-menu-common: rgba(255, 235, 59, .12);--color-menu-agent: rgba(68, 138, 255, .12);--color-menu-supervisor: rgba(76, 175, 80, .12);--radius-xs: 4px;--radius-sm: 4px;--radius-md: 10px;--radius-lg: 12px;--radius-drawer: 0;--shadow-card: 0 1px 2px rgba(0, 0, 0, .06);--shadow-modal: 0 12px 40px rgba(12, 18, 60, .25);--shadow-drawer: 4px 0 24px rgba(0, 0, 0, .15);--drawer-width: 268px;--menu-row-height: 56px;--font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--app-max-width: 430px;--color-viewport-chrome: #050d1e}*{box-sizing:border-box}body{margin:0;font-family:var(--font-family);background:var(--color-viewport-chrome);color:var(--color-text);-webkit-font-smoothing:antialiased}#root{width:100%;min-height:100dvh;background:var(--color-viewport-chrome)}button{font-family:inherit;cursor:pointer}input{font-family:inherit}
