.admin-logo{color:#fff;text-align:center;background:#e75f3c;border-radius:7px;flex:0 0 30px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:14px;font-weight:800;line-height:1;display:inline-flex}.admin-logo>span{text-align:center;width:1em;line-height:1;display:block;transform:translateY(-.5px)}.ant-pro-sider .ant-menu-item,.ant-pro-sider .ant-menu-submenu,.ant-pro-sider .ant-menu-submenu-title,.ant-pro-sider .ant-menu-title-content,.ant-pro-sider .ant-menu-item-icon,.ant-pro-sider .ant-menu-item a,.ant-pro-sider .anticon{transition:none!important}.ant-pro-sider .ant-menu-submenu-title,.ant-pro-sider .ant-menu-submenu-title .ant-menu-title-content,.ant-pro-sider .ant-menu-submenu-title .anticon,.ant-pro-sider .ant-menu-submenu-arrow{opacity:1;color:#fff!important}.ant-pro-sider .ant-menu-submenu-title{margin-top:4px;font-weight:650}.ant-pro-sider .ant-menu-sub{border-radius:8px;margin:0 8px 6px;padding:3px 0 5px;background:#ffffff09!important}.ant-pro-sider .ant-menu-sub .ant-menu-item{width:calc(100% - 8px);margin-inline:4px}.ant-pro-sider .ant-menu-sub .ant-menu-item:before{content:"";opacity:.55;background:currentColor;border-radius:50%;width:3px;height:3px;position:absolute;left:12px}.ant-pro-sider .ant-menu-item:not(.ant-menu-item-selected):hover,.ant-pro-sider .ant-menu-item:not(.ant-menu-item-selected):hover a,.ant-pro-sider .ant-menu-item:not(.ant-menu-item-selected):hover .ant-menu-title-content,.ant-pro-sider .ant-menu-item:not(.ant-menu-item-selected):hover .ant-menu-item-icon,.ant-pro-sider .ant-menu-item:not(.ant-menu-item-selected):hover .anticon,.ant-pro-sider .ant-menu-submenu-title:hover,.ant-pro-sider .ant-menu-submenu-title:hover .ant-menu-title-content,.ant-pro-sider .ant-menu-submenu-title:hover .ant-menu-item-icon,.ant-pro-sider .ant-menu-submenu-title:hover .anticon{color:#fffffff5!important}.admin-setting-note{color:#8c8c8c;font-size:12px}.admin-page{min-height:calc(100vh - 56px)}.admin-page .ant-pro-page-container-children-container{padding-block-end:48px}.admin-stat-card .ant-statistic-title{margin-bottom:10px}.admin-section-card{margin-bottom:16px}.admin-form-actions{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border:1px solid #e5e7e3;border-radius:8px;justify-content:space-between;align-items:center;padding:14px 18px;display:flex;position:sticky;bottom:16px;box-shadow:0 10px 34px #12233c1f}.admin-repeat-card{background:#fbfbfa;margin-bottom:12px}.admin-repeat-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.admin-repeat-title{align-items:center;gap:10px;display:flex}.admin-service-mark{color:#fff;background:#e75f3c;border-radius:7px;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.admin-service-mark.is-express{background:#172a45}.admin-muted{color:#8c8c8c;font-size:12px}.admin-agreement-editor textarea{font-family:var(--font-geist-mono), "PingFang SC", monospace;line-height:1.7}.admin-station-name{color:#17243a;font-weight:650}.admin-station-address{color:#8c8c8c;font-size:12px}.admin-revision-json{background:#f5f6f4;border-radius:8px;max-height:65vh;padding:16px;font-size:12px;overflow:auto}.outlet-city-filter-card{margin-bottom:16px}.outlet-city-filter-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.outlet-city-search{width:280px}.outlet-city-select{min-width:136px}.outlet-city-summary{color:#667085;white-space:nowrap;font-size:13px}.outlet-city-collapse{background:0 0;border:0}.outlet-city-collapse>.ant-collapse-item{background:#fff;border:1px solid #e7e9ed;margin-bottom:12px;overflow:hidden;border-radius:8px!important}.outlet-city-collapse>.ant-collapse-item>.ant-collapse-header{align-items:center;padding:18px 20px}.outlet-city-collapse>.ant-collapse-item-active>.ant-collapse-header{background:#fbfcfe;border-bottom:1px solid #edf0f3}.outlet-city-collapse .ant-collapse-content{border-top:0}.outlet-city-collapse .ant-collapse-content-box{padding:0}.outlet-city-heading{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.outlet-city-heading-right{justify-content:flex-end;align-items:center;gap:16px;display:flex}.outlet-city-controls{white-space:nowrap}.outlet-city-name{color:#17243a;font-size:16px;font-weight:650}.outlet-city-counts{color:#667085;font-size:13px}.outlet-city-counts .ant-tag{margin-inline-end:0}.outlet-city-table .ant-table{border-radius:0}.outlet-city-table .ant-table-thead>tr>th{background:#f8f9fb}.outlet-secondary-table{margin:-16px -16px -16px 16px}.outlet-secondary-table .ant-table{background:#fafaff;border-left:3px solid #d9d6fe;border-radius:0}.outlet-secondary-table .ant-table-cell{background:#fafaff}.outlet-hierarchy-muted,.outlet-hierarchy-help{color:#667085}.outlet-hierarchy-help{margin:0 0 16px;line-height:1.6}@media (max-width:1100px){.outlet-city-filter-row,.outlet-city-heading,.outlet-city-heading-right{flex-direction:column;align-items:flex-start}.outlet-city-search{width:min(100%,280px)}}.rail-network-page{flex-direction:column;height:calc(100dvh - 56px);min-height:620px;display:flex;overflow:hidden}.rail-network-page>.ant-pro-page-container-warp-page-header{flex:none}.rail-network-page>.ant-pro-grid-content{flex:auto;min-height:0}.rail-network-page .ant-pro-grid-content-children,.rail-network-page .ant-pro-page-container-children-container{height:100%;min-height:0}.rail-network-page .ant-pro-page-container-children-container{flex-direction:column;padding-block-end:24px;display:flex}.rail-network-card{flex-direction:column;flex:auto;min-height:280px;margin-bottom:0;display:flex;overflow:hidden}.rail-network-card>.ant-pro-card-header{flex:none}.rail-network-card>.ant-pro-card-body{flex-direction:column;flex:auto;min-height:0;padding:0;display:flex}.rail-map-viewport{cursor:grab;background-color:#f8fafb;background-image:linear-gradient(#17243a09 1px,#0000 1px),linear-gradient(90deg,#17243a09 1px,#0000 1px);background-position:var(--rail-grid-x,0) var(--rail-grid-y,0);background-size:var(--rail-grid-size,28px) var(--rail-grid-size,28px);touch-action:none;border:1px solid #edf0f2;border-radius:10px;flex:auto;width:100%;min-height:0;position:relative;overflow:hidden}.rail-map-viewport.is-link-mode{cursor:crosshair}.rail-map-viewport.is-panning,.rail-map-viewport.is-panning .rail-map{cursor:grabbing}.rail-network-page .rail-map{z-index:auto;width:100%;min-width:0;max-width:none;height:100%;min-height:0;color:inherit;box-shadow:none;transform-origin:0 0;will-change:transform;background:0 0;border-radius:0;margin-top:0;margin-left:0;margin-right:0;padding:0;display:block;position:absolute;inset:0;overflow:visible}.rail-network-page .rail-map>*{min-width:0}.rail-map-zoom-controls{align-items:center}.rail-map-zoom-value{color:#596273;background:#fff;border-block:1px solid #d9d9d9;place-items:center;min-width:50px;padding:0 8px;font-size:12px;line-height:22px;display:inline-grid}.rail-track{z-index:1;cursor:pointer;background:#e75f3c;display:block;position:absolute;box-shadow:0 0 0 3px #fde8e1}.rail-track:after{content:"";position:absolute}.rail-track-horizontal{height:6px;transform:translateY(-3px)}.rail-track-horizontal:after{inset:-8px 0}.rail-track-vertical{width:6px;transform:translate(-3px)}.rail-track-vertical:after{inset:0 -8px}.rail-diagonal-track{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.rail-diagonal-track-hit{stroke:#0000;stroke-width:22px;pointer-events:stroke}.rail-diagonal-track-line{stroke:#e75f3c;stroke-width:6px;pointer-events:none;filter:drop-shadow(0 0 2px #fde8e1)}.rail-connection.is-disabled .rail-track{box-shadow:none;background:#aeb5be}.rail-connection.is-disabled .rail-diagonal-track-line{stroke:#aeb5be;filter:none}.rail-connection-preview{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.rail-connection-preview line{stroke:#e75f3c;stroke-width:4px;stroke-linecap:round;stroke-dasharray:10 7;filter:drop-shadow(0 0 3px #e75f3c47);animation:.7s linear infinite rail-preview-flow}@keyframes rail-preview-flow{to{stroke-dashoffset:-17px}}.rail-connection-delete{z-index:4;color:#e75f3c;cursor:pointer;opacity:0;pointer-events:none;background:#fff;border:1px solid #f2b9a8;border-radius:50%;place-items:center;width:26px;height:26px;padding:0;font-size:12px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 10px #17243a1f}.rail-connection:hover .rail-connection-delete,.rail-connection:focus-within .rail-connection-delete{opacity:1;pointer-events:auto}.rail-connection-delete:hover{color:#fff;background:#e75f3c}.rail-station-node{z-index:3;width:128px;transform:translate(-50%, -50%) scale(var(--rail-node-scale,1));transform-origin:50%;touch-action:none;-webkit-user-select:none;user-select:none;position:absolute}.rail-map:not(.is-link-mode) .rail-station-node{cursor:grab}.rail-map.is-dragging .rail-station-node{cursor:grabbing}.rail-map.is-dragging .rail-station-node:not(.is-selected){transition:none}.rail-map.is-link-mode .rail-station-node{cursor:crosshair}.rail-station-port{z-index:7;cursor:crosshair;opacity:0;pointer-events:none;background:#fff;border:2px solid #e75f3c;border-radius:50%;width:16px;height:16px;padding:0;transition:none;position:absolute;box-shadow:0 0 0 3px #ffffffe6}.rail-station-port:after{content:"";position:absolute;inset:-6px}.rail-map.is-link-mode .rail-station-port{opacity:1;pointer-events:auto}.rail-station-port-top{top:0;left:50%;transform:translate(-50%,-50%)}.rail-station-port-top-right{top:0;left:100%;transform:translate(-50%,-50%)}.rail-station-port-right{top:50%;left:100%;transform:translate(-50%,-50%)}.rail-station-port-bottom-right{top:100%;left:100%;transform:translate(-50%,-50%)}.rail-station-port-bottom{top:100%;left:50%;transform:translate(-50%,-50%)}.rail-station-port-bottom-left{top:100%;left:0;transform:translate(-50%,-50%)}.rail-station-port-left{top:50%;left:0;transform:translate(-50%,-50%)}.rail-station-port-top-left{top:0;left:0;transform:translate(-50%,-50%)}.rail-station-port:hover,.rail-station-port:focus-visible,.rail-station-port.is-selected{background:#e75f3c;transform:translate(-50%,-50%)scale(1.25);box-shadow:0 0 0 4px #e75f3c33}.rail-map.is-link-mode .rail-station-delete{display:none}.rail-station-card{background:#fff;border:1px solid #dfe4e8;border-radius:8px;flex-direction:column;justify-content:center;min-height:54px;padding:7px 28px 7px 16px;display:flex;position:relative;box-shadow:0 6px 18px #17243a14}.rail-station-city{color:#8b929b;margin-bottom:1px;font-size:10px}.rail-station-card strong{font-size:13px}.rail-station-delete{opacity:0;pointer-events:none;top:50%;right:0;transform:translateY(-50%);color:#c43f2e!important;position:absolute!important}.rail-station-node:hover .rail-station-delete,.rail-station-node:focus-within .rail-station-delete,.rail-station-delete:focus-visible{opacity:1;pointer-events:auto}.rail-station-node.is-selected .rail-station-card{background:#fff6f1;border-color:#e75f3c;box-shadow:0 0 0 3px #e75f3c24,0 8px 22px #17243a1a}.rail-station-node.is-connection-target{z-index:5}.rail-station-node.is-connection-target .rail-station-card{background:#f0fff9;border-color:#21a675;box-shadow:0 0 0 4px #21a6752e,0 10px 26px #17243a1f}.rail-station-node.is-disabled .rail-station-city,.rail-station-node.is-disabled .rail-station-card strong{color:#939aa4}.rail-candidate-filters{margin-bottom:16px}.rail-candidate-list{border-top:1px solid #f0f0f0;max-height:54vh;overflow:auto}.rail-candidate-item{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;gap:16px;min-height:66px;padding:12px 4px;display:flex}.rail-candidate-more{text-align:center;padding-top:12px}@media (max-width:768px){.admin-page .ant-pro-page-container-children-container{padding-inline:12px}.admin-form-actions{bottom:8px}.rail-network-page{height:auto;min-height:calc(100dvh - 56px);overflow:visible}.rail-network-card{min-height:480px}}.admin-auth-loading,.admin-login-page{background:radial-gradient(circle at 20% 10%,#fff3ed 0,#0000 34%),#f3f5f8;place-items:center;min-height:100vh;display:grid}.admin-login-card{border-radius:24px;width:min(440px,100vw - 32px);box-shadow:0 20px 60px #12233c24}.admin-login-card .ant-card-body{padding:36px}.admin-login-card h2{text-align:center;margin:18px 0 4px}.admin-login-card .ant-typography-secondary{text-align:center;display:block}.admin-login-brand{justify-content:center;display:flex}
