.bus-schedules_page__XZwW_{display:grid;gap:20px;width:100%;color:var(--ink-900)}.bus-schedules_pageHeader__eHgTt{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.bus-schedules_cardHeader__PxYql h4,.bus-schedules_emptyNotice__0H6Kd p,.bus-schedules_errorState__jlOFQ p,.bus-schedules_feedback__jxpmU p,.bus-schedules_groupHeader___IIeW h3,.bus-schedules_groupHeader___IIeW p,.bus-schedules_overview__mBCAI p,.bus-schedules_pageHeader__eHgTt h2,.bus-schedules_pageHeader__eHgTt p{margin:0}.bus-schedules_pageHeader__eHgTt h2{font-size:clamp(24px,3vw,31px);font-weight:820;letter-spacing:-.045em;line-height:1.2}.bus-schedules_pageHeader__eHgTt p{margin-top:8px;color:var(--ink-500);font-size:13px;line-height:1.65}.bus-schedules_button__Rf3Qs{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:7px;padding:0 15px;border:1px solid transparent;border-radius:var(--radius-control);font:inherit;font-size:13px;font-weight:740;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color .14s ease,color .14s ease,background-color .14s ease,transform .14s ease}.bus-schedules_button__Rf3Qs:not(:disabled):hover{transform:translateY(-1px)}.bus-schedules_button__Rf3Qs:not(:disabled):active{transform:translateY(0)}.bus-schedules_primaryButton__Hqz0f{color:var(--white);background:var(--brand-primary)}.bus-schedules_primaryButton__Hqz0f:not(:disabled):hover{background:var(--navy-800)}.bus-schedules_secondaryButton__OH_ii{border-color:var(--line-strong);color:var(--ink-700);background:var(--white)}.bus-schedules_secondaryButton__OH_ii:not(:disabled):hover{border-color:var(--brand-primary);color:var(--brand-primary);background:var(--brand-light)}.bus-schedules_overview__mBCAI{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px 18px;border:1px solid #bfd9e5;border-radius:var(--radius-panel);background:#f4fafc;box-shadow:var(--shadow-sm)}.bus-schedules_overviewIcon__CIueB{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;color:var(--brand-primary);background:#dceef5}.bus-schedules_overview__mBCAI>div>strong{display:block;font-size:14px;line-height:1.45}.bus-schedules_overview__mBCAI p{margin-top:3px;color:var(--ink-500);font-size:12px;line-height:1.5}.bus-schedules_overviewCount__6B3xJ{min-width:102px;padding:10px 12px;border:1px solid #cddfe7;border-radius:var(--radius-control);color:var(--ink-500);background:var(--white);font-size:12px;font-variant-numeric:tabular-nums;text-align:center}.bus-schedules_overviewCount__6B3xJ strong{color:var(--brand-primary);font-size:17px}.bus-schedules_feedback__jxpmU{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;padding:15px 16px;border:1px solid var(--line);border-radius:13px;background:var(--white)}.bus-schedules_feedback__jxpmU>svg{margin-top:1px}.bus-schedules_feedback__jxpmU strong{display:block;font-size:13px;line-height:1.45}.bus-schedules_feedback__jxpmU p{margin-top:3px;color:var(--ink-500);font-size:12px;line-height:1.55}.bus-schedules_feedback__jxpmU>button,.bus-schedules_selectedFile__HAp4q>button{display:grid;width:32px;height:32px;place-items:center;padding:0;border:0;border-radius:8px;color:currentColor;background:transparent;cursor:pointer}.bus-schedules_feedback__jxpmU>button:hover,.bus-schedules_selectedFile__HAp4q>button:hover:not(:disabled){background:rgba(255,255,255,.72)}.bus-schedules_successFeedback__Uuz3j{border-color:#b8dfd0;color:var(--success);background:var(--success-bg)}.bus-schedules_infoFeedback__EVIWO{border-color:#bfd9e5;color:var(--brand-primary);background:#f0f8fb}.bus-schedules_errorFeedback__YyKY6{border-color:#edc4c1;color:var(--danger);background:var(--danger-bg)}.bus-schedules_groups__utXB0{display:grid;gap:18px}.bus-schedules_group__x_EmS{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--white);box-shadow:var(--shadow-sm)}.bus-schedules_groupHeader___IIeW{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid var(--line);background:var(--surface-raised)}.bus-schedules_cardHeader__PxYql>div>span,.bus-schedules_groupHeader___IIeW>div>span{display:block;margin-bottom:4px;color:var(--brand-primary);font-size:10px;font-weight:760;letter-spacing:.02em}.bus-schedules_groupHeader___IIeW h3{font-size:18px;font-weight:790;letter-spacing:-.035em;line-height:1.35}.bus-schedules_groupHeader___IIeW p{margin-top:4px;color:var(--ink-500);font-size:12px;line-height:1.55}.bus-schedules_groupCount__hYXi6,.bus-schedules_previewBadge__BZm8H,.bus-schedules_statusBadge__pg_Wy{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:11px;font-weight:760;line-height:1;white-space:nowrap}.bus-schedules_groupCount__hYXi6{min-height:29px;padding:0 10px;border:1px solid var(--line);color:var(--ink-700);background:var(--white)}.bus-schedules_cardGrid__17zh1,.bus-schedules_loadingGrid__P0ddC{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.bus-schedules_cardGrid__17zh1{padding:18px}.bus-schedules_card__l_TVq{display:flex;min-width:0;overflow:hidden;flex-direction:column;border:1px solid var(--line);border-radius:13px;background:var(--white);transition:border-color .14s ease,box-shadow .14s ease}.bus-schedules_card__l_TVq:focus-within{border-color:#94bdcf;box-shadow:0 0 0 3px rgba(20,103,143,.09)}.bus-schedules_cardHeader__PxYql{display:flex;min-height:68px;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid var(--line)}.bus-schedules_cardHeader__PxYql h4{font-size:15px;font-weight:760;letter-spacing:-.025em;line-height:1.35}.bus-schedules_statusBadge__pg_Wy{min-height:25px;padding:0 9px}.bus-schedules_registeredBadge__5Dy9I{color:var(--success);background:var(--success-bg)}.bus-schedules_emptyBadge__XYWRu{color:var(--ink-500);background:#edf1f3}.bus-schedules_imageFrame__ON76a{position:relative;display:grid;aspect-ratio:16/10;overflow:hidden;place-items:center;border-bottom:1px solid var(--line);background:#edf2f4;transition:background-color .14s ease,box-shadow .14s ease}.bus-schedules_imageFrame__ON76a img{display:block;width:100%;height:100%;object-fit:contain}.bus-schedules_draggingFrame__RlL9_{background:#e6f3f8;box-shadow:inset 0 0 0 2px var(--brand-primary)}.bus-schedules_imageFallback__NSCYj{display:grid;justify-items:center;gap:5px;padding:24px;color:var(--ink-500);text-align:center}.bus-schedules_imageFallback__NSCYj svg{color:var(--brand-primary)}.bus-schedules_imageFallback__NSCYj strong{color:var(--ink-700);font-size:12px}.bus-schedules_imageFallback__NSCYj span{font-size:11px}.bus-schedules_previewBadge__BZm8H{position:absolute;top:10px;left:10px;min-height:26px;padding:0 9px;color:var(--white);background:rgba(16,40,50,.82)}.bus-schedules_dropOverlay__Xqqd0{position:absolute;inset:10px;display:grid;place-items:center;border:1px dashed var(--brand-primary);border-radius:9px;color:var(--brand-primary);background:rgba(244,250,252,.93);font-size:13px;font-weight:760}.bus-schedules_cardBody__FxFUf{display:flex;flex:1;flex-direction:column;gap:12px;padding:14px}.bus-schedules_scheduleMeta__7M4V5{display:flex;min-height:35px;align-items:center;justify-content:space-between;gap:10px}.bus-schedules_scheduleMeta__7M4V5>span{color:var(--ink-500);font-size:11px}.bus-schedules_scheduleMeta__7M4V5>strong{color:var(--ink-700);font-size:11px;font-variant-numeric:tabular-nums;font-weight:650;text-align:right}.bus-schedules_selectedFile__HAp4q{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-height:54px;padding:8px 8px 8px 11px;border:1px solid #bfd9e5;border-radius:9px;color:var(--brand-primary);background:#f4fafc}.bus-schedules_selectedFile__HAp4q>div{min-width:0}.bus-schedules_selectedFile__HAp4q span,.bus-schedules_selectedFile__HAp4q strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bus-schedules_selectedFile__HAp4q strong{color:var(--ink-900);font-size:12px;font-weight:680}.bus-schedules_selectedFile__HAp4q span{margin-top:3px;color:var(--ink-500);font-size:11px}.bus-schedules_cardActions__hDdvC{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.bus-schedules_cardActions__hDdvC>.bus-schedules_button__Rf3Qs{flex:1 1 132px}.bus-schedules_fileButton__u_kqR{position:relative}.bus-schedules_fileButton__u_kqR:focus-within{outline:3px solid rgba(20,103,143,.22);outline-offset:2px}.bus-schedules_fileButton__u_kqR input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.bus-schedules_emptyNotice__0H6Kd,.bus-schedules_staleWarning__zCDbR{display:flex;align-items:flex-start;gap:11px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--white)}.bus-schedules_emptyNotice__0H6Kd>svg{flex:0 0 auto;color:var(--brand-primary)}.bus-schedules_emptyNotice__0H6Kd strong{display:block;font-size:13px}.bus-schedules_emptyNotice__0H6Kd p{margin-top:3px;color:var(--ink-500);font-size:12px}.bus-schedules_staleWarning__zCDbR{align-items:center;border-color:#e5d3ae;color:var(--warning);background:var(--warning-bg);font-size:12px;line-height:1.5}.bus-schedules_staleWarning__zCDbR span{flex:1}.bus-schedules_staleWarning__zCDbR button{padding:3px 0;border:0;color:inherit;background:transparent;font:inherit;font-weight:760;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.bus-schedules_errorState__jlOFQ{display:grid;min-height:340px;place-content:center;justify-items:center;gap:8px;padding:30px;border:1px dashed #dfb9b6;border-radius:var(--radius-panel);color:var(--danger);background:#fffafa;text-align:center}.bus-schedules_errorState__jlOFQ strong{margin-top:3px;color:var(--ink-900);font-size:14px}.bus-schedules_errorState__jlOFQ p{max-width:48ch;color:var(--ink-500);font-size:12px;line-height:1.55}.bus-schedules_errorState__jlOFQ .bus-schedules_button__Rf3Qs{margin-top:7px}.bus-schedules_loadingGrid__P0ddC{padding:18px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--white)}.bus-schedules_loadingCard__OCqdV{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:13px}.bus-schedules_loadingHeading__04CDH,.bus-schedules_loadingImage__SVT__,.bus-schedules_loadingLine__Kxxk0{display:block;border-radius:8px;background:#e7edf0;animation:bus-schedules_loadingPulse__Jq4vZ 1.35s ease-in-out infinite alternate}.bus-schedules_loadingHeading__04CDH{width:42%;height:18px}.bus-schedules_loadingImage__SVT__{width:100%;aspect-ratio:16/10}.bus-schedules_loadingLine__Kxxk0{width:68%;height:12px}.bus-schedules_visuallyHidden__YbeMF{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@keyframes bus-schedules_loadingPulse__Jq4vZ{0%{opacity:.52}to{opacity:1}}@media (max-width:760px){.bus-schedules_page__XZwW_{gap:16px}.bus-schedules_pageHeader__eHgTt{align-items:stretch;flex-direction:column;gap:14px}.bus-schedules_pageHeader__eHgTt .bus-schedules_button__Rf3Qs{align-self:flex-start}.bus-schedules_overview__mBCAI{grid-template-columns:auto minmax(0,1fr)}.bus-schedules_overviewCount__6B3xJ{grid-column:1/-1;width:100%}.bus-schedules_groupHeader___IIeW{padding:18px}.bus-schedules_cardGrid__17zh1{padding:14px}}@media (max-width:520px){.bus-schedules_pageHeader__eHgTt h2{font-size:25px}.bus-schedules_overview__mBCAI{align-items:flex-start;padding:15px}.bus-schedules_overviewIcon__CIueB{width:40px;height:40px}.bus-schedules_groupHeader___IIeW{align-items:stretch;flex-direction:column;gap:12px}.bus-schedules_groupCount__hYXi6{align-self:flex-start}.bus-schedules_cardGrid__17zh1,.bus-schedules_loadingGrid__P0ddC{grid-template-columns:minmax(0,1fr)}.bus-schedules_cardActions__hDdvC{display:grid;grid-template-columns:1fr}.bus-schedules_scheduleMeta__7M4V5{align-items:flex-start;flex-direction:column;gap:4px}.bus-schedules_scheduleMeta__7M4V5>strong{text-align:left}.bus-schedules_staleWarning__zCDbR{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.bus-schedules_button__Rf3Qs,.bus-schedules_card__l_TVq,.bus-schedules_imageFrame__ON76a,.bus-schedules_loadingHeading__04CDH,.bus-schedules_loadingImage__SVT__,.bus-schedules_loadingLine__Kxxk0{animation:none;transition:none}}