:root{--ia-brand-primary: #0264cc;--ia-brand-primary-hover: #0151a6;--ia-brand-primary-light: #347ef6;--ia-brand-primary-subtle: rgba(3, 125, 255, .1);--ia-brand-primary-muted: rgba(3, 125, 255, .2);--ia-brand-gradient: linear-gradient(135deg, #0264cc 0%, #0151a6 100%);--ia-brand-accent: #9b51e0;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html.light,:root{color-scheme:light;--ia-bg-page: #f5f7fa;--ia-bg-surface: #ffffff;--ia-bg-surface-hover: #f7fafc;--ia-bg-sidebar: #2b2c2e;--ia-bg-input: #ffffff;--ia-bg-button-secondary: #f5f7fa;--ia-text-primary: #1a1c1d;--ia-text-secondary: #555;--ia-text-muted: #5f6b7a;--ia-link: #0264cc;--ia-focus-ring: #0264cc;--ia-text-on-dark: #ffffff;--ia-text-sidebar: #ecf0f1;--ia-text-sidebar-muted: #95a5a6;--ia-border: #e2e8f0;--ia-border-focus: var(--ia-brand-primary);--ia-border-input: #ddd;--ia-shadow-sm: 0 2px 8px rgba(0, 0, 0, .08);--ia-shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--ia-shadow-lg: 0 10px 40px rgba(0, 0, 0, .1);--ia-success-bg: #d4edda;--ia-success-border: #c3e6cb;--ia-success-text: #155724;--ia-error-bg: #fee2e2;--ia-error-border: #fca5a5;--ia-error-text: #b42318;--ia-warning-bg: #fff3cd;--ia-warning-border: #fcd34d;--ia-warning-text: #856404;--ia-bg-bar-track: rgba(0, 0, 0, .08);--ia-scrollbar-track: #f1f1f1;--ia-scrollbar-thumb: #c1c1c1;--ia-scrollbar-thumb-hover: #999;--ia-spinner-track: #e2e8f0;color:var(--ia-text-primary);background-color:var(--ia-bg-page)}html.dark{color-scheme:dark;--ia-bg-page: #121416;--ia-bg-surface: #1e2024;--ia-bg-surface-hover: #282a2e;--ia-bg-sidebar: #1a1c1d;--ia-bg-input: #1a1c1d;--ia-bg-button-secondary: #2b2c2e;--ia-text-primary: #e2e8f0;--ia-text-secondary: #a0aec0;--ia-text-muted: #9aa5b4;--ia-link: #6cb0ff;--ia-focus-ring: #6cb0ff;--ia-text-on-dark: #ffffff;--ia-text-sidebar: #cbd5e0;--ia-text-sidebar-muted: #718096;--ia-border: #3a3d42;--ia-border-focus: var(--ia-brand-primary);--ia-border-input: #4a4d52;--ia-shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--ia-shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--ia-shadow-lg: 0 10px 40px rgba(0, 0, 0, .5);--ia-success-bg: #1a3a2a;--ia-success-border: #2d6a4f;--ia-success-text: #6ee7b7;--ia-error-bg: #3b1c1c;--ia-error-border: #f87171;--ia-error-text: #fca5a5;--ia-warning-bg: #423a1a;--ia-warning-border: #a08c2e;--ia-warning-text: #fcd34d;--ia-bg-bar-track: rgba(255, 255, 255, .08);--ia-scrollbar-track: #2a2d32;--ia-scrollbar-thumb: #555;--ia-scrollbar-thumb-hover: #777;--ia-spinner-track: #3a3d42;color:var(--ia-text-primary);background-color:var(--ia-bg-page)}@media (prefers-color-scheme: dark){:root:not(.light):not(.dark){--ia-bg-page: #121416;--ia-bg-surface: #1e2024;--ia-bg-surface-hover: #282a2e;--ia-bg-sidebar: #1a1c1d;--ia-bg-input: #1a1c1d;--ia-bg-button-secondary: #2b2c2e;--ia-text-primary: #e2e8f0;--ia-text-secondary: #a0aec0;--ia-text-muted: #9aa5b4;--ia-link: #6cb0ff;--ia-focus-ring: #6cb0ff;--ia-text-sidebar: #cbd5e0;--ia-text-sidebar-muted: #718096;--ia-border: #3a3d42;--ia-border-input: #4a4d52;--ia-shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--ia-shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--ia-shadow-lg: 0 10px 40px rgba(0, 0, 0, .5);--ia-success-bg: #1a3a2a;--ia-success-border: #2d6a4f;--ia-success-text: #6ee7b7;--ia-error-bg: #3b1c1c;--ia-error-border: #f87171;--ia-error-text: #fca5a5;--ia-warning-bg: #423a1a;--ia-warning-border: #a08c2e;--ia-warning-text: #fcd34d;--ia-bg-bar-track: rgba(255, 255, 255, .08);--ia-scrollbar-track: #2a2d32;--ia-scrollbar-thumb: #555;--ia-scrollbar-thumb-hover: #777;--ia-spinner-track: #3a3d42;color:var(--ia-text-primary);background-color:var(--ia-bg-page)}}*{margin:0;padding:0;box-sizing:border-box}#app{width:100%;height:100%}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--ia-bg-button-secondary);color:var(--ia-text-primary);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--ia-brand-primary)}button:focus-visible{outline:2px solid var(--ia-focus-ring);outline-offset:2px}a{color:var(--ia-link)}input,select,textarea{background-color:var(--ia-bg-input);color:var(--ia-text-primary);border:1px solid var(--ia-border-input);font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ia-focus-ring);box-shadow:0 0 0 2px var(--ia-focus-ring)}:root{--ia-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}html.light,:root{--kind-ble: #2a78d6;--kind-telemetry: #1baf7a;--kind-location: #4a3aa7;--kind-ap: #eb6834;--kind-other: #eda100;--kind-keepalive: #6f6e69;--kind-api: #e87ba4}html.dark{--kind-ble: #3987e5;--kind-telemetry: #199e70;--kind-location: #9085e9;--kind-ap: #d95926;--kind-other: #c98500;--kind-keepalive: #9c9b93;--kind-api: #d55181}@media (prefers-color-scheme: dark){:root:not(.light):not(.dark){--kind-ble: #3987e5;--kind-telemetry: #199e70;--kind-location: #9085e9;--kind-ap: #d95926;--kind-other: #c98500;--kind-keepalive: #9c9b93;--kind-api: #d55181}}html,body{width:100%;height:100%;overflow:hidden}.page{height:100%;overflow:auto;padding:1.25rem 1.5rem 2rem}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.page-header h1,.page h1{font-size:1.4rem;margin:0}.page h2{font-size:1.1rem;margin:1.25rem 0 .5rem}.card{background:var(--ia-bg-surface);border:1px solid var(--ia-border);border-radius:10px;padding:1rem 1.2rem;margin-bottom:1rem;box-shadow:var(--ia-shadow-sm)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));gap:.75rem;margin-bottom:1rem}.tile{background:var(--ia-bg-surface);border:1px solid var(--ia-border);border-radius:10px;padding:.8rem 1rem}.tile .value{font-size:1.6rem;font-weight:700;overflow-wrap:anywhere}.tile .value.long{font-size:1.15rem}.tile .label{color:var(--ia-text-secondary);font-size:.85rem}.toolbar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-bottom:.75rem}.btn-primary,.btn-secondary,.btn-danger,.btn-link{padding:.45rem .9rem;border-radius:6px;font-size:.9rem}.btn-primary{background:var(--ia-brand-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--ia-brand-primary-hover)}.btn-secondary{background:var(--ia-bg-button-secondary);border-color:var(--ia-border)}.btn-danger{background:#c53030;color:#fff}.btn-link{background:none;border:none;color:var(--ia-link);padding:.2rem .4rem}button:disabled{opacity:.55;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.7rem;font-size:.9rem}.field>span{color:var(--ia-text-secondary)}.field input,.field select,.field textarea{padding:.45rem .6rem;border-radius:6px;font-size:.95rem}.field .hint{color:var(--ia-text-muted);font-size:.8rem}.field .invalid{color:var(--ia-error-text);font-size:.8rem}.check{display:flex;gap:.5rem;align-items:center;margin-bottom:.6rem;font-size:.9rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:0 1rem}.data-table{width:100%;border-collapse:collapse;font-size:.88rem}.data-table th,.data-table td{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--ia-border);vertical-align:top}.data-table th{color:var(--ia-text-secondary);font-weight:600;white-space:nowrap}.data-table tr:hover td{background:var(--ia-bg-surface-hover)}.table-wrap{overflow-x:auto}.table-wrap:focus-visible{outline:2px solid var(--ia-focus-ring);outline-offset:2px}.muted{color:var(--ia-text-muted)}.mono{font-family:var(--ia-font-mono);font-size:.85em}a:focus-visible,.btn-link:focus-visible{outline:2px solid var(--ia-focus-ring);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media (max-width: 760px){.page{padding:.75rem}.page-header{margin-bottom:.75rem}.page-header h1,.page h1{font-size:1.25rem}.page h2{margin-top:1rem}.card{padding:.75rem .85rem;margin-bottom:.75rem}.card>h2:first-child{margin-top:0}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:.75rem}.tile{padding:.55rem .7rem}.tile .value{font-size:1.3rem}.tile .value.long{font-size:1rem}.data-table th,.data-table td{padding:.35rem .45rem}.data-table td{white-space:nowrap}.data-table td.wrap{white-space:normal;min-width:14rem}}
