.zu,.zu *,.zu :before,.zu :after{box-sizing:border-box}.zu{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.btn{justify-content:center;align-items:center;gap:var(--space-3);height:var(--control-height-md);padding:0 var(--space-6);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text);background:var(--color-surface);border:var(--border);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);line-height:1;text-decoration:none;display:inline-flex}.btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.btn:active{background:var(--color-surface-active)}.btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:1px}.btn:disabled{color:var(--color-text-disabled);background:var(--color-surface);border-color:var(--color-border-subtle);cursor:not-allowed}.btn--primary{color:var(--color-accent-text);background:var(--color-accent);border-color:var(--color-accent)}.btn--primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn--primary:active{background:var(--color-accent-active);border-color:var(--color-accent-active)}.btn--primary:disabled{background:var(--color-gray-400,var(--gray-400));color:var(--color-text-inverse);opacity:.6;border-color:#0000}.btn--ghost{background:0 0;border-color:#0000}.btn--ghost:hover{background:var(--color-surface-hover);border-color:#0000}.btn--danger{color:var(--color-text-inverse);background:var(--color-danger);border-color:var(--color-danger)}.btn--danger:hover{background:var(--red-700);border-color:var(--red-700)}.btn--sm{height:var(--control-height-sm);padding:0 var(--space-5);font-size:var(--text-sm)}.btn--lg{height:var(--control-height-lg);padding:0 var(--space-8);font-size:var(--text-md)}.btn--icon{width:var(--control-height-md);padding:0}.btn--icon.btn--sm{width:var(--control-height-sm)}.field-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-3);display:block}.input,.select,.textarea{width:100%;height:var(--control-height-md);padding:0 var(--space-6);font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);border:var(--border);border-radius:var(--radius-md);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.textarea{height:auto;padding:var(--space-5) var(--space-6);line-height:var(--leading-normal);resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--color-text-muted)}.input:hover,.select:hover,.textarea:hover{border-color:var(--color-border-strong)}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.input:disabled,.select:disabled,.textarea:disabled{background:var(--color-surface-sunken);color:var(--color-text-disabled);cursor:not-allowed}.input--invalid{border-color:var(--color-danger)}.input--invalid:focus{box-shadow:0 0 0 3px var(--color-danger-surface)}.select{appearance:none;padding-right:var(--space-12);cursor:pointer}.field-hint{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted)}.field-hint--error{color:var(--color-danger)}.check{align-items:center;gap:var(--space-4);font-size:var(--text-base);cursor:pointer;display:inline-flex}.check input{width:15px;height:15px;accent-color:var(--color-accent);margin:0}.badge{align-items:center;gap:var(--space-3);height:20px;padding:0 var(--space-5);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-secondary);background:var(--color-surface-sunken);border:var(--border-subtle);border-radius:var(--radius-sm);white-space:nowrap;line-height:1;display:inline-flex}.badge--pill{border-radius:var(--radius-full);padding:0 var(--space-6)}.badge .dot{border-radius:var(--radius-full);background:currentColor;width:6px;height:6px}.badge--success{color:var(--color-success);background:var(--color-success-surface);border-color:var(--color-success-border)}.badge--danger{color:var(--color-danger);background:var(--color-danger-surface);border-color:var(--color-danger-border)}.badge--warning{color:var(--color-warning);background:var(--color-warning-surface);border-color:var(--color-warning-border)}.badge--info{color:var(--color-info);background:var(--color-info-surface);border-color:var(--color-info-border)}.badge--solid{color:var(--color-accent-text);background:var(--color-accent);border-color:var(--color-accent)}.avatar{width:28px;height:28px;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-secondary);background:var(--color-surface-active);border-radius:var(--radius-full);flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.avatar--sm{width:22px;height:22px}.avatar--lg{width:36px;height:36px;font-size:var(--text-base)}.avatar img{object-fit:cover;width:100%;height:100%}.card{background:var(--color-surface);border:var(--border);border-radius:var(--radius-lg)}.card__body{padding:var(--space-12)}.card__header{padding:var(--space-8) var(--space-12);border-bottom:var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.card__title{font-size:var(--text-md);font-weight:var(--weight-semibold)}.zu-drawer-scrim{z-index:var(--z-modal);visibility:hidden;background:var(--color-overlay);opacity:0;transition:opacity var(--duration-normal) var(--ease-out), visibility var(--duration-normal) var(--ease-out);position:fixed;inset:0}.zu-drawer-scrim.is-open{visibility:visible;opacity:1}.zu-drawer{z-index:calc(var(--z-modal) + 1);width:var(--drawer-width,420px);max-width:var(--drawer-max-width,92vw);background:var(--color-surface);border-left:var(--border);box-shadow:var(--shadow-lg);transition:transform var(--duration-normal) var(--ease-out);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.zu-drawer.is-open{transform:translate(0)}.zu-drawer__head{padding:var(--space-10) var(--space-12);border-bottom:var(--border);justify-content:space-between;align-items:center;display:flex}.zu-drawer__title{color:var(--color-text);font-size:var(--text-md);font-weight:var(--weight-semibold)}.zu-drawer__body{gap:var(--space-16);padding:var(--space-12);flex-direction:column;flex:1;display:flex;overflow-y:auto}.zu-drawer__foot{justify-content:flex-end;gap:var(--space-5);padding:var(--space-10) var(--space-12);border-top:var(--border);display:flex}.table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.table thead th{padding:var(--space-5) var(--space-8);text-align:left;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase;background:var(--color-surface);border-bottom:var(--border);position:sticky;top:0}.table tbody td{padding:var(--space-6) var(--space-8);border-bottom:var(--border-subtle);color:var(--color-text);white-space:nowrap}.table tbody tr{transition:background var(--duration-fast) var(--ease-out)}.table tbody tr:hover{background:var(--color-surface-hover)}.table tbody tr:last-child td{border-bottom:none}.table .cell-muted{color:var(--color-text-muted)}.table .cell-mono{font-family:var(--font-mono);font-size:var(--text-sm)}.menu{min-width:180px;padding:var(--space-3);background:var(--color-surface);border:var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.menu__item{align-items:center;gap:var(--space-5);height:30px;padding:0 var(--space-5);font-size:var(--text-base);color:var(--color-text);border-radius:var(--radius-sm);cursor:pointer;display:flex}.menu__item:hover{background:var(--color-surface-hover)}.menu__item--danger{color:var(--color-danger)}.menu__item--danger:hover{background:var(--color-danger-surface)}.menu__sep{height:1px;margin:var(--space-3) calc(var(--space-3) * -1);background:var(--color-border-subtle)}.menu__label{padding:var(--space-3) var(--space-5);font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.tabs{gap:var(--space-8);border-bottom:var(--border);display:flex}.tab{padding:var(--space-5) 0;font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;position:relative}.tab:hover{color:var(--color-text-secondary)}.tab--active{color:var(--color-text)}.tab--active:after{content:"";background:var(--color-accent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.kbd{min-width:18px;height:18px;padding:0 var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-surface-sunken);border:var(--border);border-radius:var(--radius-sm);border-bottom-width:2px;justify-content:center;align-items:center;display:inline-flex}.divider{background:var(--color-border-subtle);border:none;height:1px;margin:0}.segmented{padding:var(--space-1);background:var(--color-surface-sunken);border:var(--border-subtle);border-radius:var(--radius-md);gap:var(--space-1);display:inline-flex}.segmented button{height:24px;padding:0 var(--space-6);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none}.segmented button.is-active{color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-xs)}
