:root{--color-primary:#0b6e8a;--color-primary-contrast:#fff;--color-background:#f7fafb;--color-text:#14232b;--color-primary-soft:color-mix(in srgb, var(--color-primary) 10%, white);--color-surface:#fff;--color-border:#d5dee2;--color-text-muted:#4a5b63;--color-success:#166534;--color-success-soft:#e3f4ea;--color-warning:#8a4b00;--color-warning-soft:#fdf1dc;--color-danger:#b42318;--color-danger-soft:#fdecea;--color-focus:#2563eb;--font-family:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:1.875rem;--font-weight-regular:400;--font-weight-semibold:600;--font-weight-bold:700;--line-height:1.5;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-pill:999px;--shadow-sm:0 1px 2px #14232b14;--shadow-md:0 4px 16px #14232b1a;--touch-target:44px;--content-max-width:32rem}.ui-focusable:focus-visible,.ui-button:focus-visible,.ui-input:focus-visible,.ui-switch:focus-visible,.ui-tabs__trigger:focus-visible,.ui-checkbox:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.ui-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font:inherit;font-weight:var(--font-weight-semibold);cursor:pointer;border:1px solid #0000;text-decoration:none;display:inline-flex}.ui-button[disabled]{opacity:.55;cursor:not-allowed}.ui-button--block{width:100%}.ui-button--lg{min-height:56px;font-size:var(--font-size-lg)}.ui-button--primary{background:var(--color-primary);color:var(--color-primary-contrast)}.ui-button--secondary{background:var(--color-surface);border-color:var(--color-primary);color:var(--color-primary)}.ui-button--ghost{color:var(--color-primary);background:0 0}.ui-button--danger{background:var(--color-danger);color:#fff}.ui-field{gap:var(--space-1);display:grid}.ui-field__label{font-weight:var(--font-weight-semibold)}.ui-field__hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.ui-field__error{font-size:var(--font-size-sm);color:var(--color-danger)}.ui-input{min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font:inherit}.ui-input[aria-invalid=true]{border-color:var(--color-danger)}.ui-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm)}.ui-card--interactive{color:inherit;text-decoration:none;display:block}.ui-card--interactive:hover{border-color:var(--color-primary)}.ui-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);align-self:flex-start;align-items:center;display:inline-flex}.ui-badge--neutral{background:var(--color-primary-soft);color:var(--color-primary)}.ui-badge--success{background:var(--color-success-soft);color:var(--color-success)}.ui-badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.ui-badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.ui-stack{flex-direction:column;display:flex}.ui-screen{min-height:100dvh;max-width:var(--content-max-width);background:var(--color-background);flex-direction:column;margin:0 auto;display:flex}.ui-screen__header{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex}.ui-screen__title{font-size:var(--font-size-lg);margin:0}.ui-screen__content{padding:var(--space-5) var(--space-4);flex:1}.ui-screen__footer{padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--color-surface);border-top:1px solid var(--color-border);position:sticky;bottom:0}.ui-switch{border-radius:var(--radius-pill);background:var(--color-border);cursor:pointer;border:none;width:56px;height:32px;padding:0;position:relative}.ui-switch[data-state=checked]{background:var(--color-success)}.ui-switch__thumb{width:26px;height:26px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:transform .15s;display:block;transform:translate(3px)}.ui-switch[data-state=checked] .ui-switch__thumb{transform:translate(27px)}.ui-checkbox-row{gap:var(--space-3);align-items:flex-start;display:flex}.ui-checkbox{border:2px solid var(--color-primary);border-radius:var(--radius-sm);background:var(--color-surface);width:24px;height:24px;color:var(--color-primary-contrast);cursor:pointer;flex:none;margin-top:2px}.ui-checkbox[data-state=checked]{background:var(--color-primary)}.ui-tabs__list{gap:var(--space-2);border-bottom:1px solid var(--color-border);display:flex}.ui-tabs__trigger{min-height:var(--touch-target);padding:0 var(--space-4);color:var(--color-text-muted);font:inherit;font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000}.ui-tabs__trigger[data-state=active]{border-bottom-color:var(--color-primary);color:var(--color-primary)}.ui-tabs__content{padding-top:var(--space-4)}.ui-dialog__overlay{background:#14232b80;position:fixed;inset:0}.ui-dialog__content{width:min(92vw,28rem);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-md);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.ui-dialog__title{font-size:var(--font-size-lg);margin-top:0}.ui-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}*,:before,:after{box-sizing:border-box}a{color:var(--color-primary)}progress{accent-color:var(--color-primary)}body{min-height:100dvh;color:var(--color-text);background:var(--color-background);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}.skip-link{position:absolute;left:-9999px}.skip-link:focus{background:var(--color-primary);color:var(--color-primary-contrast);padding:.5rem 1rem;top:1rem;left:1rem}.home{text-align:center;max-width:32rem;margin:0 auto;padding:3rem 1.25rem}.home h1{color:var(--color-primary);font-size:1.75rem;line-height:1.2}.status{border-radius:999px;padding:.5rem 1rem;font-weight:600;display:inline-block}.status--online{color:#14532d;background:#e3f4ea}.status--offline{color:#7f1d1d;background:#fdecea}
