.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-full);font-weight:600;font-size:var(--text-sm);cursor:pointer;text-decoration:none;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.5;text-align:center;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard);user-select:none}.ui-btn:active{filter:brightness(.92)}.ui-btn-content{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}.ui-btn-content>svg{flex:none}.ui-btn:disabled,.ui-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.ui-btn-md{min-height:44px;height:auto;padding:10px 20px}.ui-btn-sm{min-height:44px;height:auto;padding:10px 14px;font-size:var(--text-xs)}.ui-btn-icon{flex:none;height:44px;width:44px;padding:0;border-radius:var(--radius-full)}.ui-btn-primary{background:var(--booking-accent);color:var(--booking-on-accent)}.ui-btn-primary:hover{filter:brightness(1.06)}.ui-btn-secondary{background:var(--color-surface-2);color:var(--color-text-primary);border-color:var(--color-border)}.ui-btn-secondary:hover{background:var(--color-overlay-hover)}.ui-btn-ghost{background:transparent;color:var(--color-text-primary)}.ui-btn-ghost:hover{background:var(--color-overlay-hover)}.ui-btn-danger{background:transparent;color:var(--color-danger);border-color:var(--color-danger-muted)}.ui-btn-danger:hover{background:var(--color-danger-muted)}.ui-btn-full{width:100%}.ui-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-container);box-shadow:var(--shadow-sm);transition:border-color var(--duration-base) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}.ui-card-interactive{cursor:pointer;display:block;color:inherit;text-decoration:none;outline-offset:4px}.ui-card-interactive:hover>.ui-card{border-color:var(--color-border-strong)}.ui-card-interactive:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.ui-card-interactive:active{filter:brightness(.94)}.ui-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;line-height:1.6;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}.ui-badge-accent{background:var(--color-accent-muted);color:var(--color-accent)}.ui-badge-neutral{background:var(--color-surface-2);color:var(--color-text-secondary)}.ui-badge-success{background:var(--color-success-muted);color:var(--color-success)}.ui-badge-danger{background:var(--color-danger-muted);color:var(--color-danger)}.ui-skeleton{background:var(--color-surface-2);border-radius:var(--radius-inner);position:relative;overflow:hidden}.ui-skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,var(--color-overlay-hover),transparent);animation:ui-skeleton-sweep 1.4s var(--ease-standard) infinite}@keyframes ui-skeleton-sweep{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.ui-skeleton:after{animation:none}}.ui-empty{text-align:center;padding:40px 20px;color:var(--color-text-secondary)}.ui-empty-title{color:var(--color-text-primary);font-weight:600;margin:0 0 4px}.ui-field{display:flex;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere}.ui-field-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.ui-input,.ui-field select{min-width:0;max-width:100%;min-height:44px;height:auto;padding:9px 14px;border-radius:var(--radius-element);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--text-base);font-family:inherit;width:100%;transition:border-color var(--duration-fast) var(--ease-standard)}.ui-field select{padding-inline-end:28px}.ui-input[type=file]{padding:10px}.ui-input[type=file]::file-selector-button{font:inherit;margin-inline-end:12px}.ui-field-hint{display:block;margin-top:6px;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.5;overflow-wrap:anywhere}.ui-input::placeholder{color:var(--color-text-tertiary)}.ui-input:focus-visible{border-color:var(--color-accent)}.ui-input-error{border-color:var(--color-danger)}.ui-field-error{font-size:var(--text-xs);color:var(--color-danger)}.ui-slot{min-height:44px;min-width:64px;padding:9px 14px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.ui-slot:hover{border-color:var(--color-border-strong)}.ui-slot:active{transform:scale(.96)}.ui-slot-selected,.ui-slot-selected:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.ui-daynav-btn{min-height:44px;height:auto;max-width:100%;padding:9px 14px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--text-xs);font-weight:600;cursor:pointer}.ui-daynav-btn:disabled{opacity:.4;cursor:not-allowed}.ui-daynav-btn:not(:disabled):hover{background:var(--color-overlay-hover)}.ui-callout{border-radius:var(--radius-element);padding:12px 14px;font-size:var(--text-sm);line-height:1.5}.ui-callout-accent{background:var(--color-accent-muted);color:var(--color-text-primary)}.ui-pill-select{display:block;width:100%;text-align:left;padding:10px 12px;border-radius:var(--radius-element);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;font:inherit;color:inherit;transition:border-color var(--duration-fast) var(--ease-standard)}.ui-pill-select:hover{border-color:var(--color-border-strong)}.ui-pill-select-selected{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.ui-avatar{width:52px;height:52px;border-radius:var(--radius-element);object-fit:cover;background:var(--color-surface-2);flex:none}.ui-avatar-fallback{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-lg);color:var(--color-accent);background:var(--color-accent-muted)}
