.servers-page{flex:1;min-height:0;overflow-y:auto;background:var(--ds-bg-subtle)}.servers-page-inner{max-width:720px;margin:0 auto;padding:1.5rem 1.25rem 2rem;display:flex;flex-direction:column;gap:1rem}.servers-page-inner .ui-page-header-title{font-size:1.45rem;font-weight:700}.servers-page-inner .ui-page-header-subtitle{max-width:40ch}.host-setup-panel{display:flex;flex-direction:column;gap:1rem}.host-setup-section{border:1px solid var(--ds-border-subtle);border-radius:12px;background:linear-gradient(180deg,#ffffff06,#ffffff03);padding:1rem 1.15rem;box-shadow:0 1px #ffffff0a inset}.host-setup-section-title{margin:0 0 .85rem;font-size:1rem;font-weight:600}.host-setup-muted{margin:0;color:var(--ds-text-muted);font-size:.88rem}.host-setup-empty{padding:1.25rem 1rem;border-radius:10px;border:1px dashed var(--ds-border-subtle);background:#00000026;text-align:center}.host-setup-empty p{margin:0;color:var(--ds-text-muted);font-size:.9rem}.host-setup-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.host-card{display:flex;flex-direction:column;gap:.75rem;padding:.85rem .95rem;border:1px solid var(--ds-border-subtle);border-radius:10px;background:#0b1220;transition:border-color .15s ease,box-shadow .15s ease}.host-card.is-editing{border-color:#3d8bfd80;box-shadow:0 0 0 1px #3d8bfd26 inset}.host-card-main{display:flex;flex-direction:column;gap:.3rem;min-width:0}.host-card-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.host-card-name{font-size:.95rem}.host-card-protocol{flex-shrink:0;padding:.12rem .45rem;border-radius:999px;font-size:.65rem;font-weight:600;letter-spacing:.04em;background:#3d8bfd1f;border:1px solid rgba(61,139,253,.35);color:#bfdbfe}.host-card-url{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;color:#93c5fd;word-break:break-all}.host-card-user{font-size:.78rem;color:var(--ds-text-muted)}.host-card-actions{display:flex;flex-wrap:wrap;gap:.4rem}.host-card-actions .ui-btn{font-size:.82rem;padding:.38rem .7rem}.host-setup-form-section{padding-bottom:1.1rem}.host-setup-form{display:flex;flex-direction:column;gap:.85rem}.host-setup-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem .75rem}.host-setup-field-wide{grid-column:1 / -1}.host-setup-field{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;color:var(--ds-text-muted)}.host-setup-input{padding:.55rem .7rem;border-radius:8px;border:1px solid var(--ds-border-subtle);background:#0b1220;color:inherit;font:inherit;transition:border-color .15s ease,box-shadow .15s ease}.host-setup-input:focus{outline:none;border-color:#3d8bfd8c;box-shadow:0 0 0 3px #3d8bfd1f}.host-setup-tls{display:flex;align-items:center;gap:.6rem;padding:.65rem .75rem;border-radius:8px;border:1px solid var(--ds-border-subtle);background:#0b1220;cursor:pointer;font-size:.88rem;width:fit-content}.host-setup-tls-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.host-setup-tls-box{width:1.05rem;height:1.05rem;border-radius:4px;border:1px solid #6b7280;background:#111827;position:relative;flex-shrink:0}.host-setup-tls:has(.host-setup-tls-input:checked){border-color:#3d8bfd73;background:#3d8bfd14}.host-setup-tls:has(.host-setup-tls-input:checked) .host-setup-tls-box{background:var(--ds-accent);border-color:#5a9eff}.host-setup-tls:has(.host-setup-tls-input:checked) .host-setup-tls-box:after{content:"";position:absolute;left:.32rem;top:.1rem;width:.28rem;height:.55rem;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.host-setup-form-actions{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:.25rem}@media(max-width:640px){.host-setup-form-grid{grid-template-columns:1fr}.host-setup-tls{width:100%}}:root{color-scheme:dark;--ds-bg: #0f1419;--ds-bg-subtle: #0b1220;--ds-surface: #111827;--ds-surface-raised: #1a222d;--ds-border: #2a3544;--ds-border-subtle: #374151;--ds-text: #e8edf4;--ds-text-muted: #8b9bb0;--ds-text-subtle: #9ca3af;--ds-accent: #3d8bfd;--ds-accent-muted: rgba(61, 139, 253, .15);--ds-accent-contrast: #fff;--ds-success: #166534;--ds-success-text: #bbf7d0;--ds-warning: #b45309;--ds-warning-bg: rgba(217, 119, 6, .15);--ds-error: #991b1b;--ds-error-bg: rgba(185, 28, 28, .2);--ds-error-text: #fecaca;--ds-radius-sm: 6px;--ds-radius-md: 10px;--ds-radius-lg: 12px;--color-accent: var(--ds-accent);--shell-bg: var(--ds-bg);--shell-bar: var(--ds-surface-raised);--shell-border: var(--ds-border);--shell-text: var(--ds-text);--shell-muted: var(--ds-text-muted);--shell-accent: var(--ds-accent);--raidtime-bg: var(--ds-bg-subtle);--raidtime-panel: var(--ds-surface);--raidtime-muted: var(--ds-text-subtle)}.ui-btn{border-radius:var(--ds-radius-sm);padding:.45rem .85rem;cursor:pointer;border:1px solid transparent;font:inherit;line-height:1.25;text-decoration:none;display:inline-block;text-align:center}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn-primary{background:var(--ds-accent);color:var(--ds-accent-contrast);font-weight:600}.ui-btn-secondary{background:transparent;border-color:var(--ds-border-subtle);color:inherit}.ui-btn-ghost{background:#1f2937;border-color:var(--ds-border-subtle);color:inherit;font-size:.85rem}.ui-btn-danger{background:transparent;border-color:var(--ds-error);color:var(--ds-error-text);font-size:.85rem}.ui-banner{padding:.65rem .85rem;border-radius:var(--ds-radius-sm);margin-bottom:1rem;font-size:.9rem}.ui-banner-info{background:var(--ds-accent-muted);border:1px solid var(--ds-accent);color:var(--ds-text)}.ui-banner-warn{background:var(--ds-warning-bg);border:1px solid var(--ds-warning);color:var(--ds-text)}.ui-banner-error{background:var(--ds-error-bg);border:1px solid var(--ds-error);color:var(--ds-error-text)}.ui-page-header{margin-bottom:1rem}.ui-page-header-title{margin:0;font-size:1.35rem;font-weight:600}.ui-page-header-subtitle{margin:.35rem 0 0;color:var(--ds-text-muted);font-size:.9rem}.ui-page-header-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.ui-page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.ui-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.ui-modal-card{width:min(720px,100%);max-height:90vh;overflow-y:auto;background:var(--ds-surface);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-lg);padding:1.25rem}.ui-modal-card h2{margin:0 0 .5rem}.ui-modal-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;margin-top:1rem}.ui-accordion{border:1px solid var(--ds-border-subtle);border-radius:10px;background:#ffffff05;overflow:hidden;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.ui-accordion:hover{border-color:#4b5563;background:#ffffff09}.ui-accordion.is-open{border-color:#3d8bfd66;background:#3d8bfd0f;box-shadow:0 0 0 1px #3d8bfd1a inset}.ui-accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;background:transparent;border:none;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:color .15s ease}.ui-accordion-trigger:hover{color:#f3f4f6}.ui-accordion.is-open .ui-accordion-trigger{color:#dbeafe}.ui-accordion-title{font-weight:600;font-size:.92rem;line-height:1.35}.ui-accordion-chevron{flex-shrink:0;width:.45rem;height:.45rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);opacity:.65;transition:transform .2s ease,opacity .15s ease;margin-top:-.15rem}.ui-accordion.is-open .ui-accordion-chevron{transform:rotate(-135deg);opacity:.9;margin-top:.1rem}.ui-accordion-body{padding:.85rem 1rem 1rem;border-top:1px solid rgba(255,255,255,.06);animation:ui-accordion-open .18s ease}@keyframes ui-accordion-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.ui-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:900}.ui-drawer-panel{position:fixed;top:0;right:0;width:min(420px,100vw);height:100%;background:var(--ds-surface);border-left:1px solid var(--ds-border-subtle);z-index:901;display:flex;flex-direction:column;overflow:hidden}.ui-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--ds-border-subtle)}.ui-drawer-header h2{margin:0;font-size:1.1rem}.ui-drawer-body{flex:1;overflow-y:auto;padding:1rem 1.25rem}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--shell-bg);color:var(--shell-text)}.admin-shell{height:100vh;display:flex;flex-direction:column}.admin-main{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.admin-panels{display:flex;flex:1;flex-direction:column;min-height:0;position:relative}.app-tracker,.app-saver,.app-sync,.app-wipe,.app-raidtime{flex:1;min-height:0;height:auto;overflow:hidden;position:relative;z-index:1}.app-panel-hidden{visibility:hidden;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0;flex:none;width:100%;height:100%}.app-panel-hidden *{visibility:hidden!important}.app-tracker:not(.app-panel-hidden),.app-saver:not(.app-panel-hidden),.app-sync:not(.app-panel-hidden),.app-wipe:not(.app-panel-hidden),.app-raidtime:not(.app-panel-hidden){z-index:2}.app-panel-error{align-items:center;display:flex;flex:1;flex-direction:column;gap:.75rem;justify-content:center;min-height:12rem;padding:2rem;text-align:center}.app-panel-error-title{color:var(--shell-text);font-weight:600;margin:0}.app-panel-error-detail{color:var(--shell-muted);font-size:.9rem;margin:0;max-width:36rem}.app-tracker .app-shell,.app-saver .app-shell,.app-sync .app-shell,.app-wipe .app-shell,.app-raidtime .app-shell{height:100%;max-height:100%}.app-tracker .sidebar{max-height:100%}.app-tracker .map-panel{height:100%}.admin-topbar{display:flex;align-items:center;gap:1rem;padding:.65rem 1rem;background:var(--shell-bar);border-bottom:1px solid var(--shell-border);flex-wrap:wrap}.admin-brand{font-weight:700;color:var(--shell-text);text-decoration:none;margin-right:.5rem}.admin-nav{display:flex;gap:.35rem;flex:1}.admin-nav-link{color:var(--shell-muted);text-decoration:none;padding:.4rem .75rem;border-radius:6px;font-size:.92rem}.admin-nav-link:hover,.admin-nav-link.active{color:var(--shell-text);background:#3d8bfd26}.admin-user{display:flex;align-items:center;gap:.75rem;margin-left:auto}.admin-user-name{color:var(--shell-muted);font-size:.85rem}.admin-logout-btn{background:transparent;border:1px solid var(--shell-border);color:var(--shell-text);border-radius:6px;padding:.35rem .65rem;cursor:pointer}.home-page{max-width:960px;margin:0 auto;padding:2rem 1rem}.home-page h1{margin:0 0 .5rem}.home-subtitle{color:var(--shell-muted);margin:0 0 1.5rem}.home-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.home-card{display:block;padding:1.25rem;border:1px solid var(--shell-border);border-radius:10px;background:var(--shell-bar);color:inherit;text-decoration:none;transition:border-color .15s}.home-card:hover{border-color:var(--shell-accent)}.home-card h2{margin:0 0 .5rem;font-size:1.1rem}.home-card p{margin:0;color:var(--shell-muted);font-size:.9rem;line-height:1.45}.app-loading{padding:2rem;text-align:center;color:var(--shell-muted)}.admin-login-shell{align-items:center;background:var(--shell-bg);display:flex;justify-content:center;min-height:100vh;padding:24px}.admin-login-card{background:var(--shell-bar);border:1px solid var(--shell-border);border-radius:14px;display:flex;flex-direction:column;gap:10px;max-width:380px;padding:28px;width:100%}.admin-login-card h1{font-size:1.35rem;margin:0}.admin-login-subtitle{color:var(--shell-muted);font-size:.9rem;margin:0 0 8px}.admin-login-label{color:var(--shell-muted);font-size:.85rem}.admin-login-input{background:var(--shell-bg);border:1px solid var(--shell-border);border-radius:8px;color:var(--shell-text);font:inherit;padding:.55rem .65rem}.admin-login-btn{background:var(--shell-accent);border:none;border-radius:8px;color:#fff;cursor:pointer;font:inherit;font-weight:600;margin-top:8px;padding:.65rem 1rem;width:100%}.admin-login-btn:disabled{opacity:.6;cursor:not-allowed}.admin-login-error{background:#ef44441f;border:1px solid rgba(239,68,68,.35);border-radius:8px;color:#fca5a5;font-size:.9rem;padding:.55rem .65rem}.admin-login-lang{display:flex;justify-content:flex-end;padding:.75rem 1rem 0}.language-switch{display:flex;gap:.35rem}.language-switch.compact .lang-chip{font-size:.75rem;padding:.25rem .45rem}.lang-chip{background:var(--shell-bg);border:1px solid var(--shell-border);border-radius:6px;color:var(--shell-muted);cursor:pointer;font:inherit;font-size:.8rem;padding:.3rem .55rem}.lang-chip.active{background:#3d8bfd26;border-color:var(--shell-accent);color:var(--shell-text)}.lang-chip:hover:not(.active){color:var(--shell-text)}
