.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-family);font-weight:var(--font-weight-medium);line-height:var(--line-height-none);text-decoration:none;white-space:nowrap;user-select:none;border:1px solid transparent;border-radius:var(--radius-lg);background:transparent;cursor:pointer;transition:all var(--transition-fast);appearance:none;-webkit-appearance:none;&:focus-visible{outline:none;box-shadow:var(--focus-ring)}&:disabled,&.btn--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}}.btn--xs{height:var(--button-height-xs);padding:0 var(--space-2);font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.btn--sm{height:var(--button-height-sm);padding:0 var(--space-3);font-size:var(--font-size-sm);border-radius:var(--radius-md)}.btn--md{height:var(--button-height-md);padding:0 var(--space-4);font-size:var(--font-size-base)}.btn--lg{height:var(--button-height-lg);padding:0 var(--space-6);font-size:var(--font-size-lg);border-radius:var(--radius-xl)}.btn--xl{height:var(--button-height-xl);padding:0 var(--space-8);font-size:var(--font-size-xl);border-radius:var(--radius-xl)}.btn--primary{background:var(--aitu-green-primary);border-color:var(--aitu-green-primary);color:var(--aitu-white);&:hover:not(:disabled){background:var(--aitu-green-hover);border-color:var(--aitu-green-hover);transform:translateY(-1px);box-shadow:var(--shadow-brand)}&:active{transform:translateY(0);box-shadow:var(--shadow-sm)}}.btn--secondary{background:var(--bg-surface);border-color:var(--border-color);color:var(--text-primary);&:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-medium);transform:translateY(-1px);box-shadow:var(--shadow-md)}}.btn--success{background:var(--success);border-color:var(--success);color:var(--aitu-white);&:hover:not(:disabled){background:var(--success-dark);border-color:var(--success-dark)}}.btn--warning{background:var(--warning);border-color:var(--warning);color:var(--aitu-black);&:hover:not(:disabled){background:var(--warning-dark);border-color:var(--warning-dark);color:var(--aitu-white)}}.btn--danger{background:var(--error);border-color:var(--error);color:var(--aitu-white);&:hover:not(:disabled){background:var(--error-dark);border-color:var(--error-dark)}}.btn--ghost{background:transparent;border-color:transparent;color:var(--text-primary);&:hover:not(:disabled){background:var(--bg-hover);color:var(--aitu-green-primary)}}.btn--text{background:transparent;border-color:transparent;color:var(--aitu-green-primary);padding-left:0;padding-right:0;height:auto;&:hover:not(:disabled){color:var(--aitu-green-hover);text-decoration:underline}}.btn--loading{pointer-events:none;.btn__spinner{margin-right:var(--space-1)}.btn__content{opacity:.7}}.btn__spinner{display:inline-flex;align-items:center;width:16px;height:16px}.btn__icon{display:inline-flex;align-items:center;flex-shrink:0}.btn__icon--left{margin-right:var(--space-1);margin-left:calc(var(--space-1) * -1)}.btn__icon--right{margin-left:var(--space-1);margin-right:calc(var(--space-1) * -1)}.input-container{display:flex;flex-direction:column;gap:var(--space-1)}.input-label{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--space-1)}.input-required{color:var(--error);font-weight:var(--font-weight-bold)}.input{width:100%;font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition-fast);&::placeholder{color:var(--text-muted)}&:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--focus-ring)}&:disabled{background:var(--bg-disabled);color:var(--text-disabled);cursor:not-allowed}}.input-container--sm .input{height:var(--input-height-sm);padding:0 var(--space-3);font-size:var(--font-size-sm)}.input-container--md .input{height:var(--input-height-md);padding:0 var(--input-padding-x)}.input-container--lg .input{height:var(--input-height-lg);padding:0 var(--space-4);font-size:var(--font-size-lg)}.input--has-left-icon{padding-left:2.5rem}.input--has-right-icon{padding-right:2.5rem}.input-icon{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;color:var(--text-muted);pointer-events:none;z-index:1}.input-icon--left{left:.75rem}.input-icon--right{right:.75rem}.input-container--error .input{border-color:var(--border-error);box-shadow:0 0 0 1px var(--border-error)}.input-container--focused .input{border-color:var(--border-focus);box-shadow:var(--focus-ring)}.input-error{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);color:var(--text-error);margin-top:var(--space-1)}.input-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin-top:var(--space-1)}.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;user-select:none}.avatar--circle{border-radius:var(--radius-full)}.avatar--square{border-radius:var(--radius-lg)}.avatar--clickable{cursor:pointer;transition:transform var(--transition-fast);&:hover{transform:scale(1.05)}&:focus-visible{outline:none;box-shadow:var(--focus-ring)}}.avatar--xs{width:1.5rem;height:1.5rem;font-size:var(--font-size-xs)}.avatar--sm{width:2rem;height:2rem;font-size:var(--font-size-sm)}.avatar--md{width:2.5rem;height:2.5rem;font-size:var(--font-size-base)}.avatar--lg{width:3rem;height:3rem;font-size:var(--font-size-lg)}.avatar--xl{width:4rem;height:4rem;font-size:var(--font-size-xl)}.avatar--2xl{width:5rem;height:5rem;font-size:var(--font-size-2xl)}.avatar__image{width:100%;height:100%;object-fit:cover}.avatar__fallback{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--aitu-green-light);color:var(--aitu-green-primary);font-weight:var(--font-weight-medium)}.avatar--has-status{&:after{content:"";position:absolute;border:2px solid var(--bg-surface);border-radius:var(--radius-full)}}.avatar__status{position:absolute;border-radius:var(--radius-full);border:2px solid var(--bg-surface)}.avatar--xs .avatar__status{width:.375rem;height:.375rem;bottom:0;right:0}.avatar--sm .avatar__status,.avatar--md .avatar__status{width:.5rem;height:.5rem;bottom:0;right:0}.avatar--lg .avatar__status,.avatar--xl .avatar__status,.avatar--2xl .avatar__status{width:.75rem;height:.75rem;bottom:.125rem;right:.125rem}.avatar__status--offline{background:var(--aitu-gray-400)}.text{margin:0;font-family:var(--font-family);line-height:var(--line-height-normal)}.text--lg{font-size:var(--font-size-lg)}.text--xl{font-size:var(--font-size-xl)}.text--2xl{font-size:var(--font-size-2xl)}.text--3xl{font-size:var(--font-size-3xl)}.text--4xl{font-size:var(--font-size-4xl)}.text--light{font-weight:var(--font-weight-light)}.text--normal{font-weight:var(--font-weight-normal)}.text--medium{font-weight:var(--font-weight-medium)}.text--semibold{font-weight:var(--font-weight-semibold)}.text--bold{font-weight:var(--font-weight-bold)}.text--success{color:var(--text-success)}.text--danger{color:var(--text-error)}.link{font-family:var(--font-family);color:var(--aitu-green-primary);text-decoration:none;transition:all var(--transition-fast);cursor:pointer;&:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}}.link--default{color:var(--aitu-green-primary);&:hover{color:var(--aitu-green-hover)}}.link--primary{color:var(--aitu-green-primary);font-weight:var(--font-weight-medium);&:hover{color:var(--aitu-green-hover)}}.link--danger{color:var(--error);&:hover{color:var(--error-dark)}}.link--lg{font-size:var(--font-size-lg)}.link--none{text-decoration:none;&:hover{text-decoration:none}}.link--hover{text-decoration:none;&:hover{text-decoration:underline}}.link--always{text-decoration:underline;&:hover{text-decoration:underline}}.link--normal{font-weight:var(--font-weight-normal)}.link--medium{font-weight:var(--font-weight-medium)}.link--semibold{font-weight:var(--font-weight-semibold)}.link--bold{font-weight:var(--font-weight-bold)}.spinner{display:inline-flex;align-items:center;justify-content:center}.spinner--xs .spinner__svg{width:1rem;height:1rem}.spinner--sm .spinner__svg{width:1.25rem;height:1.25rem}.spinner--md .spinner__svg{width:1.5rem;height:1.5rem}.spinner--lg .spinner__svg{width:2rem;height:2rem}.spinner--xl .spinner__svg{width:2.5rem;height:2.5rem}.spinner--primary{color:var(--aitu-green-primary)}.spinner--secondary{color:var(--text-secondary)}.spinner__track{opacity:.2}.spinner__indicator{stroke-dasharray:15,85;stroke-dashoffset:0}.spinner--thin .spinner__track,.spinner--thin .spinner__indicator{stroke-width:1.5}.surface{background:var(--bg-surface);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.surface--elevation-sm{box-shadow:var(--shadow-sm)}.surface--elevation-md{box-shadow:var(--shadow-md)}.surface--elevation-lg{box-shadow:var(--shadow-lg)}.surface--elevation-xl{box-shadow:var(--shadow-xl)}.surface--radius-sm{border-radius:var(--radius-sm)}.surface--radius-md{border-radius:var(--radius-md)}.surface--radius-lg{border-radius:var(--radius-lg)}.surface--radius-xl{border-radius:var(--radius-xl)}.surface--radius-full{border-radius:var(--radius-full)}.surface--interactive{cursor:pointer;&:hover{box-shadow:var(--shadow-lg);transform:translateY(-1px)}&:focus-visible{outline:none;box-shadow:var(--focus-ring),var(--shadow-lg)}}@media (max-width: 768px){.btn--lg,.btn--xl{height:var(--button-height-md);padding:0 var(--space-4);font-size:var(--font-size-base)}.input-container--lg .input{height:var(--input-height-md);font-size:var(--font-size-base)}.avatar--xl,.avatar--2xl{width:3rem;height:3rem;font-size:var(--font-size-lg)}}@media (prefers-reduced-motion: reduce){.btn,.input,.avatar--clickable,.link,.surface--interactive,.spinner__svg{transition:none;animation:none}.surface--interactive:hover,.avatar--clickable:hover{transform:none}}@media (prefers-contrast: high){.btn,.input,.surface--border{border-width:2px}}.btn{--btn-transition: var(--transition-fast);--btn-border-radius: .5rem;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:var(--btn-border-radius);font-family:inherit;font-weight:600;line-height:1.5;text-decoration:none;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;user-select:none;transition:all var(--btn-transition);&:focus-visible{outline:2px solid var(--focus-color, #007bff);outline-offset:2px}&:disabled,&.btn--disabled{opacity:.6;cursor:not-allowed;pointer-events:none}}.btn--xs{padding:.25rem .75rem;font-size:.75rem;min-height:1.75rem}.btn--sm{padding:.375rem 1rem;font-size:.875rem;min-height:2rem}.btn--md{padding:.5rem 1.25rem;font-size:1rem;min-height:2.5rem}.btn--lg{padding:.75rem 1.5rem;font-size:1.125rem;min-height:3rem}.btn--xl{padding:1rem 2rem;font-size:1.25rem;min-height:3.5rem}.btn--primary{background:var(--primary);color:#fff;border-color:var(--primary);&:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 85%,black);border-color:color-mix(in srgb,var(--primary) 85%,black);transform:translateY(-1px)}&:active{transform:translateY(0)}}.btn--secondary{background:var(--secondary);color:#fff;border-color:var(--secondary);&:hover:not(:disabled){background:color-mix(in srgb,var(--secondary) 85%,black);border-color:color-mix(in srgb,var(--secondary) 85%,black);transform:translateY(-1px)}}.btn--success{background:var(--success);color:#fff;border-color:var(--success);&:hover:not(:disabled){background:color-mix(in srgb,var(--success) 85%,black);border-color:color-mix(in srgb,var(--success) 85%,black);transform:translateY(-1px)}}.btn--warning{background:var(--warning);color:var(--text-dark);border-color:var(--warning);&:hover:not(:disabled){background:color-mix(in srgb,var(--warning) 85%,black);border-color:color-mix(in srgb,var(--warning) 85%,black);transform:translateY(-1px)}}.btn--danger{background:var(--error);color:#fff;border-color:var(--error);&:hover:not(:disabled){background:color-mix(in srgb,var(--error) 85%,black);border-color:color-mix(in srgb,var(--error) 85%,black);transform:translateY(-1px)}}.btn--ghost{background:transparent;color:#000;border-color:#000;&:hover:not(:disabled){background:var(--primary);color:#fff;transform:translateY(-1px)}}.btn--text{background:transparent;color:var(--primary);border-color:transparent;&:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 10%,transparent);transform:translateY(-1px)}}.btn--full-width{width:100%}.btn--loading{pointer-events:none}.btn__spinner{display:inline-flex;align-items:center;justify-content:center}.btn__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.btn__icon--left{margin-right:.5rem}.btn__icon--right{margin-left:.5rem}.btn__content{display:inline-flex;align-items:center}@media (prefers-reduced-motion: reduce){.btn{transition:none}.btn__spinner svg animateTransform{animation-duration:0s}}.input-container{--input-border-radius: .5rem;--input-border-width: 1px;--input-transition: var(--transition-fast);display:flex;flex-direction:column;gap:.25rem}.input-container--full-width{width:100%}.input-label{font-size:.875rem;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:.25rem}.input-required{color:var(--error);font-weight:600}.input-wrapper{position:relative;display:flex;align-items:center}.input{width:100%;border:2px solid #e5e7eb;border-radius:12px;background:#fff;color:#111827;font-family:inherit;font-size:1rem;line-height:1.5;transition:all .2s ease;box-shadow:0 1px 3px #0000001a;&:hover{border-color:#d1d5db;box-shadow:0 2px 4px #0000001a}&:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a,0 2px 4px #0000001a}&:disabled{background:#f9fafb;color:#9ca3af;border-color:#e5e7eb;cursor:not-allowed;box-shadow:none}&::placeholder{color:#9ca3af}}.input-container--sm .input{padding:.375rem .75rem;font-size:.875rem;min-height:2rem}.input-container--md .input{padding:.5rem 1rem;font-size:1rem;min-height:2.5rem}.input-container--lg .input{padding:.75rem 1rem;font-size:1.125rem;min-height:3rem}.input--has-left-icon{padding-left:3rem}.input--has-right-icon{padding-right:3.5rem}.input-wrapper .input-icon{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;color:#6b7280;pointer-events:none;z-index:1;width:20px;height:20px;font-size:20px}.input-wrapper .input-icon svg{width:20px;height:20px;display:block}.input-wrapper .input-icon--left{left:1rem}.input-wrapper .input-icon--right{right:1rem;pointer-events:auto}.input-wrapper .input-icon--right button{pointer-events:auto}.search-bar .input--has-right-icon{padding-right:3rem}.input-container--error .input{border-color:var(--error);&:focus{border-color:var(--error);box-shadow:0 0 0 3px color-mix(in srgb,var(--error) 15%,transparent)}}.input-error{font-size:.875rem;color:var(--error);display:flex;align-items:center;gap:.25rem}.input-hint{font-size:.875rem;color:var(--text-secondary)}@media (prefers-reduced-motion: reduce){.input{transition:none}}// src/components/atoms/Textarea/Textarea.css .textarea-container{--textarea-border-radius: .5rem;--textarea-border-width: 1px;--textarea-transition: var(--transition-fast);display:flex;flex-direction:column;gap:.25rem}.textarea-container--full-width{width:100%}.textarea-label{font-size:.875rem;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:.25rem}.textarea-required{color:var(--error);font-weight:600}.textarea-wrapper{position:relative}.textarea{width:100%;min-height:4rem;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:12px;background:#fff;color:#111827;font-family:inherit;font-size:1rem;line-height:1.5;transition:all .2s ease;box-shadow:0 1px 3px #0000001a;resize:vertical;&:hover{border-color:#d1d5db;box-shadow:0 2px 4px #0000001a}&:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a,0 2px 4px #0000001a}&:disabled{background:#f9fafb;color:#9ca3af;border-color:#e5e7eb;cursor:not-allowed;box-shadow:none}&::placeholder{color:#9ca3af}}.textarea--resize-none{resize:none}.textarea--resize-vertical{resize:vertical}.textarea--resize-horizontal{resize:horizontal}.textarea--resize-both{resize:both}.textarea-container--error .textarea{border-color:var(--error);&:focus{border-color:var(--error);box-shadow:0 0 0 3px color-mix(in srgb,var(--error) 15%,transparent)}}.textarea-count{position:absolute;bottom:.5rem;right:.75rem;font-size:.75rem;color:var(--text-secondary);background:var(--bg-primary);padding:.125rem .25rem;border-radius:.25rem}.textarea-count--warning{color:var(--warning)}.textarea-error{font-size:.875rem;color:var(--error);display:flex;align-items:center;gap:.25rem}.textarea-hint{font-size:.875rem;color:var(--text-secondary)}@media (prefers-reduced-motion: reduce){.textarea{transition:none}}.optimized-image{position:relative;display:inline-block;overflow:hidden;background-color:#f8f9fa;border-radius:4px}.header__user-button .avatar .optimized-image{background-color:transparent!important;background:transparent!important}.optimized-image--lazy{min-height:100px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.optimized-image__img{display:block;width:100%;height:100%;object-fit:cover;transition:opacity .3s ease,transform .3s ease}.optimized-image__img:hover{transform:scale(1.02)}.optimized-image__placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#f8f9fa;color:#6c757d;font-size:2rem;z-index:1}.optimized-image__placeholder--blur{background:linear-gradient(45deg,#f0f0f0,#e0e0e0);filter:blur(10px)}.optimized-image__placeholder--default{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px dashed #dee2e6}.optimized-image__placeholder--default span{font-size:3rem;opacity:.5}.optimized-image__error{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#f8d7da;color:#721c24;font-size:.875rem;text-align:center;padding:1rem;z-index:2}.optimized-image__error span:first-child{font-size:2rem;margin-bottom:.5rem}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.optimized-image__img{animation:fadeIn .3s ease-in-out}.optimized-image--thumbnail{max-width:150px;max-height:150px}.optimized-image--medium{max-width:300px;max-height:300px}.optimized-image--large{max-width:600px;max-height:600px}.optimized-image--xlarge{max-width:1200px;max-height:800px}.optimized-image--card-thumbnail{width:100%;height:200px;max-width:none;max-height:none}.optimized-image--offer-thumbnail{width:100%;height:180px;max-width:none;max-height:none}.optimized-image--square{aspect-ratio:1 / 1}.optimized-image--landscape{aspect-ratio:16 / 9}.optimized-image--portrait{aspect-ratio:3 / 4}.optimized-image--wide{aspect-ratio:21 / 9}.optimized-image--cover .optimized-image__img{object-fit:cover}.optimized-image--contain .optimized-image__img{object-fit:contain}.optimized-image--fill .optimized-image__img{object-fit:fill}.optimized-image--scale-down .optimized-image__img{object-fit:scale-down}.optimized-image--low-quality .optimized-image__img{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.optimized-image--high-quality .optimized-image__img{image-rendering:-webkit-optimize-contrast;image-rendering:optimize-contrast}.optimized-image--priority{contain:layout style paint;will-change:transform}.optimized-image--priority .optimized-image__img{animation:none;transition:none}.optimized-image:focus-within{outline:2px solid #007bff;outline-offset:2px}.optimized-image__img:focus{outline:none}@media (prefers-reduced-motion: reduce){.optimized-image__img{animation:none;transition:none}.optimized-image__img:hover{transform:none}.optimized-image--lazy{animation:none;background:#f0f0f0}}@media (prefers-contrast: high){.optimized-image__placeholder{background-color:#fff;border:2px solid #000000;color:#000}.optimized-image__error{background-color:#fff;border:2px solid #cc0000;color:#c00}}.optimized-image__placeholder--default{background:linear-gradient(135deg,#2d3748,#4a5568);border-color:#4a5568}.optimized-image--lazy{background:linear-gradient(90deg,#2d3748 25%,#4a5568,#2d3748 75%)}} @media (max-width: 768px){.optimized-image{transform:translateZ(0);backface-visibility:hidden}.optimized-image__img{transition:opacity .2s ease}.optimized-image__img:hover{transform:none}}@media print{.optimized-image__placeholder,.optimized-image__error{display:none}.optimized-image__img{opacity:1!important;animation:none;transition:none}}// src/components/atoms/Avatar/Avatar.css .avatar{--avatar-border-radius: 50%;position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:var(--bg-secondary);border-radius:var(--avatar-border-radius);user-select:none;flex-shrink:0}.avatar--xs{width:1.5rem;height:1.5rem;font-size:.625rem}.avatar--sm{width:2rem;height:2rem;font-size:.75rem}.avatar--md{width:2.5rem;height:2.5rem;font-size:.875rem}.avatar--lg{width:3rem;height:3rem;font-size:1rem}.avatar--xl{width:4rem;height:4rem;font-size:1.25rem}.avatar--2xl{width:5rem;height:5rem;font-size:1.5rem}.avatar--circle{--avatar-border-radius: 50%}.avatar--square{--avatar-border-radius: .375rem}.avatar--clickable{cursor:pointer;transition:transform var(--transition-fast);&:hover{transform:scale(1.05)}&:focus-visible{outline:2px solid var(--primary);outline-offset:2px}&:active{transform:scale(.98)}}.avatar__image{width:100%;height:100%;object-fit:cover;object-position:center}.avatar__fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-weight:600;text-transform:uppercase}.avatar--has-status .avatar__status{position:absolute;bottom:0;right:0;width:25%;height:25%;min-width:.375rem;min-height:.375rem;border:2px solid var(--bg-primary);border-radius:50%;transform:translate(25%,25%)}.avatar__status--online{background:var(--success)}.avatar__status--offline{background:var(--text-tertiary)}.avatar__status--away{background:var(--warning)}.avatar__status--busy{background:var(--error)}@media (prefers-reduced-motion: reduce){.avatar--clickable{transition:none;&:hover{transform:none}&:active{transform:none}}}// src/components/atoms/Badge/Badge.css .badge{display:inline-flex;align-items:center;justify-content:center;font-weight:600;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.375rem;transition:all var(--transition-fast)}.badge--sm{padding:.125rem .375rem;font-size:.75rem;min-height:1rem}.badge--md{padding:.25rem .5rem;font-size:.875rem;min-height:1.25rem}.badge--lg{padding:.375rem .75rem;font-size:1rem;min-height:1.5rem}.badge--rounded{border-radius:.375rem}.badge--pill{border-radius:9999px}.badge--circular{border-radius:50%;min-width:1.25rem;width:1.25rem;height:1.25rem;padding:0;font-size:.75rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;text-align:center}.badge--circular.badge--sm{min-width:1rem;width:1rem;height:1rem;font-size:.625rem}.badge--circular.badge--lg{min-width:1.5rem;width:1.5rem;height:1.5rem;font-size:.875rem}.badge[data-count]{border-radius:50%;min-width:1.25rem;width:1.25rem;height:1.25rem;padding:0;font-size:.75rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;text-align:center}.badge--default{background:var(--bg-secondary);color:var(--text-primary)}.badge--primary{background:var(--primary);color:#fff}.badge--secondary{background:var(--secondary);color:#fff}.badge--success{background:var(--success);color:#fff}.badge--warning{background:var(--warning);color:var(--text-dark)}.badge--danger{background:var(--error);color:#fff}.badge--info{background:var(--info, #17a2b8);color:#fff}.badge--dot{width:.5rem;height:.5rem;padding:0;border-radius:50%;min-height:auto}.badge--dot.badge--sm{width:.375rem;height:.375rem}.badge--dot.badge--lg{width:.75rem;height:.75rem}// src/components/atoms/Spinner/Spinner.css .spinner{display:inline-flex;align-items:center;justify-content:center}.spinner__svg{animation:spin 1s linear infinite}.spinner__track{opacity:.25}.spinner__indicator{opacity:.75}.spinner--xs{width:1rem;height:1rem}.spinner--sm{width:1.25rem;height:1.25rem}.spinner--md{width:1.5rem;height:1.5rem}.spinner--lg{width:2rem;height:2rem}.spinner--xl{width:2.5rem;height:2.5rem}.spinner--primary{color:var(--primary)}.spinner--secondary{color:var(--secondary)}.spinner--current{color:currentColor}.spinner--thin .spinner__track,.spinner--thin .spinner__indicator{stroke-width:1}.spinner--normal .spinner__track,.spinner--normal .spinner__indicator{stroke-width:2}.spinner--thick .spinner__track,.spinner--thick .spinner__indicator{stroke-width:3}@media (prefers-reduced-motion: reduce){.spinner__svg{animation:none}.spinner__indicator{opacity:1}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}// src/components/atoms/Icon/Icon.css .icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;vertical-align:middle}.icon svg{display:block;width:100%;height:100%}.icon--xs{width:.75rem;height:.75rem}.icon--sm{width:1rem;height:1rem}.icon--md{width:1.25rem;height:1.25rem}.icon--lg{width:1.5rem;height:1.5rem}.icon--xl{width:2rem;height:2rem}.icon--current{color:currentColor}.icon--primary{color:var(--primary)}.icon--secondary{color:var(--secondary)}.icon--success{color:var(--success)}.icon--warning{color:var(--warning)}.icon--danger{color:var(--error)}.icon--muted{color:var(--text-muted)}// src/components/atoms/Text/Text.css .text{margin:0;line-height:1.6}.text--xs{font-size:var(--font-size-xs)}.text--sm{font-size:var(--font-size-sm)}.text--md{font-size:var(--font-size-base)}.text--lg{font-size:clamp(1.125rem,3.5vw,1.25rem)}.text--xl{font-size:clamp(1.25rem,4vw,1.5rem)}.text--2xl{font-size:clamp(1.375rem,4.5vw,1.75rem)}.text--3xl{font-size:clamp(1.5rem,5vw,2rem)}.text--4xl{font-size:clamp(1.625rem,5.5vw,2.25rem)}.text--light{font-weight:300}.text--normal{font-weight:400}.text--medium{font-weight:500}.text--semibold{font-weight:600}.text--bold{font-weight:700}.text--primary{color:var(--text-primary)}.text--secondary{color:var(--text-secondary)}.text--success{color:var(--success)}.text--warning{color:var(--warning)}.text--danger{color:var(--error)}.text--muted{color:var(--text-muted)}.text--inherit{color:inherit}.text--left{text-align:left}.text--center{text-align:center}.text--right{text-align:right}.text--justify{text-align:justify}.text--none{text-transform:none}.text--uppercase{text-transform:uppercase}.text--lowercase{text-transform:lowercase}.text--capitalize{text-transform:capitalize}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}// src/components/atoms/Link/Link.css .link{color:inherit;text-decoration:none;transition:all var(--transition-fast);cursor:pointer;&:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:.125rem}}.link--sm{font-size:var(--font-size-sm)}.link--md{font-size:var(--font-size-base)}.link--lg{font-size:clamp(1.125rem,3.5vw,1.25rem)}.link--normal{font-weight:400}.link--medium{font-weight:500}.link--semibold{font-weight:600}.link--bold{font-weight:700}.link--default{color:var(--text-primary);&:hover{color:var(--primary)}}.link--primary{color:var(--primary);&:hover{color:color-mix(in srgb,var(--primary) 80%,black)}}.link--secondary{color:var(--text-secondary);&:hover{color:var(--text-primary)}}.link--muted{color:var(--text-muted);&:hover{color:var(--text-secondary)}}.link--danger{color:var(--error);&:hover{color:color-mix(in srgb,var(--error) 80%,black)}}.link--none{text-decoration:none}.link--hover{text-decoration:none;&:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.25rem}}.link--always{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.25rem}// src/components/atoms/Skeleton/Skeleton.css .skeleton{background:var(--skeleton-bg, #e2e5e7);border-radius:.25rem;display:inline-block}.skeleton--text{height:1em;width:100%;border-radius:.25rem}.skeleton--rectangular{border-radius:.25rem}.skeleton--rounded{border-radius:.5rem}.skeleton--circular{border-radius:50%}.skeleton--pulse{animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton--wave{position:relative;overflow:hidden;&:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:skeleton-wave 1.5s ease-in-out infinite}}.skeleton-text-block{display:flex;flex-direction:column;gap:.25rem}.skeleton-text-block__last{width:75%}@keyframes skeleton-pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}@keyframes skeleton-wave{0%{transform:translate(-100%)}50%{transform:translate(100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.skeleton--pulse,.skeleton--wave{animation:none}.skeleton--wave:after{display:none}}.typing-indicator{display:inline-flex;align-items:center;padding:.5rem 1rem;background:var(--color-surface-secondary);border-radius:20px;animation:fadeIn .3s ease-out}.typing-indicator--compact{padding:.25rem .75rem}.typing-indicator__content{display:flex;align-items:center;gap:.75rem}.typing-indicator__dots{display:flex;align-items:center;gap:4px}.typing-indicator__dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary);animation:typing 1.4s infinite}.typing-indicator__dot:nth-child(1){animation-delay:0s}.typing-indicator__dot:nth-child(2){animation-delay:.2s}.typing-indicator__dot:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:scale(.8);opacity:.5}30%{transform:scale(1.2);opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.typing-indicator--compact .typing-indicator__dot{width:6px;height:6px}} .online-status{display:inline-flex;align-items:center;gap:.5rem}.online-status__indicator{width:8px;height:8px;border-radius:50%;position:relative;flex-shrink:0}.online-status__indicator--online{background:var(--color-success);box-shadow:0 0 0 2px #22c55e33;animation:pulse 2s infinite}.online-status__indicator--offline{background:var(--color-text-tertiary);opacity:.5}.online-status--sm .online-status__indicator{width:6px;height:6px}.online-status--lg .online-status__indicator{width:12px;height:12px}@keyframes pulse{0%,to{box-shadow:0 0 0 2px #22c55e33}50%{box-shadow:0 0 0 4px #22c55e1a}}} // src/components/atoms/Divider/Divider.css .divider{border:none;background:transparent;display:flex;align-items:center;justify-content:center}.divider--horizontal{width:100%;flex-direction:row;&:not(.divider--with-content){height:1px;background:var(--divider-color)}&.divider--with-content{&:before,&:after{content:"";flex:1;height:1px;background:var(--divider-color)}}}.divider--vertical{height:100%;flex-direction:column;&:not(.divider--with-content){width:1px;background:var(--divider-color)}&.divider--with-content{&:before,&:after{content:"";flex:1;width:1px;background:var(--divider-color)}}}.divider--solid{--divider-style: solid}.divider--dashed{--divider-style: dashed;&:not(.divider--with-content){background:none;border-top:1px dashed var(--divider-color)}&.divider--vertical:not(.divider--with-content){border-top:none;border-left:1px dashed var(--divider-color)}&.divider--with-content{&:before,&:after{background:none;border-top:1px dashed var(--divider-color)}&.divider--vertical:before,&.divider--vertical:after{border-top:none;border-left:1px dashed var(--divider-color)}}}.divider--dotted{--divider-style: dotted;&:not(.divider--with-content){background:none;border-top:1px dotted var(--divider-color)}&.divider--vertical:not(.divider--with-content){border-top:none;border-left:1px dotted var(--divider-color)}&.divider--with-content{&:before,&:after{background:none;border-top:1px dotted var(--divider-color)}&.divider--vertical:before,&.divider--vertical:after{border-top:none;border-left:1px dotted var(--divider-color)}}}.divider--xs{--divider-spacing: var(--space-xs)}.divider--sm{--divider-spacing: var(--space-sm)}.divider--md{--divider-spacing: var(--space-md)}.divider--lg{--divider-spacing: var(--space-lg)}.divider--xl{--divider-spacing: var(--space-xl)}.divider--horizontal{margin:var(--divider-spacing) 0}.divider--vertical{margin:0 var(--divider-spacing)}.divider--default{--divider-color: var(--border-color)}.divider--light{--divider-color: var(--border-light, #f0f0f0)}.divider--dark{--divider-color: var(--border-dark, #333)}.divider__content{padding:0 var(--space-md);background:var(--bg-primary);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:500;white-space:nowrap}.divider--vertical .divider__content{padding:var(--space-md) 0;writing-mode:vertical-rl;text-orientation:mixed}// src/components/atoms/Surface/Surface.css .surface{background:var(--bg-primary);transition:all var(--transition-fast);position:relative}.surface--elevation-none{box-shadow:none}.surface--elevation-sm{box-shadow:0 1px 2px #0000000d,0 1px 3px #0000001a}.surface--elevation-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.surface--elevation-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.surface--elevation-xl{box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.surface--padding-none{padding:0}.surface--padding-xs{padding:var(--space-xs)}.surface--padding-sm{padding:var(--space-sm)}.surface--padding-md{padding:var(--space-md)}.surface--padding-lg{padding:var(--space-lg)}.surface--padding-xl{padding:var(--space-xl)}.surface--radius-none{border-radius:0}.surface--radius-sm{border-radius:.25rem}.surface--radius-md{border-radius:.5rem}.surface--radius-lg{border-radius:.75rem}.surface--radius-xl{border-radius:1rem}.surface--radius-full{border-radius:9999px}.surface--border{border:1px solid var(--border-color)}.surface--interactive{cursor:pointer;&:hover{transform:translateY(-2px);box-shadow:0 20px 25px -5px #00000026,0 8px 10px -6px #00000026}&:focus-visible{outline:2px solid var(--primary);outline-offset:2px}&:active{transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.surface--interactive{&:hover{transform:none}&:active{transform:none}}}// src/components/atoms/VisuallyHidden/VisuallyHidden.css .visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}// src/components/atoms/Checkbox/Checkbox.css .checkbox-container{display:flex;gap:.75rem;align-items:flex-start}.checkbox-container--disabled{opacity:.6;cursor:not-allowed}.checkbox-wrapper{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.checkbox-input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;&:disabled{cursor:not-allowed}&:focus-visible+.checkbox-indicator{outline:2px solid var(--primary);outline-offset:2px}}.checkbox-indicator{display:flex;align-items:center;justify-content:center;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:transparent;transition:all var(--transition-fast)}.checkbox-container--sm .checkbox-indicator{width:1rem;height:1rem}.checkbox-container--md .checkbox-indicator{width:1.25rem;height:1.25rem}.checkbox-container--lg .checkbox-indicator{width:1.5rem;height:1.5rem}.checkbox-input:checked+.checkbox-indicator{background:var(--primary);border-color:var(--primary);color:#fff}.checkbox-input:indeterminate+.checkbox-indicator{background:var(--primary);border-color:var(--primary);color:#fff}.checkbox-container--error .checkbox-indicator{border-color:var(--error)}.checkbox-input:checked+.checkbox-indicator,.checkbox-input:indeterminate+.checkbox-indicator{&.checkbox-container--error{background:var(--error);border-color:var(--error)}}.checkbox-content{flex:1;min-width:0}.checkbox-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);cursor:pointer;line-height:1.5}.checkbox-required{color:var(--error);margin-left:.25rem}.checkbox-description{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem;line-height:1.4}.checkbox-error{font-size:.75rem;color:var(--error);margin-top:.25rem}// src/components/atoms/Radio/Radio.css .radio-container{display:flex;gap:.75rem;align-items:flex-start}.radio-container--disabled{opacity:.6;cursor:not-allowed}.radio-wrapper{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.radio-input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;&:disabled{cursor:not-allowed}&:focus-visible+.radio-indicator{outline:2px solid var(--primary);outline-offset:2px}}.radio-indicator{display:flex;align-items:center;justify-content:center;border:2px solid var(--border-color);border-radius:50%;background:var(--bg-primary);transition:all var(--transition-fast);position:relative}.radio-dot{border-radius:50%;background:var(--primary);transform:scale(0);transition:transform var(--transition-fast)}.radio-container--sm .radio-indicator{width:1rem;height:1rem}.radio-container--sm .radio-dot{width:.375rem;height:.375rem}.radio-container--md .radio-indicator{width:1.25rem;height:1.25rem}.radio-container--md .radio-dot{width:.5rem;height:.5rem}.radio-container--lg .radio-indicator{width:1.5rem;height:1.5rem}.radio-container--lg .radio-dot{width:.625rem;height:.625rem}.radio-input:checked+.radio-indicator{border-color:var(--primary)}.radio-input:checked+.radio-indicator .radio-dot{transform:scale(1)}.radio-container--error .radio-indicator{border-color:var(--error)}.radio-input:checked+.radio-indicator.radio-container--error .radio-dot{background:var(--error)}.radio-content{flex:1;min-width:0}.radio-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);cursor:pointer;line-height:1.5}.radio-required{color:var(--error);margin-left:.25rem}.radio-description{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem;line-height:1.4}.radio-error{font-size:.75rem;color:var(--error);margin-top:.25rem}// src/components/atoms/Switch/Switch.css .switch-container{display:flex;gap:.75rem;align-items:flex-start}.switch-container--disabled{opacity:.6;cursor:not-allowed}.switch-wrapper{position:relative;flex-shrink:0}.switch-input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1;&:disabled{cursor:not-allowed}&:focus-visible+.switch{outline:2px solid var(--primary);outline-offset:2px}}.switch{position:relative;border-radius:9999px;background:var(--bg-tertiary);border:2px solid var(--border-color);box-shadow:0 1px 2px #0000000d,0 1px 3px #0000001a;transition:all var(--transition-fast);cursor:pointer;pointer-events:none}.switch-thumb{border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:all var(--transition-fast);position:absolute;top:2px;left:2px}.switch--sm{width:2rem;height:1.25rem}.switch--sm .switch-thumb{width:.875rem;height:.875rem}.switch--md{width:2.75rem;height:1.5rem}.switch--md .switch-thumb{width:1.125rem;height:1.125rem}.switch--lg{width:3.5rem;height:2rem}.switch--lg .switch-thumb{width:1.5rem;height:1.5rem}.switch-input:checked+.switch--primary{background:var(--primary);border-color:var(--primary)}.switch-input:checked+.switch--success{background:var(--success);border-color:var(--success)}.switch-input:checked+.switch--warning{background:var(--warning);border-color:var(--warning)}.switch-input:checked+.switch--danger{background:var(--error);border-color:var(--error)}.switch-input:checked+.switch--sm .switch-thumb{transform:translate(.75rem)}.switch-input:checked+.switch--md .switch-thumb{transform:translate(1.25rem)}.switch-input:checked+.switch--lg .switch-thumb{transform:translate(1.5rem)}.switch-content{flex:1;min-width:0}.switch-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);cursor:pointer;line-height:1.5}.switch-description{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem;line-height:1.4}.select{position:relative;display:inline-block;width:100%}.select__button{width:100%;justify-content:space-between;text-align:left;padding:.75rem 1rem;border-radius:.5rem;border:1px solid #d1d5db;background:#fff;transition:all .2s ease;min-height:2.75rem;display:flex;align-items:center;gap:.5rem}.select__button:hover:not(:disabled){border-color:#9ca3af;background:#f9fafb}.select__button:focus{outline:2px solid #3b82f6;outline-offset:2px;border-color:#3b82f6}.select__button--open{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.select__button:disabled{background:#f3f4f6;border-color:#e5e7eb;cursor:not-allowed;opacity:.6}.select__button-text{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:calc(100% - 2rem)}.select__button-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem}.select__dropdown{position:absolute;top:100%;left:0;right:0;z-index:9999!important;margin-top:.25rem;border-radius:.5rem;border:1px solid #e5e7eb;background:#fff!important;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;max-height:200px;overflow:hidden;animation:dropdownFadeIn .15s ease-out}.select{position:relative}.select:has(.select__dropdown){z-index:9999!important}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.select__options{max-height:200px;overflow-y:auto;padding:.25rem}.select__option{width:100%;padding:.75rem 1rem;border:none;background:transparent;border-radius:.375rem;cursor:pointer;transition:all .15s ease;text-align:left;display:flex;align-items:center}.select__option:hover:not(:disabled){background:#f3f4f6}.select__option--highlighted{background:#e0e7ff}.select__option--disabled{cursor:not-allowed;opacity:.5}.select__option:focus{outline:2px solid #3b82f6;outline-offset:2px}.select__option-text{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select__options::-webkit-scrollbar{width:6px}.select__options::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.select__options::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.select__options::-webkit-scrollbar-thumb:hover{background:#94a3b8}.select__button:disabled{background:#334155;border-color:#475569}.select__dropdown{background:#1e293b;border-color:#334155}.select__option:hover:not(:disabled){background:#334155}.select__option--highlighted{background:#1e40af}.select__options::-webkit-scrollbar-track{background:#334155}.select__options::-webkit-scrollbar-thumb{background:#475569}.select__options::-webkit-scrollbar-thumb:hover{background:#64748b}} @media (max-width: 768px){.select__button{padding:.625rem .875rem;min-height:2.5rem}.select__option{padding:.625rem .875rem}.select__dropdown,.select__options{max-height:150px}}.select__button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.select__option:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.image-container{position:relative;display:inline-block;overflow:hidden;background-color:#f8f9fa;border-radius:8px;transition:all .3s ease}.image-container:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.image{width:100%;height:100%;object-fit:cover;object-position:center;transition:opacity .3s ease,transform .3s ease;border-radius:inherit}.image--loading{opacity:0}.image--hidden{display:none!important}.image:not(.image--loading){opacity:1}.image-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading-shimmer 1.5s infinite;border-radius:inherit}.loading-spinner{width:24px;height:24px;border:2px solid #e0e0e0;border-top:2px solid #08A045;border-radius:50%;animation:spin 1s linear infinite}@keyframes loading-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.image-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#f8f9fa;border:2px dashed #dee2e6;border-radius:inherit;color:#6c757d;font-size:14px;text-align:center;padding:16px;min-height:100px}.image-error span:first-child{font-size:24px;margin-bottom:8px;opacity:.7}.error-text{font-size:12px;font-weight:500;color:#6c757d;margin:0;line-height:1.4}.image-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px dashed #dee2e6;border-radius:8px;color:#adb5bd;font-size:32px;min-height:120px;transition:all .3s ease}.image-placeholder:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6);border-color:#adb5bd}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.image-container--small{border-radius:6px}.image-container--small .loading-spinner{width:16px;height:16px;border-width:1.5px}.image-container--small .image-error{min-height:60px;padding:8px}.image-container--small .image-error span:first-child{font-size:18px;margin-bottom:4px}.image-container--small .error-text{font-size:10px}.image-container--large{border-radius:12px}.image-container--large .loading-spinner{width:32px;height:32px;border-width:3px}.image-container--large .image-error{min-height:160px;padding:24px}.image-container--large .image-error span:first-child{font-size:32px;margin-bottom:12px}.image-container--large .error-text{font-size:16px}.image-container--square{aspect-ratio:1 / 1}.image-container--wide{aspect-ratio:16 / 9}.image-container--portrait{aspect-ratio:3 / 4}.image-container--interactive{cursor:pointer;transition:all .3s ease}.image-container--interactive:hover{transform:scale(1.02);box-shadow:0 8px 25px #08a04526}.image-container--interactive:active{transform:scale(.98)}.image-container--bordered{border:1px solid #dee2e6}.image-container--rounded{border-radius:50%;overflow:hidden}.image-container--rounded .image{border-radius:50%}.loading-spinner{border-color:#6c757d;border-top-color:#08a045}.image-error{background-color:#343a40;border-color:#495057;color:#adb5bd}.error-text{color:#adb5bd}.image-placeholder{background:linear-gradient(135deg,#343a40,#495057);border-color:#495057;color:#6c757d}.image-container--bordered{border-color:#495057}.image-container--bordered:hover{border-color:#08a045}} @media (prefers-reduced-motion: reduce){.image-container,.image,.image-container--interactive{transition:none}.image-loading{animation:none;background:#e0e0e0}.loading-spinner{animation:none;border:2px solid #08A045;border-radius:50%}.image-container:hover,.image-container--interactive:hover{transform:none}}@media (prefers-contrast: high){.image-container{border:2px solid}.image-error{border-width:3px;background-color:ButtonFace;color:ButtonText}.loading-spinner{border-color:ButtonText;border-top-color:Highlight}}@media print{.image-loading,.loading-spinner{display:none}.image-error:after{content:"[Image not available]";font-size:12px;color:#000}.image-container{break-inside:avoid;box-shadow:none}}
