.auth-shell{--auth-bg: #040a1a;--auth-ink: #e8eef9;--auth-ink-soft: #a9b6cf;--auth-ink-muted: #6f7f9e;--auth-line: rgba(148, 163, 184, .14);--auth-line-strong: rgba(148, 163, 184, .26);--auth-field: rgba(3, 8, 22, .55);--auth-blue: #3b82f6;--auth-electric: #2f7bff;--auth-cyan: #22d3ee;--auth-violet: #8b5cf6;--auth-green: #34d399;--auth-amber: #fbbf24;--auth-ease: cubic-bezier(.16, 1, .3, 1);position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(440px,1fr);overflow:hidden;color:var(--auth-ink);background:radial-gradient(1100px 700px at 18% -10%,rgba(47,123,255,.2),transparent 60%),radial-gradient(900px 600px at 105% 110%,rgba(139,92,246,.14),transparent 60%),radial-gradient(700px 500px at 70% 40%,rgba(34,211,238,.05),transparent 70%),linear-gradient(180deg,#050c20 0%,var(--auth-bg) 100%);color-scheme:dark}.auth-shell:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.auth-visual{position:relative;display:flex;flex-direction:column;justify-content:center;gap:clamp(16px,3vh,28px);min-width:0;padding:clamp(28px,5vh,56px) clamp(28px,4vw,64px);--scene-w: min(800px, calc((100dvh - 370px)*1.2) )}.auth-visual:before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(148,163,184,.2) 1px,transparent 1.2px);background-size:24px 24px;mask-image:radial-gradient(ellipse 75% 70% at 50% 52%,#000 25%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 52%,#000 25%,transparent 78%)}.auth-visual-head,.auth-visual-foot{width:100%;max-width:var(--scene-w);margin:0 auto}.auth-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 10px;border:1px solid rgba(96,165,250,.22);border-radius:999px;background:#2563eb1a;color:#bfdbfe;font-size:12px;font-weight:500;letter-spacing:.02em}.auth-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--auth-green);box-shadow:0 0 0 3px #34d3992e,0 0 10px #34d399b3;animation:auth-breathe 2.4s ease-in-out infinite}.auth-visual-title{margin:16px 0 10px;color:#f8fafc;font-size:clamp(26px,2.4vw,38px);font-weight:650;line-height:1.12;letter-spacing:-.025em}.auth-gradient-text{background:linear-gradient(92deg,#67e8f9,#60a5fa 40%,#a78bfa 85%);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-visual-text{max-width:520px;margin:0;color:var(--auth-ink-soft);font-size:15px;line-height:1.6}.auth-visual-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.auth-os-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--auth-line);border-radius:999px;background:#0f172a8c;color:#dbe4f3;font-size:12.5px;font-weight:500}.auth-os-win rect{fill:#60a5fa}.auth-os-linux rect{fill:none;stroke:#5eead4;stroke-width:1.2}.auth-os-linux path{fill:none;stroke:#5eead4;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.auth-demo-note{margin-left:auto;color:var(--auth-ink-muted);font-size:12px}.auth-scene{position:relative;width:100%;max-width:var(--scene-w);min-width:0;margin:0 auto;aspect-ratio:720 / 600;container-type:inline-size}.auth-scene-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.srv-rack{fill:#0f1830;stroke:#24345a;stroke-width:1.2}.srv-rail{fill:#1a2747}.srv-plate{fill:#0a1226;stroke:#22314f;stroke-width:1}.srv-plate-text{fill:#c7d2e5;font-size:9.5px;font-weight:650;letter-spacing:.14em}.srv-glyph-win rect{fill:#60a5fa}.srv-glyph-term{fill:#06101f;stroke:#2dd4bf;stroke-width:1.1}.srv-glyph-prompt{fill:none;stroke:#5eead4;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.srv-unit{fill:#0a1124;stroke:#1d2a48;stroke-width:1}.srv-unit-edge{fill:#94a3b814}.srv-bay{fill:#18233f}.srv-bay-led{fill:#7dd3fc;animation:srv-flicker .9s steps(2,jump-none) infinite}.srv-meter-track{fill:#18233f}.srv-meter{fill:#3b82f6;transform-box:fill-box;transform-origin:left center;transform:scaleX(var(--l));animation:srv-load 4.8s ease-in-out infinite}.srv-linux .srv-meter{fill:#22d3ee}.srv-foot{fill:#1a2747}.srv-caption{fill:#8796b3;font-size:9.5px;font-weight:650;letter-spacing:.18em}.srv-led{animation:srv-blink 2.2s ease-in-out infinite}.srv-led-fast{animation-duration:.8s}.srv-led-slow{animation-duration:3.6s}.srv-led-ok{fill:#34d399}.srv-led-info{fill:#60a5fa}.srv-led-warn{fill:#fbbf24}.srv-sweep{transform:translateY(-90px);animation:srv-sweep 9s var(--auth-ease) infinite;pointer-events:none}.srv-link path{fill:none;stroke-linecap:round}.srv-link-base{stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:0;animation:srv-draw 1.4s var(--auth-ease) both}.srv-link-flow{stroke-width:1.6;stroke-dasharray:2 10;animation:srv-flow 1.6s linear infinite}.srv-link-win .srv-link-base{stroke:#3b82f661}.srv-link-win .srv-link-flow{stroke:#93c5fd8c}.srv-link-lin .srv-link-base{stroke:#22d3ee57}.srv-link-lin .srv-link-flow{stroke:#a5f3fc80}.srv-link-hub .srv-link-base{stroke:#8b5cf673}.srv-link-hub .srv-link-flow{stroke:#c4b5fd8c}.srv-link-sync .srv-link-base{stroke:#94a3b833}.srv-link-sync .srv-link-flow{stroke:#94a3b852;animation-duration:3s}.srv-node{fill:#dbeafe}.srv-node-halo{fill:#60a5fa38;animation:srv-blink 2.8s ease-in-out infinite}.srv-packet{offset-distance:0%;offset-rotate:0deg;opacity:0;animation-name:srv-packet;animation-timing-function:cubic-bezier(.45,0,.55,1);animation-iteration-count:infinite;animation-fill-mode:both}.hub-orbit{fill:none;stroke:#60a5fa47;stroke-width:1;stroke-dasharray:3 7}.hub-orbit-fine{stroke:#a78bfa4d;stroke-dasharray:1 5}.hub-spin{animation:hub-spin 36s linear infinite}.hub-spin-reverse{animation-duration:26s;animation-direction:reverse}.hub-satellite{fill:#67e8f9}.hub-satellite-dim{fill:#60a5fa;opacity:.7}.hub-satellite-violet{fill:#c4b5fd}.hub-pulse{fill:none;stroke:#6366f180;stroke-width:1.2;opacity:0;animation:hub-pulse 3.6s ease-out infinite}.hub-core{fill:url(#auth-hub-fill)}.hub-core-edge{fill:none;stroke:url(#auth-hub-stroke);stroke-width:1.4}.tm-card{position:absolute;width:27cqi;display:flex;flex-direction:column;gap:.55em;padding:.95em 1.05em;border:1px solid rgba(148,163,184,.16);border-radius:1em;background:linear-gradient(180deg,#111a33eb,#090f21eb);box-shadow:0 18px 40px -18px #000000b3,inset 0 1px #ffffff0d;color:var(--auth-ink);font-size:clamp(9px,1.62cqi,12.5px);line-height:1.3;animation:auth-rise 1s var(--auth-ease) both,tm-float 8s ease-in-out infinite;animation-delay:var(--d, 0s),var(--float, 0s)}.tm-pos-resources{top:0;left:0}.tm-pos-network{top:3%;right:0}.tm-pos-fleet{bottom:0;left:0}.tm-pos-backup{bottom:3%;right:0}.tm-head{display:flex;align-items:center;justify-content:space-between;gap:.6em}.tm-title{color:#dbe4f3;font-weight:600;white-space:nowrap}.tm-host{white-space:nowrap;color:var(--auth-ink-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82em;letter-spacing:.04em}.tm-metric{display:flex;align-items:baseline;justify-content:space-between;color:var(--auth-ink-soft)}.tm-metric strong{color:#f1f5fb;font-weight:600;font-variant-numeric:tabular-nums}.tm-metric-soft{color:var(--auth-ink-muted);font-size:.9em}.tm-metric-soft strong{color:#6ee7b7}.tm-spark{display:block;width:100%;height:2.6em;overflow:hidden}.tm-spark-track{animation:tm-slide 6s linear infinite}.tm-spark-line{fill:none;stroke:#60a5fa;stroke-width:1.5;stroke-linejoin:round;vector-effect:non-scaling-stroke}.tm-spark-area{fill:#3b82f624}.tm-bar{height:.42em;overflow:hidden;border-radius:999px;background:#94a3b824}.tm-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6366f1,#a78bfa);transform-origin:left center;transform:scaleX(var(--v, 1));animation:tm-breathe-bar 5s ease-in-out infinite}.tm-traffic{display:flex;gap:1.1em;color:#f1f5fb;font-weight:600;font-variant-numeric:tabular-nums}.tm-traffic span{display:inline-flex;align-items:center;gap:.35em}.tm-traffic small{color:var(--auth-ink-muted);font-size:.82em;font-weight:500}.tm-arrow{width:0;height:0;border-left:.32em solid transparent;border-right:.32em solid transparent}.tm-arrow-down{border-top:.42em solid var(--auth-cyan)}.tm-arrow-up{border-bottom:.42em solid var(--auth-violet)}.tm-bars{display:flex;align-items:flex-end;gap:.22em;height:2.4em}.tm-bars span{flex:1;height:100%;border-radius:.15em;background:linear-gradient(180deg,#67e8f9,#3b82f659);transform-origin:bottom center;transform:scaleY(var(--h));animation:tm-traffic 2.7s ease-in-out infinite}.tm-pill{display:inline-flex;align-items:center;gap:.4em;padding:.15em .6em;border-radius:999px;background:#34d3991f;color:#6ee7b7;font-size:.85em;font-weight:600}.tm-live{width:.5em;height:.5em;border-radius:50%;background:var(--auth-green);box-shadow:0 0 .6em #34d399cc;animation:auth-breathe 2s ease-in-out infinite}.tm-fleet{display:flex;align-items:baseline;gap:.35em;color:var(--auth-ink-soft)}.tm-fleet strong{color:#f8fafc;font-size:1.9em;font-weight:650;line-height:1;letter-spacing:-.02em}.tm-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:.25em}.tm-cell{aspect-ratio:1;border-radius:.18em;background:#34d399bf}.tm-cell-flip{animation:tm-flip 9s ease-in-out infinite}.tm-status{display:grid;font-weight:600}.tm-status>span{grid-area:1 / 1;display:inline-flex;align-items:center;gap:.45em}.tm-status-running{color:#93c5fd;opacity:0;animation:tm-phase-running 12s linear infinite}.tm-status-done{color:#6ee7b7;animation:tm-phase-done 12s linear infinite}.tm-spin{width:.8em;height:.8em;border:.14em solid rgba(147,197,253,.3);border-top-color:#93c5fd;border-radius:50%;animation:auth-spin .9s linear infinite}.tm-check{width:.85em;height:.85em;border-radius:50%;background:var(--auth-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='m3 6.2 2 2L9 4' fill='none' stroke='%23052e1f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat}.tm-bar-backup span{background:linear-gradient(90deg,#22d3ee,#34d399);animation:tm-backup 12s linear infinite}.auth-main{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;padding:40px clamp(20px,4vw,56px)}.auth-main:before{content:"";position:absolute;top:8%;bottom:8%;left:0;width:1px;background:linear-gradient(180deg,transparent,rgba(96,165,250,.28) 30%,rgba(139,92,246,.24) 70%,transparent)}.auth-main:after{content:"";position:absolute;z-index:-1;top:50%;left:50%;width:min(620px,90%);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(59,130,246,.13),rgba(139,92,246,.05) 45%,transparent 70%);pointer-events:none}.auth-panel{width:100%;max-width:420px;display:flex;flex-direction:column;gap:18px;animation:auth-rise .9s var(--auth-ease) .1s both}.auth-card{position:relative;display:flex;flex-direction:column;gap:22px;padding:36px 34px 32px;border:1px solid var(--auth-line);border-radius:22px;background:linear-gradient(180deg,#121c38b8,#090f22c7);box-shadow:0 40px 90px -30px #000000bf,0 0 0 1px #02061766,inset 0 1px #ffffff0f;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}.auth-card:before{content:"";position:absolute;top:-1px;left:14%;right:14%;height:1px;background:linear-gradient(90deg,transparent,rgba(103,232,249,.9),rgba(167,139,250,.9),transparent)}.auth-brand{display:flex;align-items:center;gap:14px}.auth-brand-logo{position:relative;flex:none;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:linear-gradient(160deg,#2563eb38,#7c3aed24);box-shadow:0 8px 24px -8px #3b82f68c,inset 0 1px #ffffff14}.auth-brand-logo img{width:30px;height:30px;object-fit:contain}.auth-brand h1{margin:0;color:#f8fafc;font-size:22px;font-weight:650;line-height:1.15;letter-spacing:-.02em}.auth-subtitle{margin:3px 0 0;color:var(--auth-ink-muted);font-size:13px}.auth-heading{padding-top:22px;border-top:1px solid var(--auth-line)}.auth-heading h2{margin:0;color:#f8fafc;font-size:20px;font-weight:600;letter-spacing:-.015em}.auth-heading p{margin:6px 0 0;color:var(--auth-ink-soft);font-size:14px}.auth-alerts{display:flex;flex-direction:column;gap:10px}.auth-alerts:empty{margin-bottom:-22px}.auth-card .alert{margin:0;padding:11px 14px 11px 40px;position:relative;border-radius:12px;font-size:13.5px;line-height:1.5;animation:auth-alert-in .45s var(--auth-ease) both}.auth-card .alert:before{content:"!";position:absolute;top:11px;left:13px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;font-size:12px;font-weight:700;line-height:1}.auth-card .alert.error{border-color:#fb718559;background:#e11d481a;color:#fecdd3}.auth-card .alert.error:before{background:#fb7185;color:#3b0716}.auth-card .alert.warning{border-color:#fbbf2452;background:#d977061a;color:#fde68a}.auth-card .alert.warning:before{background:#fbbf24;color:#3b2502}.auth-card .alert.success{border-color:#34d39952;background:#0596691f;color:#a7f3d0}.auth-card .alert.success:before{content:"✓";background:#34d399;color:#052e1f}.auth-step{display:flex;flex-direction:column;gap:18px;animation:auth-step-in .5s var(--auth-ease) both}.auth-field{display:flex;flex-direction:column;gap:8px}.auth-label{color:#cbd5e6;font-size:13px;font-weight:500}.auth-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.auth-input{position:relative;display:block}.auth-input-icon{position:absolute;top:50%;left:14px;width:18px;height:18px;transform:translateY(-50%);fill:none;stroke:var(--auth-ink-muted);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transition:stroke .2s var(--auth-ease)}.auth-input:focus-within .auth-input-icon{stroke:#7dd3fc}.auth-shell .auth-field input{width:100%;min-height:48px;padding:12px 14px;border:1px solid rgba(148,163,184,.18);border-radius:12px;background:var(--auth-field);color:var(--auth-ink);font-size:15px;box-shadow:inset 0 1px 2px #00000040;transition:border-color .2s var(--auth-ease),box-shadow .2s var(--auth-ease),background-color .2s var(--auth-ease)}.auth-shell .auth-input input{padding-left:44px}.auth-shell .auth-input input:has(+.auth-reveal){padding-right:48px}.auth-shell .auth-field input::placeholder{color:#4f5f7f}.auth-shell .auth-field input:hover{border-color:var(--auth-line-strong)}.auth-shell .auth-field input:focus{outline:none;border-color:#60a5fabf;background:#030816bf;box-shadow:0 0 0 4px #3b82f62e,0 0 24px -6px #22d3ee59}.auth-shell .auth-field input:-webkit-autofill{-webkit-text-fill-color:var(--auth-ink);caret-color:var(--auth-ink);-webkit-box-shadow:0 0 0 1000px #0a1530 inset;transition:background-color 9999s ease-out 0s}.auth-shell .auth-field input.auth-code{min-height:56px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:24px;letter-spacing:.4em;text-align:center}.auth-hint{color:#fcd34d;font-size:12.5px}.auth-shell button.auth-reveal,.auth-shell button.auth-reveal:hover:not(:disabled),.auth-shell button.auth-reveal:active:not(:disabled){position:absolute;top:50%;right:7px;display:grid;place-items:center;width:36px;height:36px;min-height:0;padding:0;border:none;border-radius:9px;background:transparent;color:var(--auth-ink-muted);box-shadow:none;transform:translateY(-50%)}.auth-shell button.auth-reveal:hover:not(:disabled){background:#94a3b81f;color:var(--auth-ink)}.auth-reveal svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.auth-shell .auth-submit,.auth-shell .auth-submit:hover:not(:disabled){position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:50px;margin-top:4px;padding:12px 18px;overflow:hidden;border:1px solid rgba(147,197,253,.3);border-radius:12px;background:linear-gradient(100deg,#1d6bff,#3b82f6 45%,#7c5cff);color:#fff;font-size:15px;font-weight:600;letter-spacing:.005em;text-decoration:none;box-shadow:0 12px 30px -12px #3b82f6d9,inset 0 1px #ffffff38;transition:transform .2s var(--auth-ease),box-shadow .25s var(--auth-ease),filter .25s var(--auth-ease)}.auth-shell .auth-submit:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translate(-120%);transition:transform .8s var(--auth-ease);pointer-events:none}.auth-shell .auth-submit:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 16px 40px -12px #3b82f6f2,0 0 0 1px #93c5fd40,inset 0 1px #ffffff40}.auth-shell .auth-submit:hover:not(:disabled):after{transform:translate(120%)}.auth-shell .auth-submit:active:not(:disabled){transform:translateY(1px) scale(.995);filter:brightness(.98)}.auth-shell .auth-submit:focus-visible{outline:2px solid #7dd3fc;outline-offset:3px;border-radius:12px}.auth-shell .auth-submit:disabled{opacity:.85;cursor:progress}.auth-submit-arrow{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--auth-ease)}.auth-submit:hover .auth-submit-arrow{transform:translate(3px)}.auth-spinner{width:17px;height:17px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:auth-spin .8s linear infinite}.auth-shell button.secondary,.auth-shell button.secondary:hover:not(:disabled){width:100%;min-height:46px;border:1px solid var(--auth-line-strong);border-radius:12px;background:#0f172a66;color:var(--auth-ink-soft);font-weight:500;box-shadow:none}.auth-shell button.secondary:hover:not(:disabled){border-color:#94a3b866;background:#94a3b81a;color:var(--auth-ink)}.auth-shell button.auth-link,.auth-shell button.auth-link:hover:not(:disabled),.auth-shell a.auth-link{align-self:center;min-height:0;padding:2px 4px;border:none;border-radius:6px;background:none;box-shadow:none;color:#7cb4ff;font-size:13px;font-weight:500;text-decoration:none;transition:color .2s var(--auth-ease)}.auth-shell button.auth-link:hover:not(:disabled),.auth-shell a.auth-link:hover{color:#a5d8ff;text-decoration:underline;text-underline-offset:3px}.auth-shell :focus-visible{outline:2px solid #7dd3fc;outline-offset:2px}.auth-step-text{margin:0;color:var(--auth-ink-soft);font-size:14px;line-height:1.6}.auth-step-text strong{color:var(--auth-ink)}.auth-setup{display:flex;flex-direction:column;gap:14px}.auth-qr{align-self:center;width:200px;height:200px;padding:10px;border-radius:14px;background:#fff;box-shadow:0 0 0 1px #94a3b833,0 18px 40px -18px #3b82f699}.auth-key{display:inline-block;margin-top:4px;padding:3px 8px;border:1px solid var(--auth-line);border-radius:8px;background:#94a3b81a;color:#e0f2fe;font-size:13.5px;letter-spacing:.06em;word-break:break-all}.auth-trust{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;color:var(--auth-ink-muted);font-size:12.5px}.auth-trust svg{width:16px;height:16px;fill:none;stroke:#6ee7b7;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.fx-in{animation:auth-rise .9s var(--auth-ease) both;animation-delay:var(--d, 0s)}.scene-in{animation:auth-fade-up 1.1s var(--auth-ease) both;animation-delay:var(--d, 0s)}@keyframes auth-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes auth-fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes auth-step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes auth-alert-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes auth-breathe{0%,to{opacity:1}50%{opacity:.45}}@keyframes auth-spin{to{transform:rotate(360deg)}}@keyframes srv-blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes srv-flicker{0%,to{opacity:1}50%{opacity:.15}}@keyframes srv-load{0%,to{transform:scaleX(var(--l))}50%{transform:scaleX(calc(var(--l) * .72))}}@keyframes srv-sweep{0%,55%{transform:translateY(-90px)}85%,to{transform:translateY(300px)}}@keyframes srv-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes srv-flow{to{stroke-dashoffset:-24}}@keyframes srv-packet{0%{offset-distance:0%;opacity:0}12%,85%{opacity:1}to{offset-distance:100%;opacity:0}}@keyframes hub-spin{to{transform:rotate(360deg)}}@keyframes hub-pulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}@keyframes tm-float{0%,to{translate:0 0}50%{translate:0 -6px}}@keyframes tm-slide{to{transform:translate(-60px)}}@keyframes tm-breathe-bar{0%,to{transform:scaleX(var(--v, 1))}50%{transform:scaleX(calc(var(--v, 1) * .93))}}@keyframes tm-traffic{0%,to{transform:scaleY(var(--h))}50%{transform:scaleY(calc(var(--h) * .45))}}@keyframes tm-flip{0%,58%,80%,to{background:#34d399bf}62%,76%{background:#fbbf24}}@keyframes tm-backup{0%{transform:scaleX(.04)}64%{transform:scaleX(1)}94%{transform:scaleX(1);opacity:1}to{transform:scaleX(1);opacity:0}}@keyframes tm-phase-running{0%,63%{opacity:1}65%,to{opacity:0}}@keyframes tm-phase-done{0%,64%{opacity:0}67%,96%{opacity:1}to{opacity:0}}@media(max-width:1199px){.auth-shell{grid-template-columns:minmax(0,1fr) minmax(400px,.9fr)}.auth-visual{padding-inline:28px}.auth-demo-note{margin-left:0;width:100%}}@media(max-width:899px){.auth-shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;overflow:visible}.auth-visual{gap:12px;padding:28px 24px 0;text-align:center}.auth-visual:before{mask-image:radial-gradient(ellipse 70% 80% at 50% 60%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 60%,#000 20%,transparent 75%)}.auth-visual-title{margin:12px 0 0;font-size:26px}.auth-visual-text,.auth-visual-foot{display:none}.auth-visual{--scene-w: 380px}.tm-card{display:none}.auth-main{align-items:flex-start;padding:8px 24px 40px}.auth-main:before{display:none}}@media(max-width:639px){.auth-visual{display:none}.auth-main{align-items:center;min-height:100vh;min-height:100dvh;padding:24px 16px}.auth-card{gap:20px;padding:28px 22px 24px;border-radius:20px}.auth-alerts:empty{margin-bottom:-20px}.auth-heading{padding-top:20px}}@media(min-width:900px)and (max-height:760px){.auth-visual-text{display:none}.auth-visual-title{margin-bottom:0}.auth-visual{--scene-w: min(720px, calc((100dvh - 280px)*1.2) )}}@media(prefers-reduced-motion:reduce){.auth-shell *,.auth-shell *:before,.auth-shell *:after{animation:none!important;transition-duration:.01ms!important}.srv-packet{display:none}.tm-status-running{opacity:0}.tm-status-done{opacity:1}}:root{--bg: #f5f7fb;--surface: #ffffff;--surface-muted: #f8fafc;--border: #e3e8ef;--text: #1e293b;--muted: #64748b;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-soft: #eff4ff;--danger: #dc2626;--ok: #15803d;--warning-bg: #fffbeb;--warning-border: #f5c46b;--sidebar: #0f172a;--sidebar-text: #cbd5e1;--radius: 10px;--shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .04);font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;font-size:14px;line-height:1.45;color:var(--text);background:var(--bg)}*,*:before,*:after{box-sizing:border-box}body{margin:0}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h2,h3{margin:0}h3{margin:16px 0 8px;font-size:15px}input,select,textarea{font:inherit;padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:inherit}input:focus,select:focus,textarea:focus{outline:2px solid var(--primary-soft);border-color:var(--primary)}textarea{min-height:70px;resize:vertical}input[type=checkbox]{width:auto}button,.button{font:inherit;font-weight:500;display:inline-block;padding:7px 14px;border:1px solid var(--primary);border-radius:8px;background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap}button:hover:not(:disabled),.button:hover{background:var(--primary-hover);text-decoration:none}button:disabled{opacity:.6;cursor:not-allowed}button.secondary,.button.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}button.secondary:hover:not(:disabled),.button.secondary:hover{background:#eef1f5}button.danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}button.danger:hover:not(:disabled){background:#fdecee}.app{min-height:100vh;display:flex}.sidebar{position:sticky;top:0;height:100vh;width:232px;flex-shrink:0;display:flex;flex-direction:column;padding:20px 12px;background:var(--sidebar);color:var(--sidebar-text)}.sidebar .brand{padding:0 12px 20px;color:#fff}.brand{font-weight:700;font-size:17px;letter-spacing:.01em}.sidebar nav{flex:1;overflow-y:auto}.nav-group{margin-bottom:18px}.nav-group-title{padding:0 12px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.sidebar nav a{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:8px;color:var(--sidebar-text)}.sidebar nav a:hover{color:#fff;text-decoration:none;background:#ffffff0f}.sidebar nav a.active{color:#fff;background:var(--primary)}.user-box{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border-top:1px solid rgba(255,255,255,.08)}.user-name{color:#fff;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:130px}.user-role{font-size:12px;color:#94a3b8}.app-main{flex:1;min-width:0}.topbar{display:none}.app-content{max-width:1240px;margin:0 auto;padding:28px 32px}@media(max-width:900px){.sidebar{position:fixed;z-index:20;left:0;transform:translate(-100%);transition:transform .2s ease}.app.menu-open .sidebar{transform:none;box-shadow:0 0 40px #0f172a66}.topbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border)}.app-content{padding:16px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 22px;margin-bottom:18px}.card.closed{padding-bottom:6px}.card-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.card.closed .card-header{margin-bottom:14px}.card-header h2{font-size:17px;font-weight:600}.card-title{display:flex;align-items:center;gap:8px;min-width:0}.card-toggle{display:flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:inherit;text-align:left}.card-toggle:hover:not(:disabled){background:none;color:var(--primary)}.chevron{width:14px;color:var(--muted)}.hint-button{width:22px;height:22px;padding:0;border-radius:50%;border:1px solid var(--border);background:var(--surface-muted);color:var(--muted);font-size:12px;font-weight:700;line-height:20px;text-align:center}.hint-button:hover:not(:disabled){background:var(--primary-soft);color:var(--primary)}.hint{margin:-4px 0 14px;padding:10px 12px;border-radius:8px;background:var(--primary-soft);color:#1e3a8a;font-size:13px}.card-actions,.row-actions,.form-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px;padding:4px;border-radius:var(--radius);background:#e9eef5;width:fit-content;max-width:100%}.tabs button{border:0;border-radius:8px;background:transparent;color:var(--muted);font-weight:500;padding:6px 14px}.tabs button:hover:not(:disabled){background:#fff9;color:var(--text)}.tabs button.active,.tabs button.active:hover:not(:disabled){background:var(--surface);color:var(--primary);box-shadow:var(--shadow)}.multi-select{position:relative;min-width:320px}.multi-select summary{list-style:none;cursor:pointer;padding:7px 30px 7px 9px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.multi-select summary:after{content:"▾";position:absolute;right:10px;color:var(--muted)}.multi-select summary::-webkit-details-marker{display:none}.multi-select-options{position:absolute;z-index:10;left:0;right:0;min-width:420px;max-height:320px;overflow-y:auto;margin-top:4px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 6px 18px #0d1b2a24;display:flex;flex-direction:column;gap:6px}.multi-select-options label{align-items:flex-start}.panel{border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:16px;background:#fafbfc}.panel h3{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px 16px;margin-bottom:20px}.form-grid label,.form-grid .field{display:flex;flex-direction:column;gap:4px;font-weight:500}.form-grid .field .multi-select{min-width:0;font-weight:400}.form-grid label.inline,label.inline{flex-direction:row;align-items:center;gap:8px}.form-grid .full,.form-grid .alert{grid-column:1 / -1}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.toolbar.inline input{min-width:280px}.search-bar{display:flex;gap:8px}.search-bar input{min-width:280px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:hover td{background:var(--surface-muted)}tbody tr:last-child td{border-bottom:0}th{font-weight:600;color:var(--muted);background:var(--surface-muted);font-size:11px;text-transform:uppercase;letter-spacing:.03em}tr.critical-row td{background:#fdecee}td.row-actions{justify-content:flex-end}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-top:12px;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.project-card{display:block;border:1px solid var(--border);border-left:4px solid var(--ok);border-radius:10px;padding:16px;color:inherit;background:var(--surface);transition:box-shadow .15s ease}.project-card:hover{text-decoration:none;box-shadow:0 4px 14px #0d1b2a1f}.project-card.neutral{border-left-color:var(--primary)}.project-card.critical{border-left-color:var(--danger);background:#fff8f8}.project-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;font-size:15px}.project-card dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0}.project-card dt{color:var(--muted)}.project-card dd{margin:0;text-align:right}.project-card-actions{justify-content:flex-end;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.details{display:grid;grid-template-columns:180px 1fr;gap:8px 16px;margin:0}.details dt{color:var(--muted)}.details dd{margin:0}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge.ok{background:#dafbe1;color:var(--ok)}.badge.danger{background:#ffebe9;color:var(--danger)}.badge.warning{background:var(--warning-bg);color:#8a5a00}.nav-count{margin-left:4px;padding:0 6px;border-radius:999px;background:var(--danger);color:#fff;font-size:11px}.badge.muted{background:#eef1f5;color:var(--muted)}.alert{padding:12px 14px;border-radius:8px;margin-bottom:16px;border:1px solid transparent}.alert.error{background:#ffebe9;border-color:#ffc1bc;color:#82071e}.alert.warning{background:var(--warning-bg);border-color:var(--warning-border)}.alert.success{background:#dafbe1;border-color:#aceebb;color:#116329}.alert p{margin:4px 0 8px}.secret{display:block;margin:8px 0;padding:8px 10px;background:#0d1b2a;color:#e6edf3;border-radius:6px;word-break:break-all;font-family:ui-monospace,Cascadia Code,Consolas,monospace}td .secret{display:inline-block;margin:0;padding:2px 8px}.mono{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:13px;word-break:break-all}.muted{color:var(--muted)}.small{font-size:12px}.page-message{color:var(--muted);padding:16px 0}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0d1b2a}.login-card{width:100%;max-width:380px;background:var(--surface);border-radius:12px;padding:32px;display:flex;flex-direction:column;gap:14px}.login-card label{display:flex;flex-direction:column;gap:4px;font-weight:500}.login-card h1{margin:0 0 8px;font-size:22px}.audit-changes{margin:0 0 4px;white-space:pre-wrap;word-break:break-word}.environment-tag{display:inline-block;margin-bottom:8px;padding:1px 8px;border:1px solid var(--border);border-radius:10px;font-size:12px;color:var(--muted)}.environment-tag.production{border-color:var(--danger);color:var(--danger)}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 16px;max-height:320px;overflow-y:auto;margin-bottom:12px}.metrics-chart{margin-bottom:20px}.chart-frame{position:relative}.chart-frame svg{display:block;width:100%;height:auto}.chart-legend{display:flex;gap:16px;font-size:12px;color:var(--muted);margin-bottom:4px}.chart-legend i,.chart-tooltip i{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:2px;vertical-align:-1px}.chart-grid{stroke:#e6e8eb;stroke-width:1}.chart-axis{fill:var(--muted);font-size:11px}.chart-crosshair{stroke:#9aa1a9;stroke-width:1;stroke-dasharray:3 3}.chart-tooltip{position:absolute;top:24px;transform:translate(-50%);padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);box-shadow:0 2px 8px #00000014;font-size:12px;pointer-events:none;white-space:nowrap}.section-title{margin:16px 0 8px;font-size:14px}.mono .badge{margin-left:8px;font-family:inherit}.link-button{padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;white-space:pre-wrap;word-break:break-word}.zip-tree{max-height:360px;overflow-y:auto;border:1px solid var(--border);border-radius:6px;padding:8px 12px;font-weight:400}.zip-tree-row{display:flex;align-items:center;gap:12px;padding:2px 0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.stat{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:8px;background:var(--surface-muted);border:1px solid var(--border)}.stat-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.steps{list-style:none;margin:10px 0;padding:0;display:grid;gap:8px}.steps li{position:relative;padding-left:28px;color:var(--muted)}.steps li:before{content:"";position:absolute;left:0;top:1px;width:14px;height:14px;border-radius:50%;border:2px solid var(--border)}.steps li.done{color:var(--text)}.steps li.done:before{background:var(--ok);border-color:var(--ok)}.steps li.active{color:var(--text);font-weight:600}.steps li.active:before{border-color:var(--primary);border-top-color:transparent;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.site-block{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px}.site-block-header{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.site-block-header h3{margin:0;font-size:15px}.permission-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.permission-group{margin:0;padding:10px 14px 12px;border:1px solid var(--border);border-radius:var(--radius);display:grid;gap:6px}.permission-group legend{padding:0 6px;font-weight:600}.user-projects{margin:16px 0;display:grid;gap:8px}.checkbox-list{max-height:240px;overflow-y:auto;display:grid;gap:4px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius)}.page-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.page-header h1{margin:0;font-size:22px;font-weight:650}.page-actions{display:flex;flex-wrap:wrap;gap:8px}a.button{text-decoration:none}.small-button{padding:4px 10px;font-size:13px}.summary-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-bottom:16px}.tile{display:flex;flex-direction:column;gap:0;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:inherit}a.tile:hover{text-decoration:none;border-color:var(--primary)}.tile-label{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.tile-value{font-size:22px;font-weight:650;line-height:1.2}.tile-detail{font-size:12px;color:var(--muted)}.tile.ok{border-left-color:var(--ok)}.tile.warning{border-left-color:#d97706}.tile.danger{border-left-color:var(--danger)}.tile.danger .tile-value{color:var(--danger)}.attention-list{list-style:none;margin:0;padding:0}.attention{display:grid;grid-template-columns:120px 1fr auto auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.attention:last-child{border-bottom:0}.attention-kind{justify-self:start;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.attention.danger .attention-kind{background:#fee2e2;color:#991b1b}.attention.warning .attention-kind{background:var(--warning-bg);color:#92400e}.all-good{margin:0;color:var(--ok);font-weight:500}@media(max-width:700px){.attention{grid-template-columns:1fr auto}.attention-text{grid-column:1 / -1}}.table-scroll{overflow-x:auto}.row-title{font-weight:600}.warning-text{color:#b45309}.usage{display:inline-flex;align-items:center;gap:8px;min-width:96px}.usage-track{width:56px;height:6px;border-radius:3px;background:var(--border);overflow:hidden}.usage-fill{display:block;height:100%;border-radius:3px;background:var(--ok)}.usage.warning .usage-fill{background:#d97706}.usage.danger .usage-fill{background:var(--danger)}.usage-value{font-size:13px;font-variant-numeric:tabular-nums}.usage.danger .usage-value{color:var(--danger);font-weight:600}.connect-action{display:inline-flex;gap:6px;align-items:center}.project-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.project-tile{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px solid var(--border);border-left:4px solid var(--ok);border-radius:var(--radius);background:var(--surface)}.project-tile.danger{border-left-color:var(--danger)}.project-tile-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.project-tile-stats{display:grid;grid-template-columns:48px 1fr;gap:4px 8px;margin:0;align-items:center}.project-tile-stats dt{color:var(--muted);font-size:12px}.project-tile-stats dd{margin:0}.project-tile-footer{display:flex;flex-wrap:wrap;gap:4px 12px;padding-top:6px;border-top:1px solid var(--border)}tr.critical-row td{background:#fef2f2}tr.critical-row td:first-child{box-shadow:inset 3px 0 0 var(--danger)}tbody tr.critical-row:hover td{background:#fee2e2}.alert.in-progress{display:flex;align-items:center;gap:8px;background:var(--primary-soft);color:#1e3a8a}.spinner{width:14px;height:14px;flex-shrink:0;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .9s linear infinite}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}.ls-progress{margin:8px 0 14px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted)}.steps li.failed{color:var(--danger)}.steps li.failed:before{background:var(--danger);border-color:var(--danger)}.ls-activity{display:flex;flex-direction:column;gap:4px;font-weight:400;color:var(--primary)}.ls-activity progress{width:100%;max-width:360px;height:8px;accent-color:var(--primary)}.chip-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.chip{padding:2px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface-muted);color:var(--text);font-size:.85rem;font-weight:500}.live-label{display:inline-flex;align-items:center;gap:6px;color:var(--ok);font-weight:600}.live-dot{display:inline-block;width:8px;height:8px;margin-left:6px;border-radius:50%;background:var(--ok);animation:live-pulse 2s ease-in-out infinite}.live-label .live-dot{margin-left:0}@keyframes live-pulse{50%{opacity:.35}}table.clickable-rows tbody tr{cursor:pointer}table.clickable-rows tbody tr:hover{background:var(--surface-muted)}table.clickable-rows tbody tr.selected{background:var(--surface-muted);box-shadow:inset 3px 0 0 var(--primary)}.danger-text{color:var(--danger)}.project-tile-contents{display:grid;gap:8px;padding-top:10px;border-top:1px solid var(--border)}.project-tile-item{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.875rem}.project-tile-item>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-tile[draggable=true]{cursor:grab}.project-tile[data-dragging=true]{opacity:.45}.project-tile[data-drop-target=true]{outline:2px dashed var(--primary);outline-offset:2px}:root{--bg: #f4f6fa;--surface: #ffffff;--surface-muted: #f7f9fc;--surface-sunken: #eef2f7;--border: #e4e9f0;--border-strong: #d3dae5;--text: #0f172a;--text-soft: #334155;--muted: #64748b;--primary: #4f46e5;--primary-hover: #4338ca;--primary-soft: #eef0ff;--primary-ring: rgba(79, 70, 229, .18);--danger: #e11d48;--danger-soft: #fff1f3;--ok: #059669;--ok-soft: #ecfdf5;--warning: #d97706;--warning-bg: #fffbeb;--warning-border: #fcd34d;--sidebar: #0b1020;--sidebar-2: #111a33;--sidebar-text: #a7b0c4;--radius: 14px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 2px 8px rgba(15, 23, 42, .04);--shadow-lg: 0 10px 30px rgba(15, 23, 42, .08), 0 2px 6px rgba(15, 23, 42, .04);--ease: cubic-bezier(.2, .8, .2, 1);font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,-apple-system,Roboto,sans-serif;font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01"}::selection{background:var(--primary-soft);color:var(--primary-hover)}a{color:var(--primary);transition:color .15s var(--ease)}a:hover{color:var(--primary-hover)}:focus-visible{outline:3px solid var(--primary-ring);outline-offset:2px;border-radius:6px}input,select,textarea{min-height:38px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .15s var(--ease),box-shadow .15s var(--ease)}textarea{min-height:84px}input[type=checkbox],input[type=radio]{min-height:0;width:16px;height:16px;accent-color:var(--primary)}input:hover,select:hover,textarea:hover{border-color:#b9c3d3}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-ring)}select{appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.form-grid{gap:16px 20px}.form-grid label,.form-grid .field{gap:6px;font-size:13px;font-weight:600;color:var(--text-soft)}.form-grid label input,.form-grid label select,.form-grid label textarea{font-weight:400;color:var(--text)}button,.button{min-height:36px;padding:8px 16px;border-radius:var(--radius-sm);font-weight:600;letter-spacing:.005em;box-shadow:0 1px 2px #4f46e540;transition:background-color .15s var(--ease),border-color .15s var(--ease),box-shadow .15s var(--ease),transform .15s var(--ease),color .15s var(--ease)}button:hover:not(:disabled),.button:hover{box-shadow:0 4px 12px #4f46e547}button:active:not(:disabled){transform:translateY(1px)}button.secondary,.button.secondary{border-color:var(--border-strong);box-shadow:0 1px 2px #0f172a0a}button.secondary:hover:not(:disabled),.button.secondary:hover{background:var(--surface-muted);border-color:#b9c3d3;box-shadow:0 1px 2px #0f172a0f}button.danger{border-color:#fecdd6;color:var(--danger);box-shadow:none}button.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger);box-shadow:none}.small-button{min-height:30px;padding:5px 12px}.link-button,.link-button:hover:not(:disabled){min-height:0;box-shadow:none;color:var(--primary);font-weight:600}.sidebar{width:248px;padding:18px 14px;background:linear-gradient(180deg,var(--sidebar) 0%,var(--sidebar-2) 100%);border-right:1px solid rgba(255,255,255,.04)}.sidebar .brand,.brand{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;letter-spacing:-.01em}.sidebar .brand{padding:4px 10px 22px}.brand-logo{flex:none;object-fit:contain}.brand-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#6366f1,#22d3ee);color:#fff;font-weight:800;font-size:15px;box-shadow:0 6px 16px #6366f166}.nav-group{margin-bottom:20px}.nav-group-title{padding:0 12px 8px;font-size:10.5px;letter-spacing:.1em;color:#5b6680}.sidebar nav a{margin-bottom:2px;padding:9px 12px;border-radius:10px;font-weight:500;transition:background-color .15s var(--ease),color .15s var(--ease)}.sidebar nav a:hover{background:#ffffff0f}.sidebar nav a.active{color:#fff;background:#6366f138;box-shadow:inset 3px 0 #818cf8}.nav-label{display:inline-flex;align-items:center;gap:11px}.nav-icon{flex-shrink:0;opacity:.85}.sidebar nav a.active .nav-icon{opacity:1;color:#a5b4fc}.nav-count{min-width:20px;padding:1px 7px;text-align:center;font-weight:700;background:#f43f5e}.user-box{gap:10px;justify-content:flex-start;margin:0 -2px;padding:14px 10px 4px}.user-text{flex:1;min-width:0}.user-avatar{display:inline-grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#334155,#1e293b);border:1px solid rgba(255,255,255,.12);color:#e2e8f0;font-weight:700}.user-box button.secondary{min-height:32px;padding:5px 12px;background:#ffffff0f;border-color:#ffffff1f;color:#e2e8f0;box-shadow:none}.user-box button.secondary:hover:not(:disabled){background:#ffffff1f;border-color:#fff3}.app-content{max-width:1320px;padding:32px 40px 48px;animation:page-in .25s var(--ease)}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}}@media(max-width:900px){.topbar{position:sticky;top:0;z-index:15;-webkit-backdrop-filter:saturate(1.4) blur(8px);backdrop-filter:saturate(1.4) blur(8px);background:#ffffffd9}.app-content{padding:18px 16px 32px}}.page-header{margin-bottom:22px}.page-header h1{font-size:26px;font-weight:750;letter-spacing:-.02em}.card{border-color:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px 24px;margin-bottom:20px}.card-header{margin-bottom:16px}.card-header h2{font-size:16px;font-weight:700;letter-spacing:-.01em}.hint{border:1px solid #e0e3ff;border-radius:var(--radius-sm);background:var(--primary-soft);color:#3730a3;line-height:1.55}.hint-button,.hint-button:hover:not(:disabled){min-height:0;box-shadow:none}.panel{border-radius:var(--radius-sm);background:var(--surface-muted)}.tabs{gap:2px;padding:4px;border-radius:12px;background:var(--surface-sunken);border:1px solid var(--border)}.tabs button{min-height:34px;border-radius:9px;box-shadow:none;font-weight:600}.tabs button:hover:not(:disabled){box-shadow:none}.tabs button.active,.tabs button.active:hover:not(:disabled){color:var(--text);box-shadow:0 1px 3px #0f172a1a}.segmented{display:inline-flex;padding:3px;border-radius:10px;background:var(--surface-sunken);border:1px solid var(--border)}.segmented button,.segmented button:hover:not(:disabled){min-height:30px;padding:4px 14px;border:0;border-radius:8px;background:transparent;color:var(--muted);box-shadow:none}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0f172a1a}table{border-collapse:separate;border-spacing:0}th,td{padding:12px 14px;border-bottom:1px solid var(--border)}th{position:sticky;top:0;background:var(--surface-muted);color:#7a879b;font-size:11px;font-weight:700;letter-spacing:.06em}th:first-child{border-top-left-radius:var(--radius-sm)}th:last-child{border-top-right-radius:var(--radius-sm)}tbody tr td{transition:background-color .12s var(--ease)}tbody tr:hover td{background:#f8faff}.table-scroll{border:1px solid var(--border);border-radius:var(--radius-sm)}.table-scroll th{border-radius:0}.pagination{margin-top:16px;font-size:13px}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:650;line-height:1.4;border:1px solid transparent}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.badge.ok{background:var(--ok-soft);border-color:#c6f1dd;color:#047857}.badge.danger{background:var(--danger-soft);border-color:#fecdd6;color:#be123c}.badge.warning{background:var(--warning-bg);border-color:#fde68a;color:#b45309}.badge.muted{background:var(--surface-sunken);border-color:var(--border);color:var(--muted)}.alert{border-radius:var(--radius-sm);line-height:1.55}.alert.error{background:var(--danger-soft);border-color:#fecdd6;color:#9f1239}.alert.success{background:var(--ok-soft);border-color:#c6f1dd;color:#065f46}.secret{background:#0b1020;border-radius:var(--radius-sm)}.stat{gap:6px;padding:14px 16px;border-radius:12px;background:var(--surface-muted)}.stat-label,.tile-label{font-size:10.5px;font-weight:700;letter-spacing:.08em;color:#7a879b}.summary-tiles{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:14px;margin-bottom:22px}.tile{position:relative;gap:4px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease)}.tile:after{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--border-strong)}.tile.ok:after{background:var(--ok)}.tile.warning:after{background:var(--warning)}.tile.danger:after{background:var(--danger)}a.tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--border-strong)}.tile-value{font-size:28px;font-weight:750;letter-spacing:-.02em}.project-cards,.project-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.project-tile,.project-card{position:relative;gap:12px;padding:18px 20px;border:1px solid var(--border);border-left:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease)}.project-tile:before,.project-card:before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:0 3px 3px 0;background:var(--ok)}.project-tile.danger:before,.project-card.critical:before{background:var(--danger)}.project-card.neutral:before{background:var(--primary)}.project-tile:hover,.project-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--border-strong)}.project-tile.danger{border-left-color:var(--border);background:linear-gradient(180deg,#fffafb,#fff 60%)}.project-tile-header .row-title{font-size:15px;letter-spacing:-.01em}.project-tile-stats{grid-template-columns:44px 1fr;gap:8px 10px}.project-tile-contents{padding-top:12px}.tile-title{display:inline-flex;align-items:center;gap:8px;min-width:0}.tile-facts{display:flex;flex-wrap:wrap;gap:10px 22px}.tile-facts>div{display:flex;flex-direction:column;gap:2px}.tile-facts strong{font-size:18px;font-weight:750;letter-spacing:-.01em}.tile-links{display:flex;flex-wrap:wrap;gap:6px}.chip-link{padding:2px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface-muted);font-size:12px;font-weight:600}.chip-link:hover{text-decoration:none;border-color:var(--primary);background:var(--primary-soft)}.os-icon{flex-shrink:0}.os-windows{color:#0078d4}.os-linux{color:#1f2937}.usage-track{width:64px;height:6px;background:var(--surface-sunken)}.usage-fill{background:linear-gradient(90deg,#10b981,#059669);transition:width .4s var(--ease)}.usage.warning .usage-fill{background:linear-gradient(90deg,#fbbf24,#d97706)}.usage.danger .usage-fill{background:linear-gradient(90deg,#fb7185,#e11d48)}.details{gap:10px 20px}.details dt{font-size:13px}.multi-select summary,.multi-select-options,.zip-tree,.checkbox-list,.site-block,.permission-group{border-radius:var(--radius-sm)}.multi-select-options{box-shadow:var(--shadow-lg)}.site-block{background:var(--surface-muted)}.site-block table{background:var(--surface)}.chip{border-color:var(--border-strong)}.ls-progress{border-radius:var(--radius-sm)}.attention{padding:12px 0}.project-tile[data-drop-target=true]{outline-color:var(--primary);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.state-control{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px}.badge .spinner{width:11px;height:11px;border-width:2px}.badge:has(.spinner):before{display:none}.state-history{flex-basis:100%}.sql-access{display:flex;flex-direction:column;gap:6px;margin-top:6px}.sql-access-form{display:grid;gap:8px;padding:10px;border:1px solid var(--border);border-radius:8px}.sql-access-script pre{max-height:260px;overflow:auto;padding:8px;border-radius:6px;background:var(--surface-sunken);white-space:pre}.project-card{--project-accent: var(--primary)}.project-card.accent-0{--project-accent: #4f46e5}.project-card.accent-1{--project-accent: #0891b2}.project-card.accent-2{--project-accent: #059669}.project-card.accent-3{--project-accent: #d97706}.project-card.accent-4{--project-accent: #db2777}.project-card.accent-5{--project-accent: #7c3aed}.project-card.accent-6{--project-accent: #dc2626}.project-card.accent-7{--project-accent: #2563eb}.project-card[class*=accent-]:before{background:var(--project-accent);width:4px}.project-card-header{display:flex;align-items:center;justify-content:flex-start;gap:10px}.project-avatar{display:inline-flex;flex:none;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;font-weight:700;color:#fff;background:var(--project-accent)}.server-with-os{display:flex;align-items:center;gap:6px}.project-access-list{display:grid;gap:8px;max-height:420px;overflow-y:auto}.project-access{padding:8px 10px;border:1px solid var(--border);border-radius:8px}.project-access.selected{border-color:var(--border-strong);background:var(--surface-muted)}.project-access-grants{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 16px;margin:8px 0 0 24px}.failover-log{max-height:240px;overflow:auto;padding:10px;border-radius:8px;background:var(--surface-sunken);font-size:12px;white-space:pre-wrap}.failover-state{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding:16px 20px;border:1px solid var(--border);border-left:5px solid var(--primary);border-radius:var(--radius);background:var(--surface)}.failover-state.ready{border-left-color:var(--ok)}.failover-state.not-ready{border-left-color:var(--border-strong)}.failover-state.running{border-left-color:var(--warning, #d97706)}.failover-state.active{border-left-color:var(--danger)}.failover-state.danger{border-left-color:var(--danger);background:#fff7f7}.failover-state-text{display:flex;flex-direction:column;gap:2px}.failover-state-text strong{font-size:18px}.failover-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.failover-item{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 0;border-bottom:1px solid var(--border)}.failover-item:last-child{border-bottom:none}.failover-item>.inline-check{display:flex;align-items:center;gap:8px;margin:0;font-weight:inherit}.failover-item>.inline-check input{width:auto;margin:0}.failover-item>.muted{grid-column:1}.failover-item>.badge{grid-column:2;grid-row:1 / span 2;align-self:center}.spending-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:22px}.spending-card{position:relative;display:flex;align-items:flex-start;gap:16px;padding:20px 22px;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(135deg,#f5f8ff 0%,var(--surface) 70%)}.spending-card.year{background:linear-gradient(135deg,#f7f3ff 0%,var(--surface) 70%)}.spending-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:52px;height:52px;border-radius:14px;background:#e6eeff;color:#2563eb}.spending-card.year .spending-icon{background:#efe7ff;color:#7c3aed}.spending-body{display:flex;flex-direction:column;gap:2px;min-width:0}.spending-title{font-weight:650}.spending-value{font-size:30px;font-weight:750;letter-spacing:-.02em;line-height:1.2}.spending-badge{margin-left:auto;white-space:nowrap}.infra-totals{display:flex;flex-wrap:wrap;gap:12px}.infra-total{display:flex;align-items:center;gap:14px;min-width:220px;padding:10px 18px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted)}.infra-total>div{display:flex;flex-direction:column}.infra-total-label{font-size:13px;color:var(--text-soft)}.infra-total strong{font-size:20px;font-weight:750;letter-spacing:-.01em}.infra-total-icon{display:inline-flex;color:var(--primary)}.infra-costs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.infra-cost{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-height:0;min-width:0;padding:14px 14px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:none;color:var(--text);font-weight:400;text-align:left;white-space:normal}button.infra-cost:hover:not(:disabled),button.infra-cost:active:not(:disabled){border-color:var(--border-strong);background:var(--surface);box-shadow:var(--shadow-lg);transform:translateY(-1px)}button.infra-cost.selected:not(:disabled){border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ring)}.infra-cost.warning{border-color:var(--warning-border)}.infra-cost-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;min-width:0}.infra-cost-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;height:36px;border-radius:10px;background:var(--surface-muted)}.infra-cost-icon svg{width:22px;height:22px}.infra-cost-name{flex:1;min-width:0;overflow:hidden;font-size:14px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.infra-cost-value{font-size:22px;font-weight:750;letter-spacing:-.02em;line-height:1.2;white-space:nowrap}.infra-cost-unit{display:flex;align-items:center;gap:6px;min-height:20px;margin-bottom:8px;font-size:13px;color:var(--muted)}.infra-cost-monthly{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:auto;padding-top:10px;border-top:1px dashed var(--border-strong);font-size:13px;color:var(--muted)}.infra-cost-monthly strong{color:var(--text);font-weight:650;white-space:nowrap}.infra-cost.muted-cost .infra-cost-value{color:var(--muted)}.infra-cost.warning .infra-cost-unit{color:var(--warning)}.infra-cost-chevron{flex:none;font-size:22px;line-height:1;color:var(--muted);transition:transform .15s var(--ease)}.infra-cost.selected .infra-cost-chevron{transform:rotate(90deg)}.infra-detail{margin-top:16px;padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-muted)}.infra-detail-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:8px}.infra-detail-header h3{margin:0}.infra-facts{display:flex;flex-wrap:wrap;gap:12px 32px;margin:8px 0 12px}.infra-facts dt{font-size:12px;color:var(--muted)}.infra-facts dd{margin:0;font-size:18px;font-weight:700}.server-tile-contents{display:flex;flex-direction:column;flex:1}.tile-cost{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;margin-top:auto}.input-with-select{display:flex;gap:8px}.input-with-select input{flex:1;min-width:0}.input-with-select select{width:auto}.tile-cost strong{font-size:18px;font-weight:750;letter-spacing:-.01em}.provider-badge{display:inline-flex;align-items:center;padding:1px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--provider) 35%,transparent);background:color-mix(in srgb,var(--provider) 10%,transparent);color:var(--provider);font-size:11.5px;font-weight:700;line-height:1.5;white-space:nowrap}.project-tile-server .provider-badge{margin-right:8px}.provider-list{display:flex;flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none}.provider-list li{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.provider-list li .row-actions{margin-left:auto}.provider-add{display:flex;gap:8px;flex-wrap:wrap}.provider-add input{flex:1 1 180px;max-width:280px}.stat .provider-badge{align-self:flex-start}.provider-badge.domain{gap:4px}.provider-badge-suffix{padding-left:4px;border-left:1px solid color-mix(in srgb,var(--provider) 35%,transparent);font-size:10px;letter-spacing:.04em}.domain-provider-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,1.3fr) auto auto;gap:8px;align-items:center;margin-top:8px}.project-domain-links{display:flex;flex-direction:column;gap:6px;margin:0 0 10px;padding:0;list-style:none}.project-domain-links li{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.domain-combobox-row{display:flex;align-items:center;gap:8px}.domain-combobox{position:relative;flex:1 1 auto;min-width:0}.domain-combobox input{width:100%}.domain-combobox-list{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;max-height:260px;margin:0;padding:4px;overflow-y:auto;list-style:none;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 10px 30px #0f172a1f}.domain-combobox-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;border-radius:7px;cursor:pointer}.domain-combobox-list li .muted{white-space:nowrap}.domain-combobox-list li.active{background:var(--surface-muted)}.domain-combobox-list li.domain-combobox-empty{cursor:default}.domain-combobox-list li.domain-combobox-manual{margin-top:4px;border-top:1px solid var(--border);border-radius:0 0 7px 7px;color:var(--primary, #4f46e5);font-size:13px;font-weight:600}button.icon-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:38px;min-width:38px;padding:0}svg.spinning{animation:spin .9s linear infinite}.domain-provider-status{margin:6px 0 0}.domain-picker{display:flex;flex-direction:column;gap:8px}.domain-picker-toolbar{display:flex;gap:8px;flex-wrap:wrap}.domain-picker-toolbar input{flex:1 1 220px}@media(max-width:640px){.domain-provider-row{grid-template-columns:1fr 1fr}}.provider-details{display:flex;flex-direction:column;gap:10px;margin-top:10px;padding:12px 14px;border:1px solid var(--border);border-radius:10px}.provider-details .provider-details-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.provider-details .provider-details-header .row-actions{margin-left:auto}.provider-details-name{font-size:15px}.provider-details .provider-details-list{display:flex;flex-direction:column;gap:0;margin:0}.provider-details .provider-details-row{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--border)}.provider-details .provider-details-row dt{color:var(--muted);font-size:13px}.provider-details .provider-details-row dd{display:flex;align-items:center;gap:4px 12px;flex-wrap:wrap;margin:0;min-width:0;text-align:left}.provider-details .provider-details-row dd a{overflow-wrap:anywhere}.provider-details .provider-details-row dd .secret{max-width:100%;white-space:normal;word-break:break-all}.provider-details .provider-details-row dd .link-button,.provider-details .provider-details-row dd .muted{white-space:nowrap}@media(max-width:480px){.provider-details .provider-details-row{grid-template-columns:minmax(0,1fr);gap:4px}}.provider-list li.provider-open{display:block}.provider-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;cursor:pointer}.provider-row .row-actions{margin-left:auto}.provider-servers{display:flex;flex-direction:column;gap:6px;padding-top:10px;border-top:1px solid var(--border)}.provider-servers-header{display:flex;align-items:center;gap:8px}.provider-servers-header .link-button{margin-left:auto}.provider-servers-list{display:flex;flex-direction:column;gap:0;margin:0;padding:0;list-style:none}.provider-servers-list li{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:7px 0;border-top:1px solid var(--border)}.provider-servers-list li:first-child{border-top:0}.provider-servers-name,.hosted-server-option-name{display:inline-flex;align-items:center;gap:8px;min-width:0;overflow-wrap:anywhere}.provider-servers-list .small{overflow-wrap:anywhere}@media(max-width:640px){.provider-servers-list li{grid-template-columns:minmax(0,1fr) auto}}.hosted-server-facts{margin-top:0;border:0;padding:0}.hosted-server-facts .provider-details-row:first-child{border-top:0}.hosted-server-picker-current{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.hosted-server-picker-current .secondary{margin-left:auto}.hosted-server-options{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto}button.hosted-server-option{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.4fr);gap:4px 12px;align-items:center;min-height:0;padding:7px 10px;text-align:left}button.hosted-server-option.selected{border-color:var(--primary, #4f46e5)}@media(max-width:640px){button.hosted-server-option{grid-template-columns:minmax(0,1fr)}}button.provider-badge,button.provider-badge:hover:not(:disabled){min-height:0;padding:1px 9px;border:1px solid color-mix(in srgb,var(--provider) 35%,transparent);background:color-mix(in srgb,var(--provider) 10%,transparent);color:var(--provider);box-shadow:none;font:inherit;font-size:11.5px;font-weight:700;line-height:1.5;cursor:pointer}button.provider-badge:hover:not(:disabled){background:color-mix(in srgb,var(--provider) 18%,transparent)}.provider-dialog{width:min(520px,calc(100vw - 32px));max-width:none;padding:18px 20px;border:1px solid var(--border);border-radius:12px;background:var(--surface, #fff);color:inherit}.provider-dialog::backdrop{background:#0f172a73}.provider-dialog .provider-details{margin-top:0;border:0;padding:0 0 4px}.provider-dialog .form-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--border)}.provider-dialog .form-actions{justify-content:flex-end}.provider-edit-form{margin-bottom:4px}.project-domain,.project-title-line{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.menu-backdrop{display:none}@media(max-width:900px){.sidebar{height:100vh;height:100dvh;width:min(280px,84vw);z-index:30}.app.menu-open .menu-backdrop{display:block;position:fixed;inset:0;z-index:25;background:#0f172a73}.sidebar nav a{padding-top:11px;padding-bottom:11px}.topbar{min-height:56px;padding:8px 12px}.topbar .menu-toggle{display:inline-grid;place-items:center;width:40px;min-width:40px;height:40px;min-height:40px;padding:0}.app-content{padding:16px 12px 32px}.page-header{gap:10px;margin-bottom:16px}.page-header h1{font-size:22px}.page-actions{width:100%}.card{padding:16px 14px;margin-bottom:14px}.card-header{flex-wrap:wrap;gap:8px}input,select,textarea{font-size:16px;max-width:100%}.form-grid{grid-template-columns:minmax(0,1fr)}.search-bar{width:100%}.search-bar input,.toolbar.inline input{flex:1 1 auto;min-width:0}.toolbar>input,.toolbar>select,.toolbar>label{flex:1 1 100%}.form-actions>button,.form-actions>.button{flex:1 1 auto}.table-wrap,.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.table-wrap th,.table-scroll th{position:static;white-space:nowrap}.table-wrap>table,.table-scroll>table{width:max-content;min-width:100%}.table-wrap td,.table-scroll td{max-width:18em}td.row-actions{white-space:nowrap}.pagination{flex-wrap:wrap;justify-content:center}.tabs{flex-wrap:nowrap;overflow-x:auto;width:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:none;white-space:nowrap}.badge{white-space:nowrap}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{min-width:0;overflow-wrap:anywhere}.details dd,.project-card dd,.project-tile,.attention-text{overflow-wrap:anywhere}}@media(max-width:480px){.app-content{padding:14px 10px 28px}.card{padding:14px 12px;border-radius:12px}.page-actions>.button,.page-actions>button,.page-actions>a{flex:1 1 auto;text-align:center}}
