.ui-button{--button-bg:var(--color-primary);--button-color:var(--color-white);--button-border:var(--color-primary);justify-content:center;align-items:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-4);border:1px solid var(--button-border);border-radius:var(--radius-md);background:var(--button-bg);color:var(--button-color);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);line-height:1.25;text-decoration:none;display:inline-flex}.ui-button:hover:not(:disabled),.ui-button:focus-visible{--button-bg:var(--color-primary-hover);--button-border:var(--color-primary-hover);box-shadow:var(--shadow-sm)}.ui-button:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.ui-button svg{transition:transform var(--duration-fast) var(--ease-standard)}.ui-button:hover:not(:disabled) svg[class*=lucide-arrow-right],.ui-button:focus-visible svg[class*=lucide-arrow-right]{transform:translate(3px)}@media (prefers-reduced-motion:reduce){.ui-button,.ui-button svg{transition:none}.ui-button:active:not(:disabled),.ui-button:hover:not(:disabled) svg[class*=lucide-arrow-right],.ui-button:focus-visible svg[class*=lucide-arrow-right]{transform:none}}.ui-button:disabled,.ui-disabled{opacity:.55;cursor:not-allowed}.ui-button--secondary{--button-bg:var(--color-secondary);--button-border:var(--color-secondary)}.ui-button--secondary:hover:not(:disabled),.ui-button--secondary:focus-visible{--button-bg:var(--color-secondary-hover);--button-border:var(--color-secondary-hover)}.ui-button--outline{--button-bg:transparent;--button-color:var(--color-primary)}.ui-button--outline:hover:not(:disabled),.ui-button--outline:focus-visible{--button-bg:var(--color-primary);--button-border:var(--color-primary);--button-color:var(--color-white)}.ui-button--ghost,.ui-button--link{--button-bg:transparent;--button-color:var(--color-primary);--button-border:transparent}.ui-button--ghost:hover:not(:disabled),.ui-button--ghost:focus-visible,.ui-button--link:hover:not(:disabled),.ui-button--link:focus-visible{--button-bg:var(--color-primary-soft);--button-border:transparent;--button-color:var(--color-primary-hover);box-shadow:none}.ui-button--danger{--button-bg:var(--color-danger);--button-border:var(--color-danger)}.ui-button--danger:hover:not(:disabled),.ui-button--danger:focus-visible{--button-bg:color-mix(in srgb, var(--color-danger) 82%, black);--button-border:color-mix(in srgb, var(--color-danger) 82%, black)}.ui-button--sm{min-height:2.25rem;padding:var(--space-1) var(--space-3);font-size:var(--font-size-small)}.ui-button--lg{min-height:3.25rem;padding-inline:var(--space-6);font-size:var(--font-size-body-lg)}.ui-button--icon{width:2.75rem;padding:0}.ui-spinner{border-radius:var(--radius-full);border:2px solid;border-right-color:#0000;width:1.25em;height:1.25em;animation:.7s linear infinite ds-spin}.ui-field{gap:var(--space-2);display:grid}.ui-label{font-size:var(--font-size-small);font-weight:var(--font-weight-medium)}.ui-required,.ui-field-error{color:var(--color-danger)}.ui-field-help,.ui-field-error{font-size:var(--font-size-small);margin:0}.ui-control{border:1px solid var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface);width:100%;min-height:2.75rem;padding:var(--space-2) var(--space-3);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard)}.ui-control:hover:not(:disabled){border-color:var(--color-neutral-500)}.ui-control[aria-invalid=true]{border-color:var(--color-danger)}textarea.ui-control{resize:vertical;min-height:7rem}select[multiple].ui-control{min-height:8rem}.ui-check{align-items:center;gap:var(--space-2);cursor:pointer;display:inline-flex}.ui-check input{width:1.125rem;height:1.125rem;accent-color:var(--color-primary)}.ui-switch{appearance:none;border-radius:var(--radius-full);background:var(--color-neutral-400);transition:background var(--duration-normal) var(--ease-standard);width:2.75rem!important;height:1.5rem!important}.ui-switch:before{border-radius:var(--radius-full);background:var(--color-white);content:"";width:1rem;height:1rem;transition:transform var(--duration-normal) var(--ease-standard);margin:.25rem;display:block}.ui-switch:checked{background:var(--color-primary)}.ui-switch:checked:before{transform:translate(1.25rem)}.ui-alert{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid;display:flex}.ui-alert__description{margin-top:var(--space-1)}.ui-alert__description>:last-child{margin-bottom:0}.ui-alert--info{color:var(--color-info-600);background:var(--color-info-50)}.ui-alert--success{color:var(--color-success-600);background:var(--color-success-50)}.ui-alert--warning{color:var(--color-warning-600);background:var(--color-warning-50)}.ui-alert--error{color:var(--color-error-600);background:var(--color-error-50)}.ui-badge,.ui-tag{align-items:center;gap:var(--space-1);width:fit-content;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);display:inline-flex}.ui-progress{border-radius:var(--radius-full);background:var(--color-neutral-200);width:100%;height:.625rem;overflow:hidden}.ui-progress>span{border-radius:inherit;background:var(--color-primary);height:100%;display:block}.ui-skeleton{border-radius:var(--radius-md);background:var(--color-neutral-200);min-height:1rem;animation:1.5s ease-in-out infinite ds-pulse}.ui-empty{justify-items:center;gap:var(--space-3);padding:var(--space-10);border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);text-align:center;display:grid}.ui-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.ui-card__header,.ui-card__body,.ui-card__footer{padding:var(--space-5)}.ui-card__header,.ui-card__footer{border-color:var(--color-border)}.ui-card__header{border-bottom:1px solid var(--color-border)}.ui-card__footer{border-top:1px solid var(--color-border)}.ui-avatar{border-radius:var(--radius-full);background:var(--color-primary-soft);width:2.75rem;height:2.75rem;color:var(--color-primary);font-weight:var(--font-weight-bold);place-items:center;display:inline-grid;overflow:hidden}.ui-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow-x:auto}.ui-table{border-collapse:collapse;background:var(--color-surface);text-align:left;width:100%}.ui-table th,.ui-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.ui-table th{background:var(--color-surface-subtle);font-size:var(--font-size-small)}.ui-stat{gap:var(--space-2);display:grid}.ui-stat__value{font-size:var(--font-size-h3);font-weight:var(--font-weight-bold)}.ui-timeline{margin:0;padding:0;list-style:none}.ui-timeline li{padding:0 0 var(--space-5) var(--space-6);border-left:2px solid var(--color-border);position:relative}.ui-timeline li:before{border:2px solid var(--color-surface);border-radius:var(--radius-full);background:var(--color-primary);content:"";width:.75rem;height:.75rem;position:absolute;top:.35rem;left:-.45rem}.ui-breadcrumb ol,.ui-tabs,.ui-pagination,.ui-nav{align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.ui-tabs{border-bottom:1px solid var(--color-border)}.ui-tab{padding:var(--space-3) var(--space-4);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000}.ui-tab[aria-selected=true]{border-color:var(--color-primary);color:var(--color-primary);font-weight:var(--font-weight-medium)}.ui-pagination a,.ui-pagination button{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);place-items:center;min-width:2.5rem;min-height:2.5rem;display:inline-grid}.ui-pagination [aria-current=page]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-white)}.ui-dropdown{width:fit-content;position:relative}.ui-dropdown summary{list-style:none}.ui-dropdown__menu{z-index:var(--z-dropdown);top:calc(100% + var(--space-2));min-width:12rem;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);animation:ds-enter var(--duration-normal) var(--ease-standard);position:absolute}.ui-dropdown__menu a,.ui-dropdown__menu button{width:100%;padding:var(--space-2);border-radius:var(--radius-sm);text-align:left;background:0 0;border:0;display:block}.ui-dropdown__menu a:hover,.ui-dropdown__menu button:hover{background:var(--color-surface-subtle)}.ui-accordion{border-block:1px solid var(--color-border)}.ui-accordion summary{padding:var(--space-4);font-weight:var(--font-weight-medium);cursor:pointer}.ui-accordion__content{padding:0 var(--space-4) var(--space-4)}.ui-overlay{z-index:var(--z-overlay);padding:var(--space-4);background:var(--color-overlay);place-items:center;display:grid;position:fixed;inset:0}.ui-dialog,.ui-drawer{border-radius:var(--radius-xl);background:var(--color-surface);max-width:36rem;box-shadow:var(--shadow-lg);animation:ds-enter var(--duration-normal) var(--ease-standard);border:0}.ui-dialog{width:100%;max-height:calc(100dvh - 2rem);padding:var(--space-6);overflow-y:auto}.ui-drawer{width:min(90vw,24rem);padding:var(--space-6);overscroll-behavior:contain;border-radius:0;position:absolute;inset:0 0 0 auto;overflow-y:auto}.ui-tooltip{display:inline-flex;position:relative}.ui-tooltip__content{z-index:var(--z-tooltip);bottom:calc(100% + var(--space-2));width:max-content;max-width:16rem;padding:var(--space-2);border-radius:var(--radius-sm);background:var(--color-neutral-900);color:var(--color-white);font-size:var(--font-size-caption);opacity:0;pointer-events:none;transition:opacity var(--duration-fast);position:absolute;left:50%;transform:translate(-50%)}.ui-tooltip:hover .ui-tooltip__content,.ui-tooltip:focus-within .ui-tooltip__content{opacity:1}img[data-lightbox-ready=true]{cursor:zoom-in}img[data-lightbox-ready=true]:focus-visible{outline:4px solid var(--color-primary);outline-offset:-4px}.ui-image-lightbox{z-index:calc(var(--z-overlay) + 10);padding:clamp(var(--space-4), 5vw, var(--space-10));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:ds-enter var(--duration-fast) var(--ease-standard);background:#020817eb;place-items:center;display:grid;position:fixed;inset:0}.ui-image-lightbox__figure{gap:var(--space-3);grid-template-rows:minmax(0,1fr) auto;width:min(92vw,90rem);height:min(82dvh,60rem);margin:0;display:grid}.ui-image-lightbox__image{min-height:0;position:relative}.ui-image-lightbox__image img{object-fit:contain}.ui-image-lightbox__figure figcaption{max-width:60rem;color:var(--color-white);font-size:var(--font-size-small);text-align:center;margin-inline:auto}.ui-image-lightbox__close{z-index:1;top:max(var(--space-4), env(safe-area-inset-top));right:max(var(--space-4), env(safe-area-inset-right));border-radius:var(--radius-full);width:2.75rem;height:2.75rem;color:var(--color-white);cursor:pointer;background:#ffffff1f;border:1px solid #ffffff4d;place-items:center;display:grid;position:fixed}.ui-image-lightbox__close:hover,.ui-image-lightbox__close:focus-visible{background:#ffffff38}.ui-image-lightbox__hint{bottom:max(var(--space-4), env(safe-area-inset-bottom));align-items:center;gap:var(--space-1);color:#ffffffb8;font-size:var(--font-size-caption);display:inline-flex;position:fixed;left:50%;transform:translate(-50%)}.ui-photo-viewer__nav{z-index:1;border-radius:var(--radius-full);width:3rem;height:3rem;color:var(--color-white);cursor:pointer;background:#0f172a99;border:1px solid #ffffff4d;place-items:center;display:grid;position:fixed;top:50%;transform:translateY(-50%)}.ui-photo-viewer__nav:hover,.ui-photo-viewer__nav:focus-visible{background:#0f172ae0}.ui-photo-viewer__nav--previous{left:max(var(--space-4), env(safe-area-inset-left))}.ui-photo-viewer__nav--next{right:max(var(--space-4), env(safe-area-inset-right))}.ui-photo-viewer__counter{margin-right:var(--space-3);font-weight:var(--font-weight-bold)}.ui-photo-viewer__preload{visibility:hidden;width:1px;height:1px;position:fixed;overflow:hidden}@media (max-width:40rem){.ui-image-lightbox{padding:var(--space-3)}.ui-image-lightbox__figure{width:100%;height:78dvh}.ui-photo-viewer__nav{width:2.5rem;height:2.5rem}.ui-image-lightbox__hint{display:none}}
