:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e8fbff;background:radial-gradient(circle at 0 0,#317aff40,#0000 28%),radial-gradient(circle at 100% 0,#1cd1ff2e,#0000 26%),linear-gradient(#07111f 0%,#040b15 60%,#020711 100%);font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{overflow:auto}button,input,a{font:inherit}button{cursor:pointer}.login-page,.dashboard-page{min-height:100vh;position:relative;overflow:hidden}.login-page{background:radial-gradient(circle at 20% 20%,#298bff2e,#0000 26%),radial-gradient(circle at 80% 30%,#55e0ff2e,#0000 22%),linear-gradient(#07101d,#03060e);place-items:center;padding:32px;display:grid}.login-glow{filter:blur(30px);opacity:.65;border-radius:50%;width:420px;height:420px;position:absolute}.login-glow--left{background:#2479ff42;top:-80px;left:-80px}.login-glow--right{background:#32ecff3d;bottom:-100px;right:-100px}.login-panel,.info-card,.project-map-card,.project-popover,.brand-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#051126c7;border:1px solid #6ce7ff2e;box-shadow:inset 0 1px #b8f5ff1a,0 20px 50px #00000059}.login-panel{z-index:1;border-radius:28px;width:min(480px,92vw);padding:40px;position:relative}.login-kicker,.section-kicker,.eyebrow,.panel-label{text-transform:uppercase;letter-spacing:.24em;color:#7ecfff;margin:0;font-size:12px}.login-panel h1,.brand-copy h1,.info-card h2,.project-popover h3{margin:12px 0}.login-description{color:#e1f2ffcc;margin:0 0 28px;line-height:1.7}.login-form{gap:18px;display:grid}.field{gap:10px;display:grid}.field span{color:#c7e9ff}.field input{color:#f1fbff;background:#07162deb;border:1px solid #61c1ff3d;border-radius:14px;outline:none;height:52px;padding:0 16px}.field input:focus{border-color:#49d9ff;box-shadow:0 0 0 3px #49d9ff1f}.login-button,.header-button,.project-link,.project-popover a,.user-dropdown-item,.user-panel{transition:transform .2s,box-shadow .2s,border-color .2s,background .2s}.login-button,.header-button{color:#04101f;background:linear-gradient(135deg,#48ddff,#6ab0ff);border:0;border-radius:14px;height:46px;box-shadow:0 12px 24px #22b4ff3d}.login-button:hover,.header-button:hover,.project-link:hover,.project-popover a:hover,.user-dropdown-item:hover,.user-panel:hover{transform:translateY(-1px)}.login-button:disabled{opacity:.72;cursor:default}.error-message{color:#ff9ea4;margin:0}.screen-scale-shell{margin:0 auto;position:relative}.screen-scale-shell--fluid{width:100%;min-height:100vh}.screen-scale-stage{overflow:visible}.screen-scale-stage--fluid{width:100%;height:auto}.screen-stage{background:linear-gradient(#10315e33 1px,#0000 1px) 0 0/48px 48px,linear-gradient(90deg,#10315e33 1px,#0000 1px) 0 0/48px 48px,radial-gradient(circle at top,#2678ff38,#0000 30%),linear-gradient(#051020 0%,#030914 100%);flex-direction:column;width:1920px;height:1080px;padding:28px 28px 24px;display:flex;position:relative}.screen-stage:before{content:"";pointer-events:none;border:1px solid #54e1ff1f;position:absolute;inset:18px}.brand-header{z-index:10;border-radius:22px;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;display:flex;position:relative}.brand-block,.header-side,.user-panel{align-items:center;display:flex}.brand-block{gap:18px}.brand-logo-frame{background:#fffffff5;border-radius:24px;place-items:center;width:90px;height:90px;padding:10px;display:grid;box-shadow:inset 0 0 0 1px #2861b01f,0 12px 28px #04081452}.brand-logo{object-fit:contain;border-radius:16px;width:100%;height:100%}.brand-copy h1{font-size:34px;line-height:1.2}.brand-copy .eyebrow{color:#92e1ff}.header-side{flex-shrink:0;gap:12px}.time-panel,.user-panel{background:#07162dd9;border:1px solid #5dc0ff2e;border-radius:18px;min-height:72px}.time-panel{background:0 0;border:0;align-items:center;min-width:auto;padding:0 4px 0 0;display:flex}.time-panel strong{font-size:20px;font-weight:600}.user-menu{z-index:20;position:relative}.user-panel{color:#dff9ff;background:linear-gradient(135deg,#0f2a52f5,#081931f0);border:1px solid #5dc0ff38;align-items:center;gap:12px;min-width:0;min-height:64px;padding:0 16px 0 12px;display:flex;box-shadow:inset 0 1px #a7ebff14,0 10px 24px #02081247}.user-avatar{color:#f5feff;background:radial-gradient(circle at 30% 30%,#84f3ffeb,#2c77ffe6);border-radius:50%;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:15px;font-weight:700;display:grid;box-shadow:0 0 18px #4acfff47}.user-meta{justify-items:start;min-width:0;display:grid}.user-label{letter-spacing:.16em;color:#91dcffb8;text-transform:uppercase;font-size:11px}.user-caret{color:#8de5ff;font-size:14px;transition:transform .2s}.user-caret--open{transform:rotate(180deg)}.user-name{text-overflow:ellipsis;color:#e8fdff;white-space:nowrap;font-weight:700;overflow:hidden}.user-dropdown{z-index:30;background:#051126f5;border:1px solid #6ce7ff2e;border-radius:16px;min-width:140px;padding:8px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 36px #00000059}.user-dropdown-item{color:#e6fbff;text-align:left;background:#0a1f3de6;border:0;border-radius:12px;width:100%;height:42px}.header-button{padding:0 18px}.header-button--ghost{color:#d8f8ff;box-shadow:none;background:#0b2244e6;border:1px solid #6ad5ff40}.dashboard-content{flex:1;grid-template-columns:360px minmax(0,1fr);gap:22px;min-height:0;margin-top:22px;display:grid}.dashboard-panel{width:100%;min-height:0;display:flex}.map-section{min-height:0;position:relative}.info-card,.project-map-card{border-radius:22px}.info-card{padding:20px}.project-item span{color:#dcf2ffc7}.panel-title-row{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.panel-title-row h3{margin:0}.info-card--list{grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;min-height:0;display:grid}.project-list{align-content:start;gap:12px;margin:0;padding:0 8px 0 0;list-style:none;display:grid;overflow-y:auto}.project-list::-webkit-scrollbar{width:6px}.project-list::-webkit-scrollbar-thumb{background:#72ddff59;border-radius:999px}.project-item{width:100%;min-width:0}.project-link{text-align:left;color:#effaff;background:#081830e0;border:1px solid #5dc0ff29;border-radius:18px;width:100%;padding:14px 16px}.project-link strong,.project-link span{display:block}.project-link strong{margin-bottom:6px}.map-section{min-width:0}.project-map-card{height:100%;min-height:0;padding:16px}.project-map-canvas{background:radial-gradient(circle at top,#34b5ff24,#0000 34%),#040b18e0;border-radius:20px;height:100%;min-height:0}.project-popover{z-index:5;border-radius:18px;gap:12px;width:280px;padding:16px;display:grid;position:absolute}.project-popover strong{color:#f3feff}.project-popover a{color:#04101f;background:linear-gradient(135deg,#48ddff,#6ab0ff);border-radius:12px;justify-content:center;align-items:center;height:40px;text-decoration:none;display:inline-flex}.popover-close{color:#d8f8ff;background:0 0;border:1px solid #6ad5ff40;border-radius:12px;height:36px}.map-tooltip strong,.map-tooltip p,.map-tooltip span{display:block}@media (pointer:coarse),(prefers-reduced-motion:reduce),(width<=1024px){.login-glow{filter:none;opacity:.3}.login-panel,.info-card,.project-map-card,.project-popover,.brand-header{-webkit-backdrop-filter:none;box-shadow:0 10px 24px #0000003d}.login-button,.header-button,.project-link,.project-popover a,.user-dropdown-item,.user-panel,.user-caret{transition:none}.login-button:hover,.header-button:hover,.project-link:hover,.project-popover a:hover,.user-dropdown-item:hover,.user-panel:hover{transform:none}}@media (width<=1024px){.dashboard-page{overflow:auto}.screen-stage{background-size:24px 24px,24px 24px,auto,auto;width:100%;height:auto;min-height:100vh;padding:16px}.screen-stage:before{inset:10px}.brand-header{border-radius:18px;flex-direction:column;align-items:flex-start;padding:16px}.brand-block{align-items:flex-start}.brand-logo-frame{border-radius:18px;width:64px;height:64px}.brand-copy h1{font-size:24px}.header-side{flex-wrap:wrap;width:100%}.time-panel strong{font-size:16px}.dashboard-content{grid-template-columns:1fr;gap:16px;margin-top:16px}.info-card{padding:16px}.info-card--list{height:auto}.project-list{max-height:280px}.project-map-card{min-height:360px;padding:12px}.project-popover{width:auto;bottom:12px;right:12px;top:auto!important;left:12px!important}}@media (width<=900px){.login-page{padding:20px}.login-panel{padding:28px}}
