:root{--lsos-focus-ring:var(--shale-focus-ring,2px solid var(--shale-cyan,#3fe0ff));--lsos-focus-offset:var(--shale-focus-offset,2px)}.lsos-focus-ring:focus{outline:none}.lsos-focus-ring:focus-visible,input[type=range].lsos-slider:focus-visible,.lsos-slider input[type=range]:focus-visible{outline:var(--lsos-focus-ring);outline-offset:var(--lsos-focus-offset)}@media (prefers-contrast:more){:root{--lsos-focus-ring:3px solid var(--shale-cyan,#3fe0ff)}}.lsos-card{background:var(--card);border:var(--border-width,1px) solid var(--card-border);border-radius:var(--shale-radius-card,var(--radius-md));box-shadow:var(--card-shadow);padding:var(--shale-card-padding,var(--space-4));transition:var(--a6-transition-shadow,box-shadow var(--transition-normal)), var(--a6-transition-transform,transform var(--transition-normal));display:block}.lsos-card--elevated{box-shadow:var(--shale-shadow-elevated,var(--card-shadow-elevated))}.lsos-card--interactive{cursor:pointer}.lsos-card--interactive:focus-visible{outline:var(--shale-focus-ring,2px solid var(--input-border-focus));outline-offset:var(--shale-focus-offset,2px)}@media (hover:hover) and (pointer:fine){.lsos-card--interactive:hover{box-shadow:var(--shale-shadow-elevated,var(--card-shadow-elevated));transform:translateY(calc(var(--shale-motion-slide-distance,var(--motion-translate-enter)) * -1))}}.lsos-card--sm{padding:var(--shale-card-padding-sm,var(--space-3));border-radius:var(--shale-radius-sm,var(--radius-md))}.lsos-card--lg{padding:var(--shale-card-padding-lg,var(--space-6));border-radius:var(--shale-radius-lg,var(--radius-xl))}.lsos-button{justify-content:center;align-items:center;gap:var(--shale-btn-icon-gap,var(--space-2));min-height:var(--shale-btn-height-md,var(--shale-min-touch,44px));min-width:var(--shale-btn-height-md,var(--shale-min-touch,44px));padding:var(--space-2) var(--space-4);font-family:var(--font-family-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);border-radius:var(--shale-radius-sm,var(--radius-md));border:var(--border-width,1px) solid transparent;cursor:pointer;transition:var(--a6-transition-bg), var(--a6-transition-color), var(--a6-transition-shadow), var(--a6-transition-transform);display:inline-flex}.lsos-button--with-icon:not(.lsos-button--icon){gap:var(--shale-btn-gap,var(--space-2))}.lsos-button__icon{width:var(--shale-btn-icon-size);height:var(--shale-btn-icon-size);flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex}.lsos-button__icon svg{width:100%;height:100%}.lsos-button--sm{min-height:var(--shale-btn-height-sm);min-width:var(--shale-btn-height-sm);padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);gap:var(--space-1)}.lsos-button--lg{min-height:var(--shale-btn-height-lg);padding:var(--space-3) var(--space-6);font-size:var(--font-size-base)}.lsos-button--primary{background:var(--button-primary-bg);color:var(--button-primary-text)}.lsos-button--primary:hover:not(:disabled){background:var(--button-primary-hover);box-shadow:var(--shale-shadow,var(--shadow-sm))}.lsos-button--primary:active:not(:disabled){background:var(--button-primary-active)}.lsos-button--primary:disabled{background:var(--button-primary-disabled);color:var(--button-primary-text)}.lsos-button--secondary{background:var(--button-secondary-bg);color:var(--button-secondary-text);border-color:var(--border-light)}.lsos-button--secondary:hover:not(:disabled){background:var(--button-secondary-hover)}.lsos-button--secondary:active:not(:disabled){background:var(--button-secondary-active)}.lsos-button--secondary:disabled{background:var(--button-secondary-disabled);color:var(--state-disabled-text)}.lsos-button--ghost{background:var(--button-ghost-bg);color:var(--button-ghost-text)}.lsos-button--ghost:hover:not(:disabled){background:var(--button-ghost-hover)}.lsos-button--ghost:active:not(:disabled){background:var(--state-active)}.lsos-button:active:not(:disabled){transform:scale(var(--shale-motion-scale-press,var(--motion-scale-press)))}.lsos-button:focus-visible{outline:var(--shale-focus-ring,2px solid var(--input-border-focus));outline-offset:var(--shale-focus-offset,2px)}.lsos-button:disabled{opacity:var(--a6-disabled-opacity,.55);cursor:not-allowed;box-shadow:none;transform:none}.lsos-badge{align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);background:var(--primary-light);color:var(--primary-dark);display:inline-flex}.lsos-badge--success{background:var(--color-success-light);color:var(--color-success)}.lsos-badge--warning{background:var(--color-warning-light);color:var(--color-warning)}.lsos-badge--error{background:var(--color-error-light);color:var(--color-error)}.lsos-empty-state{text-align:center;padding:var(--space-6) var(--space-4);color:var(--text-secondary);background:var(--surface);border:1px dashed var(--border-light);border-radius:var(--radius-md)}.lsos-empty-state__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text);margin:0 0 var(--space-2);display:block}.lsos-empty-state__hint{font-size:var(--font-size-sm);margin:0 0 var(--space-4);color:var(--text-secondary)}.lsos-empty-state__action{margin-top:var(--space-3)}.lsos-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lsos-list--divided .lsos-list__item+.lsos-list__item{border-top:1px solid var(--border-light);padding-top:var(--space-2)}.lsos-list__item{border-radius:var(--shale-radius-sm,var(--radius-sm))}.lsos-input-wrap{gap:var(--space-1);flex-direction:column;display:flex}.lsos-input-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text)}.lsos-input{min-height:var(--shale-btn-height-md,var(--shale-min-touch,44px));padding:var(--space-2) var(--space-3);font-family:var(--font-family-body);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--input-text);background:var(--input-bg);border:var(--border-width,1px) solid var(--input-border);border-radius:var(--shale-radius-sm,var(--radius-md));transition:var(--a6-transition-bg), border-color var(--motion-duration-fast) var(--motion-ease-standard)}.lsos-input::placeholder{color:var(--input-placeholder)}.lsos-input:focus-visible{outline:var(--shale-focus-ring,2px solid var(--input-border-focus));outline-offset:var(--shale-focus-offset,2px);border-color:var(--input-border-focus)}.lsos-input--error,.lsos-input[aria-invalid=true]{border-color:var(--input-border-error,var(--shale-status-error))}.lsos-input--error:focus-visible,.lsos-input[aria-invalid=true]:focus-visible{outline-color:var(--input-border-error,var(--shale-status-error));border-color:var(--input-border-error,var(--shale-status-error))}.lsos-input:disabled{background:var(--input-disabled-bg,var(--state-disabled));color:var(--input-disabled-text,var(--state-disabled-text));cursor:not-allowed;opacity:var(--a6-disabled-opacity,.55)}.lsos-input-hint{font-size:var(--font-size-xs);color:var(--text-secondary)}.lsos-input-hint--error{color:var(--color-error,var(--shale-status-error));font-weight:var(--font-weight-medium)}.lsos-modal-backdrop{background:var(--shale-modal-backdrop,var(--modal-bg));z-index:var(--z-modal-backdrop);padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lsos-modal{background:var(--card);border:var(--border-width,1px) solid var(--card-border);border-radius:var(--shale-radius-lg,var(--radius-lg));box-shadow:var(--shale-shadow-lg,var(--shadow-xl));width:100%;max-width:32rem;max-height:90vh;z-index:var(--z-modal);overflow:auto}.lsos-modal__header{padding:var(--space-4) var(--space-6);border-bottom:var(--border-width,1px) solid var(--border-light);justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.lsos-modal__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.lsos-modal__body{padding:var(--space-6)}.lsos-modal__footer{padding:var(--space-4) var(--space-6);border-top:var(--border-width,1px) solid var(--border-light);justify-content:flex-end;gap:var(--space-2);display:flex}.lsos-tabs__list{gap:var(--space-1);border-bottom:var(--border-width,1px) solid var(--border-light);display:flex}.lsos-tabs__tab{padding:var(--space-2) var(--space-4);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;min-height:var(--shale-btn-height-md,var(--shale-min-touch,44px));transition:var(--a6-transition-color), border-color var(--motion-duration-fast) var(--motion-ease-standard);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px}.lsos-tabs__tab[aria-selected=true]{color:var(--primary-dark);border-bottom-color:var(--primary)}.lsos-tabs__tab:focus-visible{outline:var(--shale-focus-ring);outline-offset:var(--shale-focus-offset)}.lsos-tabs__panel{padding:var(--space-4) 0}.lsos-tabs__panel:focus-visible{outline:var(--shale-focus-ring);outline-offset:var(--shale-focus-offset)}.lsos-skeleton{background:linear-gradient(90deg, var(--surface) 0%, var(--surface-variant) 50%, var(--surface) 100%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.2s ease-in-out infinite lsos-shimmer}@keyframes lsos-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.lsos-skeleton{background:var(--surface-variant);animation:none}.lsos-button,.lsos-card--interactive,.lsos-list__item{transition:none;animation:none;transform:none}}.lsos-toast{bottom:calc(var(--shale-safe-bottom,0px) + var(--space-4));z-index:var(--z-tooltip);align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text);background:var(--card);border:1px solid var(--color-success);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:lsos-toast-in var(--transition-normal) ease-out;display:inline-flex;position:fixed;left:50%;transform:translate(-50%)}@keyframes lsos-toast-in{0%{opacity:0;transform:translate(-50%)translateY(.5rem)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (prefers-reduced-motion:reduce){.lsos-toast{animation:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
