:root{--color-primary:#018da2;--color-primary-hover:#017a8c;--color-header-bg:#062c50;--color-sidebar-bg:#001529;--color-success:#3f8600;--color-warning:#e69120;--color-error:#ff4d4f;--color-muted:#8c8c8c;--color-border:#e4e4e4;--color-bg:#f0f2f5;--color-white:#fff;--color-ink:#10293f;--color-ink-2:#587086;--color-line:#d9e2e9;--color-amber:#d97b06;--font-sans:"Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--header-height:64px;--sidebar-width:220px;--sidebar-collapsed-width:80px;--content-padding:24px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--border-radius:6px;--shadow-sm:0 1px 2px 0 #00000008, 0 1px 6px -1px #00000005, 0 2px 4px 0 #00000005;--shadow-md:0 6px 16px 0 #00000014, 0 3px 6px -4px #0000001f, 0 9px 28px 8px #0000000d}.app-layout{min-height:100vh}.app-body{margin-top:var(--header-height)}.app-header{z-index:100;padding:0 var(--spacing-lg);background-color:var(--color-header-bg);height:var(--header-height);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.header-left{align-items:center;gap:var(--spacing-sm);display:flex}.logo-link{align-items:center;display:flex}.logo-link .logo{width:auto;height:32px}.header-badge.ant-tag{color:var(--color-white);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;background:#ffffff24;margin:0;font-size:11px;font-weight:500}.header-right{align-items:center;display:flex}.user-menu-trigger{cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:10px;padding:5px 12px 5px 6px;transition:background-color .15s;display:flex}.user-menu-trigger:hover{background-color:#ffffff17}.user-menu-trigger:focus-visible{outline-offset:2px;outline:2px solid #ffffffbf}.user-menu-trigger .ant-avatar{background-color:var(--color-primary);font-family:var(--font-sans);flex-shrink:0;font-weight:600}.user-name{color:var(--color-white);font-family:var(--font-sans);letter-spacing:.01em;white-space:nowrap;font-size:13.5px;font-weight:500}.user-caret{color:#fff9;font-size:10px}.app-sidebar{left:0;top:var(--header-height);z-index:99;border-right:1px solid var(--color-line);position:fixed;bottom:0;overflow:auto}.app-sidebar .ant-layout-sider-children{flex-direction:column;display:flex}.side-nav{flex:1;padding:20px 12px}.side-route{flex-direction:column;gap:6px;list-style:none;display:flex;position:relative}.side-route:before{content:"";border-left:2px dashed #018da259;position:absolute;top:22px;bottom:22px;left:25px}.side-route a{color:var(--color-ink-2);font-family:var(--font-sans);border-radius:8px;align-items:center;gap:12px;padding:6px 10px;font-size:14px;font-weight:500;transition:color .15s;display:flex;position:relative}.side-route a:hover{color:var(--color-ink)}.side-route a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.side-station{background:var(--color-white);border:1.5px solid var(--color-line);width:32px;height:32px;color:var(--color-ink-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;transition:border-color .15s,color .15s;display:inline-flex}.side-route a:hover .side-station{color:var(--color-primary);border-color:#018da28c}.side-route a.is-active{color:var(--color-ink);font-weight:600}.side-route a.is-active .side-station{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white);box-shadow:0 0 0 3px #018da22e}.side-label{white-space:nowrap}.app-sidebar.ant-layout-sider-collapsed .side-label{display:none}.app-sidebar.ant-layout-sider-collapsed .side-route a{justify-content:center;padding:6px 0}.app-sidebar.ant-layout-sider-collapsed .side-route:before{margin-left:-1px;left:50%}.app-sidebar .ant-layout-sider-trigger{background:var(--color-white);color:var(--color-ink-2);border-top:1px solid var(--color-line);border-right:1px solid var(--color-line);transition:color .15s}.app-sidebar .ant-layout-sider-trigger:hover{color:var(--color-primary)}.app-content{margin-left:var(--sidebar-width);padding:var(--spacing-lg);min-height:calc(100vh - var(--header-height));background-color:var(--color-bg);transition:margin-left .2s}.app-body .ant-layout-sider-collapsed+.app-content{margin-left:var(--sidebar-collapsed-width)}.nav-burger{width:44px;height:44px;color:var(--color-white);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;margin-right:4px;padding:0;font-size:18px;display:flex}.nav-burger:hover,.nav-burger:focus-visible{background-color:#ffffff17}@media (width<=900px){.app-content{padding:var(--spacing-md);margin-left:0}.app-body .ant-layout-sider-collapsed+.app-content{margin-left:0}.app-sidebar{box-shadow:var(--shadow-md);transition:transform .25s,box-shadow .25s;transform:translate(0);flex:0 0 220px!important;width:220px!important;min-width:220px!important;max-width:220px!important}.app-sidebar.is-closed{box-shadow:none;transform:translate(-100%)}.sidebar-backdrop{top:var(--header-height);z-index:98;opacity:0;pointer-events:none;background:#062c5066;transition:opacity .25s;position:fixed;bottom:0;left:0;right:0}.sidebar-backdrop.is-open{opacity:1;pointer-events:auto}}@media (prefers-reduced-motion:reduce){.app-sidebar,.sidebar-backdrop,.app-content{transition:none}}body.nav-drawer-open{overflow:hidden}@media (width<=720px){.app-header{padding:0 var(--spacing-sm)}.user-name,.user-caret{display:none}.user-menu-trigger{gap:6px;padding:5px 6px}}.devcard-list{background:var(--color-white);border:1px solid var(--color-line);box-shadow:var(--shadow-sm);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.devcard-list li+li{border-top:1px solid var(--color-line)}.devcard{flex-direction:column;gap:4px;min-width:0;padding:12px;display:flex}.devcard-head{align-items:center;gap:8px;min-width:0;display:flex}.devcard-imei{min-width:0;font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13.5px;font-weight:600;overflow:hidden}.devcard-account{max-width:45%;color:var(--color-ink-2);white-space:nowrap;text-overflow:ellipsis;flex:none;font-size:11.5px;overflow:hidden}.devcard-spec{color:var(--color-ink-2);font-size:12.5px}.devcard-sim{font-family:var(--font-mono);letter-spacing:.02em;color:var(--color-ink-2);overflow-wrap:anywhere;font-size:11px}.devcard-foot{justify-content:space-between;align-items:center;gap:12px;min-width:0;margin-top:2px;display:flex}.devcard-empty{color:var(--color-ink-2);justify-content:center;padding:32px 0;display:flex}.devcard-pager{justify-content:center;margin-top:12px;display:flex}.devcard-search{margin-bottom:12px}@media (width<=900px){.devcard-search .ant-input{font-size:16px}}.mrow-list{background:var(--color-white);border:1px solid var(--color-line);box-shadow:var(--shadow-sm);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.mrow-list li+li{border-top:1px solid var(--color-line)}.mrow{flex-direction:column;gap:3px;min-width:0;padding:10px 12px;display:flex}.mrow-head{align-items:center;gap:8px;min-width:0;display:flex}.mrow-title{min-width:0;font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:600;overflow:hidden}.mrow-title--text{font-family:var(--font-sans)}.mrow-aside{font-family:var(--font-mono);letter-spacing:.03em;color:var(--color-ink-2);flex:none;font-size:10.5px}.mrow-sub{color:var(--color-ink-2);font-size:12px}.mrow-sub a{font-variant-numeric:tabular-nums}.mrow-code{font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;background:#80808014;border-radius:6px;margin:4px 0 0;padding:8px 10px;font-size:11.5px}.mrow-empty{text-align:center;color:var(--color-ink-2);background:var(--color-white);border:1px solid var(--color-line);border-radius:12px;justify-content:center;padding:24px 16px;display:flex}.mrow .ant-tag{margin-inline-end:0;font-size:11px;line-height:18px}@media (width<=900px){.app-content h2.ant-typography{font-size:21px}}.secnav{top:var(--header-height);z-index:40;margin:0 calc(-1 * var(--spacing-md)) var(--spacing-md);background:var(--color-bg);border-bottom:1px solid var(--color-line);position:sticky}.secnav-track{padding:10px var(--spacing-md);scrollbar-width:none;align-items:center;margin:0;list-style:none;display:flex;overflow-x:auto}.secnav-track::-webkit-scrollbar{display:none}.secnav-track li{flex:none;align-items:center;display:flex}.secnav-track li+li:before{content:"";border-top:2px dashed #018da259;flex:none;width:16px}.secnav-stop{background:var(--color-white);border:1.5px solid var(--color-line);color:var(--color-ink-2);font-family:var(--font-sans);white-space:nowrap;cursor:pointer;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:600;transition:border-color .15s,color .15s}.secnav-stop:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.secnav-stop.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white);box-shadow:0 0 0 3px #018da22e}@media (width<=900px){.secnav-target{scroll-margin-top:calc(var(--header-height) + 60px)}}.admin-map-accounts{flex-wrap:wrap;gap:4px;margin-bottom:12px;display:flex}.admin-map-dot{vertical-align:1px;border-radius:50%;width:9px;height:9px;margin-right:6px;display:inline-block}.admin-map{height:calc(100vh - var(--header-height) - 190px);border:1px solid var(--color-line);background:#e8ecef;border-radius:8px;min-height:420px;overflow:hidden}.admin-map-loading{justify-content:center;align-items:center;height:100%;display:flex}.admin-map-popup{gap:4px;font-size:13px;display:grid}@media (width<=900px){.admin-map{height:60vh}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg)}.route-loading{justify-content:center;padding:64px 0;display:flex}.muted{color:var(--color-muted)}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-hover)}
