.ops-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--ops-font-ui);font-weight:600;font-size:14px;border-radius:var(--ops-radius-md);cursor:pointer;border:1px solid transparent;transition:all var(--ops-dur-fast) var(--ops-ease);white-space:nowrap}
.ops-btn:focus-visible{outline:0;box-shadow:0 0 0 3px var(--ops-accent-ring)}
.ops-btn:disabled{color:var(--ops-text-disabled);cursor:not-allowed;background:var(--ops-surface-2);border-color:var(--ops-border-1);background-image:none}
.ops-btn-sm{height:36px;padding:0 14px}.ops-btn-md{height:44px;padding:0 18px}.ops-btn-lg{height:52px;padding:0 24px;font-size:15px}
.ops-btn-primary{background:var(--ops-accent-gradient);color:var(--ops-text-inverse)}.ops-btn-primary:hover:not(:disabled){filter:brightness(1.08);box-shadow:var(--ops-glow-primary)}
.ops-btn-secondary{background:var(--ops-surface-2);border-color:var(--ops-border-1);color:var(--ops-text-2)}.ops-btn-secondary:hover:not(:disabled){border-color:var(--ops-border-2);color:var(--ops-text-1)}
.ops-btn-ghost{background:transparent;border-color:var(--ops-border-1);color:var(--ops-text-3)}.ops-btn-ghost:hover:not(:disabled){border-color:var(--ops-border-2);color:var(--ops-text-1)}
.ops-btn-danger{background:rgba(244,63,94,.15);border-color:rgba(244,63,94,.25);color:var(--ops-danger)}.ops-btn-danger:hover:not(:disabled){background:rgba(244,63,94,.25)}
.ops-badge{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--ops-radius-pill);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.ops-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex:none}
.ops-dot-live{animation:ops-pulse 1.5s infinite}
.ops-method{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:22px;padding:0 8px;border-radius:var(--ops-radius-sm);font-family:var(--ops-font-mono);font-size:11px;font-weight:600;letter-spacing:.04em}
.ops-field{display:flex;flex-direction:column;gap:8px;font-family:var(--ops-font-ui)}
.ops-label{font-size:13px;font-weight:600;color:var(--ops-text-2)}
.ops-input{height:44px;width:100%;box-sizing:border-box;padding:0 14px;background:var(--ops-surface-2);border:1px solid var(--ops-border-1);border-radius:var(--ops-radius-md);color:var(--ops-text-1);font-family:var(--ops-font-ui);font-size:14px;transition:all var(--ops-dur-base) var(--ops-ease);appearance:none}
.ops-input::placeholder{color:var(--ops-text-3)}.ops-input:hover{border-color:var(--ops-border-2)}
.ops-input:focus{outline:0;border-color:var(--ops-accent);box-shadow:0 0 0 3px var(--ops-accent-ring)}
.ops-input.is-mono{font-family:var(--ops-font-mono)}.ops-input.is-error{border-color:var(--ops-danger)}.ops-input:disabled{color:var(--ops-text-disabled)}
.ops-error{font-size:12px;color:var(--ops-danger)}
.ops-select-wrap{position:relative}.ops-select-wrap:after{content:"";position:absolute;right:16px;top:50%;width:6px;height:6px;border:solid var(--ops-text-3);border-width:0 1.5px 1.5px 0;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.ops-table{width:100%;border-collapse:separate;border-spacing:0;font-family:var(--ops-font-ui);font-size:15px;color:var(--ops-text-1)}
.ops-table th{height:48px;padding:0 16px;background:var(--ops-surface-2);text-align:left;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--ops-text-2);border-bottom:1px solid var(--ops-border-1)}
.ops-table td{height:48px;padding:0 16px;border-bottom:1px solid var(--ops-border-1);box-shadow:inset 0 0 0 0 var(--ops-accent);transition:background var(--ops-dur-fast) var(--ops-ease)}
.ops-table tbody tr:hover td{background:var(--ops-surface-3)}
.ops-table tbody tr.is-selected td{background:var(--ops-row-selected)}.ops-table tbody tr.is-selected td:first-child{box-shadow:inset 3px 0 0 var(--ops-accent)}
.ops-table .num{text-align:right}
.ops-mono-cell{font-family:var(--ops-font-mono);font-size:13px;color:var(--ops-text-2)}
.ops-rail{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--ops-surface-2);border:1px solid var(--ops-border-2);border-radius:var(--ops-radius-lg);box-shadow:var(--ops-shadow-lg);font-family:var(--ops-font-ui);color:var(--ops-text-1)}
.ops-rail-count{font-weight:600;font-size:14px;white-space:nowrap}
.ops-rail-sep{width:1px;align-self:stretch;background:var(--ops-border-1)}
.ops-card{background:var(--ops-surface-1);border:1px solid var(--ops-border-1);border-radius:var(--ops-radius-lg);padding:24px;box-shadow:var(--ops-shadow-sm);transition:all var(--ops-dur-base) var(--ops-ease)}
.ops-card:hover{border-color:var(--ops-border-2);transform:translateY(-2px);box-shadow:var(--ops-shadow-md)}
