.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;overflow:hidden;flex-shrink:0;background-color:var(--color-neutral-200, #e5e7eb);color:#fff;font-weight:600;user-select:none;position:relative}.avatar--xs{width:24px;height:24px;font-size:10px}.avatar--sm{width:32px;height:32px;font-size:12px}.avatar--md{width:40px;height:40px;font-size:14px}.avatar--lg{width:56px;height:56px;font-size:18px}.avatar--xl{width:80px;height:80px;font-size:24px}.avatar__image{width:100%;height:100%;object-fit:cover;display:block}.avatar__initials{text-transform:uppercase;line-height:1;font-weight:600}.expand-collapse{border-radius:var(--border-radius-md);overflow:hidden}.expand-collapse__header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;background:transparent;border:none;cursor:pointer;transition:background-color .2s ease;text-align:left;gap:.75rem}.expand-collapse__header:hover{background-color:rgba(var(--color-primary-rgb),.05)}.expand-collapse__header:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.expand-collapse__header-content{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.expand-collapse__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-secondary);font-size:1.125rem}.expand-collapse__title-group{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.expand-collapse__title{font-size:.9375rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expand-collapse__subtitle{font-size:.8125rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expand-collapse__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .375rem;background-color:var(--color-primary);color:#fff;border-radius:999px;font-size:.75rem;font-weight:600;flex-shrink:0}.expand-collapse__chevron{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-secondary);transition:transform .2s ease}.expand-collapse__chevron--expanded{transform:rotate(180deg)}.expand-collapse__content{padding:.5rem 0 1rem;animation:fade-in-down .2s ease-out}.expand-collapse--compact .expand-collapse__header{padding:.25rem 0}.expand-collapse--compact .expand-collapse__content{padding:.25rem 0 .75rem}.expand-collapse--compact .expand-collapse__title{font-size:.875rem}.expand-collapse--bordered{border:1px solid var(--color-border)}.expand-collapse--bordered .expand-collapse__header{border-bottom:1px solid var(--color-border)}.expand-collapse--bordered .expand-collapse__header:last-child{border-bottom:none}.search-field{position:relative;width:100%}.search-field__label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--text-primary)}.search-field__input-wrapper{position:relative;display:flex;align-items:center}.search-field__icon{position:absolute;left:.75rem;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);pointer-events:none}.search-field__input{padding-left:2.5rem!important}.search-field__loading,.search-field__clear{position:absolute;right:.75rem;display:flex;align-items:center;justify-content:center}.search-field__loading{color:var(--text-secondary);pointer-events:none}.search-field__spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.search-field__clear{background:none;border:none;padding:.25rem;cursor:pointer;color:var(--text-secondary);border-radius:var(--radius-sm);transition:color var(--transition-speed),background-color var(--transition-speed)}.search-field__clear:hover{color:var(--text-primary);background-color:var(--surface-hover)}.search-field__clear:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.search-field__suggestions{position:absolute;top:calc(100% + .25rem);left:0;right:0;z-index:1000;max-height:18rem;overflow-y:auto;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);list-style:none;margin:0;padding:.25rem}.search-field__suggestion{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;cursor:pointer;border-radius:var(--radius-sm);transition:background-color var(--transition-speed)}.search-field__suggestion:hover,.search-field__suggestion--focused{background-color:var(--primary-light)}.search-field__suggestion-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.125rem;color:var(--text-secondary)}.search-field__suggestion-content{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.search-field__suggestion-label{font-size:.9375rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-field__suggestion-description{font-size:.8125rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-field__suggestions:empty{display:none}.search-field__suggestion:focus{outline:2px solid var(--primary);outline-offset:-2px}.image-preview-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:var(--space-8);z-index:var(--z-modal);opacity:1;transition:opacity .22s ease;overflow:hidden}.image-preview-overlay.closing{opacity:0}.image-preview-overlay__content{max-width:min(90vw,1200px);max-height:calc(100dvh - var(--space-12));position:relative;animation:image-preview-pop .22s ease;transform:scale(1);transition:transform .22s ease;display:flex;flex-direction:column}.image-preview-overlay.closing .image-preview-overlay__content{transform:scale(.96)}.image-preview-overlay__header{display:flex;justify-content:flex-end;padding-bottom:var(--space-2);flex-shrink:0}.image-preview-overlay__body{display:flex;align-items:center;justify-content:center;min-height:0;flex:1}.image-preview-overlay__body img{max-width:min(85vw,1200px);max-height:calc(100dvh - var(--space-20));width:auto;height:auto;object-fit:contain;box-shadow:var(--shadow-xl);border-radius:var(--radius-lg)}@keyframes image-preview-pop{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:640px){.image-preview-overlay{padding:var(--space-3)}.image-preview-overlay__content{max-width:95vw;width:95%;max-height:90vh}.image-preview-overlay__header{padding:var(--space-2) var(--space-3)}.image-preview-overlay__body{padding:var(--space-2) var(--space-3) var(--space-3)}.image-preview-overlay__body img{border-radius:var(--radius-lg)}}.gallery-pane{display:flex;flex-direction:column;margin-right:0;padding-right:0;justify-self:stretch}@media(max-width:960px){.gallery-pane{padding:0}}.gallery-wrapper{overflow:clip;display:flex;flex-direction:column;border-radius:var(--radius-xl)}.gallery-pane--dark .gallery-wrapper{background:var(--glass-bg-light);border:1px solid var(--glass-border-light)}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.gallery-pane--dark .gallery-wrapper{backdrop-filter:blur(var(--glass-blur-light));-webkit-backdrop-filter:blur(var(--glass-blur-light))}}.gallery-media{position:relative;overflow:clip;min-height:400px;cursor:zoom-in}.gallery-image-button{position:absolute;inset:0;width:100%;height:100%;padding:0;border:none;background:none;cursor:zoom-in;opacity:0;pointer-events:none;z-index:0;transition:opacity .6s ease}.gallery-image-button.active{opacity:1;pointer-events:auto;z-index:1}.gallery-image-button:focus-visible{outline:3px solid var(--primary);outline-offset:-3px}.gallery-image{width:100%;height:100%;object-fit:cover}.gallery-info{display:flex;flex-direction:column;padding:var(--space-5) var(--space-6) var(--space-6);gap:.5rem}.gallery-info--nav-only{padding:var(--space-3) var(--space-4)}.gallery-info--nav-only .gallery-nav-row{margin-top:0}.gallery-info--nav-only .gallery-nav-arrow{width:24px;height:24px;min-width:24px;min-height:24px;padding:0;font-size:.7rem}.gallery-pane--dark .gallery-info{color:var(--text-on-primary);border-top:1px solid var(--glass-border-light)}.gallery-pane--dark .gallery-info h3{color:var(--text-inverted)}.gallery-pane--dark .gallery-info p{color:var(--text-on-primary)}.gallery-pane--dark .gallery-dot{background:#fff6}.gallery-pane--dark .gallery-dot.active{background:var(--text-inverted)}.gallery-pane--light .gallery-info{color:var(--text-secondary);border-top:1px solid rgba(0,0,0,.1)}.gallery-pane--light .gallery-info h3{color:var(--text-primary)}.gallery-pane--light .gallery-info p{color:var(--text-secondary)}.gallery-pane--light .gallery-dot{background:#0003}.gallery-pane--light .gallery-dot.active{background:var(--primary)}.gallery-info h3{margin:0;font-size:clamp(1rem,1.35vw,1.3rem);font-weight:500}.gallery-info p{margin:0;font-size:var(--fs-300)}.gallery-nav-row{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-2)}.gallery-dots{display:flex;gap:var(--space-1);justify-content:center}.gallery-dot{width:12px;height:12px;border-radius:50%;border:none;padding:0;transition:background var(--transition-speed),transform var(--transition-speed);cursor:pointer}.gallery-dot.active{transform:scale(1.25)}.gallery-dot:focus-visible{outline:2px solid var(--focus-ring-button);outline-offset:3px}@media(hover:none)and (pointer:coarse){.gallery-dots{gap:var(--space-2);padding:var(--space-2) 0}.gallery-dot{width:10px;height:10px}.gallery-dot.active{width:24px;border-radius:5px;transform:none}}@media(max-width:960px){.gallery-media,.gallery-info{width:100%}}@media(max-width:640px){.gallery-media{min-height:240px}.gallery-info{padding:var(--space-4) var(--space-4) var(--space-5)}.gallery-info h3{font-size:1rem}.gallery-info p{font-size:var(--fs-200);line-height:1.5}}@media(hover:none)and (pointer:coarse){.gallery-pane{position:relative}.gallery-media:after{content:"";position:absolute;bottom:var(--space-3);left:50%;transform:translate(-50%);width:40px;height:4px;background:#ffffff4d;border-radius:2px;opacity:0;animation:swipe-fade 3s ease-in-out 1s 2;pointer-events:none}.gallery-pane--light .gallery-media:after{background:#00000026}@keyframes swipe-fade{0%,to{opacity:0}50%{opacity:1}}}.char-count{font-size:var(--fs-200);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.char-count--small{font-size:var(--fs-100)}.char-count--warning{color:var(--warning)}.char-count--over{color:var(--danger);font-weight:500}.form-group.disabled+.char-count,.field-with-count:has(.form-group.disabled) .char-count,.char-count.disabled{color:var(--text-disabled)}
