:root{--md-sys-color-primary: #415F91;--md-sys-color-on-primary: #FFFFFF;--md-sys-color-primary-container: #D6E3FF;--md-sys-color-on-primary-container: #001B3E;--md-sys-color-primary-fixed: #D6E3FF;--md-sys-color-on-primary-fixed: #001B3E;--md-sys-color-primary-fixed-dim: #AAC7FF;--md-sys-color-on-primary-fixed-variant: #284777;--md-sys-color-secondary: #565F71;--md-sys-color-on-secondary: #FFFFFF;--md-sys-color-secondary-container: #DAE2F9;--md-sys-color-on-secondary-container: #131C2B;--md-sys-color-secondary-fixed: #DAE2F9;--md-sys-color-on-secondary-fixed: #131C2B;--md-sys-color-secondary-fixed-dim: #BEC6DC;--md-sys-color-on-secondary-fixed-variant: #3E4759;--md-sys-color-tertiary: #705575;--md-sys-color-on-tertiary: #FFFFFF;--md-sys-color-tertiary-container: #FAD8FD;--md-sys-color-on-tertiary-container: #28132F;--md-sys-color-tertiary-fixed: #FAD8FD;--md-sys-color-on-tertiary-fixed: #28132F;--md-sys-color-tertiary-fixed-dim: #DDBCE0;--md-sys-color-on-tertiary-fixed-variant: #573E5C;--md-sys-color-error: #BA1A1A;--md-sys-color-on-error: #FFFFFF;--md-sys-color-error-container: #FFDAD6;--md-sys-color-on-error-container: #410002;--md-sys-color-success: #386A20;--md-sys-color-on-success: #FFFFFF;--md-sys-color-success-container: #B8F397;--md-sys-color-on-success-container: #042100;--md-sys-color-surface: #F9F9FF;--md-sys-color-on-surface: #191C20;--md-sys-color-surface-variant: #E0E2EC;--md-sys-color-on-surface-variant: #44474E;--md-sys-color-surface-container-lowest: #FFFFFF;--md-sys-color-surface-container-low: #F3F3FA;--md-sys-color-surface-container: #EDEDF4;--md-sys-color-surface-container-high: #E7E8EE;--md-sys-color-surface-container-highest: #E2E2E9;--md-sys-color-surface-tint: #415F91;--md-sys-color-inverse-surface: #2E3036;--md-sys-color-inverse-on-surface: #F0F0F7;--md-sys-color-inverse-primary: #AAC7FF;--md-sys-color-outline: #74777F;--md-sys-color-outline-variant: #C4C6D0;--md-sys-color-background: #F9F9FF;--md-sys-color-on-background: #191C20;--md-sys-color-scrim: #000000;--md-sys-color-shadow: #000000;--md-sys-state-hover-opacity: .08;--md-sys-state-focus-opacity: .12;--md-sys-state-pressed-opacity: .12;--md-sys-state-dragged-opacity: .16;--md-legacy-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%)}[data-theme=dark],.dark-theme{--md-sys-color-primary: #AAC7FF;--md-sys-color-on-primary: #0A305F;--md-sys-color-primary-container: #284777;--md-sys-color-on-primary-container: #D6E3FF;--md-sys-color-secondary: #BEC6DC;--md-sys-color-on-secondary: #283141;--md-sys-color-secondary-container: #3E4759;--md-sys-color-on-secondary-container: #DAE2F9;--md-sys-color-tertiary: #DDBCE0;--md-sys-color-on-tertiary: #3F2844;--md-sys-color-tertiary-container: #573E5C;--md-sys-color-on-tertiary-container: #FAD8FD;--md-sys-color-error: #FFB4AB;--md-sys-color-on-error: #690005;--md-sys-color-error-container: #93000A;--md-sys-color-on-error-container: #FFDAD6;--md-sys-color-success: #9DD67D;--md-sys-color-on-success: #0F3900;--md-sys-color-success-container: #1D5209;--md-sys-color-on-success-container: #B8F397;--md-sys-color-surface: #111318;--md-sys-color-on-surface: #E2E2E9;--md-sys-color-surface-variant: #44474E;--md-sys-color-on-surface-variant: #C4C6D0;--md-sys-color-surface-container-lowest: #0C0E13;--md-sys-color-surface-container-low: #191C20;--md-sys-color-surface-container: #1D2024;--md-sys-color-surface-container-high: #282A2F;--md-sys-color-surface-container-highest: #33353A;--md-sys-color-surface-tint: #AAC7FF;--md-sys-color-inverse-surface: #E2E2E9;--md-sys-color-inverse-on-surface: #2E3036;--md-sys-color-inverse-primary: #415F91;--md-sys-color-outline: #8E9099;--md-sys-color-outline-variant: #44474E;--md-sys-color-background: #111318;--md-sys-color-on-background: #E2E2E9}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--md-sys-color-primary: #AAC7FF;--md-sys-color-on-primary: #0A305F;--md-sys-color-primary-container: #284777;--md-sys-color-on-primary-container: #D6E3FF;--md-sys-color-secondary: #BEC6DC;--md-sys-color-on-secondary: #283141;--md-sys-color-secondary-container: #3E4759;--md-sys-color-on-secondary-container: #DAE2F9;--md-sys-color-tertiary: #DDBCE0;--md-sys-color-on-tertiary: #3F2844;--md-sys-color-tertiary-container: #573E5C;--md-sys-color-on-tertiary-container: #FAD8FD;--md-sys-color-error: #FFB4AB;--md-sys-color-on-error: #690005;--md-sys-color-error-container: #93000A;--md-sys-color-on-error-container: #FFDAD6;--md-sys-color-success: #9DD67D;--md-sys-color-on-success: #0F3900;--md-sys-color-success-container: #1D5209;--md-sys-color-on-success-container: #B8F397;--md-sys-color-surface: #111318;--md-sys-color-on-surface: #E2E2E9;--md-sys-color-surface-variant: #44474E;--md-sys-color-on-surface-variant: #C4C6D0;--md-sys-color-surface-container-lowest: #0C0E13;--md-sys-color-surface-container-low: #191C20;--md-sys-color-surface-container: #1D2024;--md-sys-color-surface-container-high: #282A2F;--md-sys-color-surface-container-highest: #33353A;--md-sys-color-surface-tint: #AAC7FF;--md-sys-color-inverse-surface: #E2E2E9;--md-sys-color-inverse-on-surface: #2E3036;--md-sys-color-inverse-primary: #415F91;--md-sys-color-outline: #8E9099;--md-sys-color-outline-variant: #44474E;--md-sys-color-background: #111318;--md-sys-color-on-background: #E2E2E9}}:root{--md-sys-typescale-font-family-plain: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--md-sys-typescale-font-family-brand: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--md-sys-typescale-display-large-font-family: var(--md-sys-typescale-font-family-brand);--md-sys-typescale-display-large-font-size: 57px;--md-sys-typescale-display-large-font-weight: 400;--md-sys-typescale-display-large-line-height: 64px;--md-sys-typescale-display-large-letter-spacing: -.25px;--md-sys-typescale-display-medium-font-family: var(--md-sys-typescale-font-family-brand);--md-sys-typescale-display-medium-font-size: 45px;--md-sys-typescale-display-medium-font-weight: 400;--md-sys-typescale-display-medium-line-height: 52px;--md-sys-typescale-display-medium-letter-spacing: 0;--md-sys-typescale-display-small-font-family: var(--md-sys-typescale-font-family-brand);--md-sys-typescale-display-small-font-size: 36px;--md-sys-typescale-display-small-font-weight: 400;--md-sys-typescale-display-small-line-height: 44px;--md-sys-typescale-display-small-letter-spacing: 0;--md-sys-typescale-headline-large-font-family: var(--md-sys-typescale-font-family-brand);--md-sys-typescale-headline-large-font-size: 32px;--md-sys-typescale-headline-large-font-weight: 400;--md-sys-typescale-headline-large-line-height: 40px;--md-sys-typescale-headline-large-letter-spacing: 0;--md-sys-typescale-headline-medium-font-family: var(--md-sys-typescale-font-family-brand);--md-sys-typescale-headline-medium-font-size: 28px;--md-sys-typescale-headline-medium-font-weight: 400;--md-sys-typescale-headline-medium-line-height: 36px;--md-sys-typescale-headline-medium-letter-spacing: 0;--md-sys-typescale-headline-small-font-family: var(--md-sys-typescale-font-family-brand);--md-sys-typescale-headline-small-font-size: 24px;--md-sys-typescale-headline-small-font-weight: 400;--md-sys-typescale-headline-small-line-height: 32px;--md-sys-typescale-headline-small-letter-spacing: 0;--md-sys-typescale-title-large-font-family: var(--md-sys-typescale-font-family-brand);--md-sys-typescale-title-large-font-size: 22px;--md-sys-typescale-title-large-font-weight: 400;--md-sys-typescale-title-large-line-height: 28px;--md-sys-typescale-title-large-letter-spacing: 0;--md-sys-typescale-title-medium-font-family: var(--md-sys-typescale-font-family-plain);--md-sys-typescale-title-medium-font-size: 16px;--md-sys-typescale-title-medium-font-weight: 500;--md-sys-typescale-title-medium-line-height: 24px;--md-sys-typescale-title-medium-letter-spacing: .15px;--md-sys-typescale-title-small-font-family: var(--md-sys-typescale-font-family-plain);--md-sys-typescale-title-small-font-size: 14px;--md-sys-typescale-title-small-font-weight: 500;--md-sys-typescale-title-small-line-height: 20px;--md-sys-typescale-title-small-letter-spacing: .1px;--md-sys-typescale-body-large-font-family: var(--md-sys-typescale-font-family-plain);--md-sys-typescale-body-large-font-size: 16px;--md-sys-typescale-body-large-font-weight: 400;--md-sys-typescale-body-large-line-height: 24px;--md-sys-typescale-body-large-letter-spacing: .5px;--md-sys-typescale-body-medium-font-family: var(--md-sys-typescale-font-family-plain);--md-sys-typescale-body-medium-font-size: 14px;--md-sys-typescale-body-medium-font-weight: 400;--md-sys-typescale-body-medium-line-height: 20px;--md-sys-typescale-body-medium-letter-spacing: .25px;--md-sys-typescale-body-small-font-family: var(--md-sys-typescale-font-family-plain);--md-sys-typescale-body-small-font-size: 12px;--md-sys-typescale-body-small-font-weight: 400;--md-sys-typescale-body-small-line-height: 16px;--md-sys-typescale-body-small-letter-spacing: .4px;--md-sys-typescale-label-large-font-family: var(--md-sys-typescale-font-family-plain);--md-sys-typescale-label-large-font-size: 14px;--md-sys-typescale-label-large-font-weight: 500;--md-sys-typescale-label-large-line-height: 20px;--md-sys-typescale-label-large-letter-spacing: .1px;--md-sys-typescale-label-medium-font-family: var(--md-sys-typescale-font-family-plain);--md-sys-typescale-label-medium-font-size: 12px;--md-sys-typescale-label-medium-font-weight: 500;--md-sys-typescale-label-medium-line-height: 16px;--md-sys-typescale-label-medium-letter-spacing: .5px;--md-sys-typescale-label-small-font-family: var(--md-sys-typescale-font-family-plain);--md-sys-typescale-label-small-font-size: 11px;--md-sys-typescale-label-small-font-weight: 500;--md-sys-typescale-label-small-line-height: 16px;--md-sys-typescale-label-small-letter-spacing: .5px}.md-display-large{font-family:var(--md-sys-typescale-display-large-font-family);font-size:var(--md-sys-typescale-display-large-font-size);font-weight:var(--md-sys-typescale-display-large-font-weight);line-height:var(--md-sys-typescale-display-large-line-height);letter-spacing:var(--md-sys-typescale-display-large-letter-spacing)}.md-display-medium{font-family:var(--md-sys-typescale-display-medium-font-family);font-size:var(--md-sys-typescale-display-medium-font-size);font-weight:var(--md-sys-typescale-display-medium-font-weight);line-height:var(--md-sys-typescale-display-medium-line-height);letter-spacing:var(--md-sys-typescale-display-medium-letter-spacing)}.md-display-small{font-family:var(--md-sys-typescale-display-small-font-family);font-size:var(--md-sys-typescale-display-small-font-size);font-weight:var(--md-sys-typescale-display-small-font-weight);line-height:var(--md-sys-typescale-display-small-line-height);letter-spacing:var(--md-sys-typescale-display-small-letter-spacing)}.md-headline-large{font-family:var(--md-sys-typescale-headline-large-font-family);font-size:var(--md-sys-typescale-headline-large-font-size);font-weight:var(--md-sys-typescale-headline-large-font-weight);line-height:var(--md-sys-typescale-headline-large-line-height);letter-spacing:var(--md-sys-typescale-headline-large-letter-spacing)}.md-headline-medium{font-family:var(--md-sys-typescale-headline-medium-font-family);font-size:var(--md-sys-typescale-headline-medium-font-size);font-weight:var(--md-sys-typescale-headline-medium-font-weight);line-height:var(--md-sys-typescale-headline-medium-line-height);letter-spacing:var(--md-sys-typescale-headline-medium-letter-spacing)}.md-headline-small{font-family:var(--md-sys-typescale-headline-small-font-family);font-size:var(--md-sys-typescale-headline-small-font-size);font-weight:var(--md-sys-typescale-headline-small-font-weight);line-height:var(--md-sys-typescale-headline-small-line-height);letter-spacing:var(--md-sys-typescale-headline-small-letter-spacing)}.md-title-large{font-family:var(--md-sys-typescale-title-large-font-family);font-size:var(--md-sys-typescale-title-large-font-size);font-weight:var(--md-sys-typescale-title-large-font-weight);line-height:var(--md-sys-typescale-title-large-line-height);letter-spacing:var(--md-sys-typescale-title-large-letter-spacing)}.md-title-medium{font-family:var(--md-sys-typescale-title-medium-font-family);font-size:var(--md-sys-typescale-title-medium-font-size);font-weight:var(--md-sys-typescale-title-medium-font-weight);line-height:var(--md-sys-typescale-title-medium-line-height);letter-spacing:var(--md-sys-typescale-title-medium-letter-spacing)}.md-title-small{font-family:var(--md-sys-typescale-title-small-font-family);font-size:var(--md-sys-typescale-title-small-font-size);font-weight:var(--md-sys-typescale-title-small-font-weight);line-height:var(--md-sys-typescale-title-small-line-height);letter-spacing:var(--md-sys-typescale-title-small-letter-spacing)}.md-body-large{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);font-weight:var(--md-sys-typescale-body-large-font-weight);line-height:var(--md-sys-typescale-body-large-line-height);letter-spacing:var(--md-sys-typescale-body-large-letter-spacing)}.md-body-medium{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);font-weight:var(--md-sys-typescale-body-medium-font-weight);line-height:var(--md-sys-typescale-body-medium-line-height);letter-spacing:var(--md-sys-typescale-body-medium-letter-spacing)}.md-body-small{font-family:var(--md-sys-typescale-body-small-font-family);font-size:var(--md-sys-typescale-body-small-font-size);font-weight:var(--md-sys-typescale-body-small-font-weight);line-height:var(--md-sys-typescale-body-small-line-height);letter-spacing:var(--md-sys-typescale-body-small-letter-spacing)}.md-label-large{font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);line-height:var(--md-sys-typescale-label-large-line-height);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing)}.md-label-medium{font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:var(--md-sys-typescale-label-medium-font-weight);line-height:var(--md-sys-typescale-label-medium-line-height);letter-spacing:var(--md-sys-typescale-label-medium-letter-spacing)}.md-label-small{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);font-weight:var(--md-sys-typescale-label-small-font-weight);line-height:var(--md-sys-typescale-label-small-line-height);letter-spacing:var(--md-sys-typescale-label-small-letter-spacing)}:root{--md-sys-elevation-level0: none;--md-sys-elevation-level1: 0px 1px 2px rgba(0, 0, 0, .3), 0px 1px 3px 1px rgba(0, 0, 0, .15);--md-sys-elevation-level2: 0px 1px 2px rgba(0, 0, 0, .3), 0px 2px 6px 2px rgba(0, 0, 0, .15);--md-sys-elevation-level3: 0px 4px 8px 3px rgba(0, 0, 0, .15), 0px 1px 3px rgba(0, 0, 0, .3);--md-sys-elevation-level4: 0px 6px 10px 4px rgba(0, 0, 0, .15), 0px 2px 3px rgba(0, 0, 0, .3);--md-sys-elevation-level5: 0px 8px 12px 6px rgba(0, 0, 0, .15), 0px 4px 4px rgba(0, 0, 0, .3);--md-sys-shape-corner-none: 0px;--md-sys-shape-corner-extra-small: 4px;--md-sys-shape-corner-small: 8px;--md-sys-shape-corner-medium: 12px;--md-sys-shape-corner-large: 16px;--md-sys-shape-corner-extra-large: 28px;--md-sys-shape-corner-full: 9999px}.md-elevation-0{box-shadow:var(--md-sys-elevation-level0)}.md-elevation-1{box-shadow:var(--md-sys-elevation-level1)}.md-elevation-2{box-shadow:var(--md-sys-elevation-level2)}.md-elevation-3{box-shadow:var(--md-sys-elevation-level3)}.md-elevation-4{box-shadow:var(--md-sys-elevation-level4)}.md-elevation-5{box-shadow:var(--md-sys-elevation-level5)}.md-shape-none{border-radius:var(--md-sys-shape-corner-none)}.md-shape-extra-small{border-radius:var(--md-sys-shape-corner-extra-small)}.md-shape-small{border-radius:var(--md-sys-shape-corner-small)}.md-shape-medium{border-radius:var(--md-sys-shape-corner-medium)}.md-shape-large{border-radius:var(--md-sys-shape-corner-large)}.md-shape-extra-large{border-radius:var(--md-sys-shape-corner-extra-large)}.md-shape-full{border-radius:var(--md-sys-shape-corner-full)}.md-surface-tint{position:relative}.md-surface-tint:after{content:"";position:absolute;inset:0;background:var(--md-sys-color-surface-tint);opacity:0;pointer-events:none;border-radius:inherit}[data-theme=dark] .md-elevation-1:after,.dark-theme .md-elevation-1:after{opacity:.05}[data-theme=dark] .md-elevation-2:after,.dark-theme .md-elevation-2:after{opacity:.08}[data-theme=dark] .md-elevation-3:after,.dark-theme .md-elevation-3:after{opacity:.11}[data-theme=dark] .md-elevation-4:after,.dark-theme .md-elevation-4:after{opacity:.12}[data-theme=dark] .md-elevation-5:after,.dark-theme .md-elevation-5:after{opacity:.14}:root{--md-sys-motion-easing-standard: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-standard-accelerate: cubic-bezier(.3, 0, 1, 1);--md-sys-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0, 1);--md-sys-motion-easing-emphasized: cubic-bezier(.2, 0, 0, 1);--md-sys-motion-easing-emphasized-accelerate: cubic-bezier(.3, 0, .8, .15);--md-sys-motion-easing-emphasized-decelerate: cubic-bezier(.05, .7, .1, 1);--md-sys-motion-easing-linear: linear;--md-sys-motion-duration-short1: 50ms;--md-sys-motion-duration-short2: .1s;--md-sys-motion-duration-short3: .15s;--md-sys-motion-duration-short4: .2s;--md-sys-motion-duration-medium1: .25s;--md-sys-motion-duration-medium2: .3s;--md-sys-motion-duration-medium3: .35s;--md-sys-motion-duration-medium4: .4s;--md-sys-motion-duration-long1: .45s;--md-sys-motion-duration-long2: .5s;--md-sys-motion-duration-long3: .55s;--md-sys-motion-duration-long4: .6s;--md-sys-motion-duration-extra-long1: .7s;--md-sys-motion-duration-extra-long2: .8s;--md-sys-motion-duration-extra-long3: .9s;--md-sys-motion-duration-extra-long4: 1s}@keyframes md-fade-in{0%{opacity:0}to{opacity:1}}@keyframes md-fade-out{0%{opacity:1}to{opacity:0}}@keyframes md-scale-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes md-scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes md-slide-in-bottom{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes md-slide-out-bottom{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}@keyframes md-slide-in-right{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes md-slide-in-left{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes md-ripple{0%{transform:scale(0);opacity:.4}to{transform:scale(4);opacity:0}}@keyframes md-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes md-skeleton{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes md-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.md-transition-standard{transition-timing-function:var(--md-sys-motion-easing-standard);transition-duration:var(--md-sys-motion-duration-medium2)}.md-transition-emphasized{transition-timing-function:var(--md-sys-motion-easing-emphasized);transition-duration:var(--md-sys-motion-duration-medium4)}.md-transition-fast{transition-timing-function:var(--md-sys-motion-easing-standard);transition-duration:var(--md-sys-motion-duration-short3)}.md-transition-slow{transition-timing-function:var(--md-sys-motion-easing-emphasized);transition-duration:var(--md-sys-motion-duration-long2)}.md-animate-fade-in{animation:md-fade-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard-decelerate)}.md-animate-scale-in{animation:md-scale-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized-decelerate)}.md-animate-slide-in-bottom{animation:md-slide-in-bottom var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized-decelerate)}.md-animate-slide-in-right{animation:md-slide-in-right var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized-decelerate)}.md-animate-pulse{animation:md-pulse 2s var(--md-sys-motion-easing-linear) infinite}.md-animate-shake{animation:md-shake .5s var(--md-sys-motion-easing-standard)}.md-skeleton{background:linear-gradient(90deg,var(--md-sys-color-surface-container) 25%,var(--md-sys-color-surface-container-high) 50%,var(--md-sys-color-surface-container) 75%);background-size:200% 100%;animation:md-skeleton 1.5s var(--md-sys-motion-easing-linear) infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden;max-width:100vw;height:100%;height:var(--vh, 100%);font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--md-sys-typescale-font-family-plain);font-size:var(--md-sys-typescale-body-large-font-size);line-height:var(--md-sys-typescale-body-large-line-height);letter-spacing:var(--md-sys-typescale-body-large-letter-spacing);background:var(--md-sys-color-background);color:var(--md-sys-color-on-background);height:100%;overflow:hidden;overflow-x:hidden;max-width:100vw}.screen{width:100%;height:100vh;height:100dvh}.hidden{display:none!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-full);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--md-sys-color-outline);border:2px solid transparent;background-clip:padding-box}*{scrollbar-width:thin;scrollbar-color:var(--md-sys-color-outline-variant) transparent}::selection{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}a{color:var(--md-sys-color-primary);text-decoration:none;transition:color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}a:hover{color:var(--md-sys-color-primary);text-decoration:underline}button{font-family:inherit;cursor:pointer;border:none;background:none}button:disabled{cursor:not-allowed;opacity:.38}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}input::placeholder,textarea::placeholder{color:var(--md-sys-color-on-surface-variant);opacity:1}img{max-width:100%;height:auto;display:block}.md-state-layer{position:relative;overflow:hidden}.md-state-layer:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);pointer-events:none;border-radius:inherit}.md-state-layer:hover:before{opacity:var(--md-sys-state-hover-opacity)}.md-state-layer:focus-visible:before{opacity:var(--md-sys-state-focus-opacity)}.md-state-layer:active:before{opacity:var(--md-sys-state-pressed-opacity)}.md-ripple{position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.md-ripple-wave{position:absolute;border-radius:50%;background:currentColor;opacity:0;transform:scale(0);pointer-events:none;animation:md-ripple-expand .45s var(--md-sys-motion-easing-standard) forwards}@keyframes md-ripple-expand{0%{transform:scale(0);opacity:.15}to{transform:scale(2.5);opacity:0}}button,.btn-primary,.btn-secondary,.chat-item,.contact-item,.sidebar-tab,.auth-tab,.icon-btn,.attach-btn,.emoji-btn,.chat-search-btn,[role=button]{position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent}.md-surface{background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface)}.md-surface-container-lowest{background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface)}.md-surface-container-low{background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface)}.md-surface-container{background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface)}.md-surface-container-high{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface)}.md-surface-container-highest{background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface)}.md-divider{height:1px;background:var(--md-sys-color-outline-variant)}.md-divider-inset{margin-left:16px;margin-right:16px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:root{--z-index-drawer: 100;--z-index-app-bar: 200;--z-index-modal: 1000;--z-index-snackbar: 1100;--z-index-tooltip: 1200}.btn-primary{flex:1;padding:16px 24px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing);cursor:pointer;transition:box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.btn-primary:hover{box-shadow:var(--md-sys-elevation-level1)}.btn-primary:hover:before{opacity:var(--md-sys-state-hover-opacity)}.btn-primary:active{transform:scale(.98)}.btn-primary:active:before{opacity:var(--md-sys-state-pressed-opacity)}.btn-primary:disabled{background:var(--md-sys-color-on-surface);color:var(--md-sys-color-surface);opacity:.12;cursor:not-allowed;box-shadow:none}.btn-primary-small{padding:10px 20px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:var(--md-sys-typescale-label-medium-font-weight);letter-spacing:var(--md-sys-typescale-label-medium-letter-spacing);cursor:pointer;white-space:nowrap;transition:box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden}.btn-primary-small:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.btn-primary-small:hover{box-shadow:var(--md-sys-elevation-level1)}.btn-primary-small:hover:before{opacity:var(--md-sys-state-hover-opacity)}.btn-secondary-small{padding:10px 20px;background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:var(--md-sys-typescale-label-medium-font-weight);letter-spacing:var(--md-sys-typescale-label-medium-letter-spacing);cursor:pointer;white-space:nowrap;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.btn-secondary-small:hover{background:var(--md-sys-color-surface-container-high)}.btn-secondary{flex:1;padding:16px 24px;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing);cursor:pointer;transition:box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden}.btn-secondary:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.btn-secondary:hover:before{opacity:var(--md-sys-state-hover-opacity)}.btn-secondary:active{transform:scale(.98)}.btn-secondary:active:before{opacity:var(--md-sys-state-pressed-opacity)}.btn-success{padding:12px 24px;background:var(--md-sys-color-success-container);color:var(--md-sys-color-on-success-container);border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing);cursor:pointer;transition:box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden}.btn-success:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.btn-success:hover{box-shadow:var(--md-sys-elevation-level1)}.btn-success:hover:before{opacity:var(--md-sys-state-hover-opacity)}.btn-danger{width:100%;padding:16px 24px;background:var(--md-sys-color-error);color:var(--md-sys-color-on-error);border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing);cursor:pointer;transition:box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden}.btn-danger:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.btn-danger:hover{box-shadow:var(--md-sys-elevation-level1)}.btn-danger:hover:before{opacity:var(--md-sys-state-hover-opacity)}.btn-danger:active{transform:scale(.98)}.btn-delete{padding:8px 16px;background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:var(--md-sys-typescale-label-medium-font-weight);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.btn-delete:hover{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}.btn-delete:disabled{background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);opacity:.38;cursor:not-allowed}.btn-password{padding:8px 16px;background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.btn-password:hover{background:var(--md-sys-color-tertiary);color:var(--md-sys-color-on-tertiary)}.btn-outlined{padding:16px 24px;background:transparent;color:var(--md-sys-color-primary);border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden}.btn-outlined:before{content:"";position:absolute;inset:0;background:var(--md-sys-color-primary);opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.btn-outlined:hover:before{opacity:var(--md-sys-state-hover-opacity)}.btn-outlined:hover{border-color:var(--md-sys-color-primary)}.btn-text{padding:10px 16px;background:transparent;color:var(--md-sys-color-primary);border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden}.btn-text:before{content:"";position:absolute;inset:0;background:var(--md-sys-color-primary);opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.btn-text:hover:before{opacity:var(--md-sys-state-hover-opacity)}.btn-icon{width:48px;height:48px;padding:0;background:transparent;color:var(--md-sys-color-on-surface-variant);border:none;border-radius:var(--md-sys-shape-corner-full);font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden}.btn-icon:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);border-radius:inherit}.btn-icon:hover:before{opacity:var(--md-sys-state-hover-opacity)}.btn-icon:active:before{opacity:var(--md-sys-state-pressed-opacity)}.btn-icon:disabled{opacity:.38;cursor:not-allowed}.btn-icon-filled{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.btn-icon-filled:hover{box-shadow:var(--md-sys-elevation-level1)}.btn-icon-tonal{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.btn-fab{width:56px;height:56px;padding:0;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border:none;border-radius:var(--md-sys-shape-corner-large);font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--md-sys-elevation-level3);transition:all var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden}.btn-fab:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);border-radius:inherit}.btn-fab:hover{box-shadow:var(--md-sys-elevation-level4)}.btn-fab:hover:before{opacity:var(--md-sys-state-hover-opacity)}.btn-fab:active:before{opacity:var(--md-sys-state-pressed-opacity)}.btn-fab-small{width:40px;height:40px;font-size:20px;border-radius:var(--md-sys-shape-corner-medium)}.btn-fab-extended{width:auto;padding:16px 20px;gap:8px}.btn-fab-extended span{font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing)}.role-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.role-btn{padding:8px 16px;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant);border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden}.role-btn:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.role-btn:hover:before{opacity:var(--md-sys-state-hover-opacity)}.role-btn.active,.role-btn.selected{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-color:transparent}.role-btn-add{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-color:transparent}.role-btn-add:hover{box-shadow:var(--md-sys-elevation-level1)}.role-buttons-small{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.role-btn-small{padding:6px 12px;border:none;border-radius:var(--md-sys-shape-corner-small);font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:var(--md-sys-typescale-label-medium-font-weight);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.role-btn-small.role-btn-add{background:var(--md-sys-color-success-container);color:var(--md-sys-color-on-success-container)}.role-btn-small.role-btn-add:hover{background:var(--md-sys-color-success);color:var(--md-sys-color-on-success)}.role-btn-small.role-btn-remove{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.role-btn-small.role-btn-remove:hover{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}.user-form,.form-row{margin-bottom:20px}.form-row label{display:block;font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing);color:var(--md-sys-color-on-surface);margin-bottom:8px}.user-form input,.user-form select,.form-row input,.form-row select{width:100%;padding:16px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-extra-small);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);line-height:var(--md-sys-typescale-body-large-line-height);color:var(--md-sys-color-on-surface);background:transparent;margin-bottom:16px;transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),border-width var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.user-form input::placeholder,.form-row input::placeholder{color:var(--md-sys-color-on-surface-variant)}.user-form input:hover,.user-form select:hover,.form-row input:hover,.form-row select:hover{border-color:var(--md-sys-color-on-surface)}.user-form input:focus,.user-form select:focus,.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--md-sys-color-primary);border-width:2px;padding:15px}.search-input{margin-bottom:12px}.form-actions{display:flex;gap:12px;margin-top:24px}.modal{position:fixed;inset:0;background:#00000052;display:flex;justify-content:center;align-items:center;z-index:var(--z-index-modal, 1000);animation:md-fade-in var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.modal-content{background:var(--md-sys-color-surface-container-high);border-radius:var(--md-sys-shape-corner-extra-large);max-width:560px;width:90%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;animation:md-scale-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized-decelerate);box-shadow:var(--md-sys-elevation-level3)}.modal-small{max-width:400px}.modal-medium{max-width:600px}.modal-large{max-width:1000px;height:85vh}.modal-header{padding:24px 24px 16px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-header h2{margin:0;font-family:var(--md-sys-typescale-headline-small-font-family);font-size:var(--md-sys-typescale-headline-small-font-size);font-weight:500;line-height:var(--md-sys-typescale-headline-small-line-height);color:var(--md-sys-color-on-surface);display:flex;align-items:center;gap:6px}.close-btn{background:transparent;border:none;font-size:24px;color:var(--md-sys-color-on-surface-variant);cursor:pointer;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--md-sys-shape-corner-full);transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative}.close-btn:before{content:"";position:absolute;inset:0;background:var(--md-sys-color-on-surface);opacity:0;border-radius:inherit;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.close-btn:hover:before{opacity:var(--md-sys-state-hover-opacity)}.close-btn:active:before{opacity:var(--md-sys-state-pressed-opacity)}.modal-body{padding:0 24px 24px;overflow-y:auto;flex:1}.modal.closing{animation:md-fade-out var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized-accelerate) forwards;pointer-events:none}.modal.closing .modal-content{animation:md-scale-out var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized-accelerate) forwards}.md-card-elevated{background:var(--md-sys-color-surface-container-low);border-radius:var(--md-sys-shape-corner-medium);padding:16px;box-shadow:var(--md-sys-elevation-level1);transition:box-shadow var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.md-card-elevated:hover{box-shadow:var(--md-sys-elevation-level2)}.md-card-filled{background:var(--md-sys-color-surface-container-highest);border-radius:var(--md-sys-shape-corner-medium);padding:16px}.md-card-outlined{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);padding:16px;transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.md-card-outlined:hover{border-color:var(--md-sys-color-outline)}.md-list-item{display:flex;gap:16px;padding:12px 16px;border-radius:0;cursor:pointer;position:relative;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.md-list-item:before{content:"";position:absolute;inset:0;background:var(--md-sys-color-on-surface);opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);pointer-events:none;border-radius:inherit}.md-list-item:hover:before{opacity:var(--md-sys-state-hover-opacity)}.md-list-item:active:before{opacity:var(--md-sys-state-pressed-opacity)}.md-list-item.selected{background:var(--md-sys-color-secondary-container)}.md-list-item-content{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.md-list-item-headline{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);font-weight:500;line-height:var(--md-sys-typescale-body-large-line-height);color:var(--md-sys-color-on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md-list-item-supporting{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);line-height:var(--md-sys-typescale-body-medium-line-height);color:var(--md-sys-color-on-surface-variant);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.md-avatar{width:56px;height:56px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);display:flex;align-items:center;justify-content:center;font-family:var(--md-sys-typescale-title-medium-font-family);font-size:var(--md-sys-typescale-title-medium-font-size);font-weight:var(--md-sys-typescale-title-medium-font-weight);flex-shrink:0;overflow:hidden}.md-avatar img{width:100%;height:100%;object-fit:cover}.md-avatar-small{width:40px;height:40px;font-size:var(--md-sys-typescale-label-large-font-size)}.md-avatar-large{width:120px;height:120px;font-size:var(--md-sys-typescale-headline-medium-font-size)}.md-list-divider{height:1px;background:var(--md-sys-color-outline-variant);margin:0 16px}.md-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--md-sys-color-error);color:var(--md-sys-color-on-error);border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);font-weight:var(--md-sys-typescale-label-small-font-weight);line-height:1}.md-badge-dot{min-width:8px;width:8px;height:8px;padding:0}.md-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;background:transparent;color:var(--md-sys-color-on-surface-variant);border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden}.md-chip:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);pointer-events:none}.md-chip:hover:before{opacity:var(--md-sys-state-hover-opacity)}.md-chip-filter{composes:md-chip}.md-chip-filter.selected{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-color:transparent}.md-chip-assist{composes:md-chip}.md-chip-assist:hover{box-shadow:var(--md-sys-elevation-level1)}.md-segmented-button{display:flex;gap:0;background:var(--md-sys-color-surface-container-high);border-radius:var(--md-sys-shape-corner-full);padding:4px;position:relative}.md-segmented-button-item{flex:1;padding:10px 16px;border:none;background:transparent;color:var(--md-sys-color-on-surface-variant);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing);cursor:pointer;border-radius:var(--md-sys-shape-corner-full);transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative;z-index:1}.md-segmented-button-item:hover{color:var(--md-sys-color-on-surface)}.md-segmented-button-item.active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.md-nav-item{display:flex;align-items:center;gap:12px;padding:12px 24px;border:none;background:transparent;color:var(--md-sys-color-on-surface-variant);border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;width:100%;text-align:left;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden}.md-nav-item:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);pointer-events:none;border-radius:inherit}.md-nav-item:hover:before{opacity:var(--md-sys-state-hover-opacity)}.md-nav-item.active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.md-nav-item.active:before{opacity:0}.md-nav-item-icon{font-size:24px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.md-nav-item-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timesheet-screen{display:flex;flex-direction:column;height:100%;background:var(--md-sys-color-background);overflow-y:auto}.timesheet-header{padding:20px 20px 12px;border-bottom:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-low)}.timesheet-header h2{font-size:22px;font-weight:400;color:var(--md-sys-color-on-surface);margin:0 0 4px;letter-spacing:0}.timesheet-date{font-size:14px;color:var(--md-sys-color-on-surface-variant)}.timesheet-body{flex:1;padding:20px;display:flex;flex-direction:column;gap:16px;max-width:480px;width:100%;margin:0 auto}.timesheet-store-row{display:flex;align-items:center;gap:10px}.timesheet-store-row .ts-field{flex:1}.ts-substitution-chip{display:flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;border:1px solid var(--md-sys-color-outline);background:transparent;color:var(--md-sys-color-on-surface-variant);font-size:14px;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s;height:36px}.ts-substitution-chip:hover{background:color-mix(in srgb,var(--md-sys-color-on-surface) 8%,transparent)}.ts-substitution-chip.active{background:var(--md-sys-color-secondary-container);border-color:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.ts-substitution-chip .material-icons{font-size:16px}.ts-field{display:flex;flex-direction:column;gap:6px}.ts-label{font-size:12px;font-weight:500;color:var(--md-sys-color-on-surface-variant);letter-spacing:.5px;text-transform:uppercase}.ts-select,.ts-input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface);font-size:15px;font-family:inherit;box-sizing:border-box;transition:border-color .15s;appearance:auto}.ts-select:focus,.ts-input:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 1px var(--md-sys-color-primary)}.ts-select:disabled,.ts-input:disabled{background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface-variant);cursor:not-allowed}.ts-textarea{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface);font-size:15px;font-family:inherit;box-sizing:border-box;resize:none;min-height:64px;transition:border-color .15s}.ts-textarea:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 1px var(--md-sys-color-primary)}.ts-textarea:disabled{background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface-variant);cursor:not-allowed}.ts-clock-card{background:var(--md-sys-color-primary-container);border-radius:20px;padding:20px;text-align:center}.ts-clock-time{font-size:52px;font-weight:300;color:var(--md-sys-color-on-primary-container);letter-spacing:4px;font-variant-numeric:tabular-nums;line-height:1}.ts-clock-label{font-size:12px;color:var(--md-sys-color-on-primary-container);opacity:.7;margin-top:6px}.ts-shift-info-card{background:var(--md-sys-color-surface-container);border-radius:16px;padding:14px 16px;display:flex;align-items:center;gap:12px}.ts-shift-info-card .material-icons{color:var(--md-sys-color-primary);font-size:22px}.ts-shift-info-text{flex:1}.ts-shift-info-text strong{display:block;font-size:14px;color:var(--md-sys-color-on-surface)}.ts-shift-info-text span{font-size:12px;color:var(--md-sys-color-on-surface-variant)}.ts-autocomplete-wrapper{position:relative}.ts-autocomplete-list{position:absolute;top:100%;left:0;right:0;background:var(--md-sys-color-surface-container-lowest);border:1px solid var(--md-sys-color-outline-variant);border-radius:12px;margin-top:4px;z-index:100;box-shadow:0 4px 16px #0000001f;max-height:220px;overflow-y:auto}.ts-autocomplete-item{padding:10px 14px;cursor:pointer;font-size:14px;color:var(--md-sys-color-on-surface);border-radius:0;transition:background .1s}.ts-autocomplete-item:first-child{border-radius:12px 12px 0 0}.ts-autocomplete-item:last-child{border-radius:0 0 12px 12px}.ts-autocomplete-item:only-child{border-radius:12px}.ts-autocomplete-item:hover,.ts-autocomplete-item.focused{background:color-mix(in srgb,var(--md-sys-color-primary) 8%,transparent)}.ts-autocomplete-item .item-store{font-size:11px;color:var(--md-sys-color-on-surface-variant);margin-top:2px}.ts-shift-section-wrap{min-height:380px;display:flex;flex-direction:column}.ts-btn-primary{width:100%;padding:14px;border-radius:100px;border:none;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:15px;font-weight:500;font-family:inherit;cursor:pointer;transition:box-shadow .15s,opacity .15s;letter-spacing:.5px}.ts-btn-primary:hover{box-shadow:0 2px 8px #0003}.ts-btn-primary:active{opacity:.9}.ts-btn-primary:disabled{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant);cursor:not-allowed;box-shadow:none}.ts-btn-close{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}.ts-btn-close:hover{box-shadow:0 2px 8px #ba1a1a59}.ts-message{text-align:center;padding:16px;border-radius:16px;font-size:14px}.ts-message.success{background:var(--md-sys-color-success-container);color:var(--md-sys-color-on-success-container)}.ts-message.error{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.admin-shifts-toggle-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:100px;border:1px solid var(--md-sys-color-outline-variant);background:transparent;color:var(--md-sys-color-primary);font-size:14px;font-family:inherit;cursor:pointer;transition:background .15s;margin:16px 0}.admin-shifts-toggle-btn:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 8%,transparent)}.admin-shifts-toggle-btn .material-icons{font-size:18px}.admin-shifts-panel{border-top:1px solid var(--md-sys-color-outline-variant);padding-top:20px;margin-top:8px}.admin-shifts-panel.hidden{display:none}.admin-shifts-panel h3{font-size:18px;font-weight:500;color:var(--md-sys-color-on-surface);margin:0 0 16px}.admin-shifts-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px}.admin-shifts-filters .filter-group{display:flex;flex-direction:column;gap:4px}.admin-shifts-filters label{font-size:12px;font-weight:500;color:var(--md-sys-color-on-surface-variant);text-transform:uppercase;letter-spacing:.5px}.admin-shifts-filters input[type=date],.admin-shifts-filters select{padding:8px 12px;border-radius:10px;border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface);font-size:14px;font-family:inherit}.admin-shifts-filters input[type=date]:focus,.admin-shifts-filters select:focus{outline:none;border-color:var(--md-sys-color-primary)}.admin-shifts-filters .btn-filter{padding:8px 20px;border-radius:100px;border:none;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:14px;font-family:inherit;cursor:pointer;height:38px;align-self:flex-end}.admin-shifts-filters .btn-filter:hover{opacity:.9}.admin-shifts-table-wrap{overflow-x:auto;border-radius:12px;border:1px solid var(--md-sys-color-outline-variant)}.admin-shifts-table{width:100%;border-collapse:collapse;font-size:14px}.admin-shifts-table th{background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface-variant);padding:10px 14px;text-align:left;font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.admin-shifts-table td{padding:10px 14px;border-top:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface);vertical-align:middle}.admin-shifts-table tr:hover td{background:color-mix(in srgb,var(--md-sys-color-primary) 4%,transparent)}.admin-shifts-table tr.shift-open td{background:color-mix(in srgb,var(--md-sys-color-error) 5%,transparent)}.shift-open-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--md-sys-color-error);margin-right:6px;vertical-align:middle}.shift-duration{font-size:12px;color:var(--md-sys-color-on-surface-variant)}.shift-substitution-badge{display:inline-block;font-size:11px;padding:1px 6px;border-radius:4px;background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);margin-left:6px;vertical-align:middle}.btn-close-shift{padding:4px 12px;border-radius:100px;border:1px solid var(--md-sys-color-error);background:transparent;color:var(--md-sys-color-error);font-size:12px;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s}.btn-close-shift:hover{background:var(--md-sys-color-error-container)}.btn-edit-shift{width:32px;height:32px;border-radius:50%;border:none;background:transparent;color:var(--md-sys-color-on-surface-variant);font-size:15px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s}.btn-edit-shift:hover{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.admin-shifts-report-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--md-sys-color-outline-variant)}.admin-shifts-report-section h4{font-size:15px;font-weight:500;color:var(--md-sys-color-on-surface);margin:0 0 12px}.admin-report-filters{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.admin-report-filters .filter-group{display:flex;flex-direction:column;gap:4px}.admin-report-filters label{font-size:12px;font-weight:500;color:var(--md-sys-color-on-surface-variant);text-transform:uppercase;letter-spacing:.5px}.admin-report-filters select,.admin-report-filters input[type=month]{padding:8px 12px;border-radius:10px;border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface);font-size:14px;font-family:inherit}.btn-generate-report{padding:8px 20px;border-radius:100px;border:none;background:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary);font-size:14px;font-family:inherit;cursor:pointer;height:38px;align-self:flex-end;display:flex;align-items:center;gap:6px}.btn-generate-report:hover{opacity:.9}.btn-generate-report .material-icons{font-size:16px}#adminCloseShiftModal .modal-content{max-width:400px}.admin-close-shift-info{background:var(--md-sys-color-surface-container);border-radius:12px;padding:12px 16px;margin-bottom:16px;font-size:14px;color:var(--md-sys-color-on-surface-variant)}.admin-close-shift-info strong{display:block;font-size:15px;color:var(--md-sys-color-on-surface);margin-bottom:2px}.admin-close-shift-fields{display:flex;flex-direction:column;gap:14px}.admin-close-shift-fields .form-group label{display:block;font-size:12px;font-weight:500;color:var(--md-sys-color-on-surface-variant);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.admin-close-shift-fields input[type=datetime-local],.admin-close-shift-fields textarea{width:100%;padding:10px 14px;border-radius:12px;border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface);font-size:14px;font-family:inherit;box-sizing:border-box}.admin-close-shift-fields input[type=datetime-local]:focus,.admin-close-shift-fields textarea:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 1px var(--md-sys-color-primary)}.admin-close-shift-fields textarea{resize:none;min-height:60px}#shiftsReportModal .modal-content{max-width:98vw;width:1200px;max-height:90vh;overflow-y:auto}.shifts-report-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;flex-wrap:wrap;gap:10px}.shifts-report-title{font-size:16px;font-weight:500;color:var(--md-sys-color-on-surface)}.shifts-report-subtitle{font-size:13px;color:var(--md-sys-color-on-surface-variant);margin-top:2px}.report-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-print-report,.btn-excel-report{padding:8px 20px;border-radius:100px;border:1px solid var(--md-sys-color-outline-variant);background:transparent;color:var(--md-sys-color-primary);font-size:14px;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:6px}.btn-excel-report{color:var(--md-sys-color-tertiary, #2e7d32);border-color:var(--md-sys-color-tertiary, #2e7d32)}.btn-print-report .material-icons{font-size:16px}.shifts-report-table-wrap{overflow-x:auto}.shifts-report-table{border-collapse:collapse;font-size:12px;width:100%}.shifts-report-table th,.shifts-report-table td{border:1px solid var(--md-sys-color-outline-variant);padding:4px 6px;text-align:center;white-space:nowrap}.shifts-report-table th{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant);font-weight:500}.shifts-report-table td.col-name{text-align:left;font-weight:500;color:var(--md-sys-color-on-surface);min-width:140px;max-width:180px;word-break:break-word;white-space:normal}.shifts-report-table td.col-event{text-align:left;color:var(--md-sys-color-on-surface-variant);font-size:11px;min-width:50px}.shifts-report-table td.day-cell{min-width:36px;font-variant-numeric:tabular-nums;font-size:11px;color:var(--md-sys-color-on-surface)}.shifts-report-table td.day-cell.no-data{color:transparent}.shifts-report-table td.day-cell.out-of-month{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-outline-variant);font-size:9px}.shifts-report-table td.col-total{font-weight:600;color:var(--md-sys-color-primary);background:var(--md-sys-color-primary-container)}.shifts-report-table tr.half-divider td{background:var(--md-sys-color-surface-container);height:2px;padding:0;border:none}.shifts-report-table th.col-num,.shifts-report-table td.col-num{min-width:22px;width:22px;font-size:10px;font-weight:400;color:var(--md-sys-color-on-surface-variant);text-align:center}.shifts-report-table th.col-name-hdr{min-width:140px;text-align:left}.shifts-report-table th.col-event-hdr{min-width:50px;text-align:left;font-size:11px}.shifts-report-table th.col-x-hdr{background:var(--md-sys-color-surface-container);color:var(--md-sys-color-outline)}.shifts-report-table th.col-total-hdr{min-width:58px;font-size:10px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);white-space:normal;line-height:1.3}.shifts-report-table th.out-of-month{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-outline-variant);font-weight:400}.shifts-report-table td.day-cell.x-col{background:var(--md-sys-color-surface-container);color:var(--md-sys-color-outline-variant)}.shifts-report-table th.first-half-col{background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface);font-weight:500}.shifts-report-table tr.row-top:not(.second-half-row) td.day-cell:not(.out-of-month):not(.x-col),.shifts-report-table tr.row-mid:not(.second-half-row) td.day-cell:not(.out-of-month):not(.x-col),.shifts-report-table tr.row-bot:not(.second-half-row) td.day-cell:not(.out-of-month):not(.x-col),.shifts-report-table tr.row-top:not(.second-half-row) td.col-event,.shifts-report-table tr.row-mid:not(.second-half-row) td.col-event,.shifts-report-table tr.row-bot:not(.second-half-row) td.col-event{background:var(--md-sys-color-surface-container-low)}.shifts-report-table th.second-half-col{background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);font-weight:500}.shifts-report-table tr.second-half-row td.day-cell:not(.out-of-month),.shifts-report-table tr.second-half-row td.col-event{background:var(--md-sys-color-surface)}.shifts-report-table tr.emp-first-row td,.shifts-report-table tr.emp-first-row th{border-top:2px solid var(--md-sys-color-outline-variant)}.shifts-report-table tr.second-half-row.row-top td{border-top:1px solid var(--md-sys-color-outline)}.shifts-report-table tr.row-top td.day-cell:not(.out-of-month):not(.x-col){border-bottom:none}.shifts-report-table tr.row-mid td.day-cell:not(.out-of-month):not(.x-col){border-top:none;border-bottom:none}.shifts-report-table tr.row-bot td.day-cell:not(.out-of-month):not(.x-col){border-top:none}.shifts-report-table em.subst-note{font-size:10px;color:var(--md-sys-color-tertiary);font-style:normal;font-weight:400;display:block}.summary-report-table{border-collapse:collapse;font-size:14px;width:100%}.summary-report-table th,.summary-report-table td{border:1px solid var(--md-sys-color-outline-variant);padding:8px 12px;text-align:center;white-space:nowrap}.summary-report-table th{background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface-variant);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.summary-report-table .summary-col-name{text-align:left;font-weight:500;color:var(--md-sys-color-on-surface);min-width:140px}.summary-report-table .summary-col-store{text-align:left;min-width:100px}.summary-report-table .summary-col-home{color:var(--md-sys-color-on-surface-variant);font-size:13px}.summary-report-table .summary-col-hours{font-variant-numeric:tabular-nums}.summary-report-table tr.summary-emp-first td{border-top:2px solid var(--md-sys-color-outline-variant)}.summary-report-table tr.summary-emp-cont td{border-top:1px dashed var(--md-sys-color-outline-variant)}.summary-report-table tr:hover td{background:color-mix(in srgb,var(--md-sys-color-primary) 4%,transparent)}@media print{@page{size:A4 landscape;margin:10mm}body *{visibility:hidden}#shiftsReportModal,#shiftsReportModal *{visibility:visible}#shiftsReportModal{position:fixed;inset:0;background:#fff;z-index:9999;overflow:visible;padding:0}#shiftsReportModal .modal-header,.btn-print-report,.btn-excel-report{display:none!important}.shifts-report-table-wrap{overflow:visible}.shifts-report-table{width:100%;font-size:9px}.shifts-report-table th,.shifts-report-table td{border-color:#aaa;font-size:9px;padding:2px 3px}.shifts-report-table th.first-half-col,.shifts-report-table tr.row-top:not(.second-half-row) td.day-cell:not(.out-of-month):not(.x-col),.shifts-report-table tr.row-mid:not(.second-half-row) td.day-cell:not(.out-of-month):not(.x-col),.shifts-report-table tr.row-bot:not(.second-half-row) td.day-cell:not(.out-of-month):not(.x-col),.shifts-report-table tr.row-top:not(.second-half-row) td.col-event,.shifts-report-table tr.row-mid:not(.second-half-row) td.col-event,.shifts-report-table tr.row-bot:not(.second-half-row) td.col-event{background:#f0f0f6!important}.shifts-report-table th.second-half-col,.shifts-report-table tr.second-half-row td.day-cell:not(.out-of-month),.shifts-report-table tr.second-half-row td.col-event{background:#fff!important}.shifts-report-table td.day-cell.out-of-month,.shifts-report-table th.out-of-month{background:#e8e8e8!important}.shifts-report-table td.col-total,.shifts-report-table th.col-total-hdr{background:#dce8ff!important}.shifts-report-table tr.second-half-row.row-top td{border-top-color:#888!important}.shifts-report-table tr.emp-first-row td,.shifts-report-table tr.emp-first-row th{border-top-color:#666!important}.summary-report-table{font-size:12px}.summary-report-table th,.summary-report-table td{border-color:#aaa;padding:4px 8px}.summary-report-table th{background:#e8e8e8!important}.summary-report-table .col-total{background:#dce8ff!important}.summary-report-table tr.summary-emp-first td{border-top-color:#666!important}}@media(max-width:600px){.timesheet-body{padding:14px;gap:14px}.ts-clock-time{font-size:40px;letter-spacing:2px}.admin-shifts-filters,.admin-report-filters{flex-direction:column;align-items:stretch}.admin-shifts-filters .btn-filter,.btn-generate-report{width:100%;justify-content:center}}#authScreen{display:flex;justify-content:center;align-items:center;background:var(--md-sys-color-surface);padding:24px;overflow-y:auto;padding-top:max(24px,env(safe-area-inset-top,24px));padding-bottom:max(24px,env(safe-area-inset-bottom,24px));padding-left:max(24px,env(safe-area-inset-left,24px));padding-right:max(24px,env(safe-area-inset-right,24px))}.auth-box{background:var(--md-sys-color-surface-container-lowest);padding:48px 40px;border-radius:var(--md-sys-shape-corner-extra-large);box-shadow:var(--md-sys-elevation-level3);text-align:center;width:100%;max-width:420px;animation:md-scale-in var(--md-sys-motion-duration-medium4) var(--md-sys-motion-easing-emphasized-decelerate)}.auth-box h1{font-family:var(--md-sys-typescale-display-small-font-family);font-size:var(--md-sys-typescale-display-small-font-size);font-weight:700;line-height:var(--md-sys-typescale-display-small-line-height);color:var(--md-sys-color-primary);margin-bottom:8px;letter-spacing:-.5px}.auth-box>p{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);line-height:var(--md-sys-typescale-body-large-line-height);color:var(--md-sys-color-on-surface-variant);margin-bottom:32px}.auth-tabs{display:flex;gap:0;margin-bottom:32px;background:var(--md-sys-color-surface-container-high);border-radius:var(--md-sys-shape-corner-full);padding:4px;position:relative}.auth-tabs .tab-indicator{position:absolute;top:4px;left:4px;width:calc(50% - 4px);height:calc(100% - 8px);background:var(--md-sys-color-secondary-container);border-radius:var(--md-sys-shape-corner-full);box-shadow:var(--md-sys-elevation-level1);transition:transform var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized);z-index:0}.auth-tabs[data-active=register] .tab-indicator{transform:translate(100%)}.auth-tab{flex:1;padding:12px 24px;background:transparent;border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing);color:var(--md-sys-color-on-surface-variant);cursor:pointer;transition:color var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden;z-index:1}.auth-tab:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);border-radius:inherit}.auth-tab:hover:before{opacity:var(--md-sys-state-hover-opacity)}.auth-tab.active{color:var(--md-sys-color-on-secondary-container)}.auth-tab.active:before{opacity:0}.auth-form{display:none}.auth-form.active{display:block;animation:md-fade-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard-decelerate)}.auth-form input,.auth-form select{width:100%;padding:16px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-extra-small);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);line-height:var(--md-sys-typescale-body-large-line-height);color:var(--md-sys-color-on-surface);background:transparent;margin-bottom:16px;transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),border-width var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.auth-form input::placeholder{color:transparent}.auth-form input:hover,.auth-form select:hover{border-color:var(--md-sys-color-on-surface)}.auth-form input:focus,.auth-form select:focus{outline:1px solid var(--md-sys-color-primary);border-color:var(--md-sys-color-primary)}.auth-form input.error,.auth-form input:invalid:not(:placeholder-shown){border-color:var(--md-sys-color-error)}.auth-form input.error:focus{border-color:var(--md-sys-color-error)}.md-text-field{position:relative;margin-bottom:16px}.md-text-field input{margin-bottom:0}.md-text-field label{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);line-height:1;color:var(--md-sys-color-on-surface-variant);pointer-events:none;padding:0 4px;background:transparent;transition:top var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),font-size var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);transform-origin:left center}.md-text-field input:focus+label,.md-text-field input:not(:placeholder-shown)+label{top:0;transform:translateY(-50%) scale(.75);background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface-variant)}.md-text-field input:focus+label{color:var(--md-sys-color-primary)}.md-text-field input.error+label,.md-text-field input:invalid:not(:placeholder-shown)+label{color:var(--md-sys-color-error)}.md-text-field input.error:focus+label{color:var(--md-sys-color-error)}.auth-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%2374777F' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px;cursor:pointer}.auth-form button{width:100%;padding:16px 24px;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing);cursor:pointer;transition:box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden;margin-top:8px}.auth-form button:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.auth-form button:hover{box-shadow:var(--md-sys-elevation-level1)}.auth-form button:hover:before{opacity:var(--md-sys-state-hover-opacity)}.auth-form button:active{transform:scale(.98)}.auth-form button:active:before{opacity:var(--md-sys-state-pressed-opacity)}.auth-form button:disabled{background:var(--md-sys-color-on-surface);color:var(--md-sys-color-surface);opacity:.12;cursor:not-allowed;box-shadow:none}.auth-form button:disabled:before{display:none}.error-message{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);padding:16px;border-radius:var(--md-sys-shape-corner-medium);margin-top:16px;font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);line-height:var(--md-sys-typescale-body-medium-line-height);text-align:left;display:flex;align-items:flex-start;gap:12px;animation:md-shake .5s var(--md-sys-motion-easing-standard)}.error-message:before{content:"";width:24px;height:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23410002' d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z'/%3E%3C/svg%3E");background-size:contain;flex-shrink:0}.form-hint{font-family:var(--md-sys-typescale-body-small-font-family);font-size:var(--md-sys-typescale-body-small-font-size);line-height:var(--md-sys-typescale-body-small-line-height);color:var(--md-sys-color-on-surface-variant);text-align:left;margin:-8px 0 16px;padding-left:16px}@media(max-width:480px){#authScreen{padding:24px 16px 16px;align-items:flex-start}.auth-box{padding:32px 24px;border-radius:var(--md-sys-shape-corner-large)}.auth-box h1{font-size:32px;line-height:40px}.auth-tabs{margin-bottom:24px}.auth-tab{padding:10px 16px;font-size:13px}.auth-form input,.auth-form select{padding:14px}.md-text-field label{left:14px}.auth-form button{padding:14px 20px}}.auth-form button.loading{color:transparent;pointer-events:none}.auth-form button.loading:after{content:"";position:absolute;width:20px;height:20px;top:50%;left:50%;margin-top:-10px;margin-left:-10px;border:2px solid transparent;border-top-color:var(--md-sys-color-on-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chat-container{display:flex;height:100%;max-width:1600px;margin:0 auto;background:var(--md-sys-color-surface);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.sidebar{width:360px;background:var(--md-sys-color-surface-container-low);display:flex;flex-direction:column;border-right:none;position:relative}.sidebar-header{padding:20px 24px 16px;display:flex;align-items:center;justify-content:space-between}.sidebar-header h2{font-family:var(--md-sys-typescale-title-large-font-family);font-size:var(--md-sys-typescale-title-large-font-size);font-weight:500;line-height:var(--md-sys-typescale-title-large-line-height);color:var(--md-sys-color-on-surface);margin:0}.user-role{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);font-weight:var(--md-sys-typescale-label-small-font-weight);color:#442b00;text-transform:uppercase;letter-spacing:.5px;background:#ffddb3;padding:4px 10px;border-radius:var(--md-sys-shape-corner-full)}.sidebar-tabs{display:flex;gap:0;margin:0 16px 12px;background:var(--md-sys-color-surface-container-high);border-radius:var(--md-sys-shape-corner-full);padding:4px;position:relative}.sidebar-tabs .tab-indicator{position:absolute;top:4px;left:4px;width:calc(50% - 4px);height:calc(100% - 8px);background:var(--md-sys-color-primary);border-radius:var(--md-sys-shape-corner-full);transition:transform var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized);z-index:0}.sidebar-tabs[data-active=contacts] .tab-indicator{transform:translate(100%)}.sidebar-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;background:transparent;border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);letter-spacing:var(--md-sys-typescale-label-large-letter-spacing);color:var(--md-sys-color-on-surface-variant);cursor:pointer;transition:color var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden;z-index:1}.sidebar-tab:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);border-radius:inherit}.sidebar-tab:hover:before{opacity:var(--md-sys-state-hover-opacity)}.sidebar-tab.active{color:var(--md-sys-color-on-primary)}.sidebar-tab.active:before{opacity:0}.sidebar-tab img.emoji{height:1.2em;width:1.2em;margin:0;flex-shrink:0}.tab-content{display:none;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex-direction:column;position:relative}.tab-content.active{display:flex}.pull-indicator{position:absolute;top:0;left:0;right:0;display:flex;justify-content:center;align-items:center;height:0;overflow:hidden;background:var(--md-sys-color-surface-container);transition:height var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard);z-index:10}.pull-indicator.pulling,.pull-indicator.refreshing{height:50px}.pull-indicator-spinner{width:24px;height:24px;border:2px solid var(--md-sys-color-outline);border-top-color:var(--md-sys-color-primary);border-radius:50%;opacity:0;transform:rotate(0) scale(.5);transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.pull-indicator.pulling .pull-indicator-spinner{opacity:1;transform:rotate(0) scale(1)}.pull-indicator.refreshing .pull-indicator-spinner{opacity:1;transform:scale(1);animation:pull-spin .8s linear infinite}@keyframes pull-spin{to{transform:rotate(360deg)}}.chats-list{flex:1;padding:4px 8px}.chat-item{display:flex;gap:16px;padding:12px 16px;border-radius:var(--md-sys-shape-corner-large);cursor:pointer;margin-bottom:2px;align-items:center;position:relative;border:none;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.chat-item:before{content:"";position:absolute;inset:0;background:var(--md-sys-color-on-surface);opacity:0;border-radius:inherit;pointer-events:none}@media(hover:hover){.chat-item:before{transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.chat-item:hover:before{opacity:var(--md-sys-state-hover-opacity)}.chat-item:active:before{opacity:var(--md-sys-state-pressed-opacity)}}.chat-item.active{background:var(--md-sys-color-secondary-container)}.chat-item.active:before{opacity:0}.chat-item.active .chat-name{color:var(--md-sys-color-on-secondary-container)}.chat-item.active .chat-last-message{color:var(--md-sys-color-on-secondary-container);opacity:.8}.chat-avatar{width:56px;height:56px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);display:flex;align-items:center;justify-content:center;font-family:var(--md-sys-typescale-title-medium-font-family);font-size:20px;font-weight:var(--md-sys-typescale-title-medium-font-weight);flex-shrink:0;position:relative;overflow:hidden}.chat-avatar.group{background:var(--md-sys-color-tertiary);color:var(--md-sys-color-on-tertiary)}.chat-avatar.has-image{background:transparent}.chat-avatar img{width:100%;height:100%;object-fit:cover}.chat-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.chat-header-row{display:flex;justify-content:space-between;align-items:center}.chat-name{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);font-weight:500;line-height:var(--md-sys-typescale-body-large-line-height);color:var(--md-sys-color-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-time{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);color:var(--md-sys-color-on-surface-variant);flex-shrink:0;margin-left:8px}.chat-bottom-row{display:flex;align-items:center;gap:8px}.chat-last-message{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);line-height:var(--md-sys-typescale-body-medium-line-height);color:var(--md-sys-color-on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.chat-unread-badge{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-radius:var(--md-sys-shape-corner-full);padding:2px 8px;font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);font-weight:var(--md-sys-typescale-label-small-font-weight);min-width:20px;text-align:center;flex-shrink:0}.contacts-search{padding:8px 16px 16px}.contacts-search input{width:100%;padding:12px 16px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:var(--md-sys-color-on-surface);background:var(--md-sys-color-surface-container-highest);transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.contacts-search input::placeholder{color:var(--md-sys-color-on-surface-variant)}.contacts-search input:hover{background:var(--md-sys-color-surface-container-high)}.contacts-search input:focus{outline:none;border-color:var(--md-sys-color-primary);border-width:2px;padding:11px 15px;background:var(--md-sys-color-surface-container-lowest)}.contacts-list{flex:1;padding:4px 8px}.contact-item{display:flex;align-items:center;gap:16px;padding:12px 16px;border-radius:var(--md-sys-shape-corner-large);cursor:pointer;position:relative;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.contact-item:before{content:"";position:absolute;inset:0;background:var(--md-sys-color-on-surface);opacity:0;border-radius:inherit;pointer-events:none}@media(hover:hover){.contact-item:before{transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.contact-item:hover:before{opacity:var(--md-sys-state-hover-opacity)}.contact-item:active:before{opacity:var(--md-sys-state-pressed-opacity)}}.contact-avatar{width:48px;height:48px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);display:flex;align-items:center;justify-content:center;font-family:var(--md-sys-typescale-title-medium-font-family);font-size:18px;font-weight:var(--md-sys-typescale-title-medium-font-weight);overflow:hidden;flex-shrink:0}.contact-avatar.has-image{background:transparent}.contact-avatar img{width:100%;height:100%;object-fit:cover}.contact-info{flex:1;min-width:0}.contact-name{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);font-weight:500;color:var(--md-sys-color-on-surface);margin-bottom:2px}.contact-username{font-family:var(--md-sys-typescale-body-small-font-family);font-size:var(--md-sys-typescale-body-small-font-size);color:var(--md-sys-color-on-surface-variant)}.footer-actions{display:flex;gap:4px;flex-shrink:0}.footer-icon-btn{width:44px;height:44px;padding:0;background:transparent;color:var(--md-sys-color-on-surface-variant);border:none;border-radius:var(--md-sys-shape-corner-full);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden}.footer-icon-btn:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);border-radius:inherit}.footer-icon-btn:hover{color:var(--md-sys-color-primary)}.footer-icon-btn:hover:before{opacity:var(--md-sys-state-hover-opacity)}.footer-icon-btn:active:before{opacity:var(--md-sys-state-pressed-opacity)}.footer-icon-btn svg{width:24px;height:24px}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--md-sys-color-outline-variant);display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--md-sys-color-surface-container)}.current-user-section{display:flex;align-items:center;gap:12px;flex:1;min-width:0;cursor:pointer;padding:8px 12px;margin:-8px -12px;border-radius:var(--md-sys-shape-corner-large);transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative}.current-user-section:before{content:"";position:absolute;inset:0;background:var(--md-sys-color-on-surface);opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);border-radius:inherit;pointer-events:none}.current-user-section:hover:before{opacity:var(--md-sys-state-hover-opacity)}.current-user-avatar{width:40px;height:40px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);display:flex;align-items:center;justify-content:center;font-family:var(--md-sys-typescale-label-large-font-family);font-size:14px;font-weight:var(--md-sys-typescale-label-large-font-weight);flex-shrink:0;overflow:hidden}.current-user-avatar.has-avatar{background:transparent}.current-user-avatar img{width:100%;height:100%;object-fit:cover}.current-user{font-family:var(--md-sys-typescale-title-small-font-family);font-size:var(--md-sys-typescale-title-small-font-size);font-weight:var(--md-sys-typescale-title-small-font-weight);color:var(--md-sys-color-on-surface);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-panel{position:absolute;bottom:80px;left:16px;right:16px;background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-extra-large);box-shadow:var(--md-sys-elevation-level3);z-index:100;overflow:hidden;animation:md-scale-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized-decelerate);transform-origin:bottom center}.settings-panel.hidden{display:none}.settings-panel-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.settings-panel-header h3{font-family:var(--md-sys-typescale-title-medium-font-family);font-size:var(--md-sys-typescale-title-medium-font-size);font-weight:var(--md-sys-typescale-title-medium-font-weight);color:var(--md-sys-color-on-surface);margin:0}.settings-close-btn{width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--md-sys-shape-corner-full);color:var(--md-sys-color-on-surface-variant);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.settings-close-btn:hover{background:var(--md-sys-color-surface-container-highest)}.settings-panel-content{padding:8px 0}.settings-item{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.settings-item:hover{background:var(--md-sys-color-surface-container-high)}.settings-item-info{display:flex;flex-direction:column;gap:2px}.settings-item-label{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:var(--md-sys-color-on-surface)}.settings-item-value{font-family:var(--md-sys-typescale-body-small-font-family);font-size:var(--md-sys-typescale-body-small-font-size);color:var(--md-sys-color-on-surface-variant)}.theme-switch{position:relative;width:64px;height:32px;cursor:pointer}.theme-switch input{opacity:0;width:0;height:0}.theme-switch-slider{position:absolute;inset:0;background:var(--md-sys-color-surface-container-highest);border-radius:var(--md-sys-shape-corner-full);border:2px solid var(--md-sys-color-outline);transition:all var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized);overflow:hidden}.theme-switch-slider:before{content:"";position:absolute;width:24px;height:24px;left:2px;top:50%;transform:translateY(-50%);background:var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-full);transition:all var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized);z-index:2}.theme-switch-icon{position:absolute;top:50%;transform:translateY(-50%);font-size:14px;transition:all var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized);z-index:1}.theme-switch-icon.sun{left:8px;opacity:1}.theme-switch-icon.moon{right:8px;opacity:.5}.theme-switch input:checked+.theme-switch-slider{background:var(--md-sys-color-primary-container);border-color:var(--md-sys-color-primary)}.theme-switch input:checked+.theme-switch-slider:before{left:calc(100% - 26px);background:var(--md-sys-color-primary)}.theme-switch input:checked+.theme-switch-slider .sun{opacity:.5}.theme-switch input:checked+.theme-switch-slider .moon{opacity:1}.theme-switch:hover .theme-switch-slider:before{transform:translateY(-50%) scale(1.1)}.settings-panel-footer{padding:12px 16px;border-top:1px solid var(--md-sys-color-outline-variant)}.logout-btn-full{width:100%;padding:14px 20px;background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden}.logout-btn-full:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.logout-btn-full:hover:before{opacity:var(--md-sys-state-hover-opacity)}.logout-btn-full:hover{box-shadow:var(--md-sys-elevation-level1)}.logout-btn-full svg{flex-shrink:0}.app-version{text-align:center;margin-top:12px;font-size:12px;color:var(--md-sys-color-outline);opacity:.7}.mobile-menu-btn{display:none;padding:8px 12px;background:transparent;border:none;border-radius:var(--md-sys-shape-corner-full);font-size:24px;color:var(--md-sys-color-on-surface);cursor:pointer;margin-right:8px;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.mobile-menu-btn:hover{background:var(--md-sys-color-surface-container-highest)}.chat-item.animate-in,.contact-item.animate-in{animation:md-slide-in-right var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized-decelerate) both}.chat-item.animate-in:nth-child(1),.contact-item.animate-in:nth-child(1){animation-delay:0ms}.chat-item.animate-in:nth-child(2),.contact-item.animate-in:nth-child(2){animation-delay:30ms}.chat-item.animate-in:nth-child(3),.contact-item.animate-in:nth-child(3){animation-delay:60ms}.chat-item.animate-in:nth-child(4),.contact-item.animate-in:nth-child(4){animation-delay:90ms}.chat-item.animate-in:nth-child(5),.contact-item.animate-in:nth-child(5){animation-delay:.12s}.chat-item.animate-in:nth-child(6),.contact-item.animate-in:nth-child(6){animation-delay:.15s}.chat-item.animate-in:nth-child(7),.contact-item.animate-in:nth-child(7){animation-delay:.18s}.chat-item.animate-in:nth-child(8),.contact-item.animate-in:nth-child(8){animation-delay:.21s}.chat-item.animate-in:nth-child(9),.contact-item.animate-in:nth-child(9){animation-delay:.24s}.chat-item.animate-in:nth-child(10),.contact-item.animate-in:nth-child(10){animation-delay:.27s}.chat-item.animate-in:nth-child(n+11),.contact-item.animate-in:nth-child(n+11){animation-delay:.3s}.settings-panel{animation:md-slide-in-bottom var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized-decelerate)}.settings-panel.closing{animation:md-slide-out-bottom var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-emphasized-accelerate) forwards;pointer-events:none}[data-theme=dark] .user-role{background:#6b4000;color:#ffddb3}.chat-area{flex:1;display:flex;flex-direction:column;background:var(--md-sys-color-surface);min-width:0;position:relative}.chat-area.drag-over:after{content:"\41f\435\440\435\442\430\449\438\442\435  \444\430\439\43b  \441\44e\434\430";position:absolute;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--md-sys-color-primary) 12%,var(--md-sys-color-surface) 88%);border:3px dashed var(--md-sys-color-primary);border-radius:var(--md-sys-shape-corner-large);margin:8px;font-family:var(--md-sys-typescale-title-large-font-family);font-size:var(--md-sys-typescale-title-large-font-size);font-weight:500;color:var(--md-sys-color-primary);pointer-events:none}.chat-header{padding:12px 24px;background:var(--md-sys-color-surface);display:flex;align-items:center;gap:12px;min-height:64px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.chat-header-avatar{width:48px;height:48px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);display:flex;align-items:center;justify-content:center;font-family:var(--md-sys-typescale-title-medium-font-family);font-size:18px;font-weight:var(--md-sys-typescale-title-medium-font-weight);flex-shrink:0;cursor:pointer;overflow:hidden;transition:transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.chat-header-avatar:hover{transform:scale(1.05)}.chat-header-avatar img{width:100%;height:100%;object-fit:cover}.chat-header-avatar.has-image{background:transparent}.chat-header-info{cursor:pointer;flex:1;min-width:0;display:flex;flex-direction:column;gap:0}.chat-header-info h2{font-family:var(--md-sys-typescale-title-large-font-family);font-size:var(--md-sys-typescale-title-large-font-size);font-weight:500;line-height:1.2;color:var(--md-sys-color-on-surface);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-subtitle{font-family:var(--md-sys-typescale-body-small-font-family);font-size:var(--md-sys-typescale-body-small-font-size);color:var(--md-sys-color-on-surface-variant);margin-top:0;line-height:1.3;transition:color .2s}.chat-header-actions{display:flex;gap:8px;align-items:center}.chat-info-btn,.chat-search-btn{width:48px;height:48px;padding:0;background:transparent;border:none;border-radius:var(--md-sys-shape-corner-full);font-size:20px;color:var(--md-sys-color-on-surface-variant);cursor:pointer;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);display:flex;align-items:center;justify-content:center;position:relative}.chat-info-btn:before,.chat-search-btn:before{content:"";position:absolute;inset:0;background:var(--md-sys-color-on-surface);opacity:0;border-radius:inherit;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.chat-info-btn:hover:before,.chat-search-btn:hover:before{opacity:var(--md-sys-state-hover-opacity)}.messages-container{flex:1;overflow-y:auto;overflow-anchor:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding:16px 24px;background:var(--md-sys-color-surface-container-lowest)}.message{margin-bottom:20px;position:relative}.message.new-message{animation:md-slide-in-bottom var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized-decelerate)}.messages-container.private-chat .message-avatar{display:none}.messages-container.private-chat .message-with-avatar{gap:0;max-width:85%}@media(max-width:768px){.messages-container.private-chat .message-with-avatar{max-width:92%}}.messages-container.private-chat .message-header{display:none}.messages-container.private-chat .message.message-with-avatar{flex-direction:column}.messages-container.private-chat .message.own.message-with-avatar{align-items:flex-end}.messages-container.private-chat .message:not(.own).message-with-avatar{align-items:flex-start}.messages-container.private-chat .message-content-wrapper{display:contents}.messages-container.private-chat .message-reactions{position:absolute;bottom:-8px;left:8px;margin-top:0;order:1}.messages-container.private-chat .message.own .message-reactions{left:auto;right:8px}.bubble-footer{display:none}.messages-container.private-chat .message-bubble .bubble-footer{display:flex;align-items:center;gap:4px;padding:2px 14px 8px;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.messages-container.private-chat .message.own .message-bubble .bubble-footer{justify-content:flex-start}.messages-container.private-chat .message:not(.own) .message-bubble .bubble-footer{justify-content:flex-end}.messages-container.private-chat .message.own .message-bubble:not(.has-reply) .bubble-footer{background:var(--md-sys-color-primary-container);border-radius:0 0 18px 18px}.messages-container.private-chat .message:not(.own) .message-bubble:not(.has-reply) .bubble-footer{background:var(--md-sys-color-surface-container-high);border-radius:0 0 18px 18px}.bubble-time{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);white-space:nowrap;line-height:1}.messages-container.private-chat .message.own .bubble-time{color:color-mix(in srgb,var(--md-sys-color-on-primary-container) 70%,transparent)}.messages-container.private-chat .message:not(.own) .bubble-time{color:color-mix(in srgb,var(--md-sys-color-on-surface) 55%,transparent)}.messages-container.private-chat .message-images+.bubble-footer{display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:2px 2px 0}.messages-container.private-chat .message-bubble .audio-player,.messages-container.private-chat .message-bubble .audio-expired,.messages-container.private-chat .message-bubble .message-document{border-radius:var(--md-sys-shape-corner-large) var(--md-sys-shape-corner-large) 0 0}.messages-container.private-chat .message-bubble .audio-player+.bubble-footer,.messages-container.private-chat .message-bubble .audio-expired+.bubble-footer,.messages-container.private-chat .message-bubble .message-document+.bubble-footer{border-radius:0 0 var(--md-sys-shape-corner-large) var(--md-sys-shape-corner-large)}.messages-container.private-chat .message.own .message-bubble:not(.has-reply) .audio-expired+.bubble-footer{background:var(--md-sys-color-surface-container-high)}.messages-container.private-chat .message.own .message-bubble:not(.has-reply) .message-document+.bubble-footer{background:color-mix(in srgb,var(--md-sys-color-primary) 15%,var(--md-sys-color-primary-container) 85%)}.messages-container.private-chat .message-bubble .message-document:hover{transform:none}.messages-container.private-chat .message-bubble .message-document:hover+.bubble-footer{background:var(--md-sys-color-surface-container-highest)}.messages-container.private-chat .message.own .message-bubble .message-document:hover+.bubble-footer{background:color-mix(in srgb,var(--md-sys-color-primary) 25%,var(--md-sys-color-primary-container) 75%)}.date-separator{display:flex;justify-content:center;margin:16px 0 8px;pointer-events:none;user-select:none}.date-separator-label{font-family:var(--md-sys-typescale-label-small-font-family);font-size:12px;font-weight:500;color:var(--md-sys-color-on-surface-variant);background:var(--md-sys-color-surface-container);padding:4px 14px;border-radius:var(--md-sys-shape-corner-full);box-shadow:var(--md-sys-elevation-level1);white-space:nowrap}.messages-container.private-chat .message-bubble{overflow:visible;position:relative}.messages-container.private-chat .message:not(.own) .message-bubble:not(.has-reply) .message-text:not(.emoji-only){border-radius:0 18px 0 0;position:relative;padding-bottom:2px}.messages-container.private-chat .message:not(.own) .message-bubble:not(.has-reply) .message-text:not(.emoji-only):before{content:"";position:absolute;left:-12px;top:0;width:12px;height:18px;background:var(--md-sys-color-surface-container-high);clip-path:polygon(100% 0,100% 100%,0 0)}.messages-container.private-chat .message:not(.own) .message-bubble.has-reply{border-radius:0 18px 18px}.messages-container.private-chat .message:not(.own) .message-bubble.has-reply:before{content:"";position:absolute;left:-12px;top:0;width:12px;height:18px;background:var(--md-sys-color-tertiary-container);clip-path:polygon(100% 0,100% 100%,0 0)}.messages-container.private-chat .message.own .message-bubble:not(.has-reply) .message-text:not(.emoji-only){border-radius:18px 0 0;position:relative;padding-bottom:2px}.messages-container.private-chat .message.own .message-bubble:not(.has-reply) .message-text:not(.emoji-only):before{content:"";position:absolute;right:-12px;top:0;width:12px;height:12px;background:var(--md-sys-color-primary-container);clip-path:polygon(0 0,0 100%,100% 0)}.messages-container.private-chat .message.own .message-bubble.has-reply{border-radius:18px 0 18px 18px}.messages-container.private-chat .message.own .message-bubble.has-reply:before{content:"";position:absolute;right:-12px;top:0;width:12px;height:18px;background:color-mix(in srgb,var(--md-sys-color-primary) 20%,var(--md-sys-color-primary-container) 80%);clip-path:polygon(0 0,0 100%,100% 0)}.messages-container.private-chat .message:not(.own) .message-bubble.has-reply .message-reply{border-radius:0 15px 0 0}.messages-container.private-chat .message.own .message-bubble.has-reply .message-reply{border-radius:15px 0 0}.message-header{display:flex;flex-direction:column;gap:0;margin-bottom:4px}.message-header-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.message-header-bottom{display:flex;align-items:center;gap:6px}.message-username{font-family:var(--md-sys-typescale-title-small-font-family);font-size:var(--md-sys-typescale-title-small-font-size);font-weight:var(--md-sys-typescale-title-small-font-weight);color:var(--md-sys-color-primary);cursor:pointer;transition:color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.message-username:hover{color:var(--md-sys-color-tertiary);text-decoration:underline}.message-username.deleted{color:var(--md-sys-color-on-surface-variant);text-decoration:line-through}.message-time{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);color:var(--md-sys-color-on-surface-variant)}.message-text{background:var(--md-sys-color-surface-container-high);padding:12px 16px;border-radius:var(--md-sys-shape-corner-large);display:inline-block;max-width:70%;word-wrap:break-word;font-family:var(--md-sys-typescale-body-large-font-family);font-size:16px;line-height:1.5;color:var(--md-sys-color-on-surface);box-shadow:none}.message-bubble .message-text{max-width:none;display:block}.message.own .message-username{color:var(--md-sys-color-tertiary)}.message.own .message-text{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.system-message{text-align:center;color:var(--md-sys-color-on-surface-variant);font-family:var(--md-sys-typescale-body-small-font-family);font-size:var(--md-sys-typescale-body-small-font-size);margin:16px 0;font-style:italic}.message-input-container{padding:12px 24px 16px;background:var(--md-sys-color-surface);border-top:1px solid var(--md-sys-color-outline-variant);display:flex;gap:8px;align-items:center;position:relative}.attach-btn,.emoji-btn{width:48px;height:48px;padding:0;background:var(--md-sys-color-surface-container-high);border:none;border-radius:var(--md-sys-shape-corner-full);font-size:20px;color:var(--md-sys-color-on-surface-variant);cursor:pointer;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);display:flex;align-items:center;justify-content:center;flex-shrink:0}.attach-btn:hover,.emoji-btn:hover{background:var(--md-sys-color-surface-container-highest);transform:scale(1.05)}.attach-btn:active,.emoji-btn:active{transform:scale(.95)}.input-wrapper{flex:1;position:relative}.char-counter{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);color:var(--md-sys-color-on-surface-variant);pointer-events:none}#messageInput{width:100%;padding:14px 70px 14px 20px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:var(--md-sys-color-on-surface);background:var(--md-sys-color-surface-container-highest);transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}#messageInput::placeholder{color:var(--md-sys-color-on-surface-variant)}#messageInput:hover{background:var(--md-sys-color-surface-container-high)}#messageInput:focus{outline:1px solid var(--md-sys-color-primary);border-color:var(--md-sys-color-primary);background:var(--md-sys-color-surface-container-lowest)}#sendBtn{width:56px;height:56px;padding:0;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;border-radius:var(--md-sys-shape-corner-full);font-size:20px;cursor:pointer;transition:box-shadow var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--md-sys-elevation-level2);position:relative;overflow:hidden}#sendBtn:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}#sendBtn:hover{box-shadow:var(--md-sys-elevation-level3)}#sendBtn:hover:before{opacity:var(--md-sys-state-hover-opacity)}#sendBtn:active{transform:scale(.95)}.emoji-picker{position:fixed;background:var(--md-sys-color-surface-container-high);border:none;border-radius:var(--md-sys-shape-corner-extra-large);box-shadow:var(--md-sys-elevation-level3);padding:12px;z-index:200;transform-origin:bottom left;animation:md-scale-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized-decelerate);width:340px;max-width:calc(100vw - 24px);overflow:hidden}.emoji-search-container{margin-bottom:8px}.emoji-search{width:100%;padding:10px 12px;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:var(--md-sys-color-on-surface);background:var(--md-sys-color-surface-container-lowest);transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.emoji-search:focus{outline:none;border-color:var(--md-sys-color-primary)}.emoji-search::placeholder{color:var(--md-sys-color-on-surface-variant)}.emoji-tabs{display:flex;gap:2px;padding:4px;background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-medium);margin-bottom:8px;overflow:hidden}.emoji-tab{flex:1;min-width:36px;height:36px;padding:0;border:none;background:transparent;border-radius:var(--md-sys-shape-corner-small);font-size:18px;cursor:pointer;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);display:flex;align-items:center;justify-content:center}.emoji-tab:hover{background:var(--md-sys-color-surface-container-highest)}.emoji-tab.active{background:var(--md-sys-color-secondary-container)}.emoji-tab.hidden{display:none}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;max-height:240px;overflow-y:auto;overflow-x:hidden;padding:4px}.emoji-item{font-size:22px;padding:6px;cursor:pointer;border-radius:var(--md-sys-shape-corner-medium);text-align:center;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);aspect-ratio:1;display:flex;align-items:center;justify-content:center}.emoji-item:hover{background:var(--md-sys-color-surface-container-highest);transform:scale(1.15)}.emoji-item:active{transform:scale(.95)}.emoji-empty{grid-column:1 / -1;text-align:center;padding:24px;color:var(--md-sys-color-on-surface-variant);font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size)}.image-preview{position:fixed;inset:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:var(--z-index-modal);animation:md-fade-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard)}.preview-container{background:var(--md-sys-color-surface-container-high);padding:24px;border-radius:var(--md-sys-shape-corner-extra-large);max-width:80%;max-height:80%;display:flex;flex-direction:column;gap:16px;animation:md-scale-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized-decelerate)}#previewImg{max-width:100%;max-height:60vh;object-fit:contain;border-radius:var(--md-sys-shape-corner-medium)}.preview-actions{display:flex;gap:12px;justify-content:center}.preview-actions button{padding:12px 24px;border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}#sendImageBtn{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}#sendImageBtn:hover{box-shadow:var(--md-sys-elevation-level1)}#cancelImageBtn{background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface)}#cancelImageBtn:hover{background:var(--md-sys-color-surface-container-high)}.preview-thumbs-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:8px 0}.preview-thumb-wrapper{position:relative;width:80px;height:80px}.preview-thumb-img{width:80px;height:80px;object-fit:cover;border-radius:var(--md-sys-shape-corner-medium)}.preview-thumb-remove{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:none;background:var(--md-sys-color-error);color:var(--md-sys-color-on-error);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.preview-add-more{width:80px;height:80px;border:2px dashed var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);background:transparent;color:var(--md-sys-color-on-surface-variant);font-size:28px;cursor:pointer;display:flex;align-items:center;justify-content:center}.preview-add-more:hover{border-color:var(--md-sys-color-primary);color:var(--md-sys-color-primary)}.preview-counter{text-align:center;font-size:13px;color:var(--md-sys-color-on-surface-variant);padding:4px 0}.image-viewer-overlay{position:fixed;inset:0;background:#000000f2;display:flex;flex-direction:column;z-index:2000;animation:md-fade-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard)}.image-viewer-header{display:flex;align-items:center;padding:16px 20px;background:#00000080}.image-viewer-back{background:transparent;border:none;color:#fff;font-size:24px;cursor:pointer;padding:12px;border-radius:var(--md-sys-shape-corner-full);transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.image-viewer-back:hover{background:#ffffff1a}.image-viewer-content{flex:1;display:flex;justify-content:center;align-items:center;padding:16px;overflow:hidden}.image-viewer-img{max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}.message-image{max-width:300px;max-height:300px;border-radius:var(--md-sys-shape-corner-medium);cursor:pointer;margin-top:8px;transition:transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.message-image:hover{transform:scale(1.02)}.message-bubble-image{display:inline-block;border-radius:var(--md-sys-shape-corner-large);overflow:hidden;background:var(--md-sys-color-surface-container)}.message-bubble-image .message-image{margin-top:0;border-radius:0;display:block}.message-bubble-image.has-reply .message-image{padding:8px}.message-images{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px;max-width:260px;width:fit-content}.message-thumb{width:80px;height:80px;object-fit:cover;border-radius:var(--md-sys-shape-corner-small);cursor:pointer;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.message-thumb:hover{opacity:.85}.message-images.single .message-thumb{width:150px;height:150px;border-radius:var(--md-sys-shape-corner-medium)}.message-image.lazy-image{background:var(--md-sys-color-surface-container-high);min-height:100px;min-width:100px}.message-image.lazy-image[data-src]{opacity:0;transition:opacity .3s ease}.message-image.lazy-image:not([data-src]){opacity:1}.message-menu-btn{position:absolute;top:4px;right:4px;background:var(--md-sys-color-surface-container-high);border:none;border-radius:var(--md-sys-shape-corner-full);width:28px;height:28px;font-size:14px;cursor:pointer;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);display:flex;align-items:center;justify-content:center;color:var(--md-sys-color-on-surface-variant)}.message:hover .message-menu-btn{opacity:1}.message-menu-btn:hover{background:var(--md-sys-color-surface-container-highest)}.scroll-down-btn{position:absolute;bottom:90px;right:24px;width:48px;height:48px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--md-sys-elevation-level2);opacity:0;visibility:hidden;transform:translateY(20px) scale(.8);transition:opacity var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized),visibility var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized),transform var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized),background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);z-index:100}.scroll-down-btn.visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.scroll-down-btn:hover{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);box-shadow:var(--md-sys-elevation-level3)}.scroll-down-btn:active{transform:scale(.95)}.scroll-down-btn svg{width:24px;height:24px}.context-menu{position:fixed;background:var(--md-sys-color-surface-container-high);border:none;border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-level3);padding:8px 0;z-index:var(--z-index-modal);min-width:180px;animation:md-scale-in var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized-decelerate)}.context-menu-item{padding:12px 16px;cursor:pointer;font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:var(--md-sys-color-on-surface);display:flex;align-items:center;gap:12px;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.context-menu-item:hover{background:var(--md-sys-color-surface-container-highest)}.message.editing{background:var(--md-sys-color-tertiary-container);padding:12px;border-radius:var(--md-sys-shape-corner-medium)}.message-edit-input{width:100%;padding:12px 16px;border:2px solid var(--md-sys-color-primary);border-radius:var(--md-sys-shape-corner-medium);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:var(--md-sys-color-on-surface);background:var(--md-sys-color-surface-container-lowest);resize:vertical;min-height:60px}.message-edit-input:focus{outline:none;border-color:var(--md-sys-color-tertiary)}.message-edit-actions{display:flex;gap:8px;margin-top:12px;justify-content:flex-end}.btn-save-edit,.btn-cancel-edit{padding:10px 20px;border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.btn-cancel-edit{background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface)}.btn-cancel-edit:hover{background:var(--md-sys-color-surface-container-high)}.message-reply{background:var(--md-sys-color-surface-container-highest);border-left:3px solid var(--md-sys-color-tertiary);padding:8px 12px;margin-bottom:8px;border-radius:var(--md-sys-shape-corner-small);font-family:var(--md-sys-typescale-body-small-font-family);font-size:var(--md-sys-typescale-body-small-font-size);cursor:pointer;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.message-reply:hover{filter:brightness(.97)}.message-reply-author{font-weight:500;color:var(--md-sys-color-tertiary);margin-bottom:2px}.message-reply-text{color:var(--md-sys-color-on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-panel{background:var(--md-sys-color-surface-container);border-top:1px solid var(--md-sys-color-outline-variant);padding:12px 24px;display:flex;align-items:center;gap:16px}.reply-panel-content{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.reply-panel-label{font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:var(--md-sys-typescale-label-medium-font-weight);color:var(--md-sys-color-primary)}.reply-panel-text{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:var(--md-sys-color-on-surface-variant);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-panel-close{background:transparent;border:none;color:var(--md-sys-color-on-surface-variant);font-size:20px;cursor:pointer;padding:8px;border-radius:var(--md-sys-shape-corner-full);transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.reply-panel-close:hover{background:var(--md-sys-color-surface-container-highest)}.search-panel{background:var(--md-sys-color-surface-container);border-bottom:1px solid var(--md-sys-color-outline-variant);padding:12px 24px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;box-shadow:var(--md-sys-elevation-level1)}.search-input-wrapper{flex:1;position:relative;min-width:200px}.search-input{width:100%;padding:12px 40px 12px 16px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:var(--md-sys-color-on-surface);background:var(--md-sys-color-surface-container-lowest);transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.search-input:focus{outline:none;border-color:var(--md-sys-color-primary);border-width:2px;padding:11px 39px 11px 15px}.search-clear-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--md-sys-color-on-surface-variant);font-size:18px;cursor:pointer;padding:4px;border-radius:var(--md-sys-shape-corner-full)}.search-clear-btn:hover{color:var(--md-sys-color-on-surface)}.search-close-btn{background:var(--md-sys-color-surface-container-highest);border:none;border-radius:var(--md-sys-shape-corner-full);width:40px;height:40px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--md-sys-color-on-surface-variant);transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.search-close-btn:hover{background:var(--md-sys-color-surface-container-high)}.search-results-count{font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);color:var(--md-sys-color-on-surface-variant);white-space:nowrap;min-width:60px;text-align:center}.search-navigation{display:flex;align-items:center;gap:4px}.search-nav-btn{background:var(--md-sys-color-surface-container-highest);border:none;border-radius:var(--md-sys-shape-corner-small);width:36px;height:36px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--md-sys-color-on-surface-variant);transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.search-nav-btn:hover:not(:disabled){background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.search-nav-btn:disabled{opacity:.38;cursor:not-allowed}.search-mode-toggle{display:flex;gap:4px}.search-mode-btn{padding:8px 16px;background:var(--md-sys-color-surface-container-highest);border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);color:var(--md-sys-color-on-surface-variant)}.search-mode-btn:hover{background:var(--md-sys-color-surface-container-high)}.search-mode-btn.active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.search-global-results{width:100%;max-height:400px;overflow-y:auto;margin-top:12px;border-top:1px solid var(--md-sys-color-outline-variant);padding-top:12px}.search-global-results.hidden{display:none}.search-global-item{padding:12px 16px;border-radius:var(--md-sys-shape-corner-medium);cursor:pointer;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);margin-bottom:8px;background:var(--md-sys-color-surface-container-lowest)}.search-global-item:hover{background:var(--md-sys-color-secondary-container);transform:translate(4px)}.search-global-chat{font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);color:var(--md-sys-color-primary);font-weight:500;margin-bottom:4px}.search-global-message{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:var(--md-sys-color-on-surface);line-height:1.4}.search-global-author{font-weight:500;color:var(--md-sys-color-on-surface)}.search-global-text{color:var(--md-sys-color-on-surface-variant)}.search-global-text mark{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);padding:1px 4px;border-radius:var(--md-sys-shape-corner-extra-small)}.search-global-time{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);color:var(--md-sys-color-on-surface-variant);margin-top:4px}.search-no-results{text-align:center;color:var(--md-sys-color-on-surface-variant);padding:24px;font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size)}.search-navigation.hidden{display:none}.message-text mark{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);padding:2px 4px;border-radius:var(--md-sys-shape-corner-extra-small)}.message.search-current{background:var(--md-sys-color-tertiary-container)!important;box-shadow:0 0 0 2px var(--md-sys-color-tertiary),var(--md-sys-elevation-level2);animation:md-pulse .5s var(--md-sys-motion-easing-standard);border-radius:var(--md-sys-shape-corner-medium);padding:8px}.message.search-current mark{background:var(--md-sys-color-tertiary);color:var(--md-sys-color-on-tertiary)}@keyframes fadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.message.deleting{animation:fadeOut var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard) forwards}.forward-modal{position:fixed;inset:0;background:var(--md-sys-color-scrim);background:#00000052;display:flex;justify-content:center;align-items:center;z-index:var(--z-index-modal);animation:md-fade-in var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-standard)}.forward-modal-content{background:var(--md-sys-color-surface-container-high);padding:24px;border-radius:var(--md-sys-shape-corner-extra-large);width:90%;max-width:400px;animation:md-scale-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized-decelerate)}.forward-modal h3{margin:0 0 16px;font-family:var(--md-sys-typescale-headline-small-font-family);font-size:var(--md-sys-typescale-headline-small-font-size);font-weight:500;color:var(--md-sys-color-on-surface)}.forward-chat-list{max-height:300px;overflow-y:auto;margin-bottom:16px}.forward-chat-item{padding:12px 16px;border:2px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);margin-bottom:8px;cursor:pointer;transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:var(--md-sys-color-on-surface)}.forward-chat-item:hover{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-primary-container)}.forward-chat-item.selected{border-color:var(--md-sys-color-primary);background:var(--md-sys-color-secondary-container)}.management-container{display:flex;flex:1;overflow:hidden}.management-sidebar{width:220px;background:var(--md-sys-color-surface-container);padding:12px 8px;display:flex;flex-direction:column;gap:4px;flex-shrink:0;border-right:1px solid var(--md-sys-color-outline-variant)}.management-nav-btn{display:flex;align-items:center;gap:12px;padding:16px 20px;background:transparent;border:none;text-align:left;font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);color:var(--md-sys-color-on-surface-variant);cursor:pointer;border-radius:var(--md-sys-shape-corner-full);transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative}.management-nav-btn:before{content:"";position:absolute;inset:0;background:var(--md-sys-color-on-surface);opacity:0;border-radius:inherit;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.management-nav-btn:hover:before{opacity:var(--md-sys-state-hover-opacity)}.management-nav-btn.active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.management-nav-btn.active:before{opacity:0}.management-nav-btn .nav-icon{font-size:20px;flex-shrink:0}.management-nav-btn .nav-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.management-content{flex:1;overflow-y:auto;padding:24px;background:var(--md-sys-color-surface-container-lowest)}.management-section{display:none}.management-section.active{display:block;animation:md-fade-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.section-header h3{margin:0;font-family:var(--md-sys-typescale-title-large-font-family);font-size:var(--md-sys-typescale-title-large-font-size);font-weight:500;color:var(--md-sys-color-on-surface)}.users-table{width:100%;border-collapse:collapse;background:var(--md-sys-color-surface-container-lowest);border-radius:var(--md-sys-shape-corner-medium);overflow:hidden}.users-table th,.users-table td{padding:16px 12px;text-align:left;border-bottom:1px solid var(--md-sys-color-outline-variant)}.users-table th{background:var(--md-sys-color-surface-container);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);color:var(--md-sys-color-on-surface-variant);text-transform:uppercase;letter-spacing:.5px}.users-table td{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:var(--md-sys-color-on-surface)}.users-table tr:hover td{background:var(--md-sys-color-surface-container-low)}.users-table tr:last-child td{border-bottom:none}.role-select,.position-select,.store-select{padding:8px 12px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small);font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);cursor:pointer;background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface);transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.role-select:hover,.position-select:hover,.store-select:hover{border-color:var(--md-sys-color-on-surface)}.role-select:focus,.position-select:focus,.store-select:focus{outline:none;border-color:var(--md-sys-color-primary);border-width:2px;padding:7px 11px}.user-actions-overlay{position:fixed;inset:0;z-index:1100;display:flex;align-items:center;justify-content:center;background:#0006;animation:uap-overlay-in .15s ease}@keyframes uap-overlay-in{0%{opacity:0}to{opacity:1}}.user-actions-popup{width:400px;max-width:calc(100vw - 32px);background:var(--md-sys-color-surface-container-lowest);border-radius:var(--md-sys-shape-corner-extra-large);box-shadow:var(--md-sys-elevation-3);overflow:hidden;animation:uap-in .2s var(--md-sys-motion-easing-standard)}@keyframes uap-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.user-actions-popup-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 12px}.user-actions-popup-header span{font-family:var(--md-sys-typescale-title-large-font-family);font-size:var(--md-sys-typescale-title-large-font-size);font-weight:600;color:var(--md-sys-color-on-surface)}.user-actions-popup-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:50%;font-size:20px;cursor:pointer;color:var(--md-sys-color-on-surface-variant);transition:background .15s}.user-actions-popup-close:hover{background:var(--md-sys-color-surface-container-high)}.user-actions-popup-body{padding:8px 24px 24px}.user-actions-field{position:relative;margin-bottom:16px}.user-actions-field input{width:100%;padding:16px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-extra-small);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);line-height:var(--md-sys-typescale-body-large-line-height);color:var(--md-sys-color-on-surface);background:transparent;box-sizing:border-box;transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),outline-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.user-actions-field input::placeholder{color:transparent}.user-actions-field input:hover{border-color:var(--md-sys-color-on-surface)}.user-actions-field input:focus{outline:1px solid var(--md-sys-color-primary);border-color:var(--md-sys-color-primary)}.user-actions-field label{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:var(--md-sys-color-on-surface-variant);pointer-events:none;padding:0 4px;transition:top var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),font-size var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.user-actions-field input:focus+label,.user-actions-field input:not(:placeholder-shown)+label{top:0;transform:translateY(-50%) scale(.75);background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface-variant)}.user-actions-field input:focus+label{color:var(--md-sys-color-primary)}.user-actions-popup-actions{display:flex;gap:12px;margin-top:24px}.user-actions-save-btn{flex:1;padding:14px 24px;border:none;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s}.user-actions-save-btn:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 88%,var(--md-sys-color-on-primary) 12%);box-shadow:var(--md-sys-elevation-1)}.user-actions-delete-btn{padding:14px 24px;border:none;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s}.user-actions-delete-btn:hover{background:color-mix(in srgb,var(--md-sys-color-error-container) 80%,var(--md-sys-color-on-error-container) 20%);box-shadow:var(--md-sys-elevation-1)}.users-table tr{cursor:pointer}.users-table tr:active{background:var(--md-sys-color-surface-container)}.users-filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.users-filters .search-input{flex:1;min-width:200px;height:44px;padding:0 16px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface);transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.users-filters .search-input::placeholder{color:var(--md-sys-color-on-surface-variant)}.users-filters .search-input:focus{outline:none;border-color:var(--md-sys-color-primary);border-width:2px;padding:0 15px}.users-filters .role-filter{padding:0 16px;height:44px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface);cursor:pointer;min-width:160px;transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.users-filters .role-filter:focus{outline:none;border-color:var(--md-sys-color-primary)}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:20px;padding:16px 0}.pagination-controls button{padding:10px 20px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface);cursor:pointer;font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.pagination-controls button:hover:not(:disabled){background:var(--md-sys-color-secondary-container);border-color:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary-container)}.pagination-controls button:disabled{opacity:.38;cursor:not-allowed}.pagination-controls .pagination-info{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:var(--md-sys-color-on-surface-variant)}.profile-container{display:flex;flex-direction:column;align-items:center;gap:24px;padding:16px 0}.profile-avatar-section{display:flex;flex-direction:column;align-items:center;gap:16px}.profile-avatar-large{width:120px;height:120px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-primary-container);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:var(--md-sys-elevation-level2)}.profile-avatar-large img{width:100%;height:100%;object-fit:cover}.profile-avatar-large .avatar-initials{color:var(--md-sys-color-on-primary-container);font-family:var(--md-sys-typescale-display-small-font-family);font-size:42px;font-weight:500}.profile-info{width:100%;text-align:center}.profile-name{font-family:var(--md-sys-typescale-headline-medium-font-family);font-size:var(--md-sys-typescale-headline-medium-font-size);font-weight:500;color:var(--md-sys-color-on-surface);margin-bottom:4px}.profile-login{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:var(--md-sys-color-on-surface-variant);margin-bottom:16px}.profile-phone-row{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:12px}.profile-phone-icon{flex-shrink:0;color:var(--md-sys-color-on-surface-variant)}#profilePhone{display:flex;align-items:center;gap:6px;font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:var(--md-sys-color-on-surface)}#profilePhone.phone-placeholder{color:var(--md-sys-color-on-surface-variant);font-style:italic}.phone-link{color:var(--md-sys-color-primary);text-decoration:none;font-weight:500;transition:color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.phone-link:hover{color:var(--md-sys-color-tertiary);text-decoration:underline}.profile-edit-icon-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;border-radius:var(--md-sys-shape-corner-full);color:var(--md-sys-color-on-surface-variant);cursor:pointer;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.profile-edit-icon-btn:hover{background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-primary)}.modal-header-actions{display:flex;align-items:center;gap:4px}.btn-change-avatar{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:500;padding:8px 20px;cursor:pointer;margin-top:12px;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.btn-change-avatar:hover{background:color-mix(in srgb,var(--md-sys-color-secondary-container) 92%,var(--md-sys-color-on-secondary-container));box-shadow:var(--md-sys-elevation-level1)}.profile-edit-section{display:flex;flex-direction:column;gap:12px;margin-bottom:12px;padding:16px;background:var(--md-sys-color-surface-container-low);border-radius:var(--md-sys-shape-corner-medium)}.profile-edit-field{display:flex;flex-direction:column;gap:4px;text-align:left}.profile-edit-field label{font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);color:var(--md-sys-color-on-surface-variant);font-weight:500}.profile-edit-field input{padding:10px 16px;border:2px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:var(--md-sys-color-on-surface);background:var(--md-sys-color-surface);transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.profile-edit-field input:focus{outline:none;border-color:var(--md-sys-color-primary)}.profile-edit-actions{display:flex;gap:8px;justify-content:center;margin-top:4px}.profile-role{display:inline-block;padding:8px 20px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);margin-bottom:12px}.profile-position,.profile-store{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:var(--md-sys-color-on-surface-variant);margin-bottom:4px}.revenue-section-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.revenue-section-header h3{justify-self:start}.revenue-header-right{justify-self:end;display:flex;align-items:center}.revenue-date-picker{padding:8px 12px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-large);background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);cursor:pointer;transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.revenue-date-picker:focus{outline:none;border-color:var(--md-sys-color-primary);box-shadow:0 0 0 1px var(--md-sys-color-primary)}.revenue-deadline{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 16px;border-radius:var(--md-sys-shape-corner-large);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);text-align:center;line-height:1.3}.revenue-deadline.deadline-ok{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.revenue-deadline.deadline-warning{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);animation:pulse-warning 1.5s ease-in-out infinite}.revenue-deadline.deadline-passed{background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface-variant)}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.7}}.revenue-summary{display:flex;gap:24px;margin-bottom:24px;flex-wrap:wrap}.revenue-stat{flex:1;min-width:200px;padding:20px 24px;background:var(--md-sys-color-primary-container);border-radius:var(--md-sys-shape-corner-large);display:flex;flex-direction:column;gap:4px}.revenue-stat-value{font-family:var(--md-sys-typescale-headline-medium-font-family);font-size:var(--md-sys-typescale-headline-medium-font-size);font-weight:500;color:var(--md-sys-color-on-primary-container)}.revenue-stat-label{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:var(--md-sys-color-on-primary-container);opacity:.8}.revenue-table{width:100%;border-collapse:collapse;background:var(--md-sys-color-surface-container-lowest);border-radius:var(--md-sys-shape-corner-medium);overflow:hidden;margin-bottom:24px}.revenue-table th,.revenue-table td{padding:16px 12px;text-align:left;border-bottom:1px solid var(--md-sys-color-outline-variant)}.revenue-table th{background:var(--md-sys-color-surface-container);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);color:var(--md-sys-color-on-surface-variant)}.revenue-table td{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:var(--md-sys-color-on-surface)}.revenue-table tr:hover td{background:var(--md-sys-color-surface-container-low)}.revenue-table tr:last-child td{border-bottom:none}.revenue-table .amount{font-weight:500;font-family:var(--md-sys-typescale-title-medium-font-family)}.revenue-table .amount.has-value{color:var(--md-sys-color-primary)}.revenue-table .amount.no-value{color:var(--md-sys-color-on-surface-variant)}.revenue-status{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:110px;padding:6px 12px;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:var(--md-sys-typescale-label-medium-font-weight)}.revenue-status .status-icon{font-size:14px}.revenue-status .status-text{white-space:nowrap}.revenue-status.status-sent{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.revenue-status.status-pending{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.revenue-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.revenue-actions-buttons{display:flex;gap:8px}.revenue-actions .btn-secondary{padding:12px 24px;background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface);border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.revenue-actions .btn-secondary:hover{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.revenue-subtabs{display:flex;gap:4px;padding:4px;background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-full);width:fit-content}.revenue-actions .revenue-subtabs{margin-bottom:0}.revenue-subtab{padding:10px 20px;min-width:100px;background:transparent;border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);color:var(--md-sys-color-on-surface-variant);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);text-align:center;white-space:nowrap}.revenue-subtab:hover{background:var(--md-sys-color-surface-container-high)}.revenue-subtab.active{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.revenue-subtab-content{display:none}.revenue-subtab-content.active{display:flex;flex-direction:column;min-height:500px;animation:md-fade-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard)}.revenue-subtab-content .revenue-actions{margin-top:auto;padding-top:24px}@keyframes md-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stats-filters{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:24px;align-items:flex-end}.stats-filter-group{display:flex;flex-direction:column;gap:8px}.stats-filter-group label{font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);color:var(--md-sys-color-on-surface-variant)}.stats-period-buttons,.stats-chart-type-buttons{display:flex;gap:4px;padding:4px;background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-full)}.stats-period-btn,.stats-chart-btn{padding:8px 16px;background:transparent;border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);color:var(--md-sys-color-on-surface-variant);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.stats-period-btn:hover,.stats-chart-btn:hover{background:var(--md-sys-color-surface-container-high)}.stats-period-btn.active,.stats-chart-btn.active{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.stats-store-select{padding:10px 16px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small);font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface);cursor:pointer;min-width:180px}.stats-store-select:focus{outline:none;border-color:var(--md-sys-color-primary);border-width:2px}.stats-summary{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.stats-card{flex:1;min-width:150px;padding:16px 20px;background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-large);display:flex;flex-direction:column;gap:4px}.stats-card-value{font-family:var(--md-sys-typescale-headline-small-font-family);font-size:var(--md-sys-typescale-headline-small-font-size);font-weight:500;color:var(--md-sys-color-on-surface)}.stats-card-value.trend-up{color:var(--md-sys-color-tertiary)}.stats-card-value.trend-down{color:var(--md-sys-color-error)}.stats-card-label{font-family:var(--md-sys-typescale-body-small-font-family);font-size:var(--md-sys-typescale-body-small-font-size);color:var(--md-sys-color-on-surface-variant)}.stats-chart-container{background:var(--md-sys-color-surface-container-lowest);border-radius:var(--md-sys-shape-corner-large);padding:20px;height:400px;position:relative;transition:opacity .2s}.stats-chart-container.loading{opacity:.4;pointer-events:none}.revenue-row-clickable{cursor:pointer}.store-name-link{color:var(--md-sys-color-primary);cursor:pointer;transition:color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.store-name-link:hover{color:var(--md-sys-color-tertiary);text-decoration:underline}.instruction-form{padding:20px;background:var(--md-sys-color-surface-container-low);border-radius:var(--md-sys-shape-corner-medium);margin-bottom:16px;display:flex;flex-direction:column;gap:16px}.instruction-form .form-row{margin-bottom:0}.instruction-form .input-field{position:relative}.instruction-form .input-field input{width:100%;padding:16px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-extra-small);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);line-height:var(--md-sys-typescale-body-large-line-height);color:var(--md-sys-color-on-surface);background:transparent;margin-bottom:0;transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.instruction-form .input-field input:hover{border-color:var(--md-sys-color-on-surface)}.instruction-form .input-field input:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:-2px;border-color:transparent}.instruction-form .input-field label{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:var(--md-sys-color-on-surface-variant);pointer-events:none;padding:0 4px;transition:top var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),font-size var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);transform-origin:left center}.instruction-form .input-field input:focus+label,.instruction-form .input-field input:not(:placeholder-shown)+label{top:0;transform:translateY(-50%) scale(.75);background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface-variant)}.instruction-form .input-field input:focus+label{color:var(--md-sys-color-primary)}.instruction-form select{width:100%;padding:16px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-extra-small);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:var(--md-sys-color-on-surface);background:transparent;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2349454F' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;margin-bottom:0;transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.instruction-form select:hover{border-color:var(--md-sys-color-on-surface)}.instruction-form select:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:-2px;border-color:transparent}.roles-label{display:block;font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);color:var(--md-sys-color-on-surface-variant);margin-bottom:12px}.roles-checkboxes{display:flex;flex-wrap:wrap;gap:8px}.roles-checkboxes .checkbox-label{display:flex;align-items:center;gap:8px;padding:8px 16px;margin-bottom:0;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);line-height:1;color:var(--md-sys-color-on-surface);cursor:pointer;user-select:none;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.roles-checkboxes .checkbox-label:hover{background:var(--md-sys-color-surface-container-high)}.roles-checkboxes .checkbox-label:has(input:checked){background:var(--md-sys-color-secondary-container);border-color:transparent;color:var(--md-sys-color-on-secondary-container)}.roles-checkboxes .checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--md-sys-color-primary);margin:0;cursor:pointer}.instruction-form .form-actions{display:flex;gap:8px;margin-top:4px}.instr-category-group{margin-bottom:8px;border-radius:var(--md-sys-shape-corner-medium);border:1px solid var(--md-sys-color-outline-variant);overflow:hidden}.instr-category-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--md-sys-color-surface-container-low);cursor:pointer;user-select:none;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.instr-category-header:hover{background:var(--md-sys-color-surface-container)}.instr-category-arrow{font-size:12px;color:var(--md-sys-color-on-surface-variant);transform:rotate(90deg);transition:transform .2s ease}.instr-category-group.collapsed .instr-category-arrow{transform:rotate(0)}.instr-category-group.collapsed .instr-category-items{display:none}.instr-category-name{flex:1;font-family:var(--md-sys-typescale-title-small-font-family);font-size:var(--md-sys-typescale-title-small-font-size);font-weight:600;color:var(--md-sys-color-primary)}.instr-category-count{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);color:var(--md-sys-color-on-surface-variant);background:var(--md-sys-color-surface-container-high);padding:2px 10px;border-radius:var(--md-sys-shape-corner-full)}.instr-category-items{padding:4px 8px 8px}.instr-admin-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin-bottom:2px;border-radius:var(--md-sys-shape-corner-small);transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.instr-admin-item:hover{background:var(--md-sys-color-surface-container-high)}.instr-admin-info{flex:1;min-width:0}.instr-admin-title a{color:var(--md-sys-color-on-surface);text-decoration:none;font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);font-weight:500}.instr-admin-title a:hover{color:var(--md-sys-color-primary)}.instr-admin-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:4px}.instr-role-badge{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);font-weight:500;letter-spacing:var(--md-sys-typescale-label-small-letter-spacing);padding:2px 10px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);line-height:1.3}.instr-creator{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);color:var(--md-sys-color-on-surface-variant)}.instr-admin-item .btn-delete{width:36px;height:36px;padding:0;border:none;border-radius:var(--md-sys-shape-corner-full);background:transparent;color:var(--md-sys-color-on-surface-variant);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.instr-admin-item .btn-delete:hover{background:var(--md-sys-color-error-container);color:var(--md-sys-color-error)}#instructionsAdminList .empty-state{text-align:center;padding:40px 16px;color:var(--md-sys-color-on-surface-variant);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size)}.instructions-viewer{padding:4px 0}.instructions-viewer .empty-state{text-align:center;padding:40px 16px;color:var(--md-sys-color-on-surface-variant);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size)}.instr-viewer-category{margin-bottom:4px;border-radius:var(--md-sys-shape-corner-medium);border:1px solid var(--md-sys-color-outline-variant);overflow:hidden}.instr-viewer-category.collapsed .instr-viewer-items{display:none}.instr-viewer-category.collapsed .instr-viewer-arrow{transform:rotate(0)}.instr-viewer-category-header{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;background:var(--md-sys-color-surface-container-low);user-select:none;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.instr-viewer-category-header:hover{background:var(--md-sys-color-surface-container)}.instr-viewer-arrow{font-size:12px;color:var(--md-sys-color-on-surface-variant);transform:rotate(90deg);transition:transform .2s ease}.instr-viewer-category-name{font-family:var(--md-sys-typescale-title-small-font-family);font-weight:600;font-size:var(--md-sys-typescale-title-small-font-size);color:var(--md-sys-color-on-surface);flex:1}.instr-viewer-count{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);color:var(--md-sys-color-on-surface-variant);background:var(--md-sys-color-surface-container-high);padding:2px 10px;border-radius:var(--md-sys-shape-corner-full)}.instr-viewer-items{padding:4px 8px 8px}.instr-viewer-item{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:2px;color:var(--md-sys-color-on-surface);text-decoration:none;border-radius:var(--md-sys-shape-corner-small);font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.instr-viewer-item:hover{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-primary)}.instr-viewer-item svg{flex-shrink:0;color:var(--md-sys-color-on-surface-variant)}.instr-viewer-item:hover svg{color:var(--md-sys-color-primary)}#instructionsModal .modal-header h2,.sidebar-header-right{display:flex;align-items:center;gap:8px}.header-icon-btn{width:44px;height:44px;padding:0;background:transparent;color:var(--md-sys-color-on-surface-variant);border:none;border-radius:var(--md-sys-shape-corner-full);cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.header-icon-btn:hover{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-primary)}@media(max-width:768px){.management-sidebar{width:60px;padding:12px 4px}.management-nav-btn{justify-content:center;padding:14px}.management-nav-btn .nav-text{display:none}.management-nav-btn .nav-icon{font-size:24px}.revenue-status .status-text{display:none}.revenue-status .status-icon{font-size:18px}.revenue-status{padding:8px 10px}.revenue-deadline{font-size:12px;padding:6px 12px}.revenue-section-header{grid-template-columns:1fr;justify-items:start;gap:12px}.revenue-section-header .revenue-subtabs,.revenue-header-right{justify-self:center}.revenue-subtab-content.active{min-height:400px}.revenue-subtabs{width:100%;justify-content:center}.revenue-subtab{flex:1;min-width:70px;padding:10px 12px;font-size:13px}.revenue-actions-buttons{justify-content:center}.stats-filters{flex-direction:column;align-items:stretch}.stats-period-buttons{flex-wrap:wrap;justify-content:center}.stats-period-btn{padding:8px 12px;font-size:12px}.stats-chart-container{height:280px;padding:12px}.stats-summary{flex-direction:column}.stats-store-select{width:100%;min-width:auto}.revenue-table{font-size:12px}.revenue-table th,.revenue-table td{padding:10px 6px}.revenue-summary{gap:12px}.revenue-stat{min-width:auto;padding:16px}.revenue-table th:nth-child(3),.revenue-table td:nth-child(3){display:none}.stats-card{min-width:auto}}.invite-generate-card{background:var(--md-sys-color-surface-container-low);border-radius:var(--md-sys-shape-corner-large);padding:16px;margin-bottom:20px}.invite-generate-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.invite-role-select{flex:1;min-width:150px;height:44px;padding:0 16px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);background:var(--md-sys-color-surface-container-lowest);color:var(--md-sys-color-on-surface);cursor:pointer;transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.invite-role-select:focus{outline:none;border-color:var(--md-sys-color-primary);border-width:2px;padding:0 15px}.invites-list{display:flex;flex-direction:column;gap:8px}.invites-empty{text-align:center;padding:40px 16px;color:var(--md-sys-color-outline);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size)}.invite-card{background:var(--md-sys-color-surface-container-lowest);border-radius:var(--md-sys-shape-corner-medium);padding:14px 16px;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.invite-card:hover{background:var(--md-sys-color-surface-container-low)}.invite-card--used{opacity:.6}.invite-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.invite-code{font-family:Roboto Mono,monospace;font-size:1.05em;font-weight:500;letter-spacing:.5px;color:var(--md-sys-color-on-surface);background:var(--md-sys-color-surface-container);padding:4px 10px;border-radius:var(--md-sys-shape-corner-small);user-select:all}.invite-card-actions{display:flex;gap:2px;flex-shrink:0}.invite-action-btn{width:36px!important;height:36px!important;font-size:1em}.invite-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.invite-chips{display:flex;gap:6px;flex-wrap:wrap}.invite-chip{display:inline-flex;align-items:center;padding:2px 10px;border-radius:var(--md-sys-shape-corner-small);font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:500;line-height:20px}.invite-chip--role{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.invite-chip--tertiary{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.invite-chip--secondary{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.invite-chip--active{background:var(--md-sys-color-success-container);color:var(--md-sys-color-on-success-container)}.invite-chip--used{background:var(--md-sys-color-surface-container);color:var(--md-sys-color-outline)}.invite-card-date{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);color:var(--md-sys-color-outline);flex-shrink:0}.invite-card-meta{margin-top:6px;font-family:var(--md-sys-typescale-body-small-font-family);font-size:var(--md-sys-typescale-body-small-font-size);color:var(--md-sys-color-outline)}.members-list{max-height:280px;overflow-y:auto;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface-container-lowest)}.member-item{display:flex;flex-direction:row;align-items:center;padding:12px 16px;border-bottom:1px solid var(--md-sys-color-outline-variant);cursor:pointer;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);gap:12px;position:relative}.member-item:last-child{border-bottom:none}.member-item:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.member-item:hover:before{opacity:var(--md-sys-state-hover-opacity)}.member-item.selected{background:var(--md-sys-color-secondary-container)}.member-checkbox{width:18px;height:18px;flex:0 0 18px;accent-color:var(--md-sys-color-primary);cursor:pointer;margin:0}.member-info{flex:1 1 auto;min-width:100px;overflow:hidden}.member-name{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);font-weight:600;color:var(--md-sys-color-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.member-username{font-family:var(--md-sys-typescale-body-small-font-family);font-size:var(--md-sys-typescale-body-small-font-size);color:var(--md-sys-color-on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.member-role-badge{flex:0 0 auto;font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);font-weight:var(--md-sys-typescale-label-small-font-weight);padding:4px 10px;border-radius:var(--md-sys-shape-corner-small);text-transform:uppercase;white-space:nowrap}.member-role-badge.admin{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.member-role-badge.manager{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.member-role-badge.employee{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.member-role-badge.retail{background:var(--md-sys-color-success-container);color:var(--md-sys-color-on-success-container)}.member-role-badge.warehouse{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.selected-info{padding:12px 16px;text-align:right;font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:var(--md-sys-typescale-label-medium-font-weight);color:var(--md-sys-color-on-surface-variant);background:var(--md-sys-color-surface-container);border-radius:0 0 var(--md-sys-shape-corner-medium) var(--md-sys-shape-corner-medium);border-top:1px solid var(--md-sys-color-outline-variant)}#selectedCount{color:var(--md-sys-color-primary);font-weight:700;font-size:var(--md-sys-typescale-title-medium-font-size)}.chat-info-section{margin-bottom:24px}.chat-info-section h3{font-family:var(--md-sys-typescale-title-small-font-family);font-size:var(--md-sys-typescale-title-small-font-size);font-weight:var(--md-sys-typescale-title-small-font-weight);color:var(--md-sys-color-on-surface-variant);text-transform:uppercase;letter-spacing:var(--md-sys-typescale-title-small-letter-spacing);margin-bottom:12px}.chat-members-list{border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);max-height:280px;overflow-y:auto;background:var(--md-sys-color-surface-container-lowest)}.chat-member-item{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--md-sys-color-outline-variant);gap:12px}.chat-member-item:last-child{border-bottom:none}.chat-member-avatar{width:40px;height:40px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);display:flex;align-items:center;justify-content:center;font-family:var(--md-sys-typescale-title-medium-font-family);font-weight:600;font-size:16px;flex-shrink:0;cursor:pointer;transition:transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);overflow:hidden}.chat-member-avatar:hover{transform:scale(1.1)}.chat-member-avatar.has-avatar{background:none}.chat-member-avatar img{width:100%;height:100%;object-fit:cover}.chat-member-info{flex:1;min-width:0}.chat-member-name{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);font-weight:600;color:var(--md-sys-color-on-surface)}.chat-member-name.clickable{cursor:pointer;transition:color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.chat-member-name.clickable:hover{color:var(--md-sys-color-primary);text-decoration:underline}.chat-member-role{font-family:var(--md-sys-typescale-body-small-font-family);font-size:var(--md-sys-typescale-body-small-font-size);color:var(--md-sys-color-on-surface-variant)}.chat-member-remove{padding:8px 16px;background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:var(--md-sys-typescale-label-medium-font-weight);cursor:pointer;flex-shrink:0;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.chat-member-remove:hover{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}.add-member-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--md-sys-color-outline-variant)}.add-member-section h3{font-family:var(--md-sys-typescale-title-small-font-family);font-size:var(--md-sys-typescale-title-small-font-size);font-weight:var(--md-sys-typescale-title-small-font-weight);color:var(--md-sys-color-on-surface-variant);text-transform:uppercase;letter-spacing:var(--md-sys-typescale-title-small-letter-spacing);margin-bottom:12px}.add-member-section h4{font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);color:var(--md-sys-color-on-surface-variant);margin:20px 0 10px}.add-member-row{display:flex;gap:12px;margin:16px 0}.add-member-row select{flex:1;padding:12px 16px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-extra-small);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.add-member-row select:hover{border-color:var(--md-sys-color-on-surface)}.add-member-row select:focus{outline:none;border-color:var(--md-sys-color-primary);border-width:2px}.chat-info-actions{margin-top:24px;padding-top:20px;border-top:1px solid var(--md-sys-color-outline-variant)}.role-badge-table{display:inline-block;padding:4px 10px;border-radius:var(--md-sys-shape-corner-small);font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);font-weight:var(--md-sys-typescale-label-small-font-weight);text-transform:uppercase}.role-badge-table.employee{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.role-badge-table.admin{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.role-badge-table.manager{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.role-badge-table.retail{background:var(--md-sys-color-success-container);color:var(--md-sys-color-on-success-container)}.role-badge-table.warehouse{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.group-profile-section{display:flex;flex-direction:column;align-items:center;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--md-sys-color-outline-variant)}.group-avatar-section{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:16px}.group-avatar-large{width:100px;height:100px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-tertiary-container);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:var(--md-sys-elevation-level2)}.group-avatar-large img{width:100%;height:100%;object-fit:cover}.group-avatar-large .group-avatar-icon{font-size:42px;color:var(--md-sys-color-on-tertiary-container)}.group-info{text-align:center;width:100%}.group-name{font-family:var(--md-sys-typescale-headline-small-font-family);font-size:var(--md-sys-typescale-headline-small-font-size);font-weight:var(--md-sys-typescale-headline-small-font-weight);line-height:var(--md-sys-typescale-headline-small-line-height);color:var(--md-sys-color-on-surface);margin-bottom:4px}.group-members-count{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:var(--md-sys-color-on-surface-variant);margin-bottom:16px}.group-description{background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-medium);padding:12px 16px;margin:12px 0;text-align:left}.group-description .description-text{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);line-height:var(--md-sys-typescale-body-medium-line-height);color:var(--md-sys-color-on-surface-variant);white-space:pre-wrap}.group-description .description-text:empty:before{content:"\41e\43f\438\441\430\43d\438\435  \43d\435  \437\430\434\430\43d\43e";color:var(--md-sys-color-on-surface-variant);font-style:italic;opacity:.7}.group-description-edit{margin:12px 0}.group-description-edit textarea{width:100%;padding:12px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-extra-small);font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);resize:vertical;min-height:80px;background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.group-description-edit textarea:focus{outline:none;border-color:var(--md-sys-color-primary);border-width:2px}.description-edit-actions{display:flex;gap:12px;margin-top:12px;justify-content:center}.btn-link{background:none;border:none;color:var(--md-sys-color-primary);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;padding:8px 12px;border-radius:var(--md-sys-shape-corner-full);transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative}.btn-link:before{content:"";position:absolute;inset:0;background:var(--md-sys-color-primary);opacity:0;border-radius:inherit;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.btn-link:hover:before{opacity:var(--md-sys-state-hover-opacity)}.groups-manage-list{display:flex;flex-direction:column;gap:12px}.group-manage-item{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-medium);border:1px solid var(--md-sys-color-outline-variant);transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.group-manage-item:hover{background:var(--md-sys-color-surface-container-high)}.group-manage-info{flex:1;min-width:0}.group-manage-name{font-family:var(--md-sys-typescale-title-medium-font-family);font-size:var(--md-sys-typescale-title-medium-font-size);font-weight:var(--md-sys-typescale-title-medium-font-weight);color:var(--md-sys-color-on-surface);margin-bottom:4px}.group-manage-meta{font-family:var(--md-sys-typescale-body-small-font-family);font-size:var(--md-sys-typescale-body-small-font-size);color:var(--md-sys-color-on-surface-variant)}.group-manage-actions{display:flex;gap:8px;flex-shrink:0}.group-manage-actions .btn-edit{padding:8px 16px;background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:var(--md-sys-typescale-label-medium-font-weight);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.group-manage-actions .btn-edit:hover{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.group-manage-actions .btn-delete{padding:8px 16px;background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container);border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:var(--md-sys-typescale-label-medium-font-weight);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.group-manage-actions .btn-delete:hover{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}.empty-state{text-align:center;padding:48px 24px;color:var(--md-sys-color-on-surface-variant);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size)}@media(max-width:768px){.members-list{max-width:100%;overflow-x:hidden;box-sizing:border-box}.member-item{width:100%;max-width:100%;box-sizing:border-box;padding:12px;gap:10px;overflow:hidden}.member-checkbox{flex:0 0 20px;width:20px;height:20px;min-width:20px}.member-info{flex:1 1 0;min-width:0;max-width:calc(100% - 40px);overflow:hidden}.member-name,.member-username{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-role-badge{display:none}.group-manage-item{flex-direction:column;align-items:flex-start;gap:12px}.group-manage-actions{width:100%;justify-content:flex-end}}@media(max-width:480px){.member-item{padding:10px 12px;gap:8px}.member-name{font-size:var(--md-sys-typescale-body-medium-font-size)}.member-username{font-size:var(--md-sys-typescale-label-small-font-size)}}.stores-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--md-sys-color-outline-variant);flex-shrink:0}.stores-section-header h3{margin:0;font-size:16px;font-weight:600;color:var(--md-sys-color-on-surface)}.stores-header-actions{display:flex;align-items:center;gap:8px}.stores-settings-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-small, 4px);padding:6px 14px;font-size:13px;cursor:pointer;color:var(--md-sys-color-primary);font-family:inherit;transition:background .15s,border-color .15s;white-space:nowrap}.stores-settings-btn:hover{background:var(--md-sys-color-primary-container);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary-container)}.stores-add-store-btn{display:inline-flex;align-items:center;gap:6px;background:var(--md-sys-color-primary);border:none;border-radius:var(--md-sys-shape-corner-small, 4px);padding:6px 14px;font-size:13px;cursor:pointer;color:var(--md-sys-color-on-primary);font-family:inherit;transition:opacity .15s;white-space:nowrap}.stores-add-store-btn:hover{opacity:.88}.stores-kanban{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-bottom:12px;overflow-y:auto}.stores-loading,.stores-empty,.stores-error{padding:40px 24px;text-align:center;color:var(--md-sys-color-outline);font-size:14px;width:100%}.stores-error{color:var(--md-sys-color-error)}.store-column{background:var(--md-sys-color-surface-container-low);border-radius:var(--md-sys-shape-corner-large, 12px);padding:12px;display:flex;flex-direction:column;gap:8px}.store-column-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid var(--md-sys-color-outline-variant);gap:8px}.store-column-name{font-weight:600;font-size:14px;color:var(--md-sys-color-on-surface);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.store-column-count{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border-radius:10px;padding:1px 8px;font-size:12px;font-weight:600;flex-shrink:0;line-height:18px}.store-column-body{display:flex;flex-direction:column;gap:6px;min-height:32px}.store-col-empty{color:var(--md-sys-color-outline);font-size:12px;text-align:center;padding:8px 0}.employee-card{background:var(--md-sys-color-surface);border-radius:var(--md-sys-shape-corner-medium, 8px);padding:10px 10px 10px 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:6px;position:relative;transition:box-shadow .15s}.employee-card:hover{box-shadow:0 1px 3px #00000014}.employee-card-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.emp-name{font-size:13px;font-weight:500;color:var(--md-sys-color-on-surface);line-height:1.4;word-break:break-word}.emp-position{font-size:11px;color:var(--md-sys-color-outline);text-transform:lowercase}.emp-linked-badge{display:inline-flex;align-items:center;gap:3px;font-size:11px;background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container);border-radius:8px;padding:2px 7px;width:fit-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.employee-three-dot{position:relative;flex-shrink:0}.three-dot-btn{background:none;border:none;cursor:pointer;font-size:18px;color:var(--md-sys-color-outline);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;padding:0;line-height:1;transition:background .12s,color .12s;font-family:inherit}.three-dot-btn:hover{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface)}.emp-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-medium, 8px);box-shadow:0 4px 16px #00000026;z-index:200;min-width:210px;overflow:hidden;border:1px solid var(--md-sys-color-outline-variant)}.emp-menu.hidden{display:none}.emp-menu-item{padding:10px 16px;cursor:pointer;font-size:13px;color:var(--md-sys-color-on-surface);font-family:inherit;transition:background .1s;display:flex;align-items:center;gap:8px}.emp-menu-item:hover{background:var(--md-sys-color-surface-container-high)}.emp-menu-delete{color:var(--md-sys-color-error)}.emp-menu-delete:hover{background:var(--md-sys-color-error-container);color:var(--md-sys-color-on-error-container)}.store-add-btn{width:100%;padding:8px;background:none;border:1.5px dashed var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-small, 4px);color:var(--md-sys-color-primary);cursor:pointer;font-size:13px;font-family:inherit;transition:background .15s,border-color .15s,color .15s}.store-add-btn:hover{background:var(--md-sys-color-primary-container);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary-container)}#storeEmpModal,#storeLinkModal,#storeAddModal{z-index:1100}.store-emp-dialog{max-width:420px;width:calc(100vw - 32px)}.modal-footer{display:flex;gap:12px;padding:0 24px 24px;flex-shrink:0}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:13px;font-weight:500;color:var(--md-sys-color-on-surface-variant);margin-bottom:6px}.form-input,.form-select{width:100%;padding:10px 12px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small, 4px);font-family:inherit;font-size:14px;color:var(--md-sys-color-on-surface);background:var(--md-sys-color-surface-container-lowest);box-sizing:border-box;transition:border-color .15s}.form-input:focus,.form-select:focus{outline:none;border-color:var(--md-sys-color-primary);border-width:2px;padding:9px 11px}.form-hint{margin:4px 0 0;font-size:12px;color:var(--md-sys-color-outline)}.form-label .required{color:var(--md-sys-color-error)}.store-link-emp-name{font-weight:500;margin:0 0 12px;color:var(--md-sys-color-on-surface);font-size:15px}@media(max-width:768px){.stores-kanban{grid-template-columns:1fr}}.context-menu{position:absolute;background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-level2);padding:8px 0;z-index:9999;min-width:200px;animation:md-scale-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized-decelerate)}.context-menu-item{padding:12px 16px;cursor:pointer;font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);color:var(--md-sys-color-on-surface);transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);display:flex;align-items:center;gap:12px;position:relative}.context-menu-item:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.context-menu-item:hover:before{opacity:var(--md-sys-state-hover-opacity)}.context-menu-item.disabled{opacity:.38;pointer-events:none}.context-menu-item.danger{color:var(--md-sys-color-error)}.context-menu-item.danger:hover{background:var(--md-sys-color-error-container)}.reply-panel{padding:12px 20px;background:var(--md-sys-color-primary-container);border-left:4px solid var(--md-sys-color-primary);display:flex;justify-content:space-between;align-items:center;margin:0 24px;border-radius:var(--md-sys-shape-corner-medium) var(--md-sys-shape-corner-medium) 0 0;animation:md-slide-in-bottom var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized-decelerate)}.reply-panel-content{flex:1;min-width:0}.reply-panel-label{font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:var(--md-sys-typescale-label-medium-font-weight);color:var(--md-sys-color-primary);margin-bottom:4px}.reply-panel-text{font-family:var(--md-sys-typescale-body-small-font-family);font-size:var(--md-sys-typescale-body-small-font-size);color:var(--md-sys-color-on-primary-container);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-panel-close{background:none;border:none;font-size:18px;color:var(--md-sys-color-on-primary-container);cursor:pointer;padding:8px;border-radius:var(--md-sys-shape-corner-full);transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative}.reply-panel-close:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;border-radius:inherit;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.reply-panel-close:hover:before{opacity:var(--md-sys-state-hover-opacity)}.message-bubble{display:inline-block;max-width:70%;border-radius:var(--md-sys-shape-corner-large);overflow:visible;position:relative}.message-bubble.has-reply{background:var(--md-sys-color-surface-container-high);overflow:hidden}.message.own .message-bubble.has-reply{background:var(--md-sys-color-primary-container)}.message-bubble.has-reply .message-text{background:transparent;border-radius:0}.message-reply{background:var(--md-sys-color-tertiary-container);border-left:3px solid var(--md-sys-color-tertiary);padding:8px 12px;margin:0;border-radius:0;cursor:pointer;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.message-reply:hover{background:color-mix(in srgb,var(--md-sys-color-tertiary-container) 85%,var(--md-sys-color-tertiary) 15%)}.message-reply-author{font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:600;color:var(--md-sys-color-tertiary);margin-bottom:2px}.message-reply-text{font-family:var(--md-sys-typescale-body-small-font-family);font-size:var(--md-sys-typescale-body-small-font-size);color:var(--md-sys-color-on-tertiary-container);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message.own .message-reply{background:color-mix(in srgb,var(--md-sys-color-primary) 20%,var(--md-sys-color-primary-container) 80%);border-left:3px solid var(--md-sys-color-primary);border-right:none;text-align:left}.message.own .message-reply:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 30%,var(--md-sys-color-primary-container) 70%)}.message.own .message-reply-author{color:var(--md-sys-color-primary);font-weight:600}.message.own .message-reply-text{color:var(--md-sys-color-on-primary-container)}.message-bubble.has-reply{border-left:3px solid var(--md-sys-color-tertiary)}.message.own .message-bubble.has-reply{border-left:none;border-right:3px solid var(--md-sys-color-primary)}.message-bubble.has-reply .message-reply{border-left:none;border-right:none}.message-bubble.highlight,.message-bubble.highlight .message-text,.message-text.highlight{background:var(--md-sys-color-tertiary)!important;color:var(--md-sys-color-on-tertiary)!important;transition:background .3s ease-out,color .3s ease-out}.message-bubble.highlight-fade,.message-bubble.highlight-fade .message-text,.message-text.highlight-fade{background:var(--md-sys-color-surface-container-high)!important;transition:background 1.5s ease-out,color 1.5s ease-out}.message.own .message-bubble.highlight-fade,.message.own .message-bubble.highlight-fade .message-text,.message.own .message-text.highlight-fade{background:var(--md-sys-color-primary-container)!important;color:var(--md-sys-color-on-primary-container)!important}.message.editing{background:var(--md-sys-color-tertiary-container)}.message-edit-input{width:100%;padding:12px;border:2px solid var(--md-sys-color-primary);border-radius:var(--md-sys-shape-corner-extra-small);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);resize:vertical;min-height:60px;margin-bottom:8px;background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.message-edit-input:focus{outline:none;border-color:var(--md-sys-color-secondary)}.message-edit-actions{display:flex;gap:8px}.btn-save-edit,.btn-cancel-edit{padding:8px 16px;border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:var(--md-sys-typescale-label-medium-font-weight);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.btn-save-edit{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.btn-save-edit:hover{box-shadow:var(--md-sys-elevation-level1)}.btn-cancel-edit{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface)}.btn-cancel-edit:hover{background:var(--md-sys-color-surface-container-highest)}.message-edited-badge{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);color:var(--md-sys-color-on-surface-variant);font-style:italic;margin-left:6px}.message-forwarded-badge{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);font-weight:var(--md-sys-typescale-label-small-font-weight);color:var(--md-sys-color-tertiary);display:block;margin-bottom:2px}.message.own .message-forwarded-badge{color:var(--md-sys-color-on-primary-container);opacity:.85}.message-broadcast-badge{font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:600;color:var(--md-sys-color-on-tertiary-container);background:var(--md-sys-color-tertiary-container);display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--md-sys-shape-corner-full);margin-bottom:4px}.message.own .message-broadcast-badge{background:color-mix(in srgb,var(--md-sys-color-primary) 20%,var(--md-sys-color-primary-container) 80%);color:var(--md-sys-color-on-primary-container)}.broadcast-card{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:var(--md-sys-color-tertiary-container);border-radius:var(--md-sys-shape-corner-large);box-shadow:var(--md-sys-elevation-level1);border:1px solid var(--md-sys-color-outline-variant);margin-top:2px;min-width:200px;max-width:420px;transition:box-shadow var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.broadcast-card:hover{box-shadow:var(--md-sys-elevation-level2)}.broadcast-card-icon{flex-shrink:0;width:44px;height:44px;background:var(--md-sys-color-tertiary);border-radius:var(--md-sys-shape-corner-medium);display:flex;align-items:center;justify-content:center;color:var(--md-sys-color-on-tertiary);box-shadow:var(--md-sys-elevation-level1)}.broadcast-card-icon svg{width:22px;height:22px}.broadcast-card-body{display:flex;flex-direction:column;justify-content:center;min-width:0;gap:3px}.broadcast-card-label{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--md-sys-color-on-tertiary-container);opacity:.75}.broadcast-card-text{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);font-weight:500;color:var(--md-sys-color-on-tertiary-container);word-break:break-word;white-space:pre-wrap}.forward-chat-list{max-height:300px;overflow-y:auto;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);background:var(--md-sys-color-surface-container-lowest)}.forward-chat-item{padding:14px 16px;border-bottom:1px solid var(--md-sys-color-outline-variant);cursor:pointer;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative}.forward-chat-item:last-child{border-bottom:none}.forward-chat-item:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.forward-chat-item:hover:before{opacity:var(--md-sys-state-hover-opacity)}.forward-chat-item.selected{background:var(--md-sys-color-primary-container);border-left:4px solid var(--md-sys-color-primary)}.broadcast-textarea{width:100%;padding:12px 16px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small);background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);resize:vertical;min-height:60px;box-sizing:border-box}.broadcast-textarea:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:-1px;border-color:transparent}.broadcast-input-row{display:flex;gap:8px;align-items:flex-start}.broadcast-input-row .broadcast-textarea{flex:1}.broadcast-attach-btn{flex-shrink:0;width:40px;height:40px;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-small);background:var(--md-sys-color-surface-container-low);color:var(--md-sys-color-on-surface-variant);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;margin-top:1px}.broadcast-attach-btn:hover{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary)}.broadcast-image-preview{position:relative;margin:8px 0;border-radius:var(--md-sys-shape-corner-small);overflow:hidden;background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);max-height:200px;display:flex;align-items:center;justify-content:center}.broadcast-image-preview img{max-width:100%;max-height:200px;object-fit:contain;display:block}.broadcast-remove-image{position:absolute;top:6px;right:6px;width:28px;height:28px;border:none;border-radius:50%;background:#0009;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.broadcast-remove-image:hover{background:#000c}.broadcast-filters{display:flex;gap:8px;margin:12px 0 8px}.broadcast-filter-btn{padding:6px 16px;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-full);background:transparent;color:var(--md-sys-color-on-surface-variant);font-size:13px;cursor:pointer;transition:all .15s}.broadcast-filter-btn.active{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-color:var(--md-sys-color-primary)}.broadcast-role-group-header{padding:10px 12px;background:var(--md-sys-color-surface-container-high);border-radius:var(--md-sys-shape-corner-small);margin-top:8px;cursor:pointer}.broadcast-role-group-header:first-child{margin-top:0}.broadcast-role-group-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500}.broadcast-role-group-chevron{font-size:12px;color:var(--md-sys-color-on-surface-variant);transition:transform .15s;width:12px;text-align:center}.broadcast-role-group-checkbox{width:18px;height:18px;accent-color:var(--md-sys-color-primary);cursor:pointer}.broadcast-role-group-name{font-size:14px;color:var(--md-sys-color-on-surface)}.broadcast-role-group-count{font-size:12px;color:var(--md-sys-color-on-surface-variant);background:var(--md-sys-color-surface-container-highest);padding:1px 8px;border-radius:var(--md-sys-shape-corner-full);margin-left:auto}.broadcast-position-header{padding:2px 12px 4px 42px;font-size:11px;color:var(--md-sys-color-on-surface-variant);text-transform:uppercase;letter-spacing:.5px;margin-top:0}.broadcast-role-group-content{overflow:hidden;transition:max-height .3s ease;max-height:2000px}.broadcast-role-group-content.collapsed{max-height:0}.broadcast-role-group-content .broadcast-chat-item{padding-left:28px}.broadcast-role-badge{font-size:11px;padding:2px 8px;border-radius:var(--md-sys-shape-corner-full);margin-left:auto;flex-shrink:0}.broadcast-role-retail{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.broadcast-role-manager{background:var(--md-sys-color-tertiary-container);color:var(--md-sys-color-on-tertiary-container)}.broadcast-role-employee{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.broadcast-role-warehouse{background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-on-surface)}.broadcast-select-actions{display:flex;justify-content:flex-end;margin-bottom:4px}.broadcast-select-all-btn{background:none;border:none;color:var(--md-sys-color-primary);font-size:13px;cursor:pointer;padding:4px 8px;border-radius:var(--md-sys-shape-corner-small)}.broadcast-select-all-btn:hover{background:var(--md-sys-color-primary-container)}.broadcast-chat-list{max-height:420px;overflow-y:auto;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-small)}.broadcast-chat-item{border-bottom:1px solid var(--md-sys-color-outline-variant);transition:background .15s;cursor:pointer}.broadcast-chat-item:last-child{border-bottom:none}.broadcast-chat-item:hover{background:var(--md-sys-color-surface-container-high)}.broadcast-chat-item.selected{background:var(--md-sys-color-primary-container)}.broadcast-chat-label{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;user-select:none}.broadcast-checkbox{width:18px;height:18px;accent-color:var(--md-sys-color-primary);flex-shrink:0}.broadcast-chat-icon{font-size:16px;flex-shrink:0}.broadcast-chat-name{font-size:14px;color:var(--md-sys-color-on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.broadcast-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.broadcast-count{font-size:13px;color:var(--md-sys-color-on-surface-variant)}.forward-notification{position:fixed;top:20px;right:20px;background:var(--md-sys-color-success-container);color:var(--md-sys-color-on-success-container);padding:16px 24px;border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-level3);font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);font-weight:600;z-index:10000;opacity:0;transform:translateY(-20px);transition:all var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized)}.forward-notification.show{opacity:1;transform:translateY(0)}.load-more-btn{display:block;width:calc(100% - 48px);margin:12px 24px;padding:12px 24px;background:var(--md-sys-color-surface-container-high);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-full);color:var(--md-sys-color-on-surface);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden}.load-more-btn:before{content:"";position:absolute;inset:0;background:var(--md-sys-color-primary);opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.load-more-btn:hover:not(:disabled):before{opacity:var(--md-sys-state-hover-opacity)}.load-more-btn:hover:not(:disabled){background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-color:transparent}.load-more-btn:disabled{cursor:not-allowed;opacity:.38}.message-with-avatar{display:flex;gap:12px;align-items:flex-start;max-width:75%}.message.own.message-with-avatar{margin-left:auto;flex-direction:row-reverse}.message:not(.own).message-with-avatar{margin-right:auto}.message.own .message-content-wrapper{text-align:right;align-items:flex-end}.message.own .message-header{justify-content:flex-end}.message.own .message-text{text-align:left}.message-avatar{width:36px;height:36px;border-radius:var(--md-sys-shape-corner-full);background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);display:flex;align-items:center;justify-content:center;font-family:var(--md-sys-typescale-label-large-font-family);font-weight:600;font-size:14px;flex-shrink:0;cursor:pointer;overflow:hidden;transition:transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.message-avatar:hover{transform:scale(1.1)}.message-avatar img{width:100%;height:100%;object-fit:cover}.message-content-wrapper{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;position:relative}.message-username.clickable{cursor:pointer;transition:color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.message-username.clickable:hover{color:var(--md-sys-color-primary);text-decoration:underline}.message-revenue{background:transparent!important;border:none!important;padding:8px 0!important}.message-revenue .message-content-wrapper{background:transparent}.revenue-card{display:grid;grid-template-columns:48px 1fr auto;grid-template-rows:auto auto;gap:4px 12px;padding:16px;background:var(--md-sys-color-success-container);border-radius:var(--md-sys-shape-corner-large);box-shadow:var(--md-sys-elevation-level1);border:1px solid var(--md-sys-color-outline-variant);margin-top:6px;min-width:260px;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.revenue-card:hover{box-shadow:var(--md-sys-elevation-level2);transform:translateY(-1px)}.revenue-card-icon{grid-row:1 / 3;width:48px;height:48px;background:var(--md-sys-color-success);border-radius:var(--md-sys-shape-corner-medium);display:flex;align-items:center;justify-content:center;color:var(--md-sys-color-on-success);box-shadow:var(--md-sys-elevation-level1)}.revenue-card-icon svg{width:24px;height:24px}.revenue-card-body{display:flex;flex-direction:column;justify-content:center;min-width:0}.revenue-card-label{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);font-weight:var(--md-sys-typescale-label-small-font-weight);text-transform:uppercase;letter-spacing:.5px;color:var(--md-sys-color-on-success-container);margin-bottom:2px}.revenue-card-store{font-family:var(--md-sys-typescale-title-medium-font-family);font-size:var(--md-sys-typescale-title-medium-font-size);font-weight:var(--md-sys-typescale-title-medium-font-weight);color:var(--md-sys-color-on-success-container);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.revenue-card-amount{grid-column:3;grid-row:1 / 3;display:flex;align-items:center;font-family:var(--md-sys-typescale-headline-small-font-family);font-size:22px;font-weight:700;color:var(--md-sys-color-success);white-space:nowrap;padding-left:12px}.revenue-currency{font-size:16px;font-weight:500;margin-left:2px;opacity:.7}.revenue-card-breakdown{grid-column:1 / 4;font-size:var(--md-sys-typescale-body-small-font-size);color:var(--md-sys-color-on-success-container);opacity:.75;text-align:center;margin-top:4px}.revenue-card-date{grid-column:1 / 4;font-family:var(--md-sys-typescale-body-small-font-family);font-size:var(--md-sys-typescale-body-small-font-size);color:var(--md-sys-color-on-success-container);opacity:.8;margin-top:8px;padding-top:10px;border-top:1px solid rgba(0,0,0,.08);text-align:center}.message-revenue.own .revenue-card{background:var(--md-sys-color-success-container)}.revenue-notification{position:fixed;top:20px;right:20px;background:var(--md-sys-color-success);color:var(--md-sys-color-on-success);padding:16px 24px;border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-level3);font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);font-weight:600;z-index:10000;opacity:0;transform:translateY(-20px);transition:all var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized)}.revenue-notification.show{opacity:1;transform:translateY(0)}.revenue-notification-content{display:flex;align-items:center;gap:12px}.revenue-notification-icon{font-size:20px}.attach-menu{background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-level2);padding:8px 0;min-width:180px;z-index:1000;animation:md-scale-in var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized-decelerate)}.attach-menu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative}.attach-menu-item:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.attach-menu-item:hover:before{opacity:var(--md-sys-state-hover-opacity)}.attach-menu-icon{font-size:20px;width:28px;text-align:center;color:var(--md-sys-color-on-surface-variant)}.attach-menu-text{font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);color:var(--md-sys-color-on-surface)}.revenue-form .form-group{margin-bottom:20px}.revenue-form label{display:block;margin-bottom:8px;font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);color:var(--md-sys-color-on-surface)}.revenue-form .form-input,.revenue-form .form-select{width:100%;padding:14px 16px;border:1px solid var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-extra-small);font-family:var(--md-sys-typescale-body-large-font-family);font-size:var(--md-sys-typescale-body-large-font-size);background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);box-sizing:border-box;transition:border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.revenue-form .form-input:hover,.revenue-form .form-select:hover{border-color:var(--md-sys-color-on-surface)}.revenue-form .form-input:focus,.revenue-form .form-select:focus{outline:none;border-color:var(--md-sys-color-success);border-width:2px}.revenue-form .form-input.readonly{background:var(--md-sys-color-surface-container);color:var(--md-sys-color-on-surface-variant);cursor:not-allowed}.revenue-form .form-input[type=number]{font-size:var(--md-sys-typescale-title-large-font-size);font-weight:600}.revenue-form .form-actions{display:flex;gap:12px;margin-top:24px}.revenue-form .btn-primary{flex:1;padding:16px 24px;background:var(--md-sys-color-success);color:var(--md-sys-color-on-success);border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden}.revenue-form .btn-primary:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.revenue-form .btn-primary:hover{box-shadow:var(--md-sys-elevation-level2)}.revenue-form .btn-primary:hover:before{opacity:var(--md-sys-state-hover-opacity)}.revenue-form .btn-secondary{flex:1;padding:16px 24px;background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface);border:none;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:var(--md-sys-typescale-label-large-font-weight);cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.revenue-form .btn-secondary:hover{background:var(--md-sys-color-surface-container-highest)}@keyframes message-appear{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.message.new-message{animation:message-appear var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized-decelerate)}.message.own.new-message{animation:message-appear-own var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized-decelerate)}@keyframes message-appear-own{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.message-reaction-bar{position:absolute;bottom:100%;top:auto;margin-bottom:4px;right:8px;background:var(--md-sys-color-surface-container-high);border-radius:var(--md-sys-shape-corner-full);padding:2px 4px;display:flex;align-items:center;gap:1px;box-shadow:var(--md-sys-elevation-level2);opacity:0;visibility:hidden;transform:translateY(6px) scale(.95);transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),visibility var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);z-index:10}.message-content-wrapper>.message-reaction-bar{bottom:auto;top:0;margin-bottom:0;transform:translateY(calc(-100% + 6px)) scale(.95)}@media(hover:hover){.message:hover .message-reaction-bar{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.message:hover .message-content-wrapper>.message-reaction-bar{transform:translateY(calc(-100% - 4px)) scale(1)}}.message-reaction-bar.visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.message-content-wrapper>.message-reaction-bar.visible{transform:translateY(calc(-100% - 4px)) scale(1)}.message:not(.own) .message-reaction-bar{right:auto;left:8px}.reaction-btn{width:28px;height:28px;border:none;background:transparent;border-radius:var(--md-sys-shape-corner-full);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.reaction-btn:hover{background:var(--md-sys-color-surface-container-highest);transform:scale(1.2)}.reaction-btn:active{transform:scale(.9)}.reaction-more-btn{width:28px;height:28px;border:none;background:transparent;border-radius:var(--md-sys-shape-corner-full);font-size:18px;color:var(--md-sys-color-on-surface-variant);cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:2px;border-left:1px solid var(--md-sys-color-outline-variant);padding-left:4px;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.reaction-more-btn:hover{background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-primary);transform:scale(1.1)}.reaction-more-btn:active{transform:scale(.9)}.message-reactions{display:flex;flex-wrap:wrap;gap:4px;position:absolute;bottom:-8px;left:8px;z-index:10}.message.own .message-reactions{justify-content:flex-end;left:auto;right:8px}.reaction-chip{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;background:var(--md-sys-color-surface-container-high);border:none;border-radius:var(--md-sys-shape-corner-full);font-size:13px;cursor:pointer;box-shadow:var(--md-sys-elevation-level1);transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.reaction-chip:hover{background:var(--md-sys-color-surface-container-highest);transform:scale(1.1)}.reaction-chip.active{background:var(--md-sys-color-primary-container)}.reaction-emoji{font-size:18px;line-height:1}.reaction-emoji img.emoji{height:18px;width:18px}.reaction-count{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);font-weight:var(--md-sys-typescale-label-small-font-weight);color:var(--md-sys-color-on-surface-variant);min-width:12px;text-align:center}.reaction-count.single{display:none}.reaction-chip.active .reaction-count{color:var(--md-sys-color-on-primary-container)}.add-reaction-btn{width:28px;height:28px;border:1px dashed var(--md-sys-color-outline-variant);background:transparent;border-radius:var(--md-sys-shape-corner-full);font-size:14px;color:var(--md-sys-color-on-surface-variant);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.add-reaction-btn:hover{background:var(--md-sys-color-surface-container);border-color:var(--md-sys-color-outline)}@keyframes reaction-pop{0%{opacity:0}to{opacity:1}}.reaction-chip.just-added{animation:reaction-pop var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized)}.reaction-picker{position:absolute;bottom:calc(100% + 8px);right:0;background:var(--md-sys-color-surface-container-high);border-radius:var(--md-sys-shape-corner-large);padding:8px;box-shadow:var(--md-sys-elevation-level3);display:flex;gap:4px;animation:md-scale-in var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized-decelerate);z-index:100}.message:not(.own) .reaction-picker{right:auto;left:0}.reaction-picker-btn{width:36px;height:36px;border:none;background:transparent;border-radius:var(--md-sys-shape-corner-medium);font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.reaction-picker-btn:hover{background:var(--md-sys-color-surface-container-highest);transform:scale(1.15)}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.message-text.emoji-only{background:transparent!important;padding:4px 0;line-height:1;font-size:3em}.message-text.emoji-only img.emoji{height:1em;width:1em;margin:0 2px;vertical-align:middle}.message-document{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--md-sys-color-surface-container-high);border-radius:var(--md-sys-shape-corner-large);cursor:pointer;max-width:280px;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.message-document:hover{background:var(--md-sys-color-surface-container-highest);transform:translateY(-1px)}.message-document:active{transform:scale(.98)}.message.own .message-document{background:color-mix(in srgb,var(--md-sys-color-primary) 15%,var(--md-sys-color-primary-container) 85%)}.message.own .message-document:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 25%,var(--md-sys-color-primary-container) 75%)}.document-icon{font-size:32px;line-height:1;flex-shrink:0}.document-info{flex:1;min-width:0}.document-name{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);font-weight:500;color:var(--md-sys-color-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message.own .document-name{color:var(--md-sys-color-on-primary-container)}.document-size{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);color:var(--md-sys-color-on-surface-variant);margin-top:2px}.message.own .document-size{color:var(--md-sys-color-on-primary-container);opacity:.8}.document-download{font-size:20px;opacity:.7;flex-shrink:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.message-document:hover .document-download{opacity:1}.document-preview{display:flex;align-items:center;gap:12px;padding:16px;background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-medium)}.document-preview-icon{font-size:40px;line-height:1}.document-preview-info{flex:1;min-width:0}.document-preview-name{font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);font-weight:500;color:var(--md-sys-color-on-surface);word-break:break-all}.document-preview-size{font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);color:var(--md-sys-color-on-surface-variant);margin-top:4px}.mention{color:var(--md-sys-color-primary);font-weight:600;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.message.own .mention{color:var(--md-sys-color-on-primary-container);font-weight:600}.message-link{color:var(--md-sys-color-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;word-break:break-all}.message.own .message-link{color:var(--md-sys-color-on-primary-container)}.mention-dropdown{position:absolute;bottom:100%;left:0;right:0;max-height:240px;overflow-y:auto;background:var(--md-sys-color-surface-container);border-radius:var(--md-sys-shape-corner-medium, 12px) var(--md-sys-shape-corner-medium, 12px) 0 0;box-shadow:var(--md-sys-elevation-level2);z-index:100}.mention-dropdown.hidden{display:none}.mention-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:background var(--md-sys-motion-duration-short3, .1s) var(--md-sys-motion-easing-standard, ease)}.mention-item:hover,.mention-item.active{background:var(--md-sys-color-surface-container-highest)}.mention-item-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.mention-item-avatar-initials{display:flex;align-items:center;justify-content:center;background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);font-size:12px;font-weight:600}.mention-item-info{display:flex;flex-direction:column;min-width:0}.mention-item-name{font-weight:500;font-size:14px;color:var(--md-sys-color-on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mention-item-username{color:var(--md-sys-color-on-surface-variant);font-size:12px}.pinned-message-bar{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--md-sys-color-secondary-container);cursor:pointer;border-bottom:1px solid var(--md-sys-color-outline-variant);flex-shrink:0}.pinned-message-bar.hidden{display:none}.pinned-icon{font-size:16px;flex-shrink:0}.pinned-content{flex:1;min-width:0}.pinned-label{font-size:11px;color:var(--md-sys-color-primary);font-weight:600}.pinned-text{font-size:13px;color:var(--md-sys-color-on-secondary-container);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pinned-close-btn{background:none;border:none;cursor:pointer;padding:4px;font-size:16px;color:var(--md-sys-color-on-secondary-container);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pinned-close-btn:hover{background:var(--md-sys-color-on-secondary-container);color:var(--md-sys-color-secondary-container)}.typing-indicator{display:flex;align-items:center;gap:8px;padding:4px 16px;color:var(--md-sys-color-primary);font-size:13px;font-style:italic;flex-shrink:0}.typing-indicator.hidden{display:none}.typing-dots{display:inline-flex;gap:3px}.typing-dots span{width:4px;height:4px;border-radius:50%;background:var(--md-sys-color-primary);animation:typing-bounce 1.4s infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-4px)}}.input-wrapper{position:relative}.mic-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%) scale(1);width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:50%;font-size:18px;cursor:pointer;padding:0;line-height:1;opacity:.45;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);z-index:1}.mic-btn:hover{background:var(--md-sys-color-secondary-container);opacity:1}.mic-btn.hidden{opacity:0;pointer-events:none;transform:translateY(-50%) scale(.5)}.char-counter{right:52px;transition:right var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.input-wrapper.mic-hidden .char-counter{right:16px}.recording-overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;gap:8px;padding:0 8px;background:var(--md-sys-color-surface-container-high);border-radius:inherit}.recording-overlay.hidden{display:none}.recording-cancel{background:none;border:none;font-size:18px;color:var(--md-sys-color-error);cursor:pointer;padding:6px;border-radius:50%;line-height:1;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);flex-shrink:0}.recording-cancel:hover{background:var(--md-sys-color-error-container)}.recording-status{display:flex;align-items:center;gap:8px;flex:1}.recording-dot{width:10px;height:10px;border-radius:50%;background:#f44336;flex-shrink:0;animation:rec-pulse 1.1s ease-in-out infinite}@keyframes rec-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.85)}}#recordingTimer{font-family:var(--md-sys-typescale-body-medium-font-family, monospace);font-size:15px;font-weight:600;color:var(--md-sys-color-on-surface);font-variant-numeric:tabular-nums}.recording-max{font-size:13px;color:var(--md-sys-color-on-surface-variant);opacity:.6}.recording-send{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:none;border-radius:50%;width:36px;height:36px;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:box-shadow var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.recording-send:hover{box-shadow:var(--md-sys-elevation-level2)}.audio-player{display:flex;align-items:center;gap:10px;min-width:220px;max-width:280px;padding:10px 14px;background:var(--md-sys-color-surface-container-high);border-radius:var(--md-sys-shape-corner-large)}.message.own .audio-player{background:var(--md-sys-color-primary-container)}.audio-play-btn{width:36px;height:36px;border-radius:50%;background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container);border:1.5px solid var(--md-sys-color-outline-variant);cursor:pointer;font-size:14px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding-left:2px;padding-right:0;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),border-color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),box-shadow var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.audio-play-btn:hover{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border-color:transparent;box-shadow:var(--md-sys-elevation-level2)}.audio-progress-wrap{flex:1;min-width:60px}.audio-progress-bar{height:4px;background:var(--md-sys-color-outline-variant);border-radius:2px;overflow:hidden}.audio-progress-fill{height:100%;background:var(--md-sys-color-primary);border-radius:2px;transition:width .1s linear}.message.own .audio-progress-fill{background:var(--md-sys-color-on-primary-container)}.audio-time-display{font-size:11px;color:var(--md-sys-color-on-surface-variant);white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0}.message.own .audio-time-display{color:var(--md-sys-color-on-primary-container);opacity:.8}.audio-speed-btn{background:var(--md-sys-color-surface-container-highest);border:none;border-radius:12px;padding:2px 0;font-size:11px;font-weight:600;cursor:pointer;flex-shrink:0;min-width:32px;text-align:center;color:var(--md-sys-color-on-surface-variant);transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),transform var(--md-sys-motion-duration-short2) var(--md-sys-motion-easing-standard)}.audio-speed-btn:hover{background:color-mix(in srgb,var(--md-sys-color-surface-container-highest) 80%,var(--md-sys-color-on-surface) 20%)}.audio-speed-btn:active{transform:scale(.92);background:color-mix(in srgb,var(--md-sys-color-secondary-container) 60%,var(--md-sys-color-surface-container-highest) 40%)}.message.own .audio-speed-btn{background:color-mix(in srgb,var(--md-sys-color-primary-container) 60%,transparent);color:var(--md-sys-color-on-primary-container)}.message.own .audio-speed-btn:active{background:color-mix(in srgb,var(--md-sys-color-on-primary-container) 25%,var(--md-sys-color-primary-container))}.audio-expired{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--md-sys-color-surface-container-high);border-radius:var(--md-sys-shape-corner-large);min-width:180px;font-size:13px;font-style:italic;color:var(--md-sys-color-on-surface-variant);opacity:.75}.message.own .audio-expired{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant)}.audio-expired-icon{font-size:18px;line-height:1;flex-shrink:0;opacity:1}@media(max-width:768px){.audio-play-btn{width:40px;height:40px;min-width:40px;min-height:40px;font-size:16px}.audio-player{min-width:0;max-width:100%;gap:8px}.audio-time-display{font-size:10px}.mic-btn{width:28px;height:28px;font-size:14px;right:8px;background:color-mix(in srgb,var(--md-sys-color-secondary-container) 60%,transparent)}}@media(max-width:400px){.audio-player{gap:6px;padding:8px 10px}.audio-time-display{display:none}}.avatar-wrapper{position:relative;flex-shrink:0}.online-indicator{position:absolute;bottom:2px;right:2px;width:12px;height:12px;background:var(--md-sys-color-success);border:2px solid var(--md-sys-color-surface);border-radius:var(--md-sys-shape-corner-full);box-shadow:0 1px 2px #0000001a;animation:md-pulse 2s ease-in-out infinite}.chat-item .online-indicator{width:10px;height:10px;bottom:1px;right:1px;border-width:1.5px}.status-online{font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:var(--md-sys-typescale-label-medium-font-weight);letter-spacing:var(--md-sys-typescale-label-medium-letter-spacing);color:var(--md-sys-color-success)}.status-lastseen{font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);letter-spacing:var(--md-sys-typescale-label-medium-letter-spacing);color:var(--md-sys-color-on-surface-variant)}.contact-status{display:flex;flex-direction:column;gap:2px}.contact-status-line{display:flex;gap:8px;align-items:center}.chat-subtitle.online{color:var(--md-sys-color-success)!important;font-weight:500}.read-receipt{font-size:13px;margin-left:2px;letter-spacing:-1px;vertical-align:middle;transition:color var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.read-receipt.sent{color:var(--md-sys-color-on-primary-container);opacity:.7}.read-receipt.read{color:var(--md-sys-color-success);opacity:1}.message:not(.own) .read-receipt.sent{color:var(--md-sys-color-on-surface-variant)}.message-time-wrapper{display:inline-flex;align-items:center;gap:2px}.presence-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--md-sys-shape-corner-full);font-family:var(--md-sys-typescale-label-small-font-family);font-size:var(--md-sys-typescale-label-small-font-size);font-weight:var(--md-sys-typescale-label-small-font-weight)}.presence-badge.online{background:var(--md-sys-color-success-container);color:var(--md-sys-color-on-success-container)}.presence-badge.offline{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface-variant)}.presence-badge:before{content:"";width:8px;height:8px;border-radius:50%}.presence-badge.online:before{background:var(--md-sys-color-success)}.presence-badge.offline:before{background:var(--md-sys-color-outline)}.offline-banner{display:none;position:fixed;top:0;left:0;right:0;z-index:9999;padding:6px 16px;text-align:center;background:var(--md-sys-color-error);color:var(--md-sys-color-on-error);font-family:var(--md-sys-typescale-label-medium-font-family);font-size:var(--md-sys-typescale-label-medium-font-size);font-weight:500;animation:slideDown .3s ease-out}body.is-offline .offline-banner{display:block}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@media(max-width:768px){.online-indicator{width:10px;height:10px;border-width:1.5px}.chat-item .online-indicator{width:8px;height:8px;border-width:1px}.status-online,.status-lastseen{font-size:var(--md-sys-typescale-label-small-font-size)}.read-receipt{font-size:12px}}.snackbar-container{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:var(--z-index-toast, 9000);display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:calc(100vw - 32px)}.snackbar{display:flex;align-items:center;gap:12px;min-width:288px;max-width:568px;padding:14px 16px;background:var(--md-sys-color-inverse-surface);color:var(--md-sys-color-inverse-on-surface);border-radius:var(--md-sys-shape-corner-small);box-shadow:var(--md-sys-elevation-level3);pointer-events:auto;animation:snackbar-enter var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-emphasized-decelerate) forwards}.snackbar.snackbar-exit{animation:snackbar-exit var(--md-sys-motion-duration-short4) var(--md-sys-motion-easing-emphasized-accelerate) forwards}.snackbar-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:18px}.snackbar-message{flex:1;font-family:var(--md-sys-typescale-body-medium-font-family);font-size:var(--md-sys-typescale-body-medium-font-size);font-weight:var(--md-sys-typescale-body-medium-font-weight);line-height:var(--md-sys-typescale-body-medium-line-height)}.snackbar-action{flex-shrink:0;padding:8px 12px;margin:-8px -8px -8px 0;background:transparent;border:none;color:var(--md-sys-color-inverse-primary);font-family:var(--md-sys-typescale-label-large-font-family);font-size:var(--md-sys-typescale-label-large-font-size);font-weight:600;cursor:pointer;border-radius:var(--md-sys-shape-corner-small);transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.snackbar-action:hover{background:#ffffff14}.snackbar-close{flex-shrink:0;width:32px;height:32px;margin:-4px -8px -4px 0;padding:0;background:transparent;border:none;color:var(--md-sys-color-inverse-on-surface);font-size:18px;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:.7;transition:background var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard),opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard)}.snackbar-close:hover{background:#ffffff1f;opacity:1}.snackbar-success{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.snackbar-success .snackbar-action,.snackbar-success .snackbar-close{color:var(--md-sys-color-on-primary)}.snackbar-error{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}.snackbar-error .snackbar-action,.snackbar-error .snackbar-close{color:var(--md-sys-color-on-error)}.snackbar-warning{background:#f57c00;color:#fff}.snackbar-warning .snackbar-action,.snackbar-warning .snackbar-close{color:#fff}.snackbar-info{background:var(--md-sys-color-tertiary);color:var(--md-sys-color-on-tertiary)}.snackbar-info .snackbar-action,.snackbar-info .snackbar-close{color:var(--md-sys-color-on-tertiary)}@keyframes snackbar-enter{0%{opacity:0;transform:translateY(100%) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes snackbar-exit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(100%) scale(.9)}}@media(max-width:600px){.snackbar-container{bottom:16px;left:16px;right:16px;transform:none;max-width:none}.snackbar{min-width:0;width:100%}}@media(max-width:768px){.snackbar-container{bottom:80px}}.call-modal{position:fixed;inset:0;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.call-modal.active{opacity:1;visibility:visible}.call-modal-content{text-align:center;color:#fff;padding:40px;max-width:400px;width:100%}.call-avatar-wrap{position:relative;width:96px;height:96px;margin:0 auto 20px;border-radius:50%}.call-avatar{width:96px;height:96px;border-radius:50%;background:#ffffff26;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:500;color:#fff;letter-spacing:1px;position:relative;z-index:1}.call-avatar-wrap.ringing:before,.call-avatar-wrap.ringing:after{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid rgba(34,197,94,.5);animation:callPulse 1.5s ease-out infinite}.call-avatar-wrap.ringing:after{inset:-16px;animation-delay:.5s}@keyframes callPulse{0%{opacity:1;transform:scale(.95)}to{opacity:0;transform:scale(1.2)}}.call-status{font-size:14px;opacity:.7;margin-bottom:4px;text-transform:uppercase;letter-spacing:1px}.call-user-name{font-size:28px;font-weight:500;margin-bottom:16px}.call-timer{font-size:20px;font-family:monospace;opacity:.9;margin-bottom:24px}.call-video-container{position:relative;width:100%;max-width:600px;margin:0 auto 24px;border-radius:16px;overflow:hidden;background:#000}#remoteVideo{width:100%;max-height:400px;object-fit:cover}#localVideo{position:absolute;bottom:16px;right:16px;width:120px;height:90px;object-fit:cover;border-radius:8px;border:2px solid white;box-shadow:0 4px 12px #0000004d}.call-controls{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:32px}.call-btn{width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,background .2s ease;background:#ffffff26;color:#fff;padding:0}.call-btn svg{width:24px;height:24px;flex-shrink:0}.call-btn:hover{transform:scale(1.1);background:#ffffff40}.call-btn:active{transform:scale(.95)}.call-btn.active{background:#ffffff59}.call-btn-end{background:#ef4444;width:64px;height:64px}.call-btn-end svg{width:28px;height:28px}.call-btn-end:hover{background:#dc2626}.call-incoming-controls{display:flex;justify-content:center;align-items:center;gap:48px;margin-top:32px}.call-btn-accept{background:#22c55e;width:64px;height:64px;border-radius:50%;padding:0}.call-btn-accept svg{width:28px;height:28px}.call-btn-accept:hover{background:#16a34a}.call-btn-reject{background:#ef4444;width:64px;height:64px;border-radius:50%;padding:0}.call-btn-reject svg{width:28px;height:28px}.call-btn-reject:hover{background:#dc2626}.call-minimize-btn{position:absolute;top:16px;left:16px;background:#ffffff26;border:none;color:#fff;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;z-index:1}.call-minimize-btn:hover{background:#ffffff40}.call-minimize-btn svg{width:24px;height:24px}.call-active-bar{position:fixed;top:0;left:0;right:0;height:44px;background:linear-gradient(90deg,#16a34a,#22c55e);color:#fff;display:flex;align-items:center;justify-content:center;gap:12px;z-index:9999;cursor:pointer;transform:translateY(-100%);transition:transform .3s ease;font-size:14px;font-weight:500;user-select:none;-webkit-tap-highlight-color:transparent}.call-active-bar.active{transform:translateY(0)}.call-active-bar:hover{background:linear-gradient(90deg,#15803d,#16a34a)}.call-bar-indicator{width:8px;height:8px;border-radius:50%;background:#fff;animation:callBarPulse 1.5s ease infinite;flex-shrink:0}@keyframes callBarPulse{0%,to{opacity:1}50%{opacity:.3}}.call-bar-info{display:flex;align-items:center;gap:8px}.call-bar-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-bar-timer{font-family:monospace;opacity:.9}.call-bar-tap{opacity:.7;font-size:12px}.call-header-btn{background:transparent;border:none;font-size:20px;cursor:pointer;padding:8px;border-radius:50%;transition:background .2s ease;color:var(--md-sys-color-on-surface)}.call-header-btn:hover{background:var(--md-sys-color-surface-container-high)}.call-header-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.call-modal-content{padding:24px}.call-user-name{font-size:24px}.call-avatar-wrap,.call-avatar{width:80px;height:80px}.call-avatar{font-size:30px}#localVideo{width:80px;height:60px;bottom:8px;right:8px}.call-btn{width:52px;height:52px}.call-btn svg{width:22px;height:22px}.call-btn-end,.call-btn-accept,.call-btn-reject{width:60px;height:60px}.call-controls,.call-incoming-controls{gap:20px}.call-minimize-btn{top:12px;left:12px;width:40px;height:40px}.call-bar-tap{display:none}}.mobile-menu-btn{display:none;width:48px;height:48px;padding:0;background:var(--md-sys-color-surface-container-high);border:none;border-radius:var(--md-sys-shape-corner-full);font-size:20px;cursor:pointer;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden;align-items:center;justify-content:center}.mobile-menu-btn:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);border-radius:inherit}.mobile-menu-btn:hover:before{opacity:var(--md-sys-state-hover-opacity)}.mobile-back-btn{display:none;width:48px;height:48px;padding:0;background:var(--md-sys-color-surface-container-high);border:none;border-radius:var(--md-sys-shape-corner-full);font-size:18px;cursor:pointer;margin-right:8px;transition:all var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);position:relative;overflow:hidden}.mobile-back-btn:before{content:"";position:absolute;inset:0;background:currentColor;opacity:0;transition:opacity var(--md-sys-motion-duration-short3) var(--md-sys-motion-easing-standard);border-radius:inherit}.mobile-back-btn:hover:before{opacity:var(--md-sys-state-hover-opacity)}.sidebar-overlay{display:none;position:fixed;inset:0;background:var(--md-sys-color-scrim);opacity:.32;z-index:999;transition:opacity var(--md-sys-motion-duration-medium2) var(--md-sys-motion-easing-standard)}.sidebar-overlay.active{display:block}@media(max-width:1024px){.sidebar{width:280px}.chat-header,.messages-container,.message-input-container{padding:16px 20px}}@media(max-width:768px){.mobile-menu-btn,.mobile-back-btn{display:flex}.sidebar{position:fixed;left:0;top:0;bottom:0;width:100%;max-width:100vw;z-index:1000;transition:transform var(--md-sys-motion-duration-medium4) var(--md-sys-motion-easing-emphasized);overflow-x:hidden;transform:translate(0)}.sidebar.chat-selected{transform:translate(-100%)}.chat-area{width:100%;max-width:100vw;height:100%;position:fixed;inset:0;display:flex;flex-direction:column;overflow-x:hidden}.chat-container{flex-direction:column;height:100%;max-width:100vw;overflow-x:hidden}.messages-container{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:12px 16px}.message-input-container{flex-shrink:0;position:relative;background:var(--md-sys-color-surface);border-top:1px solid var(--md-sys-color-outline-variant);padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0))}.chat-header{padding:12px 16px}.chat-header-info h2{font-family:var(--md-sys-typescale-title-medium-font-family);font-size:var(--md-sys-typescale-title-medium-font-size);max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header-actions{display:flex;gap:4px}.chat-search-btn,.chat-info-btn{width:40px;height:40px;padding:0;font-size:18px}.message{max-width:85%;padding:10px 14px}.message-header{flex-wrap:wrap;gap:4px}.message-username{font-size:var(--md-sys-typescale-label-medium-font-size)}.message-time{font-size:var(--md-sys-typescale-label-small-font-size)}.message-text{font-size:15px}.attach-btn,.emoji-btn{width:40px;height:40px;padding:0;font-size:18px}#messageInput{font-size:var(--md-sys-typescale-body-medium-font-size);padding:10px 42px 10px 12px}#sendBtn{width:44px;height:44px;padding:0;font-size:20px;border-radius:var(--md-sys-shape-corner-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.char-counter{display:none}.search-panel{padding:12px 16px;flex-wrap:wrap}.search-mode-toggle{width:100%;margin-bottom:12px}.search-mode-btn{flex:1;padding:10px}.search-input-wrapper{flex:1;min-width:150px}.search-input{padding:10px 40px 10px 12px;font-size:var(--md-sys-typescale-body-medium-font-size)}.search-global-results{max-height:300px}.search-global-item{padding:12px}.modal-content{width:95%!important;max-width:calc(100vw - 24px)!important;margin:12px;max-height:90vh;max-height:90dvh;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;border-radius:var(--md-sys-shape-corner-extra-large)}.modal-large{width:95%!important;max-width:calc(100vw - 24px)!important}.modal-body{overflow-x:hidden;max-width:100%;padding:16px}.management-container{flex-direction:column}.management-sidebar{width:100%;flex-direction:row;overflow-x:auto;padding:12px;gap:8px}.management-nav-btn{white-space:nowrap;padding:10px 16px;font-size:var(--md-sys-typescale-label-medium-font-size)}.management-content{padding:16px}.users-table{display:block;overflow-x:auto;font-size:var(--md-sys-typescale-body-small-font-size)}.users-table th,.users-table td{padding:10px 12px;white-space:nowrap}.role-buttons{flex-wrap:wrap;gap:8px}.role-btn{flex:1 1 45%;padding:10px;font-size:var(--md-sys-typescale-label-medium-font-size)}.members-list{max-height:200px;width:100%;max-width:100%;overflow-x:hidden}.member-item{width:100%;max-width:100%;box-sizing:border-box;padding:12px;gap:12px}.member-checkbox{flex:0 0 20px;width:20px;height:20px}.member-info{flex:1 1 auto;min-width:0;overflow:hidden}.member-name,.member-username{max-width:100%;overflow:hidden;text-overflow:ellipsis}.member-role-badge{flex:0 0 auto;font-size:var(--md-sys-typescale-label-small-font-size);padding:4px 8px;max-width:70px;overflow:hidden;text-overflow:ellipsis}.emoji-picker{width:280px;max-width:calc(100vw - 24px);border-radius:var(--md-sys-shape-corner-large)}.emoji-grid{grid-template-columns:repeat(6,1fr);gap:6px;padding:12px}.message-image{max-width:100%;max-height:250px;border-radius:var(--md-sys-shape-corner-medium)}.image-preview .preview-container{width:90%;max-width:none}.image-preview .preview-container img{max-height:50vh}.image-viewer-overlay{background:#000000f2}.image-viewer-header{padding:12px 16px;background:transparent;position:absolute;top:0;left:0;right:0;z-index:10}.image-viewer-back{font-size:28px;padding:12px 18px;background:var(--md-sys-color-surface-container-high);border-radius:var(--md-sys-shape-corner-full)}.image-viewer-content{padding:0}.image-viewer-img{width:100%;height:100%}.chat-members-list{max-height:250px}.add-member-section{padding:12px}.role-buttons-small{flex-wrap:wrap;gap:6px}.role-btn-small{flex:1 1 45%;padding:8px;font-size:var(--md-sys-typescale-label-small-font-size)}.sidebar-footer{padding-bottom:env(safe-area-inset-bottom,12px)}}@media(max-width:480px){.sidebar{width:100%;max-width:100vw;overflow-x:hidden}.chat-header-info h2{font-size:var(--md-sys-typescale-title-small-font-size);max-width:120px}.message{max-width:90%;padding:8px 12px}.message-text{font-size:14px}.message-input-container{padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0))}.scroll-down-btn{bottom:70px;right:12px;width:44px;height:44px}.member-item{padding:10px 12px;gap:8px}.member-role-badge{display:none}#sendBtn{width:40px;height:40px;font-size:18px}.emoji-picker{width:calc(100vw - 24px);left:12px!important;max-width:none}.auth-box{width:95%;padding:28px 20px;border-radius:var(--md-sys-shape-corner-large)}.auth-box h1{font-size:28px;line-height:36px}.auth-form input,.auth-form select,.auth-form button{padding:12px 16px;font-size:var(--md-sys-typescale-body-medium-font-size)}.load-more-btn{padding:10px 16px;font-size:var(--md-sys-typescale-label-medium-font-size);margin:8px 16px}.reply-panel{margin:0 12px;padding:10px 16px}.reply-panel-label{font-size:var(--md-sys-typescale-label-small-font-size)}.reply-panel-text{font-size:var(--md-sys-typescale-body-small-font-size)}.context-menu{min-width:160px;border-radius:var(--md-sys-shape-corner-medium)}.context-menu-item{padding:14px 16px;font-size:var(--md-sys-typescale-body-medium-font-size)}.forward-chat-list{max-height:250px}.forward-chat-item{padding:14px}}@media(max-height:500px)and (orientation:landscape){.messages-container{padding:8px 16px}.message{padding:6px 10px}.message-input-container{padding:8px 16px}.search-global-results{max-height:200px}.modal-content{max-height:95vh;border-radius:var(--md-sys-shape-corner-large)}}@media(hover:none)and (pointer:coarse){.chat-item{padding:18px 20px;min-height:72px}.contact-item{padding:16px 20px;min-height:64px}.sidebar-tab{padding:16px;min-height:48px}button{min-height:44px}.chat-item:hover,.contact-item:hover,.forward-chat-item:hover{background:inherit}.chat-item:active,.contact-item:active,.forward-chat-item:active{background:var(--md-sys-color-surface-container-high)}.context-menu-item{padding:16px 20px;min-height:48px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.sidebar{transition:none}}@media(prefers-contrast:high){.message{border:1px solid var(--md-sys-color-outline)}.chat-item{border:1px solid transparent}.chat-item.active{border-color:var(--md-sys-color-primary)}button{border:1px solid currentColor}}
