*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.right-0{right:0}.top-\[4\.375rem\]{top:4.375rem}.z-50{z-index:50}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mt-1{margin-top:.25rem}.mt-3{margin-top:.75rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-row{display:table-row}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-9{height:2.25rem}.h-full{height:100%}.w-10{width:2.5rem}.w-12{width:3rem}.w-5{width:1.25rem}.w-9{width:2.25rem}.w-\[180px\]{width:180px}.w-full{width:100%}.w-px{width:1px}.min-w-\[54px\]{min-width:54px}.min-w-max{min-width:-moz-max-content;min-width:max-content}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-t-sky-500{--tw-border-opacity: 1;border-top-color:rgb(14 165 233 / var(--tw-border-opacity, 1))}.border-t-slate-500{--tw-border-opacity: 1;border-top-color:rgb(100 116 139 / var(--tw-border-opacity, 1))}.bg-\[var\(--color-border\)\]{background-color:var(--color-border)}.bg-black\/20{background-color:#0003}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-slate-400{--tw-bg-opacity: 1;background-color:rgb(148 163 184 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-white\/90{background-color:#ffffffe6}.bg-yellow-100{--tw-bg-opacity: 1;background-color:rgb(254 249 195 / var(--tw-bg-opacity, 1))}.object-cover{-o-object-fit:cover;object-fit:cover}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-3{padding-bottom:.75rem}.pb-6{padding-bottom:1.5rem}.pt-0{padding-top:0}.pt-6{padding-top:1.5rem}.text-center{text-align:center}.text-right{text-align:right}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.text-\[var\(--color-text-primary\)\]{color:var(--color-text-primary)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(161 98 7 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-green-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1))}.ring-orange-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(249 115 22 / var(--tw-ring-opacity, 1))}.ring-red-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.ring-sky-500{--tw-ring-opacity: 1;--tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity, 1))}.ring-offset-2{--tw-ring-offset-width: 2px}.ring-offset-white{--tw-ring-offset-color: #fff}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--color-bg-app: #F5F6F8;--color-bg-surface: #FFFFFF;--color-bg-sidebar: #FFFFFF;--color-bg-nested: #FAFAFB;--color-text-primary: #1D1D1F;--color-text-secondary: #6E6E73;--color-text-tertiary: #9A9AA0;--color-text-disabled: #C7C7CC;--color-border: rgba(0, 0, 0, .06);--color-primary: #0A84FF;--color-primary-hover: #006EDC;--color-primary-light: rgba(10, 132, 255, .12);--color-primary-text: #0040DD;--navbar-bg: rgba(255, 255, 255, .72);--sidebar-bg: rgba(255, 255, 255, .72);--shadow-sm: 0 4px 14px rgba(0, 0, 0, .035);--shadow-md: 0 8px 28px rgba(0, 0, 0, .045);--shadow-lg: 0 14px 40px rgba(0, 0, 0, .06);--card-shadow: var(--shadow-md);--radius-sm: .375rem;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 18px;--radius-full: 9999px;--card-radius: 14px;--transition-fast: .18s cubic-bezier(.25, .1, .25, 1);--transition-normal: .28s cubic-bezier(.25, .1, .25, 1);--transition-slow: .4s cubic-bezier(.25, .1, .25, 1);--ease-spring: cubic-bezier(.175, .885, .32, 1.1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-in-out-soft: cubic-bezier(.4, 0, .2, 1);--color-success: #30D158;--color-success-bg: rgba(48, 209, 88, .12);--color-success-text: #1E8A3E;--color-warning: #FF9F0A;--color-warning-bg: rgba(255, 159, 10, .12);--color-warning-text: #CC7E08;--color-error: #FF453A;--color-error-bg: rgba(255, 69, 58, .12);--color-error-text: #CC3729;--color-info: #64D2FF;--color-info-bg: rgba(100, 210, 255, .12);--color-info-text: #0A84FF;--color-input-border: rgba(0, 0, 0, .08);--color-input-border-focus: var(--color-primary);--color-input-bg-disabled: #F9F9F9;--color-input-text-disabled: var(--color-text-disabled);--color-row-hover: rgba(0, 0, 0, .02);--color-row-selected: rgba(10, 132, 255, .08);--color-row-selected-hover: rgba(10, 132, 255, .12);--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-toast: 600;--z-tooltip: 700}*{box-sizing:border-box;margin:0;padding:0;scrollbar-width:thin;scrollbar-color:var(--color-text-tertiary) transparent}:root{--base-font-size: 16px;--font-size-multiplier: 1}html{font-size:var(--base-font-size)}body{font-family:var(--font-sans);font-size:1rem;background-color:var(--color-bg-app);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow-x:hidden;overflow-y:auto}button{font-family:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-text-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.form-loading-bar-container{position:fixed;top:0;left:0;right:0;height:3px;z-index:100;overflow:hidden;background:transparent}.form-loading-bar{width:40%;height:100%;background:var(--color-primary, #0A84FF);border-radius:0 2px 2px 0;animation:form-loading-slide 1.2s ease-in-out infinite}@keyframes form-loading-slide{0%{transform:translate(-100%)}50%{transform:translate(150%)}to{transform:translate(350%)}}.form-disabled-during-load{display:flex;flex-direction:column;align-items:center;gap:1rem;flex:1;width:100%;min-width:0;box-sizing:border-box}.form-disabled-during-load.is-loading{cursor:not-allowed;-webkit-user-select:none;-moz-user-select:none;user-select:none}.form-disabled-during-load.is-loading *{pointer-events:none!important}::-moz-selection{background:#0a84ff38;color:inherit}::selection{background:#0a84ff38;color:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;text-decoration:none;white-space:nowrap;padding:.625rem 1rem;border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all var(--transition-fast);background:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent}.btn:disabled{cursor:not-allowed;opacity:.5}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 2px 6px #0a84ff40;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0a84ff33}.btn-dark{background:#1a1a1a;color:#fff}.btn-dark:hover:not(:disabled){background:#000;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.btn-dark:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000001a}.btn-secondary{background:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-nested);border-color:#0000001a;box-shadow:var(--shadow-md)}.btn-secondary:active:not(:disabled){background:var(--color-bg-app);box-shadow:var(--shadow-sm)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--color-row-hover);color:var(--color-text-primary)}.btn-ghost:active:not(:disabled){background:#0000000a}.btn-success{background:var(--color-success);color:#fff;box-shadow:0 1px 3px #30d15833}.btn-success:hover:not(:disabled){background:var(--color-success-text);box-shadow:0 2px 6px #30d15840;transform:translateY(-1px)}.btn-success:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #30d15833}.btn-danger{background:var(--color-error);color:#fff;box-shadow:0 1px 3px #ff453a33}.btn-danger:hover:not(:disabled){background:var(--color-error-text);box-shadow:0 2px 6px #ff453a40;transform:translateY(-1px)}.btn-danger:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #ff453a33}.btn-warning{background:var(--color-warning);color:#fff;box-shadow:0 1px 3px #ff9f0a33}.btn-warning:hover:not(:disabled){background:var(--color-warning-text);box-shadow:0 2px 6px #ff9f0a40;transform:translateY(-1px)}.btn-warning:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #ff9f0a33}.btn-outline-primary{background:var(--color-primary-light);color:var(--color-primary-text);border:1px solid rgba(10,132,255,.3)}.btn-outline-primary:hover:not(:disabled){background:#0a84ff2e;border-color:#0a84ff66}.btn-outline-success{background:var(--color-success-bg);color:var(--color-success-text);border:1px solid rgba(48,209,88,.3)}.btn-outline-success:hover:not(:disabled){background:#30d1582e;border-color:#30d15866}.btn-outline-danger{background:var(--color-error-bg);color:var(--color-error-text);border:1px solid rgba(255,69,58,.3)}.btn-outline-danger:hover:not(:disabled){background:#ff453a2e;border-color:#ff453a66}.btn-xs{padding:.375rem .75rem;font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.btn-sm{padding:.5rem .875rem;font-size:var(--font-size-sm);border-radius:var(--radius-md)}.btn-lg{padding:.75rem 1.25rem;font-size:var(--font-size-base);border-radius:var(--radius-lg)}.btn-xl{padding:1rem 1.5rem;font-size:var(--font-size-lg);border-radius:var(--radius-lg)}.btn-icon{padding:.625rem;aspect-ratio:1}.btn-icon.btn-sm{padding:.5rem}.btn-icon.btn-lg{padding:.75rem}.btn-block{width:100%;display:flex}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;width:1rem;height:1rem;top:50%;left:50%;margin-left:-.5rem;margin-top:-.5rem;border:2px solid currentColor;border-radius:50%;border-right-color:transparent;animation:btn-spin .6s linear infinite}.btn-primary.btn-loading:after,.btn-dark.btn-loading:after,.btn-success.btn-loading:after,.btn-danger.btn-loading:after,.btn-warning.btn-loading:after{border-color:#ffffff4d;border-right-color:#fff}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-group{display:inline-flex;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.btn-group .btn{border-radius:0;box-shadow:none;border-right:1px solid var(--color-border)}.btn-group .btn:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.btn-group .btn:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);border-right:none}.btn-group .btn:only-child{border-radius:var(--radius-md)}.toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.toggle-track{position:relative;width:48px;height:28px;background:#0000001a;border-radius:var(--radius-full);transition:background var(--transition-normal);cursor:pointer}.toggle-thumb{position:absolute;top:2px;left:2px;width:24px;height:24px;background:#fff;border-radius:50%;box-shadow:0 2px 4px #0000002e;transition:transform var(--transition-normal)}.toggle input[type=checkbox]:checked+.toggle-track{background:var(--color-primary)}.toggle input[type=checkbox]:checked+.toggle-track .toggle-thumb{transform:translate(20px)}.toggle input[type=checkbox]:disabled+.toggle-track{opacity:.5;cursor:not-allowed}.toggle input[type=checkbox]:focus-visible+.toggle-track{outline:2px solid var(--color-primary);outline-offset:2px}.toggle-success input[type=checkbox]:checked+.toggle-track{background:var(--color-success)}.toggle-danger input[type=checkbox]:checked+.toggle-track{background:var(--color-error)}.toggle-warning input[type=checkbox]:checked+.toggle-track{background:var(--color-warning)}.toggle-sm .toggle-track{width:40px;height:24px}.toggle-sm .toggle-thumb{width:20px;height:20px}.toggle-sm input[type=checkbox]:checked+.toggle-track .toggle-thumb{transform:translate(16px)}.toggle-lg .toggle-track{width:56px;height:32px}.toggle-lg .toggle-thumb{width:28px;height:28px}.toggle-lg input[type=checkbox]:checked+.toggle-track .toggle-thumb{transform:translate(24px)}.toggle-label-wrapper{display:inline-flex;align-items:center;gap:.75rem;cursor:pointer}.toggle-label-wrapper .toggle-label-text{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium);line-height:1}.toggle-label-wrapper .toggle-label-description{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:.25rem}.toggle input[type=checkbox]:disabled~.toggle-label-text{color:var(--color-text-disabled)}.form-group[class*=toggle-group]{display:flex;flex-direction:row;align-items:center;gap:.75rem;min-height:48px}.form-group[class*=toggle-group]>label{position:static!important;transform:none!important;font-size:14px;color:#1a1a1a;font-weight:500;padding:0;margin:0;pointer-events:auto;background:transparent}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem;border-top:none;align-items:flex-start}.form-row:last-child{margin-bottom:0}.form-group{position:relative;display:flex;flex-direction:column;min-height:48px;min-width:0;margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-row>.form-group{margin-bottom:0}.form-group .input-wrapper{position:relative;width:100%}.form-group:not([class*=toggle-group]) label{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:14px;color:#6b7280;pointer-events:none;transition:all .15s ease;background:#fff;padding:0 4px;z-index:1;font-weight:400;line-height:1;display:flex;align-items:center;margin:0;height:-moz-fit-content;height:fit-content}.form-group:not([class*=toggle-group]) input:not(:-moz-placeholder)+label,.form-group:not([class*=toggle-group]) textarea:not(:-moz-placeholder)+label{top:0;transform:translateY(-50%);font-size:12px;color:#1a1a1a;font-weight:500}.form-group:not([class*=toggle-group]).has-value label,.form-group:not([class*=toggle-group]) label.filled,.form-group:not([class*=toggle-group]):focus-within label,.form-group:not([class*=toggle-group]) input:focus+label,.form-group:not([class*=toggle-group]) input:not(:placeholder-shown)+label,.form-group:not([class*=toggle-group]) textarea:focus+label,.form-group:not([class*=toggle-group]) textarea:not(:placeholder-shown)+label,.form-group:not([class*=toggle-group]) select.has-value+label,.form-group:not([class*=toggle-group]) select:focus+label,.form-group:not([class*=toggle-group]):focus-within select+label{top:0;transform:translateY(-50%);font-size:12px;color:#1a1a1a;font-weight:500}.form-group textarea+label{position:absolute;top:14px;transform:none;background:#fff;padding:0 4px}.form-group textarea:not(:-moz-placeholder)+label{top:0;transform:translateY(-50%)}.form-group textarea:focus+label,.form-group textarea:not(:placeholder-shown)+label{top:0;transform:translateY(-50%)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:13px 44px 13px 14px;font-size:14px;color:#1a1a1a;background:#fff;border:1.5px solid #D1D4DB;border-radius:var(--card-radius);outline:none;transition:all .15s ease;font-family:inherit;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;box-sizing:border-box;height:48px}.form-group textarea{white-space:pre-wrap;resize:vertical;min-height:80px;padding-right:14px;height:auto}.form-group select{appearance:none;-webkit-appearance:none;-moz-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='%2364748b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px;cursor:pointer}.form-group input[type=date],.form-group input[type=time],.form-group input[type=datetime-local],.form-group input[type=month]{padding-right:14px!important}.form-group input[type=date]::-webkit-calendar-picker-indicator,.form-group input[type=time]::-webkit-calendar-picker-indicator,.form-group input[type=datetime-local]::-webkit-calendar-picker-indicator,.form-group input[type=month]::-webkit-calendar-picker-indicator{margin:0;padding:0;cursor:pointer}.form-group input[type=date]::-webkit-datetime-edit,.form-group input[type=time]::-webkit-datetime-edit,.form-group input[type=datetime-local]::-webkit-datetime-edit,.form-group input[type=month]::-webkit-datetime-edit{padding:0}.form-group input::-moz-placeholder,.form-group textarea::-moz-placeholder{opacity:0}.form-group input::placeholder,.form-group textarea::placeholder{opacity:0}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#aeb4c2;box-shadow:0 0 0 3px #aeb4c21a}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:#aeb4c2}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed;border-color:#e5e7eb}.form-group input[readonly],.form-group select[readonly],.form-group textarea[readonly]{background-color:#f9fafb;color:#6b7280;cursor:not-allowed;border-color:#e5e7eb}.form-group select option[value=""]{color:#9ca3af}.form-group select:not(.has-value){color:transparent}.form-group select:not(.has-value) option:not([value=""]){color:#1a1a1a}.form-group select.has-value,.form-group select.has-value option{color:#1a1a1a}.form-group select option[value=""]{display:none}.form-group-phone .phone-input-wrapper{position:relative;display:flex;align-items:center}.phone-prefix{position:absolute;left:14px;color:var(--color-text-primary, #1a1a1a);font-size:14px;font-weight:400;pointer-events:none;z-index:1;opacity:0;transition:opacity .15s ease}.phone-prefix.visible{opacity:1}.form-group-phone:focus-within .phone-prefix{opacity:1}.form-group-phone .phone-input{padding-left:50px}.form-actions-bar{margin-top:1.5rem;background:#fff;border-radius:var(--card-radius);padding:1.5rem;box-shadow:0 8px 24px #0000000a}.actions-list{display:flex;flex-direction:column;gap:0}.action-list-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--color-border);gap:1rem}.action-list-item:last-child{border-bottom:none;padding-bottom:0}.action-list-item:first-child{padding-top:0}.action-icon-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;background:#ffffffb3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:.875rem;font-weight:500}.action-icon-btn:hover{background:#ffffffe6;color:var(--color-text-primary)}.action-icon-btn.active{background:#10b98126;border-color:#10b981;color:#10b981}.action-icon-btn.active:hover{background:#10b98140}.action-delete-btn{background:#dc26261a;border:none;color:#dc2626;border-radius:9999px;padding:.5rem;width:36px;height:36px;flex-shrink:0}.action-delete-btn:hover{background:#dc262633;color:#991b1b}.action-label{font-size:.875rem;font-weight:500;color:var(--color-text-primary);flex:1}.profile-avatar-section{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem;border-bottom:none;box-shadow:none}.profile-avatar-large{width:120px;height:120px;border-radius:50%;background:var(--color-bg-app);display:flex;align-items:center;justify-content:center;color:#fff;font-size:3rem;font-weight:700;margin-bottom:1rem;position:relative;overflow:hidden;cursor:pointer;box-shadow:none}.profile-placeholder-icon{color:#6b7280}.profile-avatar-large:after{content:"✎";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;background:#0000;opacity:0;transition:background .2s ease,opacity .2s ease;pointer-events:none}.profile-avatar-large:hover:after{background:#00000059;opacity:1}.profile-avatar-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;box-shadow:none}.profile-avatar-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000040;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.profile-avatar-loader .spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:globalSpin .9s linear infinite}.spinner{width:16px;height:16px;border:2px solid rgba(0,0,0,.1);border-top-color:var(--color-text-primary, #1a1a1a);border-radius:50%;animation:globalSpin .9s linear infinite}@keyframes globalSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.avatar-add-button{position:absolute;bottom:20px;right:8px;width:28px;height:28px;border-radius:50%;background:#9ca3af;border:2.5px solid white;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 6px #00000026;z-index:5;padding:0}.avatar-add-button svg{color:#fff}.avatar-add-button:hover{background:#4b5563;transform:scale(1.05)}.avatar-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:#fff;border:1px solid var(--color-border);border-radius:var(--card-radius);padding:6px;display:flex;flex-direction:column;gap:4px;z-index:20;min-width:160px}.avatar-menu button{border:none;background:transparent;padding:10px 12px;text-align:left;border-radius:8px;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:background .2s ease,color .2s ease;font-family:inherit;font-size:.875rem}.avatar-menu button:hover{background:var(--color-bg-app)}.avatar-menu button.danger{color:#dc2626}.avatar-menu button.danger:hover{background:#dc262614}.profile-name{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:.5rem 0 .25rem;text-align:center}.profile-designation{font-size:.875rem;color:var(--color-text-secondary);margin:0;text-align:center}.section-title{font-size:1.375rem;font-weight:600;color:var(--color-text-primary, #1a1a1a);margin:0;padding-bottom:0}.section-header-with-action{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:.75rem;gap:8px}.toggle-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--color-bg-app);border-radius:var(--card-radius);gap:.75rem;flex-wrap:wrap;transition:all .2s ease}.toggle-info{display:flex;flex-direction:column;gap:.25rem;flex:1 1 240px}.toggle-label{font-size:.9375rem;font-weight:500;color:var(--color-text-primary, #1a1a1a)}.toggle-description{font-size:.8125rem;color:var(--color-text-secondary, #6b7280)}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-primary, #0071E3)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes subtlePulse{0%,to{opacity:1}50%{opacity:.6}}.animate-fade-in{animation:fadeIn .4s var(--ease-out-expo) forwards}.animate-fade-in-up{animation:fadeInUp .5s var(--ease-out-expo) forwards}.animate-fade-in-scale{animation:fadeInScale .35s var(--ease-out-expo) forwards}.animate-slide-in-right{animation:slideInRight .4s var(--ease-out-expo) forwards}.animate-slide-in-left{animation:slideInLeft .4s var(--ease-out-expo) forwards}.delay-1{animation-delay:50ms}.delay-2{animation-delay:.1s}.delay-3{animation-delay:.15s}.delay-4{animation-delay:.2s}.delay-5{animation-delay:.25s}.student-list-page{width:100%;min-height:100%;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.page-title{margin:0;font-size:1.5rem;color:var(--color-text-primary);font-weight:600}.student-list-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.student-list-edit{border:none;background:transparent;cursor:pointer;color:var(--text-primary);display:flex;align-items:center;justify-content:center;width:100%;height:100%}.student-list-count-error{margin:.35rem 0 0;color:#ef4444;font-size:.8rem}.student-list-sentinel{height:1px}.student-profile-page{position:relative;width:100%;min-height:100%;background:var(--color-bg-app);padding:24px;box-sizing:border-box}.student-profile-container{max-width:1200px;margin:0 auto;transition:all .3s ease}.student-profile-form{display:flex;flex-direction:column;gap:1rem;align-items:center;transition:all .3s ease;flex:1}.form-section{background:#fff;border-radius:var(--card-radius);padding:2.5rem;margin:0;width:100%;max-width:100%;box-shadow:var(--shadow-sm)}.section-title{font-size:1.375rem;font-weight:600;color:var(--color-text-primary, #1a1a1a);margin:0 0 1.5rem}.form-row-three-columns{grid-template-columns:1fr 1fr 1fr!important}.form-row.form-row-textarea,.form-row.form-row-full{grid-template-columns:1fr!important}.form-row.form-row-textarea.form-row-three-columns{grid-template-columns:1fr 1fr 1fr!important}.form-row:empty{margin:0;padding:0;height:0;display:none}.student-profile-page .profile-avatar-section{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem;border-bottom:none;box-shadow:none}.student-profile-page .profile-avatar-large{width:120px;height:120px;border-radius:50%;background:var(--color-bg-app);display:flex;align-items:center;justify-content:center;color:#fff;font-size:3rem;font-weight:700;margin-bottom:1rem;position:relative;overflow:hidden;cursor:pointer;box-shadow:none}.student-profile-page .profile-placeholder-icon{color:#6b7280}.student-profile-page .profile-avatar-large:after{content:"✎";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;background:#0000;opacity:0;transition:background .2s ease,opacity .2s ease;pointer-events:none}.student-profile-page .profile-avatar-large:hover:after{background:#00000059;opacity:1}.student-profile-page .profile-avatar-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;box-shadow:none}.student-profile-page .profile-avatar-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000040;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.student-profile-page .profile-avatar-loader .spinner{width:28px;height:28px;border:3px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:globalSpin .9s linear infinite}.student-profile-page .avatar-add-button{position:absolute;bottom:20px;right:8px;width:28px;height:28px;border-radius:50%;background:#9ca3af;border:2.5px solid white;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 6px #00000026;z-index:5;padding:0}.student-profile-page .avatar-add-button svg{color:#fff}.student-profile-page .avatar-add-button:hover{background:#4b5563;transform:scale(1.05)}.student-profile-page .form-group{position:relative;display:flex;flex-direction:column;min-height:48px}.student-profile-page .form-group .field-error{color:#ef4444;font-size:.75rem;margin-top:.25rem;display:block;position:relative;text-align:left}.student-profile-page .form-submit-error{margin-top:.75rem;color:#ef4444;font-size:.875rem;text-align:center}.student-profile-page .form-group .input-label-wrapper{position:relative;min-height:48px}.student-profile-page .form-group:not([class*=toggle-group]) label{position:absolute;left:14px;top:24px;transform:translateY(-50%);font-size:14px;color:#6b7280;pointer-events:none;transition:all .15s ease;background:#fff;padding:0 4px;z-index:1;font-weight:400;line-height:1;display:flex;align-items:center;margin:0;height:-moz-fit-content;height:fit-content}.student-profile-page .form-group textarea+label{position:absolute;top:14px;transform:none;background:#fff;padding:0 4px}.student-profile-page .form-group:not([class*=toggle-group]) input:not(:-moz-placeholder)+label,.student-profile-page .form-group:not([class*=toggle-group]) textarea:not(:-moz-placeholder)+label{top:0;transform:translateY(-50%);font-size:12px;color:#1a1a1a;font-weight:500}.student-profile-page .form-group:not([class*=toggle-group]).has-value label,.student-profile-page .form-group:not([class*=toggle-group]) label.filled,.student-profile-page .form-group:not([class*=toggle-group]):focus-within label,.student-profile-page .form-group:not([class*=toggle-group]) input:focus+label,.student-profile-page .form-group:not([class*=toggle-group]) input:not(:placeholder-shown)+label,.student-profile-page .form-group:not([class*=toggle-group]) textarea:focus+label,.student-profile-page .form-group:not([class*=toggle-group]) textarea:not(:placeholder-shown)+label{top:0;transform:translateY(-50%);font-size:12px;color:#1a1a1a;font-weight:500}.student-profile-page .form-group textarea:not(:-moz-placeholder)+label{top:0;transform:translateY(-50%)}.student-profile-page .form-group textarea:focus+label,.student-profile-page .form-group textarea:not(:placeholder-shown)+label{top:0;transform:translateY(-50%)}.student-profile-page .form-group:not([class*=toggle-group]) select.has-value+label,.student-profile-page .form-group:not([class*=toggle-group]) select:focus+label,.student-profile-page .form-group:not([class*=toggle-group]):focus-within select+label,.student-profile-page .form-group:not([class*=toggle-group]):focus-within label{top:0;transform:translateY(-50%);font-size:12px;color:#1a1a1a;font-weight:500}.student-profile-page .form-group input,.student-profile-page .form-group select,.student-profile-page .form-group textarea{width:100%;padding:13px 44px 13px 14px;font-size:14px;color:#1a1a1a;background:#fff;border:1.5px solid #D1D4DB;border-radius:var(--card-radius);outline:none;transition:all .15s ease;font-family:inherit;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0;box-sizing:border-box;height:48px}.student-profile-page .form-group textarea{white-space:pre-wrap;resize:vertical;min-height:80px;padding-right:14px;height:auto}.student-profile-page .form-group textarea[id*=address]{min-height:60px}.student-profile-page .form-group select{appearance:none;-webkit-appearance:none;-moz-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='%2364748b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px;cursor:pointer}.student-profile-page .form-group select:not(.has-value){color:transparent}.student-profile-page .form-group select:not(.has-value) option:not([value=""]){color:#1a1a1a}.student-profile-page .form-group select.has-value,.student-profile-page .form-group select.has-value option{color:#1a1a1a}.student-profile-page .form-group-phone .phone-input-wrapper{position:relative;display:flex;align-items:center}.student-profile-page .phone-prefix{position:absolute;left:14px;color:var(--color-text-primary, #1a1a1a);font-size:14px;font-weight:400;pointer-events:none;z-index:1;opacity:0;transition:opacity .15s ease}.student-profile-page .phone-prefix.visible{opacity:1}.student-profile-page .form-group-phone:focus-within .phone-prefix{opacity:1}.student-profile-page .form-group-phone .phone-input{padding-left:42px}.student-profile-page .form-group input:focus,.student-profile-page .form-group select:focus,.student-profile-page .form-group textarea:focus{border-color:#aeb4c2;box-shadow:0 0 0 3px #aeb4c21a}.student-profile-page .form-group input:hover,.student-profile-page .form-group select:hover,.student-profile-page .form-group textarea:hover{border-color:#aeb4c2}.student-profile-page .form-group input:disabled,.student-profile-page .form-group select:disabled,.student-profile-page .form-group textarea:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed;border-color:#e5e7eb}.student-profile-page .form-group input::-moz-placeholder,.student-profile-page .form-group textarea::-moz-placeholder{opacity:0}.student-profile-page .form-group input::placeholder,.student-profile-page .form-group textarea::placeholder{opacity:0}.student-profile-page .form-group select option[value=""]{color:#9ca3af}.student-profile-page input:-webkit-autofill,.student-profile-page input:-webkit-autofill:hover,.student-profile-page input:-webkit-autofill:focus,.student-profile-page input:-webkit-autofill:active,.student-profile-page select:-webkit-autofill,.student-profile-page textarea:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px white inset!important;-webkit-text-fill-color:var(--color-text-primary)!important;background-color:#fff!important;background-image:none!important}.student-profile-page input::-webkit-contacts-auto-fill-button,.student-profile-page input::-webkit-credentials-auto-fill-button,.student-profile-page input::-webkit-strong-password-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;position:absolute;right:0}.student-profile-page input::autofill,.student-profile-page select::autofill,.student-profile-page textarea::autofill{background-color:#fff!important;background-image:none!important}.create-button-wrapper{margin-top:2rem;align-self:stretch;padding:0 2.5rem}.create-button-wrapper .btn{display:block!important;width:100%!important;max-width:600px;margin-left:auto;margin-right:auto;text-align:center}.action-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;background:#ffffffb3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);font-size:.875rem;font-weight:500}.action-btn:hover{background:#ffffffe6}.action-create-btn{background:var(--color-primary);border:none;color:#fff}.action-create-btn:hover{background:var(--color-primary-hover, #0051a8);border-color:var(--color-primary-hover, #0051a8);opacity:.9}body:has(.modal-overlay),body:has(.dialog-overlay),body:has(.messages-modal-overlay){overflow:hidden}.modal-overlay{position:fixed;inset:0;background-color:#00000059;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:13000;padding:16px}.modal-content{background-color:#fff;border-radius:12px;padding:2rem;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.modal-content>h2{margin-bottom:2.5rem;display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-close-btn{width:32px;height:32px;min-width:32px;border-radius:50%;border:none;background:#f9fafb;color:#9ca3af;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease;padding:0;flex-shrink:0;font-size:0;line-height:1}.modal-close-btn:hover:not(:disabled){background:#f3f4f6;color:#6b7280}.modal-close-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.modal-close-btn svg{width:18px;height:18px;stroke-width:2.5}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:transparent}.modal-content::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.modal-content::-webkit-scrollbar-thumb:hover{background:#00000059}.modal-header{padding:1.5rem 2rem .75rem}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text-primary, #111827)}.modal-body{padding:.75rem 2rem 1.5rem;color:var(--color-text-primary, #111827);line-height:1.6}.modal-body .warning{font-weight:600}.modal-footer{padding:0 2rem 1.5rem;display:flex;justify-content:flex-end;gap:.75rem}.snackbar{--snackbar-bg: var(--color-text-secondary);--snackbar-color: #fff;position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--snackbar-bg)!important;color:var(--snackbar-color);padding:.75rem 2.5rem .75rem 1.5rem;border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;font-size:.9375rem;font-weight:500;z-index:var(--z-toast, 10000);animation:snackbarSlideIn .3s ease-out;display:flex;align-items:center;gap:.75rem}.snackbar--error{--snackbar-bg: #fecaca;--snackbar-color: #b91c1c}.snackbar.snackbar--error,.main-layout .snackbar.snackbar--error{background:#fecaca!important;color:#b91c1c!important}.snackbar--success{--snackbar-bg: var(--color-success);--snackbar-color: #fff}.snackbar-close{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--snackbar-color);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .15s ease;opacity:.9}.dialog-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:13000;animation:dialogFadeIn .2s ease-out}@keyframes dialogFadeIn{0%{opacity:0}to{opacity:1}}.dialog-content{background:var(--color-bg-surface);border-radius:var(--radius-lg);padding:2rem;max-width:400px;width:90%;box-shadow:0 8px 32px #0003;animation:dialogSlideIn .3s ease-out}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .75rem}.dialog-message{font-size:.9375rem;color:var(--color-text-secondary);margin:0 0 1.5rem;line-height:1.5}.dialog-actions{display:flex;gap:.75rem;justify-content:flex-end}.form-metadata-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem;font-size:.75rem;color:var(--color-text-secondary, #6b7280)}@media(max-width:768px){.form-row{grid-template-columns:1fr!important}.student-profile-page{padding:1rem}.form-section{padding:1.5rem;margin:0;width:100%}}.form-section,.settings-card,.card,[class*=-card]{transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.form-section:hover,.settings-card:hover,.card:hover{box-shadow:var(--shadow-lg)}tr[onclick],.clickable-row,[role=button]{transition:background-color var(--transition-fast),transform var(--transition-fast)}tr[onclick]:active,.clickable-row:active,[role=button]:active:not(:disabled){transform:scale(.995)}.btn-icon,button[class*=icon],.icon-button{transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.btn-icon:hover:not(:disabled),button[class*=icon]:hover:not(:disabled),.icon-button:hover:not(:disabled){transform:scale(1.05)}[class$=-add-btn]:hover{border-color:var(--color-border, #d1d4db)}.btn-icon:active:not(:disabled),button[class*=icon]:active:not(:disabled),.icon-button:active:not(:disabled){transform:scale(.95)}a{transition:color var(--transition-fast),opacity var(--transition-fast)}input:focus,select:focus,textarea:focus{transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.profile-avatar-large,.avatar,[class*=avatar]{transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.profile-avatar-large:hover,.avatar:hover{transform:scale(1.02)}.dropdown-item,.menu-item,[class*=menu] button,[class*=dropdown] button{transition:background-color var(--transition-fast),color var(--transition-fast)}.tab,[role=tab],.nav-item{transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}.toggle-track,.toggle-slider,.toggle-thumb,[class*=toggle]{transition:background-color var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal)}.progress-bar,[class*=progress]{transition:width var(--transition-slow)}.badge,.tag,[class*=badge],[class*=tag]{transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.badge:hover,.tag:hover{transform:scale(1.02)}[data-tooltip]:after,.tooltip{transition:opacity var(--transition-fast),transform var(--transition-fast)}html{scroll-behavior:smooth}.transport-icon-toggle{height:40px;min-width:40px;border-radius:20px;border:none;background:#fff;box-shadow:0 1px 2px #0000000d;color:var(--color-text-secondary, #6b7280);display:inline-flex;align-items:center;justify-content:center;gap:0;padding:0 10px;cursor:pointer;transition:box-shadow .25s ease,background .25s ease,color .25s ease,padding .3s var(--ease-out-expo);flex-shrink:0;overflow:hidden;white-space:nowrap}.transport-icon-toggle svg{flex-shrink:0}.transport-icon-toggle .transport-icon-toggle-label{max-width:0;opacity:0;overflow:hidden;font-size:.8rem;font-weight:500;white-space:nowrap;transition:max-width .3s var(--ease-out-expo),opacity .2s ease,margin .3s var(--ease-out-expo);margin-left:0}.transport-icon-toggle:hover{background:#fff;color:var(--color-text-primary);gap:0}.transport-icon-toggle:hover .transport-icon-toggle-label{max-width:240px;opacity:1;margin-left:7px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.access-denied{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;color:#111827}.access-denied__icon{width:72px;height:72px;border-radius:999px;background:#f3f4f6;display:grid;place-items:center;color:#111827;border:1px solid #e5e7eb}.access-denied__title{margin:0;font-size:22px;font-weight:700}.access-denied__text{margin:0;color:#6b7280;font-size:14px}.not-found{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;color:#111827}.not-found__code{font-size:48px;font-weight:800;letter-spacing:1px}.not-found__title{margin:0;font-size:22px;font-weight:700}.not-found__text{margin:0;color:#6b7280;font-size:14px}.access-viewer-tree{display:inline-block;--access-tree-line-width: 2px;--access-tree-line-color: rgba(148, 163, 184, .95)}.access-viewer-canvas{position:relative}.access-viewer-canvas-svg{position:absolute;inset:0;pointer-events:none}.access-viewer-node-abs{position:absolute;display:flex;justify-content:center}.access-viewer-node-abs.access-viewer-node-highlight{z-index:10}.access-viewer-highlight-ring{animation:accessViewerRingPulse 1.15s ease-in-out 2}@keyframes accessViewerRingPulse{0%{box-shadow:0 0 #22c55eb3}50%{box-shadow:0 0 0 8px #22c55e4d}to{box-shadow:0 0 #22c55e00}}.access-viewer-admin-search-input{width:180px;max-width:30vw;border:none;outline:none;background:transparent;font-size:.875rem;color:var(--color-text-primary)}.access-viewer-admin-search-close{display:grid;place-items:center;width:28px;height:28px;border-radius:9999px;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer}.access-viewer-admin-search-close:hover{background:#0000000d;color:var(--color-text-primary)}.access-viewer-admin-search-results{position:absolute;top:calc(100% + 8px);left:0;width:250px;max-width:40vw;max-height:320px;overflow:auto;border:1px solid var(--color-border);border-radius:14px;background:#fff;box-shadow:0 20px 40px #00000014;padding:6px;z-index:40}.access-viewer-admin-search-result{width:100%;text-align:left;border:none;background:transparent;cursor:pointer;padding:10px;border-radius:12px}.access-viewer-admin-search-result:hover{background:#94a3b81f}.access-viewer-admin-search-result-name{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.access-viewer-admin-search-result-meta{margin-top:2px;font-size:.75rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.access-viewer-admin-search-empty{padding:10px;font-size:.8125rem;color:var(--color-text-secondary)}.access-viewer-zoom-outer{position:relative}.access-viewer-zoom-inner{transform-origin:top left;transform:scale(var(--access-viewer-zoom, 1))}.access-viewer-scroll{overflow-x:scroll;overflow-y:auto;margin:0;padding:68px 0 0;width:100%;box-sizing:border-box;height:calc(100vh - 70px)}.access-viewer-create-wrap{position:sticky;top:12px;z-index:30;height:0;pointer-events:none}.access-viewer-create{position:absolute;right:16px;top:0;pointer-events:auto;margin-bottom:8px}.access-viewer-zoombar-wrap{position:sticky;top:12px;z-index:30;height:0;pointer-events:none}.access-viewer-zoombar{position:absolute;right:16px;top:48px;pointer-events:auto}.access-viewer-scroll-inner{width:-moz-max-content;width:max-content;margin:0 auto}.access-viewer-scroll::-webkit-scrollbar{height:10px}.access-viewer-scroll::-webkit-scrollbar-track{background:transparent}.access-viewer-scroll::-webkit-scrollbar-thumb{background:#94a3b8e6;border-radius:9999px}.access-viewer-scroll::-webkit-scrollbar-thumb:hover{background:#64748bf2}.access-viewer-tree ul{padding-top:24px;position:relative;display:flex;justify-content:center}.access-viewer-tree li{list-style-type:none;text-align:center;position:relative;padding:24px 10px 0}.access-viewer-tree li:before,.access-viewer-tree li:after{content:"";position:absolute;top:0;right:50%;border-top:var(--access-tree-line-width) solid var(--access-tree-line-color);width:50%;height:24px}.access-viewer-tree li:after{right:auto;left:50%;border-left:var(--access-tree-line-width) solid var(--access-tree-line-color)}.access-viewer-tree li:only-child:after,.access-viewer-tree li:only-child:before{display:none}.access-viewer-tree li:only-child{padding-top:0}.access-viewer-tree li:first-child:before,.access-viewer-tree li:last-child:after{border:0 none}.access-viewer-tree li:last-child:before{border-right:var(--access-tree-line-width) solid var(--access-tree-line-color);border-radius:0 var(--radius-sm) 0 0}.access-viewer-tree li:first-child:after{border-radius:var(--radius-sm) 0 0 0}.access-viewer-tree ul ul:before{content:"";position:absolute;top:0;left:50%;border-left:var(--access-tree-line-width) solid var(--access-tree-line-color);width:0;height:24px}.access-viewer-tree .access-viewer-tree-root{padding-top:0}.access-viewer-tree .access-viewer-tree-root>li{padding-top:0}.access-viewer-tree .access-viewer-tree-root>li:before,.access-viewer-tree .access-viewer-tree-root>li:after{display:none}.access-viewer-root-lr{display:flex;align-items:center;justify-content:center;gap:28px;padding:24px 8px}.access-viewer-root-lr-connector{position:relative;width:56px;align-self:stretch;display:flex;align-items:center;justify-content:center}.access-viewer-root-lr-connector:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:var(--access-tree-line-width);background:var(--access-tree-line-color);transform:translate(-50%)}.access-viewer-root-lr-connector:after{content:"";position:absolute;left:0;top:50%;width:100%;height:var(--access-tree-line-width);background:var(--access-tree-line-color);transform:translateY(-50%)}.access-viewer-root-lr-children{display:flex;flex-direction:column;gap:14px}.access-viewer-root-lr-child-row{display:flex;align-items:center;gap:12px}.access-viewer-root-lr-child-row:before{content:"";width:28px;height:var(--access-tree-line-width);background:var(--access-tree-line-color);flex:0 0 auto}.access-viewer-leaf-lr-wrap{position:relative;width:0;margin:0 auto;padding-top:18px}.access-viewer-leaf-lr-wrap:before{content:"";position:absolute;top:0;left:0;width:var(--access-tree-line-width);height:18px;background:var(--access-tree-line-color)}.access-viewer-leaf-lr-spine{position:absolute;left:0;top:18px;bottom:calc(var(--access-node-height, 112px) - 24px + 6px);width:var(--access-tree-line-width);background:var(--access-tree-line-color);border-radius:0}.access-viewer-leaf-lr-children{position:relative;left:28px;display:flex;flex-direction:column;gap:14px;padding-bottom:6px}.access-viewer-leaf-lr-child-row{position:relative;display:flex;align-items:flex-start;padding-left:0}.access-viewer-leaf-lr-child-row:before{content:"";position:absolute;left:-28px;top:24px;width:96px;height:var(--access-tree-line-width);background:var(--access-tree-line-color);border-radius:0;z-index:0}.access-viewer-node-wrapper{padding:0;margin:0;position:relative;z-index:1}.access-viewer-node-lr{height:var(--access-node-height, 112px)}.access-viewer-edit-btn:hover{background:#0000000d!important;color:var(--color-text-primary)!important}.access-viewer-card{background:#ffffffb3;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:none;border-radius:12px;box-shadow:0 8px 30px #0000000a;padding:1rem;display:flex;flex-direction:column;overflow:hidden}.permissions-overview-card{padding-right:0}.permissions-overview-card .section-header-with-action{padding-right:1rem}.permissions-card-wrapper{display:flex;flex-direction:column;max-height:350px;min-height:0;overflow-y:auto;overflow-x:hidden}.permissions-panel-content{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.permissions-panel-content .scrollable-tabs-wrapper{position:sticky;top:0;background:#fff;z-index:10;padding-bottom:.5rem}.permissions-panel-content .permissions-categories-list{display:flex;flex-direction:column;gap:12px}.segmented-bar-item.active{background:var(--color-primary);color:#fff;box-shadow:0 1px 3px #0a84ff33}.access-viewer-card-empty{background:#ffffffb3;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:none;border-radius:12px;box-shadow:0 8px 30px #0000000a;padding:.75rem 1rem}.access-viewer-toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.access-viewer-toggle-switch input{opacity:0;width:0;height:0;pointer-events:auto}.access-viewer-toggle-slider{position:absolute;cursor:default;inset:0;background-color:#cbd5e1;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:34px}.access-viewer-toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:50%;box-shadow:0 2px 4px #0003}.access-viewer-toggle-switch input:checked+.access-viewer-toggle-slider{background-color:var(--color-primary)}.access-viewer-toggle-switch input:not(:disabled)+.access-viewer-toggle-slider{cursor:pointer}.access-viewer-toggle-switch input:disabled+.access-viewer-toggle-slider{opacity:.7}.access-viewer-toggle-switch input:checked+.access-viewer-toggle-slider:before{transform:translate(20px)}.access-viewer-route-select{color:var(--color-text-primary);font-size:.875rem;padding:.25rem 1.5rem .25rem .5rem;border:none;background:transparent;cursor:default;-webkit-appearance:none;-moz-appearance:none;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='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:12px;min-width:120px;text-align:right}.access-viewer-route-select:disabled{opacity:1;cursor:default}.access-viewer-route-select:not(:disabled){cursor:pointer}.access-viewer-route-select option{background:#fff;color:var(--color-text-primary);padding:.5rem}.access-viewer-delete-btn{background-color:#ef4444!important;color:#fff!important;border:none!important;opacity:1!important;width:auto!important;min-width:40px;border-radius:9999px!important}.access-viewer-delete-btn:hover:not(:disabled){background-color:#dc2626!important;opacity:1!important;transform:scale(1.05)}.access-viewer-delete-btn:disabled{background-color:#f87171!important;opacity:.7!important}.access-viewer-page .section-header-with-action{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:.75rem;gap:8px;width:100%;box-sizing:border-box}.access-viewer-page .section-title{font-size:1rem;font-weight:600;color:var(--color-text-primary, #1a1a1a);margin:0;padding-bottom:0}.section-search-button{background:transparent;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;padding:0;transition:var(--transition-fast)}.section-search-button:hover{background:transparent;color:var(--color-text-primary)}.search-bar-container{position:relative;display:flex;align-items:center;max-width:180px;width:100%;flex:1;height:28px;animation:slideInSearch .3s ease-out}@keyframes slideInSearch{0%{opacity:0;transform:translate(-10px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}.permission-search-input{padding:6px 32px 6px 12px;border:none;border-radius:24px;background:#fff;color:var(--color-text-primary);font-size:13px;outline:none;transition:all .2s ease;min-width:120px;width:100%;height:28px;box-sizing:border-box;box-shadow:0 2px 8px #00000014}.permission-search-input:focus{box-shadow:0 2px 8px #00000014}.search-close-button-inside{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;padding:0;transition:var(--transition-fast);z-index:10}.search-close-button-inside:hover{background:#0000000d;color:var(--color-text-primary)}.permissions-categories-list{display:flex;flex-direction:column;gap:12px}.permission-category-container{margin-bottom:12px;border:none;border-radius:12px;background:var(--color-bg-app);overflow:hidden;position:relative}.permission-category-row{display:flex;align-items:center;gap:12px;padding:12px;transition:var(--transition-fast);position:relative;cursor:pointer;flex-direction:row}.permission-category-row:hover{background:transparent}.permission-accordion-toggle{background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;color:var(--color-text-secondary);cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;box-shadow:0 2px 8px #00000014}.permission-accordion-toggle:hover{background:#ffffff26;color:var(--color-text-primary)}.permission-category-name{flex:1;font-size:13px;font-weight:600;color:#1a1a1a;min-width:0}.permission-category-subtitle{font-size:13px;font-weight:400;color:var(--color-text-secondary);margin-left:8px;margin-top:2px;line-height:1.4}.permission-category-permissions{padding:12px;border-top:1.4px solid #FFFFFF;background:var(--color-bg-app);display:flex;flex-direction:column;gap:12px;border-bottom-left-radius:12px;border-bottom-right-radius:12px}.permission-category-permissions-non-edit{flex-direction:column;gap:12px}.permission-group{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;width:100%}.permission-own-title{width:100%;text-align:center;font-size:13px;font-weight:500;color:var(--color-text-secondary);padding:8px 0;margin-top:8px}.permission-group-own{padding-top:12px;margin-top:0}.permission-badge{display:flex;align-items:center;gap:4px;padding:6px 12px;background:#fff!important;border:none;border-radius:9999px;font-size:12px;transition:var(--transition-fast)}.permission-badge:hover{background:#fff!important}.permission-badge[role=button]{cursor:pointer}.permission-badge[role=button]:focus{outline:none}.permission-badge-added{background:#fff!important}.permission-badge-name{color:var(--color-text-primary);font-size:12px;white-space:nowrap}.scopes-list{display:flex;flex-direction:column;gap:.75rem}.scope-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:12px;background:var(--color-bg-app);border:none;border-radius:12px;margin-bottom:12px}.scope-name{font-size:.875rem;font-weight:500;color:var(--color-text-primary);flex:1}.scope-exceptions-list{display:flex;flex-direction:column;gap:.75rem}.scope-exception-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:12px;background:var(--color-bg-app);border:none;border-radius:12px;margin-bottom:12px}.exception-name{font-size:.875rem;font-weight:500;color:var(--color-text-primary);flex:1}.access-viewer-drawer-container{top:4.375rem}.nav-hidden .access-viewer-drawer-container{top:0!important}.permissions-segmented-bar{display:flex;gap:.5rem;padding:0;background:transparent;border-radius:0;margin:0 0 1rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.permissions-segmented-bar::-webkit-scrollbar{display:none}.permissions-segmented-bar{-ms-overflow-style:none;scrollbar-width:none}.segmented-bar-item{flex:0 0 auto;min-width:-moz-fit-content;min-width:fit-content;padding:.5rem 1rem;border:none;background:var(--color-bg-app);color:var(--color-text-secondary, #6b7280);font-size:.875rem;font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;white-space:nowrap;font-family:var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif)}.segmented-bar-item:hover{background:#e5e7eb;color:var(--color-text-primary, #1a1a1a)}.segmented-bar-item.active{background:#2563eb;color:#fff;box-shadow:0 1px 3px #2563eb33}.access-viewer-loader-container{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:20}.access-viewer-loader{display:flex;align-items:center;justify-content:center}.access-viewer-spinner{width:48px;height:48px;border:4px solid var(--color-border, #e2e8f0);border-top-color:var(--color-primary, #3b82f6);border-radius:50%;animation:access-viewer-spin .8s linear infinite}@keyframes access-viewer-spin{to{transform:rotate(360deg)}}.access-viewer-admin-search-input,.permission-search-input{-webkit-autocomplete:off;autocomplete:off}.access-viewer-admin-search-input:-webkit-autofill,.access-viewer-admin-search-input:-webkit-autofill:hover,.access-viewer-admin-search-input:-webkit-autofill:focus,.access-viewer-admin-search-input:-webkit-autofill:active,.permission-search-input:-webkit-autofill,.permission-search-input:-webkit-autofill:hover,.permission-search-input:-webkit-autofill:focus,.permission-search-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px white inset!important;-webkit-text-fill-color:var(--color-text-primary)!important;background-color:#fff!important;background-image:none!important}.access-viewer-admin-search-input::-webkit-contacts-auto-fill-button,.access-viewer-admin-search-input::-webkit-credentials-auto-fill-button,.permission-search-input::-webkit-contacts-auto-fill-button,.permission-search-input::-webkit-credentials-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;position:absolute;right:0}.bg-slate-400.text-white,.bg-slate-400{background:#64748b26!important;color:#64748b!important}.bg-slate-400.text-white>div,.bg-slate-400>div{color:#64748b!important}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden;background:linear-gradient(to bottom,#fdfdfe,#f5f6f7);opacity:0;animation:fadeIn .4s ease-out forwards}.login-container.mounted{opacity:1}.login-bg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0;background:linear-gradient(to bottom,#fdfdfe,#f5f6f7)}.login-bg:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:none}.gradient-orb{display:none}.login-card{position:relative;z-index:1;width:100%;max-width:440px;background:#fff;border:0;outline:none;border-radius:28px;padding:56px 48px;box-shadow:0 0 30px #00000008;transform:translateY(10px);animation:slideUp .4s ease-out .1s forwards;opacity:0}.login-logo{text-align:center;margin-bottom:40px;animation:scaleIn .3s ease-out .2s backwards}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.logo-image{width:70px;max-width:100%;height:auto;display:block;margin:0 auto 16px}.login-logo h1{font-size:26px;font-weight:600;color:#1a1a1a;margin:0;letter-spacing:-.5px}.login-header{text-align:center;margin-bottom:36px;animation:fadeInUp .3s ease-out .3s backwards}.login-header h2{font-size:22px;font-weight:600;color:#1a1a1a;margin:0 0 8px;letter-spacing:-.3px}.login-header p{font-size:14px;color:#6b7280;margin:0;line-height:1.5;font-weight:400}.login-form{animation:fadeInUp .3s ease-out .4s backwards}.login-card .form-group{position:relative;margin-bottom:20px;transition:opacity .2s ease}.login-card .form-group.otp-field{margin-bottom:48px}.login-form>.form-group:last-of-type:not(.otp-field){margin-bottom:48px}.login-card .form-group.disabled{opacity:.5;pointer-events:none}.form-group.otp-field{animation:slideInRight .3s ease-out;margin-bottom:48px}@keyframes slideInRight{0%{transform:translate(10px);opacity:0}to{transform:translate(0);opacity:1}}.login-card .form-group label{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:14px;color:#9ca3af;pointer-events:none;transition:all .15s ease;background:#fff;padding:0 4px;z-index:1;font-weight:400}.login-card .form-group input:not(:-moz-placeholder)+label{top:-1px;font-size:12px;color:#1a1a1a;font-weight:500}.login-card .form-group label.filled,.login-card .form-group input:not(:placeholder-shown)+label,.login-card .form-group:focus-within label{top:-1px;font-size:12px;color:#1a1a1a;font-weight:500}.login-card .form-group:focus-within label.filled{color:#1a1a1a}.login-card .form-group.has-error label,.login-card .form-group.has-error label.filled,.login-card .form-group.has-error:focus-within label,.login-card .form-group.has-error:focus-within label.filled{color:#dc2626}.login-card .form-group.disabled label,.login-card .form-group.disabled label.filled{color:#d1d5db}.login-card .form-group input{width:100%;padding:13px 14px;font-size:14px;color:#1a1a1a;background:#fff;border:1.5px solid #D1D4DB;border-radius:12px;outline:none;transition:all .15s ease;font-family:inherit;font-weight:400}.login-card .form-group input:focus{border-color:#aeb4c2;box-shadow:0 0 0 3px #aeb4c21a}.login-card .form-group input.error{border-color:#dc2626}.login-card .form-group input.error:focus{box-shadow:0 0 0 3px #dc262614}.login-card .form-group input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed;border-color:#e5e7eb}.login-card .form-group input::-moz-placeholder{opacity:0}.login-card .form-group input::placeholder{opacity:0}.login-card input::-ms-reveal,.login-card input::-ms-clear{display:none}.password-wrapper.has-error{margin-bottom:24px}.password-wrapper input{padding-right:44px}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;outline:none;color:#6b7280;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease;border-radius:6px}.field-error-password{text-align:center;margin-left:0!important;margin-top:0!important}.login-card .form-message.error{color:#dc2626;background:transparent;border:none;padding:0;text-align:center}.form-message-credentials{text-align:center!important;margin:24px 0 0!important;padding:0!important;font-size:12px;background:none!important;border:none!important;display:block!important;width:100%!important;gap:0!important;align-items:unset!important;justify-content:unset!important;flex-direction:unset!important;color:#dc2626!important}.resend-message{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;animation:fadeIn .2s ease;font-weight:400;line-height:1.2}.resend-message span{display:inline-block;vertical-align:baseline;font-variant-numeric:tabular-nums;letter-spacing:.5px}.resend-message.success{color:#15803d}.resend-message.success svg{background:#34c759;border-radius:50%;padding:2px;color:#fff;stroke:#fff}.resend-message.error{color:#dc2626}.resend-message svg{width:14px;height:14px;flex-shrink:0}.otp-sent-info{font-size:13px;color:#6b7280;margin-bottom:12px;text-align:center;animation:fadeIn .3s ease}.otp-sent-info .masked-phone{font-weight:600;color:#1a1a1a;font-family:SF Mono,Monaco,Inconsolata,Fira Mono,monospace;letter-spacing:1px}.submit-btn{margin-top:48px!important}.password-toggle:focus-visible{box-shadow:none}.login-footer{margin-top:28px;text-align:center;animation:fadeIn .3s ease-out .5s backwards}.help-link{color:#6b7280;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s ease}@media(max-width:640px){.login-container{padding:16px}.login-card{padding:44px 28px;border-radius:24px}.login-logo h1{font-size:24px}.login-header h2{font-size:20px}.login-header p{font-size:13px}}@media(max-width:400px){.login-card{padding:36px 24px}.logo-image{width:60px;margin-bottom:10px}}.help-section{position:relative;width:100%;display:flex;flex-direction:column;align-items:center}.help-link{background:none;border:none;padding:8px 16px;font-size:14px;color:#6b7280;text-decoration:none;cursor:pointer;font-weight:500;transition:color .2s ease;font-family:inherit}.help-link:hover{color:#1a1a1a;text-decoration:underline}.help-dropdown{padding:24px;text-align:left;animation:slideDown .2s ease;width:calc(100% + 96px);margin:20px -48px -56px;border-radius:0 0 28px 28px}@media(max-width:640px){.help-dropdown{width:calc(100% + 56px);margin-left:-28px;margin-right:-28px;margin-bottom:-44px;padding:20px}}@media(max-width:400px){.help-dropdown{width:calc(100% + 48px);margin-left:-24px;margin-right:-24px;margin-bottom:-36px;padding:16px}}.help-dropdown-header{font-weight:600;font-size:15px;color:#1a1a1a;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;align-items:center}.help-close-btn{background:none;border:none;padding:4px;cursor:pointer;color:#9ca3af;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.help-close-btn:hover{background:#f3f4f6;color:#4b5563}.help-close-btn svg{width:16px;height:16px}.help-dropdown-item{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#4b5563;line-height:1.5;margin-bottom:12px}.help-dropdown-item:last-child{margin-bottom:0}.help-dropdown-bullet{color:#9ca3af;font-weight:700;font-size:14px;margin-top:-1px}.help-dropdown-item strong{color:#374151;font-weight:600}.help-dropdown-item a{color:#2563eb;text-decoration:none}.help-dropdown-item a:hover{text-decoration:underline}.password-change-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden;background:linear-gradient(to bottom,#fdfdfe,#f5f6f7);opacity:0;animation:fadeIn .4s ease-out forwards}.password-change-container.mounted{opacity:1}.password-change-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#fdfdfe,#f5f6f7);z-index:0}.password-change-bg:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:none}.password-change-card{position:relative;z-index:1;width:100%;max-width:440px;background:#fff;border:0;outline:none;border-radius:28px;padding:48px 48px 44px;box-shadow:0 0 30px #00000008;transform:translateY(10px);animation:slideUp .4s ease-out .1s forwards;opacity:0}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.password-change-header{text-align:center;margin-bottom:24px;animation:fadeInUp .3s ease-out .2s backwards}@keyframes fadeInUp{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.password-change-header h1{font-size:22px;font-weight:500;color:#1a1a1a;margin:0 0 32px;letter-spacing:-.3px;line-height:1.4}.password-change-form{animation:fadeInUp .3s ease-out .4s backwards}.force-change-card .form-group{position:relative;margin-bottom:20px;transition:opacity .2s ease}.force-change-card .form-group.disabled{opacity:.5;pointer-events:none}.force-change-card .form-group label{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:14px;color:#6b7280;pointer-events:none;transition:all .15s ease;background:#fff;padding:0 4px;z-index:1;font-weight:400}.force-change-card .form-group input:not(:-moz-placeholder)+label{top:-1px;font-size:12px;color:#1a1a1a;font-weight:500}.force-change-card .form-group label.filled,.force-change-card .form-group input:focus+label,.force-change-card .form-group input:not(:placeholder-shown)+label{top:-1px;font-size:12px;color:#1a1a1a;font-weight:500}.force-change-card .form-group.has-error label,.force-change-card .form-group.has-error label.filled,.force-change-card .form-group.has-error:focus-within label,.force-change-card .form-group.has-error:focus-within label.filled{color:#dc2626}.force-change-card .form-group input{width:100%;padding:13px 44px 13px 14px;font-size:14px;color:#1a1a1a;background:#fff;border:1.5px solid #d1d5db;border-radius:12px;outline:none;transition:all .15s ease;font-family:inherit;font-weight:400}.force-change-card .form-group input:focus{border-color:#1a1a1a;box-shadow:0 0 0 3px #0000000d}.force-change-card .form-group input.error{border-color:#dc2626}.force-change-card .form-group input.error:focus{box-shadow:0 0 0 3px #dc262614}.force-change-card .form-group input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed;border-color:#e5e7eb}.force-change-card .form-group input::-moz-placeholder{opacity:0}.force-change-card .form-group input::placeholder{opacity:0}.force-change-card .form-group input[type=password]::-ms-reveal,.force-change-card .form-group input[type=password]::-ms-clear{display:none}.force-change-card .form-group input[type=password]::-webkit-credentials-auto-fill-button,.force-change-card .form-group input[type=password]::-webkit-strong-password-auto-fill-button{display:none!important;visibility:hidden;pointer-events:none}.form-message{font-size:13px;margin-bottom:18px;display:flex;align-items:center;gap:8px;animation:slideDown .2s ease;font-weight:400;justify-content:center}.password-change-card .form-message.error{color:#dc2626;background:transparent;border:none;padding:0;text-align:center}@media(max-width:640px){.password-change-container{padding:16px}.password-change-card{padding:40px 28px 36px;border-radius:24px}.password-change-header h1{font-size:20px}}@media(max-width:400px){.password-change-card{padding:36px 24px 32px}}.alva-overlay{position:fixed;top:4.375rem;left:0;right:0;bottom:0;background:transparent;opacity:1;visibility:visible;transition:none;z-index:12000;pointer-events:none}.alva-overlay.active{opacity:1;visibility:visible}.alva-overlay.nav-hidden{top:0}.alva-assistant{position:fixed;top:4.375rem;right:0;width:min(400px,100vw);height:calc(100vh - 4.375rem);height:calc(100dvh - 4.375rem);background:#fff;box-shadow:-4px 0 24px #0000001a;border-left:1px solid rgba(0,0,0,.1);transform:translate(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);z-index:12001;display:flex;flex-direction:column;overflow:hidden}.alva-assistant.open{transform:translate(0)}.alva-assistant.nav-hidden{top:0;height:100vh;height:100dvh}.alva-close-overlay-btn{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border-radius:50%;border:none;background:#0000000d;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10}.alva-close-overlay-btn:hover{background:#ef444426;color:var(--color-text-primary);transform:scale(1.05)}.alva-close-overlay-btn:active{transform:scale(.95)}.alva-header-actions{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;gap:8px}.alva-new-session-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:none;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;cursor:pointer;font-size:12px;transition:transform .15s ease,opacity .15s ease;position:absolute;top:3.5rem;right:1rem;background:#0000000d;color:var(--color-text-secondary)}.alva-new-session-btn:not(:disabled):hover{background:#0000001a;color:var(--color-text-primary)}.alva-new-session-btn:not(:disabled):active{transform:scale(.97)}.alva-new-session-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.alva-new-session-btn:not(:disabled):hover{transform:translateY(0)}.alva-new-session-btn:not(:disabled):active{transform:translateY(0)}.alva-messages{flex:1;overflow-y:auto;padding:1.5rem 1.5rem 8.5rem;display:flex;flex-direction:column;gap:1rem;background:#f5f6f8;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.alva-messages::-webkit-scrollbar{display:none}.alva-messages::-webkit-scrollbar-track{background:transparent}.alva-messages::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.alva-messages::-webkit-scrollbar-thumb:hover{background:#0000004d}.message-bubble{display:flex;flex-direction:column;animation:messageSlideIn .3s cubic-bezier(.4,0,.2,1);max-width:100%}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-bubble.assistant{align-items:flex-start}.message-bubble.user{align-items:flex-end}.alva-message-content{display:flex;flex-direction:column;max-width:85%}.message-text{padding:.75rem 1rem;border-radius:1rem;font-size:.9375rem;line-height:1.5;word-wrap:break-word;white-space:pre-wrap}.message-bubble.assistant .message-text{background:#fff;color:var(--color-text-primary);border:none;border-top-left-radius:.25rem;box-shadow:0 2px 8px #0000000a}.message-bubble.user .message-text{background:var(--color-primary);color:#fff;border:none;border-bottom-right-radius:.25rem;box-shadow:0 2px 8px #0000000a}:root[data-theme=default] .message-bubble.user .message-text{background:#fff;color:var(--color-text-primary);border:none;border-bottom-right-radius:.25rem;box-shadow:0 2px 8px #0000000a}.loading-bubble{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary) 0%,#8b5cf6 100%);border:none;box-shadow:0 2px 8px #0000001a}.loading-row{display:flex;align-items:center;gap:10px}.loading-text{display:flex;flex-direction:column;gap:4px}.loading-lines{display:flex;flex-direction:column;gap:4px;color:var(--color-text-primary)}.loading-line{margin:0;font-size:.9rem;font-weight:400;color:var(--color-text-secondary)}.loading-line.muted{color:var(--color-text-secondary);font-weight:400}.loading-sparkle{color:#fff;animation:sparkleRotate 1s linear infinite}.loading-dots{position:relative;display:inline-block;width:16px;margin-left:2px;font-weight:600}.loading-dots:after{content:".";animation:dotsCycle 1.2s infinite steps(3,end)}@keyframes dotsCycle{0%{content:"."}33%{content:".."}66%{content:"..."}to{content:"."}}@keyframes dotsPulse{0%{content:". .. ...";opacity:.4}33%{opacity:.7}66%{opacity:1}to{opacity:.4}}@keyframes sparkleRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.alva-input-container{position:absolute;bottom:0;left:0;right:0;padding:0;border-top:none;background:#f5f6f8;flex-shrink:0;display:flex;justify-content:stretch;pointer-events:none}.alva-input-shell{width:100%;max-width:none;display:flex;flex-direction:column;gap:.35rem;pointer-events:auto;padding:.35rem 1rem 0rem;border-radius:0;background:#f5f6f8;border:none;box-shadow:none}.alva-input-wrapper{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:none;border-radius:var(--radius-md);transition:all .2s ease;min-height:48px;width:100%;pointer-events:auto}.alva-input-wrapper:focus-within{box-shadow:none}.alva-disclaimer{margin:0 0 .5rem;padding:0 .25rem;font-size:.68rem;line-height:1.25;color:var(--color-text-secondary);opacity:.7;text-align:center}.alva-footer-row{display:flex;align-items:center;justify-content:center;gap:.25rem;padding:.25rem .25rem .5rem}.alva-footer-row .alva-disclaimer{margin:0;padding:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.65rem}.alva-quota-container{position:relative;flex-shrink:0;margin:0}.alva-quota-info-btn{background:transparent;border:none;color:var(--color-text-secondary);opacity:.7;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border-radius:50%}.alva-quota-info-btn:hover{opacity:1;background:#0000000d;color:var(--color-primary)}.alva-quota-popover{position:absolute;bottom:120%;right:0;background:#fff;border:1px solid var(--color-border, rgba(0,0,0,.1));border-radius:.5rem;box-shadow:0 4px 12px #0000001a;width:200px;z-index:100;font-size:.75rem;color:var(--color-text-primary);animation:fadeIn .2s ease}.alva-quota-popover-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border-bottom:1px solid var(--color-border, rgba(0,0,0,.05));font-weight:600;background:#f9fafb;border-radius:.5rem .5rem 0 0}.alva-quota-popover-header button{background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;padding:2px;border-radius:50%}.alva-quota-popover-header button:hover{background:#0000000d;color:var(--color-text-primary)}.alva-quota-popover-body{padding:.5rem .75rem;display:flex;flex-direction:column;gap:.4rem}.alva-quota-stat{display:flex;justify-content:space-between;align-items:center}.alva-quota-stat span:first-child{color:var(--color-text-secondary)}.alva-quota-stat span:last-child{font-weight:600;font-variant-numeric:tabular-nums}.alva-quota-stat.highlight{margin-top:.2rem;padding-top:.4rem;border-top:1px dashed var(--color-border, rgba(0,0,0,.1))}.alva-quota-stat.highlight span:last-child{color:var(--color-primary, #6366f1)}.alva-quota-refresh{margin-top:.5rem;font-size:.65rem;color:var(--color-text-tertiary, #9ca3af);text-align:center;border-top:1px dashed var(--color-border, rgba(0,0,0,.1));padding-top:.4rem}.alva-input{flex:1;border:none;outline:none;font-size:.9375rem;color:var(--color-text-primary);line-height:1.5;font-family:inherit;background:transparent;min-width:0;min-height:24px;max-height:120px;resize:none;overflow-y:auto;padding:0;-ms-overflow-style:none;scrollbar-width:none;caret-color:#9ca3af}.alva-input::-webkit-scrollbar{display:none}.alva-input::-moz-placeholder{color:var(--color-text-tertiary)}.alva-input::placeholder{color:var(--color-text-tertiary)}.alva-send-btn{width:auto;height:auto;padding:0;border:none;background:transparent;color:var(--color-text-primary);cursor:pointer;flex-shrink:0;margin-bottom:0;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.alva-send-btn:hover:not(:disabled){color:var(--color-primary)}.alva-send-btn:disabled{opacity:.5;cursor:not-allowed}.alva-error-banner{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;padding:.75rem 1rem;margin:.75rem 1.25rem 0;border-radius:.75rem;font-size:.9rem}.alva-execute-btn{margin-top:.75rem;padding:.65rem .9rem;background:linear-gradient(135deg,var(--color-primary) 0%,#8b5cf6 100%);color:#fff;border:none;border-radius:.75rem;cursor:pointer;font-size:.9rem;font-weight:600;box-shadow:0 6px 14px #6366f140;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;width:100%}.alva-execute-btn:disabled{opacity:.7;cursor:not-allowed;box-shadow:none}.alva-execute-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 10px 18px #6366f159}.alva-execute-btn:not(:disabled):active{transform:translateY(0)}.alva-confirm-actions{margin-top:.75rem;display:flex;gap:.5rem}.alva-confirm-actions .alva-execute-btn{margin-top:0;flex:1 1 0}.alva-cancel-btn{flex:1 1 0;padding:.65rem .9rem;background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border, rgba(148, 163, 184, .4));border-radius:.75rem;cursor:pointer;font-size:.9rem;font-weight:600;transition:transform .15s ease,background .15s ease,opacity .15s ease}.alva-cancel-btn:disabled{opacity:.7;cursor:not-allowed}.alva-cancel-btn:not(:disabled):hover{background:#94a3b81f;transform:translateY(-1px)}.alva-cancel-btn:not(:disabled):active{transform:translateY(0)}.alva-preview{margin-top:.75rem;padding:.9rem 1rem;border-radius:.9rem;background:#f5f3ff;border:1px solid #e0e7ff;color:#312e81;font-size:.9rem;line-height:1.5}.alva-preview-title{font-weight:700;margin-bottom:.35rem;font-size:.95rem}.alva-results{margin-top:.75rem;padding:.9rem 1rem;border-radius:.9rem;background:#f9fafb;border:1px solid #e5e7eb}.alva-results-title{font-weight:700;margin-bottom:.5rem;font-size:.95rem;color:#111827}.alva-results-table-wrapper{max-height:240px;overflow:auto}.alva-results-table{width:100%;border-collapse:collapse;font-size:.85rem}.alva-results-table th,.alva-results-table td{text-align:left;padding:.5rem .4rem;border-bottom:1px solid #e5e7eb;color:#1f2937}.alva-results-table th{background:#f3f4f6;position:sticky;top:0;z-index:1}.alva-results-note{margin-top:.5rem;font-size:.8rem;color:#6b7280}.alva-footer-text{display:none}@media(max-width:768px){.alva-assistant{width:100%}}.alva-sheet-preview{margin-top:.75rem;padding:.75rem;background:#6366f10f;border:1px solid var(--color-border, rgba(148, 163, 184, .4));border-radius:.75rem;display:flex;flex-direction:column;gap:.5rem}.alva-sheet-preview-meta{font-size:.85rem;font-weight:600;color:var(--color-text-primary)}.alva-sheet-edit-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem;font-size:.82rem}.alva-sheet-edit-list li{display:flex;align-items:center;gap:.4rem;color:var(--color-text-primary)}.alva-sheet-edit-cell{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:600;color:var(--color-primary)}.alva-sheet-edit-arrow{opacity:.6}.alva-sheet-edit-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}.alva-sheet-edit-more{opacity:.7;font-style:italic}.alva-sheet-apply{margin-top:.25rem;padding:.65rem .9rem;background:linear-gradient(135deg,var(--color-primary) 0%,#8b5cf6 100%);color:#fff;border:none;border-radius:.75rem;cursor:pointer;font-size:.9rem;font-weight:600;box-shadow:0 6px 14px #6366f140;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;width:100%}.alva-sheet-apply:disabled{opacity:.7;cursor:not-allowed;box-shadow:none}.alva-sheet-apply:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 10px 18px #6366f159}.alva-sheet-apply:not(:disabled):active{transform:translateY(0)}.alva-sheet-applied{margin-top:.25rem;font-size:.85rem;font-weight:600;color:var(--color-success, #16a34a);text-align:center}.share-dialog *{box-sizing:border-box}.share-dialog-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:13000;animation:fadeIn .2s ease}.share-dialog{background:#f5f5f7;border-radius:var(--radius-xl);width:calc(100vw - 48px);height:calc(100vh - 48px);height:calc(100dvh - 48px);max-width:none;max-height:none;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:slideUp .3s ease;overflow:hidden;z-index:13001}.share-dialog-header{display:flex;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid var(--color-border);flex-shrink:0;flex-wrap:wrap;background:var(--color-bg-surface)}.share-dialog-header:has(.header-group-avatars){justify-content:flex-start}.share-dialog-header:has(.header-audience-filters){justify-content:space-between}.header-close-wrapper{flex-shrink:0;margin-left:auto}.header-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background .15s,color .15s}.header-icon-btn:hover{background:var(--color-bg-hover, #f3f4f6);color:var(--color-text-primary)}.share-dialog-title{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0;flex:1;min-width:100px}.header-audience-filters{display:flex;align-items:center;gap:10px;flex:1;justify-content:center;min-width:0}.header-audience-filters .filter-group{flex:1;min-width:0}.header-audience-error{padding:8px 24px;font-size:11px;color:#dc2626;text-align:center;background:#fee2e2;border-bottom:1px solid var(--color-border);flex-shrink:0}.header-group-avatars{display:flex;align-items:center;gap:16px;flex:1;justify-content:flex-start;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;padding:4px 0;-webkit-overflow-scrolling:touch;margin-right:12px;scroll-behavior:smooth;will-change:scroll-position}.header-group-avatars::-webkit-scrollbar{display:none}.header-close-wrapper{flex-shrink:0}.group-avatar-item{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:var(--transition-fast);flex-shrink:0;min-width:60px}.group-avatar-item:not(.selected):hover{opacity:.8}.group-avatar-item.selected .group-avatar{background:#10b981;border:2px solid #10b981}.group-avatar-item.selected{pointer-events:auto}.group-avatar-item.selected:hover{opacity:1;cursor:pointer}.group-check-icon{color:#fff;stroke-width:3}.edit-group-item{margin-left:8px}.group-avatar.edit-avatar{background:#ffffff1a!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:none!important;color:var(--color-text-secondary);box-shadow:0 2px 8px #00000014;transition:all var(--transition-fast)}.edit-group-item:hover .group-avatar.edit-avatar{background:#ffffff26!important;color:var(--color-text-primary);box-shadow:0 4px 12px #0000001f;transform:scale(1.02)}.group-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:#e2e8f0;color:#64748b;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0}.group-name-label{font-size:11px;color:var(--color-text-secondary);text-align:center;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.close-btn:hover{background:#fee2e2;color:#dc2626;box-shadow:0 4px 12px #0000001f;transform:scale(1.02)}.message-btn{background:var(--color-bg-app);border:none;color:var(--color-text-secondary);cursor:pointer;padding:8px;border-radius:var(--radius-full);transition:var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0}.message-btn:hover{background:var(--color-text-tertiary);color:#fff}.selected-count-badge{background:var(--color-primary);color:#fff;font-size:13px;font-weight:600;min-width:24px;height:24px;padding:0 6px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;line-height:1;word-break:keep-all}.selected-count-badge>*{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.attach-btn,.options-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff;border:none;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast);box-shadow:0 2px 8px #00000014;flex-shrink:0;padding:0}.attach-btn:hover,.options-btn:hover{background:#fff;color:var(--color-text-primary);box-shadow:0 4px 12px #0000001f;transform:scale(1.02)}.send-btn{background:var(--color-primary);border:none;color:#fff;cursor:pointer;padding:.625rem 1rem;border-radius:var(--radius-md);transition:var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;flex:1;min-width:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-sans);line-height:1;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.send-btn:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 2px 6px #0a84ff40;transform:translateY(-1px)}.send-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0a84ff33}.send-btn:disabled{background:#e2e8f0;color:#64748b;cursor:not-allowed;opacity:.5;transform:none;box-shadow:none}.share-search-section{padding:12px 24px;flex-shrink:0;background:#fff}.share-search-container{position:relative;width:100%}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.share-search-input{width:100%;padding:10px 12px 10px 38px;border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:14px;color:var(--color-text-primary);background:var(--color-bg-app);transition:var(--transition-fast)}.share-search-input:focus{outline:none;border-color:#404040;background:var(--color-bg-surface)}.share-search-input::-moz-placeholder{color:var(--color-text-tertiary)}.share-search-input::placeholder{color:var(--color-text-tertiary)}.share-dialog-content{display:flex;flex:1;min-height:0;overflow:hidden;height:100%}.message-input-section{flex:0 0 50%;width:50%;padding:24px;border-right:1px solid var(--color-border);background:var(--color-bg-app);display:flex;flex-direction:column;flex-shrink:0;height:100%;min-width:0}.share-content-right{flex:0 0 50%;width:50%;display:flex;flex-direction:column;min-width:0;overflow:hidden;height:100%;background:#fff;position:relative}.message-title-input{width:100%;padding:12px 16px;border:none;border-radius:var(--radius-lg);font-size:14px;color:var(--color-text-primary);background:var(--color-bg-surface);transition:var(--transition-fast);font-family:var(--font-sans);margin-bottom:12px}.message-title-input:focus{outline:none;background:var(--color-bg-surface)}.message-title-input::-moz-placeholder{color:var(--color-text-tertiary)}.message-title-input::placeholder{color:var(--color-text-tertiary)}.message-input{width:100%;flex:1;min-height:0;height:100%;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);font-size:14px;color:var(--color-text-primary);background:var(--color-bg-surface);transition:var(--transition-fast);font-family:var(--font-sans);resize:none;overflow:hidden;line-height:1.5em;margin-bottom:12px}.share-body-input-wrapper{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.share-body-history-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;cursor:pointer;background:#ffffffb3;color:var(--color-text-secondary);box-shadow:0 2px 8px #00000014;transition:all var(--transition-fast);padding:0}.share-body-history-btn:hover{background:#ffffffe6;color:var(--color-text-primary);transform:translateY(-1px)}.message-actions-row .share-body-history-btn.share-toolbar-first-row-btn{width:40px;height:40px;background:#fff;box-shadow:0 2px 8px #00000014}.message-actions-row .share-body-history-btn.share-toolbar-first-row-btn:hover{background:#fff;color:var(--color-text-primary);box-shadow:0 4px 12px #0000001f;transform:scale(1.02)}.share-body-input-wrapper .message-input{display:flex;flex-direction:column}.share-body-input-wrapper .message-input .ProseMirror{outline:none;white-space:pre-wrap;flex:1;min-height:0;overflow-y:auto;padding:16px;caret-color:var(--color-text-secondary);caret-width:2px}.share-body-input-wrapper .message-input .ProseMirror::-webkit-scrollbar{width:4px}.share-body-input-wrapper .message-input .ProseMirror::-webkit-scrollbar-thumb{background:#64748b59;border-radius:999px}.share-body-input-wrapper .message-input .ProseMirror::-webkit-scrollbar-thumb:hover{background:#64748b8c}.share-body-input-wrapper .message-input .ProseMirror::-webkit-scrollbar-track{background:#94a3b82e;border-radius:999px}.share-body-input-wrapper .message-input .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:var(--color-text-tertiary);float:left;height:0;pointer-events:none}.share-body-input-wrapper .message-input .ProseMirror div,.share-body-input-wrapper .message-input .ProseMirror p{margin:0}.share-body-input-wrapper .message-input h1{font-size:22px;font-weight:700;margin:0 0 10px;line-height:1.25em}.share-body-input-wrapper .message-input h2{font-size:18px;font-weight:700;margin:0 0 8px;line-height:1.3em}.share-body-input-wrapper .message-input h3{font-size:16px;font-weight:700;margin:0 0 6px;line-height:1.35em}.share-body-input-wrapper .message-input color,.share-body-input-wrapper .message-input c{display:inline}.share-body-input-wrapper .message-input a{color:#2563eb!important;text-decoration:underline;text-underline-offset:2px;text-decoration-color:#2563eb}.share-body-input-wrapper .message-input a:visited{color:#2563eb!important}.share-body-input-wrapper .message-input a color,.share-body-input-wrapper .message-input a c,.share-body-input-wrapper .message-input a b,.share-body-input-wrapper .message-input a i,.share-body-input-wrapper .message-input a s{color:inherit!important}.share-body-input-wrapper .message-input color[value=red],.share-body-input-wrapper .message-input c[value=red]{color:#ef4444}.share-body-input-wrapper .message-input color[value=green],.share-body-input-wrapper .message-input c[value=green]{color:#10b981}.share-body-input-wrapper .message-input color[value=amber],.share-body-input-wrapper .message-input c[value=amber]{color:#f59e0b}.share-body-input-wrapper .message-input color[value=gray],.share-body-input-wrapper .message-input c[value=gray]{color:#6b7280}.share-body-input-wrapper .message-input color[value=pink],.share-body-input-wrapper .message-input c[value=pink]{color:#ec4899}.attached-files-section{margin-bottom:12px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.attached-files-header{padding:10px 14px;background:var(--color-bg-app);border-bottom:1px solid var(--color-border)}.attached-files-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:var(--color-text-secondary)}.attached-files-section .unified-attachments{display:flex;flex-wrap:nowrap;align-items:flex-start;gap:4px;padding:6px 8px;overflow-x:auto;overflow-y:hidden;border-radius:var(--radius-md);scrollbar-width:thin}.attached-files-section .unified-attachments.flex-mode.count-1{max-width:200px}.attached-files-section .unified-attachments.flex-mode.count-2 .unified-preview-item,.attached-files-section .unified-attachments.flex-mode.count-3 .unified-preview-item,.attached-files-section .unified-attachments.flex-mode.count-4 .unified-preview-item,.attached-files-section .unified-attachments.flex-mode.count-5 .unified-preview-item{width:72px;flex-shrink:0}.attached-files-section .unified-attachments::-webkit-scrollbar{height:6px}.attached-files-section .unified-attachments::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.attached-files-section .unified-attachments::-webkit-scrollbar-track{background:transparent}.attached-files-section .unified-preview-item{position:relative;width:72px;height:72px;min-width:72px;min-height:72px;flex-shrink:0;background:var(--color-bg-nested);border-radius:var(--radius-sm);overflow:hidden;cursor:default;transition:transform .2s ease,opacity .2s ease}.attached-files-section .unified-preview-item:hover{transform:scale(1.02)}.attached-files-section .unified-preview-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.attached-files-section .unified-preview-item .preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:.25rem 2px;gap:.2rem;text-align:center;background:var(--color-bg-app);color:#9ca3af}.attached-files-section .unified-preview-item.type-video .preview-placeholder,.attached-files-section .unified-preview-item.type-file .preview-placeholder{background:var(--color-bg-app);color:#9ca3af}.attached-files-section .unified-preview-item .placeholder-icon{display:flex;align-items:center;justify-content:center;opacity:1}.attached-files-section .unified-preview-item .placeholder-filename{font-size:.625rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px;opacity:.9}.attached-files-section .share-attach-remove-btn{position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:#0000008c;border:none;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;z-index:10;opacity:0;transition:opacity var(--transition-fast)}.attached-files-section .unified-preview-item:hover .share-attach-remove-btn{opacity:1}.attached-files-section .share-attach-remove-btn:hover{background:#dc2626;color:#fff}.attached-files-section .share-attach-remove-btn svg{color:inherit;stroke:currentColor}.file-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-name{font-size:13px;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{font-size:11px;color:var(--color-text-tertiary)}.remove-file-btn{background:transparent;border:none;width:22px;height:22px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;padding:0}.remove-file-btn:hover{background:#fee2e2;color:#dc2626}.file-error-message{padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:#dc2626;font-size:12px;margin-bottom:12px;text-align:center;display:flex;align-items:center;justify-content:center;position:relative;gap:8px}.file-error-message span{flex:1;text-align:center}.file-error-close-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#dc2626;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);transition:all var(--transition-fast);flex-shrink:0;width:20px;height:20px}.file-error-close-btn:hover{background:#fee2e2;color:#991b1b}.attach-btn{position:relative}.attach-count{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;background:var(--color-primary);color:#fff;font-size:10px;font-weight:600;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center}.message-actions{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:10px;flex-shrink:0;min-width:0}.message-actions-row{display:flex;align-items:center;gap:12px;flex-shrink:0;min-width:0}.message-actions-row>button:not(.btn-primary),.message-actions-row>.options-dropdown-container{flex-shrink:0}.message-actions-row>.btn.btn-primary{display:flex!important;flex:1 1 0!important;min-width:0!important;overflow:hidden!important;white-space:normal!important}.message-actions-toolbar{display:flex;align-items:center;justify-content:flex-start;padding:0;background:transparent;border:none;border-radius:0;flex-shrink:0}.share-toolbar-scroll-row{display:flex;align-items:center;gap:10px;width:100%;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:thin}.share-toolbar-scroll-row>*{flex:0 0 auto}.share-toolbar-scroll-row::-webkit-scrollbar{height:4px}.share-toolbar-scroll-row::-webkit-scrollbar-thumb{background:#64748b59;border-radius:999px}.share-toolbar-scroll-row::-webkit-scrollbar-thumb:hover{background:#64748b8c}.share-toolbar-scroll-row::-webkit-scrollbar-track{background:#94a3b82e;border-radius:999px}.share-toolbar-divider{width:1px;height:22px;background:var(--color-border);flex:0 0 1px}.format-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff;border:none;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast);box-shadow:0 2px 8px #00000014;flex-shrink:0;padding:0}.format-btn:hover{background:#fff;color:var(--color-text-primary);box-shadow:0 4px 12px #0000001f;transform:scale(1.02)}.format-btn.active{background:#6366f12e;color:var(--color-text-primary);box-shadow:0 4px 12px #6366f12e}.formatting-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.formatting-item{width:34px;height:34px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-bg-app);color:var(--color-text-primary);font-size:12px;font-weight:700;cursor:pointer;transition:var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;padding:0}.formatting-item:hover{background:var(--color-primary-light);border-color:#6366f14d}.formatting-item.active{background:#6366f124;border-color:#6366f18c;color:var(--color-text-primary)}.formatting-icon-item{width:34px;height:34px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-bg-app);color:var(--color-text-primary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-fast)}.formatting-icon-item:hover{background:var(--color-primary-light);border-color:#6366f14d}.formatting-color-item{width:34px;height:34px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-bg-app);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-fast);position:relative}.formatting-icon-item.active{background:#6366f124;border-color:#6366f18c;color:var(--color-text-primary)}.formatting-color-item:hover{background:var(--color-primary-light);border-color:#6366f14d}.formatting-color-item.active{border-color:#6366f1a6}.formatting-color-swatch{width:14px;height:14px;border-radius:50%}.formatting-selected-check{position:absolute;width:14px;height:14px;color:#fff;stroke-width:3;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.formatting-color-swatch.red{background:#ef4444}.formatting-color-swatch.green{background:#10b981}.formatting-color-swatch.amber{background:#f59e0b}.formatting-color-swatch.gray{background:#6b7280}.formatting-color-swatch.pink{background:#ec4899}.formatting-divider{height:1px;background:var(--color-border);margin:10px 0}.alva-ai-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff;border:none;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast);box-shadow:0 2px 8px #00000014;flex-shrink:0;padding:0}.alva-ai-btn:hover{background:#fff;color:var(--color-text-primary);box-shadow:0 4px 12px #0000001f;transform:scale(1.02)}.alva-ai-btn.active{background:linear-gradient(135deg,var(--color-primary) 0%,#8b5cf6 100%);color:#fff;box-shadow:0 4px 12px #6366f166}.alva-ai-btn.active:hover{background:linear-gradient(135deg,var(--color-primary-hover) 0%,#7c3aed 100%);box-shadow:0 4px 12px #6366f180}.alva-undo-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff;border:none;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast);box-shadow:0 2px 8px #00000014;flex-shrink:0;padding:0}.alva-undo-btn:hover:not(:disabled){background:#fff;color:var(--color-text-primary);box-shadow:0 4px 12px #0000001f;transform:scale(1.02)}.alva-undo-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.options-dropdown-container{position:relative;flex-shrink:0;margin-right:auto}.options-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff;border:none;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast);box-shadow:0 2px 8px #00000014;flex-shrink:0;padding:0}.options-btn:hover{background:#fff;color:var(--color-text-primary);box-shadow:0 4px 12px #0000001f;transform:scale(1.02)}.options-dropdown-menu{position:absolute;bottom:calc(100% + 8px);left:0;min-width:180px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;padding:8px;animation:fadeIn .2s ease}.options-dropdown-section{margin-bottom:8px}.options-dropdown-section:last-child{margin-bottom:0}.options-dropdown-label{font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:6px 12px 4px;margin-bottom:4px}.options-dropdown-options{display:flex;flex-direction:column;gap:2px}.options-dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:14px;color:var(--color-text-primary);cursor:pointer;transition:var(--transition-fast);border-radius:var(--radius-md);gap:8px}.options-dropdown-item:hover{background:var(--color-primary-light);color:var(--color-text-primary)}.options-dropdown-item.selected{background:var(--color-primary-light);color:var(--color-text-primary);font-weight:500}.options-dropdown-item.selected svg{color:var(--color-text-primary);flex-shrink:0}.options-chips-container{display:flex;flex-wrap:wrap;gap:6px;padding:4px 0}.option-chip{display:inline-flex;align-items:center;justify-content:center;padding:6px 12px;font-size:13px;font-weight:500;color:var(--color-text-secondary);background:var(--color-bg-app);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.option-chip:hover{background:var(--color-primary-light);color:var(--color-text-primary);border-color:var(--color-primary)}.option-chip.selected{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.options-dropdown-divider{height:1px;background:var(--color-border);margin:8px 0}.options-dropdown-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px}.options-dropdown-row .options-dropdown-label{padding:0;margin:0;text-transform:none;font-size:14px;font-weight:500;color:var(--color-text-primary)}.notify-toggle{position:relative;width:44px;height:24px;background:#e2e8f0;border-radius:12px;cursor:pointer;transition:background .2s ease;flex-shrink:0}.notify-toggle.active{background:var(--color-primary)}.notify-toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 2px 4px #00000026;transition:transform .2s ease}.notify-toggle.active .notify-toggle-thumb{transform:translate(20px)}.share-alva-overlay{position:absolute;inset:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:1000;display:none;align-items:center;justify-content:flex-end;animation:none}.share-alva-overlay.open{display:flex}.share-alva-container{width:100%;max-width:none;height:100%;max-height:100%;background:var(--color-bg-surface);border-left:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;animation:none;box-shadow:-6px 0 24px #00000014}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.share-alva-container .alva-assistant{position:relative!important;inset:0 0 auto auto!important;width:100%!important;height:100%!important;max-height:100%!important;max-width:100%!important;min-height:0!important;min-width:0!important;transform:none!important;box-shadow:none!important;border:none!important;border-radius:0!important;background:var(--color-bg-surface)!important;overflow:hidden!important;box-sizing:border-box!important;margin:0!important;padding:0!important;z-index:auto!important}.share-alva-container .alva-overlay{display:none!important}.message-input::-webkit-scrollbar{display:none}.message-input:focus{outline:none;border-color:#404040;background:var(--color-bg-surface)}.message-input::-moz-placeholder{color:var(--color-text-tertiary)}.message-input::placeholder{color:var(--color-text-tertiary)}.share-tabs{display:flex;gap:0;padding:0 24px;border-bottom:1px solid var(--color-border);flex-shrink:0;background:#fff}.tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 16px;border:none;background:transparent;font-size:15px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:var(--transition-fast);position:relative;border-bottom:1px solid transparent}.tab-btn:hover{color:var(--color-text-primary)}.tab-btn.active{color:var(--color-text-primary);border-bottom:.5px solid var(--color-primary)}.select-audience-section{padding:12px 24px;border-bottom:1px solid var(--color-border);flex-shrink:0;background:var(--color-bg-app)}.audience-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.filter-group{display:flex;flex-direction:column}.audience-select{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:14px;color:var(--color-text-primary);background:var(--color-bg-surface);cursor:pointer;transition:var(--transition-fast);font-family:var(--font-sans);text-align:center;-moz-text-align-last:center;text-align-last:center;-webkit-appearance:none;-moz-appearance:none;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='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}.audience-select:hover{border-color:var(--color-text-tertiary)}.audience-select:focus{outline:none;border-color:var(--color-primary)}.audience-select option{text-align:left;padding:8px 12px;border-radius:var(--radius-md)}.audience-select option:hover{background:var(--color-primary-light);color:var(--color-text-primary)}.audience-select option:checked{background:var(--color-primary-light);color:var(--color-text-primary)}.custom-dropdown{position:relative;width:100%}.custom-dropdown-button{width:100%;padding:8px 32px 8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:14px;color:var(--color-text-primary);background:var(--color-bg-surface);cursor:pointer;transition:var(--transition-fast);font-family:var(--font-sans);display:flex;align-items:center;justify-content:center;position:relative;min-width:0;overflow:hidden}.custom-dropdown-button:hover:not(:disabled){border-color:var(--color-text-tertiary)}.custom-dropdown-button:disabled{cursor:not-allowed;opacity:.5;background:var(--color-bg-app)}.custom-dropdown.disabled .custom-dropdown-button{cursor:not-allowed;opacity:.5;background:var(--color-bg-app)}.custom-dropdown-text{text-align:center;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.custom-dropdown-icon{position:absolute;right:12px;color:var(--color-text-tertiary);transition:var(--transition-fast);flex-shrink:0}.custom-dropdown-text.placeholder{color:var(--color-text-tertiary)}.custom-dropdown-icon.open{transform:rotate(180deg)}.custom-dropdown-list{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;width:-moz-max-content;width:max-content;max-width:300px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;max-height:200px;overflow-y:auto;margin-top:4px;scrollbar-width:none;-ms-overflow-style:none}.custom-dropdown-list::-webkit-scrollbar{display:none}.custom-dropdown-item{padding:10px 16px;font-size:14px;color:var(--color-text-primary);cursor:pointer;transition:var(--transition-fast);text-align:left}.custom-dropdown-item:first-child{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.custom-dropdown-item:last-child{border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.custom-dropdown-item:hover{background:var(--color-primary-light);color:var(--color-text-primary)}.custom-dropdown-item.selected{background:var(--color-primary-light);color:var(--color-text-primary);font-weight:500}.audience-error{margin-top:6px;font-size:11px;color:#dc2626;text-align:center}.share-user-list{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:8px 24px 0;min-height:0;scrollbar-width:none;-ms-overflow-style:none;background:#fff}.share-user-list::-webkit-scrollbar{display:none}.share-dialog-content{scrollbar-width:none;-ms-overflow-style:none}.share-dialog-content::-webkit-scrollbar{display:none}.share-content-right{scrollbar-width:none;-ms-overflow-style:none}.share-content-right::-webkit-scrollbar{display:none}.empty-state{display:flex;align-items:center;justify-content:center;height:200px;color:var(--color-text-tertiary);font-size:14px}.user-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);margin-bottom:4px}.user-item:hover{background:var(--color-bg-app)}.user-item.selected{background:var(--color-primary-light)}.user-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--color-bg-app);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);flex-shrink:0;font-weight:600;font-size:16px}.user-avatar.admin-avatar{background:#607d8b;color:#fff;width:40px;height:40px;border-radius:var(--radius-full);font-weight:600;font-size:16px}.user-avatar.student-avatar{background:#3b82f6;color:#fff;width:40px;height:40px;border-radius:var(--radius-full);font-weight:600;font-size:16px}.user-avatar.group-avatar{background:#8b5cf6;color:#fff;width:40px;height:40px;border-radius:var(--radius-full)}.user-avatar.dm-avatar{background:#0d9488;color:#fff;width:40px;height:40px;border-radius:var(--radius-full);font-weight:600;font-size:14px}.user-item.selected .user-avatar.group-avatar{background:#7c3aed;color:#fff}.user-item.selected .user-avatar.dm-avatar{background:#0f766e;color:#fff}.user-item.selected .user-avatar.admin-avatar{background:#607d8b;color:#fff}.user-item.selected .user-avatar.student-avatar{background:#3b82f6;color:#fff}.user-info{flex:1;min-width:0}.user-name{font-size:14px;font-weight:500;color:var(--color-text-primary);margin-bottom:2px}.user-meta{font-size:12px;color:var(--color-text-secondary)}.user-checkbox{width:24px;height:24px;border-radius:var(--radius-full);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;transition:var(--transition-fast)}.user-item.selected .user-checkbox{background:var(--color-primary);border-color:var(--color-primary)}.edit-groups-overlay{position:absolute;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.edit-groups-dialog{background:var(--color-bg-surface);border-radius:var(--radius-xl);width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:slideUp .3s ease;overflow:hidden}.edit-groups-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border);flex-shrink:0}.edit-groups-header h3{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0}.edit-groups-header-actions{display:flex;align-items:center;gap:8px}.add-group-header-btn{background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);cursor:pointer;padding:8px;transition:all var(--transition-fast);box-shadow:0 2px 8px #00000014;flex-shrink:0}.add-group-header-btn:hover{background:#ffffff26;color:var(--color-text-primary);box-shadow:0 4px 12px #0000001f;transform:scale(1.02)}.save-groups-btn{background:var(--color-primary);border:none;color:#fff;cursor:pointer;padding:8px 16px;border-radius:var(--radius-lg);transition:var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:500;font-family:var(--font-sans);flex-shrink:0}.save-groups-btn:hover{background:var(--color-primary);opacity:.9;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.edit-groups-footer{padding:16px 24px;border-top:1px solid var(--color-border);flex-shrink:0}.save-groups-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-lg);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition-fast);font-family:var(--font-sans)}.edit-groups-list{flex:1;overflow-y:auto;overflow-x:visible;padding:12px;min-height:0;scrollbar-width:none;-ms-overflow-style:none;position:relative}.edit-groups-list::-webkit-scrollbar{display:none}.edit-group-item-container{margin-bottom:12px;border:none;border-radius:12px;background:#ffffffb3;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 8px 30px #0000000a;overflow:visible;position:relative;transition:all .4s cubic-bezier(.22,1,.36,1)}.edit-group-item-container.dropdown-open{z-index:20}.group-drag-handle{display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);cursor:grab;padding:4px;flex-shrink:0;transition:all var(--transition-fast);background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:50%;width:28px;height:28px;box-shadow:0 2px 8px #00000014}.group-drag-handle:active{cursor:grabbing}.group-drag-handle:hover{background:#ffffff26;color:var(--color-text-primary);box-shadow:0 4px 12px #0000001f;transform:scale(1.02)}.edit-group-item-row{display:flex;align-items:center;gap:12px;padding:12px;transition:var(--transition-fast);position:relative}.edit-group-item-container:hover{transform:translateY(-2px) scale(1.005);background:#fffc;box-shadow:0 8px 30px #00000014}.edit-group-item-row:hover{background:transparent}.edit-group-item-row.dragging{opacity:.5}.edit-group-item-row:not(.dragging){cursor:default}.edit-group-item-row .group-drag-handle{cursor:grab}.accordion-toggle{background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;color:var(--color-text-secondary);cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0;width:28px;height:28px;box-shadow:0 2px 8px #00000014}.accordion-toggle:hover{background:#ffffff26;color:var(--color-text-primary);box-shadow:0 4px 12px #0000001f;transform:scale(1.02)}.group-item-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:#e2e8f0;color:#64748b;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0}.group-item-name{flex:1;font-size:14px;color:var(--color-text-primary);cursor:pointer;padding:4px 8px;border-radius:var(--radius-md);transition:var(--transition-fast)}.group-item-name:hover{background:var(--color-bg-surface)}.group-rename-input{flex:1;padding:6px 12px;border:1px solid var(--color-primary);border-radius:var(--radius-md);font-size:14px;color:var(--color-text-primary);background:var(--color-bg-surface);font-family:var(--font-sans)}.group-rename-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.group-item-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.action-btn{background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;color:var(--color-text-secondary);cursor:pointer;padding:6px;border-radius:50%;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;box-shadow:0 2px 8px #00000014}.action-btn.delete-btn{border:none;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.action-btn:hover:not(:disabled){background:#ffffff26;color:var(--color-text-primary);box-shadow:0 4px 12px #0000001f;transform:scale(1.02)}.action-btn:disabled{opacity:.4;cursor:not-allowed}.action-btn.delete-btn:hover:not(:disabled){background:#fee2e2;color:#dc2626;box-shadow:0 4px 12px #0000001f;transform:scale(1.02)}.group-admins-section{padding:12px;border-top:1px solid var(--color-border);background:var(--color-bg-surface)}.no-admin-message{padding:16px;text-align:center;color:var(--color-text-tertiary);font-size:13px;font-style:italic;display:flex;align-items:center;justify-content:center;width:100%}.group-admins-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.admin-badge{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--color-bg-app);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:12px;transition:var(--transition-fast)}.admin-badge:hover{background:var(--color-bg-surface);border-color:var(--color-text-tertiary)}.admin-avatar-small{width:24px;height:24px;border-radius:var(--radius-full);background:#607d8b;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:11px;flex-shrink:0}.admin-name-small{color:var(--color-text-primary);font-size:12px;white-space:nowrap}.remove-admin-btn{background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 2px 8px #00000014;flex-shrink:0;padding:0;margin-left:2px}.remove-admin-btn:hover{background:#fee2e2;color:#dc2626;box-shadow:0 4px 12px #0000001f;transform:scale(1.02)}.add-admin-container{position:relative}.add-admin-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--color-bg-app);border:1px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:12px;cursor:pointer;transition:var(--transition-fast)}.add-admin-btn:hover:not(:disabled){background:var(--color-bg-surface);border-color:var(--color-primary);color:var(--color-text-primary)}.add-admin-btn:disabled{opacity:.5;cursor:not-allowed}.add-admin-dropdown{position:absolute;top:100%;left:0;right:0;width:100%;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:10002;max-height:200px;overflow-y:auto;margin-top:4px;scrollbar-width:none;-ms-overflow-style:none}.add-admin-dropdown::-webkit-scrollbar{display:none}.add-admin-option{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;transition:var(--transition-fast);border-bottom:1px solid var(--color-border)}.add-admin-option:last-child{border-bottom:none}.add-admin-option:hover:not(.disabled){background:var(--color-primary-light)}.add-admin-option.disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-app)}.add-admin-option.disabled:hover{background:var(--color-bg-app)}.add-admin-option .admin-info{flex:1;min-width:0}.add-admin-option .admin-name{font-size:13px;font-weight:500;color:var(--color-text-primary);margin-bottom:2px}.add-admin-option .admin-role{font-size:11px;color:var(--color-text-secondary)}.admin-in-group-badge{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);background:#10b981;color:#fff;flex-shrink:0}@media(max-width:768px){.share-dialog{max-width:95%}.message-input-section{padding:16px}.message-input{min-height:120px}}@media(max-width:640px){.share-dialog{width:95%;height:90vh;height:90dvh;max-height:90vh;max-height:90dvh}.share-dialog-header{padding:12px 20px;flex-direction:column;align-items:flex-start;gap:12px}.share-dialog-title{width:100%}.header-audience-filters{width:100%;justify-content:flex-start;flex-wrap:wrap}.header-audience-filters .filter-group{flex:1;min-width:80px;max-width:none}.header-audience-error{padding:8px 20px}.message-input-section{padding:12px 16px;min-height:120px}.message-input{min-height:100px}.share-tabs{padding:0 20px}.share-search-section{padding:10px 20px}.header-group-avatars{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:12px}.group-avatar-item{min-width:60px}.select-audience-section{padding:10px 20px}.audience-filters{grid-template-columns:1fr;gap:8px}.share-user-list{padding:8px 20px 0}}.share-toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:500;font-family:var(--font-sans);box-shadow:0 8px 30px #0000002e;z-index:100001;animation:shareToastIn .3s ease;pointer-events:auto;max-width:90vw}.share-toast-success{background:#065f46;color:#d1fae5}.share-toast-error{background:#7f1d1d;color:#fecaca}.share-toast-close{background:none;border:none;color:inherit;cursor:pointer;opacity:.7;padding:2px;display:flex;align-items:center;transition:opacity .15s}.share-toast-close:hover{opacity:1}@keyframes shareToastIn{0%{opacity:0;transform:translate(-50%) translateY(16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.share-route-errors{width:100%;display:flex;flex-direction:column;gap:4px;padding:8px 0 0}.route-error-item{font-size:12px;color:#dc2626;line-height:1.4;padding:4px 0}.upload-ring-overlay{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;border-radius:inherit;overflow:hidden}.upload-shimmer{position:absolute;inset:0;background:#00000059;border-radius:inherit}.upload-shimmer:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.12) 50%,transparent 70%);animation:shimmer-sweep 1.8s ease-in-out infinite}@keyframes shimmer-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.upload-ring-svg{position:relative;z-index:2;filter:drop-shadow(0 1px 3px rgba(0,0,0,.3))}.upload-ring-pct{position:absolute;z-index:3;font-size:10px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5);letter-spacing:.02em}.unified-preview-item.clickable{cursor:pointer}.unified-preview-item.clickable:hover{opacity:.85;transition:opacity .15s ease}.unified-preview-item.upload-failed{outline:2px solid #ef4444;outline-offset:-2px;opacity:.7}.btn-retry{background:#dc2626!important;border-color:#dc2626!important}.btn-retry:hover:not(:disabled){background:#b91c1c!important}.thin-scrollbar{scrollbar-width:thin;scrollbar-color:#e5e7eb transparent}.thin-scrollbar::-webkit-scrollbar{width:3px;height:3px}.thin-scrollbar::-webkit-scrollbar-track{background:transparent}.thin-scrollbar::-webkit-scrollbar-thumb{background-color:#e5e7eb;border-radius:4px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#d1d5db}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none;width:0;height:0}.icon-btn-circle{border:none;background:transparent;color:#6b7280;cursor:pointer;width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.icon-btn-circle:hover{background:#f3f4f6;color:#111827}.icon-btn-circle.icon-btn-danger:hover{background:#fee2e2;color:#dc2626}input.no-spinner::-webkit-outer-spin-button,input.no-spinner::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input.no-spinner{-moz-appearance:textfield}.ss-trigger{position:relative;display:flex;align-items:center;gap:8px;width:100%;min-height:48px;padding:0 14px;border:1.5px solid #D1D4DB;border-radius:var(--card-radius, 14px);background:#fff;cursor:pointer;transition:all .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box}.ss-trigger:hover{border-color:#aeb4c2}.ss-trigger:focus-visible{outline:none;border-color:#aeb4c2;box-shadow:0 0 0 3px #aeb4c21a}.ss-trigger-disabled{opacity:1;background:#f9fafb;border-color:#e5e7eb;cursor:not-allowed;pointer-events:auto}.ss-trigger-disabled:hover{border-color:#e5e7eb;cursor:not-allowed}.ss-trigger-value{flex:1;font-size:.85rem;color:var(--color-text-primary, #1f2937);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:10px 0;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:0}.ss-trigger-value-two-line{white-space:normal}.ss-trigger-value-two-line .ss-trigger-value-title,.ss-trigger-value-two-line .ss-trigger-value-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-trigger-value-sub{font-size:.75rem;color:var(--color-text-secondary, #9ca3af);margin-top:1px}.ss-trigger-value-title{display:block;min-width:0}.ss-trigger-value:not(.ss-trigger-value-two-line) .ss-trigger-value-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-trigger-chevron{flex-shrink:0;color:var(--color-text-secondary, #9ca3af);margin-left:auto}.ss-trigger-clear{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:50%;background:var(--color-bg-hover, #f3f4f6);color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:background .15s}.ss-trigger-clear:hover{background:#e5e7eb;color:var(--color-text-primary)}.ss-trigger-label{position:absolute;top:50%;left:14px;transform:translateY(-50%);font-size:14px;color:#6b7280;pointer-events:none;transition:all .15s ease;padding:0 4px;font-weight:400;line-height:1;z-index:1}.ss-trigger-label-float{top:-1px;left:10px;font-size:12px;color:#1a1a1a;font-weight:500;background:#fff}.ss-modal{max-width:420px;padding:0!important;display:flex;flex-direction:column;height:80vh}.ss-header{display:flex;align-items:center;justify-content:space-between;padding:18px 16px 6px 20px}.ss-header-title{font-size:1.05rem;font-weight:600;color:var(--color-text-primary, #111827);margin:0}.ss-header-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:var(--color-text-secondary, #6b7280);cursor:pointer;transition:background .12s,color .12s}.ss-header-close:hover{background:var(--color-bg-hover, #f3f4f6);color:var(--color-text-primary)}.ss-tabs-area{padding:0 16px}.ss-tabs-pill{display:flex;align-items:center;gap:4px;background:#f3f4f6;border-radius:32px;padding:6px}.ss-tab-btn{flex:1;padding:.6rem 1rem;font-size:.9rem;font-weight:600;color:var(--color-text-secondary, #6b7280);background:transparent;border:none;border-radius:26px;cursor:pointer;transition:all .2s;white-space:nowrap;text-align:center}.ss-tab-btn:hover:not(.ss-tab-active){color:var(--color-text-primary, #374151);background:#ffffff80}.ss-tab-active{background:var(--color-primary, #3b82f6);color:#fff;font-weight:600;box-shadow:0 2px 4px #0000001a}.ss-search-area{padding:8px 16px 4px}.ss-search-pill{position:relative;display:flex;align-items:center}.ss-search-pill-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary, #9ca3af);pointer-events:none}.ss-search-pill input,.ss-search-pill input[type=text]{width:100%;padding:10px 16px 10px 40px;font-size:.85rem;color:var(--color-text-primary, #1f2937);background:#fff;border:none!important;border-radius:1.5rem!important;outline:none;box-shadow:0 0 12px #00000014;transition:box-shadow .15s;height:auto}.ss-search-pill input::-moz-placeholder,.ss-search-pill input[type=text]::-moz-placeholder{color:var(--color-text-tertiary, #9ca3af);opacity:1}.ss-search-pill input::placeholder,.ss-search-pill input[type=text]::placeholder{color:var(--color-text-tertiary, #9ca3af);opacity:1}.ss-search-pill input:focus,.ss-search-pill input[type=text]:focus{border:none!important;box-shadow:0 2px 10px #00000014}.ss-results{flex:1;overflow-y:auto;padding:8px 16px 0;overscroll-behavior:contain;-ms-overflow-style:none;scrollbar-width:none;min-height:0}.ss-results::-webkit-scrollbar{display:none}.ss-user-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:9999px;cursor:pointer;transition:background .12s;margin-bottom:4px}.ss-user-item:hover,.ss-user-item.ss-user-item-hl{background:var(--color-bg-app, #f3f4f6)}.ss-user-item.selected{background:var(--color-primary-light, rgba(59, 130, 246, .08))}.ss-user-avatar{width:40px;height:40px;border-radius:9999px;background:#3b82f6;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0;overflow:hidden}.ss-user-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:9999px}.ss-user-info{flex:1;min-width:0}.ss-user-name{font-size:14px;font-weight:500;color:var(--color-text-primary, #1f2937);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-user-meta{font-size:12px;color:var(--color-text-secondary, #9ca3af);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-user-checkbox{width:24px;height:24px;border-radius:9999px;border:2px solid var(--color-border, #e5e7eb);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;transition:background .12s,border-color .12s}.ss-user-item.selected .ss-user-checkbox{background:var(--color-primary, #3b82f6);border-color:var(--color-primary, #3b82f6)}.ss-empty{display:flex;align-items:center;justify-content:center;height:200px;font-size:.85rem;color:var(--color-text-tertiary, #9ca3af)}@keyframes ss-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ss-shimmer-bg{background:linear-gradient(90deg,#e5e5e5,#f0f0f0,#e5e5e5);background-size:200% 100%;animation:ss-shimmer 1.5s ease-in-out infinite}.ss-shimmer-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:9999px;margin-bottom:4px}.ss-shimmer-avatar{width:40px;height:40px;border-radius:9999px;flex-shrink:0}.ss-shimmer-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.ss-shimmer-line{height:14px;border-radius:4px;width:70%}.ss-shimmer-line.short{width:50%}.ss-sentinel{min-height:1px;padding:0;pointer-events:none}.ss-header-done-btn{display:flex;align-items:center;justify-content:center;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;background:#16a34a!important;color:#fff!important;border:none!important;border-radius:50%!important}.ss-header-done-btn:hover{background:#15803d!important}.ss-header-add-btn{display:flex;align-items:center;justify-content:center;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;padding:0!important;background:#f3f4f6!important;color:#374151!important;border:none!important;border-radius:50%!important}.ss-header-add-btn:hover{background:#e5e7eb!important;color:#111827!important}.ss-inline-container{display:flex;flex-direction:column;flex:1;min-height:0}.ss-inline-container .ss-tabs-area,.ss-inline-container .ss-search-area{padding:0 0 8px}.ss-inline-container .ss-results{flex:1;overflow-y:auto;padding:0}.data-table{background:var(--color-bg-surface, #ffffff);border-radius:var(--card-radius, 14px);padding:0;min-width:0;position:relative}.data-table-scroll-area{overflow-x:auto;overflow-y:visible;min-width:0;scrollbar-width:none;-ms-overflow-style:none}.data-table-scroll-area::-webkit-scrollbar{display:none}.data-table-sticky-scrollbar{position:sticky;bottom:0;overflow-x:auto;overflow-y:hidden;height:0;opacity:0;pointer-events:none;background:var(--color-bg-surface, #ffffff);border-top:1px solid var(--color-border, #e5e7eb);border-bottom-left-radius:var(--card-radius, 14px);border-bottom-right-radius:var(--card-radius, 14px);z-index:11;scrollbar-width:thin;transition:opacity .15s ease}.data-table-sticky-scrollbar.has-overflow{height:14px;opacity:1;pointer-events:auto}.data-table-sticky-scrollbar::-webkit-scrollbar{height:10px}.data-table-sticky-scrollbar::-webkit-scrollbar-track{background:transparent}.data-table-sticky-scrollbar::-webkit-scrollbar-thumb{background:#0003;border-radius:5px}.data-table-sticky-scrollbar::-webkit-scrollbar-thumb:hover{background:#00000059}.data-table table{width:100%;border-collapse:separate;border-spacing:0}.data-table thead tr.data-table-row-header{font-weight:600;color:var(--text-secondary)}.data-table-sticky-header thead tr.data-table-row-header th{position:sticky;top:0;z-index:10}.data-table thead th.data-table-cell{padding:.75rem;border-right:1px solid var(--color-border, #e5e7eb);border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-bg-surface, #ffffff);text-align:left;font-size:.95rem;font-weight:600;color:var(--text-secondary);vertical-align:middle;white-space:nowrap;max-width:280px}.data-table thead th.data-table-cell:first-child{border-top-left-radius:var(--card-radius, 14px)}.data-table thead th.data-table-cell:last-child{border-right:none;border-top-right-radius:var(--card-radius, 14px)}.data-table tbody tr.data-table-row{transition:background-color .15s ease}.data-table tbody tr.data-table-row-clickable{cursor:pointer}.data-table tbody tr.data-table-row-clickable:hover td{background-color:var(--color-hover, rgba(0, 0, 0, .02))}.data-table tbody tr.data-table-row-clickable:focus{outline:none}.data-table tbody tr.data-table-row-clickable:focus td{background-color:var(--color-focus, rgba(0, 0, 0, .04))}.data-table tbody tr.data-table-row-clickable:focus-visible{outline:2px solid var(--color-primary, #0A84FF);outline-offset:-2px}.data-table tbody tr.data-table-row-clickable:active td{background-color:var(--color-active, rgba(0, 0, 0, .06))}.data-table tbody td.data-table-cell{padding:.75rem;border-right:1px solid var(--color-border, #e5e7eb);border-bottom:1px solid var(--color-border, #e5e7eb);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.95rem;color:var(--text-primary);vertical-align:middle;max-width:280px}.data-table tbody td.data-table-cell>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%}.data-table tbody tr:last-child td.data-table-cell{border-bottom:none}.data-table td.data-table-cell:last-child,.data-table th.data-table-cell:last-child{border-right:none}.data-table tbody tr:nth-child(odd) td.data-table-cell{background-color:#00000004}.data-table tbody tr.data-table-row-clickable:nth-child(odd):hover td.data-table-cell{background-color:var(--color-hover, rgba(0, 0, 0, .03))}td.data-table-cell.data-table-cell-action,th.data-table-cell.data-table-cell-action{text-align:center;width:60px}td.data-table-cell.data-table-cell-action{padding:0}td.data-table-cell.data-table-cell-action>*{display:flex;align-items:center;justify-content:center;width:100%;height:100%;white-space:normal}.data-table-sort-header{display:inline-flex;align-items:center;gap:.75rem;border:none;background:transparent;padding:0;cursor:pointer;color:var(--text-primary, #111827);font-weight:600;font-family:inherit;font-size:inherit;transition:opacity .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;justify-content:space-between;position:relative;white-space:nowrap}.data-table-sort-label{display:inline-flex;align-items:center;min-width:0}.data-table-sort-icons{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:0 0 auto}.data-table-sort-triangle{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;opacity:.65}.data-table-sort-triangle.up{border-bottom:6px solid rgba(107,114,128,.65)}.data-table-sort-triangle.down{border-top:6px solid rgba(107,114,128,.65)}.data-table-sort-triangle.is-active{opacity:1}.data-table-sort-triangle.up.is-active{border-bottom-color:var(--color-primary, #0A84FF)}.data-table-sort-triangle.down.is-active{border-top-color:var(--color-primary, #0A84FF)}.data-table-sort-header.is-active{color:var(--text-primary, #1a1a1a)}.data-table-shimmer-row td.data-table-cell{padding:.75rem;border-right:1px solid var(--color-border, #e5e7eb);border-bottom:1px solid var(--color-border, #e5e7eb);vertical-align:middle}.data-table-shimmer-row td.data-table-cell:last-child{border-right:none}.data-table-shimmer-cell{height:18px;width:70%;background:linear-gradient(90deg,#e5e5e5,#f0f0f0,#e5e5e5);background-size:200% 100%;border-radius:4px;animation:shimmer 1.5s ease-in-out infinite}.data-table-shimmer-cell.action{width:24px;height:24px;flex-shrink:0;border-radius:6px;margin-left:auto}.data-table-empty-td{border:none!important;padding:0!important}.data-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:var(--text-secondary, #6b7280);border-bottom:1px solid var(--color-border, #e5e7eb)}.data-table-empty p{margin:0;font-size:.95rem}.data-table-empty svg{margin-bottom:1rem;opacity:.5}.data-table-end-of-list{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 0;color:var(--text-secondary, #9ca3af);font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.data-table-end-of-list:before,.data-table-end-of-list:after{content:"";flex:1;max-width:60px;height:1px;background:var(--color-border, #e5e7eb)}.data-table td.data-table-cell.is-pinned-left,.data-table td.data-table-cell.is-pinned-right,.data-table th.data-table-cell.is-pinned-left,.data-table th.data-table-cell.is-pinned-right{position:sticky;z-index:5;background:var(--color-bg-surface, #ffffff)}.data-table-sticky-header thead th.data-table-cell.is-pinned-left,.data-table-sticky-header thead th.data-table-cell.is-pinned-right{z-index:11}.data-table tbody tr:nth-child(odd) td.data-table-cell.is-pinned-left,.data-table tbody tr:nth-child(odd) td.data-table-cell.is-pinned-right{background:#fbfbfb}.data-table tbody tr.data-table-row-clickable:hover td.data-table-cell.is-pinned-left,.data-table tbody tr.data-table-row-clickable:hover td.data-table-cell.is-pinned-right{background:#f3f4f6}.data-table tbody tr.data-table-row-clickable:focus td.data-table-cell.is-pinned-left,.data-table tbody tr.data-table-row-clickable:focus td.data-table-cell.is-pinned-right{background:#ebedf0}.data-table.data-table-has-overflow td.data-table-cell.is-pinned-left.is-pinned-edge,.data-table.data-table-has-overflow th.data-table-cell.is-pinned-left.is-pinned-edge{box-shadow:4px 0 8px -4px #00000014}.data-table.data-table-has-overflow td.data-table-cell.is-pinned-right.is-pinned-edge,.data-table.data-table-has-overflow th.data-table-cell.is-pinned-right.is-pinned-edge{box-shadow:-4px 0 8px -4px #00000014}.data-table-shimmer-row td.data-table-cell.is-pinned-left,.data-table-shimmer-row td.data-table-cell.is-pinned-right{background:var(--color-bg-surface, #ffffff)}.data-table th.data-table-cell.data-table-select-cell,.data-table td.data-table-cell.data-table-select-cell{width:44px;min-width:44px;max-width:44px;padding:0;text-align:center;white-space:normal}.data-table td.data-table-cell.data-table-select-cell>*,.data-table th.data-table-cell.data-table-select-cell>*{display:flex;align-items:center;justify-content:center;width:100%;height:100%;white-space:normal}.data-table-select-checkbox{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid var(--color-border, #d1d5db);border-radius:4px;background:#fff;cursor:pointer;position:relative;transition:background-color .15s ease,border-color .15s ease;margin:0;flex-shrink:0}.data-table-select-checkbox:hover:not(:disabled){border-color:var(--color-primary, #0A84FF)}.data-table-select-checkbox:checked{background:var(--color-primary, #0A84FF);border-color:var(--color-primary, #0A84FF)}.data-table-select-checkbox:checked:after{content:"";position:absolute;top:1px;left:4px;width:4px;height:8px;border:solid #ffffff;border-width:0 2px 2px 0;transform:rotate(45deg)}.data-table-select-checkbox:indeterminate{background:var(--color-primary, #0A84FF);border-color:var(--color-primary, #0A84FF)}.data-table-select-checkbox:indeterminate:after{content:"";position:absolute;top:5.5px;left:2.5px;width:8px;height:2px;background:#fff;border-radius:1px}.data-table-select-checkbox:focus-visible{outline:2px solid var(--color-primary, #0A84FF);outline-offset:2px}.data-table-select-checkbox:disabled{cursor:not-allowed;opacity:.4}.data-table tbody tr.data-table-row.is-selected td.data-table-cell{background-color:#0a84ff0f}.data-table tbody tr.data-table-row.is-selected td.data-table-cell.is-pinned-left,.data-table tbody tr.data-table-row.is-selected td.data-table-cell.is-pinned-right{background:#eef5ff}.data-table tbody tr.data-table-row.is-selected.data-table-row-clickable:hover td.data-table-cell{background-color:#0a84ff1a}.data-table tbody tr.data-table-row.is-selected.data-table-row-clickable:hover td.data-table-cell.is-pinned-left,.data-table tbody tr.data-table-row.is-selected.data-table-row-clickable:hover td.data-table-cell.is-pinned-right{background:#e3eeff}.data-table-virtualized-scroll-area{overflow:auto}.data-table-virtualized-scroll-area [data-virtuoso-scroller=true]{overflow:visible!important}.data-table-virtualized-scroll-area table{width:100%;min-width:-moz-max-content;min-width:max-content}.data-table-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem 1rem;text-align:center}.data-table-error-text{color:var(--text-secondary, #6b7280);font-size:.9rem}.data-table-retry-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1.25rem;background:var(--color-primary, #0A84FF);color:#fff;border:none;border-radius:8px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:opacity .15s ease}.data-table-retry-btn:hover{opacity:.9}.data-table-retry-btn:active{opacity:.8}.student-list-drawer-overlay{position:fixed;inset:0;background:#0003;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10000;display:flex;align-items:center;justify-content:flex-end}.student-list-drawer{width:100%;max-width:480px;height:100%;max-height:100%;background:var(--color-bg-app, #f8fafc);border-left:1px solid var(--color-border, #e5e7eb);display:flex;flex-direction:column;overflow:hidden;box-shadow:-6px 0 24px #00000014;animation:slideInRight .3s cubic-bezier(.16,1,.3,1)}.student-list-drawer--inline{position:absolute;inset:0;z-index:10;max-width:none;max-height:none;border-left:none;box-shadow:none;animation:none;background:var(--color-bg-surface, #ffffff)}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 6px;border-bottom:1px solid transparent}.drawer-header h2{margin:0;font-size:1.2rem;color:#111827;font-weight:600}.drawer-close-btn{background:transparent;border:none;color:#6b7280;cursor:pointer;border-radius:50%;padding:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.drawer-close-btn:hover{background:#f3f4f6;color:#111827}.drawer-search-inline{display:flex;align-items:center;background:var(--color-bg-surface, #ffffff);border:1px solid var(--color-border, #e5e7eb);border-radius:1.5rem;padding:0;width:300px;max-width:60vw;height:30px;margin-right:4px;position:relative;transition:width .2s ease}.drawer-search-inline .search-icon{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.drawer-search-inline input{width:100%;height:100%;padding:0 28px;font-size:.85rem;color:var(--color-text-primary, #1f2937);background:transparent;border:none;outline:none}.drawer-search-inline input::-moz-placeholder{color:#9ca3af;opacity:1}.drawer-search-inline input::placeholder{color:#9ca3af;opacity:1}.drawer-search-inline .search-clear-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:transparent;border:none;padding:4px;display:flex;align-items:center;justify-content:center;color:#9ca3af;cursor:pointer;border-radius:50%;transition:all .2s}.drawer-search-inline .search-clear-btn:hover{background:#0000000d;color:#4b5563}.drawer-search input:focus{box-shadow:0 2px 10px #00000014}.drawer-content{flex:1;overflow-y:auto;padding:16px 24px;background:#f9fafb}.drawer-content::-webkit-scrollbar{width:6px}.drawer-content::-webkit-scrollbar-track{background:transparent}.drawer-content::-webkit-scrollbar-thumb{background-color:#d1d5db;border-radius:10px}.drawer-content::-webkit-scrollbar-thumb:hover{background-color:#9ca3af}.list-cards{display:flex;flex-direction:column;gap:12px}.list-card{background:#fff;border:none;border-radius:12px;padding:16px;cursor:pointer;box-shadow:0 1px 3px #0000000d;position:relative;transition:all .2s ease}.list-card:hover{box-shadow:0 2px 8px #0000000f;background:#f8fafc}.list-checkbox{position:absolute;bottom:8px;right:15px;width:26px;height:26px;border-radius:9999px;border:2px solid var(--color-border, #e5e7eb);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;transition:background .15s,border-color .15s;cursor:pointer}.list-checkbox:hover{border-color:#9ca3af}.list-checkbox.checked{background:var(--color-primary, #3b82f6);border-color:var(--color-primary, #3b82f6)}.sheet-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;border-bottom:none!important;padding:0!important;background:transparent!important}.sheet-card-header h3{margin:0;font-size:1rem;color:#111827;font-weight:600}.student-badge{background:#e0e7ff;color:#4338ca;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:4px}.card-description{margin:0 0 12px;font-size:.8rem;color:#9ca3af;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-footer{display:flex;align-items:center;gap:12px;font-size:.75rem;color:#9ca3af;padding-right:32px}.shared-by,.updated-at{display:flex;align-items:center;gap:4px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#9ca3af;text-align:center}.empty-state svg{margin-bottom:16px;opacity:.5}.empty-state p{margin:0 0 8px;font-size:1.1rem;font-weight:500;color:#9ca3af}.empty-state span{font-size:.9rem;max-width:200px}.sheet-card-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 8px 30px #0000001f;border:1px solid rgba(0,0,0,.08);padding:8px;min-width:160px;z-index:10000;display:flex;flex-direction:column;gap:2px;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sheet-menu-item{display:flex;align-items:center;gap:12px;padding:10px 12px;width:100%;background:transparent;border:none;border-radius:8px;font-size:.875rem;color:#404040;cursor:pointer;transition:all .2s ease;text-align:left;white-space:nowrap}.sheet-menu-item:hover{background-color:#0000000a;color:#171717}.sheet-menu-item.danger-text{color:#ef4444}.sheet-menu-item.danger-text:hover{background-color:#fef2f2;color:#dc2626}.sheet-menu-divider{height:1px;background-color:#0000000f;margin:4px 0;width:100%}.drawer-form-input{width:100%;padding:8px 12px;border-radius:6px;border:1px solid #d1d5db;font-size:.85rem;outline:none;transition:border-color .2s,box-shadow .2s;background:#fff;color:#374151;box-sizing:border-box}.drawer-form-input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.drawer-form-input::-moz-placeholder{color:#9ca3af}.drawer-form-input::placeholder{color:#9ca3af}.sfv-dialog-backdrop{position:fixed;inset:0;z-index:15000;display:flex;align-items:center;justify-content:center;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sfv-dialog-backdrop:focus,.sfv-dialog-backdrop:focus-visible{outline:none;box-shadow:none}.sfv-dialog-container{display:flex;flex-direction:column;width:calc(100vw - 48px);max-width:none;min-width:0;height:calc(100vh - 48px);height:calc(100dvh - 48px);background-color:#0a0a0a;border-radius:var(--radius-xl);border:1px solid #2a2a2a;box-shadow:var(--shadow-xl);overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}.sfv-dialog-container:focus,.sfv-dialog-container:focus-visible{outline:none;box-shadow:var(--shadow-xl);border-color:#2a2a2a}.sfv-dialog-container.sfv-dialog-fullscreen{background-color:#000;overflow:hidden}.sfv-dialog-overlay{z-index:20;transition:opacity .2s ease,transform .2s ease}.sfv-dialog-overlay-hidden{opacity:0;pointer-events:none}.sfv-dialog-show-controls-btn{position:absolute;top:16px;right:24px;z-index:30;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;background-color:#00000080;border:1px solid rgba(255,255,255,.1);border-radius:50%;color:#e5e5e5;cursor:pointer;transition:all .15s ease}.sfv-dialog-show-controls-btn:hover{background-color:#000000b3;color:#fff;transform:scale(1.05)}.sfv-dialog-header{display:flex;align-items:center;justify-content:flex-end;padding:16px 24px;background-color:#111;border-bottom:1px solid #2a2a2a;min-height:52px;flex-shrink:0;position:relative;z-index:20}.sfv-dialog-fullscreen .sfv-dialog-header{position:absolute;top:0;left:0;right:0;background-color:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:none}.sfv-dialog-title{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;color:#e5e5e5;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sfv-dialog-file-size{color:#888;font-weight:400;font-size:13px;padding-left:8px;border-left:1px solid #444;flex-shrink:0}.sfv-dialog-counter-wrap{position:relative;display:flex;align-items:center;gap:4px;flex-shrink:0;margin-right:8px}.sfv-dialog-counter{font-size:14px;font-weight:500;color:#e5e5e5;background-color:transparent;padding:0 4px 0 0;flex-shrink:0;display:flex;align-items:center;justify-content:center;height:32px}.sfv-dialog-info-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:1px solid transparent;border-radius:50%;color:#fff;cursor:pointer;transition:all .15s ease}.sfv-dialog-info-btn:hover,.sfv-dialog-info-btn[aria-expanded=true]{background-color:#ffffff1a;color:#fff}.sfv-dialog-info-dropdown{position:absolute;top:100%;right:0;margin-top:6px;min-width:200px;max-width:320px;padding:10px 12px;background:#1a1a1a;border:1px solid #333;border-radius:8px;box-shadow:0 8px 24px #0006;z-index:30}.sfv-dialog-info-dropdown-row{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.sfv-dialog-info-dropdown-row+.sfv-dialog-info-dropdown-row{margin-top:8px}.sfv-dialog-info-dropdown-label{font-size:12px;color:#9ca3af;flex-shrink:0}.sfv-dialog-info-dropdown-name{font-size:13px;font-weight:500;color:#e5e5e5;word-break:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;min-width:0}.sfv-dialog-info-dropdown-size{font-size:13px;color:#e5e5e5}.sfv-dialog-controls{display:flex;align-items:center;gap:8px}.sfv-dialog-control-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:1px solid transparent;border-radius:50%;color:#fff;cursor:pointer;transition:all .15s ease}.sfv-dialog-control-btn:hover{background-color:#ffffff1a;color:#fff;border-color:transparent}.sfv-dialog-control-btn.active{background-color:#1e3a5f;color:#60a5fa;border-color:#3b82f6}.sfv-dialog-zoom-level{font-size:14px;font-weight:500;color:#e5e5e5;min-width:48px;text-align:center}.sfv-dialog-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;margin-left:8px;background-color:transparent;border:1px solid transparent;border-radius:50%;color:#fff;cursor:pointer;transition:all .15s ease}.sfv-dialog-close-btn:hover{background-color:#ffffff26;color:#fff;border-color:transparent}.sfv-dialog-body{flex:1;display:flex;align-items:center;padding:12px 24px;overflow:hidden;position:relative;min-height:0;z-index:0}.sfv-dialog-fullscreen .sfv-dialog-body{padding:0}.sfv-dialog-content{flex:1;height:100%;border-radius:0;border:none;background-color:transparent;overflow:hidden;position:relative}.sfv-dialog-fullscreen .sfv-dialog-content{border:none;background-color:transparent;border-radius:0}.sfv-dialog-video-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#000;position:relative}.sfv-dialog-video{max-width:100%;max-height:100%;width:auto;height:auto;outline:none;border-radius:0}.sfv-dialog-fullscreen .sfv-dialog-video-container{position:absolute;inset:0;background-color:#000}.sfv-dialog-fullscreen .sfv-dialog-video{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.sfv-dialog-video::-webkit-media-controls-panel{background-color:#000000b3}.sfv-dialog-video:hover{filter:none}.sfv-dialog-pdf-container{width:100%;height:100%;overflow:auto;background-color:#000;position:relative}.sfv-pdf-viewer{width:100%;min-height:100%;display:flex;flex-direction:column;align-items:center;padding:20px 0}.sfv-pdf-page{display:flex;justify-content:center;padding:10px 0}.sfv-pdf-page canvas{box-shadow:0 4px 20px #00000080}.sfv-pdf-loading{color:#a0a0a0;padding:40px;text-align:center}.sfv-pdf-loading-wrap{display:flex;align-items:center;justify-content:center;min-height:240px;padding:40px;width:100%}.sfv-pdf-error{color:#f87171;padding:40px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}.sfv-pdf-retry-btn{background-color:#374151;color:#e5e5e5;border:1px solid #4b5563;padding:8px 20px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .15s ease}.sfv-pdf-retry-btn:hover{background-color:#4b5563;border-color:#6b7280}.sfv-dialog-fullscreen .sfv-dialog-pdf-container{position:absolute;inset:0;overflow:auto}.sfv-dialog-nav-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:#00000080;border:1px solid rgba(255,255,255,.1);border-radius:50%;color:#e5e5e5;cursor:pointer;transition:all .15s ease;flex-shrink:0;margin:0 8px;z-index:10}.sfv-dialog-nav-btn:hover:not(.disabled){background-color:#000000b3;color:#fff;transform:scale(1.05)}.sfv-dialog-fullscreen .sfv-dialog-nav-btn:hover:not(.disabled){transform:translateY(-50%) scale(1.05)}.sfv-dialog-fullscreen .sfv-dialog-nav-btn{position:absolute;top:50%;transform:translateY(-50%);margin:0;z-index:30}.sfv-dialog-fullscreen .sfv-dialog-nav-prev{left:24px}.sfv-dialog-fullscreen .sfv-dialog-nav-next{right:24px}.sfv-dialog-thumbnails{padding:8px 24px 12px;background-color:#111;border-top:1px solid #2a2a2a;flex-shrink:0;position:relative;z-index:20}.sfv-dialog-fullscreen .sfv-dialog-thumbnails{position:absolute;bottom:0;left:0;right:0;background-color:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:none}.sfv-dialog-thumbnails-scroll{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;padding:4px 0;scrollbar-width:thin;scrollbar-color:#444 transparent;justify-content:center}.sfv-dialog-thumbnails-scroll.unified-attachments{align-items:flex-start;gap:4px}.sfv-dialog-thumbnails .sfv-dialog-thumbnails-scroll.unified-attachments .unified-preview-item{width:72px!important;height:72px!important;min-width:72px!important;min-height:72px!important;aspect-ratio:1;box-sizing:border-box}.sfv-dialog-thumbnails .unified-preview-item{flex-shrink:0;width:72px;height:72px;min-width:72px;min-height:72px;aspect-ratio:1;box-sizing:border-box;border-radius:var(--radius-sm);border:2px solid transparent;background:var(--color-bg-nested, #FAFAFB);cursor:pointer;padding:0;overflow:hidden;transition:transform .2s ease,opacity .2s ease,border-color .15s ease,box-shadow .15s ease;display:block;position:relative}.sfv-dialog-thumbnails .unified-preview-item:hover{transform:scale(1.02);border-color:var(--color-border, rgba(0, 0, 0, .06))}.sfv-dialog-thumbnails .unified-preview-item.active{border-color:var(--color-primary, #0A84FF);box-shadow:0 0 0 2px #0a84ff40}.sfv-dialog-thumbnails .unified-preview-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.sfv-dialog-thumbnails .unified-preview-item .preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:.25rem 2px;gap:.2rem;text-align:center;background:var(--color-bg-app, #F5F6F8);color:#9ca3af}.sfv-dialog-thumbnails .unified-preview-item.type-video .preview-placeholder,.sfv-dialog-thumbnails .unified-preview-item.type-file .preview-placeholder{background:var(--color-bg-app, #F5F6F8);color:#9ca3af}.sfv-dialog-thumbnails .unified-preview-item .preview-placeholder.loading{background:linear-gradient(90deg,#0000000d,#0000001f,#0000000d);background-size:200% 100%;animation:sfv-thumbnail-shimmer 1.2s ease-in-out infinite}@keyframes sfv-thumbnail-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sfv-dialog-thumbnails .unified-preview-item .placeholder-icon{display:flex;align-items:center;justify-content:center;opacity:1}.sfv-dialog-thumbnails .unified-preview-item .placeholder-filename{font-size:.625rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px;opacity:.9}.sfv-dialog-thumbnails-scroll::-webkit-scrollbar{height:6px}.sfv-dialog-thumbnails-scroll::-webkit-scrollbar-track{background:transparent}.sfv-dialog-thumbnails-scroll::-webkit-scrollbar-thumb{background-color:#444;border-radius:3px}.sfv-dialog-thumbnail{flex-shrink:0;width:72px;height:72px;border-radius:var(--radius-sm);border:2px solid transparent;background:var(--color-bg-nested);cursor:pointer;padding:0;overflow:hidden;transition:all .15s ease}.sfv-dialog-thumbnail:hover{border-color:var(--color-border)}.sfv-dialog-thumbnail.active{border-color:var(--color-primary);box-shadow:0 0 0 2px #0a84ff40}.sfv-dialog-thumbnail img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.sfv-dialog-thumbnail-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#9ca3af;background:var(--color-bg-app)}.sfv-dialog-thumbnail-icon svg{opacity:.9}.sfv-dialog-skeleton{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background-color:#0f0f0f;pointer-events:none}.sfv-dialog-fullscreen .sfv-dialog-skeleton{background-color:#000}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.sfv-skeleton-shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.04) 50%,transparent 100%);animation:skeleton-shimmer 1.5s infinite}.sfv-skeleton-image{position:relative;width:60%;max-width:500px;aspect-ratio:4 / 3;background-color:#1a1a1a;border-radius:8px;overflow:hidden}.sfv-dialog-fullscreen .sfv-skeleton-image{width:100%;max-width:none;height:100%;aspect-ratio:auto;border-radius:0;background-color:#0a0a0a}.sfv-skeleton-video{position:relative;width:70%;max-width:600px;aspect-ratio:16 / 9;background-color:#1a1a1a;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.sfv-skeleton-play-btn{width:64px;height:64px;border-radius:50%;background-color:#ffffff1a;display:flex;align-items:center;justify-content:center;z-index:1}.sfv-skeleton-play-icon{width:0;height:0;border-left:18px solid #444;border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:4px}.sfv-skeleton-pdf{position:relative;width:50%;max-width:400px;aspect-ratio:8.5 / 11;background-color:#1a1a1a;border-radius:4px;overflow:hidden;padding:24px}.sfv-skeleton-pdf-page{display:flex;flex-direction:column;gap:12px}.sfv-skeleton-line{height:12px;background-color:#2a2a2a;border-radius:4px}.sfv-skeleton-generic{position:relative;width:50%;max-width:400px;aspect-ratio:1;background-color:#1a1a1a;border-radius:8px;overflow:hidden}.sfv-skeleton-spinner-wrap{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2;pointer-events:none}.sfv-skeleton-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:sfv-skeleton-spin .8s linear infinite}@keyframes sfv-skeleton-spin{to{transform:rotate(360deg)}}.sfv-dialog-error{display:flex;flex-direction:column;height:100%;align-items:center;justify-content:center;gap:12px;text-align:center}.sfv-dialog-error-text{color:#f87171;font-size:14px}.sfv-dialog-retry-btn{display:flex;align-items:center;gap:6px;padding:10px 20px;background-color:#2563eb;border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.sfv-dialog-retry-btn:hover{background-color:#1d4ed8}.sfv-dialog-retry-btn svg{transition:transform .3s ease}.sfv-dialog-retry-btn:hover svg{transform:rotate(180deg)}.sfv-dialog-error-btn{padding:8px 16px;background-color:#1f1f1f;border:1px solid #333;border-radius:6px;color:#e5e5e5;font-size:13px;cursor:pointer;transition:all .15s ease}.sfv-dialog-error-btn:hover{background-color:#2a2a2a}.sfv-dialog-retry-indicator{position:absolute;bottom:20px;left:50%;transform:translate(-50%);padding:6px 12px;background-color:#2563ebe6;border-radius:4px;color:#fff;font-size:12px;font-weight:500}.sfv-dialog-image-container{position:relative;height:100%;width:100%;overflow:hidden;background-color:#000;display:flex;align-items:center;justify-content:center}.sfv-dialog-image{-webkit-user-select:none;-moz-user-select:none;user-select:none;max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;transform-origin:center center;transition:opacity .2s ease;background-color:#fff}.sfv-dialog-image.loading{opacity:0;position:absolute}.sfv-dialog-image.loaded{opacity:1}.sfv-dialog-video-container{display:flex;height:100%;width:100%;align-items:center;justify-content:center;background-color:#000}.sfv-dialog-video{max-height:100%;max-width:100%}.sfv-dialog-pdf-container{height:100%;width:100%;overflow:hidden}@media(max-width:768px){.sfv-dialog-container{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0;border:none}.sfv-dialog-header{padding:10px 12px}.sfv-dialog-title{font-size:13px;max-width:40%}.sfv-dialog-body{padding:8px}.sfv-dialog-nav-btn{width:40px;height:40px;margin:0 4px}.sfv-dialog-thumbnail{width:48px;height:48px}.sfv-dialog-thumbnails .sfv-dialog-thumbnails-scroll.unified-attachments .unified-preview-item,.sfv-dialog-thumbnails .unified-preview-item{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important}.sfv-skeleton-image,.sfv-skeleton-video,.sfv-skeleton-pdf{width:80%}}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sfv-dialog-image-container.transitioning .sfv-dialog-image{animation:image-transition .25s ease-out}@keyframes image-transition{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.sfv-dialog-thumbnail-loading{position:relative;width:100%;height:100%;background-color:#1a1a1a;overflow:hidden}.sfv-dialog-text-container{flex:1;display:flex;flex-direction:column;overflow:hidden;width:100%;height:100%;background:#0a0a0a}.sfv-text-content{flex:1;overflow:auto;margin:0;padding:32px 48px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:inherit;line-height:1.6;color:#e0e0e0;background:#0a0a0a;white-space:pre-wrap;word-wrap:break-word;-moz-user-select:none;user-select:none;-webkit-user-select:none}.sfv-text-skeleton{position:relative;flex:1;display:flex;flex-direction:column;gap:12px;padding:32px 48px;overflow:hidden}.sfv-text-skeleton-line{height:14px;background-color:#2a2a2a;border-radius:4px;flex-shrink:0}.sfv-text-skeleton-shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.04) 50%,transparent 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite}.sfv-text-error{display:flex;align-items:center;justify-content:center;flex:1;color:#f87171;font-size:14px}.list-filter-actions{display:flex;align-items:center;gap:.75rem}.list-filter-wrapper{position:relative}.list-filter-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:#fff;color:var(--text-secondary, #6b7280);cursor:pointer;transition:all .2s ease;box-shadow:0 1px 2px #0000000d}.list-filter-btn:hover{background:var(--color-bg-app, #f4f5f7);color:var(--color-text-primary, #1d1d1f);box-shadow:0 4px 12px #0000001f}.list-filter-btn.active{background:transparent;box-shadow:none;z-index:51;position:relative}.list-filter-badge{position:absolute;top:2px;right:2px;width:10px;height:10px;background:var(--color-primary, #0A84FF);border-radius:50%;pointer-events:none;animation:list-filter-fadeIn .15s ease-out}.list-filter-menu{position:absolute;top:0;right:0;background:var(--color-bg-surface, #ffffff);border-radius:20px;box-shadow:0 1px 2px #0000000d;padding:6px;z-index:50;display:flex;flex-direction:column;gap:8px;animation:list-filter-slideLeft .2s ease-out;height:auto;white-space:nowrap;overflow:visible;scrollbar-width:none;-ms-overflow-style:none}.list-filter-menu::-webkit-scrollbar{display:none}@keyframes list-filter-slideLeft{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.list-filter-items-row{display:flex;gap:8px;align-items:center;padding-right:44px;min-height:32px}.list-filter-actions-row{display:flex;justify-content:center;padding-right:4px;align-items:center;margin-top:4px;gap:32px}.list-filter-action-buttons{display:flex;align-items:center;gap:32px}.list-filter-clear-btn{background:transparent;border:none;font-size:.8125rem;color:var(--text-secondary, #6b7280);cursor:pointer;padding:0 12px;height:32px;border-radius:50px;font-weight:500;transition:all .2s}.list-filter-clear-btn:hover{background:#0000000a;color:var(--text-primary)}.list-filter-checkbox-label{display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--color-text-primary, #1d1d1f);cursor:pointer;padding:0 12px;background:#0000000a;height:32px;border-radius:50px;white-space:nowrap;transition:background .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.list-filter-checkbox-label:hover{background:#00000014}.list-filter-checkbox-label input{width:14px;height:14px;cursor:pointer;accent-color:var(--color-primary, #0A84FF)}.list-filter-apply-btn{height:32px;padding:0 16px;background:var(--color-primary, #0A84FF);color:#fff;border:none;border-radius:50px;font-size:.8125rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:opacity .2s}.list-filter-apply-btn:hover{opacity:.9}.list-filter-search-wrapper{position:relative;width:40px;height:40px;transition:width .3s cubic-bezier(.4,0,.2,1);display:flex;justify-content:flex-end}.list-filter-search-wrapper.expanded{width:340px}.list-filter-search-pill{position:absolute;top:0;right:0;background:var(--color-bg-surface, #ffffff);border-radius:50px;padding:4px 44px 4px 12px;z-index:50;display:flex;align-items:center;gap:8px;animation:list-filter-fadeIn .15s ease-out;height:40px;width:100%;box-shadow:0 1px 3px #0000000d}.list-filter-search-pill:focus-within{outline:none}@keyframes list-filter-fadeIn{0%{opacity:0}to{opacity:1}}.list-filter-search-pill input{border:none;outline:none;background:transparent;width:100%;color:var(--text-primary);font-size:.95rem;padding:0;height:100%}.list-filter-search-pill input:focus,.list-filter-search-pill input:focus-visible{outline:none}.list-filter-search-pill input::-moz-placeholder{color:var(--text-secondary, #6b7280)}.list-filter-search-pill input::placeholder{color:var(--text-secondary, #6b7280)}.list-filter-search-icon-inside{color:var(--text-secondary, #6b7280);flex-shrink:0}.list-filter-clear-input{border:none;background:transparent;cursor:pointer;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;padding:4px;border-radius:50%;transition:background .15s}.list-filter-clear-input:hover{background:#0000000d;color:var(--text-primary)}.list-filter-dropdown{position:relative;min-width:120px;height:32px}.list-filter-dropdown-button{width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#0000000a;border:none;border-radius:20px;cursor:pointer;font-size:.8125rem;color:var(--color-text-primary, #1d1d1f);transition:all .2s}.list-filter-dropdown-button:hover{background:#00000014}.list-filter-dropdown.disabled{opacity:.5;pointer-events:none}.list-filter-dropdown-text{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:4px}.list-filter-dropdown-text.placeholder{color:var(--text-secondary)}.list-filter-dropdown-icon{width:14px;height:14px;color:var(--text-secondary);transition:transform .2s;flex-shrink:0}.list-filter-dropdown-icon.open{transform:rotate(180deg)}.list-filter-dropdown-list{position:absolute;top:calc(100% + 8px);left:0;min-width:160px;max-height:200px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;background:#fff;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;box-shadow:0 10px 15px -3px #0000001a;z-index:100;padding:4px}.list-filter-dropdown-list::-webkit-scrollbar{display:none}.list-filter-dropdown-item{padding:.5rem .75rem;font-size:.875rem;color:var(--color-text-primary, #1d1d1f);cursor:pointer;border-radius:6px;transition:background .15s;text-align:left}.list-filter-dropdown-item:hover{background:#f3f4f6}.list-filter-dropdown-item.selected{background:#eff6ff;color:#2563eb;font-weight:500}.scope-grid-dropdown{position:relative;width:100%;height:48px}.scope-grid-dropdown-button{width:100%;height:100%;display:flex;align-items:center;justify-content:space-between;padding:13px 44px 13px 14px;background:#fff;border:1.5px solid #D1D4DB;border-radius:var(--card-radius);cursor:pointer;font-size:14px;color:#1a1a1a;font-family:inherit;font-weight:400;outline:none;transition:all .15s ease;box-sizing:border-box}.scope-grid-dropdown-button:hover{border-color:#aeb4c2}.scope-grid-dropdown-button:focus{border-color:#aeb4c2;box-shadow:0 0 0 3px #aeb4c21a}.scope-grid-dropdown.disabled .scope-grid-dropdown-button{background:#f9fafb;color:#9ca3af;cursor:not-allowed;border-color:#e5e7eb}.scope-grid-dropdown.disabled{pointer-events:none}.scope-grid-dropdown-text{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:4px}.scope-grid-dropdown-text.placeholder{color:transparent}.scope-grid-dropdown-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:14px;height:14px;color:#64748b;transition:transform .2s;flex-shrink:0}.scope-grid-dropdown-icon.open{transform:translateY(-50%) rotate(180deg)}.scope-grid-dropdown-list{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:100%;max-height:200px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;background:#fff;border:1px solid #D1D4DB;border-radius:var(--card-radius);box-shadow:0 10px 15px -3px #0000001a;z-index:100;padding:4px}.scope-grid-dropdown-list::-webkit-scrollbar{display:none}.scope-grid-dropdown-item{padding:.5rem .75rem;font-size:.875rem;color:#1a1a1a;cursor:pointer;border-radius:6px;transition:background .15s;text-align:left}.scope-grid-dropdown-item:hover{background:#f3f4f6}.scope-grid-dropdown-item.selected{background:#eff6ff;color:#2563eb;font-weight:500}.scope-grid-dropdown-item.empty{color:#6b7280;cursor:default;font-style:italic}.form-group:not([class*=toggle-group])>.scope-grid-dropdown+label{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:14px;color:#6b7280;pointer-events:none;transition:all .15s ease;background:#fff;padding:0 4px;z-index:1;font-weight:400;line-height:1;display:flex;align-items:center;margin:0;height:-moz-fit-content;height:fit-content}.form-group:not([class*=toggle-group])>.scope-grid-dropdown:has(.scope-grid-dropdown-text:not(.placeholder))+label{top:0;transform:translateY(-50%);font-size:12px;color:#1a1a1a;font-weight:500}.date-picker-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:14000;padding:32px 16px;animation:fadeIn .2s ease-out}.date-picker-dialog{background:var(--color-bg-surface, #ffffff);border-radius:28px;width:100%;max-width:400px;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .3s ease-out;overflow:hidden}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.date-picker-header{padding:12px;text-align:center;border-bottom:1px solid var(--color-border, #e2e8f0)}.date-picker-title{font-size:18px;font-weight:600;color:var(--color-text-primary, #1a1a1a);margin:0}.date-picker-content{flex:1;padding:12px;overflow:visible;min-height:0}.date-picker-month-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.date-picker-nav-button{background:none;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;color:var(--color-text-primary, #1a1a1a);border-radius:8px;transition:background-color .2s}.date-picker-nav-button:hover:not(:disabled){background-color:var(--color-bg-app, #f8fafc)}.date-picker-nav-button:disabled{opacity:.3;cursor:not-allowed}.date-picker-month-year{font-size:16px;font-weight:600;color:var(--color-text-primary, #1a1a1a)}.date-picker-month-year-button{background:none;border:none;cursor:pointer;padding:8px 12px;font-size:16px;font-weight:600;color:var(--color-text-primary, #1a1a1a);border-radius:8px;transition:background-color .2s;font-family:inherit}.date-picker-month-year-button:hover{background-color:var(--color-bg-app, #f8fafc)}.date-picker-year-dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;background:var(--color-bg-surface, #ffffff);border:1px solid var(--color-border, #e2e8f0);border-radius:12px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;z-index:100;min-width:120px;max-height:300px;overflow-y:auto}.date-picker-year-list{display:flex;flex-direction:column;padding:4px}.date-picker-year-item{background:none;border:none;cursor:pointer;padding:8px 12px;font-size:14px;font-weight:500;color:var(--color-text-primary, #1a1a1a);border-radius:6px;text-align:left;transition:all .2s;font-family:inherit}.date-picker-year-item:hover{background-color:var(--color-bg-app, #f8fafc)}.date-picker-year-item.selected{background-color:var(--color-primary, #3b82f6);color:#fff;font-weight:600}.date-picker-year-item.selected:hover{background-color:var(--color-primary-hover, #2563eb)}.date-picker-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-bottom:8px}.date-picker-weekday{text-align:center;font-size:12px;font-weight:500;color:var(--color-text-secondary, #64748b);padding:8px 0}.date-picker-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0}.date-picker-day{background:#3b82f600;border:none;cursor:pointer;padding:0;margin:1px 0;min-height:42px;height:42px;display:flex;align-items:center;justify-content:center;transition:background-color .22s ease,border-radius .22s ease,opacity .15s ease;position:relative}.date-picker-day:not(.disabled):hover{opacity:.8}.date-picker-day.disabled{cursor:not-allowed}.date-picker-day-empty{min-height:0;height:0}.date-picker-day-text{font-size:14px;font-weight:400;color:var(--color-text-primary, #1a1a1a);display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;transition:background-color .22s ease,color .18s ease,font-weight .15s ease}.date-picker-day-text.selected{font-weight:600;color:#fff;background-color:var(--color-primary, #3b82f6);border-radius:50%}.date-picker-day-text.in-range{color:var(--color-primary-text, #1e40af);font-weight:500}.date-picker-day-text.marked{color:var(--color-primary, #3b82f6);font-weight:700;background-color:#3b82f626}.date-picker-day-text.future{color:var(--color-text-tertiary, #94a3b8)}.date-picker-day-text.today{font-weight:600;color:var(--color-primary, #3b82f6);border:1.2px solid var(--color-primary, #3b82f6);background:var(--color-bg-surface, #ffffff)}.date-picker-selection-info{margin:8px 12px;padding:12px;background-color:var(--color-primary-light, #dbeafe);border-radius:8px;border:1px solid rgba(59,130,246,.3);display:flex;align-items:center;gap:8px}.date-picker-info-icon{color:var(--color-primary, #3b82f6);flex-shrink:0}.date-picker-selection-text{color:var(--color-primary-text, #1e40af);font-weight:500;font-size:14px}.date-picker-footer{padding:12px 12px 20px;display:flex;gap:12px;border-top:1px solid var(--color-border, #e2e8f0);background:var(--color-bg-surface, #ffffff)}.date-picker-button{flex:1;padding:12px;border-radius:9999px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;font-family:var(--font-sans, inherit)}.date-picker-button-outline{background:transparent;border:1px solid var(--color-border, #e2e8f0);color:var(--color-text-primary, #1a1a1a)}.date-picker-button-outline:hover{background-color:var(--color-bg-app, #f8fafc);border-color:var(--color-text-secondary, #64748b)}.date-picker-button-primary{background:var(--color-primary, #3b82f6);color:#fff}.date-picker-button-primary:hover:not(:disabled){background:var(--color-primary-hover, #2563eb)}.date-picker-button-primary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:640px){.date-picker-dialog{max-width:90%}.date-picker-day{min-height:36px;height:36px}.date-picker-day-text{width:32px;height:32px;font-size:13px}}.receipts-dialog-overlay{position:fixed;inset:0;background:#00000080;z-index:19000;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .15s ease-out}.receipts-dialog-card{background:#fff;border-radius:16px;width:100%;max-width:640px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #00000026,0 10px 10px -5px #0000000d;animation:fadeInScale .2s ease-out;overflow:hidden}.receipts-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px 16px;border-bottom:1px solid #e5e7eb}.receipts-dialog-titles{flex:1;min-width:0}.receipts-dialog-title{margin:0 0 4px;font-size:1.1rem;font-weight:600;color:#111827}.receipts-dialog-subtitle{margin:0;font-size:.825rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receipts-dialog-close{background:#f3f4f6;border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#4b5563;flex-shrink:0;transition:background .15s ease}.receipts-dialog-close:hover{background:#e5e7eb}.receipts-dialog-search{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#6b7280}.receipts-search-input{flex:1;background:transparent;border:none;outline:none;font-size:.875rem;color:#111827;font-family:inherit}.receipts-search-input::-moz-placeholder{color:#9ca3af}.receipts-search-input::placeholder{color:#9ca3af}.receipts-search-clear{background:#0000000f;border:none;width:20px;height:20px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280}.receipts-search-clear:hover{background:#0000001f}.receipts-dialog-body{flex:1;overflow-y:auto;padding:16px 24px 24px;min-height:200px}.receipts-dialog-error{padding:12px 16px;background:#ef444414;color:#b91c1c;border-radius:6px;margin-bottom:16px;font-size:.875rem}.receipts-student-cell{display:flex;align-items:center;gap:10px}.receipts-avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4338ca;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0}.receipts-name{font-weight:500;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receipts-uid-cell{color:#6b7280;font-family:var(--font-mono, ui-monospace, SFMono-Regular, monospace);font-size:.825rem}.receipts-status{display:inline-flex;align-items:center;gap:6px;font-size:.825rem}.receipts-status-read{color:#10b981}.receipts-status-unread{color:#9ca3af}.receipts-read-time{color:#9ca3af;font-size:.75rem;margin-left:4px}.share-history-overlay{position:fixed;inset:0;background:#0006;z-index:1000;display:flex;justify-content:flex-end;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.share-history-drawer{width:400px;max-width:100%;height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:-4px 0 24px #0000001a;animation:slideInRight .3s cubic-bezier(.16,1,.3,1)}.timeline-container{display:flex;flex-direction:column;padding-top:8px}.timeline-item{display:flex;gap:16px;position:relative;padding-bottom:24px}.timeline-item:last-child{padding-bottom:0}.timeline-icon-container{display:flex;flex-direction:column;align-items:center;width:32px}.timeline-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:2;background:#fff;border:1.5px solid #e5e7eb}.timeline-icon.type-message{color:#3b82f6;background:#eff6ff;border-color:#bfdbfe}.timeline-icon.type-reminder{color:#f59e0b;background:#fffbeb;border-color:#fde68a}.timeline-icon.type-announcement{color:#10b981;background:#ecfdf5;border-color:#a7f3d0}.timeline-connector{width:2px;flex:1;background:#e5e7eb;margin-top:4px;margin-bottom:-20px;z-index:1}.timeline-content{flex:1;display:flex;flex-direction:column;gap:4px;padding-top:4px}.feed-content{margin-top:-4px}.feed-header{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:6px;font-size:.85rem}.feed-actor{font-weight:600;color:#111827}.feed-action{color:#6b7280}.feed-target{font-weight:500;color:#374151}.feed-message-content{display:flex;flex-direction:column;gap:6px}.feed-title{margin:0;font-size:.9rem;font-weight:600;color:#1f2937}.feed-preview{margin:0;font-size:.8rem;color:#4b5563;line-height:1.4;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.feed-meta-footer{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:.75rem;color:#9ca3af}.feed-attachment-badge{display:flex;align-items:center;gap:4px;background:#e0e7ff;color:#4338ca;padding:2px 6px;border-radius:4px;font-weight:500}.feed-meta-tag{display:flex;align-items:center;gap:4px;background:#f3f4f6;color:#4b5563;padding:3px 8px;border-radius:4px;font-size:.7rem;font-weight:500;border:1px solid #e5e7eb}.feed-status{display:flex;align-items:center;gap:4px;color:#10b981;font-weight:500}.status-icon{color:#10b981}.feed-sender-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.feed-sender-identity{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.feed-sender-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;-o-object-fit:cover;object-fit:cover;border:1px solid #e5e7eb}.feed-sender-avatar-fallback{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#4338ca;font-size:.6rem;font-weight:700;letter-spacing:.02em}.feed-sender-name{font-size:.8rem;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.feed-sender-subtitle{display:flex;align-items:center;gap:4px;min-width:0}.feed-sender-designation{font-size:.7rem;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.feed-sender-dot{color:#d1d5db;font-size:.7rem;flex-shrink:0}.feed-sender-target{font-size:.72rem;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.feed-sender-info{display:flex;flex-direction:column;gap:1px;min-width:0}.feed-sender-name-row{display:flex;align-items:center;gap:6px;min-width:0}.feed-sender-time{font-size:.68rem;color:#b0b5bf;line-height:1}.feed-card-actions{display:flex;align-items:center;gap:4px}.feed-action-btn{background:transparent;border:none;color:#9ca3af;cursor:pointer;width:24px;height:24px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.feed-action-btn:hover.info{color:#8b5cf6;background:#ede9fe}.feed-action-btn:hover.edit{color:#3b82f6;background:#eff6ff}.feed-action-btn:hover.delete{color:#ef4444;background:#fef2f2}.share-history-scroll::-webkit-scrollbar{width:6px;height:6px}.share-history-scroll::-webkit-scrollbar-track{background:transparent}.share-history-scroll::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.share-history-scroll::-webkit-scrollbar-thumb:hover{background:#9ca3af}.feed-item.clickable{cursor:pointer;transition:background-color .15s ease}.feed-item.clickable:hover{background-color:#0a84ff0a}.feed-item.selected{background-color:#0a84ff0f;box-shadow:inset 3px 0 0 var(--color-primary, #0A84FF)}.feed-item.selected:hover{background-color:#0a84ff17}.feed-delete-modal-overlay{position:fixed;inset:0;background:#00000080;z-index:20000;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .15s ease-out}.feed-delete-modal-card{background:#fff;border-radius:16px;padding:24px;max-width:420px;width:100%;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:fadeInScale .2s ease-out}.feed-delete-modal-title{margin:0 0 12px;font-size:1.05rem;font-weight:600;color:#111827}.feed-delete-modal-body{margin:0 0 20px;font-size:.875rem;line-height:1.5;color:#4b5563}.feed-delete-modal-error{margin-bottom:16px;padding:8px 12px;background:#ef444414;color:#b91c1c;border-radius:6px;font-size:.8rem}.feed-delete-modal-actions{display:flex;justify-content:flex-end;gap:8px}.timeline-filter-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:16px}.filter-pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;background:#f3f4f6;border:none;border-radius:100px;font-size:.75rem;font-weight:500;color:#4b5563;cursor:pointer;transition:all .2s ease;font-family:inherit}.filter-pill.icon-only{padding:0;width:32px;height:32px;border-radius:50%}.filter-pill:hover{background:#e5e7eb}.filter-pill.active{background:#eef2ff;color:#4f46e5}.filter-pill-clear{background:#ff453a14;color:#b91c1c;border-color:#ff453a33}.filter-pill-clear:hover{background:#ff453a29}.filter-search-wrapper{display:inline-flex;align-items:center;background:#fff;border:none;border-radius:24px;padding:0;height:32px;box-shadow:0 2px 8px #0000000d;transition:all .2s ease;position:relative;flex:1;min-width:200px}.share-dialog-header:has(.filter-search-wrapper) .share-history-title-container{display:none}.share-dialog-header:has(.filter-search-wrapper)>div:nth-child(2){flex:1}#share-history-header-filters:has(.filter-search-wrapper),.timeline-filter-bar:has(.filter-search-wrapper){flex:1;width:100%}.filter-search-wrapper:focus-within{box-shadow:0 2px 10px #00000014}.filter-search-icon{position:absolute;left:12px;color:#9ca3af;pointer-events:none}.filter-search-input{border:none;background:transparent;font-size:.75rem;color:#374151;width:100%;height:100%;padding:0 32px;outline:none;font-family:inherit;border-radius:24px}.filter-search-input::-moz-placeholder{color:#9ca3af}.filter-search-input::placeholder{color:#9ca3af}.filter-search-clear{position:absolute;right:6px;background:#0000000a;border:none;width:20px;height:20px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280}.filter-search-clear:hover{background:#0000001f}.feed-action-btn:hover.receipts{color:#0d9488;background:#ccfbf1}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer-block{background:#f6f7f8;background-image:linear-gradient(to right,#f6f7f8,#edeef1 20%,#f6f7f8 40% 100%);background-repeat:no-repeat;background-size:1000px 100%;animation-duration:1.5s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-name:shimmer;animation-timing-function:linear;border-radius:4px}.feed-item-skeleton{display:flex;gap:16px;padding-bottom:24px;position:relative}.feed-item-skeleton .timeline-icon-skeleton{width:32px;height:32px;border-radius:50%;flex-shrink:0}.feed-item-skeleton .timeline-content-skeleton{flex:1;display:flex;flex-direction:column;gap:12px;padding-top:4px}.skeleton-row{display:flex;align-items:center;gap:8px}.skeleton-avatar{width:24px;height:24px;border-radius:50%}.skeleton-text-tiny{height:10px;width:80px;border-radius:100px}.skeleton-text-short{height:12px;width:120px;border-radius:100px}.skeleton-text-medium{height:12px;width:200px;border-radius:100px}.skeleton-text-long{height:12px;width:100%;border-radius:100px}.skeleton-card{height:80px;border-radius:12px;width:100%}.navbar{position:fixed;top:0;left:0;right:0;height:4.375rem;background:var(--navbar-bg, rgba(255, 255, 255, .6));backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;box-shadow:0 4px 30px #00000008;z-index:12003;border-bottom:1px solid rgba(255,255,255,.5);transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .35s ease,background .3s ease,box-shadow .3s ease;will-change:transform,opacity;backface-visibility:hidden}.nav-visible .navbar{transform:translateY(0);opacity:1}.nav-hidden .navbar{transform:translateY(-140%);opacity:0;box-shadow:none;pointer-events:none}.navbar-left{display:flex;align-items:center;gap:1.25rem;flex:1;min-width:0}.navbar-logo{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1;background:none;border:none;margin:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.navbar-logo:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:var(--radius-full)}.logo-toggle-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-bg-surface);color:var(--color-primary);opacity:0;transition:opacity var(--transition-fast);pointer-events:none}.navbar-logo.is-flashing .logo-toggle-icon{opacity:1}@media(hover:hover){.navbar-logo.is-sticky:hover .logo-toggle-icon{opacity:1}}.logo-icon{position:relative;width:2.5rem;height:2.5rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.25rem;box-shadow:0 4px 12px #00000026;flex-shrink:0;overflow:hidden}.logo-icon.has-logo{background:transparent;box-shadow:none;padding:0}.logo-icon .logo-image{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;border-radius:50%;display:block;margin:auto}.navbar-institute-name{font-size:1.25rem;font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;letter-spacing:-.01em}.navbar-right{display:flex;align-items:center;gap:1rem;flex-shrink:0}.greeting-text-nav{font-size:.9375rem;font-weight:500;color:var(--color-text-secondary);letter-spacing:-.01em;white-space:nowrap;opacity:1;transform:translateY(0);will-change:opacity,transform;animation:none;position:relative;z-index:0}.greeting-text-nav.fade-in{animation:fadeInText .32s cubic-bezier(.33,1,.68,1) both}.greeting-text-nav.fade-out{animation:fadeOutText .28s cubic-bezier(.33,1,.68,1) both}@keyframes fadeInText{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOutText{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}.profile-button:hover .greeting-text-nav:not(.fade-out){color:var(--color-text-secondary)}.alva-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:var(--radius-full);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast);box-shadow:0 2px 8px #00000014;overflow:hidden;position:relative}.alva-button:hover{background:#ffffff26;color:var(--color-text-primary);box-shadow:0 4px 12px #0000001f}.alva-button:active{transform:scale(.95)}.alva-button svg{width:1.5rem;height:1.5rem}.add-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:var(--radius-full);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast);box-shadow:0 2px 8px #00000014;overflow:hidden;position:relative}.add-button:hover{background:#ffffff26;color:var(--color-text-primary);box-shadow:0 4px 12px #0000001f}.add-button svg{width:1.5rem;height:1.5rem}.add-button.active{background:#fff3;color:var(--color-text-primary)}.add-menu-container{position:relative;display:flex;align-items:center}.add-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-bg-surface);border-radius:50px;box-shadow:var(--shadow-xl);border:1px solid var(--color-border);padding:8px 12px;display:flex;gap:4px;z-index:12002;animation:dropdownFadeIn .2s ease;transform-origin:top right;align-items:center}.draggable-add-menu-item{cursor:pointer}.draggable-add-menu-item:active{cursor:grabbing}.add-menu-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.375rem;width:auto;min-width:70px;height:auto;padding:.75rem .5rem;border:none;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:50px;cursor:inherit;color:var(--color-text-secondary);transition:all var(--transition-fast);box-shadow:0 2px 8px #00000014}.add-menu-item:hover{background:#ffffff26;color:var(--color-text-primary);box-shadow:0 4px 12px #0000001f;transform:scale(1.05)}.add-menu-item-icon{display:flex;align-items:center;justify-content:center}.add-menu-item-icon svg{width:20px;height:20px}.add-menu-item-label{font-size:.6875rem;font-weight:500;white-space:nowrap}.fullscreen-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:var(--radius-full);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast);box-shadow:0 2px 8px #00000014;overflow:hidden;position:relative}.fullscreen-button:hover{background:#ffffff26;color:var(--color-text-primary);box-shadow:0 4px 12px #0000001f}.fullscreen-button svg{width:1.5rem;height:1.5rem}.notification-section{position:relative}.alva-button{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:var(--radius-full);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast);box-shadow:0 2px 8px #00000014;overflow:hidden}.alva-button:hover{background:#ffffff26;color:var(--color-text-primary);box-shadow:0 4px 12px #0000001f;transform:scale(1.02)}.alva-button.active{background:linear-gradient(135deg,var(--color-primary) 0%,#8b5cf6 100%);color:#fff;box-shadow:0 4px 12px #6366f166}.notification-button{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:var(--radius-full);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast);box-shadow:0 2px 8px #00000014;overflow:visible}.notification-button svg,.add-button svg,.fullscreen-button svg{transition:transform var(--transition-fast)}.notification-button:active svg,.add-button:active svg,.fullscreen-button:active svg{animation:iconBounce .4s ease}@keyframes iconBounce{0%{transform:scale(1)}50%{transform:scale(.85)}to{transform:scale(1)}}.notification-button:hover{background:#ffffff26;color:var(--color-text-primary);box-shadow:0 4px 12px #0000001f}.notification-button svg{width:1.5rem;height:1.5rem}.notification-badge{position:absolute;top:2px;right:2px;background:#111827;color:#fff;font-size:.5625rem;font-weight:600;padding:0;border-radius:50%;width:1rem;height:1rem;min-width:1rem;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #11182759;z-index:10;line-height:1}.notification-badge.high{background:#ef4444;box-shadow:0 2px 4px #ef44444d}.notification-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:360px;max-height:420px;background:var(--color-bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--color-border);animation:dropdownFadeIn .2s ease;transform-origin:top right;display:flex;flex-direction:column;overflow:hidden;z-index:12002}.notification-header{padding:.875rem 1rem;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:.5rem}.notification-title-header{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0;flex:1}.summarize-btn{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border:none;color:var(--color-primary);font-size:.75rem;font-weight:600;cursor:pointer;padding:6px 12px;border-radius:12px;transition:all .2s ease;margin-left:auto}.summarize-btn:hover{background:linear-gradient(135deg,var(--color-primary) 0%,#8b5cf6 100%);color:#fff;border-color:transparent;box-shadow:0 2px 8px #6366f14d}.summarize-btn svg{transition:transform .3s ease}.summarize-btn:hover svg{transform:rotate(180deg)}.summary-back-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:8px;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .2s ease}.summary-back-btn:hover{background:var(--color-row-hover);color:var(--color-text-primary)}.summary-ai-tag{display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-size:.7rem;font-weight:700;letter-spacing:.04em;color:var(--color-primary)}.notification-summary{flex:1;max-height:20rem;overflow-y:auto;padding:1rem}.notification-summary::-webkit-scrollbar{width:6px}.notification-summary::-webkit-scrollbar-thumb{background:var(--color-text-tertiary);border-radius:var(--radius-full)}.notification-summary-text{font-size:.85rem;line-height:1.5;color:var(--color-text-primary);word-break:break-word}.notification-summary-line{padding:.5rem 0;border-bottom:1px solid var(--color-border)}.notification-summary-line:last-child{border-bottom:none}.notification-summary-name{font-weight:600;color:var(--color-text-primary)}.notification-summary-disclaimer{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border);font-size:.65rem;color:var(--color-text-tertiary);text-align:center}.notification-summary-error{font-size:.85rem;color:var(--color-text-secondary);text-align:center;padding:1.25rem .5rem}.notification-summary-loading{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.85rem;color:var(--color-text-secondary);padding:1.25rem .5rem}.summary-spark{color:var(--color-primary);animation:summary-spark-pulse 1.1s ease-in-out infinite}@keyframes summary-spark-pulse{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.notification-list{flex:1;max-height:20rem;overflow-y:auto;padding:.5rem}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-thumb{background:var(--color-text-tertiary);border-radius:var(--radius-full)}.notification-item{display:grid;grid-template-columns:36px 1fr;gap:.875rem;align-items:start;padding:.875rem 1rem;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background var(--transition-fast);position:relative}.notification-item:last-child{border-bottom:none}.notification-item:hover{background:var(--color-row-hover)}.notification-item-avatar{width:36px;height:36px;border-radius:50%;background:#64748b26;display:flex;align-items:center;justify-content:center;color:#64748b;font-size:.875rem;font-weight:600;grid-column:1;overflow:hidden}.notification-item-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.notification-item-content{grid-column:2;min-width:0;display:flex;flex-direction:column;gap:.25rem;text-align:left;overflow:hidden}.notification-item-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}.notification-unread-badge{width:20px;height:20px;min-width:20px;padding:0;background:#111827;color:#fff;font-size:.6875rem;font-weight:600;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #11182740;flex-shrink:0}.notification-unread-badge.high{background:#ef4444;box-shadow:0 2px 6px #ef444459}.notification-item-meta{display:flex;flex-direction:column;gap:.125rem;min-width:0}.notification-item-sender{font-size:.8125rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-item-designation-line{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-item-designation{font-weight:400;color:var(--color-text-secondary)}.notification-item-sep{color:var(--color-text-tertiary);margin:0 .125rem;font-weight:400}.notification-item-time{font-size:.75rem;font-weight:400;color:var(--color-text-tertiary)}.notification-priority-dot{width:8px;height:8px;min-width:8px;min-height:8px;border-radius:50%;background:#ef4444;flex-shrink:0}.notification-item-preview{grid-column:1 / -1;font-size:var(--font-size-sm);color:var(--color-text-primary);margin:0;padding:0;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.notification-item-title-colon{font-weight:600;color:var(--color-text-primary)}.notification-item-preview .notification-item-title{font-weight:600}.notification-item-preview .notification-item-body{font-weight:400;color:var(--color-text-secondary)}.profile-section{position:relative}.profile-button{display:flex;align-items:center;justify-content:flex-end;gap:6px;padding:2px;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:var(--radius-full);cursor:pointer;transition:padding .28s cubic-bezier(.33,1,.68,1),background .24s ease,box-shadow .24s ease,gap .24s ease,max-width .3s cubic-bezier(.33,1,.68,1),transform .22s ease;box-shadow:0 2px 8px #00000014;overflow:hidden;max-width:44px;position:relative;will-change:padding,gap,max-width,transform}.profile-button.with-greeting{padding:2px 2px 2px 10px;gap:10px;max-width:320px}.profile-button:hover{background:#ffffff26;box-shadow:0 4px 12px #0000001f;transform:scale(1.02)}.profile-avatar{width:40px;height:40px;min-width:40px;min-height:40px;background:#64748b26;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#64748b;font-weight:600;font-size:.875rem;box-shadow:var(--shadow-sm);position:relative;z-index:1;flex-shrink:0;overflow:hidden}.profile-avatar-image-nav{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.profile-chevron{color:var(--color-text-tertiary);transition:transform var(--transition-fast)}.profile-chevron.rotate{transform:rotate(180deg)}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:-moz-fit-content;width:fit-content;background:var(--color-bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--color-border);padding:6px;animation:dropdownFadeIn .2s ease;transform-origin:top right;z-index:12002}@keyframes dropdownFadeIn{0%{opacity:0;transform:scale(.95) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.dropdown-item{width:100%;display:flex;align-items:center;gap:12px;padding:13px 16px;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:left;color:var(--color-text-secondary);font-size:1.05rem;line-height:1.5}.dropdown-item:hover{background:var(--color-bg-app);color:var(--color-text-primary)}.dropdown-item.danger{color:#ef4444}.dropdown-item.danger:hover{background:#fef2f2;color:#dc2626}.item-icon{display:flex;align-items:center;justify-content:center;color:inherit}.item-label{font-size:1.05rem;font-weight:500;flex:1}.dropdown-section{padding:.5rem 0}.section-label{padding:8px 12px 6px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary)}.dropdown-item.active{background:var(--color-primary-light);color:var(--color-primary)}.dropdown-item.active:hover{background:var(--color-primary-light);opacity:.9}.active-indicator{margin-left:auto;font-size:1rem;font-weight:700;color:var(--color-primary)}.dropdown-divider{height:1px;background:var(--color-border);margin:6px 0}.dropdown-toggle{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;gap:16px}.toggle-label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:50%;box-shadow:0 2px 4px #0003}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-switch:hover .toggle-slider{box-shadow:0 0 0 4px #6366f11a}@media(max-width:768px){.navbar{padding:0 16px}.institute-name{font-size:.875rem}}.layout-menu-container{position:relative;display:flex;align-items:center}.layout-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:var(--radius-full);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast);box-shadow:0 2px 8px #00000014;overflow:hidden;position:relative;margin:0;padding:0;flex-shrink:0}.layout-button svg{width:1.5rem;height:1.5rem;display:block;margin:0;padding:0}.layout-button:hover{background:#ffffff26;color:var(--color-text-primary);box-shadow:0 4px 12px #0000001f}.layout-dropdown{position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%);background:var(--color-bg-surface);border-radius:50px;box-shadow:var(--shadow-xl);border:1px solid var(--color-border);padding:8px 4px;display:flex;gap:4px;opacity:0;visibility:hidden;transition:all .2s cubic-bezier(.4,0,.2,1);pointer-events:none;align-items:center;z-index:12002}.layout-dropdown:before{content:"";position:absolute;width:36px;height:36px;background:var(--color-primary);border-radius:50%;top:50%;transform:translateY(-50%);left:4px;transition:left .4s cubic-bezier(.4,0,.2,1);z-index:0;box-shadow:0 2px 8px #6366f14d}.layout-menu-container[data-layout-mode="1"] .layout-dropdown:before{left:4px}.layout-menu-container[data-layout-mode="2"] .layout-dropdown:before{left:44px}.layout-dropdown:after{content:"";position:absolute;top:0;right:-15px;width:20px;height:100%;background:transparent}.layout-menu-container:hover .layout-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(-50%)}.layout-option{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);transition:color .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:1;flex-shrink:0;margin:0;padding:0}.layout-option svg{position:relative;z-index:2;transition:none;pointer-events:none}.layout-option.active svg{z-index:3;color:#fff!important;opacity:1}.layout-option:hover{color:var(--color-text-primary)}.layout-option.active{color:#fff;background:transparent;box-shadow:none;transform:none;z-index:2}.layout-option.active svg{position:relative;z-index:3;color:#fff!important}.layout-option:last-child.active{background:var(--color-primary)}.layout-option:last-child.active svg{color:#fff!important;opacity:1}@media(pointer:coarse),(hover:none){.layout-menu-container{display:none}.add-menu-dropdown{max-width:calc(100vw - 24px);flex-wrap:wrap;justify-content:flex-end;border-radius:var(--radius-lg)}}.navbar.navbar-icons-hidden .navbar-right>*:not(.profile-section){display:none}.sidebar{position:fixed;top:4.375rem;left:0;bottom:0;width:5rem;background:var(--sidebar-bg, rgba(255, 255, 255, .6));backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border-right:1px solid rgba(255,255,255,.2);box-shadow:4px 0 30px #00000008;display:flex;flex-direction:column;transition:transform var(--transition-normal),top .3s cubic-bezier(.4,0,.2,1),background .3s ease;will-change:transform,top;z-index:900;overflow:hidden;padding-top:0}.nav-hidden .sidebar{top:0}.sidebar.hidden{transform:translate(-100%)}.sidebar.sidebar-show-labels{width:200px}.sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:.5rem;overscroll-behavior:contain;scrollbar-width:none;display:flex;flex-direction:column;gap:.5rem}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.75rem .25rem;border-radius:50px;text-decoration:none;color:#475569;font-size:.75rem;font-weight:500;transition:all var(--transition-fast);position:relative;cursor:pointer}.sidebar-item:active{cursor:grabbing}.sidebar-item:hover{background:var(--color-bg-app);color:var(--color-text-primary);transform:translateY(-1px)}.sidebar-item.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.sidebar-item.active:hover{background:var(--color-primary-light);opacity:.9}.sidebar-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;background:var(--color-primary-light)}.item-icon{display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast)}.sidebar-item:hover .item-icon{transform:scale(1.1)}.sidebar-item:active .item-icon{animation:sidebarIconBounce .4s ease}.sidebar-show-labels .sidebar-item{flex-direction:row;justify-content:flex-start;gap:.65rem;padding:.75rem 1rem}@keyframes sidebarIconBounce{0%{transform:scale(1)}50%{transform:scale(.85)}to{transform:scale(1)}}.item-label{text-align:center;line-height:1.2;white-space:normal;word-wrap:break-word;max-width:100%;font-size:.625rem;letter-spacing:.01em}.sidebar-show-labels .item-label{font-size:.95rem;font-weight:700;text-align:left;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}.sidebar-toggle-container{padding:1rem .5rem .5rem;display:flex;justify-content:center}.sidebar-toggle{width:2.25rem;height:2.25rem;border-radius:var(--radius-full);border:none;background:#0000000d;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.sidebar-toggle:hover{background:#00000014;transform:scale(1.05)}.sidebar-toggle.active{background:var(--color-primary-light);color:var(--color-primary)}.sidebar-toggle.active:hover{background:var(--color-primary-light);opacity:.9}@media(max-width:768px){.sidebar{transform:translate(-100%);background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar:not(.hidden){transform:translate(0)}}.dashboard{padding:2rem 0;width:100%;animation:fadeIn .5s ease-out}.dashboard-empty{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center}.greeting-section{text-align:center;margin-bottom:2rem;padding:1rem 0}.greeting-text{font-size:2rem;font-weight:600;color:var(--color-text-primary);margin:0;animation:fadeIn .5s ease-out}.content-grid{display:grid;gap:1.5rem}.content-card{background:var(--color-bg-surface);border-radius:var(--card-radius);overflow:hidden;width:80%;margin:0 auto}.card-header{padding:1.5rem;border-bottom:2px solid var(--color-bg-app);display:flex;justify-content:center;align-items:center}.header-title{display:flex;align-items:center;gap:.75rem}.card-header h2{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0}.badge{background:var(--color-primary-light);color:var(--color-primary-text);font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:var(--radius-full)}.view-all-btn{display:flex;align-items:center;gap:.5rem;background:transparent;border:none;color:var(--color-primary);font-size:.875rem;font-weight:500;cursor:pointer;padding:.5rem 1rem;border-radius:var(--radius-md);transition:all var(--transition-fast)}.view-all-btn:hover{background:var(--color-primary-light)}.activity-list{padding:0}.activity-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;transition:background-color var(--transition-fast);cursor:pointer;border-bottom:3px solid transparent}.activity-item:not(:last-child){border-bottom-color:var(--color-bg-app)}.activity-item:hover{background-color:var(--color-bg-app)}.activity-item.clear-row:hover{background-color:transparent}.clear-row{justify-content:center;border-bottom:none;padding:1.35rem 1.5rem;cursor:default}.clear-button{border:1px solid var(--color-border);background:#fff;color:var(--color-text-primary);padding:.65rem 1.25rem;border-radius:var(--radius-full);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.clear-button:hover{border-color:var(--color-primary);color:var(--color-primary);box-shadow:var(--shadow-sm)}.activity-icon-wrapper{width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.theme-icon{background:var(--color-primary-light, #e0ecff);color:var(--color-primary, #2563eb)}.bg-blue-100.text-blue-600{background:#dbeafe;color:#2563eb}.bg-green-100.text-green-600{background:#dcfce7;color:#16a34a}.bg-yellow-100.text-yellow-600{background:#fef9c3;color:#ca8a04}.bg-red-100.text-red-600{background:#fee2e2;color:#dc2626}.bg-orange-100.text-orange-600{background:#ffedd5;color:#ea580c}.bg-indigo-100.text-indigo-600{background:#e0e7ff;color:#4f46e5}.bg-pink-100.text-pink-600{background:#fce7f3;color:#db2777}.bg-teal-100.text-teal-600{background:#ccfbf1;color:#0d9488}.activity-details{flex:1;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-width:0}.activity-title{font-size:.9375rem;font-weight:500;color:var(--color-text-primary);margin:0}.activity-time{font-size:.8rem;color:var(--color-text-tertiary);white-space:nowrap}.scroll-sections{width:80%;margin:2rem auto 0;display:flex;flex-direction:column;gap:1.25rem}.scroll-spacer{height:100vh;border:1px dashed var(--color-border);border-radius:var(--radius-xl);background:var(--color-bg-app);box-shadow:inset 0 0 0 1px #00000005;flex-shrink:0}.bottom-note{text-align:center;font-size:.8rem;color:var(--color-text-tertiary);padding:1rem 0 2rem}.no-activity-message{width:100%;margin:0 auto;padding:3rem 1.5rem;text-align:center;color:var(--color-text-secondary)}.no-activity-title{margin:0 0 .35rem;font-weight:600;color:var(--color-text-primary)}.no-activity-hint{margin:0;font-size:.9rem}.settings-page{min-height:100vh;background:var(--color-bg-app);padding-top:1.25rem}.settings-container{max-width:1400px;margin:0 auto;padding:2rem;display:flex;justify-content:center}.settings-card{display:flex;background:transparent;border-radius:0;box-shadow:none;border:none;overflow:visible;min-height:auto;gap:24px;align-items:flex-start;width:-moz-fit-content;width:fit-content;margin:0 auto}.settings-sidebar{width:240px;flex-shrink:0;padding:1.5rem;background:#fff;border-radius:var(--card-radius);box-shadow:var(--card-shadow);display:flex;flex-direction:column;overflow:visible;border:none;height:-moz-fit-content;height:fit-content}.settings-sidebar::-webkit-scrollbar,.settings-nav::-webkit-scrollbar{display:none}.settings-sidebar-header{margin-bottom:1.5rem}.settings-title{margin:0;padding:0 0 0 1rem;font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.settings-nav{display:flex;flex-direction:column;gap:.5rem;overflow:visible}.settings-nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-secondary);font-size:.9375rem;font-weight:500;transition:all var(--transition-fast);text-align:left;width:100%}.settings-nav-item:hover{background:var(--color-bg-app);color:var(--color-text-primary)}.settings-sidebar:hover,.settings-content:hover,.settings-card:hover{box-shadow:var(--card-shadow);transform:none}.settings-nav-item.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.nav-item-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px}.nav-item-label{flex:1}.settings-content{flex:0 0 600px;max-width:600px;width:600px;background:#fff;border-radius:var(--card-radius);box-shadow:var(--card-shadow);display:flex;flex-direction:column;overflow:hidden;min-height:0}.settings-content::-webkit-scrollbar{display:none}.settings-section::-webkit-scrollbar{width:8px}.settings-section::-webkit-scrollbar-track{background:transparent}.settings-section::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}.settings-section::-webkit-scrollbar-thumb:hover{background:#0000004d}.back-button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);margin-bottom:2rem}.back-button:hover{background:var(--color-bg-app);color:var(--color-text-primary);border-color:var(--color-primary)}.back-button svg{width:20px;height:20px}.settings-section{animation:fadeIn .3s ease;background:transparent;border:none;box-shadow:none;padding:2rem;margin-bottom:0;width:100%;flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent;-ms-overflow-style:auto;min-height:0}#section-security{padding-left:2rem;padding-right:2rem}#section-security .form-group,#section-security .btn{max-width:400px;width:100%}#section-security .btn{display:flex;align-items:center;justify-content:center}#section-security .btn:disabled{background-color:var(--color-bg-app);color:var(--color-text-tertiary);opacity:1;cursor:not-allowed;box-shadow:none}.appearance-form{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.appearance-block{width:100%;max-width:720px;display:flex;flex-direction:column;gap:.5rem}.appearance-block:not(:first-child){margin-top:2rem}.appearance-label{font-size:1.0625rem;font-weight:700;color:var(--color-text-primary);margin:0 0 .75rem;padding:0}.appearance-card{width:100%;max-width:720px;background:var(--color-bg-app);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-sm);padding:1.25rem 1.5rem 1.5rem}.settings-page .section-title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0 0 2rem}.avatar-plus-badge{position:absolute;bottom:16px;right:0;width:32px;height:32px;background:#64748b;border:3px solid var(--color-bg-surface);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #00000026;transition:all .2s ease;z-index:10}.avatar-plus-badge:hover{transform:scale(1.1);background:#475569}.settings-form{display:flex;flex-direction:column;gap:1.5rem;max-width:100%;margin:0;padding-top:0;width:100%}.appearance-form.settings-form{max-width:100%;width:100%;padding-top:0;align-items:flex-start}.pdf-viewer-container{width:100%;max-width:100%;min-height:220px;height:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-app);display:flex;align-items:center;justify-content:center;padding:1.5rem;box-sizing:border-box}.pdf-viewer-container--full{width:100%;max-width:920px;height:70vh;padding:1rem;align-items:stretch;justify-content:stretch}.empty-pdf-viewer{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;color:var(--color-text-secondary);font-size:.875rem}.empty-pdf-viewer p{margin:0}.settings-page .form-group{position:relative;margin-bottom:20px;transition:opacity .2s ease}.settings-page .form-group:last-child{margin-bottom:0}.settings-page .form-group.disabled{opacity:.5;pointer-events:none}.settings-page .form-group label{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:14px;color:#6b7280;pointer-events:none;transition:all .15s ease;background:#fff;padding:0 4px;z-index:1;font-weight:400;line-height:1;display:flex;align-items:center}.settings-page .form-group input:not(:-moz-placeholder)+label{top:-1px;font-size:12px;color:#1a1a1a;font-weight:500}.settings-page .form-group label.filled,.settings-page .form-group:focus-within label,.settings-page .form-group input:focus+label,.settings-page .form-group input:not(:placeholder-shown)+label{top:-1px;font-size:12px;color:#1a1a1a;font-weight:500}.settings-page .form-group textarea+label{position:static;transform:none;background:transparent;padding:0;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.settings-page .form-group select+label,.settings-page .form-group select~label,.settings-page .form-group label:has(+select),.settings-page .form-group:has(select) label{position:static;transform:none;background:transparent;padding:0;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--color-text-primary);display:block}.settings-page .form-group select{width:100%;padding:13px 44px 13px 14px;font-size:14px;color:#1a1a1a;background:#fff;border:1.5px solid #D1D4DB;border-radius:12px;outline:none;transition:all .15s ease;font-family:inherit;font-weight:400;appearance:none;-webkit-appearance:none;-moz-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='%2364748b' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px;cursor:pointer}.settings-page .form-group select:focus{border-color:#aeb4c2;box-shadow:0 0 0 3px #aeb4c21a}.settings-page .form-group select:hover{border-color:#aeb4c2}.settings-page .form-group input{width:100%;padding:13px 44px 13px 14px;font-size:14px;color:#1a1a1a;background:#fff;border:1.5px solid #D1D4DB;border-radius:12px;outline:none;transition:all .15s ease;font-family:inherit;font-weight:400}.settings-page .form-group textarea{padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-app);color:var(--color-text-primary);font-size:.9375rem;transition:all var(--transition-fast);font-family:inherit}.settings-page .form-group input:focus,.settings-page .form-group textarea:focus{border-color:#aeb4c2;box-shadow:0 0 0 3px #aeb4c21a}.settings-page .form-group input.error{border-color:#dc2626}.settings-page .form-group input.error:focus{box-shadow:0 0 0 3px #dc262614}.settings-page .form-group input:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed;border-color:#e5e7eb}.settings-page .form-group input::-moz-placeholder{opacity:0}.settings-page .form-group input::placeholder{opacity:0}.settings-page .form-group input:-webkit-autofill,.settings-page .form-group input:-webkit-autofill:hover,.settings-page .form-group input:-webkit-autofill:focus,.settings-page .form-group input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px white inset!important;-webkit-text-fill-color:#1a1a1a!important}.settings-page .form-group input[autocomplete=off]{-webkit-autocomplete:off;-moz-autocomplete:off}.settings-page .form-group input[type=password]::-ms-reveal,.settings-page .form-group input[type=password]::-ms-clear{display:none}.settings-page .form-group input[type=password]::-webkit-credentials-auto-fill-button,.settings-page .form-group input[type=password]::-webkit-strong-password-auto-fill-button{display:none!important;visibility:hidden;pointer-events:none}.settings-page .form-group textarea{resize:vertical;min-height:100px}.password-wrapper{position:relative}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:#6b7280;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;transition:all .15s ease;border-radius:6px}.password-toggle:hover:not(:disabled){color:#1a1a1a;background:#f3f4f6}.password-toggle:disabled{opacity:.4;cursor:not-allowed}.password-toggle svg{width:18px;height:18px}.field-error{display:block;color:#dc2626;font-size:12px;margin-top:6px;margin-left:2px;font-weight:400;animation:shake .3s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.form-message{padding:10px 14px;border-radius:6px;font-size:13px;margin-bottom:18px;display:flex;align-items:center;gap:8px;animation:slideDown .2s ease;font-weight:400}@keyframes slideDown{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}.form-message.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.form-message.success{background:#f0fdf4;color:#15803d;border:1px solid #bbf7d0}.settings-page .spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.password-note{margin-top:.75rem;color:var(--color-text-tertiary);font-size:.7rem;text-align:center;width:100%;max-width:400px}.toggle-group{display:flex;flex-direction:column;gap:1.5rem}.toggle-group.column .toggle-label-wrapper{display:flex;align-items:center;justify-content:space-between;padding:0;background:transparent;border-radius:0;border:none;gap:.75rem;flex-wrap:wrap}.toggle-group .toggle-label-wrapper{display:flex;align-items:center;justify-content:space-between;width:100%}.toggle-group .toggle-label-wrapper .toggle{order:2;flex-shrink:0}.toggle-group .toggle-label-wrapper>div{order:1;flex:1}.radio-group{display:flex;gap:1rem;flex-wrap:wrap}.radio-item{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-app);cursor:pointer;transition:all var(--transition-fast);flex:1;min-width:120px}.radio-item:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.radio-item input[type=radio]{margin:0;cursor:pointer}.radio-item input[type=radio]:checked+span{color:var(--color-primary);font-weight:500}.radio-item span{color:var(--color-text-primary);font-size:.9375rem}.info-card{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:var(--color-bg-app);border-radius:var(--radius-md);border:1px solid var(--color-border)}.info-card.danger{border-color:#fecaca;background:#fef2f2}.info-card svg{color:var(--color-primary);flex-shrink:0}.info-card.danger svg{color:#ef4444}.info-card>div{flex:1}.info-card h4{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .25rem}.info-card p{font-size:.875rem;color:var(--color-text-secondary);margin:0}.checkbox-group{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--color-bg-app);border-radius:var(--radius-md);border:1px solid var(--color-border)}.checkbox-item{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.checkbox-item:hover{background:#6366f10d}.checkbox-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.checkbox-item span{color:var(--color-text-primary);font-size:.9375rem}.subsection-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:2.5rem 0 1rem}.admins-list-section{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border)}.color-theme-group{display:flex;gap:.75rem;align-items:center;justify-content:flex-start;flex-wrap:wrap;margin-top:.5rem}.color-theme-item{display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:pointer;transition:all var(--transition-fast)}.color-preview{width:40px;height:40px;border-radius:50%;box-shadow:0 2px 8px #00000026;transition:all var(--transition-fast)}.color-preview.default-preview{border:2px solid var(--color-border);background:#fff!important}.color-theme-item:hover .color-preview{transform:scale(1.15);box-shadow:0 4px 12px #00000040}.color-theme-item.active .color-preview{transform:scale(1.2);box-shadow:0 0 0 3px var(--color-primary-light),0 4px 12px #00000040}.font-size-group{display:flex;gap:.5rem;flex-wrap:wrap;background:transparent;border:none;border-radius:0;padding:0;align-items:center;justify-content:flex-start;width:100%;max-width:310px}.font-size-item{padding:.5rem 1rem;background:var(--color-bg-app);color:var(--color-text-primary);border:none;border-radius:var(--radius-full);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);min-height:2.5rem;display:flex;align-items:center;justify-content:center;flex:1}.font-size-item:hover{background:#0000000d;color:var(--color-text-primary)}.font-size-item.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.appearance-card:has(.font-size-group){border:none}.appearance-block:has(.form-group select) .form-group select{width:100%;max-width:330px}@media(max-width:1024px){.settings-container{padding:1rem}.settings-sidebar{width:220px}.settings-content{flex:1;width:auto;max-width:none;min-width:0}}@media(max-width:768px){.settings-container{padding:.75rem}.settings-card{flex-direction:column;gap:1rem;width:100%}.settings-sidebar{width:100%;padding:1rem}.settings-sidebar-header{margin-bottom:1rem}.settings-nav{flex-direction:row;overflow-x:auto;gap:.5rem;padding-bottom:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:none}.settings-nav::-webkit-scrollbar{display:none}.settings-nav-item{flex-shrink:0;padding:.625rem 1rem;white-space:nowrap}.settings-content{width:100%;max-width:none;flex:none}.settings-section{padding:1.5rem}}.settings-page .form-section{margin-bottom:2.5rem}.settings-page .form-section:last-of-type{margin-bottom:0}.form-section-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.settings-page .avatar-add-button{position:absolute;bottom:20px;right:8px;width:28px;height:28px;border-radius:50%;background:#9ca3af;border:2.5px solid white;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 6px #00000026;z-index:5;padding:0}.settings-page .avatar-add-button svg{color:#fff}.settings-page .avatar-add-button:hover{background:#4b5563;transform:scale(1.05)}.conversation-selector{display:flex;flex-direction:column;gap:8px}.conversation-selector-search{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-secondary, #f5f5f5);border-radius:8px;border:1px solid var(--border-color, #e0e0e0)}.conversation-selector-search .search-icon{color:var(--text-secondary, #666);flex-shrink:0}.conversation-selector-search .search-input{flex:1;border:none;background:transparent;font-size:14px;outline:none;color:var(--text-primary, #333)}.conversation-selector-search .search-input::-moz-placeholder{color:var(--text-tertiary, #999)}.conversation-selector-search .search-input::placeholder{color:var(--text-tertiary, #999)}.conversation-selector-search .search-clear{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-secondary, #666);display:flex;align-items:center;justify-content:center;border-radius:50%}.conversation-selector-search .search-clear:hover{background:var(--bg-hover, rgba(0, 0, 0, .05))}.conversation-selector-count{font-size:12px;color:var(--primary-color, #2196F3);padding:0 4px;font-weight:500}.conversation-selector-list{overflow-y:auto;border:1px solid var(--border-color, #e0e0e0);border-radius:8px}.conversation-selector-empty{padding:32px 16px;text-align:center;color:var(--text-secondary, #666);font-size:14px}.conversation-selector-loading{display:flex;justify-content:center;padding:16px}.conversation-selector-loading .spinner{animation:spin 1s linear infinite}.conversation-select-item{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;transition:background .15s ease;border-bottom:1px solid var(--border-light, #f0f0f0)}.conversation-select-item:last-child{border-bottom:none}.conversation-select-item:hover{background:var(--bg-hover, rgba(0, 0, 0, .03))}.conversation-select-item.selected{background:var(--primary-light, rgba(33, 150, 243, .08))}.conversation-select-avatar{width:40px;height:40px;border-radius:50%;background:var(--bg-secondary, #f5f5f5);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px;font-weight:600;color:var(--text-secondary, #666);overflow:hidden}.conversation-select-avatar.group{background:var(--primary-light, rgba(33, 150, 243, .15));color:var(--primary-color, #2196F3)}.conversation-select-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.conversation-select-info{flex:1;min-width:0}.conversation-select-name{font-size:14px;font-weight:500;color:var(--text-primary, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-select-subtitle{font-size:12px;color:var(--text-secondary, #666);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.conversation-select-check{width:20px;height:20px;border:2px solid var(--border-color, #ccc);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.conversation-select-check.checked{background:var(--primary-color, #2196F3);border-color:var(--primary-color, #2196F3);color:#fff}.messages-page{display:flex;height:100%;background:var(--color-bg-app);overflow:hidden}.conversations-panel{width:360px;min-width:360px;max-width:360px;background:var(--color-bg-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;height:100%}.conversations-header{padding:0 1rem;display:flex;flex-direction:column;justify-content:center;height:72px;min-height:72px;border-bottom:1px solid var(--color-border)}.conversations-header-top{display:flex;align-items:center;justify-content:space-between}.conversations-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0}.conversations-actions{display:flex;gap:.5rem}.conversations-actions .msg-icon-btn{box-shadow:0 -1px 4px #00000008,0 1px 6px #0000000a}.conversations-actions .msg-icon-btn:hover{box-shadow:0 -1px 5px #0000000a,0 2px 8px #0000000f}.msg-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--color-bg-surface);border:none;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast);box-shadow:0 -1px 5px #0000000a,0 2px 8px #0000000f}.msg-icon-btn:hover{background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:0 -1px 6px #0000000d,0 3px 10px #00000014}.msg-icon-btn:active{transform:scale(.95)}.msg-icon-btn-danger{color:#dc2626}.msg-icon-btn-danger:hover{background:#dc26261a;color:#dc2626}.msg-icon-btn.active{background:var(--color-primary);color:#fff}.msg-icon-btn.active:hover{background:var(--color-primary);opacity:.9}.msg-icon-btn-spinner{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-text-primary);border-radius:50%;animation:msg-icon-btn-spin .9s linear infinite}@keyframes msg-icon-btn-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.conversations-search{position:relative;display:flex;align-items:center}.conversations-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.conversations-search input{width:100%;padding:10px 40px;font-size:var(--font-size-sm);color:var(--color-text-primary);background:#fff;border:none;border-radius:1.5rem;outline:none;box-shadow:0 2px 8px #0000000d;transition:all var(--transition-fast)}.conversations-search input::-moz-placeholder{color:var(--color-text-tertiary)}.conversations-search input::placeholder{color:var(--color-text-tertiary)}.conversations-search input:focus{border-color:var(--color-input-border);box-shadow:0 2px 10px #00000014}.conversations-search-expanded{display:flex;align-items:center;gap:.5rem;width:100%}.conversations-search-input-wrapper{position:relative;flex:1;display:flex;align-items:center}.conversations-search-icon-expanded{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.conversations-search-input-wrapper input{width:100%;padding:8px 40px 8px 36px;font-size:var(--font-size-sm);color:var(--color-text-primary);background:#fff;border:none;border-radius:1.5rem;outline:none;box-shadow:0 2px 8px #0000000d;transition:all var(--transition-fast);height:36px}.conversations-search-input-wrapper input:focus{background:#fff;box-shadow:0 2px 10px #00000014}.msg-icon-btn-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:50%;cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.msg-icon-btn-close.inside{position:absolute;right:4px;top:0;bottom:0;width:32px;height:32px;margin:auto 0}.msg-icon-btn-close:hover{background:#0000000d;color:var(--color-text-secondary)}.conversations-list{flex:1;overflow-y:auto;padding:.5rem}.conversations-list::-webkit-scrollbar{width:4px}.conversations-list::-webkit-scrollbar-thumb{background:#0000001f;border-radius:var(--radius-full)}.conversations-list::-webkit-scrollbar-thumb:hover{background:#00000038}.conversations-list::-webkit-scrollbar-track{background:transparent}.conversation-item{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);position:relative;content-visibility:auto;contain-intrinsic-size:1px 64px}.conversation-item:hover{background:var(--color-row-hover)}.conversation-item.active{background:#f4f7fa}.conversation-item.active:hover{background:#eef2f6}.conversation-avatar{width:48px;height:48px;min-width:48px;border-radius:50%;background:#64748b26;display:flex;align-items:center;justify-content:center;color:#64748b;font-weight:600;font-size:1rem;position:relative}.conversation-avatar.group{background:#64748b26;color:#64748b}.conversation-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.conversation-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.conversation-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.conversation-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-item.unread .conversation-name{font-weight:600}.conversation-time{font-size:.6875rem;color:var(--color-text-tertiary);white-space:nowrap;flex-shrink:0}.conversation-time.seen{color:var(--color-text-tertiary)}.conversation-preview{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.conversation-message{font-size:.8125rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.conversation-item.unread .conversation-message{color:var(--color-text-primary);font-weight:500}.conversation-left-badge{margin-left:.5rem;padding:.1rem .45rem;border-radius:999px;font-size:.675rem;font-weight:500;background:var(--color-surface-muted, #eef2f6);color:var(--color-text-tertiary)}.unread-badge{width:20px;height:20px;min-width:20px;padding:0;background:#111827;color:#fff;font-size:.6875rem;font-weight:600;border-radius:50%;display:flex;align-items:center;justify-content:center}.unread-badge.high{background:#ef4444;box-shadow:0 2px 6px #ef444459}.conversation-indicators{display:flex;align-items:center;gap:.25rem;margin-left:auto}.indicator-icon{color:var(--color-text-tertiary);opacity:.7}.chat-panel{flex:1;display:flex;flex-direction:column;background:var(--color-bg-app);min-width:0;height:100%;overflow:hidden}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.chat-empty-icon{width:80px;height:80px;background:var(--color-bg-nested);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);margin-bottom:1.5rem}.chat-empty-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .5rem}.chat-empty-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;max-width:280px}.chat-header{padding:0 1.25rem;height:72px;min-height:72px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:1rem}.chat-header-avatar{width:40px;height:40px;min-width:40px;border-radius:50%;background:#64748b;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem}.chat-header-avatar.group{background:#64748b}.chat-header-avatar.chat-header-avatar-placeholder,.chat-header-avatar.chat-header-avatar-placeholder.group{background:#64748b26;color:#64748b}.chat-header-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.chat-header-info{flex:1;min-width:0}.chat-header-name{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header-meta{font-size:.75rem;color:var(--color-text-secondary);margin:0}.chat-header-actions{display:flex;gap:.5rem}.chat-header-actions .msg-icon-btn{background:transparent!important;box-shadow:none}.chat-header-actions .msg-icon-btn:hover{background:var(--color-row-hover)!important}.chat-header-search-expanded{flex:1;display:flex;align-items:center;min-width:0}.chat-header-search-expanded .conversations-search-input-wrapper{width:100%}.chat-header{min-height:65px}.chat-header-spacer{flex:1}.chat-header-actions .msg-icon-btn.delete{color:var(--color-error)}.chat-header-actions .msg-icon-btn.delete:hover{background:var(--color-error-bg)!important}.message-list{flex:1;overflow:hidden;position:relative;min-height:0}.message-list .message-list-scroller{scrollbar-gutter:stable}.message-list .message-list-scroller::-webkit-scrollbar{width:6px}.message-list .message-list-scroller::-webkit-scrollbar-thumb{background:#0000002e;border-radius:var(--radius-full)}.message-list .message-list-scroller::-webkit-scrollbar-track{background:transparent}.message-list .message-list-scroller{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.18) transparent}.message-list-loader{text-align:center;font-size:.75rem;color:var(--color-text-tertiary);padding:.25rem 0}.message-list::-webkit-scrollbar{width:4px}.message-list::-webkit-scrollbar-thumb{background:#0000001f;border-radius:var(--radius-full)}.message-list::-webkit-scrollbar-thumb:hover{background:#00000038}.message-list::-webkit-scrollbar-track{background:transparent}.date-separator{display:flex;align-items:center;justify-content:center;margin:1rem 0}.date-separator-text{font-size:.6875rem;font-weight:500;color:var(--color-text-tertiary);background:var(--color-bg-app);padding:.375rem .75rem;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.02em}.message-search-results{flex:1;overflow-y:auto;padding:.5rem .75rem 1rem}.message-search-status{padding:1.5rem 1rem;text-align:center;color:var(--color-text-tertiary);font-size:.875rem}.message-search-result{width:100%;display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border:none;background:transparent;text-align:left;cursor:pointer;border-radius:10px}.message-search-result:hover{background:var(--color-row-hover)}.message-search-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;background:var(--color-surface-muted, #eef2f6);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;flex-shrink:0}.message-search-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.message-search-content{flex:1;min-width:0}.message-search-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.message-search-sender{font-weight:600;font-size:.9rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-search-time{font-size:.75rem;color:var(--color-text-tertiary);white-space:nowrap}.message-search-snippet{margin-top:.25rem;font-size:.85rem;color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.message-search-load-more{padding:.5rem 0;display:flex;justify-content:center}.message-search-load-btn{border:1px solid var(--color-border, #e2e8f0);background:#fff;color:var(--color-text-primary);padding:.4rem .9rem;border-radius:999px;font-size:.8rem;cursor:pointer}.message-search-load-btn:disabled{opacity:.6;cursor:not-allowed}.message-highlight{background:#fff2a8;border-radius:2px;font-weight:600}@keyframes search-pulse{0%{box-shadow:0 0 #ffc80080}70%{box-shadow:0 0 0 12px #ffc80000}to{box-shadow:0 0 #ffc80000}}.message-block.search-highlight .message-content{background-color:#ffc80026;animation:search-pulse .7s ease-out}.message-block.search-highlight.own .message-content{background-color:#ffc80033}.message-search-skeleton{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem}.message-search-skeleton .avatar-skeleton{width:36px;height:36px;border-radius:50%;flex-shrink:0}.message-search-skeleton .content-skeleton{flex:1;display:flex;flex-direction:column;gap:.5rem}.message-search-skeleton .line-skeleton{height:12px;border-radius:6px}.message-search-skeleton .line-skeleton.short{width:60%}.message-search-skeleton .line-skeleton.medium{width:80%}.search-context-loading{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--bg-secondary, #f9fafb);flex:1;overflow:hidden}.search-context-loading .context-skeleton-row{display:flex;gap:.75rem;align-items:flex-start}.search-context-loading .context-skeleton-row.own{flex-direction:row-reverse}.search-context-loading .context-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0}.search-context-loading .context-bubble{display:flex;flex-direction:column;gap:.35rem;max-width:70%}.search-context-loading .context-line{height:14px;border-radius:8px}.search-context-loading .context-line.short{width:120px}.search-context-loading .context-line.medium{width:200px}.search-context-loading .context-line.long{width:280px}.chat-header-back-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast);margin-right:.25rem}.chat-header-back-btn:hover{background:var(--color-row-hover);color:var(--color-text-primary)}.new-messages-separator{display:flex;align-items:center;justify-content:center;margin:1rem 0;width:100%}.new-messages-separator:before,.new-messages-separator:after{content:"";flex:1;height:1px;background-color:var(--color-border)}.new-messages-separator span{font-size:.75rem;font-weight:500;color:var(--color-text-tertiary);background:transparent;border:none;padding:0 1rem}.message-block{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.25rem;width:100%;isolation:isolate;cursor:pointer}.message-block.own{justify-content:flex-end}.message-block.other{justify-content:flex-start}.message-block.other+.message-block.own,.message-block.own+.message-block.other{margin-top:1rem}.message-avatar-wrapper{flex-shrink:0;width:32px}.message-avatar{width:32px;height:32px;border-radius:50%;background:#64748b26;display:flex;align-items:center;justify-content:center;color:#64748b;font-weight:600;font-size:.75rem}.message-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.message-avatar-spacer{width:32px;height:32px}.message-bubble-wrapper{display:flex;flex-direction:column;align-items:flex-start;max-width:70%}.message-block.own .message-bubble-wrapper{align-items:flex-end}.message-actions-inline{display:flex;align-items:flex-start;flex-shrink:0;animation:fadeIn .15s ease}.action-icon-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:50%;cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast)}.action-icon-btn:hover{background:var(--color-bg-nested);color:var(--color-text-primary)}.action-icon-btn.delete:hover{background:var(--color-error-bg);color:var(--color-error)}.message-sender-inside{font-size:.75rem;font-weight:600;color:var(--color-primary);margin-bottom:.25rem}.message-sender{font-size:.75rem;font-weight:600;color:var(--color-primary);margin-bottom:.25rem;margin-left:.75rem}.message-content-wrapper{position:relative;display:flex;flex-direction:column;overflow:visible}.message-status-indicator{align-self:flex-end;margin-top:4px;display:flex;align-items:center;gap:4px;color:var(--color-text-tertiary)}.message-hover-action{position:absolute;top:8px;width:28px;height:28px;border-radius:50%;background:var(--color-bg-surface);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:10;color:var(--color-text-secondary)}.message-block:hover .message-hover-action{opacity:1;pointer-events:auto}.message-hover-action:hover{background:var(--color-bg-nested);color:#000}.message-selected-action{position:absolute;top:8px;width:28px;height:28px;border-radius:50%;background:var(--color-bg-surface);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);cursor:pointer;z-index:10;color:var(--color-text-secondary);animation:fadeIn .2s ease}.message-selected-action:hover{background:var(--color-bg-nested);color:var(--color-text-primary)}.message-selected-action.delete:hover{color:var(--color-error);background:var(--color-error-bg);border-color:transparent}.message-block.other .message-hover-action,.message-block.other .message-selected-action.reply{right:-36px;background:#fff}.message-block.own .message-hover-action,.message-block.own .message-selected-action.reply{left:-36px;background:#fff}.message-block.own .message-selected-action.edit{left:-108px;background:#fff}.message-block.own .message-selected-action.edit:hover{color:#000;background:var(--color-bg-nested);border-color:transparent}.message-block.own .message-selected-action.delete{left:-72px;background:#fff}.edit-bar .edit-line{background:var(--color-primary)!important}.edit-bar .reply-bar-sender{color:var(--color-primary)}.message-content{background:var(--color-bg-surface);border-radius:var(--radius-lg);padding:.625rem;box-shadow:var(--shadow-sm);position:relative;cursor:pointer;min-width:20px;width:-moz-fit-content;width:fit-content;max-width:100%}.message-block.first-in-group.other .message-content{border-top-left-radius:4px}.message-block.first-in-group.own .message-content{border-top-right-radius:4px}.message-block.own .message-content{background:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.message-block.selected .message-content-wrapper{overflow:visible}.message-block.selected .message-content-wrapper:before{display:none}.message-block.selected .message-content{position:relative;z-index:1}.message-reply{font-size:.75rem;color:var(--color-text-secondary);padding:.5rem .75rem;margin-bottom:.5rem;border-left:3px solid var(--color-primary);background:#00000008;border-radius:0 var(--radius-sm) var(--radius-sm) 0;cursor:pointer;transition:background var(--transition-fast)}.message-reply:hover{background:#0000000f}.message-reply-sender{font-weight:600;margin-bottom:.125rem}.message-title{font-size:1.125rem;font-weight:600;line-height:1.3;margin:0 0 .375rem;word-wrap:break-word}.message-body{font-size:var(--font-size-sm);line-height:1.4;word-wrap:break-word;white-space:pre-wrap}.message-body strong,.message-body b{font-weight:600}.message-body em,.message-body i{font-style:italic}.message-body u{text-decoration:underline}.message-body s,.message-body strike{text-decoration:line-through}.message-body a{color:var(--color-primary);text-decoration:underline}.message-body a:hover{text-decoration:none}.message-body ul,.message-body ol{margin:.25rem 0;padding-left:1.25rem}.message-body li{margin:.125rem 0}.message-body p{margin:0 0 .25rem}.message-body p:last-child{margin-bottom:0}.message-body h1{font-size:1.25rem;font-weight:700;margin:.5rem 0 .375rem;line-height:1.3}.message-body h1:first-child{margin-top:0}.message-body h2{font-size:1.125rem;font-weight:600;margin:.375rem 0 .25rem;line-height:1.3}.message-body h2:first-child{margin-top:0}.message-body h3{font-size:1rem;font-weight:600;margin:.25rem 0 .1875rem;line-height:1.3}.message-body h3:first-child{margin-top:0}.message-body color[value=red]{color:#dc2626}.message-body color[value=green]{color:#16a34a}.message-body color[value=amber]{color:#d97706}.message-body color[value=gray]{color:#6b7280}.message-body color[value=pink]{color:#db2777}.message-block.own .message-body span[style],.message-block.own .message-body [data-color],.message-block.own .message-content .message-body *{color:inherit}.seen-indicator{text-align:right;padding:.5rem 1rem;font-size:.75rem;color:var(--color-text-tertiary)}.send-status-indicator{text-align:right;padding:.35rem 1rem 0;font-size:.75rem;color:var(--color-text-tertiary)}.seen-indicator-btn{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}.seen-indicator-btn:hover{text-decoration:underline;color:var(--color-text-secondary)}.message-timestamp{font-size:.6875rem;color:var(--color-text-tertiary);margin-top:.25rem;padding:0 .25rem;animation:fadeIn .15s ease}.message-sending-indicator{font-size:.6875rem;color:var(--color-text-secondary);margin-top:.25rem;padding:0 .25rem;font-style:italic}.message-block.own .message-sending-indicator,.message-block.own .message-timestamp{text-align:right}.message-edited{font-style:italic}.message-retry{color:var(--color-error);background:none;border:none;cursor:pointer;text-decoration:underline;font-size:inherit}.message-block.sending .message-content{opacity:.7}.message-block.failed .message-content{border:1px solid var(--color-error)}.system-message{display:flex;justify-content:center;margin:.75rem 0}.system-message-text{font-size:.75rem;color:var(--color-text-tertiary);background:transparent;padding:.375rem .75rem;border-radius:var(--radius-full);text-align:center;display:inline-block;max-width:calc(100% - 2rem);word-wrap:break-word}.message-attachments{display:flex;flex-direction:column;gap:.5rem}.message-block.sending .message-attachments{min-height:100px}.message-attachments.loading .attachments-placeholder{display:flex;gap:4px;padding:.25rem 0}.attachment-skeleton{width:100px;height:100px;flex-shrink:0;border-radius:var(--radius-sm);background:linear-gradient(90deg,#0000000d,#0000001f,#0000000d);background-size:200% 100%;animation:image-loading 1.2s ease-in-out infinite}.attachment-skeleton.shimmer{background:linear-gradient(90deg,#0000000d,#0000001f,#0000000d);background-size:200% 100%;animation:image-loading 1.2s ease-in-out infinite}.message-body+.message-attachments,.message-title+.message-attachments,.message-reply+.message-attachments,.message-sender-inside+.message-attachments{margin-top:.5rem}.unified-attachments{display:flex;flex-wrap:nowrap;gap:6px;border-radius:var(--radius-md);overflow:visible}.unified-attachments.grid-mode{display:flex;flex-wrap:wrap}.unified-preview-item{position:relative;width:100px;height:100px;flex-shrink:0;background:var(--color-bg-nested);border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;transition:transform .2s ease,opacity .2s ease}.unified-preview-item:hover{transform:scale(1.02)}.unified-preview-item.uploading,.unified-preview-item.sending{pointer-events:none}.unified-preview-item.uploading img{opacity:.5}.unified-preview-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:opacity .3s ease}.unified-preview-item .preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:1rem .5rem;gap:.5rem;text-align:center}.unified-preview-item .placeholder-icon{display:flex;align-items:center;justify-content:center;opacity:1}.unified-preview-item .placeholder-filename{font-size:.6875rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px;opacity:.9}.unified-preview-item .preview-placeholder.loading{background:linear-gradient(90deg,var(--color-bg-nested) 0%,var(--color-bg-surface) 50%,var(--color-bg-nested) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite ease-in-out}.unified-preview-item .preview-size-overlay{position:absolute;bottom:6px;left:6px;font-size:.6875rem;font-weight:500;color:#fff;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:2px 6px;border-radius:var(--radius-sm)}.unified-preview-item .preview-more-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#fff;font-size:1.25rem;font-weight:600}.unified-preview-item .upload-progress-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#00000080;border-radius:inherit;z-index:10}.unified-preview-item .progress-circle{transform:rotate(-90deg)}.unified-preview-item .progress-circle .progress-bg{stroke:#ffffff4d}.unified-preview-item .progress-circle .progress-bar{stroke:#fff;transition:stroke-dashoffset .15s ease}.unified-preview-item .progress-text{position:absolute;color:#fff;font-size:.75rem;font-weight:600}.file-attachment{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;background:#0000000a;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.file-attachment:hover{background:#00000014}.file-attachment.loading{opacity:.7;cursor:wait}.file-icon{width:36px;height:36px;min-width:36px;background:var(--color-bg-surface);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.file-info{flex:1;min-width:0}.file-name{font-size:.8125rem;font-weight:500;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:.6875rem;color:var(--color-text-tertiary)}.image-grid{display:grid;gap:.25rem;border-radius:var(--radius-md);overflow:hidden}.image-grid.count-1{grid-template-columns:1fr}.image-grid.count-2{grid-template-columns:1fr 1fr}.image-grid.count-3{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.image-grid.count-3 .image-item:first-child{grid-row:span 2}.image-item{position:relative;aspect-ratio:1;overflow:hidden;cursor:pointer}.image-item.loading{background:#00000014;cursor:default}.image-placeholder{width:100%;height:100%;background:linear-gradient(90deg,#0000000d,#0000001f,#0000000d);background-size:200% 100%;animation:image-loading 1.2s ease-in-out infinite}.image-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--transition-fast)}.image-item:hover img{transform:scale(1.05)}.attachment-retry-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#1118278c;z-index:3}.attachment-retry-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;border:none;background:#fffffff2;color:#111827;box-shadow:0 4px 12px #00000040;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.attachment-retry-button:hover{transform:scale(1.05);box-shadow:0 6px 14px #0000004d}.attachment-retry-button:active{transform:scale(.97)}.image-more-overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;font-weight:600}@keyframes image-loading{0%{background-position:0% 50%}to{background-position:100% 50%}}.unified-attachments{display:flex;gap:4px;border-radius:var(--radius-md);overflow:hidden}.unified-attachments.flex-mode{flex-wrap:nowrap}.unified-attachments.flex-mode.count-1{max-width:280px}.unified-attachments.flex-mode.count-2 .unified-preview-item,.unified-attachments.flex-mode.count-3 .unified-preview-item,.unified-attachments.flex-mode.count-4 .unified-preview-item,.unified-attachments.flex-mode.count-5 .unified-preview-item{width:100px;flex-shrink:0}.unified-attachments.grid-mode{display:grid;grid-template-columns:repeat(3,1fr)}.unified-preview-item{position:relative;aspect-ratio:var(--aspect-ratio, 1);min-height:80px;max-height:200px;overflow:hidden;cursor:pointer;border-radius:var(--radius-sm);background:#0000000d}.unified-attachments.grid-mode .unified-preview-item{aspect-ratio:1}.unified-preview-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .2s ease}.unified-preview-item:hover img{transform:scale(1.05)}.unified-preview-item .preview-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:var(--color-bg-app);color:#9ca3af;box-shadow:none}.unified-preview-item .preview-placeholder.loading{background:linear-gradient(90deg,#0000000d,#0000001f,#0000000d);background-size:200% 100%;animation:image-loading 1.2s ease-in-out infinite}.unified-preview-item .placeholder-icon{opacity:1}.unified-preview-item .placeholder-filename{font-size:10px;max-width:90%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.8}.unified-preview-item .preview-size-overlay{position:absolute;bottom:6px;left:6px;background:#0009;color:#fff;font-size:10px;font-weight:500;padding:2px 6px;border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.unified-preview-item .preview-more-overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;font-weight:600;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.unified-preview-item.type-video .preview-placeholder,.unified-preview-item.type-pdf .preview-placeholder,.unified-preview-item.type-file .preview-placeholder{background:var(--color-bg-app);color:#9ca3af;box-shadow:none}.message-input-container{padding:.5rem 1rem 1rem;background:#f5f6f8;border-top:none;flex-shrink:0}.reply-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem;margin-bottom:0;background:var(--color-bg-surface);border-radius:var(--radius-md) var(--radius-md) 0 0;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.reply-bar-content{display:flex;align-items:stretch;gap:.75rem;flex:1;min-width:0}.reply-bar-line{width:3px;background:var(--color-primary);border-radius:2px;flex-shrink:0}.reply-bar-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.reply-bar-sender{font-size:.75rem;font-weight:600;color:var(--color-primary)}.reply-bar-text{font-size:.8125rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-bar-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:50%;cursor:pointer;color:var(--color-text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.reply-bar-close:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.message-input-wrapper{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:none;border-radius:var(--radius-md);transition:all .2s ease;min-height:48px}.message-input-wrapper.has-reply{border-top-left-radius:0;border-top-right-radius:0}.message-input-wrapper>.send-btn{align-self:center}.message-input-wrapper:focus-within{box-shadow:none}.message-readonly-strap{background-color:#fff;border-top:1px solid rgba(0,0,0,.06)}.message-input-actions{display:flex;gap:.25rem}.input-msg-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast)}.input-msg-icon-btn:hover{background:#0000000d;color:var(--color-text-primary)}.message-input-field{flex:1;border:none;outline:none;font-size:.9375rem;color:var(--color-text-primary);line-height:1.5;font-family:inherit;background:transparent;min-width:0;min-height:24px;max-height:120px;resize:none;overflow-y:auto;padding:0;-ms-overflow-style:none;scrollbar-width:none}.message-input-field::-webkit-scrollbar{display:none}.message-input-field::-moz-placeholder{color:var(--color-text-tertiary)}.message-input-field::placeholder{color:var(--color-text-tertiary)}.send-btn{display:flex;align-items:center;justify-content:center;width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;max-width:32px!important;max-height:32px!important;background:transparent;border:none;cursor:pointer;color:#000;transition:all .2s ease;flex-shrink:0!important;flex-grow:0!important;padding:0;box-sizing:border-box}.send-btn svg{display:block;color:#000;flex-shrink:0}.send-btn:hover:not(:disabled){background:#000;border-radius:50%}.send-btn:hover:not(:disabled) svg{color:#fff}.send-btn:active:not(:disabled){transform:scale(.95)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.attachment-preview{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--color-border)}.attachment-preview-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--color-bg-nested);border-radius:var(--radius-md);font-size:.8125rem;color:var(--color-text-primary);position:relative}.attachment-preview-item.image{padding:.25rem}.attachment-thumb{width:48px;height:48px;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-sm)}.attachment-name{max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:#0000001a;border:none;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast)}.attachment-preview-item.image .attachment-remove{position:absolute;top:-4px;right:-4px;background:var(--color-bg-surface);box-shadow:var(--shadow-sm)}.attachment-remove:hover{background:var(--color-error-bg);color:var(--color-error)}.image-lightbox{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:calc(var(--z-modal) + 10);animation:overlayFadeIn .2s ease}.image-lightbox img{max-width:90%;max-height:90%;-o-object-fit:contain;object-fit:contain;border-radius:var(--radius-md);box-shadow:var(--shadow-xl)}.lightbox-close{position:absolute;top:1.5rem;right:1.5rem;width:44px;height:44px;background:#ffffff1a;border:none;border-radius:50%;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.lightbox-close:hover{background:#fff3}.messages-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:13000;animation:overlayFadeIn .2s ease}.messages-modal-content{background:var(--color-bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:400px;max-height:90vh;height:650px;display:flex;flex-direction:column;animation:modalFadeIn .25s var(--ease-out-expo)}.messages-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem .5rem}.messages-modal-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0}.messages-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast)}.messages-modal-close:hover{background:var(--color-row-hover);color:var(--color-text-primary)}.messages-modal-body{flex:1;overflow:hidden;padding:.5rem 1.5rem .25rem;display:flex;flex-direction:column}.messages-modal-body .form-group{position:relative;display:flex;flex-direction:column;margin-bottom:0}.messages-modal-body .form-group label{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:14px;color:#6b7280;pointer-events:none;transition:all .15s ease;background:#fff;padding:0 4px;z-index:1;margin:0}.messages-modal-body .form-group label.filled,.messages-modal-body .form-group:focus-within label{top:-1px;font-size:12px;color:#111827;font-weight:600}.messages-modal-body .form-group input{width:100%;padding:13px 14px;font-size:14px;color:#111827;background:#fff;border:1.5px solid #D1D4DB;border-radius:var(--card-radius);outline:none;box-sizing:border-box}.messages-modal-body .form-group input::-moz-placeholder{opacity:0}.messages-modal-body .form-group input::placeholder{opacity:0}.messages-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding:1.25rem 1.5rem;border-top:1px solid var(--color-border)}.messages-modal-footer.seen-dialog-footer{align-items:center;justify-content:space-between}.messages-modal-tab-bar.tab-bar-container{border-bottom:none;padding:0;margin-bottom:1rem;background:transparent}.messages-modal-tab-bar .tab-bar{justify-content:stretch;width:100%;min-width:0;gap:4px}.messages-modal-tab-bar .tab-item{flex:1;border-radius:var(--radius-md);padding:.5rem .75rem;font-size:.8125rem;font-weight:500;background:transparent;color:var(--color-text-secondary)}.messages-modal-tab-bar .tab-item.active{background:var(--color-primary);color:#fff;font-weight:600}.messages-modal-tab-bar .tab-item.active:after{display:none}.messages-modal-tab-content{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}.messages-modal-content::-webkit-scrollbar,.messages-modal-body::-webkit-scrollbar,.messages-modal-content .seen-dialog-list::-webkit-scrollbar,.messages-modal-content .admin-list::-webkit-scrollbar{width:6px;height:6px}.messages-modal-content::-webkit-scrollbar-track,.messages-modal-body::-webkit-scrollbar-track,.messages-modal-content .seen-dialog-list::-webkit-scrollbar-track,.messages-modal-content .admin-list::-webkit-scrollbar-track{background:transparent}.messages-modal-content::-webkit-scrollbar-thumb,.messages-modal-body::-webkit-scrollbar-thumb,.messages-modal-content .seen-dialog-list::-webkit-scrollbar-thumb,.messages-modal-content .admin-list::-webkit-scrollbar-thumb{background:var(--color-text-tertiary);border-radius:var(--radius-full)}.messages-modal-content::-webkit-scrollbar-thumb:hover,.messages-modal-body::-webkit-scrollbar-thumb:hover,.messages-modal-content .seen-dialog-list::-webkit-scrollbar-thumb:hover,.messages-modal-content .admin-list::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.messages-modal-content,.messages-modal-body,.messages-modal-content .seen-dialog-list,.messages-modal-content .admin-list{scrollbar-width:thin;scrollbar-color:var(--color-text-tertiary) transparent}.modal-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast)}.modal-close:hover{background:var(--color-row-hover);color:var(--color-text-primary)}.close-btn{background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);cursor:pointer;padding:8px;transition:all var(--transition-fast);box-shadow:0 2px 8px #00000014;flex-shrink:0}.close-btn:hover{background:#0000000d;color:var(--color-text-primary);box-shadow:0 4px 12px #0000001f;transform:scale(1.02)}.modal-tab-bar.tab-bar-container{border-bottom:none;padding:0;margin-bottom:1rem;background:transparent}.modal-tab-bar .tab-bar{justify-content:stretch;width:100%;min-width:0;gap:4px}.modal-tab-bar .tab-item{flex:1;border-radius:var(--radius-md);padding:.5rem .75rem;font-size:.8125rem;font-weight:500;background:transparent;color:var(--color-text-secondary)}.modal-tab-bar .tab-item.active{background:var(--color-primary);color:#fff;font-weight:600}.modal-tab-bar .tab-item.active:after{display:none}.seen-dialog{max-width:520px}.seen-dialog-list{display:flex;flex-direction:column;gap:.75rem;max-height:360px;overflow-y:auto}.seen-dialog-item{display:flex;align-items:center;justify-content:space-between;gap:1rem}.seen-dialog-info{display:flex;flex-direction:column;gap:.25rem}.seen-dialog-name{font-size:.9rem;font-weight:600;color:var(--color-text-primary)}.seen-dialog-role{font-size:.75rem;color:var(--color-text-tertiary)}.seen-dialog-time{font-size:.75rem;color:var(--color-text-tertiary);white-space:nowrap}.seen-dialog-footer{align-items:center;justify-content:space-between}.seen-dialog-count{font-size:.75rem;color:var(--color-text-tertiary)}.seen-dialog-loading,.seen-dialog-empty{text-align:center;padding:1rem 0;font-size:.875rem;color:var(--color-text-tertiary)}.admin-search{margin-bottom:1rem;padding-top:5px}.admin-item.skeleton{pointer-events:none;gap:12px}.admin-item.skeleton .admin-avatar{border-radius:50%;position:relative;overflow:hidden}.admin-item.skeleton .admin-info{display:flex;flex-direction:column;gap:6px;width:100%}.admin-item.skeleton .admin-name{height:14px;width:60%;border-radius:var(--radius-sm);position:relative;overflow:hidden}.admin-item.skeleton .admin-designation{height:12px;width:40%;border-radius:var(--radius-sm);position:relative;overflow:hidden}.admin-search .conversations-search input{box-shadow:0 0 12px #00000014;background:#fff;border:none}.admin-search .conversations-search input:focus{box-shadow:0 2px 10px #00000014}.admin-list{display:flex;flex-direction:column;gap:.25rem;max-height:none;flex:1}.chat-info-body .admin-list{max-height:none;overflow-y:visible}.chat-info-body .member-list{max-height:320px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.chat-info-body .member-list::-webkit-scrollbar{display:none}.admin-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);border:none;background:transparent;width:100%;text-align:left}.admin-item:not(button){cursor:default}.admin-item:not(button):hover{background:transparent}.admin-item:hover{background:var(--color-bg-app)}.admin-item.selected{background:var(--color-primary-light)}.admin-item:disabled{cursor:not-allowed;opacity:.6;background:transparent}.admin-item:disabled:hover{background:transparent}.admin-avatar{width:40px;height:40px;min-width:40px;border-radius:50%;background:#64748b26;display:flex;align-items:center;justify-content:center;color:#64748b;font-weight:600;font-size:.875rem;overflow:hidden}.admin-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.admin-info{flex:1;min-width:0}.admin-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-designation{font-size:.75rem;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-chip{display:inline-flex;align-items:center;padding:1px 6px;background:#e5e7eb;color:var(--color-text-secondary);border-radius:8px;font-size:.625rem;font-weight:500}.admin-chip.admin-in-group{background:#f1f5f9;color:var(--color-text-tertiary)}.admin-check{width:24px;height:24px;border-radius:var(--radius-full);border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;transition:var(--transition-fast)}.admin-item.selected .admin-check{background:var(--color-primary);border-color:var(--color-primary)}.group-image-picker{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:.5rem}.group-image-wrapper{position:relative;display:inline-block}.group-image-btn{position:relative;width:96px;height:96px;border-radius:50%;background:var(--color-bg-app);cursor:pointer;overflow:hidden;box-shadow:none;border:none;transition:background .2s ease,transform .2s ease}.group-image-btn:hover{background:var(--color-bg-app);transform:translateY(-1px)}.group-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#6b7280}.group-image-placeholder.group-image-placeholder-initials{background:#64748b26;color:#64748b;font-weight:600;font-size:2rem}.group-image-btn:hover .group-image-placeholder{color:#6b7280}.group-image-preview{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;box-shadow:none}.group-image-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem;background:#0000;opacity:0;transition:background .2s ease,opacity .2s ease;pointer-events:none}.group-image-overlay-spinner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#ffffff73}.group-image-overlay-spinner:after{content:"";width:24px;height:24px;border:2px solid rgba(0,0,0,.2);border-top-color:#0009;border-radius:50%;animation:msg-icon-btn-spin .9s linear infinite}.group-image-btn:hover .group-image-overlay{background:#00000059;opacity:1}.group-image-hint{font-size:.75rem;color:var(--color-text-tertiary)}.group-image-add-button{position:absolute;bottom:4px;right:4px;width:24px;height:24px;border-radius:50%;background:#9ca3af;border:2.5px solid #ffffff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 6px #00000026;padding:0}.group-image-add-button svg{color:#fff}.group-image-add-button:hover{background:#4b5563;transform:scale(1.05)}.group-image-wrapper{position:relative}.group-info-field{position:relative;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 0;overflow-x:hidden;min-width:0}.group-info-field-name{align-items:flex-start}.group-info-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;color:var(--color-text-tertiary);min-width:100px;flex-shrink:0}.group-info-value{font-size:.9375rem;color:var(--color-text-primary);min-height:1.5rem;display:inline-flex;align-items:center;justify-content:center;min-width:0;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;text-align:center}.group-info-field:not(.group-info-field-name) .group-info-value{color:var(--color-text-secondary);font-size:.875rem}.group-info-value-name{font-size:1.125rem;font-weight:600;line-height:1.4;display:block;text-align:center;max-width:280px}.group-info-meta{margin-top:.35rem;text-align:center;font-size:.8125rem;color:var(--color-text-tertiary)}.group-info-created{margin-top:.35rem;text-align:center;font-size:.75rem;color:var(--color-text-tertiary)}.group-info-input{padding:.5rem .75rem;font-size:.9375rem;color:var(--color-text-primary);background:var(--color-bg-nested);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;transition:all var(--transition-fast);min-width:0;max-width:280px;width:100%;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;text-align:center;font-family:inherit;resize:none;overflow-y:hidden;white-space:pre-wrap;line-height:1.4;min-height:2.5rem;box-sizing:border-box;height:auto}.group-info-input-name{font-size:1.125rem;font-weight:600;line-height:1.4;max-width:280px;width:100%;text-align:center;white-space:pre-wrap;overflow-wrap:break-word;word-wrap:break-word;resize:none;overflow:hidden;min-height:2.5rem}.group-info-input:focus{background:#fff;border-color:var(--color-primary);box-shadow:0 0 0 2px #0a84ff1a}.group-info-edit-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:50%;cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast);flex-shrink:0}.group-info-edit-btn:hover{background:var(--color-row-hover);color:var(--color-text-primary)}.chat-info-drawer{position:fixed;top:0;right:0;bottom:0;width:360px;background:var(--color-bg-surface);box-shadow:var(--shadow-lg);z-index:var(--z-overlay);display:flex;flex-direction:column;transform:translate(100%);transition:transform var(--transition-normal);overflow-x:hidden;min-width:0;scrollbar-width:none;-ms-overflow-style:none}.chat-info-drawer::-webkit-scrollbar{display:none}.chat-info-drawer.open{transform:translate(0)}.chat-info-drawer-backdrop{position:fixed;inset:0;background:#0000004d;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:calc(var(--z-overlay) - 1);opacity:0;visibility:hidden;transition:all var(--transition-normal)}.chat-info-drawer-backdrop.visible{opacity:1;visibility:visible}.chat-info-header{display:flex;align-items:center;justify-content:flex-end;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.chat-info-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.chat-info-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:1.25rem;min-width:0;scrollbar-width:none;-ms-overflow-style:none}.chat-info-body::-webkit-scrollbar{display:none}.chat-info-profile{display:flex;flex-direction:column;align-items:center;padding:1rem 0 1.5rem;border-bottom:1px solid var(--color-border);margin-bottom:1.5rem}.chat-info-avatar-btn{position:relative;width:80px;height:80px;border-radius:50%;border:none;background:transparent;padding:0;cursor:pointer;overflow:hidden}.chat-info-avatar-btn:disabled{cursor:default}.chat-info-avatar{width:100%;height:100%;border-radius:50%;background:#64748b26;display:flex;align-items:center;justify-content:center;color:#64748b;font-weight:600;font-size:1.5rem}.chat-info-profile>.chat-info-avatar{width:80px;height:80px;min-width:80px;min-height:80px;max-width:80px;max-height:80px}.chat-info-avatar.group{background:#64748b26;color:#64748b}.chat-info-avatar-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.chat-info-avatar-overlay{position:absolute;bottom:0;right:0;width:28px;height:28px;background:var(--color-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;border:2px solid var(--color-bg-surface)}.chat-info-name{margin:.75rem 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.chat-info-meta{font-size:.8125rem;color:var(--color-text-secondary)}.chat-info-section{margin-bottom:1.5rem}.chat-info-section:last-child{margin-bottom:0}.chat-info-section-title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-tertiary);margin:0 0 .75rem}.chat-info-drawer .close-btn:disabled{opacity:.6;cursor:not-allowed}.chat-info-delete-group-icon-btn{transition:opacity var(--transition-fast)}.chat-info-delete-group-icon-btn:hover{opacity:.8}.members-list{display:flex;flex-direction:column;gap:.25rem}.member-item{display:flex;align-items:center;gap:.75rem;padding:.625rem;border-radius:var(--radius-md);transition:background var(--transition-fast)}.member-item:hover{background:var(--color-row-hover)}.member-avatar{width:36px;height:36px;min-width:36px;border-radius:50%;background:#64748b26;display:flex;align-items:center;justify-content:center;color:#64748b;font-weight:600;font-size:.8125rem}.member-info{flex:1;min-width:0}.member-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary)}.member-role{font-size:.6875rem;color:var(--color-text-secondary)}.member-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;padding:.25rem .5rem;border-radius:var(--radius-sm);background:var(--color-primary-light);color:var(--color-primary)}.member-actions{display:flex;gap:.25rem}.member-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.member-remove-btn:hover{background:var(--color-error-bg);color:var(--color-error)}.member-msg-icon-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:50%;background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.member-msg-icon-btn:hover{background:var(--color-bg-nested);color:var(--color-text-primary)}.member-msg-icon-btn.admin{color:var(--color-primary)}.member-msg-icon-btn.admin:hover{background:var(--color-primary-light);color:var(--color-primary)}.member-msg-icon-btn.remove:hover{background:var(--color-error-bg);color:var(--color-error)}.member-menu{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid var(--color-border);border-radius:12px;box-shadow:0 8px 24px #0000001f;padding:6px;display:flex;flex-direction:column;gap:2px;min-width:160px;z-index:1000}.member-menu button{border:none;background:transparent;padding:10px 12px;text-align:left;border-radius:8px;font-weight:500;color:var(--color-text-primary);cursor:pointer;transition:background .2s ease,color .2s ease;font-size:.875rem;width:100%}.member-menu button:hover{background:var(--color-bg-app)}.member-menu button.danger{color:#dc2626}.member-menu button.danger:hover{background:#dc262614}.leave-confirm-dialog{position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%);background:#fff;border:1px solid var(--color-border);border-radius:12px;box-shadow:0 8px 24px #0000001f;padding:12px;min-width:200px;z-index:1000}.chat-info-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5;margin:0}.chat-info-details{display:flex;flex-direction:column;gap:.5rem}.chat-info-detail-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm)}.detail-label{color:var(--color-text-tertiary)}.detail-value{color:var(--color-text-primary);font-weight:500}.messages-loading{display:flex;align-items:center;justify-content:center;padding:2rem}.load-more-trigger{display:flex;justify-content:center;padding:1rem}.skeleton{border-radius:var(--radius-sm);pointer-events:none}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.conversation-skeleton{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem}.skeleton-avatar{width:48px;height:48px;border-radius:50%}.skeleton-content{flex:1;display:flex;flex-direction:column;gap:.75rem}.skeleton-line{height:12px;border-radius:var(--radius-sm)}.skeleton-line.title{width:70%;height:14px}.skeleton-line.preview{width:90%;height:10px}.skeleton-line.short{width:60%}.skeleton-line.medium{width:80%}.shimmer{background:linear-gradient(90deg,#f1f5f9,#f8fafc,#f1f5f9);background-size:200% 100%;animation:shimmer 1.5s infinite ease-in-out;overflow:hidden}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.message-list .shimmer{background:linear-gradient(90deg,#f0f2f5,#fff,#f0f2f5);background-size:200% 100%}.message-block.skeleton{padding:.5rem 0}.skeleton-bubble{height:48px;border-radius:var(--radius-lg);margin-left:40px}.message-block.skeleton.own .skeleton-bubble{margin-left:auto;margin-right:0}.image-item{position:relative}.image-item.uploading{pointer-events:none}.image-item.uploading img{opacity:.6}.upload-progress-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0006;border-radius:inherit}.progress-circle{transform:rotate(-90deg)}.progress-circle .progress-bg{stroke:#ffffff4d}.progress-circle .progress-bar{stroke:#fff;transition:stroke-dashoffset .1s ease}.progress-text{position:absolute;color:#fff;font-size:.75rem;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.5)}@media(max-width:768px){.conversations-panel{width:100%;max-width:100%;min-width:auto}.chat-panel,.messages-page.chat-open .conversations-panel{display:none}.messages-page.chat-open .chat-panel{display:flex}}.scroll-bottom-btn{position:absolute;bottom:90px;right:24px;width:32px;height:32px;border-radius:50%;background:var(--color-bg-surface);border:1px solid var(--color-border);box-shadow:0 2px 8px #0000001a;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);cursor:pointer;z-index:20;transition:all .2s ease;animation:fadeIn .2s ease-out}.scroll-bottom-btn:hover{background:var(--color-bg-nested);color:var(--color-text-primary);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.selected-members-footer{display:flex;align-items:center;gap:.5rem;overflow-x:auto;flex:1;min-width:0;scrollbar-width:thin;padding-bottom:2px}.selected-members-footer::-webkit-scrollbar{height:4px}.selected-members-footer::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.selected-member-chip{flex-shrink:0;font-size:.75rem;background:var(--color-bg-nested);padding:4px 10px;border-radius:12px;color:var(--color-text-primary);white-space:nowrap;border:1px solid var(--color-border)}.modal-tab-content{display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:0}.admin-list{flex:1;overflow-y:auto;min-height:0;padding-bottom:1rem}.chat-disclaimer{display:flex;justify-content:center;padding:16px 20px;margin-bottom:8px;width:100%}.chat-disclaimer-content{background-color:#fff7ed;color:#666;font-size:.75rem;padding:8px 16px;border-radius:8px;text-align:center;max-width:80%;display:flex;align-items:center;justify-content:center;gap:8px;border:none;box-shadow:none}.disclaimer-icon{color:#ea580c}@keyframes flash-highlight-anim{0%{background-color:#ffc80033}to{background-color:transparent}}.message-block.flash-highlight{animation:flash-highlight-anim 2s ease-out;border-radius:var(--radius-md)}.scrollable-tabs-wrapper{position:relative;display:flex;align-items:center;overflow:hidden;width:100%}.scrollable-tabs-content{display:flex;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;width:100%;gap:8px;align-items:center}.scrollable-tabs-content::-webkit-scrollbar{display:none}.scroll-arrow-container{position:absolute;top:0;bottom:0;z-index:10;display:flex;align-items:center;justify-content:center;pointer-events:none}.scroll-arrow-left-container{left:0;padding-right:24px}.scroll-arrow-right-container{right:0;padding-left:24px}.scroll-arrow-left-container.theme-gray{background:linear-gradient(to right,#f5f6f8 40%,#f5f6f800)}.scroll-arrow-right-container.theme-gray{background:linear-gradient(to left,#f5f6f8 40%,#f5f6f800)}.scroll-arrow-left-container.theme-white{background:linear-gradient(to right,#fff 40%,#fff0)}.scroll-arrow-right-container.theme-white{background:linear-gradient(to left,#fff 40%,#fff0)}.scroll-arrow-btn{pointer-events:auto;width:32px;height:32px;border-radius:50%;border:none;background:#fff;box-shadow:0 1px 3px #0000000d;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#0f0f0f;transition:background-color .2s,box-shadow .2s}.scroll-arrow-btn:hover{background-color:#f1f1f1;box-shadow:0 2px 6px #00000014}.library-page{display:flex;height:100%;background:var(--color-bg-app);overflow:hidden}.library-sidebar{width:45%;min-width:45%;max-width:45%;background:var(--color-bg-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;height:100%}.library-sidebar-header{padding:0 1rem;display:flex;flex-direction:column;justify-content:center;border-bottom:1px solid var(--color-border)}.library-sidebar-title-row{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}.library-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.library-view-switcher{display:flex;background:#f4f7fa;border-radius:var(--radius-full);padding:.25rem;margin-top:.5rem;margin-bottom:0}.library-view-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem;border:none;background:transparent;color:var(--color-text-secondary);font-size:.9rem;font-weight:600;border-radius:var(--radius-full);cursor:pointer;transition:all .2s ease}.library-view-btn:hover{color:var(--color-text-primary)}.library-detail-panel{flex:2;background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000f;display:flex;flex-direction:column;overflow:hidden;position:relative;border:1px solid rgba(0,0,0,.04)}.library-detail-scroll{flex:1;overflow-y:auto;padding:2.5rem 1rem 3rem}.library-view-btn.active{background:#fff;color:var(--color-primary);box-shadow:0 1px 3px #0000001a}.library-search-wrapper{position:relative;display:flex;align-items:center;padding:1rem 0}.library-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.library-search-wrapper input{width:100%;padding:10px 40px;font-size:var(--font-size-sm);color:var(--color-text-primary);background:#f4f7fa;border:none;border-radius:1.5rem;outline:none;box-shadow:none;transition:all var(--transition-fast)}.library-search-wrapper input::-moz-placeholder{color:var(--color-text-tertiary)}.library-search-wrapper input::placeholder{color:var(--color-text-tertiary)}.library-search-wrapper input:focus{background:#fff;box-shadow:0 2px 8px #0000000d}.library-search-clear{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);cursor:pointer;background:none;border:none;padding:0;display:flex;align-items:center;justify-content:center}.library-search-clear:hover{color:var(--color-text-primary)}.library-tabs-wrapper{margin-top:.5rem;margin-bottom:1rem}.library-tabs-container{overflow-x:auto;display:flex;gap:.75rem;padding:0 1rem;align-items:center;scrollbar-width:none}.library-tabs-container::-webkit-scrollbar{display:none}.library-tab{padding:.4rem 1rem;border-radius:20px;font-size:.85rem;font-weight:500;color:var(--color-text-secondary);background:var(--color-bg-app);cursor:pointer;white-space:nowrap;transition:all .2s ease;border:1px solid transparent}.library-tab:hover{background:#eef2f6;color:var(--color-text-primary)}.library-tab.active{background:var(--color-primary);color:#fff;box-shadow:0 2px 6px #0a58ca33}.library-book-list{flex:1;overflow-y:auto;padding:.5rem}.library-book-list::-webkit-scrollbar{width:4px}.library-book-list::-webkit-scrollbar-thumb{background:#0000001f;border-radius:var(--radius-full)}.library-book-list::-webkit-scrollbar-thumb:hover{background:#00000038}.library-book-item{display:flex;gap:1rem;padding:.75rem;border-radius:12px;cursor:pointer;transition:all .2s ease;margin-bottom:.25rem;align-items:center}.library-book-item:hover{background:var(--color-row-hover)}.library-book-item.active{background:#f0f4f8}.library-book-cover-mini{width:50px;height:75px;border-radius:6px;-o-object-fit:cover;object-fit:cover;background-color:var(--color-bg-nested);flex-shrink:0}.library-book-cover-placeholder-mini{width:50px;height:75px;border-radius:6px;background-color:#e5e7eb;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);flex-shrink:0}.library-book-info-list{flex:1;display:flex;flex-direction:column;overflow:hidden}.library-book-title-list{font-size:.95rem;font-weight:600;color:var(--color-text-primary);margin:0 0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-book-author-list{font-size:.8rem;color:var(--color-text-secondary);margin:0 0 .35rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-book-meta-list{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;font-size:.75rem;color:var(--color-text-tertiary)}.library-book-material-type{font-size:.65rem;color:var(--color-text-secondary);background:var(--color-bg-subtle, #f1f5f9);padding:.15rem .4rem;border-radius:4px;text-transform:capitalize;font-weight:600;letter-spacing:.3px}.library-book-rating{display:flex;align-items:center;gap:2px;color:#f59e0b;font-weight:500}.library-book-badge{padding:.15rem .4rem;border-radius:4px;background:#e0f2fe;color:#0284c7;font-size:.65rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.library-book-badge.unavailable{background:#fee2e2;color:#dc2626}.library-list-empty{padding:3rem 1rem;display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--color-text-tertiary)}.library-list-empty-icon{background:var(--color-bg-nested);width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;color:var(--color-text-secondary)}.library-list-empty p{font-size:.9rem;margin:0}.library-main-panel{flex:1;display:flex;flex-direction:column;background:var(--color-bg-app);min-width:0;height:100%}.library-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;background:var(--color-bg-app)}.library-empty-icon{width:96px;height:96px;background:var(--color-bg-nested);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);margin-bottom:1.5rem}.library-empty-title{font-size:1.25rem;font-weight:600;color:var(--color-text-secondary);margin:0 0 .5rem}.library-empty-text{font-size:.95rem;color:var(--color-text-tertiary);margin:0;max-width:300px}.library-detail-scroll{flex:1;overflow-y:auto;background:var(--color-bg-app)}.library-detail-content{max-width:800px;margin:0 auto;padding:0 1rem;color:#111827}.library-book-header-row{display:flex;gap:1.5rem;margin-bottom:1.25rem}.library-header-cover-wrapper{position:relative;width:140px;height:200px;flex-shrink:0}.library-header-cover{width:100%;height:100%;border-radius:8px;-o-object-fit:cover;object-fit:cover}.library-header-cover-placeholder{width:100%;height:100%;border-radius:8px;background:#e5e7eb;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-tertiary)}.library-cover-badge{position:absolute;top:0;left:0;background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;padding:3px 8px 3px 6px;border-radius:8px 0;font-size:.55rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;box-shadow:2px 2px 8px #3b82f64d;z-index:2;overflow:hidden;white-space:nowrap}.library-cover-badge:after{content:"";position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:badge-shimmer 2.5s infinite}@keyframes badge-shimmer{to{left:200%}}.library-header-info{flex:1;display:flex;flex-direction:column}.library-header-title{font-size:1.8rem;font-weight:700;line-height:1.25;margin:0 0 .5rem;color:#111827}.library-header-author{font-size:1.1rem;color:#9ca3af;margin:0 0 .75rem}.library-header-rating{display:flex;align-items:center;gap:.25rem;font-size:.95rem;font-weight:600;color:#f59e0b}.library-header-rating-count{color:#9ca3af;font-weight:400;margin-left:.25rem}.library-book-desc{font-size:1.05rem;line-height:1.6;color:#4b5563;margin-bottom:1.5rem}.library-book-tags-wrapper{margin-bottom:2rem}.library-book-tags{display:flex;flex-wrap:nowrap;gap:.5rem;overflow-x:auto;scrollbar-width:none;align-items:center}.library-book-tags::-webkit-scrollbar{display:none}.library-tag-pill{padding:.4rem 1rem;border-radius:20px;font-size:.85rem;font-weight:500;color:var(--color-text-secondary, #4b5563);background:#fff;box-shadow:0 1px 2px #0000000d;white-space:nowrap}.library-desktop-actions{display:flex;gap:.75rem;margin-top:2.7rem}.library-action-btn{padding:0;border-radius:50%;font-size:.9rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:0;cursor:pointer;border:1.5px solid transparent;transition:all .2s ease;width:40px;min-width:40px;height:40px;box-sizing:border-box;box-shadow:0 2px 8px #00000014}.library-btn-primary{background:var(--color-primary);color:#fff}.library-btn-primary:hover{background:var(--color-primary-hover, #084099)}.library-btn-outline{background:#fff;border-color:transparent;color:var(--color-text-secondary, #6b7280)}.library-btn-outline:hover{background:#fff;color:var(--color-text-primary);box-shadow:0 2px 8px #00000014}.library-action-toggle{width:40px;min-width:40px;height:40px;padding:0;border-radius:50%;border:1.5px solid transparent;box-shadow:0 2px 8px #00000014;box-sizing:border-box;transition:all .2s ease}.library-action-toggle.animating svg{animation:icon-pop .3s cubic-bezier(.175,.885,.32,1.275) both}@keyframes icon-pop{0%{transform:scale(1)}50%{transform:scale(1.35)}to{transform:scale(1)}}.library-action-toggle:hover{width:auto;min-width:40px;padding:0 10px;border-radius:20px}.library-action-toggle-label{transition:max-width .3s var(--ease-out-expo, cubic-bezier(.19, 1, .22, 1)),margin .3s var(--ease-out-expo, cubic-bezier(.19, 1, .22, 1))}.library-action-toggle:not(:hover) .library-action-toggle-label{opacity:0;transition:none;max-width:0}.library-action-toggle:hover .library-action-toggle-label{transition:max-width .3s var(--ease-out-expo, cubic-bezier(.19, 1, .22, 1)),opacity .2s ease,margin .3s var(--ease-out-expo, cubic-bezier(.19, 1, .22, 1));max-width:150px;opacity:1;margin-left:6px}.library-digital-btn{width:100%;padding:1rem;background:#dcfce7;color:#16a34a;border:1px solid #bbf7d0;border-radius:30px;font-weight:600;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:2rem;cursor:pointer;transition:background .2s}.library-digital-btn:hover{background:#bbf7d0}.library-section-title{font-size:1.25rem;font-weight:700;color:#111827;margin:0 0 1.25rem}.library-details-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2.5rem}.library-detail-row{display:flex;align-items:flex-start}.library-detail-label{width:140px;flex-shrink:0;font-size:.95rem;font-weight:600;color:#9ca3af}.library-detail-value{flex:1;font-size:.95rem;color:#111827;line-height:1.5}.library-ratings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.library-see-all{color:#2563eb;font-size:.9rem;font-weight:500;cursor:pointer}.library-rating-overview{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}.library-rating-overview-score{font-size:2rem;font-weight:700;color:#f59e0b}.library-rating-overview-stars{display:flex;align-items:center;gap:2px;color:#f59e0b}.library-rating-overview-count{color:#9ca3af;font-size:.95rem;margin-left:.25rem}.library-rating-bars{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2.5rem}.library-rating-bar-row{display:flex;align-items:center;gap:.75rem}.library-rating-bar-label{width:24px;font-size:.85rem;color:#f59e0b;font-weight:600;display:flex;align-items:center;gap:.25rem}.library-rating-bar-track{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.library-rating-bar-fill{height:100%;background:#f59e0b;border-radius:4px}.library-rating-bar-pct{width:45px;font-size:.85rem;color:#9ca3af;text-align:right}.library-review-card{background:#fff;border-radius:12px;padding:1.25rem;margin-bottom:1rem}.library-review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.library-review-user{font-weight:600;font-size:.95rem;color:#111827;display:flex;align-items:center;gap:.5rem}.library-review-stars{display:flex;gap:2px;color:#f59e0b}.library-review-date{font-size:.85rem;color:#9ca3af}.library-review-text{font-size:.95rem;color:#374151;line-height:1.5;margin:0}@keyframes library-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.library-spinner{animation:library-spin 1s linear infinite;color:var(--color-primary, #6366f1)}.library-retry-btn{margin-top:.75rem;padding:.5rem 1.25rem;border:1px solid #e5e7eb;border-radius:.5rem;background:#fff;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.library-retry-btn:hover{background:#f9fafb;border-color:#d1d5db}.library-list-loading-more{display:flex;justify-content:center;padding:1rem 0}.library-tab.library-tab-see-all{font-weight:600;color:var(--color-primary, #3b82f6);font-style:italic}.library-tab.library-tab-see-all:hover{color:var(--color-primary-hover, #2563eb)}.library-see-all-group{margin-bottom:1.25rem}.library-see-all-group:last-child{margin-bottom:0}.library-see-all-group-title{margin:0 0 .6rem;font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.library-see-all-chips{display:flex;flex-wrap:wrap;gap:8px}.library-see-all-chip{padding:6px 16px;border-radius:20px;border:1px solid transparent;background:var(--color-bg-app);color:var(--color-text-secondary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.library-see-all-chip:hover{background:#eef2f6;color:var(--color-text-primary)}.library-see-all-chip.active{background:var(--color-primary);color:#fff;box-shadow:0 2px 6px #0a58ca33}.library-shimmer-item{cursor:default;pointer-events:none}.library-shimmer-item:hover{background:transparent}.library-shimmer-cover{width:60px;height:90px;border-radius:8px;flex-shrink:0}@keyframes library-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.shimmer-bg{background:#f3f4f6;background-image:linear-gradient(90deg,#f3f4f6,#fff 20%,#f3f4f6 40% 100%);background-repeat:no-repeat;background-size:200% 100%;animation:library-shimmer 1.5s infinite linear}.library-snackbar{position:fixed;bottom:2rem;left:50%;transform:translate(-50%) translateY(20px);padding:.75rem 1.5rem;border-radius:10px;font-size:.875rem;font-weight:500;color:#fff;z-index:9999;pointer-events:none;opacity:0;transition:opacity .3s ease,transform .3s ease;box-shadow:0 4px 16px #00000026;text-align:center;max-width:90vw;width:-moz-max-content;width:max-content}.library-snackbar.visible{opacity:1;transform:translate(-50%) translateY(0)}.library-snackbar.snack-success{background:#16a34a}.library-snackbar.snack-error{background:#dc2626}.library-snackbar.snack-info{background:#475569}.library-snackbar.snack-warning{background:#f97316}.library-snackbar.snack-gray{background:#e5e7eb;color:#374151}.library-snackbar.snack-blue{background:#3b82f6}.library-source-banner{display:flex;align-items:center;justify-content:center;text-align:center;gap:8px;margin:1.5rem 0;padding:12px 14px;border-radius:8px;background:#fff;color:var(--color-text-secondary);font-size:.85rem;font-weight:500;line-height:1.4}.library-source-banner .source-icon{flex-shrink:0;display:flex;align-items:center;color:var(--color-text-tertiary)}.library-source-banner .source-text{color:inherit;opacity:.9}.desk-status-badge{display:inline-flex;align-items:center;line-height:1.4;white-space:nowrap}.desk-status-badge.status-awaiting_staff{color:var(--color-warning-text)}.desk-status-badge.status-awaiting_student{color:var(--color-info-text)}.desk-status-badge.status-resolved{color:var(--color-success-text)}.desk-status-badge.status-rejected{color:var(--color-error-text)}.desk-status-badge.status-withdrawn{color:var(--color-text-tertiary)}.desk-type-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.4;white-space:nowrap}.desk-type-badge.type-application{background:var(--color-primary-light);color:var(--color-primary-text)}.desk-type-badge.type-complaint{background:var(--color-warning-bg);color:var(--color-warning-text)}.desk-type-badge.type-staff_request{background:#af52de1f;color:#7c3aed}.desk-urgency-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.desk-urgency-dot.urgency-H{background:var(--color-error)}.desk-urgency-dot.urgency-D{background:var(--color-primary)}.desk-urgency-dot.urgency-L{background:var(--color-text-tertiary)}.desk-subject-cell{display:flex;align-items:center;gap:8px;min-width:0}.desk-subject-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:var(--font-weight-medium)}.desk-subject-text.has-unread{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.desk-stage{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.desk-claim-cell{display:flex;align-items:center}.desk-claimed-text{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-style:italic}.desk-claimed-text.by-me{color:var(--color-success-text);font-style:normal;font-weight:var(--font-weight-medium)}.desk-handler{font-size:var(--font-size-sm)}.desk-handler.unclaimed{color:var(--color-warning-text);font-weight:var(--font-weight-semibold)}.desk-detail{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;animation:fadeIn .3s var(--ease-out-expo) forwards}.desk-detail-header{display:flex;align-items:center;gap:12px;padding:1.25rem 1rem;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:var(--z-sticky)}.desk-detail-back-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-secondary);flex-shrink:0}.desk-detail-back-btn:hover{background:var(--color-bg-app);color:var(--color-text-primary)}.desk-detail-title{flex:1;min-width:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desk-detail-body{display:grid;grid-template-columns:1fr 340px;gap:0;flex:1;min-height:0;overflow:hidden}.desk-messages-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden;border-right:1px solid var(--color-border);position:relative}.desk-messages-scroll{flex:1;overflow-y:auto;padding:1.5rem 2rem 1rem;display:flex;flex-direction:column;gap:1rem;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.15) transparent}.desk-messages-scroll::-webkit-scrollbar{width:6px;height:6px}.desk-messages-scroll::-webkit-scrollbar-track{background:transparent}.desk-messages-scroll::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}.desk-messages-scroll::-webkit-scrollbar-thumb:hover{background:#00000040}.desk-messages-scroll .message-block{margin-bottom:.25rem}.desk-messages-scroll .system-message{margin:.5rem 0}.desk-message-internal-label{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:var(--radius-full);background:#ff9f0a1f;color:var(--color-warning-text);font-size:10px;font-weight:var(--font-weight-semibold)}.desk-messages-scroll .message-block.own .message-selected-action.edit{left:-72px}.desk-messages-scroll .message-block.own .message-selected-action.delete{left:-36px}.desk-messages-scroll .message-block.other .message-selected-action.delete{right:-36px;left:auto}.desk-sidebar{display:flex;flex-direction:column;gap:1rem;overflow-y:auto;padding:1.5rem;background:var(--color-bg-app)}.desk-sidebar-card{background:var(--color-bg-surface);border-radius:var(--card-radius);padding:1.25rem;box-shadow:var(--shadow-sm)}.desk-sidebar-card-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.desk-info-row{display:flex;align-items:flex-start;justify-content:space-between;padding:6px 0;gap:8px}.desk-info-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-weight:var(--font-weight-medium);flex-shrink:0}.desk-info-value{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium);text-align:right}.desk-assignment-list{display:flex;flex-direction:column;gap:0}.desk-assignment-stage{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--color-border)}.desk-assignment-stage:last-child{border-bottom:none;padding-bottom:0}.desk-assignment-stage:first-child{padding-top:0}.desk-assignment-icon{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}.desk-assignment-icon.completed{background:var(--color-success-bg);color:var(--color-success-text)}.desk-assignment-icon.active{background:var(--color-primary-light);color:var(--color-primary)}.desk-assignment-icon.waiting{background:#0000000d;color:var(--color-text-disabled)}.desk-assignment-icon.rejected{background:var(--color-error-bg);color:var(--color-error-text)}.desk-assignment-icon.forwarded{background:#af52de1f;color:#7c3aed}.desk-assignment-info{flex:1;min-width:0}.desk-assignment-staff{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.desk-assignment-meta{font-size:11px;color:var(--color-text-tertiary)}.desk-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.desk-actions-grid .btn{font-size:var(--font-size-xs);padding:8px 12px}.desk-rating-stars{display:flex;align-items:center;gap:2px;margin-bottom:8px}.desk-rating-star{color:var(--color-warning);font-size:18px}.desk-rating-star.empty{color:var(--color-text-disabled)}.desk-rating-review{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic;line-height:1.5}.desk-reply-bar{display:flex;align-items:flex-end;gap:10px;padding:8px 12px;margin:0 16px 12px;background:var(--color-bg-surface);flex-shrink:0;border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid var(--color-border);z-index:10}.desk-visibility-toggle{display:flex;align-items:center;gap:5px;padding:6px 10px;border-radius:var(--radius-sm);font-size:11px;font-weight:var(--font-weight-semibold);cursor:pointer;border:none;transition:all var(--transition-fast);background:transparent}.desk-visibility-toggle.public{color:var(--color-success-text);background:var(--color-success-bg)}.desk-visibility-toggle.internal{color:var(--color-warning-text);background:var(--color-warning-bg)}@media(max-width:1024px){.desk-detail-body{grid-template-columns:1fr}.desk-sidebar{border-top:1px solid var(--color-border)}.desk-messages-panel{border-right:none}}@keyframes desk-spin{to{transform:rotate(360deg)}}.desk-spin{animation:desk-spin .8s linear infinite}.tab-bar-container{width:100%;max-width:100%;min-width:0;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);padding:.5rem 0;margin:0;overflow-x:auto;overflow-y:hidden;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .35s ease;will-change:transform,opacity}.module-tabbar{width:100%;margin-left:0;padding:.5rem 1rem;box-sizing:border-box}.tab-bar{display:flex;align-items:center;justify-content:center;gap:.5rem;width:-moz-max-content;width:max-content;min-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--color-primary) transparent;position:relative;padding:4px 0;background:transparent;border-radius:0}.nav-hidden .tab-bar-container{transform:translateY(-4.375rem);opacity:0;pointer-events:none;height:0;margin:0;padding:0;border:none;overflow:hidden}.nav-visible .tab-bar-container{transform:translateY(0);opacity:1;pointer-events:auto}.tab-pill-indicator{display:none}.tab-bar::-webkit-scrollbar{height:4px}.tab-bar::-webkit-scrollbar-track{background:transparent;border-radius:10px}.tab-bar::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:10px;-webkit-transition:background .2s ease;transition:background .2s ease}.tab-bar::-webkit-scrollbar-thumb:hover{background:var(--color-primary-dark, #4f46e5)}.tab-item{flex:0 0 auto;padding:.75rem 1.5rem;background:transparent;border:none;color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;font-family:var(--font-sans);text-align:center;display:flex;align-items:center;justify-content:center;border-radius:0;z-index:1}.tab-item:hover{color:var(--color-text-primary)}.tab-item.active{color:var(--color-primary);background:var(--color-primary-light);font-weight:600;z-index:2}.tab-item.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:calc(100% - 2rem);height:2px;background:var(--color-primary);border-radius:2px}.tab-item.active:hover{color:var(--color-primary);background:var(--color-primary-light)}.tab-item:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:0}.tab-item:focus:not(:focus-visible){outline:none}.split-panel{height:100%;position:relative;display:flex;flex-direction:row;background:var(--bg-primary);cursor:default;animation:panelSlideIn .5s cubic-bezier(.4,0,.2,1);transition:flex .5s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1);min-width:0}@keyframes panelSlideIn{0%{opacity:0;transform:translate(-20px) scale(.98)}to{opacity:1;transform:translate(0) scale(1)}}.panel-content{flex:1;height:100%;overflow:hidden;cursor:default;animation:contentFadeIn .5s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:.5rem;min-height:0;min-width:0}.nav-hidden .panel-content{gap:0}.panel-page{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}@keyframes contentFadeIn{0%{opacity:0}to{opacity:1}}.placeholder-page{padding:2rem;display:flex;align-items:center;justify-content:center;min-height:400px;font-size:1.5rem;color:var(--text-secondary);font-weight:500;background:#ffffff0d;border-radius:4px}.panel-resizer{width:24px;height:100%;position:absolute;right:-12px;top:0;background:transparent;z-index:100;cursor:ew-resize!important;display:flex;justify-content:center;align-items:center}.resizer-line{width:1px!important;min-width:1px!important;max-width:1px!important;height:100%;background:#9ca3af;border:none!important;outline:none!important;box-shadow:none!important;transition:background-color .2s;pointer-events:none;box-sizing:border-box;transform:translateZ(0);-webkit-transform:translateZ(0)}.panel-resizer:hover .resizer-line,.panel-resizer.dragging .resizer-line{width:1px!important;min-width:1px!important;max-width:1px!important;background:#6b7280;border:none!important;outline:none!important;box-shadow:none!important}.panel-resizer.disabled{cursor:not-allowed!important;opacity:.3}.panel-resizer.disabled .resizer-line{width:1px!important;min-width:1px!important;max-width:1px!important;background:#9ca3af;border:none!important;outline:none!important;box-shadow:none!important}.resizer-swap-btn{position:absolute;width:24px;height:24px;background:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#6b7280;cursor:pointer;opacity:0;transform:scale(.8);transition:all .2s cubic-bezier(.4,0,.2,1);z-index:101;padding:0;box-shadow:0 2px 8px #00000026}.panel-resizer:hover .resizer-swap-btn{opacity:1;transform:scale(1)}.resizer-swap-btn:hover{background:#fff;color:#374151;box-shadow:0 4px 12px #0003;transform:scale(1.1)!important}.resizer-handle{display:none}.panel-content::-webkit-scrollbar{width:1px}.panel-content::-webkit-scrollbar-track{background:#ffffff0d}.panel-content::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:9999px}.panel-content::-webkit-scrollbar-thumb:hover{background:#ffffff26}.panel-page{scrollbar-width:thin;scrollbar-color:var(--color-text-tertiary) transparent}.panel-page::-webkit-scrollbar{width:1px}.panel-page::-webkit-scrollbar-thumb{background:var(--color-text-tertiary);border-radius:9999px}.panel-page::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.main-layout{height:100vh;overflow:hidden;background:var(--color-bg-app);--sidebar-width: 5rem}.main-layout.sidebar-labels{--sidebar-width: 200px}.main-layout.sidebar-pushed .main-content{padding-left:var(--sidebar-width)}.main-content{margin-left:0;margin-top:0;padding:4.375rem 0 0;height:100vh;width:100%;scroll-behavior:smooth;transition:padding-left var(--transition-normal);display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;min-height:0;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--color-text-tertiary) transparent}.main-content::-webkit-scrollbar{width:1px}.main-content::-webkit-scrollbar-thumb{background:var(--color-text-tertiary);border-radius:9999px}.main-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.nav-hidden .main-content{padding-top:0}.nav-visible .main-content{padding-top:4.375rem}.main-content.no-nav-padding{padding-top:0}.split-screen-container{display:flex;flex-direction:row;padding:0;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);flex:1;min-height:0;width:100%}.split-screen-container>*{transition:flex .4s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1)}.main-layout .snackbar{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:#34c759!important;color:#fff;padding:.75rem 2.5rem .75rem 1.5rem;border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;font-size:.9375rem;font-weight:500;z-index:10000;animation:snackbarSlideIn .3s ease-out;display:flex;align-items:center;gap:.75rem}.snackbar-close{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#fff;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .15s ease;opacity:.9}.snackbar-close:hover{background:#fff3;opacity:1}.snackbar-close:active{background:#ffffff4d}@keyframes snackbarSlideIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(max-width:768px){.main-content{padding:70px 16px 16px}}
