:root{color-scheme:light;--bg-app: #f5f7fa;--bg-surface: #ffffff;--bg-sidebar: #29313b;--bg-sidebar-hover: #343d49;--bg-sidebar-active: #4679cc;--border: #e0e4e8;--border-strong: #c8ced6;--text: #2b3035;--text-muted: #6c757d;--accent: #4679cc;--accent-hover: #3a66ad;--success: #1dc9b7;--warning: #ffc241;--danger: #fd3995;--radius: 4px;--shadow: 0 1px 3px rgb(0 0 0 / .08);--font: "Segoe UI", system-ui, -apple-system, sans-serif;--sidebar-width: 240px}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);background:var(--bg-app);color:var(--text);line-height:1.5;font-size:14px}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}.text-muted{color:var(--text-muted)}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh}.sidebar{background:var(--bg-sidebar);display:flex;flex-direction:column;padding:0;color:#adb5bd}.sidebar__brand{padding:1.25rem 1rem;border-bottom:1px solid rgb(255 255 255 / .08)}.sidebar__brand h1{font-size:.95rem;font-weight:700;margin:0 0 .15rem;letter-spacing:.02em;color:#fff}.sidebar__brand p{margin:0;font-size:.7rem;color:#868e96;text-transform:uppercase;letter-spacing:.06em}.sidebar__nav{list-style:none;margin:.75rem 0 0;padding:0 .5rem;flex:1}.sidebar__nav>li{margin-bottom:.15rem}.sidebar__group{margin-bottom:.5rem}.sidebar__group-label{display:block;padding:.5rem .85rem .35rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#868e96}.sidebar__group-label--active{color:#dee2e6}.sidebar__group-items{list-style:none;margin:0;padding:0}.sidebar__group-items li{margin-bottom:.1rem}.sidebar__link--nested{padding-left:1.35rem;font-size:.82rem}.sidebar__link{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .85rem;border-radius:var(--radius);color:#ced4da;text-decoration:none;font-size:.875rem}.sidebar__link:hover{background:var(--bg-sidebar-hover);color:#fff;text-decoration:none}.sidebar__link--active{background:var(--bg-sidebar-active);color:#fff;font-weight:600}.sidebar__link--disabled{opacity:.45;pointer-events:none}.badge{font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;padding:.12rem .35rem;border-radius:3px;background:#ffffff1f;color:#dee2e6}.main{display:flex;flex-direction:column;min-width:0}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:var(--bg-surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow)}.page-header__title{margin:0;font-size:1.35rem;font-weight:600;color:var(--text)}.page-header__subtitle{margin:.25rem 0 0;color:var(--text-muted);font-size:.85rem}.page-header__actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.operator-chip{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.operator-chip__email{color:var(--text-muted);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge--admin{background:var(--accent);color:#fff;font-size:.7rem;padding:.1rem .4rem;border-radius:3px}.auth-gate{max-width:480px;margin:2rem auto;text-align:center}.alert--info{background:#e8f4fd;border:1px solid #b8daff;color:#0c5460;padding:.75rem 1rem;border-radius:var(--radius);margin-bottom:1rem}.instance-badge{flex-shrink:0;display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.8rem;background:#e8f0fe;border:1px solid #c5d7f5;border-radius:999px;color:#2c5282}.instance-badge__label{color:var(--text-muted);font-weight:500}.instance-badge__target{color:var(--text-muted);font-size:.75rem}.instance-badge--production{background:#fde8ef;border-color:#f5b8cc;color:#b91c4a}.instance-badge--production .instance-badge__label,.instance-badge--production .instance-badge__target{color:#9d174d}.main__content{padding:1.5rem;flex:1}.panel,.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);margin-bottom:1rem}.panel--compact{padding:.85rem 1.25rem}.panel--danger{border-color:#fd399559}.panel__title{margin:0 0 1rem;font-size:1rem;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius);border:1px solid transparent;font-weight:600;font-size:.85rem;text-decoration:none;line-height:1.4}.btn--primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff;text-decoration:none}.btn--secondary{background:#fff;border-color:var(--border-strong);color:var(--text)}.btn--secondary:hover{background:#f8f9fa;text-decoration:none}.btn--danger{background:#fff;border-color:var(--danger);color:var(--danger)}.btn--danger:hover{background:#fff0f6}.btn--small{padding:.3rem .6rem;font-size:.78rem}.form-grid{display:grid;gap:1rem}@media(min-width:720px){.form-grid--2{grid-template-columns:1fr 1fr}}.field label{display:block;font-size:.8rem;font-weight:600;margin-bottom:.35rem;color:var(--text)}.field input,.field select,.field textarea{width:100%;padding:.5rem .65rem;border-radius:var(--radius);border:1px solid var(--border-strong);background:#fff;color:var(--text)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #4679cc33}.field--full{grid-column:1 / -1}.checkbox-row{display:flex;align-items:center;gap:.5rem;font-weight:500;cursor:pointer}.checkbox-row input{width:auto}.page-tabs{display:flex;gap:0;margin-bottom:1rem;border-bottom:1px solid var(--border)}.page-tabs__tab{margin:0;padding:.6rem 1rem;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-muted);font-weight:500;border-radius:0}.page-tabs__tab:hover{color:var(--text);background:#00000008}.page-tabs__tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.page-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.page-toolbar__right{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.search-input{min-width:220px;padding:.5rem .75rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:#fff}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #4679cc33}.table-wrap{overflow-x:auto}.data-table,.table{width:100%;border-collapse:collapse;font-size:.85rem}.data-table th,.data-table td,.table th,.table td{text-align:left;padding:.65rem .85rem;border-bottom:1px solid var(--border);vertical-align:middle}.data-table thead th,.table th{background:#f8f9fa;color:var(--text-muted);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.data-table tbody tr:hover{background:#f8fafc}.th-sort{background:none;border:none;padding:0;font:inherit;color:inherit;font-weight:600;cursor:pointer;text-transform:uppercase;letter-spacing:.03em}.th-sort:hover{color:var(--accent)}.data-table__actions{text-align:right;white-space:nowrap}.source-chips{display:flex;flex-wrap:wrap;gap:.35rem}.source-chips--editable{margin-bottom:.5rem}.source-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .55rem;font-size:.75rem;font-weight:500;background:#e8f0fe;border:1px solid #c5d7f5;border-radius:999px;color:#2c5282;max-width:100%}.source-chip--removable{cursor:pointer;border:1px solid #a8c4f0}.source-chip--removable:hover{background:#d4e4fc}.source-chip span[aria-hidden]{margin-left:.15rem;font-size:1rem;line-height:1;opacity:.7}.source-picker{position:relative}.source-picker__input-row input{width:100%}.source-picker__suggestions{position:absolute;z-index:20;left:0;right:0;top:100%;margin:.25rem 0 0;padding:0;list-style:none;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 12px #0000001f;max-height:240px;overflow-y:auto}.source-picker__option{display:block;width:100%;text-align:left;padding:.5rem .75rem;border:none;background:none;color:var(--text);font-size:.85rem}.source-picker__option:hover{background:#f0f4ff}.alert{padding:.75rem 1rem;border-radius:var(--radius);font-size:.85rem;margin-bottom:1rem}.alert--error{background:#fff0f6;border:1px solid rgb(253 57 149 / .4);color:#9d174d}.alert--success{background:#e6faf8;border:1px solid var(--success);color:#0d6e63}.status-pill{display:inline-block;padding:.2rem .5rem;border-radius:999px;font-size:.75rem;background:#f1f3f5;border:1px solid var(--border)}.empty-state{text-align:center;padding:2.5rem 1rem;color:var(--text-muted)}.empty-state h3{color:var(--text);margin:0 0 .5rem}.code-inline{font-size:.8rem;background:#f1f3f5;padding:.15rem .35rem;border-radius:3px;border:1px solid var(--border)}.code-block{margin:0;padding:1rem;background:#f8f9fa;border:1px solid var(--border);border-radius:var(--radius);font-size:.8rem;overflow:auto;white-space:pre-wrap;word-break:break-word}.code-block--tall{max-height:240px}.section-label{margin:1rem 0 .5rem;font-size:.85rem;font-weight:600;color:var(--text-muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:100}.modal{max-width:720px;width:100%;max-height:90vh;overflow:auto}.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}.workflow-group{margin-top:1.5rem}.workflow-group__header{margin-bottom:1rem}.workflow-group__title{margin:0 0 .35rem;font-size:1.15rem;font-weight:600}.workflow-group__subtitle{margin:0;font-size:.9rem;color:var(--text-muted)}.workflow-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.workflow-step__title{margin:0 0 .75rem;font-size:1rem}.workflow-step__hint,.workflow-step__summary,.workflow-step__muted{margin:0 0 .75rem;font-size:.9rem;color:var(--text-muted)}.workflow-step--active{border-color:var(--accent, #3b82f6);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent, #3b82f6) 35%,transparent)}.workflow-step--done{border-color:color-mix(in srgb,var(--success, #16a34a) 50%,var(--border))}.duration-input{display:inline-flex;flex-wrap:wrap;gap:.5rem;align-items:stretch}.duration-input__field{display:flex;flex-direction:column;min-width:4.5rem}.duration-input__field input{width:100%;padding:.5rem .65rem;border:1px solid var(--border-strong);border-radius:var(--radius) var(--radius) 0 0;border-bottom:none;background:#fff;text-align:center;font-variant-numeric:tabular-nums}.duration-input__field label{display:block;padding:.2rem .35rem;text-align:center;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);background:#f1f3f5;border:1px solid var(--border-strong);border-radius:0 0 var(--radius) var(--radius)}.duration-input__field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #4679cc33}.duration-input__hint{margin:.5rem 0 0;font-size:.8rem}.pull-feed-url-node__card{margin-bottom:.5rem}.pull-feed-url-node__card--override{border-left:3px solid var(--accent)}.pull-feed-url-node__header{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:flex-start}.pull-feed-url-node__title{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;min-width:0}.pull-feed-url-node__interval{font-size:.85rem}.pull-feed-url-node__actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.pull-feed-url-node__url-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.35rem}.pull-feed-url-node__url{flex:1 1 12rem;min-width:0;font-size:.75rem;word-break:break-all}.pull-feed-url-node__open-link{flex-shrink:0;text-decoration:none}.pull-feed-url-node__open-link:hover{text-decoration:none}.pull-feed-url-node__override-form{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.pull-feed-url-node__override-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.status-pill{display:inline-block;padding:.1rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-pill--active{background:#e6fcf5;color:#0ca678}.status-pill--suspended{background:#fff0f6;color:#d6336c}.status-pill--parentsuspended{background:#f1f3f5;color:var(--text-muted)}.module-grid,.module-card,.subnav{display:none}
