@import "https://fonts.googleapis.com/css2?family=Dosis:wght@400;600;700&family=Inter:wght@400;500;600&display=swap";:root{--palette-primary:#00a7b5;--palette-secondary:#3f2a56;--palette-gray-600:#646464;--palette-gray-300:#bdbdbd;--palette-gray-100:#f1f1f1;--palette-success:#65be61;--palette-warning:#ea8a0b;--palette-danger:#c63e3e;--palette-text:#414042;--palette-white:#fff;--font-display:"Dosis", sans-serif;--font-display-weight:600;--font-body:"Inter", sans-serif;--font-body-weight:400;--font-display-transform:uppercase;--font-display-letter-spacing:.03em;--text-h1:24px;--text-h2:18px;--text-body:14px;--spacing-panel-gap:20px;--spacing-title-table:30px;--radius-sm:6px;--radius-md:10px;--font-mono:"JetBrains Mono", monospace}:root,:root[data-theme=light]{--color-bg:var(--palette-gray-100);--color-surface:var(--palette-white);--color-surface-raised:#eaeaea;--color-row-highlight:var(--palette-gray-100);--color-border:color-mix(in srgb, var(--palette-gray-300) 55%, white);--color-border-subtle:color-mix(in srgb, var(--palette-gray-300) 28%, white);--color-text:var(--palette-text);--color-text-muted:var(--palette-gray-600);--color-text-faint:var(--palette-gray-300);--color-amber:#d97706;--color-amber-soft:#d977061f;--color-slate:#64748b;--color-slate-soft:#64748b1f;--color-accent:var(--palette-primary);--color-accent-hover:color-mix(in srgb, var(--palette-primary) 82%, black);--color-accent-soft:color-mix(in srgb, var(--palette-primary) 14%, transparent);--color-secondary:var(--palette-secondary);--color-secondary-hover:color-mix(in srgb, var(--palette-secondary) 85%, black);--color-secondary-soft:color-mix(in srgb, var(--palette-secondary) 14%, transparent);--color-success:var(--palette-success);--color-success-soft:color-mix(in srgb, var(--palette-success) 14%, transparent);--color-warning:var(--palette-warning);--color-warning-soft:color-mix(in srgb, var(--palette-warning) 14%, transparent);--color-danger:var(--palette-danger);--color-danger-soft:color-mix(in srgb, var(--palette-danger) 14%, transparent);--shadow-panel:0 1px 2px #0000000a, 0 8px 24px -12px #0000001f}:root[data-theme=dark],[data-dashboard-theme=dark]{--color-bg:#1a1b1d;--color-surface:#242527;--color-surface-raised:#2d2f31;--color-row-highlight:#35373a;--color-border:#3a3c3f;--color-border-subtle:#2d2f31;--color-text:#f1f1f1;--color-text-muted:#b5b5b5;--color-text-faint:#7a7a7a;--color-amber:#d97706;--color-amber-soft:#d9770633;--color-slate:#94a3b8;--color-slate-soft:#94a3b833;--color-accent:var(--palette-primary);--color-accent-hover:color-mix(in srgb, var(--palette-primary) 80%, white);--color-accent-soft:color-mix(in srgb, var(--palette-primary) 20%, transparent);--color-secondary:var(--palette-secondary);--color-secondary-hover:color-mix(in srgb, var(--palette-secondary) 80%, white);--color-secondary-soft:color-mix(in srgb, var(--palette-secondary) 20%, transparent);--color-success:var(--palette-success);--color-success-soft:color-mix(in srgb, var(--palette-success) 20%, transparent);--color-warning:var(--palette-warning);--color-warning-soft:color-mix(in srgb, var(--palette-warning) 20%, transparent);--color-danger:var(--palette-danger);--color-danger-soft:color-mix(in srgb, var(--palette-danger) 20%, transparent);--shadow-panel:0 1px 2px #0000004d, 0 8px 24px -12px #00000080}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0}html{overflow:hidden}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased}#app{overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--color-text-faint) var(--color-surface-raised)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-surface-raised)}::-webkit-scrollbar-thumb{background:var(--color-text-faint);border:2px solid var(--color-surface-raised);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}button,input{font-family:inherit}::selection{background:var(--color-accent-soft);color:var(--color-text)}.status-led{--led-color:var(--color-accent);background:var(--led-color);width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--led-color) 18%, transparent), 0 0 8px 0 var(--led-color);border-radius:50%;flex-shrink:0}.status-led.is-pulsing{animation:2.2s ease-in-out infinite led-pulse}@keyframes led-pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.top-controls[data-v-c46c9c15]{align-items:center;gap:8px;display:flex}.control-btn[data-v-c46c9c15]{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);height:32px;color:var(--color-text-muted);font-family:var(--font-mono);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.control-btn.icon-only[data-v-c46c9c15]{width:32px;padding:0}.control-btn[data-v-c46c9c15]:hover{background:var(--color-surface-raised);color:var(--color-text);border-color:var(--color-accent)}.login-screen[data-v-b91167d6]{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}.grid-backdrop[data-v-b91167d6]{background-image:linear-gradient(var(--color-border-subtle) 1px, transparent 1px), linear-gradient(90deg, var(--color-border-subtle) 1px, transparent 1px);opacity:.6;background-size:40px 40px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(60% 50% at 50% 40%,#000,#0000);mask-image:radial-gradient(60% 50% at 50% 40%,#000,#0000)}.login-top-controls[data-v-b91167d6]{z-index:1;position:absolute;top:24px;right:24px}.login-card[data-v-b91167d6]{background:var(--color-surface);border:1px solid var(--color-border);border-top:3px solid var(--color-accent);border-radius:var(--radius-md);width:100%;max-width:380px;box-shadow:var(--shadow-panel);padding:32px 28px;animation:.45s both rise-b91167d6;position:relative}@keyframes rise-b91167d6{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.brand[data-v-b91167d6]{align-items:center;gap:12px;margin-bottom:28px;display:flex}.brand-mark[data-v-b91167d6]{border-radius:var(--radius-sm);background:linear-gradient(155deg, var(--color-accent), var(--color-accent-hover));color:#0d1512;width:40px;height:40px;font-family:var(--font-display);flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.brand-text[data-v-b91167d6]{flex-direction:column;gap:4px;display:flex}.brand-name[data-v-b91167d6]{font-family:var(--font-display);letter-spacing:.06em;font-size:18px;font-weight:700}.brand-status[data-v-b91167d6]{color:var(--color-text-faint);font-size:12px;font-family:var(--font-mono);align-items:center;gap:6px;display:flex}.subtitle[data-v-b91167d6]{color:var(--color-text-muted);text-align:center;margin:0 0 20px;font-size:14px;line-height:1.5}.field[data-v-b91167d6]{border:1px solid var(--color-border);background:var(--color-bg);border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:14px;padding:0 12px;transition:border-color .15s;display:flex}.field[data-v-b91167d6]:focus-within{border-color:var(--color-accent)}.field-icon[data-v-b91167d6]{color:var(--color-text-faint);flex-shrink:0}.field input[data-v-b91167d6]{color:var(--color-text);background:0 0;border:none;outline:none;flex:1;padding:11px 0;font-size:14px}.field input[data-v-b91167d6]::placeholder{color:var(--color-text-faint)}.field input[data-v-b91167d6]:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--color-bg) inset;box-shadow:0 0 0 1000px var(--color-bg) inset;-webkit-text-fill-color:var(--color-text);caret-color:var(--color-text);transition:background-color 5000s ease-in-out}.field input[data-v-b91167d6]:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px var(--color-bg) inset;box-shadow:0 0 0 1000px var(--color-bg) inset;-webkit-text-fill-color:var(--color-text);caret-color:var(--color-text);transition:background-color 5000s ease-in-out}.field input[data-v-b91167d6]:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--color-bg) inset;box-shadow:0 0 0 1000px var(--color-bg) inset;-webkit-text-fill-color:var(--color-text);caret-color:var(--color-text);transition:background-color 5000s ease-in-out}button[type=submit][data-v-b91167d6]{background:var(--color-accent);color:#0d1512;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:11px 16px;font-size:14px;font-weight:600;transition:background .15s;display:flex}button[type=submit][data-v-b91167d6]:hover:not(:disabled){background:var(--color-accent-hover)}button[type=submit][data-v-b91167d6]:disabled{opacity:.7;cursor:default}.state-block[data-v-b91167d6]{color:var(--color-text-muted);align-items:center;gap:12px;padding:4px 0;font-size:14px;line-height:1.5;display:flex}.state-block.success[data-v-b91167d6]{color:var(--color-success)}.state-block.success p[data-v-b91167d6]{color:var(--color-text-muted)}.state-block p[data-v-b91167d6]{margin:0}.spin[data-v-b91167d6]{flex-shrink:0;animation:.9s linear infinite spin-b91167d6}@keyframes spin-b91167d6{to{transform:rotate(360deg)}}.alert[data-v-b91167d6]{background:var(--color-danger-soft);border-left:3px solid var(--color-danger);border-radius:var(--radius-sm);color:var(--color-danger);align-items:center;gap:8px;margin-top:16px;padding:10px 12px;font-size:13px;display:flex}.alert.info[data-v-b91167d6]{background:var(--color-accent-soft);border-left-color:var(--color-accent);color:var(--color-text-muted);margin-top:0;margin-bottom:16px}.layout[data-v-30925986]{background:var(--color-bg);height:100vh;display:flex;overflow:hidden}.sidebar[data-v-30925986]{background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:232px;min-height:0;padding:20px 12px;display:flex}.brand[data-v-30925986]{align-items:center;gap:10px;padding:4px 8px 24px;display:flex}.brand-mark[data-v-30925986]{border-radius:var(--radius-sm);background:linear-gradient(155deg, var(--color-accent), var(--color-accent-hover));color:#0d1512;width:30px;height:30px;font-family:var(--font-display);flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.brand-text[data-v-30925986]{flex-direction:column;gap:3px;display:flex}.brand-name[data-v-30925986]{font-family:var(--font-display);letter-spacing:.07em;color:var(--color-text);font-size:14px;font-weight:700}.brand-status[data-v-30925986]{font-size:10px;font-family:var(--font-mono);color:var(--color-text-faint);align-items:center;gap:5px;display:flex}nav[data-v-30925986]{flex-direction:column;flex:1;gap:2px;min-height:0;display:flex;overflow:hidden auto}.nav-item[data-v-30925986]{color:var(--color-text-muted);border-left:2px solid #0000;align-items:center;gap:11px;margin:0 -12px;padding:9px 12px 9px 24px;font-size:13.5px;font-weight:500;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:flex}.nav-item[data-v-30925986]:hover{color:var(--color-text);background:var(--color-surface-raised)}.nav-item.active[data-v-30925986]{color:var(--color-accent);background:var(--color-accent-soft);border-left-color:var(--color-accent);font-weight:600}.profile[data-v-30925986]{border-top:1px solid var(--color-border-subtle);align-items:center;gap:10px;margin-top:8px;padding:12px;display:flex}.avatar[data-v-30925986]{width:30px;height:30px;font-family:var(--font-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.profile-text[data-v-30925986]{flex-direction:column;gap:2px;min-width:0;display:flex}.profile-name[data-v-30925986]{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.profile-role[data-v-30925986]{font-size:11px;font-weight:600}.logout[data-v-30925986]{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:11px;padding:9px 12px;font-family:inherit;font-size:13.5px;font-weight:500;transition:color .15s;display:flex}.logout[data-v-30925986]:hover{color:var(--color-danger)}.content[data-v-30925986]{scrollbar-gutter:stable;flex:1;min-width:0;min-height:0;padding:36px 40px;position:relative;overflow-y:auto}.layout-top-controls[data-v-30925986]{z-index:10;position:fixed;top:20px;right:24px}.search-field[data-v-66e75c29]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-faint);flex-shrink:0;align-items:center;gap:8px;padding:0 12px;transition:border-color .15s;display:flex;position:relative}.search-field[data-v-66e75c29]:focus-within{border-color:var(--color-accent)}.search-field input[data-v-66e75c29]{color:var(--color-text);background:0 0;border:none;outline:none;width:220px;padding:9px 0;font-size:13.5px}.search-field input[data-v-66e75c29]::placeholder{color:var(--color-text-faint)}.search-clear[data-v-66e75c29]{color:var(--color-text-faint);cursor:pointer;border-radius:var(--radius-sm);visibility:hidden;opacity:0;background:0 0;border:none;justify-content:center;align-items:center;padding:2px;transition:opacity .12s;display:inline-flex}.search-clear[data-v-66e75c29]:not(.is-hidden){visibility:visible;opacity:1}.search-clear[data-v-66e75c29]:hover{color:var(--color-text)}.panel[data-v-24798360]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel)}.skeleton-panel[data-v-24798360]{padding:8px 20px}.skeleton-row[data-v-24798360]{border-bottom:1px solid var(--color-border-subtle);align-items:center;gap:12px;padding:14px 0;display:flex}.skeleton-row[data-v-24798360]:last-child{border-bottom:none}.skeleton-avatar[data-v-24798360],.skeleton-line[data-v-24798360]{background:linear-gradient(90deg, var(--color-surface-raised) 25%, var(--color-border) 37%, var(--color-surface-raised) 63%);border-radius:var(--radius-sm);background-size:400% 100%;animation:1.4s infinite shimmer-24798360}.skeleton-avatar[data-v-24798360]{border-radius:50%;flex-shrink:0;width:30px;height:30px}.skeleton-lines[data-v-24798360]{flex-direction:column;flex:1;gap:8px;display:flex}.skeleton-line[data-v-24798360]{height:10px}@keyframes shimmer-24798360{0%{background-position:100% 0}to{background-position:-100% 0}}.pagination[data-v-d1b38de7]{border-top:1px solid var(--color-border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;display:flex}.pagination-info[data-v-d1b38de7]{color:var(--color-text-faint);font-size:12.5px;font-family:var(--font-mono)}.pagination-controls[data-v-d1b38de7]{align-items:center;gap:4px;display:flex}.page-btn[data-v-d1b38de7],.icon-btn[data-v-d1b38de7]{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.icon-btn[data-v-d1b38de7]{width:30px;height:30px;color:var(--color-text-faint)}.icon-btn[data-v-d1b38de7]:hover:not(:disabled){background:var(--color-surface-raised);color:var(--color-text);border-color:var(--color-border)}.icon-btn[data-v-d1b38de7]:disabled{opacity:.35;cursor:not-allowed}.page-btn[data-v-d1b38de7]{min-width:30px;height:30px;color:var(--color-text-muted);padding:0 6px;font-family:inherit;font-size:13px;font-weight:600}.page-btn[data-v-d1b38de7]:hover:not(:disabled){background:var(--color-surface-raised);color:var(--color-text)}.page-btn.active[data-v-d1b38de7]{color:var(--color-accent);background:var(--color-accent-soft);border-color:var(--color-accent)}.page-btn.ellipsis[data-v-d1b38de7]{cursor:default;color:var(--color-text-faint)}.page-btn.ellipsis[data-v-d1b38de7]:hover{color:var(--color-text-faint);background:0 0}.overlay[data-v-da5ecd77]{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog[data-v-da5ecd77]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);width:100%;max-height:calc(100vh - 40px);overflow-y:auto}.dialog-header[data-v-da5ecd77]{text-transform:uppercase;border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface);z-index:1;justify-content:space-between;align-items:center;padding:18px 20px;display:flex;position:sticky;top:0}.dialog-header h2[data-v-da5ecd77]{font-family:var(--font-display);color:var(--color-text);margin:0;font-size:16px;font-weight:700}.dialog-body[data-v-da5ecd77]{flex-direction:column;gap:14px;padding:20px;display:flex}.dialog-error[data-v-da5ecd77]{color:var(--color-danger);align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.dialog-actions[data-v-da5ecd77]{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.icon-btn[data-v-da5ecd77]{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-text-faint);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.icon-btn[data-v-da5ecd77]:hover{background:var(--color-surface-raised);color:var(--color-text)}.btn[data-v-da5ecd77]{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:9px 16px;font-size:13.5px;font-weight:600;transition:background .12s,opacity .12s;display:inline-flex}.btn[data-v-da5ecd77]:disabled{opacity:.6;cursor:default}.btn.ghost[data-v-da5ecd77]{border-color:var(--color-border);color:var(--color-text-muted);background:0 0}.btn.ghost[data-v-da5ecd77]:hover:not(:disabled){background:var(--color-surface-raised)}.btn.primary[data-v-da5ecd77]{background:var(--color-accent);color:#0d1512}.btn.primary[data-v-da5ecd77]:hover:not(:disabled){background:var(--color-accent-hover)}.spin[data-v-da5ecd77]{animation:.8s linear infinite spin-da5ecd77}@keyframes spin-da5ecd77{to{transform:rotate(360deg)}}.overlay[data-v-3a8f0184]{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog[data-v-3a8f0184]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);width:100%}.confirm-dialog[data-v-3a8f0184]{max-width:340px;padding:24px}.confirm-text[data-v-3a8f0184]{color:var(--color-text);margin:0 0 18px;font-size:14.5px}.dialog-error[data-v-3a8f0184]{color:var(--color-danger);align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.dialog-actions[data-v-3a8f0184]{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.btn[data-v-3a8f0184]{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:9px 16px;font-size:13.5px;font-weight:600;transition:background .12s,opacity .12s;display:inline-flex}.btn[data-v-3a8f0184]:disabled{opacity:.6;cursor:default}.btn.ghost[data-v-3a8f0184]{border-color:var(--color-border);color:var(--color-text-muted);background:0 0}.btn.ghost[data-v-3a8f0184]:hover:not(:disabled){background:var(--color-surface-raised)}.btn.danger[data-v-3a8f0184]{background:var(--color-danger);color:#fff}.btn.danger[data-v-3a8f0184]:hover:not(:disabled){opacity:.9}.btn.primary[data-v-3a8f0184]{background:var(--color-accent);color:#0d1512}.btn.primary[data-v-3a8f0184]:hover:not(:disabled){background:var(--color-accent-hover)}.spin[data-v-3a8f0184]{animation:.8s linear infinite spin-3a8f0184}@keyframes spin-3a8f0184{to{transform:rotate(360deg)}}.users-page[data-v-4142b2b4]{max-width:1200px;margin:0 auto}.page-header[data-v-4142b2b4]{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}h1[data-v-4142b2b4]{font-family:var(--font-display);text-transform:var(--font-display-transform);letter-spacing:var(--font-display-letter-spacing);color:var(--color-text);margin:0 0 6px;font-size:24px;font-weight:700}.subtitle[data-v-4142b2b4]{color:var(--color-text-muted);margin:0;font-size:13.5px}.header-actions[data-v-4142b2b4]{flex-shrink:0;align-items:center;gap:10px;display:flex}.role-filter[data-v-4142b2b4]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-shrink:0;align-items:center;gap:2px;padding:3px;display:flex}.filter-pill[data-v-4142b2b4]{color:var(--color-text-muted);border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:6px 12px;font-family:inherit;font-size:12.5px;font-weight:600;transition:background .12s,color .12s}.filter-pill[data-v-4142b2b4]:hover{color:var(--color-text)}.filter-pill.active[data-v-4142b2b4]{background:var(--color-accent);color:#0d1512}.btn[data-v-4142b2b4]{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:9px 16px;font-family:inherit;font-size:13.5px;font-weight:600;transition:background .12s,opacity .12s;display:inline-flex}.btn.primary[data-v-4142b2b4]{background:var(--color-accent);color:#0d1512}.btn.primary[data-v-4142b2b4]:hover{background:var(--color-accent-hover)}.panel[data-v-4142b2b4]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel)}.state-panel[data-v-4142b2b4]{color:var(--color-text-muted);align-items:center;gap:12px;padding:28px 24px;font-size:14px;display:flex}.state-panel.error[data-v-4142b2b4]{color:var(--color-danger)}.state-panel p[data-v-4142b2b4]{margin:0}.table-panel[data-v-4142b2b4]{overflow:hidden}.table-panel.is-refetching[data-v-4142b2b4]{opacity:.55;pointer-events:none;transition:opacity .15s}.grid-table[data-v-4142b2b4]{flex-direction:column;display:flex}.grid-row[data-v-4142b2b4]{--row-accent:transparent;grid-template-columns:minmax(150px,1.3fr) minmax(160px,1.6fr) 108px 120px 110px 92px;align-items:center;column-gap:12px;transition:background .12s;display:grid;position:relative}.grid-row[data-v-4142b2b4]:before{content:"";background:var(--row-accent);opacity:0;width:3px;transition:opacity .12s;position:absolute;top:0;bottom:0;left:0}.grid-row[data-v-4142b2b4]:not(.grid-head):hover{background:var(--color-surface-raised)}.grid-row[data-v-4142b2b4]:not(.grid-head):hover:before{opacity:1}.grid-row[data-v-4142b2b4]:not(.grid-head){border-bottom:1px solid var(--color-border-subtle)}.grid-row[data-v-4142b2b4]:not(.grid-head):last-child{border-bottom:none}.grid-row.is-self[data-v-4142b2b4]{background:var(--color-row-highlight)}.grid-row.is-self[data-v-4142b2b4]:before{opacity:1;background:var(--color-text-faint)}.grid-row.is-self[data-v-4142b2b4]:hover:before{background:var(--row-accent)}.grid-head[data-v-4142b2b4]{border-bottom:1px solid var(--color-border)}.grid-cell[data-v-4142b2b4]{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:12px 8px;font-size:14px;overflow:hidden}.grid-cell[data-v-4142b2b4]:nth-child(3),.grid-cell[data-v-4142b2b4]:nth-child(4),.grid-cell[data-v-4142b2b4]:nth-child(5),.grid-cell[data-v-4142b2b4]:nth-child(6){text-align:center;justify-self:center}.grid-row>.grid-cell[data-v-4142b2b4]:first-child{padding-left:20px}.grid-row>.grid-cell[data-v-4142b2b4]:last-child{padding-right:20px}.grid-head .grid-cell[data-v-4142b2b4]{text-align:center;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);padding-top:12px;padding-bottom:12px;font-size:11px;font-weight:600}.identity[data-v-4142b2b4]{align-items:center;gap:10px;min-width:0;display:flex}.avatar[data-v-4142b2b4]{width:30px;height:30px;font-family:var(--font-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.name[data-v-4142b2b4]{text-overflow:ellipsis;font-weight:500;overflow:hidden}.muted[data-v-4142b2b4]{color:var(--color-text-muted)}.badge[data-v-4142b2b4]{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.status[data-v-4142b2b4]{color:var(--color-text-muted);align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.status-led[data-v-4142b2b4]{background:var(--led-color);border-radius:50%;flex-shrink:0;width:7px;height:7px}.pin[data-v-4142b2b4]{color:var(--color-text-faint);align-items:center;gap:6px;font-size:12px;display:inline-flex}.pin.set[data-v-4142b2b4]{color:var(--color-accent)}.you-tag[data-v-4142b2b4]{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;flex-shrink:0;padding:1px 7px;font-size:10px;font-weight:600}.actions-cell[data-v-4142b2b4]{white-space:normal;gap:6px;display:flex;overflow:visible}.icon-btn[data-v-4142b2b4]{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-text-faint);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.icon-btn[data-v-4142b2b4]:hover{background:var(--color-surface-raised);color:var(--color-text);border-color:var(--color-border)}.icon-btn[data-v-4142b2b4]:disabled{opacity:.35;cursor:not-allowed}.icon-btn[data-v-4142b2b4]:disabled:hover{color:var(--color-text-faint);background:0 0;border-color:#0000}.icon-btn.danger[data-v-4142b2b4]:hover{color:var(--color-danger);border-color:var(--color-danger)}.field[data-v-4142b2b4]{color:var(--color-text-muted);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.field-hint[data-v-4142b2b4]{color:var(--color-text-faint);text-transform:none;letter-spacing:normal;font-weight:400}.field input[type=text][data-v-4142b2b4],.field input[type=email][data-v-4142b2b4],.field select[data-v-4142b2b4]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);outline:none;padding:9px 10px;font-family:inherit;font-size:13.5px;transition:border-color .15s}.field input[type=text][data-v-4142b2b4]:focus,.field input[type=email][data-v-4142b2b4]:focus,.field select[data-v-4142b2b4]:focus{border-color:var(--color-accent)}.field select[data-v-4142b2b4]:disabled,.field input[type=text][data-v-4142b2b4]:disabled,.field input[type=email][data-v-4142b2b4]:disabled,.checkbox-field input[data-v-4142b2b4]:disabled{opacity:.55;cursor:not-allowed}.field input.invalid[data-v-4142b2b4]{border-color:var(--color-danger)}.field-error[data-v-4142b2b4]{color:var(--color-danger);font-size:12px;font-weight:400}.checkbox-field[data-v-4142b2b4]{flex-direction:row;align-items:center;gap:8px}.checkbox-field input[data-v-4142b2b4]{width:16px;height:16px}.pin-row[data-v-4142b2b4]{align-items:center;gap:6px;display:flex}.pin-row input[data-v-4142b2b4]{flex:1;min-width:0}.pin-btn[data-v-4142b2b4]{border-radius:var(--radius-sm);border:1px solid var(--color-border);width:38px;height:38px;color:var(--color-text-faint);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;transition:all .12s;display:inline-flex}.pin-btn[data-v-4142b2b4]:hover{background:var(--color-surface-raised);color:var(--color-text)}.machines-page[data-v-ea7ffc1a]{max-width:1200px;margin:0 auto}.page-header[data-v-ea7ffc1a]{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}h1[data-v-ea7ffc1a]{font-family:var(--font-display);text-transform:var(--font-display-transform);letter-spacing:var(--font-display-letter-spacing);color:var(--color-text);margin:0 0 6px;font-size:24px;font-weight:700}.subtitle[data-v-ea7ffc1a]{color:var(--color-text-muted);margin:0;font-size:13.5px}.header-actions[data-v-ea7ffc1a]{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;max-width:100%;display:flex}.panel[data-v-ea7ffc1a]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel)}.state-panel[data-v-ea7ffc1a]{color:var(--color-text-muted);align-items:center;gap:12px;padding:28px 24px;font-size:14px;display:flex}.state-panel.error[data-v-ea7ffc1a]{color:var(--color-danger)}.state-panel p[data-v-ea7ffc1a]{margin:0}.table-panel[data-v-ea7ffc1a]{overflow:hidden}.table-panel.is-refetching[data-v-ea7ffc1a]{opacity:.55;pointer-events:none;transition:opacity .15s}.grid-table[data-v-ea7ffc1a]{flex-direction:column;display:flex}.grid-row[data-v-ea7ffc1a]{grid-template-columns:minmax(120px,1.5fr) minmax(110px,1.2fr) 110px 92px;align-items:center;column-gap:12px;transition:background .12s;display:grid;position:relative}.grid-row[data-v-ea7ffc1a]:not(.grid-head):hover{background:var(--color-surface-raised)}.grid-row[data-v-ea7ffc1a]:not(.grid-head){border-bottom:1px solid var(--color-border-subtle)}.grid-row[data-v-ea7ffc1a]:not(.grid-head):last-child{border-bottom:none}.grid-head[data-v-ea7ffc1a]{border-bottom:1px solid var(--color-border)}.grid-cell[data-v-ea7ffc1a]{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:12px 8px;font-size:14px;overflow:hidden}.grid-cell[data-v-ea7ffc1a]:nth-child(2),.grid-cell[data-v-ea7ffc1a]:nth-child(3),.grid-cell[data-v-ea7ffc1a]:nth-child(4){text-align:center;justify-self:center}.grid-row>.grid-cell[data-v-ea7ffc1a]:first-child{padding-left:20px}.grid-row>.grid-cell[data-v-ea7ffc1a]:last-child{padding-right:20px}.grid-head .grid-cell[data-v-ea7ffc1a]{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);text-align:center;padding-top:12px;padding-bottom:12px;font-size:11px;font-weight:600}.identity[data-v-ea7ffc1a]{align-items:center;gap:10px;min-width:0;display:flex}.avatar[data-v-ea7ffc1a]{background:var(--color-accent-soft);width:30px;height:30px;color:var(--color-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.name[data-v-ea7ffc1a]{text-overflow:ellipsis;font-weight:500;overflow:hidden}.actions-cell[data-v-ea7ffc1a]{white-space:normal;gap:6px;display:flex;overflow:visible}.icon-btn[data-v-ea7ffc1a]{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-text-faint);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.icon-btn[data-v-ea7ffc1a]:hover{background:var(--color-surface-raised);color:var(--color-text);border-color:var(--color-border)}.icon-btn.danger[data-v-ea7ffc1a]:hover{color:var(--color-danger);border-color:var(--color-danger)}.btn[data-v-ea7ffc1a]{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:9px 16px;font-family:inherit;font-size:13.5px;font-weight:600;transition:background .12s,opacity .12s;display:inline-flex}.btn.primary[data-v-ea7ffc1a]{background:var(--color-accent);color:#0d1512}.btn.primary[data-v-ea7ffc1a]:hover{background:var(--color-accent-hover)}.field[data-v-ea7ffc1a]{color:var(--color-text-muted);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.field input[type=text][data-v-ea7ffc1a]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);outline:none;padding:9px 10px;font-size:13.5px;transition:border-color .15s}.field input[type=text][data-v-ea7ffc1a]:focus{border-color:var(--color-accent)}.field input.invalid[data-v-ea7ffc1a]{border-color:var(--color-danger)}.field-error[data-v-ea7ffc1a]{color:var(--color-danger);font-size:12px;font-weight:400}.field select[data-v-ea7ffc1a]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit;padding:9px 10px}.status-filter[data-v-ea7ffc1a]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);height:34px;color:var(--color-text);outline:none;padding:0 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.status-filter[data-v-ea7ffc1a]:focus{border-color:var(--color-accent)}.status[data-v-ea7ffc1a]{color:var(--color-text-muted);align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.status-led[data-v-ea7ffc1a]{background:var(--led-color);border-radius:50%;flex-shrink:0;width:7px;height:7px}.checkbox-field[data-v-ea7ffc1a]{flex-flow:wrap;align-items:center;gap:8px}.checkbox-field input[data-v-ea7ffc1a]{width:16px;height:16px}.checkbox-field .field-hint[data-v-ea7ffc1a]{width:100%;margin-left:24px}.field+.field[data-v-ea7ffc1a]{margin-top:16px}.field-hint[data-v-ea7ffc1a]{font-size:12px;font-weight:400}.recipes-page[data-v-789e0a2f]{max-width:1200px;margin:0 auto}.page-header[data-v-789e0a2f]{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}h1[data-v-789e0a2f]{font-family:var(--font-display);text-transform:var(--font-display-transform);letter-spacing:var(--font-display-letter-spacing);color:var(--color-text);margin:0 0 6px;font-size:24px;font-weight:700}.subtitle[data-v-789e0a2f]{color:var(--color-text-muted);margin:0;font-size:13.5px}.header-actions[data-v-789e0a2f]{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.machine-filter[data-v-789e0a2f]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);height:34px;color:var(--color-text);outline:none;padding:0 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.machine-filter[data-v-789e0a2f]:focus{border-color:var(--color-accent)}.btn[data-v-789e0a2f]{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:9px 16px;font-family:inherit;font-size:13.5px;font-weight:600;transition:background .12s,opacity .12s;display:inline-flex}.btn.primary[data-v-789e0a2f]{background:var(--color-accent);color:#0d1512}.btn.primary[data-v-789e0a2f]:hover{background:var(--color-accent-hover)}.panel[data-v-789e0a2f]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel)}.state-panel[data-v-789e0a2f]{color:var(--color-text-muted);align-items:center;gap:12px;padding:28px 24px;font-size:14px;display:flex}.state-panel.error[data-v-789e0a2f]{color:var(--color-danger)}.state-panel p[data-v-789e0a2f]{margin:0}.table-panel[data-v-789e0a2f]{overflow:hidden}.table-panel.is-refetching[data-v-789e0a2f]{opacity:.55;pointer-events:none;transition:opacity .15s}.grid-table[data-v-789e0a2f]{flex-direction:column;display:flex}.grid-row[data-v-789e0a2f]{grid-template-columns:130px minmax(160px,1.5fr) minmax(120px,1fr) 150px 96px 96px 92px;align-items:center;column-gap:12px;transition:background .12s;display:grid;position:relative}.grid-row[data-v-789e0a2f]:not(.grid-head):hover{background:var(--color-surface-raised)}.grid-row[data-v-789e0a2f]:not(.grid-head){border-bottom:1px solid var(--color-border-subtle)}.grid-row[data-v-789e0a2f]:not(.grid-head):last-child{border-bottom:none}.grid-head[data-v-789e0a2f]{border-bottom:1px solid var(--color-border)}.grid-cell[data-v-789e0a2f]{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:12px 8px;font-size:14px;overflow:hidden}.grid-cell[data-v-789e0a2f]:nth-child(3),.grid-cell[data-v-789e0a2f]:nth-child(4),.grid-cell[data-v-789e0a2f]:nth-child(5),.grid-cell[data-v-789e0a2f]:nth-child(6){text-align:center;justify-self:center}.grid-row>.grid-cell[data-v-789e0a2f]:first-child{padding-left:20px}.grid-row>.grid-cell[data-v-789e0a2f]:last-child{padding-right:20px}.grid-head .grid-cell[data-v-789e0a2f]{text-align:center;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);padding-top:12px;padding-bottom:12px;font-size:11px;font-weight:600}.identity[data-v-789e0a2f]{align-items:center;gap:10px;min-width:0;display:flex}.avatar[data-v-789e0a2f]{background:var(--color-accent-soft);width:30px;height:30px;color:var(--color-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.name[data-v-789e0a2f]{text-overflow:ellipsis;font-weight:500;overflow:hidden}.muted[data-v-789e0a2f]{color:var(--color-text-muted)}.actions-cell[data-v-789e0a2f]{white-space:normal;gap:6px;display:flex;overflow:visible}.icon-btn[data-v-789e0a2f]{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-text-faint);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.icon-btn[data-v-789e0a2f]:hover{background:var(--color-surface-raised);color:var(--color-text);border-color:var(--color-border)}.icon-btn.danger[data-v-789e0a2f]:hover{color:var(--color-danger);border-color:var(--color-danger)}.field-row[data-v-789e0a2f]{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;display:grid}.field[data-v-789e0a2f]{color:var(--color-text-muted);flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:600;display:flex}.field input[data-v-789e0a2f],.field select[data-v-789e0a2f]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);outline:none;width:100%;padding:9px 10px;font-family:inherit;font-size:13.5px;transition:border-color .15s}.field input[data-v-789e0a2f]:focus,.field select[data-v-789e0a2f]:focus{border-color:var(--color-accent)}.field input.invalid[data-v-789e0a2f]{border-color:var(--color-danger)}.field-error[data-v-789e0a2f]{color:var(--color-danger);font-size:12px;font-weight:400}.overlay[data-v-9b45e300]{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog[data-v-9b45e300]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);width:100%}.filter-dialog[data-v-9b45e300]{max-width:340px}.dialog-header[data-v-9b45e300]{border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface);z-index:1;justify-content:space-between;align-items:center;padding:18px 20px;display:flex;position:sticky;top:0}.dialog-header h2[data-v-9b45e300]{font-family:var(--font-display);color:var(--color-text);align-items:center;gap:8px;margin:0;font-size:16px;font-weight:700;display:flex}.dialog-body[data-v-9b45e300]{flex-direction:column;gap:14px;padding:20px;display:flex}.field-row[data-v-9b45e300]{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;display:grid}.field[data-v-9b45e300]{color:var(--color-text-muted);flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:600;display:flex;position:relative}.field input[data-v-9b45e300]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);outline:none;width:100%;padding:9px 10px;font-family:inherit;font-size:13.5px;transition:border-color .15s}.field input[data-v-9b45e300]:focus{border-color:var(--color-accent)}.calendar[data-v-9b45e300]{margin-top:4px}.calendar-header[data-v-9b45e300]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.calendar-title[data-v-9b45e300]{color:var(--color-text);text-transform:capitalize;font-size:13.5px;font-weight:600}.calendar-weekdays[data-v-9b45e300]{text-align:center;color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.03em;grid-template-columns:repeat(7,1fr);margin-bottom:4px;font-size:11px;font-weight:600;display:grid}.calendar-grid[data-v-9b45e300]{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-day[data-v-9b45e300]{aspect-ratio:1;border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-family:inherit;font-size:13px;transition:background .12s,color .12s;display:flex}.calendar-day[data-v-9b45e300]:hover{background:var(--color-surface-raised)}.calendar-day.muted[data-v-9b45e300]{color:var(--color-text-faint)}.calendar-day.today[data-v-9b45e300]{color:var(--color-accent);font-weight:700}.calendar-day.in-range[data-v-9b45e300]{background:var(--color-accent-soft);border-radius:0}.calendar-day.start[data-v-9b45e300],.calendar-day.end[data-v-9b45e300]{background:var(--color-accent);color:#0d1512;font-weight:700}.dialog-actions[data-v-9b45e300]{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.btn[data-v-9b45e300]{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:9px 16px;font-family:inherit;font-size:13.5px;font-weight:600;transition:background .12s,opacity .12s;display:inline-flex}.btn.ghost[data-v-9b45e300]{border-color:var(--color-border);color:var(--color-text-muted);background:0 0}.btn.ghost[data-v-9b45e300]:hover{background:var(--color-surface-raised)}.btn.primary[data-v-9b45e300]{background:var(--color-accent);color:#0d1512}.btn.primary[data-v-9b45e300]:hover{background:var(--color-accent-hover)}.icon-btn[data-v-9b45e300]{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-text-faint);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.icon-btn[data-v-9b45e300]:hover{background:var(--color-surface-raised);color:var(--color-text)}.jobs-page[data-v-879a640f]{max-width:1200px;margin:0 auto}.page-header[data-v-879a640f]{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.header-titles[data-v-879a640f]{flex-shrink:0}h1[data-v-879a640f]{font-family:var(--font-display);text-transform:var(--font-display-transform);letter-spacing:var(--font-display-letter-spacing);color:var(--color-text);margin:0 0 6px;font-size:24px;font-weight:700}.subtitle[data-v-879a640f]{color:var(--color-text-muted);margin:0;font-size:13.5px}.header-actions[data-v-879a640f]{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.filter-btn-group[data-v-879a640f]{flex-shrink:0;align-items:center;gap:4px;display:flex}.filter-btn[data-v-879a640f]{white-space:nowrap;align-items:center;gap:7px;height:34px;display:inline-flex}.filter-btn.active[data-v-879a640f]{border-color:var(--color-accent);color:var(--color-accent)}.view-tabs[data-v-879a640f]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);align-items:center;gap:2px;width:fit-content;margin-bottom:16px;padding:3px;display:flex}.view-tabs .tab-btn[data-v-879a640f]{border-radius:calc(var(--radius-sm) - 2px);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:7px 12px;font-family:inherit;font-size:12.5px;font-weight:600;transition:background .12s,color .12s;display:inline-flex}.view-tabs .tab-btn[data-v-879a640f]:hover{color:var(--color-text)}.view-tabs .tab-btn.active[data-v-879a640f]{background:var(--color-accent);color:#0d1512}.panel[data-v-879a640f]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel)}.state-panel[data-v-879a640f]{color:var(--color-text-muted);align-items:center;gap:12px;padding:28px 24px;font-size:14px;display:flex}.state-panel.error[data-v-879a640f]{color:var(--color-danger)}.state-panel p[data-v-879a640f]{margin:0}.table-panel[data-v-879a640f]{overflow:hidden}.table-panel.is-refetching[data-v-879a640f]{opacity:.55;pointer-events:none;transition:opacity .15s}.grid-table[data-v-879a640f]{flex-direction:column;display:flex}.grid-row[data-v-879a640f]{align-items:center;column-gap:12px;transition:background .12s;display:grid;position:relative}.jobs-grid .grid-row[data-v-879a640f]{grid-template-columns:110px minmax(150px,1.3fr) 90px 110px 80px 140px 64px 108px 92px}.history-grid .grid-row[data-v-879a640f]{grid-template-columns:110px 80px 140px 140px 140px minmax(110px,1fr) minmax(100px,1fr) 64px 92px}.grid-row[data-v-879a640f]:not(.grid-head):hover{background:var(--color-surface-raised)}.grid-row[data-v-879a640f]:not(.grid-head){border-bottom:1px solid var(--color-border-subtle)}.grid-row[data-v-879a640f]:not(.grid-head):last-child{border-bottom:none}.grid-head[data-v-879a640f]{border-bottom:1px solid var(--color-border)}.grid-cell[data-v-879a640f]{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:12px 8px;font-size:14px;overflow:hidden}.grid-cell[data-v-879a640f]:not(:first-child){text-align:center;justify-self:center}.grid-row>.grid-cell[data-v-879a640f]:first-child{padding-left:20px}.grid-row>.grid-cell[data-v-879a640f]:last-child{padding-right:20px}.grid-head .grid-cell[data-v-879a640f]{text-align:center;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);padding-top:12px;padding-bottom:12px;font-size:11px;font-weight:600}.identity[data-v-879a640f]{align-items:center;gap:10px;min-width:0;display:flex}.avatar[data-v-879a640f]{background:var(--color-accent-soft);width:30px;height:30px;color:var(--color-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.name[data-v-879a640f]{text-overflow:ellipsis;font-weight:500;overflow:hidden}.muted[data-v-879a640f]{color:var(--color-text-muted)}.actions-cell[data-v-879a640f]{white-space:normal;gap:6px;display:flex;overflow:visible}.icon-btn[data-v-879a640f]{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-text-faint);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.icon-btn[data-v-879a640f]:hover{background:var(--color-surface-raised);color:var(--color-text);border-color:var(--color-border)}.icon-btn.danger[data-v-879a640f]:hover{color:var(--color-danger);border-color:var(--color-danger)}.icon-btn.accent[data-v-879a640f]:hover{color:var(--color-accent);border-color:var(--color-accent)}.status-badge[data-v-879a640f]{text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;padding:3px 9px;font-size:10.5px;font-weight:700;display:inline-flex}.status-badge.running[data-v-879a640f]{background:var(--color-accent-soft);color:var(--color-accent)}.status-badge.paused[data-v-879a640f]{color:#f59e0b;background:#f59e0b26}.status-badge.planned[data-v-879a640f]{color:#6b7280;background:#6b728026}.pause-badge-btn[data-v-879a640f]{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:600;transition:all .12s;display:inline-flex}.pause-badge-btn[data-v-879a640f]:hover{background:var(--color-surface-raised);border-color:var(--color-accent);color:var(--color-accent)}.pause-badge-zero[data-v-879a640f]{border-radius:var(--radius-sm);border:1px solid var(--color-border-subtle);color:var(--color-text-faint);background:0 0;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.pauses-list[data-v-879a640f]{flex-direction:column;gap:10px;display:flex}.pause-item[data-v-879a640f]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 14px}.pause-header[data-v-879a640f]{border-bottom:1px dashed var(--color-border-subtle);justify-content:space-between;align-items:center;margin-bottom:6px;padding-bottom:4px;display:flex}.pause-index[data-v-879a640f]{color:var(--color-accent);font-size:12px;font-weight:700}.pause-header-right[data-v-879a640f]{align-items:center;gap:8px;display:flex}.pause-header-right .icon-btn[data-v-879a640f]{width:24px;height:24px}.pause-duration[data-v-879a640f]{color:var(--color-text);font-size:12.5px;font-weight:600}.pause-times[data-v-879a640f]{color:var(--color-text-muted);justify-content:space-between;font-size:12.5px;display:flex}.pause-times .label[data-v-879a640f]{color:var(--color-text-muted);margin-right:4px}.pause-header-right .icon-btn.danger[data-v-879a640f]{color:var(--color-danger);opacity:.75}.pause-header-right .icon-btn.danger[data-v-879a640f]:hover{opacity:1}.ongoing-tag[data-v-879a640f]{color:var(--color-accent);font-weight:600}.warning-banner[data-v-879a640f]{color:#b98900;border-color:#b98900;align-items:center;gap:10px;margin-bottom:14px;padding:12px 16px;display:flex}.warning-banner p[data-v-879a640f]{flex:1;margin:0;font-size:13.5px}.field-row[data-v-879a640f]{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;display:grid}.field[data-v-879a640f]{color:var(--color-text-muted);flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:600;display:flex;position:relative}.field-hint[data-v-879a640f]{color:var(--color-text-faint);text-transform:none;letter-spacing:normal;font-weight:400}.segmented[data-v-879a640f]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);gap:4px;padding:3px;display:flex}.segmented-btn[data-v-879a640f]{border-radius:calc(var(--radius-sm) - 2px);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex:1;padding:7px 10px;font-family:inherit;font-size:13px;font-weight:600;transition:background .12s,color .12s}.segmented-btn[data-v-879a640f]:hover:not(.active){background:var(--color-surface-raised)}.segmented-btn.active[data-v-879a640f]{background:var(--color-accent);color:#0d1512}.form-info[data-v-879a640f]{margin:0;font-size:12.5px;line-height:1.5}.field input[data-v-879a640f],.field select[data-v-879a640f]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);outline:none;width:100%;padding:9px 10px;font-family:inherit;font-size:13.5px;transition:border-color .15s}.field input[data-v-879a640f]:focus,.field select[data-v-879a640f]:focus{border-color:var(--color-accent)}.field input[data-v-879a640f]:disabled{background:var(--color-surface-raised);color:var(--color-text-faint);cursor:not-allowed}.field.readonly span[data-v-879a640f]:first-child{color:var(--color-text-faint);font-weight:500}.field input.invalid[data-v-879a640f]{border-color:var(--color-danger)}.field-error[data-v-879a640f]{color:var(--color-danger);font-size:12px;font-weight:400}.recipe-input-wrap[data-v-879a640f]{position:relative}.recipe-input-wrap input[data-v-879a640f]{padding-right:30px}.recipe-input-icon[data-v-879a640f]{color:var(--color-text-faint);pointer-events:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.recipe-dropdown[data-v-879a640f]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:220px;box-shadow:var(--shadow-panel);z-index:5;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.recipe-option[data-v-879a640f]{border-radius:calc(var(--radius-sm) - 2px);width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:baseline;gap:8px;padding:8px 10px;font-family:inherit;font-size:13px;display:flex}.recipe-option[data-v-879a640f]:hover{background:var(--color-surface-raised)}.recipe-option-number[data-v-879a640f]{color:var(--color-accent);flex-shrink:0;font-weight:700}.recipe-option-name[data-v-879a640f]{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recipe-dropdown-empty[data-v-879a640f]{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;display:flex}.recipe-dropdown-empty p[data-v-879a640f]{color:var(--color-text-faint);margin:0;font-size:12.5px}.recipe-add-btn[data-v-879a640f]{justify-content:center;width:100%}.btn[data-v-879a640f]{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:9px 16px;font-family:inherit;font-size:13.5px;font-weight:600;transition:background .12s,opacity .12s;display:inline-flex}.btn.ghost[data-v-879a640f]{border-color:var(--color-border);color:var(--color-text-muted);background:0 0}.btn.ghost[data-v-879a640f]:hover{background:var(--color-surface-raised)}.btn.primary[data-v-879a640f]{background:var(--color-accent);color:#0d1512}.btn.primary[data-v-879a640f]:hover{background:var(--color-accent-hover)}.settings-page[data-v-831af4fe]{max-width:1200px;margin:0 auto}.page-header[data-v-831af4fe]{margin-bottom:24px}h1[data-v-831af4fe]{font-family:var(--font-display);text-transform:var(--font-display-transform);letter-spacing:var(--font-display-letter-spacing);color:var(--color-text);margin:0 0 6px;font-size:24px;font-weight:700}.subtitle[data-v-831af4fe]{color:var(--color-text-muted);margin:0;font-size:13.5px}.panel[data-v-831af4fe]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel)}.state-panel[data-v-831af4fe]{color:var(--color-text-muted);align-items:center;gap:10px;padding:24px;font-size:13.5px;display:flex}.state-panel p[data-v-831af4fe]{margin:0}.settings-panel[data-v-831af4fe]{padding:24px}.profile-summary[data-v-831af4fe]{border-bottom:1px solid var(--color-border-subtle);align-items:center;gap:14px;margin-bottom:20px;padding-bottom:20px;display:flex}.avatar[data-v-831af4fe]{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:15px;font-weight:700;display:flex}.profile-summary-text[data-v-831af4fe]{flex-direction:column;gap:6px;min-width:0;display:flex}.profile-name[data-v-831af4fe]{color:var(--color-text);font-size:16px;font-weight:700}.profile-meta[data-v-831af4fe]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.badge[data-v-831af4fe]{border-radius:999px;align-items:center;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.status[data-v-831af4fe]{color:var(--color-text-muted);align-items:center;gap:8px;font-size:13px;display:inline-flex}.status-led[data-v-831af4fe]{background:var(--led-color);border-radius:50%;flex-shrink:0;width:7px;height:7px}.settings-form[data-v-831af4fe]{flex-direction:column;gap:16px;display:flex}.field[data-v-831af4fe]{color:var(--color-text-muted);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.field-hint[data-v-831af4fe]{color:var(--color-text-faint);text-transform:none;letter-spacing:normal;font-weight:400}.field input[type=text][data-v-831af4fe],.field input[type=email][data-v-831af4fe]{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);outline:none;padding:9px 10px;font-family:inherit;font-size:13.5px;transition:border-color .15s}.field input[type=text][data-v-831af4fe]:focus,.field input[type=email][data-v-831af4fe]:focus{border-color:var(--color-accent)}.field input.invalid[data-v-831af4fe]{border-color:var(--color-danger)}.field-error[data-v-831af4fe]{color:var(--color-danger);font-size:12px;font-weight:400}.dialog-error[data-v-831af4fe]{color:var(--color-danger);align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.save-success[data-v-831af4fe]{color:var(--color-success);align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.form-actions[data-v-831af4fe]{justify-content:flex-end;margin-top:4px;display:flex}.btn[data-v-831af4fe]{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:9px 16px;font-family:inherit;font-size:13.5px;font-weight:600;transition:background .12s,opacity .12s;display:inline-flex}.btn[data-v-831af4fe]:disabled{opacity:.6;cursor:default}.btn.primary[data-v-831af4fe]{background:var(--color-accent);color:#0d1512}.btn.primary[data-v-831af4fe]:hover:not(:disabled){background:var(--color-accent-hover)}.spin[data-v-831af4fe]{animation:.8s linear infinite spin-831af4fe}@keyframes spin-831af4fe{to{transform:rotate(360deg)}}.logs-page[data-v-57b487d2]{max-width:1200px;margin:0 auto}.page-header[data-v-57b487d2]{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.header-titles[data-v-57b487d2]{flex-shrink:0}h1[data-v-57b487d2]{font-family:var(--font-display);text-transform:var(--font-display-transform);letter-spacing:var(--font-display-letter-spacing);color:var(--color-text);margin:0 0 6px;font-size:24px;font-weight:700}.subtitle[data-v-57b487d2]{color:var(--color-text-muted);margin:0;font-size:13.5px}.header-actions[data-v-57b487d2]{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.role-filter[data-v-57b487d2]{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-shrink:0;align-items:center;gap:2px;padding:3px;display:flex}.filter-pill[data-v-57b487d2]{color:var(--color-text-muted);border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:6px 10px;font-family:inherit;font-size:12.5px;font-weight:600;transition:background .12s,color .12s}.filter-pill[data-v-57b487d2]:hover{color:var(--color-text)}.filter-pill.active[data-v-57b487d2]{background:var(--color-accent);color:#0d1512}.filter-btn-group[data-v-57b487d2]{flex-shrink:0;align-items:center;gap:4px;display:flex}.filter-btn[data-v-57b487d2]{white-space:nowrap;align-items:center;gap:6px;height:34px;padding:9px 12px;display:inline-flex}.filter-btn.active[data-v-57b487d2]{border-color:var(--color-accent);color:var(--color-accent)}.panel[data-v-57b487d2]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel)}.state-panel[data-v-57b487d2]{color:var(--color-text-muted);align-items:center;gap:12px;padding:28px 24px;font-size:14px;display:flex}.state-panel.error[data-v-57b487d2]{color:var(--color-danger)}.state-panel p[data-v-57b487d2]{margin:0}.table-panel[data-v-57b487d2]{overflow:hidden}.table-panel.is-refetching[data-v-57b487d2]{opacity:.55;pointer-events:none;transition:opacity .15s}.grid-table[data-v-57b487d2]{flex-direction:column;display:flex}.grid-row[data-v-57b487d2]{--row-accent:transparent;grid-template-columns:150px minmax(140px,1fr) 130px 130px minmax(140px,1.4fr) 70px;align-items:center;column-gap:12px;transition:background .12s;display:grid;position:relative}.grid-row[data-v-57b487d2]:before{content:"";background:var(--row-accent);opacity:0;width:3px;transition:opacity .12s;position:absolute;top:0;bottom:0;left:0}.grid-row[data-v-57b487d2]:not(.grid-head):hover{background:var(--color-surface-raised)}.grid-row[data-v-57b487d2]:not(.grid-head):hover:before{opacity:1}.grid-row[data-v-57b487d2]:not(.grid-head){border-bottom:1px solid var(--color-border-subtle)}.grid-head[data-v-57b487d2]{border-bottom:1px solid var(--color-border)}.grid-cell[data-v-57b487d2]{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:12px 8px;font-size:14px;overflow:hidden}.grid-cell[data-v-57b487d2]:nth-child(3),.grid-cell[data-v-57b487d2]:nth-child(4),.grid-cell[data-v-57b487d2]:nth-child(6){text-align:center;justify-self:center}.grid-row>.grid-cell[data-v-57b487d2]:first-child{padding-left:20px}.grid-row>.grid-cell[data-v-57b487d2]:last-child{padding-right:20px}.grid-head .grid-cell[data-v-57b487d2]{text-align:center;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);padding-top:12px;padding-bottom:12px;font-size:11px;font-weight:600}.muted[data-v-57b487d2]{color:var(--color-text-muted)}.mono[data-v-57b487d2]{font-family:var(--font-mono);font-size:12px}.badge[data-v-57b487d2]{border-radius:999px;align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.icon-btn[data-v-57b487d2]{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-text-faint);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.icon-btn[data-v-57b487d2]:hover{background:var(--color-surface-raised);color:var(--color-text);border-color:var(--color-border)}.btn[data-v-57b487d2]{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:9px 16px;font-family:inherit;font-size:13.5px;font-weight:600;transition:background .12s,opacity .12s;display:inline-flex}.btn.ghost[data-v-57b487d2]{border-color:var(--color-border);color:var(--color-text-muted);background:0 0}.btn.ghost[data-v-57b487d2]:hover{background:var(--color-surface-raised)}.changes-panel[data-v-57b487d2]{background:var(--color-bg);border-bottom:1px solid var(--color-border-subtle);padding:10px 20px 14px 40px}.changes-table[data-v-57b487d2]{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-surface);flex-direction:column;gap:2px;display:flex;overflow:hidden}.changes-row[data-v-57b487d2]{font-size:12.5px;font-family:var(--font-mono);grid-template-columns:160px 1fr 1fr;gap:12px;padding:7px 12px;display:grid}.changes-head[data-v-57b487d2]{background:var(--color-surface-raised);color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.05em;font-family:inherit;font-size:10.5px}.field-name[data-v-57b487d2]{color:var(--color-text);font-weight:600}.old-value[data-v-57b487d2]{color:var(--color-danger);word-break:break-word}.new-value[data-v-57b487d2]{color:var(--color-success);word-break:break-word}.activity-page[data-v-2275edfd]{max-width:1200px;margin:0 auto}.page-header[data-v-2275edfd]{margin-bottom:24px}.page-header h1[data-v-2275edfd],h2[data-v-2275edfd]{font-family:var(--font-display);text-transform:var(--font-display-transform);letter-spacing:var(--font-display-letter-spacing);color:var(--color-text)}.page-header h1[data-v-2275edfd]{margin:0 0 6px;font-size:24px}.page-header p[data-v-2275edfd],.section-note[data-v-2275edfd],.state[data-v-2275edfd]{color:var(--color-text-muted);margin:0;font-size:13.5px}.panel[data-v-2275edfd]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-panel);margin-bottom:20px;padding:20px}.panel h2[data-v-2275edfd]{margin:0 0 4px;font-size:17px}.section-note[data-v-2275edfd]{margin-bottom:16px}.table[data-v-2275edfd]{border-top:1px solid var(--color-border)}.row[data-v-2275edfd]{border-bottom:1px solid var(--color-border-subtle);grid-template-columns:minmax(200px,1fr) 180px 260px;align-items:center;display:grid}.row span[data-v-2275edfd]{color:var(--color-text);padding:11px 8px;font-size:13.5px}.row span[data-v-2275edfd]:nth-child(2),.row span[data-v-2275edfd]:nth-child(3){text-align:center;justify-self:center}.head span[data-v-2275edfd]{color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase;text-align:center;justify-self:center;font-size:10px;font-weight:600}.badge[data-v-2275edfd]{border-radius:999px;padding:3px 10px;font-size:12px;display:inline-flex}.error[data-v-2275edfd]{color:var(--color-danger)}.retry[data-v-2275edfd]{margin-left:8px}.state[data-v-2275edfd]{padding:24px 0}@media (width<=640px){.row[data-v-2275edfd]{grid-template-columns:1fr 120px 160px}.panel[data-v-2275edfd]{overflow-x:auto}.table[data-v-2275edfd]{min-width:520px}}
