:root{color-scheme:dark;--background: #0f1115;--surface: #161a21;--surface-strong: #202632;--border: #2a3140;--text: #e6e9ef;--muted: #8b94a7;--accent: #5b8def;--success: #3fb950;--warning: #d29922;--danger: #f85149;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--text)}h1{font-size:1.5rem;margin:0}.muted{color:var(--muted)}.small{font-size:.8rem}.page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.page-header p{margin:.25rem 0 0}.page-header .actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.section-title{font-size:1rem;margin:1.5rem 0 .75rem}.alert{padding:.75rem 1rem;border-radius:.5rem;background:color-mix(in srgb,var(--danger) 15%,transparent);border:1px solid var(--danger)}.button{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .9rem;border:1px solid var(--accent);border-radius:.5rem;background:var(--accent);color:#fff;font:inherit;text-decoration:none;cursor:pointer}.button:disabled{opacity:.6;cursor:default}.button.secondary{background:transparent;color:var(--text);border-color:var(--border)}.button.danger{background:transparent;color:var(--danger);border-color:var(--danger)}.button.small{padding:.25rem .6rem;font-size:.85rem}.badge{display:inline-block;padding:.1rem .5rem;border-radius:999px;background:var(--surface-strong);font-size:.75rem}.badge.outline{background:transparent;border:1px solid var(--border);color:var(--muted)}.badge.danger{background:var(--danger);color:#fff;margin-left:.4rem}.table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:.75rem;overflow:hidden}.table th,.table td{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.table th{color:var(--muted);font-weight:500;font-size:.85rem}.table tr:last-child td{border-bottom:none}.table .warning-row td{background:color-mix(in srgb,var(--warning) 10%,transparent)}.table .row-actions{text-align:right;white-space:nowrap}.table .row-actions .button+.button{margin-left:.4rem}.form{display:flex;flex-direction:column;gap:1rem;max-width:60rem}.form fieldset{border:1px solid var(--border);border-radius:.75rem;padding:1rem;background:var(--surface)}.form legend{padding:0 .4rem;font-weight:600}.form-actions{display:flex;justify-content:flex-end;gap:.5rem}.grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}.grid .wide{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:.3rem}.field>span{font-size:.85rem;color:var(--muted)}.field.inline{min-width:12rem}.checkbox{display:flex;flex-direction:row;align-items:center;gap:.5rem;cursor:pointer}.action{display:flex;flex-direction:column;gap:.35rem}input,select,textarea{font:inherit;color:var(--text);background:var(--background);border:1px solid var(--border);border-radius:.5rem;padding:.45rem .6rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}input.ng-invalid.ng-touched,select.ng-invalid.ng-touched,textarea.ng-invalid.ng-touched{border-color:var(--danger)}input[type=checkbox]{width:1rem;height:1rem;padding:0}
