:root{--clr-brand: #0c0d36;--clr-brand-light: #1e2060;--clr-brand-glow: #0c0d3633;--clr-brand-glow-sm: #0c0d3622;--clr-bg: #f5f5f7}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;color:#1a1a1a;background:var(--clr-bg);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}:root{--ui-surface: #fff;--ui-surface-subtle: #fafafa;--ui-border: #d0d0d8;--ui-border-subtle: #e0e0e8;--ui-text: #1a1a1a;--ui-text-muted: #666;--ui-success: #059669;--ui-error: #dc2626;--ui-warning: #92400e;--ui-info: #2563eb;--ui-radius-sm: 4px;--ui-radius-md: 6px;--ui-radius-lg: 8px}.ui-card{display:flex;flex-direction:column;gap:.75rem;background:var(--ui-surface);border:1px solid var(--ui-border-subtle);border-radius:var(--ui-radius-lg)}.ui-card--pad-none{padding:0}.ui-card--pad-sm{padding:.75rem 1rem}.ui-card--pad-md{padding:1rem 1.25rem}.ui-card--pad-lg{padding:1.5rem}.ui-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.ui-field__label{color:#444;font-size:.8rem;font-weight:600}.ui-field__required{color:var(--ui-error)}.ui-field__hint,.ui-field__error{margin:0;font-size:.75rem;line-height:1.4}.ui-field__hint{color:#999}.ui-field__error{color:var(--ui-error)}.ui-field--invalid .ui-control{border-color:var(--ui-error)}.ui-control{display:block;width:100%;min-height:2.25rem;padding:.4rem .6rem;color:var(--ui-text);font:inherit;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-radius-md)}textarea.ui-control{min-height:6rem;resize:vertical}.ui-control:focus-visible,.ui-upload-zone--interactive:focus-visible,.ui-button:focus-visible{outline:none;border-color:var(--clr-brand);box-shadow:0 0 0 2px var(--clr-brand-glow)}:where(button,a[href],input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--clr-brand);outline-offset:2px;box-shadow:0 0 0 3px var(--clr-brand-glow)}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid transparent;border-radius:var(--ui-radius-md);font-family:inherit;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s,opacity .12s}.ui-button--sm{min-height:1.8rem;padding:.25rem .65rem;font-size:.75rem}.ui-button--md{min-height:2.25rem;padding:.45rem 1.2rem;font-size:.82rem}.ui-button--primary{color:#fff;background:var(--clr-brand);border-color:var(--clr-brand)}.ui-button--primary:hover:not(:disabled){background:var(--clr-brand-light)}.ui-button--secondary{color:#555;background:var(--ui-surface);border-color:#ccc}.ui-button--secondary:hover:not(:disabled){color:var(--clr-brand);border-color:var(--clr-brand)}.ui-button--danger{color:var(--ui-error);background:var(--ui-surface);border-color:#fca5a5}.ui-button--danger:hover:not(:disabled){color:#fff;background:var(--ui-error);border-color:var(--ui-error)}.ui-button:disabled{cursor:not-allowed;opacity:.4}.ui-upload-zone{padding:1.5rem 1rem;text-align:center;background:var(--ui-surface-subtle);border:2px dashed var(--ui-border);border-radius:var(--ui-radius-lg);transition:border-color .15s,background .15s}.ui-upload-zone--interactive{cursor:pointer}.ui-upload-zone--interactive:hover,.ui-upload-zone--active{background:var(--clr-bg);border-color:var(--clr-brand)}.ui-notice{margin:0;padding:.4rem .6rem;border:1px solid transparent;border-radius:var(--ui-radius-sm);font-size:.78rem;line-height:1.4}.ui-notice--success{color:#065f46;background:#ecfdf5;border-color:#6ee7b7}.ui-notice--error{color:#991b1b;background:#fef2f2;border-color:#fca5a5}.ui-notice--warning{color:var(--ui-warning);background:#fffbeb;border-color:#fcd34d}.ui-notice--info{color:#1e40af;background:#eff6ff;border-color:#93c5fd}.ui-table-shell{overflow-x:auto;border:1px solid var(--ui-border-subtle);border-radius:var(--ui-radius-md)}.ui-table{width:100%;border-collapse:collapse;font-size:.8rem}.ui-table th{padding:.35rem .6rem;color:#555;font-size:.7rem;font-weight:700;text-align:left;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:#f4f4f8;border-bottom:1px solid var(--ui-border-subtle)}.ui-table td{padding:.35rem .6rem;color:#333;border-bottom:1px solid #f0f0f4}.ui-table tbody tr:last-child td{border-bottom:0}.ui-table--numeric th,.ui-table--numeric td{text-align:right;font-variant-numeric:tabular-nums}.ui-summary-pills{display:flex;flex-wrap:wrap;gap:.75rem}.ui-summary-pill{flex:1;min-width:110px;padding:.6rem .9rem;text-align:center;border:1px solid transparent;border-radius:var(--ui-radius-lg)}.ui-summary-pill__value{color:var(--clr-brand);font-size:1.4rem;font-weight:700}.ui-summary-pill__label{margin-top:.15rem;color:var(--ui-text-muted);font-size:.7rem}.ui-summary-pill--neutral{background:#f4f4f8;border-color:var(--ui-border-subtle)}.ui-summary-pill--success{background:#ecfdf5;border-color:#6ee7b7}.ui-summary-pill--error{background:#fff1f0;border-color:#fca5a5}.ui-summary-pill--warning{background:#fffbeb;border-color:#fcd34d}.ui-summary-pill--info{background:#eff6ff;border-color:#93c5fd}.app-shell[data-v-8742bd1c]{display:flex;min-height:100vh;font-family:system-ui,-apple-system,sans-serif}.sidebar[data-v-8742bd1c]{width:220px;flex-shrink:0;background:var(--clr-brand);color:#e0e0e0;display:flex;flex-direction:column}.sidebar-header[data-v-8742bd1c]{padding:1.25rem 1rem;border-bottom:1px solid var(--clr-brand-light)}.config-error[data-v-8742bd1c]{display:grid;gap:.5rem;margin:.75rem;padding:.65rem;background:#7f1d1d;border:1px solid #fca5a5;border-radius:6px;color:#fee2e2;font-size:.75rem;line-height:1.35}.config-error button[data-v-8742bd1c]{justify-self:start;padding:.25rem .5rem;border:1px solid #fecaca;border-radius:4px;background:transparent;color:#fff;font:inherit;cursor:pointer}.config-error button[data-v-8742bd1c]:hover{background:#991b1b}.logo[data-v-8742bd1c]{font-size:1.1rem;font-weight:700;letter-spacing:.05em;color:#fff}nav[data-v-8742bd1c]{padding:.5rem 0;flex:1;overflow-y:auto}.nav-group[data-v-8742bd1c]{margin:0}.nav-group-toggle[data-v-8742bd1c]{display:flex;align-items:center;gap:.4rem;width:100%;padding:.55rem 1rem;background:none;border:none;color:#a0a0b8;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:color .15s}.nav-group-toggle[data-v-8742bd1c]:hover{color:#d0d0e8}.nav-group-toggle[data-v-8742bd1c]:focus-visible,.nav-item[data-v-8742bd1c]:focus-visible{position:relative;z-index:1}.nav-group--expanded .nav-group-toggle[data-v-8742bd1c]{color:#c0c0d8}.nav-group-chevron[data-v-8742bd1c]{font-size:.6rem;transition:transform .2s;flex-shrink:0}.nav-group--expanded .nav-group-chevron[data-v-8742bd1c]{transform:rotate(90deg)}.nav-group-label[data-v-8742bd1c]{white-space:nowrap}.nav-group-children[data-v-8742bd1c]{overflow:hidden;padding-bottom:.25rem}.nav-item[data-v-8742bd1c]{display:flex;align-items:center;gap:.6rem;padding:.5rem 1rem .5rem 1.5rem;text-decoration:none;color:#c0c0d0;font-size:.85rem;transition:background .15s,color .15s;cursor:pointer}.nav-item[data-v-8742bd1c]:hover{background:var(--clr-brand-light);color:#fff}.nav-item--active[data-v-8742bd1c]{background:var(--clr-brand-light);color:#fff;font-weight:600}.nav-label[data-v-8742bd1c]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-divider[data-v-8742bd1c]{margin:.75rem 1rem .25rem;border-top:1px solid var(--clr-brand-light)}.nav-item--admin[data-v-8742bd1c]{font-size:.8rem;color:#888;margin-top:auto;padding-left:1rem}.nav-item--offline[data-v-8742bd1c]{font-size:.8rem;color:#888;border-top:1px solid var(--clr-brand-light);margin-top:.25rem;padding-top:.6rem;padding-left:1rem}.nav-item--offline[data-v-8742bd1c]:hover{color:#cce}.main-content[data-v-8742bd1c]{flex:1;background:var(--clr-bg);overflow-y:auto}
