:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f8fafc;background:#09090f;text-rendering:optimizeLegibility;--accent-rgb: 234, 88, 12;--safe-top: min(env(safe-area-inset-top, 0px), 64px);--safe-right: min(env(safe-area-inset-right, 0px), 28px);--safe-bottom: min(env(safe-area-inset-bottom, 0px), 48px);--safe-left: min(env(safe-area-inset-left, 0px), 28px);--tabbar-bottom-offset: clamp(.45rem, calc(var(--safe-bottom) * .34), .95rem)}*{box-sizing:border-box}html,body{margin:0;min-height:100vh;min-height:100dvh;background:#090912}.app{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;padding-top:calc(var(--safe-top) + 1.15rem);padding-right:calc(var(--safe-right) + 1.15rem);padding-bottom:calc(var(--safe-bottom) + 1.15rem);padding-left:calc(var(--safe-left) + 1.15rem);color:#f8fafc}.app.accent-amber{--accent-rgb: 217, 119, 6}.app.accent-orange{--accent-rgb: 234, 88, 12}.app.accent-purple{--accent-rgb: 147, 51, 234}.app.accent-blue{--accent-rgb: 59, 130, 246}.app.accent-green{--accent-rgb: 34, 197, 94}.gradient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 10% 8%,rgba(var(--accent-rgb),.26),transparent 42%),radial-gradient(circle at 78% 0%,#7c3aed57,transparent 34%),radial-gradient(circle at 60% 120%,#1d4ed85e,transparent 45%),#090912}.app.theme-light{color:#0f172a}.app.theme-light .gradient{background:radial-gradient(circle at 12% 10%,rgba(var(--accent-rgb),.2),transparent 45%),radial-gradient(circle at 78% 0%,#93c5fd66,transparent 36%),radial-gradient(circle at 58% 120%,#c4b5fd73,transparent 48%),#eef2ff}.panel{position:relative;z-index:1;margin:0 auto;max-width:470px;padding-bottom:calc(6.4rem + var(--safe-bottom))}.header{position:relative;display:flex;justify-content:center;align-items:center;gap:.35rem;margin-bottom:.75rem;min-height:48px;z-index:80}.header h1{margin:0;font-size:1.65rem;letter-spacing:-.02em;text-align:center}.header-title-stack{width:100%;min-width:0;display:grid;justify-items:center;gap:.2rem}.header-status{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;text-transform:lowercase}.header-status-dot{width:.48rem;height:.48rem;border-radius:999px;display:inline-block}.header-status.online{color:#4ade80}.header-status.online .header-status-dot{background:#22c55e}.header-status.offline{color:#f87171}.header-status.offline .header-status-dot{background:#ef4444}.header-actions{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.45rem;justify-content:flex-end;z-index:90}.server-switcher-popover{position:relative;z-index:100}button.server-switcher-trigger{display:inline-flex;align-items:center;gap:.45rem;min-height:40px;max-width:170px;padding:.46rem .62rem;border-radius:14px;border:1px solid #ffffff33;background:#0f172a99;color:#f8fafc;font-size:.78rem;font-weight:600;text-transform:none;box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}button.server-switcher-trigger:hover{background:#0f172ac4}.server-switcher-label{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.server-switcher-dot{width:.56rem;height:.56rem;border-radius:999px;display:inline-block;box-shadow:0 0 0 1px #ffffff70;flex-shrink:0}.server-switcher-menu{position:absolute;top:calc(100% + .45rem);right:0;width:min(240px,76vw);padding:.34rem;border-radius:14px;border:1px solid #ffffff2e;background:#0f172af2;box-shadow:0 18px 36px #0006;-webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%);z-index:110;display:grid;gap:.24rem}.server-switcher-menu-portal{position:fixed;top:0;left:0;right:auto;z-index:1400}button.server-switcher-item{width:100%;border-radius:10px;border:1px solid transparent;padding:.42rem .54rem;background:transparent;color:#f8fafc;text-transform:none;box-shadow:none;display:flex;align-items:center;gap:.45rem;justify-content:flex-start}button.server-switcher-item:hover{background:#ffffff18}button.server-switcher-item.active{border-color:#ffffff2f;background:#ffffff1f}.server-switcher-item-name{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;text-align:left}.server-switcher-check{color:#4ade80;flex-shrink:0}.app.theme-light button.server-switcher-trigger{border-color:#33415545;background:#ffffffd4;color:#0f172a}.app.theme-light button.server-switcher-trigger:hover{background:#fff}.app.theme-light .server-switcher-menu{border-color:#33415534;background:#f8fafcf4;box-shadow:0 16px 34px #33415526}.app.theme-light button.server-switcher-item{color:#0f172a}.app.theme-light button.server-switcher-item:hover{background:#3341551a}.app.theme-light button.server-switcher-item.active{border-color:#33415534;background:#33415522}.circle-button{border-radius:999px;padding:.42rem .62rem;min-width:40px;border:1px solid #ffffff2e;background:#ffffff1a;font-size:.95rem;text-transform:lowercase;color:#f8fafc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.card{margin-top:1rem;padding:1.05rem 1.05rem 1rem;border:1px solid #ffffff2b;background:linear-gradient(180deg,#fff2,#ffffff14);box-shadow:0 18px 38px #0000005f,inset 0 1px #ffffff2a;-webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%);border-radius:22px;animation:cardIn .22s ease}.app.theme-light .card,.app.theme-light .dialog{border:1px solid #3341552e;background:linear-gradient(180deg,#ffffffde,#f8fafce0);box-shadow:0 14px 28px #3341551f,inset 0 1px #ffffffd9}.section-header h2{margin:0 0 .15rem;font-size:1.16rem;letter-spacing:-.01em}.row{display:flex;justify-content:space-between;gap:1rem;align-items:center}.row>*{min-width:0}.row h3{margin:0}.docker-title{display:flex;align-items:center;gap:.6rem;min-width:0}.docker-title h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.docker-card-actions{display:inline-flex;align-items:center;gap:.4rem}.docker-icon{width:26px;height:26px;border-radius:7px;background:transparent;object-fit:cover;flex-shrink:0;display:block}.docker-icon-fallback{display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:rgba(var(--accent-rgb),.95)}.icon-row{display:flex;justify-content:space-between;gap:.8rem;margin:.56rem 0;align-items:flex-start}.icon-row-left{display:flex;align-items:center;gap:.45rem;min-width:0}.row-icon{color:rgba(var(--accent-rgb),.95);opacity:1}.icon-row small{display:block;opacity:.75}.setup-help-inline{margin-top:.2rem}.setup-scope-help{margin-top:.25rem;border:1px solid #ffffff24;border-radius:10px;padding:.35rem .5rem;background:#ffffff0a}.setup-scope-help summary{cursor:pointer;font-size:.84rem;opacity:.9}.setup-scope-help small{margin-top:.35rem}.app.theme-light .setup-scope-help{border-color:#33415540;background:#ffffffa8}.app.theme-light .icon-row small,.app.theme-light .notification span,.app.theme-light .docker-dialog-image,.app.theme-light .dialog p{color:#334155cc}.icon-row>span{min-width:0;text-align:right;overflow-wrap:anywhere;word-break:break-word}.search-inline-label{margin-top:.5rem}.search-inline-input{width:100%;border:1px solid #ffffff33;background:#0f172ab8;color:#fff;padding:.52rem .72rem;border-radius:12px;font-size:.86rem}.url-stack{margin-top:.35rem;display:grid;gap:.2rem}.url-link,.url-text{display:block;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.url-link{color:#bfdbfe;text-decoration:none}.url-link:hover{text-decoration:underline}.bar{margin:.52rem 0 .62rem;background:#ffffff25;border-radius:999px;height:7px;overflow:hidden}.progress-with-value{margin:.52rem 0 .62rem}.progress-value{font-size:.78rem;opacity:.85;text-align:right}.progress-with-value .bar{margin:.3rem 0 0}.bar div{height:100%;border-radius:inherit;background:linear-gradient(90deg,rgba(var(--accent-rgb),.98),rgba(var(--accent-rgb),.58));transition:width .22s ease}.notification{margin:.56rem 0;padding:.68rem .72rem;border-radius:14px;border:1px solid #ffffff17;background:#0a10215e}.notification strong{display:block}.notification span{display:block;color:#cbd5e1c4;font-size:.78rem}.notification p{margin:.33rem 0 0;color:#f1f5f9e3;font-size:.88rem}.notification-top{align-items:center;gap:.5rem}.notification-title-wrap{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.notification-title-wrap strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notification-icon.info{color:#93c5fd}.notification-icon.warning{color:#f59e0b}.notification-icon.alert{color:#f87171}.notification-archive{display:inline-flex;align-items:center;justify-content:center;padding:.35rem;border-radius:10px;min-width:30px;background:#ffffff14}.list-item{margin-top:.88rem;padding-top:.88rem;border-top:1px solid #ffffff20}label{display:flex;flex-direction:column;gap:.35rem;margin-top:.6rem}.checkbox-label{flex-direction:row;align-items:center;gap:.55rem}.checkbox-label input[type=checkbox]{width:auto}.server-key-row{display:flex;align-items:flex-end;gap:.5rem;margin-top:.3rem;flex-wrap:wrap}.server-key-control{margin-top:0;flex:1;min-width:180px}.server-accent-control{margin-top:.35rem;width:fit-content}.server-accent-control input[type=color]{width:3.25rem;min-width:3.25rem;height:2rem;padding:.2rem;border-radius:10px}input{width:100%;border:1px solid #ffffff38;background:#0f172ab3;color:#fff;padding:.66rem .84rem;border-radius:14px;transition:border-color .16s ease,background .16s ease}.app.theme-light input,.app.theme-light select{border:1px solid #33415547;background:#ffffffd9;color:#0f172a}input:focus{outline:none;border-color:#c4b5fd;background:#111827d9}button{border:0;border-radius:14px;padding:.6rem .84rem;background:linear-gradient(180deg,rgb(var(--accent-rgb)),rgba(var(--accent-rgb),.76));color:#fff;cursor:pointer;font-weight:600;letter-spacing:.01em;transition:transform .14s ease,filter .14s ease}button:hover{filter:brightness(1.06)}button:active{transform:translateY(1px) scale(.995)}.icon-button{background:#ffffff1a;border:1px solid #ffffff2e;font-weight:500}button.secondary{background:#334155}button:disabled{opacity:.55;cursor:not-allowed}.actions{display:flex;gap:.5rem;margin-top:.92rem;flex-wrap:wrap}.docker-dialog .actions{flex-direction:column;margin-top:1rem}.docker-dialog .actions button{width:100%;justify-content:center}.tabbar{position:fixed;left:50%;transform:translate(-50%);bottom:var(--tabbar-bottom-offset);display:flex;gap:.35rem;padding:.42rem;border-radius:999px;border:1px solid #ffffff36;-webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%);background:#0f172acc;box-shadow:0 12px 35px #00000059}.app.theme-light .tabbar{border:1px solid #33415533;background:#e2e8f0e3;box-shadow:0 12px 28px #33415524}.app.theme-light .tabbar button.active{background:linear-gradient(180deg,#ffffffd2,#fffa)}.app.theme-light .tab-label{color:#0f172acc}.app.theme-light .tab-icon{border:1px solid #33415544;background:#ffffffb3}.tabbar button{background:transparent;border-radius:999px;padding:.44rem .7rem;font-size:.8rem;text-transform:capitalize;display:flex;flex-direction:column;align-items:center;gap:.14rem;min-width:66px}.tabbar button.active{background:linear-gradient(180deg,#ffffff35,#ffffff25)}.tab-icon{width:1.28rem;height:1.28rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.66rem;border:1px solid #ffffff3a;background:#ffffff18}.tab-label{font-size:.72rem;color:#f8fafcdc}.pill{display:inline-flex;align-items:center;gap:.25rem;border-radius:999px;padding:.2rem .58rem;background:#ffffff30;font-size:.74rem;border:1px solid #ffffff26;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .pill{max-width:68%;flex-shrink:1}.pill.ok{background:#22c55e3f;color:#4ade80}.pill.warning{background:#f59e0b46;color:#f59e0b}.pill.stopped{background:#64748b7a}.vm-item{position:relative}.array-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.15rem .7rem}.vm-menu{margin-top:.55rem;border-radius:16px;border:1px solid #ffffff25;padding:.5rem;background:#140f0ccf;display:grid;gap:.36rem}.vm-menu button{width:100%;text-align:left;background:#221811d1;border:1px solid #ffffff1f}select{width:100%;border:1px solid #ffffff38;background:#0f172ab3;color:#fff;padding:.66rem .84rem;border-radius:14px}.settings-grid{display:grid;gap:.8rem}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008a;display:flex;align-items:flex-start;justify-content:center;padding-top:calc(var(--safe-top) + 1.6rem);padding-right:calc(var(--safe-right) + 1rem);padding-bottom:calc(var(--safe-bottom) + 6.2rem);padding-left:calc(var(--safe-left) + 1rem);z-index:1200}.dialog{width:min(560px,100%);background:linear-gradient(180deg,#0f172af0,#0b1223f0);border:1px solid #ffffff2f;border-radius:18px;padding:1rem 1rem .95rem;box-shadow:0 24px 50px #00000075}.dialog--closable{position:relative}.dialog--closable>.row:first-of-type,.dialog--closable>.dialog-header,.dialog--closable .docker-dialog-header,.dialog--closable>h3{padding-right:2.6rem}.dialog-header{margin-bottom:.58rem;display:grid;gap:.24rem}.dialog-subtitle{margin:0;color:#cbd5e1d6;line-height:1.35}.dialog-header--split{justify-content:space-between;align-items:flex-start;gap:.75rem}.dialog-header-main{min-width:0}button.dialog-close-icon{position:absolute;top:.72rem;right:.72rem;width:2rem;height:2rem;padding:0;border-radius:999px;border:1px solid #ffffff36;background:#ffffff1a;color:#f8fafc;box-shadow:none;display:inline-flex;align-items:center;justify-content:center}button.dialog-close-icon:hover{background:#ffffff25}.app.theme-light .circle-button,.app.theme-light .icon-button,.app.theme-light .notification-archive{border-color:#33415542;background:#ffffffbf;color:#0f172a}.app.theme-light button.dialog-close-icon{border-color:#33415545;background:#ffffffcf;color:#0f172a}.settings-dialog{max-height:min(88vh,860px);overflow:auto}.docker-dialog{width:min(420px,96vw);max-width:100%;padding:1rem;min-width:0;overflow-x:hidden}.docker-dialog-header{align-items:flex-start;padding-bottom:.75rem;border-bottom:1px solid #ffffff1f;flex-wrap:wrap;gap:.6rem}.docker-dialog-header .docker-card-actions{align-items:center;align-self:flex-start}.docker-dialog-header .pill{min-height:32px;line-height:1.05;padding-top:.14rem;padding-bottom:.14rem;max-width:none;flex-shrink:0;overflow:visible;text-overflow:clip;white-space:nowrap}.docker-dialog-header .pill svg{display:block}.docker-dialog-title{min-width:0;flex:1 1 auto}.docker-dialog-title h3{margin:0;line-height:1.2}.docker-dialog-image{margin-top:.2rem;display:block;color:#cbd5e1cc;overflow-wrap:anywhere;word-break:break-word;font-size:.8em}.dialog-meta{line-height:1.3}.docker-detail-grid{margin-top:.8rem;display:grid;grid-template-columns:1fr;gap:.6rem}.docker-detail-item{border:1px solid #ffffff1c;border-radius:12px;padding:.5rem .62rem;background:#0f172a7d}.docker-detail-item small{color:#cbd5e1bf;display:block;margin-bottom:.15rem}.docker-detail-item strong{display:block;overflow-wrap:anywhere;word-break:break-all;line-height:1.25;min-width:0}.dialog h3{margin:0}.dialog p{margin:.6rem 0 0}.skeleton-line{margin-top:.6rem;border-radius:10px;height:12px;background:linear-gradient(90deg,#ffffff18,#fff4,#ffffff18);background-size:200% 100%;animation:shimmer 1.2s infinite linear}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:5.7rem;padding:.62rem .88rem;border-radius:14px;border:1px solid #ffffff36;background:#0f172ae6;box-shadow:0 10px 25px #00000054}.app.theme-light .toast{color:#0f172a;border:1px solid #33415540;background:#fffe;box-shadow:0 10px 24px #33415526}.toast--success{border-color:#22c55e;background:#14532dcc;color:#bbf7d0}.app.theme-light .toast--success{border-color:#16a34a;background:#dcfce7;color:#166534}.toast--error{border-color:#ef4444;background:#7f1d1dcc;color:#fecaca}.app.theme-light .toast--error{border-color:#dc2626;background:#fee2e2;color:#991b1b}@keyframes cardIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 680px){.header{align-items:center}.header-actions{min-width:92px}.server-switcher{max-width:96px;font-size:.72rem;padding:.34rem .42rem}.tabbar{width:calc(100vw - 1.1rem);justify-content:space-between;gap:.22rem}.tabbar button{flex:1;text-align:center;padding-inline:.15rem;min-width:0}.row .pill{max-width:58%}}
