:root{--z-c-primary: #0ea5e9;--z-c-primary-h: #0284c7;--z-c-primary-a: rgba(14, 165, 233, .15);--z-c-danger: #dc2626;--z-c-danger-h: #b91c1c;--z-c-danger-a: rgba(220, 38, 38, .12);--z-c-success: #16a34a;--z-c-success-h: #15803d;--z-c-warn: #ea580c;--z-c-warn-h: #c2410c;--z-c-text: #0f172a;--z-c-text-muted: #64748b;--z-c-border: #cbd5e1;--z-c-border-lt: #e2e8f0;--z-c-bg-panel: #ffffff;--z-c-bg-hover: #f1f5f9;--z-radius: 6px;--z-radius-s: 4px;--z-shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--z-shadow: 0 4px 12px rgba(15, 23, 42, .08);--z-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif}body{font-family:var(--z-font);color:var(--z-c-text);background:#f8fafc;margin:0}*{box-sizing:border-box}button{font-family:inherit;font-size:14px;cursor:pointer;border:1px solid transparent;border-radius:var(--z-radius);padding:8px 14px;background:var(--z-c-bg-panel);color:var(--z-c-text);font-weight:500;line-height:1.2;transition:background .12s,border-color .12s,box-shadow .12s,transform .06s;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;vertical-align:middle}button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--z-c-primary-a)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed}button.btn-primary,.btn-primary{background:var(--z-c-primary);color:#fff;border-color:var(--z-c-primary);box-shadow:var(--z-shadow-sm)}button.btn-primary:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:var(--z-c-primary-h);border-color:var(--z-c-primary-h)}button.btn-secondary,.btn-secondary{background:var(--z-c-bg-panel);color:var(--z-c-text);border-color:var(--z-c-border)}button.btn-secondary:hover:not(:disabled),.btn-secondary:hover:not(:disabled){background:var(--z-c-bg-hover);border-color:#94a3b8}button.btn-danger,.btn-danger{background:#fff;color:var(--z-c-danger);border-color:#fecaca}button.btn-danger:hover:not(:disabled),.btn-danger:hover:not(:disabled){background:var(--z-c-danger);color:#fff;border-color:var(--z-c-danger)}button.btn-danger-solid,.btn-danger-solid{background:var(--z-c-danger);color:#fff;border-color:var(--z-c-danger)}button.btn-danger-solid:hover:not(:disabled),.btn-danger-solid:hover:not(:disabled){background:var(--z-c-danger-h);border-color:var(--z-c-danger-h)}button.btn-success,.btn-success{background:var(--z-c-success);color:#fff;border-color:var(--z-c-success)}button.btn-success:hover:not(:disabled),.btn-success:hover:not(:disabled){background:var(--z-c-success-h);border-color:var(--z-c-success-h)}button.btn-link,.btn-link{background:transparent;color:var(--z-c-primary);border-color:transparent;padding:4px 8px;text-decoration:none;box-shadow:none}button.btn-link:hover:not(:disabled),.btn-link:hover:not(:disabled){background:var(--z-c-primary-a);color:var(--z-c-primary-h)}button.btn-icon,.btn-icon{padding:4px 8px;min-width:30px;height:30px;justify-content:center;background:transparent;border-color:transparent;color:var(--z-c-text-muted);font-size:13px;box-shadow:none}button.btn-icon:hover:not(:disabled),.btn-icon:hover:not(:disabled){background:var(--z-c-bg-hover);border-color:var(--z-c-border);color:var(--z-c-text)}button.btn-icon.danger,.btn-icon.danger{color:var(--z-c-text-muted);border-color:transparent}button.btn-icon.danger:hover:not(:disabled),.btn-icon.danger:hover:not(:disabled){background:#fef2f2;color:var(--z-c-danger);border-color:#fca5a5}button.btn-sm,.btn-sm{padding:5px 10px;font-size:12.5px}button.btn-lg,.btn-lg{padding:10px 18px;font-size:15px}.btn-row{display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=url],input[type=tel],input[type=date],input[type=datetime-local],select,textarea{font-family:inherit;font-size:14px;color:var(--z-c-text);background:#fff;padding:8px 12px;border:1px solid var(--z-c-border);border-radius:var(--z-radius);transition:border-color .1s,box-shadow .1s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--z-c-primary);box-shadow:0 0 0 3px var(--z-c-primary-a)}.error-banner{padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:var(--z-radius);display:flex;gap:12px;align-items:center}.error-banner button{margin-left:auto}.empty-state{text-align:center;padding:32px 16px;color:var(--z-c-text-muted);display:flex;flex-direction:column;align-items:center;gap:12px}
