.ui-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--tap-target);padding:0 var(--space-5);font:inherit;font-weight:var(--weight-semibold);font-size:var(--text-base);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;border:1.5px solid #0000;line-height:1;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}.ui-button:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.ui-button:disabled,.ui-button[aria-disabled=true]{opacity:.45;cursor:not-allowed}.ui-button--sm{min-height:36px;padding:0 var(--space-4);font-size:var(--text-sm)}.ui-button--block{width:100%}.ui-button--primary{background:var(--color-accent-fill);color:var(--color-text-on-accent)}.ui-button--primary:hover:not(:disabled){background:var(--color-accent-fill-hover);color:var(--color-text-on-accent)}.ui-button--dark{background:var(--color-surface-inverse);color:var(--color-text-inverse)}.ui-button--dark:hover:not(:disabled){background:var(--color-surface-deep);color:var(--color-text-inverse)}.ui-button--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-control)}.ui-button--secondary:hover:not(:disabled){background:var(--color-surface-alt);color:var(--color-text)}.ui-button--ghost{color:var(--color-text);background:0 0}.ui-button--ghost:hover:not(:disabled){background:var(--color-fill-subtle);color:var(--color-text)}.ui-button--danger{background:var(--color-surface);color:var(--color-danger);border-color:var(--color-danger-border)}.ui-button--danger:hover:not(:disabled){background:var(--color-danger-wash);color:var(--color-danger)}.ui-card{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-line);border-radius:var(--radius-card);padding:clamp(var(--space-5), 3vw, var(--space-8))}.ui-card--flat{background:var(--color-surface-alt)}.ui-card__title{margin:0 0 var(--space-2);font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-snug)}.ui-card__desc{margin:0 0 var(--space-5);color:var(--color-text-muted)}.ui-field{gap:var(--space-2);margin:0 0 var(--space-5);display:grid}.ui-field__label{font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--color-text)}.ui-field__hint{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.ui-field__error{font-size:var(--text-sm);color:var(--color-danger);font-weight:var(--weight-medium);margin:0}.ui-input,.ui-select{width:100%;min-height:var(--tap-target);padding:0 var(--space-4);font:inherit;font-size:var(--text-base);color:var(--color-text);background:var(--color-surface);background-image:linear-gradient(var(--color-fill-subtle), var(--color-fill-subtle));border:1px solid var(--color-border-control);border-radius:var(--radius-control);transition:background-color .15s,border-color .15s}.ui-input:hover:not(:disabled),.ui-select:hover:not(:disabled){border-color:var(--color-text-secondary)}.ui-input:focus-visible,.ui-select:focus-visible{background-image:none}.ui-input::placeholder{color:var(--color-text-muted)}.ui-input:focus-visible,.ui-select:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:1px;border-color:var(--color-text)}.ui-input[aria-invalid=true],.ui-select[aria-invalid=true]{border-color:var(--color-danger-border);background:var(--color-danger-wash)}.ui-input:disabled,.ui-select:disabled{background:var(--color-fill-subtle);color:var(--color-text-disabled);cursor:not-allowed}.ui-select{appearance:none;padding-right:var(--space-10);background-image:linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%), linear-gradient(var(--color-fill-subtle), var(--color-fill-subtle));background-position:calc(100% - 20px),calc(100% - 15px),0 0;background-repeat:no-repeat;background-size:5px 5px,5px 5px,100% 100%}.ui-select:focus-visible{background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-size:5px 5px}.ui-check{gap:var(--space-3);min-height:var(--tap-target);cursor:pointer;align-items:flex-start;padding-top:10px;display:flex}.ui-check input{width:20px;height:20px;accent-color:var(--color-text);flex:none;margin:0}.ui-check input:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.ui-pill{border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;align-items:center;gap:6px;padding:3px 10px;line-height:1.4;display:inline-flex}.ui-pill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.ui-pill--neutral{background:var(--color-fill-subtle);color:var(--color-text-secondary)}.ui-pill--success{background:var(--color-success-wash);color:var(--color-success)}.ui-pill--success:before{background:var(--color-success-mark)}.ui-pill--danger{background:var(--color-danger-wash);color:var(--color-danger)}.ui-pill--warning{background:var(--color-warning-wash);color:var(--color-warning)}.ui-pill--info{background:var(--color-info-wash);color:var(--color-info)}.ui-pill--accent{background:var(--color-accent-fill);color:var(--color-text-on-accent)}.ui-notice{gap:var(--space-1);padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);color:var(--color-text);border-left:4px solid;display:grid}.ui-notice__title{font-weight:var(--weight-bold);margin:0}.ui-notice__body{margin:0}.ui-notice--info{background:var(--color-info-wash);border-left-color:var(--color-info)}.ui-notice--success{background:var(--color-success-wash);border-left-color:var(--color-success)}.ui-notice--warning{background:var(--color-warning-wash);border-left-color:var(--color-warning)}.ui-notice--danger{background:var(--color-danger-wash);border-left-color:var(--color-danger-border)}.ui-page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-3) var(--space-6);margin:0 0 var(--space-6);flex-wrap:wrap;display:flex}.ui-page-header__text{min-width:0}.ui-page-header__title{font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);overflow-wrap:anywhere;margin:0}.ui-page-header__desc{margin:var(--space-2) 0 0;color:var(--color-text-muted)}.ui-page-header__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.ui-empty{text-align:center;justify-items:center;gap:var(--space-2);padding:var(--space-10) var(--space-4);display:grid}.ui-empty__icon{width:56px;height:56px;margin-bottom:var(--space-2);border-radius:var(--radius-pill);background:var(--color-accent-fill);color:var(--color-text-on-accent);place-items:center;display:grid}.ui-empty__icon svg{width:26px;height:26px}.ui-empty__title{font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);margin:0}.ui-empty__body{max-width:34em;color:var(--color-text-muted)}.ui-empty__body>*{margin:0}.ui-empty__action{margin-top:var(--space-3)}.ui-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.ui-table{border-collapse:collapse;width:100%;font-size:var(--text-sm);color:var(--color-text)}.ui-table th,.ui-table td{text-align:left;vertical-align:middle;padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--color-line-soft)}.ui-table thead th{padding-top:var(--space-2);padding-bottom:var(--space-2);white-space:nowrap;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted);background:var(--color-surface-alt);border-bottom:1px solid var(--color-line)}.ui-table thead th:first-child{border-radius:var(--radius-control) 0 0 var(--radius-control)}.ui-table thead th:last-child{border-radius:0 var(--radius-control) var(--radius-control) 0}.ui-table tbody tr:last-child td{border-bottom:0}.ui-table tbody tr:hover td{background:var(--color-surface-alt)}@media (max-width:640px){.ui-table--stack thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.ui-table--stack tr{padding:var(--space-3) 0;border-bottom:1px solid var(--color-line-soft);display:block}.ui-table--stack tbody tr:last-child{border-bottom:0}.ui-table--stack td{padding:var(--space-1) 0;border:0;display:block}.ui-table--stack tbody tr:hover td{background:0 0}.ui-table--stack td[data-label]:before{content:attr(data-label);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted);display:block}}@media (prefers-reduced-motion:reduce){.ui-button,.ui-input,.ui-select{transition:none}}
