:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius: 6px;--bg-page: #242424;--bg-header: #242424;--bg-card: #252525;--bg-input: #1a1a1a;--bg-table-th: #2d2d2d;--bg-nav-hover: #333;--bg-accordion-head: #2d2d2d;--bg-accordion-head-hover: #353535;--text: rgba(255, 255, 255, .87);--text-muted: #888;--border: #444;--border-input: #555;--link: #646cff;--link-hover: #535bf2;--nav-active: #646cff;--nav-active-text: #fff;--btn-bg: #1a1a1a;--btn-border: transparent;--btn-border-hover: #646cff;--error: #f66;--accordion-arrow: #999;color:var(--text);background-color:var(--bg-page)}@media(prefers-color-scheme:light){:root{--bg-page: #ffffff;--bg-header: #ffffff;--bg-card: #fafafa;--bg-input: #f5f5f5;--bg-table-th: #f0f0f0;--bg-nav-hover: #eee;--bg-accordion-head: #f0f0f0;--bg-accordion-head-hover: #e8e8e8;--text: #213547;--text-muted: #666;--border: #ddd;--border-input: #ccc;--link: #646cff;--link-hover: #747bff;--nav-active: #646cff;--nav-active-text: #fff;--btn-bg: #f0f0f0;--btn-border: #ccc;--btn-border-hover: #646cff;--error: #c33;--accordion-arrow: #666}}a{font-weight:500;color:var(--link);text-decoration:inherit}a:hover{color:var(--link-hover)}#root{width:100%;min-height:100vh;box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:4px;border:1px solid var(--btn-border);padding:.3em 1em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--btn-bg);color:var(--text);cursor:pointer;transition:border-color .25s,background-color .2s}button:hover{border-color:var(--btn-border-hover)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.connection-banner{position:fixed;top:0;left:0;right:0;z-index:30;padding:var(--space-sm) var(--space-md);font-size:.9rem;text-align:center;box-shadow:0 2px 6px #00000026}.connection-banner--disconnected{background:var(--error);color:#fff}.connection-banner--reconnected{background:var(--nav-active);color:var(--nav-active-text)}.app{min-height:100vh;text-align:left;display:flex;flex-direction:column}#root{min-height:100vh}.app-header{flex-shrink:0;display:flex;align-items:center;gap:var(--space-md);height:2.5rem;padding:0 var(--space-sm);background:var(--bg-header);border-bottom:1px solid var(--border);position:relative}.app-header__title{font-size:1rem;font-weight:600;position:absolute;left:50%;transform:translate(-50%);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.app-header__actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-sm)}.app-header__btn{min-width:5.5rem;padding:var(--space-xs) var(--space-md);font-size:.875rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-header);color:var(--text);cursor:pointer;font-family:inherit}.app-header__btn:hover:not(:disabled){background:var(--bg-nav-hover)}.app-header__btn:disabled{opacity:.7;cursor:not-allowed}.app-header__menu{flex-shrink:0;width:2rem;height:2rem;padding:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-header);color:var(--text);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.app-header__menu:hover{background:var(--bg-nav-hover)}.app-body{flex:1;display:flex;min-height:0}.main-inner{flex:1;min-width:0;max-width:900px;margin:0 auto;padding:var(--space-md) var(--space-lg) var(--space-xl);width:100%;box-sizing:border-box}.sidebar{flex-shrink:0;width:155px;background:var(--bg-header);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:width .2s ease,transform .2s ease}.sidebar__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-sm) var(--space-sm);border-bottom:1px solid var(--border)}.sidebar__title{font-size:1rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__toggle{flex-shrink:0;padding:var(--space-sm) var(--space-sm);border:none;border-radius:var(--radius);background:transparent;color:var(--text);font-size:.9rem;font-family:inherit;cursor:pointer;transition:background .2s}.sidebar__toggle:hover{background:var(--bg-nav-hover)}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm)}.sidebar-nav a{display:flex;align-items:center;min-height:2rem;padding:0 var(--space-sm);border-radius:var(--radius);font-size:.9rem;color:inherit;text-decoration:none;white-space:nowrap;overflow:hidden}.sidebar-nav a:hover{background:var(--bg-nav-hover)}.sidebar-nav a.active{background:var(--nav-active);color:var(--nav-active-text)}.sidebar-nav__short{display:none}.sidebar--collapsed{width:47.4px}.sidebar--collapsed .sidebar__title{display:none}.sidebar--collapsed .sidebar__head{padding:var(--space-sm);justify-content:center}.sidebar--collapsed .sidebar__toggle{width:100%;text-align:center;padding:var(--space-sm)}.sidebar--collapsed .sidebar-nav__full{display:none}.sidebar--collapsed .sidebar-nav__short{display:inline}.sidebar--collapsed .sidebar-nav a{padding:0 var(--space-sm)}.sidebar-overlay{display:none;position:fixed;inset:0;z-index:10;background:#0006}@media(max-width:768px){.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:11;width:170px;box-shadow:2px 0 8px #00000026}.sidebar--collapsed{width:170px;transform:translate(-100%)}.sidebar--collapsed .sidebar__title,.sidebar--collapsed .sidebar-nav__short,.sidebar--collapsed .sidebar-nav__full{display:inline}.sidebar--collapsed .sidebar-nav__short{display:none}.sidebar--collapsed .sidebar-nav a{text-align:left;padding:.5rem .75rem}.sidebar-overlay{display:block}.main-inner{margin:0;max-width:none}.app.sidebar-collapsed .main-inner{padding-left:var(--space-lg);padding-right:var(--space-lg);max-width:640px;margin:0 auto}.form-group textarea.json-edit-sm,.form-group textarea.json-edit{font-size:16px}}.modal-backdrop{position:fixed;inset:0;z-index:20;background:#0006}.modal-backdrop .modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;max-height:88vh;width:90%;max-width:720px}.field-origin{font-size:.66em;color:var(--text-muted);font-weight:400}.page{min-height:40vh;width:100%;max-width:100%;padding:0;box-sizing:border-box}.page h2{font-size:1.25rem;margin:0 0 var(--space-sm) 0;font-weight:600}.page-header-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm)}.page-header-row h2{margin:0}.page-header-row .button-row{margin-bottom:0}.page .muted{color:var(--text-muted);font-size:.875rem;margin:0 0 var(--space-sm) 0}.form-group .muted{font-size:.75rem;margin-top:-.2rem;margin-bottom:.35rem}.page .error{color:var(--error);font-size:.9rem;margin:0 0 var(--space-sm) 0}.page .button-row{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-bottom:var(--space-md);align-items:center}.page--narrow{margin:var(--space-xl) auto;width:100%;max-width:100%;box-sizing:border-box}.page--config .form-group input:not([type=checkbox]):not([type=radio]){width:auto}.page--config .form-group input[type=number]{max-width:6rem!important}.page--config .form-group input[type=text]{max-width:24em!important}.page--config .page-section{margin-top:var(--space-md)}.page--config .page-section:first-of-type{margin-top:0}.page--config .page-section h3{margin:0 0 var(--space-sm) 0}.page--config .form-group{margin-bottom:var(--space-sm)}.page--config .form-group .muted{margin-top:var(--space-xs);margin-bottom:0}.page--config .button-row{margin-bottom:0}.form-warning{margin:var(--space-sm) 0 0 0;padding:var(--space-sm) var(--space-md);font-size:.85rem;color:var(--text);background:var(--bg-accordion-head);border:1px solid var(--error);border-radius:var(--radius);max-width:520px}.page--login{display:flex;align-items:center;justify-content:center;min-height:60vh;width:100%;box-sizing:border-box}.page--login .login-card{width:100%;max-width:400px;padding:var(--space-xl);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);box-shadow:0 4px 12px #00000026;box-sizing:border-box}.login-title{margin:0 0 var(--space-sm) 0;font-size:1.35rem;font-weight:600}.login-form{margin-top:var(--space-lg)}.login-form .form-group{margin-bottom:var(--space-md)}.login-submit{margin-top:var(--space-sm);padding:.5rem 1.5rem;min-width:6em}.form-group{margin-bottom:var(--space-md)}.form-group label{display:block;margin-bottom:var(--space-xs);font-size:.9rem}.form-group label.toggle{display:inline-flex;margin-bottom:0}.form-group input:not([type=checkbox]):not([type=radio]),.form-group textarea,.form-group select,.table td input.table-input,.auth-type-select,.json-edit,.json-edit-sm{padding:var(--space-sm);border:1px solid var(--border-input);border-radius:var(--radius);background:var(--bg-input);color:inherit;box-sizing:border-box;font-size:inherit}.form-group input:not([type=checkbox]):not([type=radio]),.form-group textarea{width:100%;max-width:28em}.form-group input::placeholder,.form-group textarea::placeholder{font-size:.8rem;color:var(--text-muted)}.form-group input.input-url,.form-group input[type=url]{min-width:12em;max-width:100%}.form-group select,.auth-type-select{min-height:2.25rem;cursor:pointer;width:auto;min-width:6em;max-width:14em}.form-group textarea{min-height:88px;resize:vertical;font-family:ui-monospace,monospace}.form-group input[type=number]{min-width:6em;max-width:10em}.input-narrow{max-width:6rem!important;width:100%}.input-medium{max-width:18em!important;width:100%}.form-group input[type=checkbox]{margin-right:.35rem;vertical-align:middle}.toggle{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}.toggle__track{display:block;width:2.5em;height:1.4em;border-radius:999px;background:linear-gradient(135deg,var(--border),color-mix(in srgb,var(--border) 60%,#ffffff 40%));flex-shrink:0;position:relative;transition:background .2s ease,box-shadow .2s ease}.toggle__track:after{content:"";position:absolute;left:.15em;top:50%;transform:translateY(-50%);width:1.05em;height:1.05em;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000059;transition:transform .2s ease}.toggle input:checked+.toggle__track{background:linear-gradient(135deg,var(--nav-active),color-mix(in srgb,var(--nav-active) 70%,#ffffff 30%))}.toggle input:checked+.toggle__track:after{transform:translateY(-50%) translate(1.15em)}.toggle input:focus-visible+.toggle__track{outline:2px solid var(--link);outline-offset:2px}.modal .form-group input:not([type=checkbox]):not([type=radio]):not([type=number]){width:100%;max-width:14em!important;min-width:0}.modal .form-group input.input-url,.modal .form-group input[type=url]{max-width:14em!important}.modal .accordion-section .accordion-body .form-group input.input-short{max-width:10em!important}.modal .accordion-section .accordion-body .form-group input.input-wide{max-width:22em!important}.modal .form-group textarea{width:100%;max-width:none;min-width:0}.modal .form-group input[type=number]{width:100%;max-width:8em;min-width:0}.modal .form-group select{width:auto;max-width:10em;min-width:6em}.table{width:max-content;max-width:100%;border-collapse:collapse;margin-top:0;font-size:.9rem}.table-scroll{width:100%;overflow-x:auto}.table-scroll .table{max-width:none}.table th,.table td{border:1px solid var(--border);padding:.35rem .75rem;text-align:left;vertical-align:middle}.table th{background:var(--bg-table-th);font-weight:600;text-align:center}.table th.col-command{min-width:5em}.table th.col-name{min-width:6em}.table th .field-origin{display:block;margin-top:-.1rem}.table th.col-flag{min-width:3.5rem;max-width:4rem}.table td input.table-input{width:100%;min-width:5em}.table td input.table-input--wide{min-width:9em;max-width:14em}.page--groups .table td input.table-input--wide{max-width:12em}.page--schedules .table td:nth-child(1) input.table-input--wide,.page--schedules .table td:nth-child(2) input.table-input--wide{max-width:8em}.page--schedules .table td:nth-child(3) input.table-input--wide{min-width:18em;max-width:28em}.table td:has(>.toggle){text-align:center}.table td .button-group{display:inline-flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap}.table td:has(>.button-group){text-align:center}.auth-params{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.auth-params-query{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap}.auth-params .table-input:not(.table-input--wide){width:7em;min-width:7em;max-width:7em}.auth-params .table-input:first-of-type{width:6em;min-width:6em;max-width:6em}.auth-params .table-input.table-input--wide{min-width:9em;max-width:12em}.page--auth .table td:nth-child(1) input.table-input--wide{max-width:8em}.page--auth .table td:nth-child(3)>input.table-input--wide{min-width:18em;max-width:28em}.page--auth .auth-params .table-input:not(.table-input--wide){width:11em;min-width:11em;max-width:11em}.page--auth .auth-params .table-input:first-of-type{width:10em;min-width:10em;max-width:10em}.modal{margin-top:var(--space-lg);padding:0 var(--space-sm) var(--space-lg);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);max-width:720px;max-height:88vh;overflow-y:auto;box-sizing:border-box}.modal-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin:0 calc(-1 * var(--space-sm)) var(--space-md) calc(-1 * var(--space-sm));padding:4px var(--space-sm) 2px;background:var(--bg-card);border-bottom:1px solid var(--border);border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.modal-header h3,.modal-header .modal-title{margin:0;font-size:1rem;line-height:1.1;transform:translateY(6px)}.modal-close{flex-shrink:0;width:1.25rem;height:1.25rem;padding:0;border:none;border-radius:var(--radius);background:transparent;color:var(--text);font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--bg-nav-hover)}.modal h3{margin:0 0 var(--space-md) 0;font-size:1.1rem}.modal .button-row{margin-top:var(--space-md);margin-bottom:0}.modal-body{margin:0;min-height:0}.modal--auth-json,.modal--raw-json{max-width:720px}.modal-backdrop .modal--confirm{width:320px;max-width:90vw;margin-top:var(--space-md);padding:var(--space-sm) var(--space-md) var(--space-sm);box-sizing:border-box}.modal-backdrop .modal--confirm .modal-header{margin-top:0;margin-bottom:var(--space-sm);padding-top:0;padding-bottom:0}.modal-backdrop .modal--confirm .confirm-dialog-message{min-height:3em;text-align:left}.modal-backdrop .modal--confirm .modal-footer{display:flex;gap:var(--space-sm);justify-content:flex-end;margin-top:var(--space-sm);margin-bottom:0;padding-top:var(--space-sm);padding-bottom:0;border-top:1px solid var(--border)}.modal .json-edit--modal{min-height:180px;max-height:55vh;margin:0;resize:vertical}.accordion-section{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:var(--space-sm);overflow:hidden}.accordion-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-sm);background:var(--bg-accordion-head);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;font-size:.9rem}.accordion-head:hover{background:var(--bg-accordion-head-hover)}.accordion-head:after{content:"";width:.45rem;height:.45rem;border-right:2px solid var(--accordion-arrow);border-bottom:2px solid var(--accordion-arrow);transform:rotate(45deg);margin-left:var(--space-sm);transition:transform .2s}.accordion-section.open .accordion-head:after{transform:rotate(-135deg)}.accordion-body{display:none;padding:var(--space-sm) var(--space-sm) var(--space-md);border-top:1px solid var(--border)}.accordion-section.open .accordion-body{display:block}.json-edit{width:100%;max-width:none;min-height:200px;font-family:ui-monospace,monospace;font-size:.875rem;margin:var(--space-sm) 0;resize:vertical}.json-edit-sm{width:100%;min-height:120px;font-family:ui-monospace,monospace;font-size:.875rem;margin:var(--space-sm) 0;resize:vertical;user-select:text;-webkit-user-select:text;touch-action:manipulation}.json-edit{user-select:text;-webkit-user-select:text;touch-action:manipulation}.page-section{margin-top:var(--space-lg)}.page-section:first-of-type{margin-top:0}.page-section h3{font-size:1rem;margin:0 0 var(--space-sm) 0;font-weight:600}.page-section .muted{margin-bottom:var(--space-sm)}.page-section .table{margin-top:var(--space-xs)}
