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{--color-danger:#ef4444;--color-success:#10b981;--color-warning:#f59e0b;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--font-display:Georgia,"Times New Roman","Source Han Serif SC","Noto Serif SC","Songti SC",SimSun,serif;--font-size-meta:11px;--font-size-body:13px;--font-size-lg-body:15px;--font-size-title:18px;--font-size-h2:22px;--font-size-h1:28px;--metro-bg:var(--color-bg);--metro-surface:var(--color-surface);--metro-surface-muted:var(--color-surface-muted);--metro-border:var(--color-border);--metro-border-strong:var(--color-border-strong);--metro-text:var(--color-text-soft);--metro-text-soft:var(--color-text-muted);--metro-heading:var(--color-text);--metro-blue:var(--color-primary-600);--metro-blue-soft:var(--color-primary-50);--metro-danger:var(--color-danger);--metro-radius:var(--radius-md);--metro-radius-lg:var(--radius-lg)}*,:after,:before{box-sizing:border-box}#root,body,html{margin:0;min-height:100%;width:100%}body{background:#eef6ff;background:var(--metro-bg);color:#475569;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}.ant-modal-title,.metro-brand-title{font-family:Georgia,Times New Roman,"Source Han Serif SC","Noto Serif SC",Songti SC,SimSun,serif;font-family:var(--font-display);letter-spacing:.01em}.ant-modal .ant-modal-content{border:1px solid #cfe0f5;border:1px solid var(--color-border);border-radius:12px;border-radius:var(--radius-lg);box-shadow:0 24px 60px #322a182e}.ant-modal .ant-modal-header{margin-bottom:16px}.ant-modal .ant-modal-title{font-size:22px;font-size:var(--font-size-h2);line-height:1.3}.metro-command-bar{bottom:14px;display:flex;flex-direction:column;gap:6px;left:14px;pointer-events:none;position:absolute;right:290px;z-index:30}.metro-command-bar__row{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;border:1px solid #cfe0f5;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 8px 24px #322a181f;display:flex;gap:8px;height:38px;padding:0 12px;pointer-events:auto}.metro-command-bar__prompt{color:#2563eb;color:var(--color-primary-600);font-size:16px;font-weight:700;line-height:1}.metro-command-bar__input{background:#0000;border:0;color:#0f172a;color:var(--color-text);flex:1 1;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:14px;min-width:0;outline:none}.metro-command-bar__input::placeholder{color:#64748b;color:var(--color-text-muted)}.metro-command-bar__feedback{align-self:flex-start;background:#fffffff5;border:1px solid #cfe0f5;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 6px 18px #322a181a;font-size:13px;line-height:1.5;max-width:100%;padding:6px 12px;pointer-events:auto}.metro-command-bar__feedback.is-ok{color:#475569;color:var(--color-text-soft)}.metro-command-bar__feedback.is-error{background:#fff4f2;border-color:#f0c0b8;color:#b42318}.metro-command-bar__suggest{display:flex;flex-wrap:wrap;gap:6px;pointer-events:auto}.metro-command-bar__chip{background:#fffffff5;border:1px solid #cfe0f5;border:1px solid var(--color-border);border-radius:999px;color:#475569;color:var(--color-text-soft);cursor:pointer;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;padding:3px 10px}.metro-command-bar__chip:hover{border-color:#2563eb;border-color:var(--color-primary-600);color:#2563eb;color:var(--color-primary-600)}.metro-app-shell[data-interface-theme=dark] .metro-command-bar__chip,.metro-app-shell[data-interface-theme=dark] .metro-command-bar__feedback,.metro-app-shell[data-interface-theme=dark] .metro-command-bar__row{background:#111827f0;border-color:#29364d;color:#dbeafe}.metro-app-shell[data-interface-theme=dark] .metro-command-bar__input{color:#f8fafc}.metro-app-shell{height:100vh;min-height:100vh;padding:8px 16px}.metro-app-shell,.metro-workbench{background:#eef6ff;background:var(--metro-bg);overflow:hidden}.metro-workbench{height:calc(100vh - 32px);min-height:calc(100vh - 32px)}.metro-header{background:#fff!important;background:var(--metro-surface)!important;border-bottom:1px solid #cfe0f5;border-bottom:1px solid var(--metro-border);height:60px;min-height:60px;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-sider,.metro-toolbar-panel,.metro-user-panel{min-width:0}.metro-brand-mark{align-items:center;display:inline-flex;flex-shrink:0;gap:10px}.metro-brand-mark__dot{background:#2563eb;background:var(--metro-blue);border-radius:999px;height:10px;width:10px}.metro-brand-title{color:#0f172a;color:var(--metro-heading);font-size:15px;font-weight:700;line-height:1.15;white-space:nowrap}.metro-toolbar-panel{min-width:0}.metro-user-panel{align-items:center;display:flex;gap:12px;gap:var(--space-3);justify-content:flex-end}.metro-header-save-btn.ant-btn{font-weight:600;height:32px;padding:0 12px;padding:0 var(--space-3)}.metro-header-ai-btn{align-items:center;background:#fff;background:var(--color-surface,#fff);border:0;border-radius:50%;box-shadow:0 0 0 1px #94a3b82e,0 6px 18px -6px #6366f159,0 6px 18px -6px #ec48992e;cursor:pointer;display:inline-flex;height:36px;isolation:isolate;justify-content:center;padding:0;position:relative;transition:transform .16s ease,box-shadow .24s ease;width:36px}.metro-header-ai-btn:before{background:conic-gradient(from 0deg,#ff3c8e 0,#ffb347 14%,#ffe66d 28%,#06d6a0 42%,#4cc9f0 58%,#8338ec 74%,#ff3c8e 100%);inset:-2px}.metro-header-ai-btn:after,.metro-header-ai-btn:before{border-radius:50%;content:"";position:absolute;z-index:-1}.metro-header-ai-btn:after{background:#fff;background:var(--color-surface,#fff);inset:0}.metro-header-ai-btn__icon{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6366f1,#ec4899);-webkit-background-clip:text;background-clip:text;color:#4338ca;display:inline-flex;font-size:16px;line-height:1}.metro-header-ai-btn:hover{box-shadow:0 0 0 1px #94a3b82e,0 10px 24px -6px #6366f18c,0 10px 24px -6px #ec489959,0 0 24px -2px #ec489973;transform:translateY(-1px)}.metro-header-ai-btn:hover:before{animation:metro-ai-btn-rotate 3.5s linear infinite}.metro-header-ai-btn:active{transform:translateY(0) scale(.96)}.metro-header-ai-btn:focus-visible{outline:2px solid #ec4899b3;outline-offset:3px}@keyframes metro-ai-btn-rotate{to{transform:rotate(1turn)}}.metro-ai-typing-cursor{animation:metro-ai-cursor-blink 1s steps(2,start) infinite;color:#2563eb;color:var(--color-primary-600,#2563eb);display:inline-block;margin-left:1px}@keyframes metro-ai-cursor-blink{to{opacity:0}}.metro-app-shell[data-interface-theme=dark] .metro-header-ai-btn,.metro-app-shell[data-interface-theme=dark] .metro-header-ai-btn:after{background:#0f172a}.metro-app-shell[data-interface-theme=dark] .metro-header-ai-btn__icon{background:linear-gradient(135deg,#818cf8,#f472b6);-webkit-background-clip:text;background-clip:text}@media (prefers-reduced-motion:reduce){.metro-header-ai-btn:before{animation:none}}.user-chip,.user-chip--trigger{align-items:center;background:#0000;border:0;border-radius:8px;border-radius:var(--radius-md);box-shadow:none;cursor:pointer;display:inline-flex;gap:8px;gap:var(--space-2);min-width:0;padding:4px 8px;transition:background .12s ease}.user-chip--trigger:hover{background:#eff6ff;background:var(--color-primary-50)}.user-chip__name{color:#0f172a;color:var(--color-text);font-size:13px;font-size:var(--font-size-body);font-weight:600;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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 #cfe0f5!important;border:1px solid var(--metro-border)!important;color:#475569!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-sider{background:#fff;background:var(--metro-surface);border:none;border-radius:0}.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-sidebar{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;padding:12px}.metro-sidebar>.metro-sidebar__subtitle,.metro-sidebar>.metro-sidebar__title{flex:0 0 auto}.metro-sidebar__splitter{align-items:center;cursor:row-resize;display:flex;flex:0 0 14px;justify-content:center;margin:4px 0;position:relative;touch-action:none}.metro-sidebar__splitter-grip{background:#cfe0f5;background:var(--metro-border);border-radius:2px;height:1px;position:relative;transition:height .1s ease,background .1s ease;width:100%}.metro-sidebar__splitter-grip:after,.metro-sidebar__splitter-grip:before{background:#94a3b88c;border-radius:1px;content:"";height:2px;position:absolute;top:50%;transform:translateY(-50%);width:14px}.metro-sidebar__splitter-grip:before{left:calc(50% - 18px)}.metro-sidebar__splitter-grip:after{left:calc(50% + 4px)}.metro-sidebar__splitter.is-dragging .metro-sidebar__splitter-grip,.metro-sidebar__splitter:hover .metro-sidebar__splitter-grip{background:#2563eb;background:var(--color-primary-600,#2563eb);height:3px}.metro-sidebar__splitter.is-dragging .metro-sidebar__splitter-grip:after,.metro-sidebar__splitter.is-dragging .metro-sidebar__splitter-grip:before,.metro-sidebar__splitter:hover .metro-sidebar__splitter-grip:after,.metro-sidebar__splitter:hover .metro-sidebar__splitter-grip:before{background:#2563eb;background:var(--color-primary-600,#2563eb)}.metro-sidebar__badge{align-items:center;background:#eff6ff;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:#0f172a;color:var(--metro-heading);font-family:Georgia,Times New Roman,"Source Han Serif SC","Noto Serif SC",Songti SC,SimSun,serif;font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:.01em;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{display:flex;flex:1 1;flex-direction:column;margin-top:16px;min-height:0}.metro-sidebar__section-head{align-items:center;display:flex;flex:0 0 auto;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 #cfe0f5;border:1px solid var(--metro-border);border-radius:8px;border-radius:var(--metro-radius);color:#475569;color:var(--metro-text);font-weight:600;height:30px;padding:0 10px}.metro-line-list,.metro-station-list{display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:0;overflow-y:auto;padding-right:4px;scrollbar-width:thin}.metro-line-list::-webkit-scrollbar,.metro-station-list::-webkit-scrollbar{width:6px}.metro-line-list::-webkit-scrollbar-thumb,.metro-station-list::-webkit-scrollbar-thumb{background:#94a3b873;border-radius:3px}.metro-line-list::-webkit-scrollbar-thumb:hover,.metro-station-list::-webkit-scrollbar-thumb:hover{background:#94a3b8b3}.metro-line-card{background:#fff;background:var(--color-surface);border:1px solid #cfe0f5;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius-md);overflow:hidden;position:relative;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.metro-line-card__accent{background:#2563eb;background:var(--accent-color,var(--color-primary-600));bottom:0;left:0;opacity:.7;position:absolute;top:0;transition:width .14s ease,opacity .14s ease;width:3px}.metro-line-card:hover .metro-line-card__accent{opacity:.9;width:4px}.metro-line-card.is-active{background:linear-gradient(90deg,color-mix(in srgb,var(--accent-color) 10%,#0000) 0,#0000 50%),#fff;background:linear-gradient(90deg,color-mix(in srgb,var(--accent-color) 10%,#0000) 0,#0000 50%),var(--color-surface);border-color:#2563eb;border-color:var(--accent-color,var(--color-primary-600));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-color) 50%,#0000)}.metro-line-card.is-active .metro-line-card__accent{opacity:1;width:6px}.metro-line-card__active-pill{align-items:center;background:#2563eb;background:var(--accent-color,var(--color-primary-600));border-radius:999px;border-radius:var(--radius-pill);color:#fff;display:inline-flex;font-size:10px;font-weight:700;letter-spacing:.04em;padding:1px 8px}.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:#0f172a;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:#eff6ff;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(--color-surface-muted);border:1px dashed #cfe0f5;border:1px dashed var(--color-border);border-radius:8px;border-radius:var(--radius-md)}.metro-empty-card{align-items:center;color:#475569;color:var(--color-text-soft);display:flex;flex-direction:column;font-size:13px;font-size:var(--font-size-body);gap:8px;gap:var(--space-2);justify-content:center;line-height:1.55;padding:24px 12px;padding:var(--space-5) var(--space-3);text-align:center}.metro-empty-card__art{color:#3b82f6;color:var(--color-primary-500);display:block;margin-bottom:4px;margin-bottom:var(--space-1)}.metro-empty-card__title{color:#0f172a;color:var(--color-text);font-size:15px;font-size:var(--font-size-lg-body);font-weight:600}.metro-empty-card__text{color:#475569;color:var(--color-text-soft);font-size:13px;font-size:var(--font-size-body);max-width:220px}.metro-empty-card__cta.ant-btn{font-weight:600;height:30px;margin-top:8px;margin-top:var(--space-2);padding:0 12px;padding:0 var(--space-3)}.metro-empty-card--maps{padding:32px 16px;padding:var(--space-6) var(--space-4)}.metro-empty-card--stations .metro-empty-card__art{margin-bottom:0}.metro-app-shell[data-interface-theme=dark] .metro-empty-card__art{color:#3b82f6;color:var(--color-primary-500);opacity:.85}.metro-maps-skeleton{display:flex;flex-direction:column;gap:12px;gap:var(--space-3);padding:8px 0 12px;padding:var(--space-2) 0 var(--space-3)}.metro-maps-skeleton .ant-skeleton{border-bottom:1px solid #cfe0f5;border-bottom:1px solid var(--color-border);padding:8px 0;padding:var(--space-2) 0}.metro-maps-skeleton .ant-skeleton:last-child{border-bottom:0}.metro-station-item{align-items:center;color:#0f172a;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:#cfe0f5;border-color:var(--metro-border);color:#475569;color:var(--metro-text)}.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 #cfe0f5;border:1px solid var(--metro-border);border-radius:12px;border-radius:var(--metro-radius-lg);box-shadow:0 12px 24px #3c321e14;overflow:hidden;padding:0}.metro-modal-root :where(.ant-modal-header){background:#fff;background:var(--metro-surface);border-bottom:1px solid #cfe0f5;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 #cfe0f5;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:#cfe0f5!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:#0f172a;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 #cfe0f5!important;border:1px solid var(--metro-border)!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:linear-gradient(160deg,#2563eb,#1d4ed8);background:linear-gradient(160deg,var(--color-primary-600) 0,var(--color-primary-700) 100%);color:#fff;display:flex;flex-direction:column;gap:16px;gap:var(--space-4);padding:32px;padding:var(--space-6)}.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;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: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 #cfe0f5;border:1px solid var(--metro-border);border-radius:8px;border-radius:var(--metro-radius);color:#475569;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: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: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 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}}@media (max-width:1080px){.metro-body{flex-wrap:wrap}.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{height:auto;overflow:visible;padding:10px}.metro-workbench{height:auto;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}}.metro-app-shell{background:linear-gradient(180deg,#f8fbff,#eef6ff);background:linear-gradient(180deg,var(--color-surface-muted) 0,var(--color-bg) 100%);padding:4px 12px 12px;padding:var(--space-1) var(--space-3) var(--space-3)}.metro-workbench{background:#f8fbff;background:var(--color-surface-muted);border:none;border-radius:0;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-sidebar__subtitle{display:none}.metro-body{background:#f8fbff;background:var(--color-surface-muted);gap:8px;gap:var(--space-2);padding:16px 8px 8px;padding:var(--space-4) var(--space-2) var(--space-2)}.metro-sider.ant-layout-sider{flex-basis:238px!important;max-width:238px!important;min-width:238px!important;width:238px!important}.metro-canvas-stage{background:#fff;box-shadow:none;min-height:calc(100vh - 84px);touch-action:none}.metro-sider{background:#fff;border-color:#cfe0f5;border-color:var(--color-border)}.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-line-card,.metro-station-item{border-color:#cfe0f5;border-color:var(--color-border)}.auth-submit-btn.ant-btn,.auth-switcher__btn.is-active,.metro-toolbar__primary.ant-btn{background:#2563eb;background:var(--color-primary-600);border-color:#2563eb;border-color:var(--color-primary-600)}.metro-logout-btn.ant-btn,.metro-sidebar__ghost-btn.ant-btn,.metro-toolbar__secondary.ant-btn{background:#fff!important;border-color:#cfe0f5!important;border-color:var(--color-border)!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 #cfe0f5;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 8px 20px #3c321e14;display:inline-flex;gap:2px;padding:4px;pointer-events:auto}.metro-tool-button{align-items:center;background:#0000;border:0;border-radius:8px;border-radius:var(--radius-md);color:#475569;color:var(--color-text-soft);cursor:pointer;display:inline-flex;font:inherit;font-size:13px;font-size:var(--font-size-body);font-weight:600;gap:6px;height:30px;min-width:48px;padding:0 10px;transition:background .12s ease,color .12s ease}.metro-tool-button__icon{display:inline-flex;font-size:14px;line-height:0}.metro-tool-button__label{line-height:1}.metro-tool-button:hover{background:#eff6ff;background:var(--color-primary-50);color:#1d4ed8;color:var(--color-primary-700)}.metro-tool-button.is-active{background:#2563eb;background:var(--color-primary-600);color:#fff}.metro-tool-button__dot{background:#fff;border-radius:999px;box-shadow:0 0 0 2px #ffffff40;flex-shrink:0;height:6px;width:6px}.metro-user-panel{gap:8px}.metro-settings-panel{display:flex;flex-direction:column;gap:18px}.metro-settings-section{display:flex;flex-direction:column;gap:10px}.metro-settings-label{color:#0f172a;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:#475569;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:#0f172a;color:var(--metro-heading);font-size:12px}.metro-settings-control :where(.ant-slider){margin:4px 4px 2px}.metro-app-shell[data-interface-theme=dark]{--color-bg:#0f172a;--color-surface:#111827;--color-surface-muted:#172033;--color-border:#29364d;--color-border-strong:#3b82f6;--color-text:#f8fafc;--color-text-soft:#dbeafe;--color-text-muted:#94a3b8;--color-primary-50:#3b82f62e;--color-primary-500:#60a5fa;--color-primary-600:#3b82f6;--color-primary-700:#2563eb;background:#eef6ff;background:var(--color-bg)}.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-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-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:linear-gradient(90deg,color-mix(in srgb,var(--accent-color) 18%,#0000) 0,#0000 50%),#11182799;border-color:#3b82f6;border-color:var(--accent-color,var(--color-primary-500))}.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-tool-group{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:16px;grid-template-columns:-webkit-max-content minmax(0,1fr) auto;grid-template-columns:max-content minmax(0,1fr) auto;height:auto}.metro-app-shell[data-interface-theme=dark] .metro-header{background:#0000!important;border-color:#0000!important}.app-header{transform:translateY(-3px)}.metro-toolbar-panel{align-items:center;display:flex;justify-content:flex-start}.metro-toolbar{width:auto}.metro-toolbar,.metro-toolbar__right{justify-content:flex-start}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}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;background-image:radial-gradient(circle,#0f172a12 1px,#0000 0);background-position:12px 12px;background-size:24px 24px}.metro-canvas-surface.is-canvas-dark{background-color:#07111f!important;background-color:var(--metro-canvas-bg,#07111f)!important;background-image:radial-gradient(circle,#94c5fd1a 1px,#0000 0)}.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}.auth-card__info{background:linear-gradient(135deg,#36455cf5,#4a5a73e0),#2563eb;background:linear-gradient(135deg,#36455cf5,#4a5a73e0),var(--color-primary-600)}.auth-card__form{background:#f8fbff;background:var(--color-surface-muted)}.auth-layout{background:radial-gradient(circle at 78% 14%,#36455c1a,#0000 28%),linear-gradient(180deg,#faf7f0,#f1ead9);padding:18px}.auth-card{background:#ffffffc7!important;border:1px solid #60a5fa61!important;box-shadow:0 18px 42px #1e40af24!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,#262018f2,#4a3a28c7 48%,#6e563a5c),url(/static/media/auth-metro-hero.2793f987c3710ff4cd1e.png) 50% /cover no-repeat,#3a342b;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,#0a0e1414,#0a0e1461),radial-gradient(circle at 62% 12%,#f4deb42e,#0000 32%);inset:0}.auth-card__info:after{border:1px solid #eee4cd42;border-radius:50%;box-shadow:0 0 0 42px #eee4cd0d,0 0 0 92px #eee4cd0a;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:#141a244d;border:1px solid #eee6d457;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-family:Georgia,Times New Roman,"Source Han Serif SC","Noto Serif SC",Songti SC,SimSun,serif;font-family:var(--font-display);font-size:clamp(42px,4.3vw,64px)!important;letter-spacing:.01em!important;line-height:1.18!important;margin:46px 0 0!important;max-width:690px;text-shadow:0 8px 22px #0a0c1059}.auth-subtitle{color:#f8f5eef0!important;font-size:clamp(16px,1.25vw,20px);line-height:1.75;margin-top:26px;max-width:650px;text-shadow:0 4px 14px #0a0c104d}.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 #0a0c105c}.auth-highlight .dot{background:#f3cd8a;box-shadow:0 0 0 4px #f3cd8a2e,0 0 14px #f3cd8ad9;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 #f4eee057;border-radius:8px;box-shadow:0 18px 34px #100e083d,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,#faf7f0c7),radial-gradient(circle at 80% 10%,#c9b0801a,#0000 32%),#f8fbff;background:linear-gradient(135deg,#fffffff0,#faf7f0c7),radial-gradient(circle at 80% 10%,#c9b0801a,#0000 32%),var(--color-surface-muted);padding:clamp(38px,5.3vw,86px);position:relative}.auth-card__form:before{background:radial-gradient(circle at 86% 22%,#deceaa47,#0000 20%),radial-gradient(circle at 20% 88%,#c4ae841f,#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:#0f172a!important;color:var(--color-text)!important;font-family:Georgia,Times New Roman,"Source Han Serif SC","Noto Serif SC",Songti SC,SimSun,serif;font-family:var(--font-display);font-size:clamp(31px,2.5vw,42px)!important;letter-spacing:.01em}.auth-form-subtitle{color:#475569!important;color:var(--color-text-soft)!important;font-size:16px;line-height:1.65;margin-top:12px;max-width:520px}.auth-switcher{background:#ffffffbd;border:1px solid #cfe0f5;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 10px 24px #2563eb14;gap:0;margin-top:32px;padding:4px}.auth-switcher__btn{background:#0000;border:0;border-radius:7px;color:#0f172a;color:var(--color-text);font-size:16px;font-weight:700;height:48px}.auth-switcher__btn.is-active{background:linear-gradient(135deg,#2f7df6,#1557d6);box-shadow:0 10px 22px #2563eb3d;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:#475569;color:var(--color-text-soft);font-size:15px}.auth-form :where(.ant-input),.auth-form :where(.ant-input-affix-wrapper){background:#ffffffbd;border-color:#cfe0f5;border-color:var(--color-border);box-shadow:0 14px 26px #2563eb14;min-height:64px}.auth-form :where(.ant-input-affix-wrapper:hover),.auth-form :where(.ant-input:hover){border-color:#9dbce7;border-color:var(--color-border-strong)}.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:#2563eb!important;border-color:var(--color-primary-600)!important;box-shadow:0 0 0 3px #2563eb24,0 16px 28px #2563eb1a}.auth-form :where(.ant-input-prefix){-webkit-margin-end:16px;color:#3b82f6;color:var(--color-primary-500);font-size:22px;margin-inline-end:16px}.auth-form :where(.ant-input){color:#0f172a;color:var(--color-text);font-size:18px}.auth-form :where(.ant-input::placeholder){color:#94a3b8}.auth-submit-btn.ant-btn{background:linear-gradient(135deg,#2f7df6,#1557d6);border-radius:8px;box-shadow:0 16px 28px #2563eb3d;font-size:18px;height:62px;margin-top:12px}.auth-submit-btn.ant-btn:hover{box-shadow:0 18px 32px #2563eb4d;filter:brightness(1.04)}.auth-submit-btn :where(.anticon){margin-left:10px}.auth-form-footer{border-top:1px solid #cfe0f5;border-top:1px solid var(--color-border);color:#475569;color:var(--color-text-soft);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}}.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:12px!important;border-radius:var(--radius-lg)!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}}.auth-layout[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}.auth-layout[data-interface-theme=dark] .auth-card{background:#111827!important;border-color:#29364d!important}.auth-layout[data-interface-theme=dark] .auth-card__info{background:linear-gradient(135deg,#1e3a8a,#0f172a)}.auth-layout[data-interface-theme=dark] .auth-card__form{background:#0f172a!important}.auth-layout[data-interface-theme=dark] .auth-switcher__btn{background:#172033;border-color:#29364d;color:#cbd5e1}.auth-layout[data-interface-theme=dark] .auth-switcher__btn.is-active{background:#3b82f6;border-color:#3b82f6;color:#fff}.auth-layout[data-interface-theme=dark] .auth-form :where(.ant-input),.auth-layout[data-interface-theme=dark] .auth-form :where(.ant-input-affix-wrapper),.auth-layout[data-interface-theme=dark] .auth-form :where(.ant-input-password){background:#172033!important;border-color:#29364d!important;color:#dbeafe!important}.auth-layout[data-interface-theme=dark] .auth-form :where(.ant-input-affix-wrapper input::placeholder),.auth-layout[data-interface-theme=dark] .auth-form :where(.ant-input::placeholder){color:#64748b!important}.metro-app-shell[data-interface-theme=dark] .metro-canvas-stage{background:#0f172a;border-color:#29364d;box-shadow:inset 0 0 0 1px #3b82f614}.metro-app-shell[data-interface-theme=dark] .metro-tool-button.is-active{background:#3b82f6;color:#fff}body[data-interface-theme=dark] .metro-modal-root :where(.ant-radio-button-wrapper){background:#172033!important;border-color:#29364d!important;color:#dbeafe!important}body[data-interface-theme=dark] .metro-modal-root :where(.ant-radio-button-wrapper:not(.ant-radio-button-wrapper-checked):hover){background:#1e293b!important;color:#fff!important}body[data-interface-theme=dark] .metro-modal-root :where(.ant-radio-button-wrapper-checked){background:#3b82f6!important;border-color:#3b82f6!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:#3b82f6!important}.metro-antd-root.ant-app{background:#0000;color:inherit;height:100%;width:100%}.metro-canvas-hud{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fffffff5;border:1px solid #cfe0f5;border:1px solid var(--color-border);border-radius:999px;border-radius:var(--radius-pill);bottom:16px;box-shadow:0 8px 20px #3c321e14;font-size:13px;font-size:var(--font-size-body);font-weight:600;gap:4px;gap:var(--space-1);padding:4px 8px;padding:4px var(--space-2);position:absolute;right:16px;-webkit-user-select:none;user-select:none;z-index:1000}.metro-canvas-hud,.metro-canvas-hud__btn{align-items:center;color:#0f172a;color:var(--color-text);display:inline-flex}.metro-canvas-hud__btn{background:#0000;border:0;border-radius:999px;border-radius:var(--radius-pill);cursor:pointer;font-size:14px;font-weight:700;height:28px;justify-content:center;transition:background .12s ease,color .12s ease;width:28px}.metro-canvas-hud__btn:hover{background:#eff6ff;background:var(--color-primary-50);color:#2563eb;color:var(--color-primary-600)}.metro-canvas-hud__value{align-items:center;background:#0000;border:0;border-radius:8px;border-radius:var(--radius-md);color:#0f172a;color:var(--color-text);cursor:pointer;display:inline-flex;font-size:13px;font-size:var(--font-size-body);font-weight:600;gap:4px;height:24px;justify-content:center;min-width:56px;padding:0 8px;padding:0 var(--space-2)}.metro-canvas-hud__value:hover{background:#eff6ff;background:var(--color-primary-50)}.metro-canvas-hud__value--static{cursor:default}.metro-canvas-hud__value--static:hover{background:#0000}.metro-canvas-hud__divider{background:#cfe0f5;background:var(--color-border);display:inline-block;height:18px;margin:0 4px;margin:0 var(--space-1);width:1px}.metro-app-shell[data-interface-theme=dark] .metro-canvas-hud,.metro-canvas-surface.is-canvas-dark .metro-canvas-hud{background:#111827d1;border-color:#94a3b852;color:#e5eefc}.metro-app-shell[data-interface-theme=dark] .metro-canvas-hud__btn,.metro-app-shell[data-interface-theme=dark] .metro-canvas-hud__value,.metro-canvas-surface.is-canvas-dark .metro-canvas-hud__btn,.metro-canvas-surface.is-canvas-dark .metro-canvas-hud__value{color:#e5eefc}.metro-app-shell[data-interface-theme=dark] .metro-canvas-hud__btn:hover,.metro-app-shell[data-interface-theme=dark] .metro-canvas-hud__value:hover,.metro-canvas-surface.is-canvas-dark .metro-canvas-hud__btn:hover,.metro-canvas-surface.is-canvas-dark .metro-canvas-hud__value:hover{background:#3b82f638;color:#fff}.metro-app-shell[data-interface-theme=dark] .metro-canvas-hud__divider,.metro-canvas-surface.is-canvas-dark .metro-canvas-hud__divider{background:#94a3b852}.metro-settings-tabs .ant-tabs-nav{margin-bottom:16px;margin-bottom:var(--space-4)}.metro-settings-tabs .ant-tabs-tab{font-size:15px;font-size:var(--font-size-lg-body);font-weight:600}.metro-settings-tabs+.metro-settings-footer{margin-top:16px;margin-top:var(--space-4)}.metro-brand-panel{align-items:center;display:flex;gap:12px;gap:var(--space-3);min-width:0}.metro-header-mapchip{align-items:center;background:#fff;background:var(--color-surface);border:1px solid #cfe0f5;border:1px solid var(--color-border);border-radius:999px;border-radius:var(--radius-pill);color:#475569;color:var(--color-text-soft);cursor:pointer;display:inline-flex;font-size:13px;font-size:var(--font-size-body);font-weight:500;gap:6px;height:28px;max-width:280px;padding:0 12px;padding:0 var(--space-3);transition:border-color .12s ease,background .12s ease,color .12s ease}.metro-header-mapchip:hover{background:#eff6ff;background:var(--color-primary-50);border-color:#3b82f6;border-color:var(--color-primary-500);color:#1d4ed8;color:var(--color-primary-700)}.metro-header-mapchip__icon{color:#64748b;color:var(--color-text-muted);font-size:11px}.metro-header-mapchip:hover .metro-header-mapchip__icon{color:#2563eb;color:var(--color-primary-600)}.metro-header-mapchip__name{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metro-app-shell[data-interface-theme=dark] .metro-header-mapchip{background:#ffffff0a;border-color:#94a3b852;color:#cbd5e1}.metro-app-shell[data-interface-theme=dark] .metro-header-mapchip:hover{background:#3b82f62e;border-color:#3b82f6;border-color:var(--color-primary-500);color:#fff}.metro-sidebar__add-btn.ant-btn{border-radius:8px;border-radius:var(--radius-md);font-size:11px;font-size:var(--font-size-meta);font-weight:600;height:26px;padding:0 10px}.metro-sidebar__add-btn.ant-btn .anticon{font-size:11px}.metro-profile-identity{align-items:center;border-bottom:1px solid #cfe0f5;border-bottom:1px solid var(--color-border);display:flex;gap:16px;gap:var(--space-4);margin-bottom:16px;margin-bottom:var(--space-4);padding:8px 0 16px;padding:var(--space-2) 0 var(--space-4)}.metro-profile-identity__avatar.ant-avatar{background-color:#2563eb;background-color:var(--color-primary-600);cursor:pointer;flex-shrink:0;transition:transform .14s ease,box-shadow .14s ease}.metro-profile-identity__avatar.ant-avatar:hover{box-shadow:0 0 0 3px #eff6ff;box-shadow:0 0 0 3px var(--color-primary-50);transform:scale(1.03)}.metro-profile-identity__main{display:flex;flex-direction:column;gap:2px;min-width:0}.metro-profile-identity__name{color:#0f172a;color:var(--color-text);font-size:18px;font-size:var(--font-size-title);font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metro-profile-identity__phone{color:#64748b;color:var(--color-text-muted);font-size:13px;font-size:var(--font-size-body);line-height:1.4}.metro-profile-identity__change{align-items:center;background:#0000;border:0;color:#2563eb;color:var(--color-primary-600);cursor:pointer;display:inline-flex;font-size:11px;font-size:var(--font-size-meta);font-weight:600;gap:4px;margin-top:4px;margin-top:var(--space-1);padding:2px 0;transition:color .12s ease;width:-webkit-fit-content;width:fit-content}.metro-profile-identity__change:hover{color:#1d4ed8;color:var(--color-primary-700)}.metro-profile-identity__change .anticon{font-size:11px}.metro-profile-form .ant-form-item{margin-bottom:12px;margin-bottom:var(--space-3)}.metro-profile-section{margin-bottom:16px;margin-bottom:var(--space-4)}.metro-profile-section:last-of-type,.metro-profile-section__title{margin-bottom:12px;margin-bottom:var(--space-3)}.metro-profile-section__title{color:#64748b;color:var(--color-text-muted);font-size:11px;font-size:var(--font-size-meta);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.metro-profile-field{margin-bottom:12px;margin-bottom:var(--space-3)}.metro-profile-field__label{color:#0f172a;color:var(--color-text);font-size:13px;font-size:var(--font-size-body);margin-bottom:6px}.metro-profile-field__value{align-items:center;background:#f8fbff;background:var(--color-surface-muted);border:1px dashed #cfe0f5;border:1px dashed var(--color-border);border-radius:8px;border-radius:var(--radius-md);color:#475569;color:var(--color-text-soft);display:flex;font-size:13px;font-size:var(--font-size-body);gap:8px;gap:var(--space-2);height:32px;padding:0 11px}.metro-profile-field__badge{align-items:center;background:#10b9811f;border-radius:999px;border-radius:var(--radius-pill);color:#10b981;color:var(--color-success);display:inline-flex;font-size:11px;font-size:var(--font-size-meta);font-weight:600;gap:4px;margin-left:auto;padding:1px 8px}.metro-profile-field__badge-dot{background:#10b981;background:var(--color-success);border-radius:999px;height:6px;width:6px}.metro-profile-actions{border-top:1px solid #cfe0f5;border-top:1px solid var(--color-border);display:flex;gap:8px;gap:var(--space-2);justify-content:flex-end;margin-top:8px;margin-top:var(--space-2);padding-top:12px;padding-top:var(--space-3)}.metro-app-shell[data-interface-theme=dark] .metro-profile-identity{border-bottom-color:#94a3b83d}.metro-app-shell[data-interface-theme=dark] .metro-profile-field__value{background:#ffffff08;border-color:#94a3b83d;color:#cbd5e1}.metro-app-shell[data-interface-theme=dark] .metro-profile-actions{border-top-color:#94a3b83d}.metro-mobile-toggle{align-items:center;background:#0000;border:0;border-radius:8px;border-radius:var(--radius-md);color:#0f172a;color:var(--color-text);cursor:pointer;display:none;flex-shrink:0;font-size:18px;height:36px;justify-content:center;transition:background .12s ease;width:36px}.metro-mobile-toggle:hover{background:#eff6ff;background:var(--color-primary-50);color:#1d4ed8;color:var(--color-primary-700)}.metro-mobile-overlay{display:none}@media (max-width:768px){.metro-header{height:52px!important;line-height:52px!important;padding:0 10px!important}.app-header{align-items:center;gap:8px!important;grid-template-columns:minmax(0,1fr) auto!important}.metro-mobile-toggle{display:inline-flex}.metro-brand-panel{align-items:center;display:flex!important;gap:8px;min-width:0}.metro-brand-title{display:none}.metro-brand-mark{background:#0000!important;border:0!important;gap:0!important;padding:0!important}.metro-header-mapchip{font-size:13px!important;max-width:38vw;padding:4px 8px!important}.metro-header-mapchip__name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metro-toolbar-panel{display:none!important}.metro-user-panel{gap:6px!important}.metro-header-save-btn{align-items:center;display:inline-flex!important;justify-content:center;min-width:40px;padding:0!important;width:40px}.metro-header-save-btn__label,.user-chip__name{display:none!important}.user-chip--trigger{padding:4px 6px!important}.user-chip--trigger .anticon-down{display:none}.metro-body{position:relative}.metro-sider{bottom:0;box-shadow:0 16px 36px #0f172a2e;flex:0 0 auto!important;left:0;max-width:320px!important;min-width:0!important;position:fixed!important;top:52px;transform:translateX(-100%);transition:transform .22s cubic-bezier(.4,0,.2,1);width:min(82vw,320px)!important;z-index:200}.metro-sider.is-mobile-open{transform:translateX(0)}.metro-content{margin-left:0!important;width:100%!important}.metro-mobile-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a66;display:block;inset:52px 0 0 0;opacity:0;pointer-events:none;position:fixed;transition:opacity .22s ease;z-index:150}.metro-mobile-overlay.is-active{opacity:1;pointer-events:auto}.metro-canvas-tools{align-items:center;bottom:auto!important;flex-direction:row!important;left:50%!important;max-width:calc(100vw - 24px)!important;position:fixed!important;right:auto!important;top:60px!important;transform:translateX(-50%);z-index:80}.metro-tool-group{box-shadow:0 10px 28px #0f172a2e!important;flex-direction:row!important;flex-wrap:nowrap!important;padding:4px!important}.metro-tool-button{height:40px;justify-content:center;min-width:40px;padding:0!important;width:40px}.metro-tool-button__label{display:none!important}.metro-tool-button__icon{font-size:16px!important}.metro-tool-button__dot{display:none!important}.ant-modal{margin:12px auto!important;max-width:calc(100vw - 24px)!important}.auth-card__info{display:none!important}.auth-card__inner{grid-template-columns:1fr!important;min-height:0!important}.auth-card__form{padding:32px 20px!important}.auth-form-shell{max-width:none!important}}:root{--color-primary-50:#eff6ff;--color-primary-100:#dbeafe;--color-primary-500:#3b82f6;--color-primary-600:#2563eb;--color-primary-700:#1d4ed8;--color-text:#0f172a;--color-text-soft:#475569;--color-text-muted:#64748b;--color-bg:#eef6ff;--color-surface:#fff;--color-surface-muted:#f8fbff;--color-border:#cfe0f5;--color-border-strong:#9dbce7;--color-border-subtle:#e8f1ff}@media (min-width:769px){.metro-header{transform:translateY(-3px)}.app-header{transform:translateY(-7px)}.metro-sider,.metro-sider.ant-layout-sider{background:#fffffff0!important;border:1.5px solid #60a5fa94!important;border-radius:12px!important;box-shadow:inset 0 0 0 1px #ffffffeb,0 10px 26px #0f172a12;overflow:hidden}.metro-app-shell[data-interface-theme=dark] .metro-sider,.metro-app-shell[data-interface-theme=dark] .metro-sider.ant-layout-sider{background:#111827eb!important;border-color:#60a5fa75!important;box-shadow:inset 0 0 0 1px #0f172ad1,0 10px 28px #00000038}.metro-command-bar{bottom:18px;right:304px}.metro-canvas-hud{bottom:18px;box-sizing:border-box;justify-content:space-between;min-width:268px;right:18px;width:268px}.metro-canvas-hud__value{font-feature-settings:"tnum";flex:0 0 104px;font-variant-numeric:tabular-nums;min-width:104px;white-space:nowrap;width:104px}}.auth-layout:not([data-interface-theme=dark]) :where(.ant-btn-primary),.auth-submit-btn.ant-btn,.auth-switcher__btn.is-active,.metro-app-shell:not([data-interface-theme=dark]) :where(.ant-btn-primary),.metro-toolbar__primary.ant-btn{background:linear-gradient(135deg,#2f7df6,#1557d6)!important;border-color:#2563eb!important;box-shadow:0 12px 24px #2563eb38!important;color:#fff!important}.auth-layout:not([data-interface-theme=dark]) :where(.ant-btn-primary:hover),.auth-submit-btn.ant-btn:hover,.auth-switcher__btn.is-active:hover,.metro-app-shell:not([data-interface-theme=dark]) :where(.ant-btn-primary:hover){background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important;border-color:#1d4ed8!important;box-shadow:0 14px 28px #2563eb47!important}.auth-layout:not([data-interface-theme=dark]){background:radial-gradient(circle at 18% 12%,#3b82f62e,#0000 34%),linear-gradient(135deg,#f8fbff,#eef6ff)!important}.auth-layout:not([data-interface-theme=dark]) .auth-card{background:#fff!important;border-color:#60a5fa61!important;box-shadow:0 22px 60px #1e40af24!important}.auth-layout:not([data-interface-theme=dark]) .auth-card__form{background:linear-gradient(135deg,#fffffffa,#eff6ffeb)!important}.auth-layout:not([data-interface-theme=dark]) .auth-form-title{color:#0f172a!important}.auth-layout:not([data-interface-theme=dark]) .auth-form :where(.ant-form-item-label>label),.auth-layout:not([data-interface-theme=dark]) .auth-form-footer,.auth-layout:not([data-interface-theme=dark]) .auth-form-subtitle{color:#475569!important}.auth-layout:not([data-interface-theme=dark]) .auth-switcher{background:#ffffffdb!important;border-color:#cfe0f5!important;box-shadow:0 10px 24px #2563eb14!important}.auth-layout:not([data-interface-theme=dark]) .auth-switcher__btn:not(.is-active){background:#0000!important;color:#0f172a!important}.auth-layout:not([data-interface-theme=dark]) .auth-form :where(.ant-input),.auth-layout:not([data-interface-theme=dark]) .auth-form :where(.ant-input-affix-wrapper){background:#ffffffe6!important;border-color:#cfe0f5!important;box-shadow:0 14px 26px #2563eb14!important}.auth-layout:not([data-interface-theme=dark]) .auth-form :where(.ant-input-affix-wrapper:hover),.auth-layout:not([data-interface-theme=dark]) .auth-form :where(.ant-input:hover){border-color:#9dbce7!important}.auth-layout:not([data-interface-theme=dark]) .auth-form :where(.ant-input-affix-wrapper-focused),.auth-layout:not([data-interface-theme=dark]) .auth-form :where(.ant-input-affix-wrapper:focus-within),.auth-layout:not([data-interface-theme=dark]) .auth-form :where(.ant-input:focus){border-color:#2563eb!important;box-shadow:0 0 0 3px #2563eb24,0 16px 28px #2563eb1a!important}.auth-layout:not([data-interface-theme=dark]) .auth-form :where(.ant-input-prefix){color:#3b82f6!important}.auth-layout:not([data-interface-theme=dark]) .auth-form :where(.ant-input-affix-wrapper input::placeholder),.auth-layout:not([data-interface-theme=dark]) .auth-form :where(.ant-input::placeholder){color:#94a3b8!important}.auth-layout:not([data-interface-theme=dark]) .auth-form-footer{border-top-color:#cfe0f5!important}
/*# sourceMappingURL=main.05920b3c.css.map*/