:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1110;--panel:#151a18;--panel-2:#101513;--line:#e0e8da1f;--line-strong:#e0e8da38;--text:#eff5ec;--muted:#9aa69a;--soft:#cbd8ca;--green:#70e39a;--yellow:#f0c766;--red:#ff766f;--cyan:#7fd9ff;--shadow:0 24px 80px #00000057;font-family:Avenir Next,Aptos,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:linear-gradient(120deg, #7fd9ff14, transparent 30%), radial-gradient(circle at 80% 10%, #70e39a1f, transparent 26%), var(--bg);height:100%;min-height:100%}body{min-width:320px;height:100%;min-height:100%;color:var(--text);margin:0}#root{min-height:100%}button,a{font:inherit}a{color:inherit;text-decoration:none}.shell{width:min(1180px,100vw - 32px);margin:0 auto;padding:22px 0 48px}.home-shell{grid-template-rows:auto minmax(0,1fr);width:100vw;height:100dvh;margin:0;padding:8px;display:grid;overflow:hidden}.hero{justify-content:space-between;align-items:center;gap:24px;min-height:54px;margin-bottom:12px;animation:.52s both rise;display:flex}.home-shell .hero{min-height:42px;margin-bottom:8px}.eyebrow{color:var(--green);letter-spacing:0;text-transform:uppercase;margin:0 0 10px;font-size:.72rem;font-weight:800}h1,h2,p{margin-top:0}h2{letter-spacing:0;margin-bottom:0;font-size:1.1rem;line-height:1.15}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.hero-actions,.section-heading{align-items:center;gap:10px;display:flex}.tab-list{border:1px solid var(--line);background:#ffffff09;border-radius:8px;align-items:center;gap:4px;padding:4px;display:inline-flex}.tab-button{min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:.82rem;font-weight:800;transition:background .18s,color .18s,transform .18s;display:inline-flex}.tab-button:hover{color:var(--text)}.tab-button[aria-selected=true]{color:#0f1712;background:#dfffe9;box-shadow:0 8px 22px #70e39a1f}.hero-actions{flex-wrap:wrap;justify-content:flex-end}.button{color:#0f1712;cursor:pointer;background:#dfffe9;border:1px solid #70e39a80;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:34px;padding:0 12px;font-size:.84rem;font-weight:800;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.button:hover{background:#f5fff7;transform:translateY(-2px)}.button.ghost{border-color:var(--line-strong);color:var(--text);background:#ffffff0a}.locked-panel{border:1px solid var(--line);min-height:160px;box-shadow:var(--shadow);background:#151a18eb;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-top:18vh;padding:24px;animation:.52s both rise;display:grid}.locked-panel h1{letter-spacing:0;margin:0 0 8px;font-size:1.35rem}.locked-panel p:not(.eyebrow){max-width:520px;color:var(--muted);margin:0}.locked-icon{width:44px;height:44px;color:var(--green);background:#70e39a14;border:1px solid #70e39a47;border-radius:8px;place-items:center;display:grid}.panel{border:1px solid var(--line);background:linear-gradient(180deg, #ffffff0b, transparent), var(--panel);box-shadow:var(--shadow);border-radius:8px}.container-id,.resource-top span,dt,.service-row small{color:var(--muted);font-size:.78rem}.panel-grid{grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr);align-items:stretch;gap:12px;display:grid}.server-left-stack{grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:100%;display:grid}.panel{padding:18px;animation:.6s both rise}.issues-bar{background:linear-gradient(90deg,#ff766f1f,#0000 34%),#ffffff09;border:1px solid #ff766f3d;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;min-height:48px;margin-bottom:12px;padding:10px 12px;animation:.56s both rise;display:grid}.issues-title{color:var(--soft);align-items:center;gap:8px;font-size:.84rem;font-weight:900;display:inline-flex}.issues-bar .issues-title{color:var(--red)}.issue-list{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.issue-chip{min-height:26px;color:var(--soft);background:#ff766f14;border:1px solid #ff766f47;border-radius:8px;align-items:center;gap:6px;padding:0 8px;font-size:.74rem;font-weight:800;display:inline-flex}.issue-chip.warn{background:#f0c76614;border-color:#f0c76647}.issue-chip strong{color:var(--text)}.section-heading{justify-content:space-between;margin-bottom:18px}.timestamp,.pill,.viewer-pill{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:5px 9px;font-size:.75rem}.viewer-pill{max-width:220px;min-height:34px;color:var(--soft);text-overflow:ellipsis;white-space:nowrap;align-items:center;font-weight:800;display:inline-flex;overflow:hidden}.pill.good{color:var(--green);border-color:#70e39a59}.pill.bad{color:var(--red);border-color:#ff766f59}.resource-list{gap:16px;display:grid}.resource-top{grid-template-columns:1fr auto auto;align-items:center;gap:3px;margin-bottom:8px;display:grid}.resource-top span{color:var(--soft);align-items:center;gap:8px;display:inline-flex}.resource-top strong{font-size:1.15rem}.resource-top small{color:var(--muted)}.meter{border:1px solid var(--line);background:#ffffff0a;border-radius:999px;height:8px;overflow:hidden}.meter span{border-radius:inherit;background:linear-gradient(90deg, var(--green), var(--cyan));height:100%;transition:width .5s;display:block}.host-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:22px 0 0;display:grid}.host-facts div,.container-map div{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;min-width:0;padding:12px}dt{margin-bottom:7px}dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:.9rem;font-weight:700;overflow:hidden}.raid-panel{flex-direction:column;min-height:0;display:flex}.raid-heading{color:var(--soft);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.78rem;font-weight:900;display:flex}.raid-heading span{align-items:center;gap:8px;display:inline-flex}.raid-heading em,.status-pill{color:var(--green);text-transform:uppercase;background:#70e39a14;border:1px solid #70e39a4d;border-radius:999px;padding:3px 8px;font-size:.64rem;font-style:normal;font-weight:900}.raid-heading em.bad,.status-pill.bad{color:var(--red);background:#ff766f14;border-color:#ff766f52}.raid-list{flex:1;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch;gap:10px;display:grid}.raid-card{border:1px solid var(--line);background:linear-gradient(135deg, #7fd9ff0e, transparent 45%), var(--panel-2);border-radius:8px;grid-template-rows:auto auto minmax(0,1fr);gap:14px;min-width:0;min-height:100%;padding:14px;display:grid}.raid-card.bad{background:linear-gradient(135deg, #ff766f14, transparent 48%), var(--panel-2);border-color:#ff766f47}.containers-panel{min-height:100%}.raid-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.raid-card strong,.raid-card small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.raid-card strong{margin-bottom:5px;font-size:.95rem;line-height:1}.raid-card small,.raid-meter>span{color:var(--muted);font-size:.72rem}.raid-meter>span{justify-content:space-between;margin-bottom:7px;font-weight:800;display:flex}.raid-meter strong{color:var(--text)}.drive-strip{grid-template-columns:repeat(auto-fit,minmax(70px,1fr));grid-auto-rows:minmax(48px,1fr);gap:8px;min-height:0;display:grid}.drive-chip{min-width:0;min-height:48px;color:var(--green);text-align:center;background:linear-gradient(#ffffff0b,#0000),#70e39a14;border:1px solid #70e39a3d;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px;font-size:.68rem;font-weight:900;display:flex}.drive-chip strong{color:inherit;margin:0;font-size:.95rem;line-height:1}.drive-chip small{min-width:0;max-width:100%;color:inherit;opacity:.85;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.58rem;font-weight:900;overflow:hidden}.drive-chip.bad{color:var(--red);background:#ff766f14;border-color:#ff766f47}.container-list{gap:8px;display:grid}.container-row{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;grid-template-columns:48px minmax(88px,1fr) minmax(52px,.45fr) minmax(52px,.45fr);align-items:center;gap:8px;min-height:68px;padding:10px;display:grid}.container-id{min-height:40px;color:var(--cyan);background:#ffffff0d;border-radius:8px;place-items:center;font-weight:800;display:grid}.container-main{min-width:0}.container-title{align-items:center;gap:8px;min-width:0;display:flex}.container-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.container-main small,.empty-state{color:var(--muted);font-size:.78rem}.status-text{font-weight:800}.status-text.good{color:var(--green)}.status-text.bad{color:var(--red)}.mini-meter{min-width:0}.mini-meter>span{color:var(--muted);justify-content:space-between;margin-bottom:6px;font-size:.64rem;font-weight:800;display:flex}.mini-meter strong{color:var(--text)}.empty-state{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;align-items:center;gap:8px;min-height:92px;padding:14px;display:flex}.services-panel{margin-top:12px}.immich-shell{padding-bottom:58px}.immich-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px;display:grid}.summary-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;min-height:112px;display:grid}.summary-card>span{width:38px;height:38px;color:var(--green);background:#70e39a14;border:1px solid #70e39a3d;border-radius:8px;place-items:center;display:grid}.summary-card.warn>span{color:var(--yellow);background:#f0c76614;border-color:#f0c76647}.summary-card.bad>span{color:var(--red);background:#ff766f14;border-color:#ff766f47}.summary-card p,.summary-card strong,.summary-card small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.summary-card p{color:var(--muted);text-transform:uppercase;margin:0 0 6px;font-size:.72rem;font-weight:900}.summary-card strong{margin-bottom:4px;font-size:1.35rem;line-height:1}.summary-card small{color:var(--soft);font-size:.74rem;font-weight:800}.immich-dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:12px;margin-bottom:12px;display:grid}.immich-storage-list,.immich-container-list{gap:10px;display:grid}.storage-row,.immich-container{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;padding:12px}.storage-top,.storage-facts,.immich-container{justify-content:space-between;align-items:center;gap:10px;display:flex}.storage-top{margin-bottom:9px}.storage-top span,.immich-container>span:last-child{align-items:center;gap:8px;min-width:0;display:inline-flex}.storage-top strong,.storage-facts span,.storage-facts strong,.immich-container strong,.immich-container small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.storage-top em{color:var(--soft);font-size:.78rem;font-style:normal;font-weight:900}.storage-facts{color:var(--muted);margin-top:8px;font-size:.72rem}.storage-facts strong{color:var(--soft)}.immich-container{justify-content:flex-start;min-height:58px}.immich-container>span:last-child{gap:4px;display:grid}.immich-container strong,.immich-container small{display:block}.immich-container strong{font-size:.86rem;line-height:1}.immich-container small{color:var(--muted);font-size:.72rem}.immich-container.bad{border-color:#ff766f47}.immich-queues-panel{overflow:hidden}.queue-table{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;min-width:680px;display:grid;overflow:hidden}.queue-row{border-top:1px solid var(--line);grid-template-columns:minmax(180px,1fr) repeat(5,minmax(78px,.35fr));align-items:center;min-height:44px;display:grid}.queue-row:first-child{border-top:0}.queue-row.heading{min-height:38px;color:var(--muted);text-transform:uppercase;background:#ffffff09;font-size:.68rem;font-weight:900}.queue-row span,.queue-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:0 10px;overflow:hidden}.queue-row strong{font-size:.82rem}.queue-row span{color:var(--soft);text-align:right;font-size:.78rem;font-weight:800}.queue-row span:first-child,.queue-row strong:first-child{text-align:left}.queue-row .bad{color:var(--red)}.home-panel{min-height:0;box-shadow:none;background:0 0;border:0;padding:0}.home-dashboard{grid-template-columns:minmax(0,1fr);gap:8px;height:100%;min-height:0;transition:grid-template-columns .42s;display:grid}.home-dashboard.has-rail{grid-template-columns:minmax(280px,.34fr) minmax(0,1fr)}.home-rail{align-content:start;gap:8px;min-width:0;min-height:0;display:grid;overflow:hidden}.rail-card{border:1px solid var(--line);background:linear-gradient(180deg, #7fd9ff0e, transparent 28%), var(--panel);border-radius:8px;flex-direction:column;min-width:0;min-height:0;padding:12px;animation:.36s both unread-rail-in;display:flex;overflow:hidden}.rail-card.closing{pointer-events:none;animation:.32s both unread-rail-out}.unread-heading,.rail-heading{color:var(--soft);justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:.78rem;font-weight:900;display:flex}.unread-heading span,.rail-heading span{align-items:center;gap:8px;display:inline-flex}.unread-heading em,.rail-heading em{color:var(--cyan);background:#7fd9ff14;border:1px solid #7fd9ff47;border-radius:999px;padding:3px 8px;font-size:.64rem;font-style:normal}.rail-heading.issues{color:var(--red)}.rail-heading.issues em{color:var(--red);background:#ff766f14;border-color:#ff766f47}.rail-list{gap:6px;display:grid}.rail-issue{min-height:34px;color:var(--soft);background:#ff766f14;border:1px solid #ff766f3d;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;font-size:.72rem;font-weight:800;display:grid}.rail-issue.warn{background:#f0c76614;border-color:#f0c76647}.rail-issue strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.unread-list{align-content:start;gap:7px;min-height:0;margin:-3px;padding:3px;display:grid;overflow:auto}.unread-message{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;gap:5px;padding:10px;transition:transform .18s,border-color .18s,background .18s;display:grid}.unread-message:hover{background:#7fd9ff12;border-color:#7fd9ff59;transform:translateY(-2px)}.unread-room,.unread-body,.unread-message time{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.unread-room{color:var(--cyan);font-size:.7rem;font-weight:900}.unread-message strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1;overflow:hidden}.unread-body{color:var(--soft);font-size:.76rem}.unread-message time{color:var(--muted);font-size:.66rem;font-weight:800}.unread-empty{min-height:0;color:var(--muted);flex:1;place-items:center;gap:8px;font-size:.82rem;font-weight:900;display:grid}@keyframes unread-rail-in{0%{opacity:0;transform:translate(-12px)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes unread-rail-out{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(-12px)scale(.985)}}.home-slideshow{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.home-slide{color:inherit;cursor:pointer;opacity:0;pointer-events:none;margin:0;transition:opacity .7s,transform .9s;display:block;position:absolute;inset:0;overflow:hidden;transform:scale(1.015)}.home-slide.active{opacity:1;pointer-events:auto;transform:scale(1)}.home-slide img{object-fit:cover;object-position:50% 62%;width:100%;height:100%;position:absolute;inset:0}.home-clock{z-index:3;min-width:150px;color:var(--text);text-shadow:0 3px 18px #000000b8;pointer-events:none;background:0 0;border:0;border-radius:8px;justify-items:end;padding:8px 2px;display:grid;position:absolute;top:14px;right:14px}.home-clock span{font-size:clamp(2rem,4vw,3.5rem);font-weight:900;line-height:.92}.home-clock small{color:var(--soft);text-transform:uppercase;margin-top:7px;font-size:clamp(.72rem,1.15vw,.98rem);font-weight:900}.home-photo-meta{pointer-events:none;justify-content:space-between;gap:12px;display:flex;position:absolute;bottom:14px;left:14px;right:14px}.home-photo-chip{border:1px solid var(--line);min-width:0;max-width:min(58%,760px);color:var(--text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d1110ad;border-radius:8px;padding:9px 10px;font-size:.76rem;font-weight:800}.home-photo-chip.name{justify-self:start}.home-photo-chip.date{color:var(--soft);text-align:right;flex:none}.home-photo-chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.home-empty{border:1px solid var(--line);height:100%;min-height:0;color:var(--muted);background:var(--panel-2);border-radius:8px;place-items:center;gap:8px;font-size:.86rem;font-weight:800;display:grid}.service-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;display:grid}.service-row{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:52px;padding:9px;transition:transform .18s,border-color .18s,background .18s;display:grid}.service-row:hover{background:#7fd9ff12;border-color:#7fd9ff61;transform:translateY(-2px)}.service-row.offline{border-color:#ff766f38}.service-row.degraded{border-color:#f0c76638}.service-copy{min-width:0}.service-row strong,.service-row small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.service-row strong{margin-bottom:4px;font-size:.88rem;line-height:1}.service-row small{white-space:nowrap;max-width:100%;font-size:.7rem;line-height:1}.service-row em{border:1px solid var(--line);color:var(--soft);text-transform:uppercase;border-radius:999px;justify-self:end;padding:3px 7px;font-size:.64rem;font-style:normal;font-weight:800;line-height:1}.status-dot{background:var(--red);border-radius:999px;width:9px;height:9px;box-shadow:0 0 0 5px #ff766f17}.status-dot.online{background:var(--green);box-shadow:0 0 0 5px #70e39a17}.status-dot.degraded{background:var(--yellow);box-shadow:0 0 0 5px #f0c76617}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (width<=860px){.hero,.section-heading{flex-direction:column;align-items:flex-start}.panel-grid,.host-facts,.raid-list,.immich-dashboard-grid,.immich-summary-grid,.home-dashboard{grid-template-columns:1fr}.immich-queues-panel{overflow-x:auto}.server-left-stack{min-height:0}.issues-bar{grid-template-columns:1fr}.issue-list{justify-content:flex-start}}@media (width<=560px){.shell{width:min(100vw - 20px,1180px);padding-top:22px}.home-shell{width:100vw;height:auto;min-height:100dvh;padding:6px;overflow:visible}.home-dashboard{min-height:calc(100dvh - 62px)}.home-rail{max-height:34dvh}.hero{min-height:0}.tab-list,.hero-actions{width:100%}.tab-button,.hero-actions .button{flex:1}.home-photo-meta{flex-direction:column;align-items:flex-start;gap:4px}.home-photo-chip{max-width:min(100%,420px)}.home-clock{min-width:124px}.container-row{grid-template-columns:52px minmax(0,1fr)}.mini-meter{grid-column:2}.service-row{min-height:66px}}
