:root{color-scheme:light dark;--bg: #eef4f7;--bg-tint-a: #d7eef7;--bg-tint-b: #e4ecf2;--surface: #ffffff;--surface-2: #f2f7fa;--surface-3: #e7f0f5;--surface-inset: #eaf2f6;--border: #d6e3ea;--border-strong: #bccfda;--text: #06222e;--text-soft: #3c5766;--muted: #5f7d8c;--brand: #0098cb;--brand-strong: #07688c;--brand-deep: #03384b;--brand-ink: #ffffff;--brand-soft: #e2f4fb;--brand-ring: rgba(0, 152, 203, .28);--ok: #0f8f6f;--ok-soft: #e0f5ee;--warn: #9a6f05;--warn-soft: #fbf0d6;--danger: #cf3b34;--danger-soft: #fdeceb;--info-soft: var(--brand-soft);--shadow-sm: 0 1px 2px rgba(3, 56, 75, .07);--shadow-md: 0 10px 24px -14px rgba(3, 56, 75, .45);--shadow-lg: 0 32px 64px -28px rgba(1, 25, 35, .5);--shadow-float: 0 2px 6px rgba(3, 56, 75, .14), 0 12px 24px -10px rgba(3, 56, 75, .34), 0 30px 56px -22px rgba(1, 25, 35, .42);--scrim: rgba(238, 244, 247, .98);--r-xs: 6px;--r-sm: 9px;--r-md: 13px;--r-lg: 18px;--r-pill: 999px;--font: "Roboto", "Helvetica Neue", system-ui, sans-serif;--font-display: "Poppins", "Roboto", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--header-h: 62px;--header-gap: 14px;--theme-color: #eef4f7}@media(prefers-color-scheme:dark){:root{--bg: #01080b;--bg-tint-a: #06303f;--bg-tint-b: #04202c;--surface: #072330;--surface-2: #0a2c3b;--surface-3: #0e3547;--surface-inset: #051b25;--border: #14384a;--border-strong: #1d4c62;--text: #e8f5fa;--text-soft: #b9d3de;--muted: #86a5b3;--brand: #35b6e2;--brand-strong: #0098cb;--brand-deep: #bfe5f2;--brand-ink: #01151d;--brand-soft: rgba(0, 152, 203, .16);--brand-ring: rgba(53, 182, 226, .35);--ok: #3fc79c;--ok-soft: rgba(63, 199, 156, .14);--warn: #edc15d;--warn-soft: rgba(237, 193, 93, .14);--danger: #ff7a73;--danger-soft: rgba(255, 122, 115, .14);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 12px 28px -16px rgba(0, 0, 0, .75);--shadow-lg: 0 34px 70px -30px rgba(0, 0, 0, .85);--shadow-float: 0 0 0 1px rgba(53, 182, 226, .16), 0 2px 8px rgba(0, 0, 0, .55), 0 16px 30px -10px rgba(0, 0, 0, .7), 0 28px 60px -26px rgba(53, 182, 226, .3);--scrim: rgba(1, 8, 11, .98);--theme-color: #01080b}}*,*:before,*:after{box-sizing:border-box}html{margin:0;min-height:100%;background:var(--bg);-webkit-text-size-adjust:100%}body{margin:0;min-height:100%;background:transparent;color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(1100px 620px at 8% -12%,var(--bg-tint-a) 0%,transparent 60%),radial-gradient(900px 520px at 100% -4%,var(--bg-tint-b) 0%,transparent 55%),var(--bg)}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.015em;color:var(--text)}a{color:var(--brand-strong);text-decoration:none}a:hover{text-decoration:underline}::selection{background:var(--brand-ring)}#app{max-width:960px;margin:0 auto;padding:0 16px 48px}.stack{display:flex;flex-direction:column;gap:16px}header.appbar{position:sticky;top:var(--header-gap);z-index:40;margin:var(--header-gap) 0 20px;padding:0 8px 0 14px;border:1px solid color-mix(in srgb,var(--border) 85%,transparent);border-radius:var(--r-lg);background:color-mix(in srgb,var(--surface) 76%,transparent);box-shadow:var(--shadow-md);backdrop-filter:saturate(1.5) blur(16px);-webkit-backdrop-filter:saturate(1.5) blur(16px);transition:box-shadow .22s ease,background .22s ease,border-color .22s ease}header.appbar.is-floating{background:color-mix(in srgb,var(--surface) 97%,transparent);border-color:var(--border-strong);box-shadow:var(--shadow-float)}body:after{content:"";position:fixed;top:0;left:0;right:0;z-index:30;height:calc(var(--header-gap) + 18px);pointer-events:none;opacity:0;background:var(--scrim);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);-webkit-mask-image:linear-gradient(to bottom,#000 var(--header-gap),transparent);mask-image:linear-gradient(to bottom,#000 var(--header-gap),transparent);transition:opacity .22s ease}body.header-floating:after{opacity:1}.appbar-inner{min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{width:38px;height:38px;border-radius:11px;flex:0 0 auto;display:block;box-shadow:var(--shadow-sm)}.brand-text{display:flex;flex-direction:column;min-width:0}.brand-text strong{font-family:var(--font-display);font-size:1.15rem;font-weight:600;letter-spacing:-.02em;line-height:1.2}.brand-text span{color:var(--muted);font-size:.78rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appbar-right{display:flex;align-items:center;gap:10px;min-width:0}.userchip{display:flex;align-items:center;gap:9px;min-width:0;padding:5px 12px 5px 5px;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface) 70%,transparent)}.avatar{width:28px;height:28px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:linear-gradient(150deg,var(--brand),var(--brand-strong));color:var(--brand-ink);font-size:.72rem;font-weight:700;letter-spacing:.02em}.userchip .user-name{font-size:.85rem;font-weight:500;color:var(--text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:34vw}@media(max-width:560px){.userchip .user-name{display:none}.userchip{padding:5px}.brand-text span{display:none}}.panel{background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-sm);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.panel h2{margin:0;font-size:1.05rem;font-weight:600;display:flex;align-items:center;gap:9px}.panel-sub{margin:4px 0 0;color:var(--muted);font-size:.84rem;max-width:62ch}.count-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px;border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand-strong);font-family:var(--font);font-size:.75rem;font-weight:700}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:640px){.grid2{grid-template-columns:1fr}}label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:.76rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}label.row{flex-direction:row;align-items:center;gap:10px;color:var(--text);font-size:.9rem;font-weight:400;letter-spacing:0;text-transform:none;cursor:pointer;padding:3px 0}input[type=text],input[type=password],input[type=datetime-local],select{width:100%;min-width:0;max-width:100%;height:40px;padding:0 12px;background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);font:inherit;font-size:.9rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}input::placeholder{color:color-mix(in srgb,var(--muted) 80%,transparent)}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%2386a5b3' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:11px;cursor:pointer}input:hover:not(:disabled),select:hover:not(:disabled){border-color:var(--border-strong)}input:focus-visible,select:focus-visible,button:focus-visible,.btn:focus-visible,a:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-ring)}input:disabled,select:disabled{opacity:.55;cursor:not-allowed}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;flex:0 0 auto;margin:0;border:1.5px solid var(--border-strong);border-radius:var(--r-xs);background:var(--surface);display:grid;place-content:center;cursor:pointer;transition:background .15s ease,border-color .15s ease}input[type=checkbox]:after{content:"";width:10px;height:10px;background:var(--brand-ink);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);transform:scale(0);transition:transform .14s ease}input[type=checkbox]:checked{background:var(--brand);border-color:var(--brand)}input[type=checkbox]:checked:after{transform:scale(1)}input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}button,.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;padding:0 15px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--text);font:inherit;font-size:.87rem;font-weight:600;line-height:1;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .08s ease}button svg,.btn svg{width:15px;height:15px;flex:0 0 auto}button:hover:not(:disabled),.btn:hover{background:var(--surface-3);border-color:var(--border-strong);text-decoration:none}button:active:not(:disabled),.btn:active{transform:translateY(1px)}button.primary,.btn.primary{background:linear-gradient(180deg,var(--brand),var(--brand-strong));border-color:transparent;color:var(--brand-ink);box-shadow:var(--shadow-sm)}button.primary:hover:not(:disabled),.btn.primary:hover{background:linear-gradient(180deg,var(--brand-strong),var(--brand-strong));border-color:transparent;color:var(--brand-ink)}button.danger,.btn.danger{background:transparent;border-color:color-mix(in srgb,var(--danger) 45%,var(--border));color:var(--danger)}button.danger:hover:not(:disabled),.btn.danger:hover{background:var(--danger-soft);border-color:var(--danger)}button.ghost{background:transparent;border-color:transparent;color:var(--muted)}button.ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text)}button.sm,.btn.sm{height:32px;padding:0 11px;font-size:.8rem;border-radius:var(--r-xs)}button.sm svg,.btn.sm svg{width:13px;height:13px}button:disabled{opacity:.45;cursor:not-allowed}.icon-btn{width:38px;height:38px;padding:0;border-radius:var(--r-sm);flex:0 0 auto}.icon-btn svg{width:17px;height:17px}#flash:not(:empty){margin-bottom:16px}.flash{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--r-md);background:var(--brand-soft);border:1px solid color-mix(in srgb,var(--brand) 30%,transparent);color:var(--text);font-size:.88rem;box-shadow:var(--shadow-sm);animation:flash-in .22s ease}.flash:before{content:"";width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--brand)}.flash.error{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.flash.error:before{background:var(--danger)}@keyframes flash-in{0%{opacity:0;transform:translateY(-4px)}}.hint{color:var(--muted);font-size:.82rem;margin:0}.meta{font-family:var(--mono);font-size:.76rem;color:var(--muted)}.login-wrap{min-height:70vh;display:grid;place-items:center}.login-card{text-align:center;padding:32px 28px;max-width:380px;box-shadow:var(--shadow-md)}.login-card .brand{justify-content:center;margin-bottom:14px}.login-card p{color:var(--muted);font-size:.9rem}.modal-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:16px}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,#01080b 55%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-dialog{position:relative;width:min(440px,100%);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px 22px 18px;box-shadow:var(--shadow-lg);animation:modal-in .18s ease}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}.modal-dialog h3{margin:0 0 8px;font-size:1.1rem;font-weight:600}.modal-message{margin:0;color:var(--muted);font-size:.9rem}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.svc-list,.export-services{display:flex;flex-direction:column;gap:12px}.svc-card{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.svc-card:hover{border-color:var(--border-strong)}.svc-summary{width:100%;height:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:0;border-radius:0;background:transparent;color:var(--text);font-weight:600;text-align:left}.svc-summary:hover:not(:disabled){background:color-mix(in srgb,var(--surface) 60%,transparent);border-color:transparent}.svc-summary:focus-visible{box-shadow:inset 0 0 0 2px var(--brand-ring);border-color:transparent}.svc-identity{display:inline-flex;align-items:center;gap:11px;min-width:0}.svc-tile{--tile-size: 34px;--tile-glyph: 56%;width:var(--tile-size);height:var(--tile-size);flex:0 0 auto;display:inline-grid;place-items:center;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-3);box-shadow:var(--shadow-sm)}.svc-tile:before{content:"";width:var(--tile-glyph);height:var(--tile-glyph);background:var(--text-soft);-webkit-mask:var(--glyph) center / contain no-repeat;mask:var(--glyph) center / contain no-repeat}.svc-tile[data-glyph=immich]{--glyph: url(/icons/immich.svg)}.svc-tile[data-glyph=nextcloud]{--glyph: url(/icons/nextcloud.svg);--tile-glyph: 68%}.svc-card[data-level=ok] .svc-tile:before{background:var(--brand-strong)}.export-svc:not(.is-locked) .svc-tile:before{background:var(--brand-strong)}.export-svc.is-locked .svc-tile{opacity:.6}.svc-name{font-family:var(--font-display);font-size:.95rem;font-weight:600}.svc-status{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;font-weight:600}.svc-badge{display:inline-flex;align-items:center;gap:7px;padding:4px 11px;border-radius:var(--r-pill);background:var(--surface-3);color:var(--muted)}.svc-status-label{display:none}@media(min-width:480px){.svc-status-label{display:inline}}@media(max-width:479px){.svc-badge{padding:0;background:transparent}}.svc-dot{width:9px;height:9px;border-radius:50%;background:var(--muted);box-shadow:0 0 0 3px color-mix(in srgb,var(--muted) 20%,transparent)}.svc-card[data-level=ok] .svc-dot{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 22%,transparent)}.svc-card[data-level=ok] .svc-badge{background:var(--ok-soft);color:var(--ok)}.svc-card[data-level=warn] .svc-dot{background:var(--warn);box-shadow:0 0 0 3px color-mix(in srgb,var(--warn) 22%,transparent)}.svc-card[data-level=warn] .svc-badge{background:var(--warn-soft);color:var(--warn)}.svc-card[data-level=down] .svc-dot{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 22%,transparent)}.svc-card[data-level=down] .svc-badge{background:var(--danger-soft);color:var(--danger)}.svc-chevron{width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s ease}.svc-summary[aria-expanded=true] .svc-chevron{transform:rotate(225deg) translate(-2px,-2px)}.svc-body{display:flex;flex-direction:column;gap:14px;padding:14px 15px 16px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface) 55%,transparent)}.svc-body[hidden]{display:none}.svc-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.svc-meta-grid>div{background:var(--surface-inset);border:1px solid var(--border);border-radius:var(--r-sm);padding:9px 11px;min-width:0}.svc-meta-label{color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px}.svc-meta-grid .meta{overflow-wrap:anywhere;color:var(--text-soft)}.svc-body .actions{margin-top:0}@media(max-width:640px){.svc-meta-grid{grid-template-columns:1fr}}.export-svc{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:15px;transition:border-color .15s ease,opacity .15s ease}.export-svc:has(>.export-svc-body input:checked){border-color:color-mix(in srgb,var(--brand) 45%,var(--border));background:color-mix(in srgb,var(--brand-soft) 45%,var(--surface-2))}.export-svc.is-locked{opacity:.6}.export-svc-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:13px}.export-svc-head strong{display:block;font-family:var(--font-display);font-size:.95rem;font-weight:600}.export-svc-head .hint{margin-top:2px}.export-svc-body{display:flex;flex-direction:column;gap:10px}.export-deps{display:flex;flex-direction:column;gap:12px;margin-left:9px;padding:4px 0 4px 16px;border-left:2px solid var(--border)}.export-deps.is-disabled{opacity:.45}label.is-disabled{opacity:.6;pointer-events:none}.jobs-list{display:flex;flex-direction:column;gap:12px}.job{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);padding:15px}.job[data-status=running],.job[data-status=queued]{border-color:color-mix(in srgb,var(--brand) 40%,var(--border))}.job[data-status=failed]{border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.job-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.job-ident{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.job-actions{display:flex;gap:6px;flex-wrap:wrap}.status{display:inline-flex;align-items:center;gap:6px;padding:4px 11px 4px 9px;border-radius:var(--r-pill);background:var(--surface-3);color:var(--muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status.running,.status.queued{background:var(--brand-soft);color:var(--brand-strong)}.status.running:before{animation:pulse 1.4s ease-in-out infinite}.status.paused{background:var(--warn-soft);color:var(--warn)}.status.completed{background:var(--ok-soft);color:var(--ok)}.status.failed,.status.stopped{background:var(--danger-soft);color:var(--danger)}@keyframes pulse{50%{opacity:.25}}.job-phase{font-family:var(--mono);font-size:.72rem;color:var(--muted)}.job-sources{display:inline-flex;gap:5px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;padding:2px 9px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:.7rem;font-weight:600;letter-spacing:.02em}.progress{height:7px;background:var(--surface-inset);border-radius:var(--r-pill);overflow:hidden}.progress>i{display:block;height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,var(--brand-strong),var(--brand));transition:width .35s ease}.job[data-status=running] .progress>i{background-image:linear-gradient(115deg,rgba(255,255,255,.28) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.28) 50%,rgba(255,255,255,.28) 75%,transparent 75%),linear-gradient(90deg,var(--brand-strong),var(--brand));background-size:18px 18px,auto;animation:stripes .9s linear infinite}.job[data-status=completed] .progress>i{background:linear-gradient(90deg,color-mix(in srgb,var(--ok) 75%,var(--brand)),var(--ok))}.job[data-status=failed] .progress>i{background:var(--danger)}@keyframes stripes{to{background-position:18px 0,0 0}}.job-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin-top:12px}.stat-label{display:block;color:var(--muted);font-size:.66rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.stat-value{display:block;margin-top:2px;font-size:.88rem;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.job-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.job-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-2);color:var(--muted);font-size:.74rem;font-weight:500}.job-badge svg{width:13px;height:13px;flex:0 0 auto}.job-badge.ok{color:var(--ok);background:var(--ok-soft);border-color:color-mix(in srgb,var(--ok) 32%,transparent)}.job-badge.warn{color:var(--warn);background:var(--warn-soft);border-color:color-mix(in srgb,var(--warn) 32%,transparent)}.job-error{margin-top:12px;padding:9px 12px;border-radius:var(--r-sm);background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger);font-size:.82rem;overflow-wrap:anywhere}.parts{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}.part-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--text);font-family:var(--mono);font-size:.75rem;text-decoration:none;transition:border-color .15s ease,background .15s ease,color .15s ease}.part-chip:hover{border-color:var(--brand);background:var(--brand-soft);color:var(--brand-strong);text-decoration:none}.part-chip svg{width:13px;height:13px;flex:0 0 auto}.part-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.part-size{flex:0 0 auto}.part-chip.ghost{background:transparent;color:var(--muted);border-style:dashed}.part-size{color:var(--muted)}.empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:30px 16px;border:1px dashed var(--border-strong);border-radius:var(--r-md);background:color-mix(in srgb,var(--surface-inset) 60%,transparent);text-align:center}.empty svg{width:26px;height:26px;color:var(--muted);opacity:.7}.empty strong{font-family:var(--font-display);font-size:.92rem;font-weight:600}@media(max-width:560px){body{font-size:14.5px}#app{padding:0 11px 36px}:root{--header-h: 56px;--header-gap: 10px}.panel{padding:15px 13px;border-radius:var(--r-md)}.panel-head{margin-bottom:13px}.brand-mark{width:32px;height:32px;border-radius:9px}.brand-text strong{font-size:1.02rem}.brand{gap:9px}header.appbar{padding:0 6px 0 10px}.appbar-inner{gap:8px}.export-svc,.job,.svc-body{padding:12px}.svc-summary{padding:11px 12px}.export-deps{margin-left:3px;padding-left:11px;gap:10px}input[type=text],input[type=password],input[type=datetime-local],select{font-size:.84rem;padding:0 9px}select{padding-right:28px;background-position:right 9px center}label.row{align-items:flex-start}label.row input[type=checkbox]{margin-top:2px}.job-stats{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px}.job-actions{gap:5px}.part-chip{max-width:100%}.empty{padding:22px 12px}}@media(max-width:360px){#app{padding:0 8px 32px}.panel{padding:14px 11px}.export-svc,.job,.svc-body{padding:11px 10px}.export-deps{margin-left:0;padding-left:9px}input[type=datetime-local]{font-size:.78rem;padding:0 7px}.job-stats{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
