:root{--hall-font:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--hall-text:#111827;--hall-text-muted:#637083;--hall-surface:#fff;--hall-surface-muted:#f8fafc;--hall-border:#dde3ea;--hall-accent:#1e3a5f;--hall-accent-teal:#0d4d4d;--hall-accent-active:#6366f1;--hall-success:#16a34a;--hall-success-bg:#f0fdf4;--hall-success-border:#bbf7d0;--hall-warning:#b45309;--hall-warning-bg:#fffbeb;--hall-danger:#e00012;--hall-danger-bg:#fef2f2;--hall-radius:0;--hall-control-h:36px;--hall-space-1:4px;--hall-space-2:8px;--hall-space-3:12px;--hall-space-4:16px;--hall-font-ui:13px;--hall-font-caption:12px;--hall-canvas-bg:#0f172a;--hall-canvas-grid:rgba(148,163,184,.12);--hall-shadow-sm:0 1px 2px rgba(15,23,42,.06);--hall-shadow-md:0 8px 18px rgba(8,47,73,.12)}.hall-btn-ghost,.hall-btn-primary,.hall-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--hall-space-2);min-height:var(--hall-control-h);padding:0 var(--hall-space-4);border-radius:var(--hall-radius);font-family:var(--hall-font);font-size:var(--hall-font-ui);font-weight:600;line-height:1.2;cursor:pointer;transition:filter .15s ease,box-shadow .15s ease,transform .1s ease,background .15s ease,border-color .15s ease}.hall-btn-primary{border:1px solid rgba(14,165,233,.42);background:linear-gradient(90deg,var(--hall-accent) 0,var(--hall-accent-teal) 100%);color:#fff;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.16),var(--hall-shadow-md)}.hall-btn-primary:hover:not(:disabled){filter:brightness(1.06)}.hall-btn-primary:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px 6px rgba(0,0,0,.22),inset 0 1px 0 hsla(0,0%,100%,.12)}.hall-btn-secondary{border:1px solid var(--hall-border);background:var(--hall-surface-muted);color:var(--hall-text)}.hall-btn-secondary:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.hall-btn-secondary:active:not(:disabled){transform:translateY(1px);background:#e2e8f0}.hall-btn-ghost{border:1px solid transparent;background:transparent;color:var(--hall-accent-active)}.hall-btn-ghost:hover:not(:disabled){background:var(--hall-surface-muted);border-color:var(--hall-border)}.hall-btn-ghost:active:not(:disabled){background:#eef2ff}.hall-btn-ghost:disabled,.hall-btn-primary:disabled,.hall-btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.hall-field{display:grid;gap:var(--hall-space-1)}.hall-label{font-size:var(--hall-font-caption);font-weight:600;color:var(--hall-text-muted);text-transform:uppercase;letter-spacing:.08em}.hall-field input:not([type=checkbox]):not([type=radio]),.hall-field select,.hall-field textarea,.hall-input{width:100%;min-height:var(--hall-control-h);padding:var(--hall-space-2) var(--hall-space-3);border:1px solid var(--hall-border);border-radius:var(--hall-radius);background:var(--hall-surface-muted);color:var(--hall-text);font-size:var(--hall-font-ui)}.hall-field input:focus,.hall-field select:focus,.hall-field textarea:focus,.hall-input:focus{outline:none;border-color:var(--hall-accent-active);box-shadow:0 0 0 2px rgba(99,102,241,.2)}.hall-error{color:var(--hall-danger)}.hall-error,.hall-status-pill{font-size:var(--hall-font-caption)}.hall-status-pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--hall-border);background:var(--hall-surface-muted);padding:4px 10px;font-weight:600;color:var(--hall-text-muted)}.hall-status-pill--ok{border-color:var(--hall-success-border);background:var(--hall-success-bg);color:#166534}.hall-status-pill--warn{border-color:#fde68a;background:var(--hall-warning-bg);color:var(--hall-warning)}.hall-status-pill--error{border-color:#fecaca;background:var(--hall-danger-bg);color:var(--hall-danger)}.hall-skeleton{background:linear-gradient(90deg,#f1f5f9,#e2e8f0 50%,#f1f5f9);background-size:200% 100%;animation:hall-skeleton-shimmer 1.2s ease-in-out infinite;border-radius:var(--hall-radius)}@keyframes hall-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.hall-spinner{width:14px;height:14px;border:2px solid hsla(0,0%,100%,.35);border-top-color:#fff;border-radius:50%;animation:hall-spin .7s linear infinite}.hall-spinner--dark{border-color:rgba(15,23,42,.15);border-top-color:var(--hall-accent)}@keyframes hall-spin{to{transform:rotate(1turn)}}