.card{border:1px solid var(--color-gray-200);background-color:#fff;border-radius:.3em;overflow:hidden}.card--clickable{cursor:pointer;transition:all .15s}.card--clickable:hover{border-color:var(--color-gray-300);box-shadow:0 4px 12px #0000000d}.card--selected{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.card__header{border-bottom:1px solid var(--color-gray-100);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.card__title{color:var(--color-gray-900);margin:0;font-size:16px;font-weight:600}.card__subtitle{color:var(--color-gray-500);margin:4px 0 0;font-size:13px}.card__actions{gap:8px;display:flex}.card__body{padding:20px}.card__body--compact{padding:16px}.card__footer{background-color:var(--color-gray-50);border-top:1px solid var(--color-gray-100);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.badge{border-radius:.3em;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:500;display:inline-flex}.badge--default{background-color:var(--color-gray-100);color:var(--color-gray-700)}.badge--primary{background-color:var(--color-primary-light);color:var(--color-primary-dark)}.badge--success{background-color:var(--color-success-light);color:var(--color-success-dark)}.badge--warning{background-color:var(--color-warning-light);color:var(--color-warning-dark)}.badge--error{background-color:var(--color-error-light);color:var(--color-error-dark)}.badge--sm{padding:2px 6px;font-size:11px}.avatar{background-color:var(--color-gray-200);color:var(--color-gray-600);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:inline-flex;overflow:hidden}.avatar--sm{width:24px;height:24px;font-size:10px}.avatar--md{width:36px;height:36px;font-size:14px}.avatar--lg{width:48px;height:48px;font-size:18px}.avatar__image{object-fit:cover;width:100%;height:100%}.avatar-group{display:flex}.avatar-group .avatar{border:2px solid #fff;margin-left:-8px}.avatar-group .avatar:first-child{margin-left:0}.skeleton{background:linear-gradient(90deg,var(--color-gray-100)25%,var(--color-gray-200)50%,var(--color-gray-100)75%);background-size:200% 100%;border-radius:.3em;animation:1.5s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton--text{width:100%;height:16px}.skeleton--title{width:60%;height:24px}.skeleton--avatar{border-radius:50%}.skeleton--button{width:100px;height:40px}
