body,html{height:100%;width:100%}input::-ms-clear,input::-ms-reveal{display:none}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0);font-family:sans-serif;line-height:1.15}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:initial;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{font-weight:500;margin-bottom:.5em;margin-top:0}p{margin-bottom:1em;margin-top:0}abbr[data-original-title],abbr[title]{border-bottom:0;cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=number],input[type=password],input[type=text],textarea{-webkit-appearance:none}dl,ol,ul{margin-bottom:1em;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}code,kbd,pre,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-bottom:1em;margin-top:0;overflow:auto}figure{margin:0 0 1em}img{border-style:none;vertical-align:middle}[role=button],a,area,button,input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{caption-side:bottom;padding-bottom:.3em;padding-top:.75em;text-align:left}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{color:inherit;display:block;font-size:1.5em;line-height:inherit;margin-bottom:.5em;max-width:100%;padding:0;white-space:normal;width:100%}progress{vertical-align:initial}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:none;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{background-color:#feffe6;padding:.2em}:root{--metro-bg:#f5f6f8;--metro-surface:#fff;--metro-surface-muted:#fafbfc;--metro-border:#d9dee7;--metro-border-strong:#c3cfde;--metro-text:#1f2937;--metro-text-soft:#667085;--metro-heading:#111827;--metro-blue:#4b6b95;--metro-blue-soft:#e9eef5;--metro-danger:#c45151;--metro-radius:8px;--metro-radius-lg:10px}*,:after,:before{box-sizing:border-box}#root,body,html{margin:0;min-height:100%;width:100%}body{background:#eef6ff;background:var(--metro-bg);color:#243044;color:var(--metro-text);font-family:Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif;min-height:100vh}.ant-layout{background:#0000}.metro-app-shell{min-height:100vh;padding:16px}.metro-app-shell,.metro-workbench{background:#eef6ff;background:var(--metro-bg)}.metro-workbench{border:1px solid #cfe0f3;border:1px solid var(--metro-border);border-radius:12px;min-height:calc(100vh - 32px);overflow:hidden}.metro-header{background:#fff!important;background:var(--metro-surface)!important;border-bottom:1px solid #cfe0f3;border-bottom:1px solid var(--metro-border);height:54px;min-height:54px;padding:0 16px}.app-header{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:220px minmax(0,1fr) auto;height:100%}.metro-brand-panel,.metro-canvas-stage,.metro-info-panel,.metro-sider,.metro-toolbar-panel,.metro-user-panel{min-width:0}.metro-brand-panel{align-items:center;display:flex;gap:12px}.metro-brand-mark{align-items:center;display:inline-flex;gap:10px}.metro-brand-mark__dot{background:#2563eb;background:var(--metro-blue);border-radius:999px;height:10px;width:10px}.metro-brand-title{color:#111827;color:var(--metro-heading);font-size:15px;font-weight:700;line-height:1.15}.metro-brand-subtitle{color:#64748b;color:var(--metro-text-soft);font-size:11px;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}.metro-brand-mapname{color:#64748b;color:var(--metro-text-soft);font-size:12px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metro-brand-meta,.metro-canvas-overlay{display:none}.metro-toolbar-panel{min-width:0}.metro-user-panel{align-items:center;display:flex;justify-content:flex-end}.metro-action-buttons{margin-right:10px}.metro-action-buttons,.user-chip{align-items:center;display:inline-flex;gap:8px}.user-chip{background:#0000;border:0;box-shadow:none;min-width:0;padding:0}.user-chip__meta{line-height:1.25;min-width:0}.user-chip__name{color:#111827;color:var(--metro-heading);font-size:13px;font-weight:600}.user-chip__email{color:#64748b;color:var(--metro-text-soft);font-size:12px}.metro-logout-btn.ant-btn,.metro-user-link.ant-btn{border-radius:8px;border-radius:var(--metro-radius);font-size:12px;height:28px;padding:0 10px}.metro-user-link.ant-btn{color:#64748b;color:var(--metro-text-soft)}.metro-logout-btn.ant-btn{background:#f8fbff!important;background:var(--metro-surface-muted)!important;border:1px solid #cfe0f3!important;border:1px solid var(--metro-border)!important;color:#243044!important;color:var(--metro-text)!important}.metro-body{background:#eef6ff;background:var(--metro-bg);display:flex;flex:1 1 auto;gap:12px;min-height:0;padding:12px 16px 16px}.metro-sider.ant-layout-sider{background:#0000!important;flex:0 0 252px!important;max-width:252px!important;min-width:252px!important;width:252px!important}.metro-canvas-stage,.metro-info-panel,.metro-sider{background:#fff;background:var(--metro-surface);border:1px solid #cfe0f3;border:1px solid var(--metro-border);border-radius:10px;border-radius:var(--metro-radius-lg)}.metro-content{background:#0000!important;flex:1 1 auto;min-width:0}.metro-canvas-stage{height:100%;min-height:calc(100vh - 130px);overflow:hidden;position:relative}.metro-canvas-surface{height:100%;position:relative;width:100%}.metro-info-panel{flex:0 0 212px;gap:12px;max-width:212px;min-width:212px;width:212px}.metro-info-panel,.metro-info-section{display:flex;flex-direction:column;padding:12px}.metro-info-section{background:#f8fbff;background:var(--metro-surface-muted);border:1px solid #cfe0f3;border:1px solid var(--metro-border);border-radius:8px;border-radius:var(--metro-radius);gap:8px}.metro-info-section__label{color:#64748b;color:var(--metro-text-soft);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.metro-info-section__value{color:#111827;color:var(--metro-heading);font-size:14px;font-weight:600}.metro-info-section__text{color:#64748b;color:var(--metro-text-soft);font-size:12px;line-height:1.6}.metro-info-stats{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.metro-info-stat{background:#fff;background:var(--metro-surface);border:1px solid #cfe0f3;border:1px solid var(--metro-border);border-radius:6px;display:flex;flex-direction:column;gap:2px;padding:8px}.metro-info-stat span{color:#64748b;color:var(--metro-text-soft);font-size:11px}.metro-info-stat strong{color:#111827;color:var(--metro-heading);font-size:13px}.metro-info-actions{display:flex;flex-direction:column;gap:8px}.metro-info-action.ant-btn{background:#fff;background:var(--metro-surface);border:1px solid #cfe0f3;border:1px solid var(--metro-border);border-radius:8px;border-radius:var(--metro-radius);color:#243044;color:var(--metro-text);font-weight:600;height:32px;width:100%}.metro-info-action--primary.ant-btn{background:#2563eb;background:var(--metro-blue);border-color:#2563eb;border-color:var(--metro-blue);color:#fff}.metro-sidebar{height:100%;overflow-y:auto;padding:12px}.metro-sidebar__badge{align-items:center;background:#e8f1ff;background:var(--metro-blue-soft);border-radius:6px;color:#2563eb;color:var(--metro-blue);display:inline-flex;font-size:11px;font-weight:700;padding:4px 8px}.metro-sidebar__title{color:#111827;color:var(--metro-heading);font-size:20px;font-weight:700;line-height:1.2;margin-top:12px}.metro-sidebar__subtitle{color:#64748b;color:var(--metro-text-soft);font-size:12px;line-height:1.6;margin-top:8px}.metro-sidebar__section{margin-top:16px}.metro-sidebar__section-head{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:10px}.metro-sidebar__section-title{color:#64748b;color:var(--metro-text-soft);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.metro-sidebar__ghost-btn.ant-btn{background:#fff;background:var(--metro-surface);border:1px solid #cfe0f3;border:1px solid var(--metro-border);border-radius:8px;border-radius:var(--metro-radius);color:#243044;color:var(--metro-text);font-weight:600;height:30px;padding:0 10px}.metro-line-list,.metro-station-list{display:flex;flex-direction:column;gap:8px}.metro-line-card{background:#fff;background:var(--metro-surface);border:1px solid #cfe0f3;border:1px solid var(--metro-border);border-radius:8px;border-radius:var(--metro-radius);overflow:hidden;position:relative}.metro-line-card.is-active{background:#f7f9fc;border-color:#93b7dc;border-color:var(--metro-border-strong)}.metro-line-card__accent{height:100%;left:0;position:absolute;top:0;width:4px}.metro-line-card__body{padding:12px;position:relative}.metro-line-card__top{align-items:flex-start;display:flex;gap:8px;justify-content:space-between}.metro-line-card__meta{display:flex;gap:8px;min-width:0}.metro-line-card__swatch{border-radius:999px;height:10px;margin-top:5px;width:10px}.metro-line-card__name{color:#111827;color:var(--metro-heading);font-size:14px;font-weight:600}.metro-line-card__sub{color:#64748b;color:var(--metro-text-soft);display:flex;flex-wrap:wrap;font-size:11px;gap:6px;margin-top:4px}.metro-line-card__action.ant-btn{border-radius:6px;color:#64748b!important;color:var(--metro-text-soft)!important;height:28px;padding:0 8px}.metro-line-card__stations{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.metro-line-card__station-tag{background:#e8f1ff;background:var(--metro-blue-soft);border-radius:6px;color:#2563eb;color:var(--metro-blue);font-size:11px;font-weight:600;padding:4px 8px}.metro-empty-card,.metro-station-item{background:#f8fbff;background:var(--metro-surface-muted);border:1px dashed #cfe0f3;border:1px dashed var(--metro-border);border-radius:8px;border-radius:var(--metro-radius)}.metro-empty-card{color:#64748b;color:var(--metro-text-soft);font-size:12px;line-height:1.6;padding:12px}.metro-station-item{align-items:center;color:#111827;color:var(--metro-heading);display:flex;font-size:12px;gap:8px;justify-content:space-between;padding:10px 12px}.metro-station-item__coords{color:#64748b;color:var(--metro-text-soft)}.metro-toolbar{justify-content:space-between}.metro-toolbar,.metro-toolbar__left,.metro-toolbar__right{align-items:center;display:flex;gap:8px;min-width:0}.metro-toolbar__left{flex:1 1 auto}.metro-toolbar__right{justify-content:flex-end}.metro-toolbar :where(.ant-btn){border-radius:8px;border-radius:var(--metro-radius);font-weight:600;height:32px;padding:0 12px}.metro-toolbar__primary.ant-btn{background:#2563eb;background:var(--metro-blue);border-color:#2563eb;border-color:var(--metro-blue);color:#fff}.metro-toolbar__secondary.ant-btn{background:#fff;background:var(--metro-surface);border-color:#cfe0f3;border-color:var(--metro-border);color:#243044;color:var(--metro-text)}.metro-toolbar__select.ant-select{min-width:180px}.metro-toolbar__select :where(.ant-select-selector){background:#fff!important;background:var(--metro-surface)!important;border-color:#cfe0f3!important;border-color:var(--metro-border)!important;border-radius:8px!important;border-radius:var(--metro-radius)!important;box-shadow:none!important;height:32px!important;padding:0 10px!important}.metro-toolbar__select :where(.ant-select-selection-item),.metro-toolbar__select :where(.ant-select-selection-placeholder){font-size:12px;line-height:30px!important}.metro-select-option{align-items:center;display:flex;gap:8px}.metro-select-option__dot{border-radius:999px;height:10px;width:10px}.metro-add-line-form__field+.metro-add-line-form__field{margin-top:16px}.metro-form-label{color:#64748b;color:var(--metro-text-soft);font-size:11px;font-weight:700;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.metro-color-grid{display:flex;flex-wrap:wrap;gap:8px}.metro-color-swatch{border:2px solid #fff;border-radius:999px;box-shadow:inset 0 0 0 1px #11182714;cursor:pointer;height:24px;width:24px}.metro-color-swatch.is-active{box-shadow:inset 0 0 0 2px #fff,0 0 0 1px #2563eb;box-shadow:inset 0 0 0 2px #fff,0 0 0 1px var(--metro-blue)}.metro-modal-root :where(.ant-modal-mask){background:#11182738}.metro-modal-root :where(.ant-modal-content){background:#fff;background:var(--metro-surface);border:1px solid #cfe0f3;border:1px solid var(--metro-border);border-radius:10px;border-radius:var(--metro-radius-lg);box-shadow:0 12px 24px #0f172a14;overflow:hidden;padding:0}.metro-modal-root :where(.ant-modal-header){background:#fff;background:var(--metro-surface);border-bottom:1px solid #cfe0f3;border-bottom:1px solid var(--metro-border);margin-bottom:0;padding:12px 16px}.metro-modal-root :where(.ant-modal-body){padding:16px}.metro-modal-root :where(.ant-modal-footer){border-top:1px solid #cfe0f3;border-top:1px solid var(--metro-border);margin-top:0;padding:12px 16px 16px}.metro-modal-root :where(.ant-modal-footer .ant-btn){border-radius:8px;border-radius:var(--metro-radius);font-weight:600;height:32px;min-width:84px}.metro-modal-root :where(.ant-modal-footer .ant-btn-primary){background:#2563eb;background:var(--metro-blue);border-color:#2563eb;border-color:var(--metro-blue)}.metro-modal-root :where(.ant-input),.metro-modal-root :where(.ant-input-affix-wrapper),.metro-modal-root :where(.ant-picker),.metro-modal-root :where(.ant-select-selector){border-color:#cfe0f3!important;border-color:var(--metro-border)!important;border-radius:8px!important;border-radius:var(--metro-radius)!important;box-shadow:none!important}.metro-modal-title{align-items:center;cursor:move;display:flex;gap:8px;-webkit-user-select:none;user-select:none}.metro-modal-title__text{color:#111827;color:var(--metro-heading);font-size:15px;font-weight:600}.auth-layout{align-items:center;background:#eef6ff;background:var(--metro-bg);display:flex;justify-content:center;padding:24px}.auth-card{background:#fff!important;background:var(--metro-surface)!important;border:1px solid #cfe0f3!important;border:1px solid var(--metro-border)!important;border-radius:12px!important;box-shadow:none!important;margin:0 auto;width:min(1120px,100%)}.auth-card__inner{display:grid;min-height:min(760px,calc(100vh - 48px))}.auth-card__info{background:#5e7898;color:#fff;display:flex;flex-direction:column;gap:16px;padding:32px}.auth-badge{align-items:center;background:#ffffff14;border:1px solid #ffffff38;border-radius:var(--metro-radius);display:inline-flex;gap:8px;padding:6px 10px;width:-webkit-fit-content;width:fit-content}.auth-badge__dot{background:#fff;border-radius:999px;height:8px;width:8px}.auth-badge__text{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.auth-title{color:#fff!important;font-size:38px!important;font-weight:700!important;line-height:1.18!important;margin:8px 0 0!important}.auth-subtitle{color:#ffffffe6!important;display:block;font-size:16px;line-height:1.6;max-width:520px}.auth-highlights{display:flex;flex-direction:column;gap:10px}.auth-highlight{align-items:center;color:#ffffffeb;display:flex;font-size:13px;gap:10px}.auth-highlight .dot{background:#fff;border-radius:999px;height:6px;width:6px}.auth-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));inset:auto;position:relative}.auth-grid__card{background:#ffffff14;border:1px solid #ffffff29;border-radius:var(--metro-radius);padding:14px}.auth-grid__eyebrow{color:#ffffffb8;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.auth-grid__value{font-size:24px;font-weight:700;line-height:1.1}.auth-grid__copy{color:#ffffffd6;font-size:12px;line-height:1.6}.auth-card__form{background:#eef6ff;background:var(--metro-bg);padding:32px}.auth-form-shell{background:#0000;border:0;border-radius:0;box-shadow:none;margin:0 auto;padding:0;width:min(420px,100%)}.auth-form-title{color:#111827!important;color:var(--metro-heading)!important;font-size:28px!important;font-weight:700!important;margin:0!important}.auth-form-subtitle{color:#64748b!important;color:var(--metro-text-soft)!important;display:block;font-size:13px;margin-top:8px}.auth-switcher{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.auth-switcher__btn{background:#eef1f5;border:1px solid #cfe0f3;border:1px solid var(--metro-border);border-radius:8px;border-radius:var(--metro-radius);color:#243044;color:var(--metro-text);cursor:pointer;font-size:13px;font-weight:600;height:36px}.auth-switcher__btn.is-active{background:#2563eb;background:var(--metro-blue);border-color:#2563eb;border-color:var(--metro-blue)}.auth-form{margin-top:16px}.auth-form :where(.ant-form-item){margin-bottom:12px}.auth-form :where(.ant-form-item-label){padding-bottom:4px}.auth-form :where(.ant-form-item-label>label){color:#64748b;color:var(--metro-text-soft);font-size:12px}.auth-form :where(.ant-form-item-label>label:after){display:none}.auth-form :where(.ant-input),.auth-form :where(.ant-input-affix-wrapper){background:#fff;background:var(--metro-surface);border-color:#cfe0f3;border-color:var(--metro-border);border-radius:var(--metro-radius);box-shadow:none}.auth-form :where(.ant-input-affix-wrapper:hover),.auth-form :where(.ant-input:hover){border-color:#93b7dc;border-color:var(--metro-border-strong)}.auth-form :where(.ant-input-affix-wrapper:focus-within),.auth-form :where(.ant-input:focus){border-color:#2563eb;border-color:var(--metro-blue);box-shadow:0 0 0 2px #4b6b951f}.auth-form :where(.ant-input),.auth-form :where(.ant-input-affix-wrapper),.auth-form :where(.ant-input-password){min-height:40px}.auth-submit-btn.ant-btn{background:#2563eb;background:var(--metro-blue);border:0;border-radius:var(--metro-radius);box-shadow:none;font-weight:600;height:40px;margin-top:4px}.auth-form-footer{border-top:1px solid #cfe0f3;border-top:1px solid var(--metro-border);color:#64748b;color:var(--metro-text-soft);font-size:12px;line-height:1.6;margin-top:14px;padding-top:12px}@media (max-width:1180px){.app-header{grid-template-columns:minmax(0,1fr) auto}.metro-toolbar-panel{grid-column:1/-1}.metro-brand-mapname{display:none}}@media (max-width:1080px){.metro-body{flex-wrap:wrap}.metro-info-panel,.metro-sider.ant-layout-sider{flex:0 0 100%!important;max-width:100%!important;min-width:100%!important;width:100%!important}.metro-canvas-stage{min-height:60vh}.auth-card__inner{grid-template-columns:1fr;min-height:auto}.auth-card__info{min-height:360px}}@media (max-width:900px){.metro-app-shell{padding:10px}.metro-workbench{min-height:calc(100vh - 20px)}.metro-header{height:auto;min-height:54px;padding:10px 12px}.app-header{gap:10px;grid-template-columns:1fr}.metro-body{padding:10px 12px 12px}.metro-toolbar{align-items:stretch;flex-direction:column}.metro-toolbar__left,.metro-toolbar__right{flex-wrap:wrap;width:100%}.metro-user-panel{justify-content:flex-start}.auth-layout{padding:12px}.auth-card__form,.auth-card__info{padding:20px}.auth-title{font-size:30px!important}.auth-subtitle{font-size:14px}.auth-grid{grid-template-columns:1fr}}:root{--metro-bg:#eef6ff;--metro-surface-muted:#f8fbff;--metro-border:#cfe0f3;--metro-border-strong:#93b7dc;--metro-text:#243044;--metro-text-soft:#64748b;--metro-blue:#2563eb;--metro-blue-soft:#e8f1ff}.metro-app-shell{background:linear-gradient(180deg,#f8fbff,#eef6ff);padding:8px}.metro-workbench{background:#f8fbff;border-color:#bdd5ef;border-radius:10px;min-height:calc(100vh - 16px)}.metro-header{height:50px;min-height:50px;padding:0 12px}.app-header{gap:10px;grid-template-columns:190px minmax(420px,1fr) auto}.metro-brand-title{font-size:14px}.metro-brand-mapname,.metro-brand-subtitle,.user-chip__email{font-size:10px}.metro-brand-subtitle,.metro-sidebar__subtitle{display:none}.metro-body{background:#f8fbff;gap:8px;padding:8px}.metro-sider.ant-layout-sider{flex-basis:238px!important;max-width:238px!important;min-width:238px!important;width:238px!important}.metro-info-panel{display:none}.metro-canvas-stage{background:#fff;border-color:#bdd5ef;box-shadow:inset 0 0 0 1px #2563eb08;min-height:calc(100vh - 84px)}.metro-sider{background:#fff;border-color:#d6e6f7}.metro-sidebar{padding:10px}.metro-sidebar__title{font-size:18px;margin-top:8px}.metro-sidebar__subtitle{font-size:11px;line-height:1.55}.metro-empty-card,.metro-info-section,.metro-line-card,.metro-station-item{border-color:#d7e6f6}.metro-line-card.is-active{background:#eff6ff;border-color:#60a5fa}.auth-submit-btn.ant-btn,.auth-switcher__btn.is-active,.metro-info-action--primary.ant-btn,.metro-toolbar__primary.ant-btn{background:#2563eb;border-color:#2563eb}.metro-logout-btn.ant-btn,.metro-sidebar__ghost-btn.ant-btn,.metro-toolbar__secondary.ant-btn{background:#fff!important;border-color:#cfe0f3!important}.metro-canvas-tools{align-items:center;display:flex;gap:10px;left:14px;max-width:calc(100% - 120px);pointer-events:none;position:absolute;top:14px;z-index:20}.metro-tool-group{background:#fffffff5;border:1px solid #cfe0f3;border-radius:8px;box-shadow:0 8px 20px #0f172a14;display:inline-flex;gap:2px;padding:4px;pointer-events:auto}.metro-tool-button{background:#0000;border:0;border-radius:6px;color:#334155;cursor:pointer;font:inherit;font-size:12px;font-weight:700;height:30px;min-width:48px;padding:0 10px}.metro-tool-button:hover{background:#eff6ff;color:#1d4ed8}.metro-tool-button.is-active{background:#2563eb;color:#fff}.metro-tool-hint{background:#fffffff5;border:1px solid #cfe0f3;border-radius:8px;box-shadow:0 8px 20px #0f172a14;color:#475569;font-size:12px;line-height:1.45;max-width:min(560px,54vw);padding:8px 10px;pointer-events:none}.metro-user-panel{gap:8px}.metro-action-btn.ant-btn{background:#fff;border-color:#cfe0f3;border-radius:8px;color:#334155;font-size:12px;font-weight:700;height:30px;padding:0 10px}.metro-action-btn--primary.ant-btn{background:#2563eb;border-color:#2563eb;color:#fff}.metro-action-btn--warn.ant-btn{display:none}.metro-settings-panel{display:flex;flex-direction:column;gap:18px}.metro-settings-section{display:flex;flex-direction:column;gap:10px}.metro-settings-label{color:#111827;color:var(--metro-heading);font-size:12px;font-weight:700}.metro-settings-footer{display:flex;justify-content:flex-end;padding-top:4px}.metro-settings-control{display:flex;flex-direction:column;gap:4px}.metro-settings-color-row,.metro-settings-control__row{align-items:center;color:#243044;color:var(--metro-text);display:flex;font-size:12px;gap:12px;justify-content:space-between}.metro-settings-reset-row{display:flex;justify-content:flex-end}.metro-settings-control__row strong{color:#111827;color:var(--metro-heading);font-size:12px}.metro-settings-control :where(.ant-slider){margin:4px 4px 2px}.metro-app-shell[data-interface-theme=dark]{--metro-bg:#0f172a;--metro-surface:#111827;--metro-surface-muted:#172033;--metro-border:#29364d;--metro-border-strong:#3b82f6;--metro-text:#dbeafe;--metro-text-soft:#94a3b8;--metro-heading:#f8fafc;--metro-blue:#3b82f6;--metro-blue-soft:#3b82f62e;background:#0f172a}.metro-app-shell[data-interface-theme=dark] .metro-body,.metro-app-shell[data-interface-theme=dark] .metro-header,.metro-app-shell[data-interface-theme=dark] .metro-workbench{background:#0f172a!important;border-color:#29364d}.metro-app-shell[data-interface-theme=dark] .metro-action-btn.ant-btn,.metro-app-shell[data-interface-theme=dark] .metro-canvas-stage,.metro-app-shell[data-interface-theme=dark] .metro-empty-card,.metro-app-shell[data-interface-theme=dark] .metro-line-card,.metro-app-shell[data-interface-theme=dark] .metro-sidebar__ghost-btn.ant-btn,.metro-app-shell[data-interface-theme=dark] .metro-sider,.metro-app-shell[data-interface-theme=dark] .metro-station-item,.metro-app-shell[data-interface-theme=dark] .metro-toolbar__secondary.ant-btn{background:#111827!important;border-color:#29364d!important;color:#dbeafe!important}.metro-app-shell[data-interface-theme=dark] .metro-action-btn--primary.ant-btn,.metro-app-shell[data-interface-theme=dark] .metro-toolbar__primary.ant-btn{background:#3b82f6!important;border-color:#3b82f6!important;color:#fff!important}.metro-app-shell[data-interface-theme=dark] .metro-line-card.is-active{background:#3b82f624;border-color:#3b82f6}.metro-app-shell[data-interface-theme=dark] .metro-canvas-surface.is-canvas-dark{background-color:#0f172a!important}.metro-app-shell[data-interface-theme=dark] .metro-canvas-surface>div[style*="bottom: 16"][style*="right: 16"],.metro-app-shell[data-interface-theme=dark] .metro-tool-group,.metro-app-shell[data-interface-theme=dark] .metro-tool-hint{background:#111827f5!important;border-color:#29364d!important;color:#dbeafe!important}.metro-app-shell[data-interface-theme=dark] .metro-tool-button{color:#dbeafe}.metro-app-shell[data-interface-theme=dark] .metro-tool-button:hover{background:#3b82f62e;color:#fff}body[data-interface-theme=dark] .metro-modal-root :where(.ant-modal-content),body[data-interface-theme=dark] .metro-modal-root :where(.ant-modal-footer),body[data-interface-theme=dark] .metro-modal-root :where(.ant-modal-header){background:#111827;border-color:#29364d}body[data-interface-theme=dark] .metro-modal-root :where(.ant-form-item-label>label),body[data-interface-theme=dark] .metro-modal-root :where(.ant-modal-title),body[data-interface-theme=dark] .metro-modal-title__text,body[data-interface-theme=dark] .metro-settings-label{color:#f8fafc!important}body[data-interface-theme=dark] .metro-modal-root :where(.ant-modal-body),body[data-interface-theme=dark] .metro-modal-root :where(.ant-radio-button-wrapper){color:#dbeafe}body[data-interface-theme=dark] .metro-modal-root :where(.ant-color-picker-trigger),body[data-interface-theme=dark] .metro-modal-root :where(.ant-input),body[data-interface-theme=dark] .metro-modal-root :where(.ant-input-affix-wrapper),body[data-interface-theme=dark] .metro-modal-root :where(.ant-select-selector){background:#172033!important;border-color:#29364d!important;color:#dbeafe!important}.metro-header{background:#0000!important;border-bottom:0!important;position:relative;z-index:30}.metro-workbench{background:#0000}.metro-body{padding-top:6px}.app-header{gap:8px;grid-template-columns:minmax(150px,180px) minmax(360px,1fr) auto;height:auto}.metro-action-buttons{gap:6px;margin-right:6px}.metro-action-btn.ant-btn{padding:0 9px}.metro-app-shell[data-interface-theme=dark] .metro-header{background:#0000!important;border-color:#0000!important}.metro-app-shell[data-interface-theme=dark] .metro-action-btn.ant-btn span{color:inherit}body[data-interface-theme=dark] .metro-modal-root :where(.ant-radio-button-wrapper){background:#f8fafc!important;border-color:#cbd5e1!important;color:#334155!important}body[data-interface-theme=dark] .metro-modal-root :where(.ant-radio-button-wrapper:not(.ant-radio-button-wrapper-checked):hover){color:#1d4ed8!important}body[data-interface-theme=dark] .metro-modal-root :where(.ant-radio-button-wrapper-checked){background:#2563eb!important;border-color:#2563eb!important;color:#fff!important}body[data-interface-theme=dark] .metro-modal-root :where(.ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):before){background-color:#2563eb!important}.metro-canvas-surface{background-color:#fbfdff!important;background-color:var(--metro-canvas-bg,#fbfdff)!important}.metro-canvas-surface.is-canvas-dark{background-color:#07111f!important;background-color:var(--metro-canvas-bg,#07111f)!important}.metro-app-shell[data-interface-theme=dark] .metro-canvas-surface{background-color:#fbfdff!important;background-color:var(--metro-canvas-bg,#fbfdff)!important}.metro-app-shell[data-interface-theme=dark] .metro-canvas-surface.is-canvas-dark{background-color:#07111f!important;background-color:var(--metro-canvas-bg,#07111f)!important}.metro-canvas-surface>div[style*="top: 16"][style*="left: 16"],.metro-canvas-surface>div[style*="top: 60"][style*="left: 16"]{display:none!important}.metro-canvas-surface>div[style*="bottom: 16"][style*="right: 16"]{border:1px solid #cfe0f3;border-radius:8px!important;box-shadow:0 8px 20px #0f172a14!important;color:#334155!important}.auth-card__info{background:linear-gradient(135deg,#2563ebeb,#0ea5e9d6),#2563eb}.auth-card__form{background:#f8fbff}.auth-layout{background:radial-gradient(circle at 78% 14%,#2563eb24,#0000 28%),linear-gradient(180deg,#f7fbff,#eaf3ff);padding:18px}.auth-card{background:#ffffffb8!important;border:1px solid #6f96cf5c!important;box-shadow:0 18px 42px #142f5c29!important;width:min(1500px,100%)}.auth-card,.auth-card__inner{min-height:min(920px,calc(100vh - 36px))}.auth-card__inner{grid-template-columns:minmax(0,49%) minmax(0,51%)}.auth-card__info{background:linear-gradient(90deg,#002e8af5,#0053c9c2 48%,#0891e757),url(/static/media/auth-metro-hero.2793f987c3710ff4cd1e.png) 50% /cover no-repeat,#075bd8;gap:22px;isolation:isolate;padding:clamp(34px,4vw,56px);position:relative}.auth-card__info:after,.auth-card__info:before{content:"";display:block;pointer-events:none;position:absolute;z-index:-1}.auth-card__info:before{background:linear-gradient(180deg,#00144e14,#00134e5c),radial-gradient(circle at 62% 12%,#5cd5ff3d,#0000 32%);inset:0}.auth-card__info:after{border:1px solid #a3d5ff3d;border-radius:50%;box-shadow:0 0 0 42px #a3d5ff0a,0 0 0 92px rgba(163,213,255,.035);height:560px;right:-180px;top:-120px;width:560px}.auth-hero__content{max-width:650px;position:relative;z-index:1}.auth-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#04246f47;border:1px solid #d6e9ff57;border-radius:8px;box-shadow:inset 0 1px 0 #ffffff24;height:42px;padding:0 16px}.auth-badge :where(.anticon){font-size:18px}.auth-badge__dot{display:none}.auth-badge__text{font-size:15px;letter-spacing:.06em}.auth-title{font-size:clamp(42px,4.3vw,64px)!important;letter-spacing:0!important;line-height:1.14!important;margin:46px 0 0!important;max-width:690px;text-shadow:0 8px 22px #00155757}.auth-subtitle{color:#f0f8fff0!important;font-size:clamp(16px,1.25vw,20px);line-height:1.75;margin-top:26px;max-width:650px;text-shadow:0 4px 14px #00185e4d}.auth-highlights{gap:14px;margin-top:24px}.auth-highlight{color:#fff;font-size:clamp(15px,1.1vw,18px);gap:12px;line-height:1.45;text-shadow:0 4px 12px #0016535c}.auth-highlight .dot{background:#9be7ff;box-shadow:0 0 0 4px #9be7ff2e,0 0 14px #9be7fff5;flex:0 0 9px;height:9px;width:9px}.auth-grid{gap:18px;margin-top:auto;z-index:1}.auth-grid__card{grid-gap:16px;align-items:start;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(135deg,#ffffff40,#ffffff1c);border:1px solid #dbeeff57;border-radius:8px;box-shadow:0 18px 34px #00297e3d,inset 0 1px 0 #ffffff2e;display:grid;gap:16px;grid-template-columns:auto minmax(0,1fr);min-height:132px;padding:22px}.auth-grid__icon{border:2px solid #ffffffd1;border-radius:50%;color:#fff;display:grid;font-size:24px;height:56px;place-items:center;width:56px}.auth-grid__eyebrow{color:#ffffffd6;font-size:12px}.auth-grid__value{color:#fff;font-size:30px;margin-top:8px}.auth-grid__copy{color:#f1f8ffe0;margin-top:8px}.auth-card__form{background:linear-gradient(135deg,#fffffff0,#f5faffc2),radial-gradient(circle at 80% 10%,#3075ff1f,#0000 32%),#f8fbff;padding:clamp(38px,5.3vw,86px);position:relative}.auth-card__form:before{background:radial-gradient(circle at 86% 22%,#b6d9ff4d,#0000 20%),radial-gradient(circle at 20% 88%,#78b0ff24,#0000 24%);content:"";display:block;inset:0;pointer-events:none;position:absolute}.auth-form-shell{position:relative;width:min(560px,100%);z-index:1}.auth-form-title{color:#07152f!important;font-size:clamp(31px,2.5vw,42px)!important;line-height:1.15!important}.auth-form-subtitle{color:#5d6d86!important;font-size:16px;line-height:1.65;margin-top:12px;max-width:520px}.auth-switcher{background:#ffffffbd;border:1px solid #cddcf2;border-radius:8px;box-shadow:0 10px 24px #123d7f14;gap:0;margin-top:32px;padding:4px}.auth-switcher__btn{background:#0000;border:0;border-radius:7px;color:#07152f;font-size:16px;font-weight:700;height:48px}.auth-switcher__btn.is-active{background:linear-gradient(135deg,#2a78ff,#064bdc);box-shadow:0 10px 22px #1c63eb4d;color:#fff}.auth-form{margin-top:36px}.auth-form :where(.ant-form-item){margin-bottom:22px}.auth-form :where(.ant-form-item-label){padding-bottom:8px}.auth-form :where(.ant-form-item-label>label){color:#596980;font-size:15px}.auth-form :where(.ant-input),.auth-form :where(.ant-input-affix-wrapper){background:#ffffffbd;border-color:#c9daf2;box-shadow:0 14px 26px #2d5c9b1a;min-height:64px}.auth-form :where(.ant-input-affix-wrapper:hover),.auth-form :where(.ant-input:hover){border-color:#8bbcff}.auth-form :where(.ant-input-affix-wrapper-focused),.auth-form :where(.ant-input-affix-wrapper:focus-within),.auth-form :where(.ant-input:focus){border-color:#367cff!important;box-shadow:0 0 0 3px #367cff1f,0 16px 28px #2d5c9b21}.auth-form :where(.ant-input-prefix){-webkit-margin-end:16px;color:#5b76b5;font-size:22px;margin-inline-end:16px}.auth-form :where(.ant-input){color:#07152f;font-size:18px}.auth-form :where(.ant-input::placeholder){color:#8a99ad}.auth-submit-btn.ant-btn{background:linear-gradient(135deg,#2d7cff,#064bdc);border-radius:8px;box-shadow:0 16px 28px #064bdc47;font-size:18px;height:62px;margin-top:12px}.auth-submit-btn.ant-btn:hover{box-shadow:0 18px 32px #064bdc57;filter:brightness(1.03)}.auth-submit-btn :where(.anticon){margin-left:10px}.auth-form-footer{border-top:1px solid #c9daf2;color:#66758a;font-size:14px;line-height:1.65;margin-top:32px;padding-top:24px}.auth-card--register .auth-form{margin-top:24px}.auth-card--register .auth-form :where(.ant-form-item){margin-bottom:14px}.auth-card--register .auth-form :where(.ant-input),.auth-card--register .auth-form :where(.ant-input-affix-wrapper){min-height:52px}@media (max-width:1120px){.auth-layout{padding:14px}.auth-card__inner{grid-template-columns:1fr;min-height:auto}.auth-card__info{min-height:520px}.auth-card__form{min-height:auto;padding:48px 24px}}@media (max-width:720px){.auth-layout{padding:0}.auth-card{border-radius:0}.auth-card,.auth-card__inner{min-height:100vh}.auth-card__info{border-radius:0;min-height:460px;padding:32px 22px}.auth-title{font-size:clamp(34px,10vw,46px)!important}.auth-subtitle{font-size:16px;max-width:none}.auth-grid{grid-template-columns:1fr}.auth-card__form{padding:34px 18px 44px}.auth-form-shell{max-width:none}.auth-form__title{font-size:30px!important}}@media (max-width:1180px){.app-header{grid-template-columns:minmax(0,1fr) auto}}@media (max-width:900px){.metro-canvas-tools{align-items:flex-start;flex-direction:column;max-width:none;right:10px}.metro-tool-group{flex-wrap:wrap}.metro-tool-hint{max-width:100%}}.auth-layout{padding:40px 24px}.auth-card{min-height:720px;width:min(1120px,calc(100vw - 48px))}.auth-card__inner{grid-template-columns:minmax(0,48%) minmax(0,52%);min-height:720px}.auth-card__info{background:url(/static/media/auth-metro-hero.2793f987c3710ff4cd1e.png) 50%/cover no-repeat #075bd8;min-height:720px}.auth-card__info:after,.auth-card__info:before{display:none}.auth-card__form{padding:54px 56px}.auth-form-title{font-size:34px!important;line-height:1.18!important}.auth-form-subtitle{font-size:15px;line-height:1.6;margin-top:10px}.auth-switcher{margin-top:30px}.auth-switcher__btn{font-size:15px;height:44px}.auth-form{margin-top:30px}.auth-form :where(.ant-form-item){margin-bottom:18px}.auth-form :where(.ant-form-item-label){padding-bottom:7px}.auth-form :where(.ant-form-item-label>label){color:#44546a;font-size:14px;font-weight:600;height:auto}.auth-form :where(.ant-form-item-required:before){display:none!important}.auth-form :where(.ant-input),.auth-form :where(.ant-input-affix-wrapper){border-radius:8px;min-height:52px}.auth-form :where(.ant-input-prefix){-webkit-margin-end:12px;font-size:18px;margin-inline-end:12px}.auth-form :where(.ant-input){font-size:16px;line-height:1.35}.auth-form :where(.ant-input-affix-wrapper>input.ant-input),.auth-form :where(.ant-input-password input.ant-input){background:#0000!important;border:0;box-shadow:none;min-height:auto;padding:0}.auth-submit-btn.ant-btn{font-size:16px;font-weight:800;height:54px;margin-top:8px}.auth-form-footer{font-size:13px;margin-top:26px;padding-top:20px}.auth-card--register .auth-form{margin-top:22px}.auth-card--register .auth-form :where(.ant-form-item){margin-bottom:12px}.auth-card--register .auth-form :where(.ant-input),.auth-card--register .auth-form :where(.ant-input-affix-wrapper){min-height:48px}@media (max-width:1120px){.auth-card{width:min(100%,calc(100vw - 32px))}.auth-card__inner{grid-template-columns:1fr;min-height:auto}.auth-card__info{background-position:top;min-height:520px}.auth-card__form{min-height:auto;padding:44px 24px}}@media (max-width:720px){.auth-layout{padding:0}.auth-card{min-height:100vh;width:100%}.auth-card__info{min-height:420px}.auth-card__form{padding:32px 18px 42px}.auth-form-title{font-size:30px!important}}.auth-layout{min-height:100vh;overflow:auto;padding:clamp(24px,4vh,40px) 24px}.auth-card{border-radius:10px!important;height:clamp(680px,calc(100vh - 80px),720px);min-height:0;overflow:hidden;width:min(1180px,calc(100vw - 48px))}.auth-card__inner{grid-template-columns:minmax(0,52%) minmax(0,48%);height:100%;min-height:0}.auth-card__info{background:#075bd8;display:block;gap:0;height:100%;min-height:0;overflow:hidden;padding:0}.auth-card__form:before,.auth-card__info:after,.auth-card__info:before{display:none}.auth-hero-image{display:block;height:100%;object-fit:cover;object-position:center;width:100%}.auth-card__form{align-items:center;display:flex;height:100%;justify-content:center;min-height:0;overflow:hidden;padding:48px 56px}.auth-form-shell{max-height:100%;overflow:auto;padding:2px 0;width:min(470px,100%)}.auth-card--register .auth-form-title{font-size:30px!important}.auth-card--register .auth-form-subtitle{font-size:13px;line-height:1.5;margin-top:6px}.auth-card--register .auth-card__form{padding:32px 48px}.auth-card--register .auth-switcher{margin-top:18px}.auth-card--register .auth-switcher__btn{height:40px}.auth-card--register .auth-form{margin-top:16px}.auth-card--register .auth-form :where(.ant-form-item){margin-bottom:8px}.auth-card--register .auth-form :where(.ant-form-item-label){padding-bottom:4px}.auth-card--register .auth-form :where(.ant-form-item-label>label){font-size:13px;line-height:1.35}.auth-card--register .auth-form :where(.ant-input),.auth-card--register .auth-form :where(.ant-input-affix-wrapper){min-height:42px}.auth-card--register .auth-form :where(.ant-input-prefix){font-size:16px}.auth-card--register .auth-submit-btn.ant-btn{height:48px;margin-top:4px}.auth-card--register .auth-form-footer{font-size:12px;line-height:1.45;margin-top:14px;padding-top:14px}@media (max-width:1120px){.auth-layout{padding:16px}.auth-card{height:auto;min-height:0;width:min(100%,calc(100vw - 32px))}.auth-card__inner{grid-template-columns:1fr;height:auto}.auth-card__info{height:clamp(360px,56vw,520px);min-height:0}.auth-card__form{height:auto;min-height:0;overflow:visible;padding:44px 24px}.auth-form-shell{max-height:none;overflow:visible}}@media (max-width:720px){.auth-layout{padding:0}.auth-card{border-radius:0!important;min-height:100vh;width:100%}.auth-card__info{height:clamp(340px,94vw,430px)}.auth-card__form{padding:32px 18px 42px}}
/*# sourceMappingURL=main.8ddfc58c.css.map*/