@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.confirm-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;justify-content:center;align-items:center;z-index:10000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeIn .2s ease-out;padding:20px}.confirm-modal-content{background:var(--bg-secondary);border:1px solid var(--accent-secondary);box-shadow:0 8px 32px #0006;border-radius:16px;padding:24px;width:100%;max-width:320px;text-align:center;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.modal-input{width:100%;padding:12px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:var(--bg-tertiary);color:#fff;font-size:1rem;margin-bottom:20px;box-sizing:border-box}.modal-input:focus{outline:none;border-color:var(--accent-primary)}.confirm-modal-content h3{margin:0 0 12px;font-size:1.2rem;color:var(--text-primary)}.confirm-modal-content p{margin:0 0 24px;color:var(--text-secondary);font-size:.95rem;line-height:1.5}.confirm-modal-actions{display:flex;gap:12px;justify-content:center}.confirm-modal-actions button{flex:1;padding:12px;border:none;border-radius:12px;font-size:1rem;font-weight:500;cursor:pointer;transition:transform .1s}.confirm-modal-actions button:active{transform:scale(.96)}.btn-cancel{background:var(--bg-tertiary);color:var(--text-primary)}.btn-confirm{background:var(--accent-primary);color:#fff}.confirm-modal-content.destructive .btn-confirm{background:#f44}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.bottom-nav{position:fixed;bottom:-1px;left:0;width:100%;min-height:65px;background:linear-gradient(to right,#a3d90040,#0056d240),var(--bg-secondary);display:flex;justify-content:space-around;align-items:center;padding-bottom:env(safe-area-inset-bottom,0px);border-top:2px solid transparent;-o-border-image:linear-gradient(to right,#0056D2,#A3D900) 1;border-image:linear-gradient(to right,#0056d2,#a3d900) 1;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}body.platform-ios .bottom-nav{min-height:36px;padding-bottom:calc(env(safe-area-inset-bottom) - 20px)}body.platform-android .bottom-nav{min-height:59px;padding-bottom:calc(2px + var(--safe-bottom, 12px))}body.device-samsung .bottom-nav{min-height:62px!important;padding-bottom:calc(2px + var(--safe-bottom, 13px))!important}body.device-samsung .content-wrap{padding-bottom:calc(62px + var(--safe-bottom, 12px))!important}.nav-item{background:none;border:none;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;flex:1;transition:all .2s ease;padding:4px;gap:4px}.nav-item:not(.active){gap:0px}.nav-item *{pointer-events:none}.nav-item span{font-size:.8rem;font-weight:700;color:#000;margin-top:-3px}.nav-item.active span{color:#004d40}body.dark-theme .nav-item span{color:#fff}body.dark-theme .nav-item.active span{color:#6fc}.nav-item.active .nav-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;padding:2px;height:38px;background:transparent;border:2px solid transparent;margin-bottom:-4px}.nav-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center;padding:2px;height:38px;border:2px solid transparent}.notification-dot{position:absolute;top:0;right:0;transform:translate(50%,-50%);width:10px;height:10px;background-color:var(--accent-danger);border-radius:50%;border:2px solid var(--bg-secondary);box-sizing:border-box;display:block;flex-shrink:0;z-index:10;aspect-ratio:1 / 1}.notification-dot.warning{background-color:#fc0}.nav-item:active{transform:scale(.95)}.side-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:2000;opacity:0;pointer-events:none;transition:opacity .3s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.side-menu-overlay.open{opacity:1;pointer-events:auto}.side-menu-drawer{position:fixed;top:0;left:0;bottom:0;width:80%;max-width:300px;background:var(--bg-primary);z-index:2001;transform:translate(-100%);transition:transform .3s cubic-bezier(.25,1,.5,1);box-shadow:4px 0 20px #0000001a;display:flex;flex-direction:column}.side-menu-drawer.open{transform:translate(0)}.side-menu-header{background:var(--bg-secondary);padding:calc(12px + var(--safe-top, 0px)) 20px 12px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border-color)}.menu-app-logo{height:28px;width:auto;-o-object-fit:contain;object-fit:contain}.menu-app-title-personal{font-size:1rem;font-weight:800;color:var(--accent-secondary);letter-spacing:-.5px}.menu-user-section{padding:16px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:16px}.menu-user-top-row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.menu-theme-row{display:flex;align-items:center;justify-content:center;width:100%;margin-bottom:4px}.menu-user-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.menu-avatar{width:48px;height:48px;position:relative;flex-shrink:0}.menu-avatar img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover;background:transparent;display:block}.menu-user-text{display:flex;flex-direction:column;justify-content:center;line-height:1.2;overflow:hidden}.menu-user-name{font-weight:700;font-size:.95rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-user-role{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-btn-container{background:transparent;border:none;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;padding:0 0 0 8px;flex-shrink:0}.logout-icon-circle{width:44px;height:44px;border-radius:50%;background:#ef44441a;display:flex;align-items:center;justify-content:center;color:#ef4444;transition:all .2s}.logout-label{font-size:.65rem;color:#ef4444;font-weight:500}.logout-btn-container:hover .logout-icon-circle{background:#ef444433;transform:scale(1.05)}.logout-btn-container:hover .logout-label{opacity:.8}.theme-btn-container{background:transparent;border:none;padding:0;cursor:pointer;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;margin:0 auto;width:auto;max-width:100%}.theme-label-bold{font-size:.85rem;font-weight:700;color:var(--text-secondary);white-space:nowrap}.theme-toggle-track{width:100px;height:32px;background:var(--bg-tertiary);border-radius:20px;position:relative;transition:all .3s ease;display:flex;align-items:center;justify-content:space-between;padding:2px 4px;border:1px solid var(--border-subtle);overflow:hidden}.theme-toggle-track.dark{background:var(--bg-tertiary);border-color:var(--text-secondary)}.theme-toggle-thumb{width:24px;height:24px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .3s cubic-bezier(.25,.8,.25,1);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);z-index:2}.theme-toggle-track.dark .theme-toggle-thumb{transform:translate(68px);background:var(--bg-primary);color:#fff}.theme-toggle-text{font-size:.75rem;font-weight:700;color:var(--text-secondary);position:absolute;width:100%;text-align:center;left:0;pointer-events:none;transition:opacity .2s;opacity:0}.theme-toggle-track:not(.dark) .theme-toggle-text{opacity:1;padding-left:28px}.theme-toggle-track.dark .theme-toggle-text{opacity:1;padding-right:28px;color:#fff}.menu-divider{height:1px;background:var(--border-color);margin:0}.side-menu-content{flex:1;padding:10px 0;overflow-y:auto;display:flex;flex-direction:column;gap:0px}.menu-item{padding:10px 24px;display:flex;align-items:center;gap:16px;background:transparent;border:none;width:100%;text-align:left;color:var(--text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s}.menu-item:active{background:var(--bg-tertiary);color:var(--text-primary)}.menu-item-icon{color:var(--text-tertiary);transition:color .2s}.menu-item:active .menu-item-icon{color:var(--accent-primary)}.menu-spacer{flex:1}body.device-samsung .side-menu-footer{padding-bottom:calc(16px + env(safe-area-inset-bottom,16px))!important}body.device-samsung.keyboard-is-open .side-menu-footer{padding-bottom:12px!important}.reviews-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;z-index:10000;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:20px;animation:fadeIn .2s ease-out}.reviews-modal-content{background:var(--bg-secondary);width:100%;max-width:500px;max-height:85vh;border-radius:20px;display:flex;flex-direction:column;position:relative;box-shadow:0 10px 40px #00000080;border:1px solid var(--border-subtle);animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.close-btn{position:absolute;top:16px;right:16px;background:#ffffff1a;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:var(--text-primary);cursor:pointer;z-index:2}.reviews-header{padding:24px 24px 16px;border-bottom:1px solid var(--border-subtle)}.reviews-header h2{margin:0;font-size:1.5rem;color:var(--text-primary)}.reviews-header p{margin:4px 0 0;color:var(--text-secondary);font-size:.9rem}.reviews-stats-container{padding:20px 24px;display:grid;grid-template-columns:1fr 1.2fr;gap:16px}.main-score-card{background:var(--bg-tertiary);border-radius:16px;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-big{font-size:2.5rem;font-weight:800;color:var(--text-primary);line-height:1}.score-stars{display:flex;gap:2px;margin:4px 0 8px}.score-count{font-size:.8rem;color:var(--text-secondary)}.detailed-breakdown{width:100%;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:8px}.breakdown-item{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.b-label{color:var(--text-secondary)}.breakdown-score{display:flex;align-items:center;gap:4px}.b-val{font-weight:600;color:var(--text-primary)}.b-cnt{color:var(--text-secondary);font-size:.75rem}.tags-highlight-card{background:var(--bg-tertiary);border-radius:16px;padding:16px}.tags-highlight-card h4{margin:0 0 12px;font-size:.9rem;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.tags-cloud{display:flex;flex-wrap:wrap;gap:6px}.tag-pill{background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:12px;padding:4px 8px;font-size:.75rem;color:var(--text-primary);display:flex;align-items:center;gap:4px}.tag-count{background:var(--accent-primary);color:#000;border-radius:6px;padding:0 4px;font-weight:700;font-size:.7rem}.reviews-list-section{flex:1;overflow-y:auto;padding:0 24px 24px}.reviews-list-section h3{margin:0 0 16px;font-size:1.1rem;color:var(--text-primary);position:sticky;top:0;background:var(--bg-secondary);padding:10px 0;z-index:1}.reviews-list{display:flex;flex-direction:column;gap:16px}.review-card{background:var(--bg-tertiary);border-radius:12px;padding:16px;border:1px solid var(--border-subtle)}.review-header{display:flex;justify-content:space-between;margin-bottom:6px}.student-name{font-weight:600;color:var(--text-primary);font-size:.95rem}.review-date{font-size:.8rem;color:var(--text-secondary)}.review-stars{display:flex;gap:2px;margin-bottom:8px}.review-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.mini-tag{font-size:.7rem;padding:2px 6px;background:#22d3ee1a;color:#22d3ee;border-radius:4px}.review-comment{margin:0;font-style:italic;color:var(--text-secondary);font-size:.9rem;line-height:1.4}.empty-reviews{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0;color:var(--text-secondary);text-align:center}@media (prefers-color-scheme: light){.reviews-modal-content{background:#f3f4f6}.review-card,.main-score-card,.tags-highlight-card{background:#fff;border:1px solid #E5E7EB;box-shadow:0 1px 3px #0000000d}.tag-bar-track{background:#0000000f!important}}body.dark-theme .review-card,body.dark-theme .main-score-card,body.dark-theme .tags-highlight-card{background:var(--bg-tertiary);border:1px solid var(--border-subtle);box-shadow:none}.tag-bar-item{font-size:.8rem;display:flex;flex-direction:column;gap:4px}.tag-bar-header{display:flex;justify-content:space-between;align-items:center}.tag-name{color:var(--text-primary)}.tag-value{font-weight:700;color:var(--accent-primary)}.tag-bar-track{width:100%;height:6px;background:#ffffff14;border-radius:3px;overflow:hidden}.tag-bar-fill{height:100%;background:var(--accent-primary);border-radius:3px;transition:width .5s ease-out}@keyframes fadeInTooltip{0%{opacity:0;transform:translate(-50%,4px)}to{opacity:1;transform:translate(-50%)}}@keyframes slideUp{0%{transform:translateY(20px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.desktop-layout{max-width:900px;height:70vh;min-height:500px;flex-direction:row;padding:0;overflow:hidden}.desktop-grid{display:flex;width:100%;height:100%}.desktop-left{width:380px;border-right:1px solid var(--border-subtle);background:var(--bg-primary);display:flex;flex-direction:column;overflow-y:auto}.desktop-left .reviews-stats-container{display:flex;flex-direction:column;gap:16px}.desktop-right{flex:1;display:flex;flex-direction:column;background:var(--bg-secondary);overflow-y:auto}.desktop-right .reviews-list-section{padding:32px}.floating-bell-widget{position:fixed;top:calc(var(--floating-bell-top-offset) + var(--safe-top, 0px));right:0;width:48px;height:44px;background:var(--bg-secondary);border:1px solid var(--border-color);border-right:none;border-radius:12px 0 0 12px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:-2px 4px 12px #0000001a;z-index:1000;padding-left:4px}.bell-icon-container{position:relative;display:flex;align-items:center;justify-content:center}.bell-badge{position:absolute;top:-6px;right:-6px;background:#ef4444;color:#fff;font-size:.7rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-secondary)}.student-notification-drawer{position:fixed;top:0;right:0;width:320px;height:100vh;background:var(--bg-secondary);box-shadow:-4px 0 20px #0003;z-index:2000;display:flex;flex-direction:column;border-left:1px solid var(--border-color)}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:calc(14px + var(--safe-top, 0px)) 20px 24px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.drawer-header h2{margin:0;font-size:1.1rem;font-weight:700;color:var(--text-primary)}.drawer-close-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:50%;transition:background .2s}.drawer-close-btn:active{background:var(--bg-primary)}.drawer-content{flex:1;overflow-y:auto;padding:0}.clear-all-btn{background:none;border:none;color:var(--accent-secondary);font-size:.8rem;font-weight:600;cursor:pointer}.drawer-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary);gap:12px}.drawer-empty p{font-size:.9rem;margin:0}.notif-item{display:flex;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border-color);cursor:grab;transition:background .2s;background:var(--bg-secondary);position:relative;overflow:hidden}.notif-item:active{cursor:grabbing}.notif-item.unread{background:rgba(var(--accent-secondary-rgb),.05);background:color-mix(in srgb,var(--accent-secondary) 8%,var(--bg-secondary))}.notif-item.request{background:#76c04314;border-left:3px solid #76C043}.notif-icon-box{width:36px;height:36px;border-radius:10px;background:var(--bg-tertiary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.notif-icon-box.highlight{background:var(--accent-secondary);color:#000}.notif-content{flex:1;min-width:0}.notif-title{margin:0 0 4px;font-weight:600;font-size:.9rem;color:var(--text-primary);line-height:1.2}.notif-message{margin:0;font-size:.8rem;color:var(--text-secondary);line-height:1.4;word-break:break-word;white-space:pre-wrap}.notif-time{display:block;margin-top:6px;font-size:.7rem;color:var(--text-tertiary)}.notif-dot{width:8px;height:8px;background:var(--accent-secondary);border-radius:50%;margin-top:6px;flex-shrink:0}.drawer-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1999}:root{--w-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--w-bg-base: #FFFFFF;--w-bg-surface: #F9FAFB;--w-bg-hover: #F3F4F6;--w-border: #E5E7EB;--w-brand-green: #76C043;--w-brand-green-hover: #65A638;--w-brand-blue: #0052CC;--w-msg-sent: #E5E7EB;--w-msg-sent-text: #111827;--w-text-primary: #111827;--w-text-secondary: #4B5563;--w-text-muted: #9CA3AF;--w-text-tertiary: #6B7280;--shadow-premium: 0 24px 60px -12px rgba(0, 0, 0, .3), 0 0 0 1px rgba(0,0,0,.08) inset}body.dark-theme{--w-bg-base: #121212;--w-bg-surface: #1E1E1E;--w-bg-hover: #2A2A2A;--w-border: #2E2E2E;--w-msg-sent: #2A2A2A;--w-msg-sent-text: #F4F4F5;--w-text-primary: #F4F4F5;--w-text-secondary: #A1A1AA;--w-text-muted: #71717A;--w-text-tertiary: #52525B;--shadow-premium: 0 24px 60px -12px rgba(255, 255, 255, .15), 0 0 0 1px rgba(255,255,255,.1) inset}.chat-widget-wrapper{position:fixed;bottom:24px;right:24px;z-index:9999;font-family:var(--w-font-sans);pointer-events:none}.chat-widget-wrapper *{box-sizing:border-box}.chat-fab{position:relative;pointer-events:auto;width:60px;height:60px;border-radius:50%;background:var(--w-brand-green);border:none;box-shadow:0 8px 24px -4px #76c04366;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#121212;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s ease}.chat-fab:hover{transform:translateY(-4px) scale(1.02);background:var(--w-brand-green-hover)}.chat-fab:active{transform:translateY(2px) scale(.95)}.chat-badge{position:absolute;top:0;right:0;background:#ef4444;color:#fff;font-size:11px;font-weight:800;min-width:22px;height:22px;padding:0 6px;border-radius:11px;display:flex;align-items:center;justify-content:center;border:2px solid var(--w-bg-base);box-shadow:0 2px 4px #0000004d;animation:popIn .3s cubic-bezier(.175,.885,.32,1.275)}@keyframes popIn{0%{transform:scale(0)}to{transform:scale(1)}}.chat-window{pointer-events:auto;position:absolute;bottom:80px;right:0;width:380px;height:600px;max-height:calc(100vh - 120px);background:var(--w-bg-base);border-radius:16px;border:1px solid var(--w-border);box-shadow:var(--shadow-premium);display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;animation:windowSlideUp .3s cubic-bezier(.16,1,.3,1) forwards}.chat-window.expanded{position:fixed;top:24px;bottom:24px;right:24px;width:420px;height:auto;z-index:9998}.minimized-chat-card{pointer-events:auto;position:absolute;bottom:0;right:0;width:-moz-max-content;width:max-content;min-width:160px;height:48px;animation:windowSlideUp .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes windowSlideUp{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){.chat-widget-wrapper{bottom:calc(var(--nav-bar-height, 65px) + var(--safe-bottom, 16px));right:0}.chat-fab{margin:16px}.chat-window{position:absolute;bottom:8px;right:16px;width:330px;height:480px;max-height:calc(100vh - 120px - var(--safe-top, 0px));border-radius:16px;border:1px solid var(--w-border);box-shadow:var(--shadow-premium)}.chat-window.expanded{position:fixed;top:0;bottom:0;left:0;right:0;width:100vw;height:100vh;max-height:100vh;border-radius:0;border:none;z-index:9999}.chat-window.expanded .chat-header{padding-top:calc(16px + var(--safe-top, 0px))}.chat-window:not(.expanded) .chat-user-name{font-size:14px}.chat-window:not(.expanded) .chat-message-bubble{font-size:13.5px;padding:10px 14px}.chat-window:not(.expanded) .chat-room-avatar,.chat-window:not(.expanded) .contact-avatar{width:38px;height:38px}.chat-window:not(.expanded) .contact-name{font-size:14px}.chat-window:not(.expanded) .chat-message-preview{font-size:12px}.chat-window:not(.expanded) .chat-input-area{padding:10px}body.keyboard-is-open .chat-widget-wrapper{bottom:0}body.keyboard-is-open .chat-window:not(.expanded){bottom:8px;max-height:calc(100vh - 20px - var(--safe-top, 0px))}}.welo-chat-container{display:flex;flex-direction:column;height:100%;width:100%}.chat-header{background:var(--w-bg-surface);padding:16px 20px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;z-index:10}.chat-header.border-b{border-bottom:1px solid var(--w-border)}.chat-header-title{display:flex;align-items:center;gap:10px;font-weight:600;font-size:16px;color:var(--w-text-primary)}.welo-brand-icon{color:var(--w-brand-blue)}.chat-header-info-group{display:flex;align-items:center;gap:12px}.chat-action-btn{background:transparent;border:none;color:var(--w-text-secondary);cursor:pointer;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.chat-action-btn:hover{background:var(--w-bg-hover);color:var(--w-text-primary)}.close-btn:hover{background:#ef44441a;color:#ef4444}.back-btn{margin-left:-8px}.chat-avatar-container{position:relative;display:flex}.chat-room-avatar,.contact-avatar{width:44px;height:44px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:1px solid var(--w-border)}.chat-header-text{display:flex;flex-direction:column;justify-content:center}.chat-user-name{font-size:15px;font-weight:600;color:var(--w-text-primary);line-height:1.2;letter-spacing:-.2px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header-actions{display:flex;gap:4px}.chat-list{flex:1;overflow-y:auto;background:var(--w-bg-base)}.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--w-text-muted);text-align:center}.chat-empty .empty-icon{opacity:.5;margin-bottom:12px}.chat-empty p{font-size:15px;font-weight:600;color:var(--w-text-primary);margin:0 0 4px}.chat-empty p.sub{font-size:13px;margin:0}.chat-contact-item{display:flex;align-items:center;padding:14px 20px;cursor:pointer;border-bottom:1px solid var(--w-border);transition:background .2s ease}.chat-contact-item:hover{background:var(--w-bg-hover)}.contact-avatar-wrapper{margin-right:14px;position:relative}.support-headset-overlay{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;pointer-events:none;z-index:2;transform:scale(1.3) translate(0)}.contact-info{flex:1;overflow:hidden}.contact-info-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.contact-info-top h4{margin:0;font-size:15px;font-weight:600;color:var(--w-text-primary)}.contact-info-time{font-size:11px;color:var(--w-text-tertiary);font-weight:500}.contact-message-row{display:flex;justify-content:space-between;align-items:center}.contact-message-preview{margin:0;font-size:13px;color:var(--w-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:12px;flex:1}.contact-unread-badge{background:var(--w-brand-blue);color:#fff;font-size:10px;font-weight:800;min-width:20px;height:20px;padding:0 6px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chat-messages{flex:1;padding:24px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;background:var(--w-bg-base);scroll-behavior:smooth}.chat-messages::-webkit-scrollbar,.chat-list::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-thumb,.chat-list::-webkit-scrollbar-thumb{background-color:var(--w-border);border-radius:10px}.message-row{display:flex;width:100%}.message-row.sent{justify-content:flex-end}.message-row.received{justify-content:flex-start}.message-row.system{justify-content:center;margin:8px 0}.message-bubble-wrapper{display:flex;flex-direction:column;max-width:82%;animation:bubblePop .25s cubic-bezier(.16,1,.3,1) forwards}@keyframes bubblePop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.message-bubble-wrapper.sent{align-self:flex-end}.message-bubble-wrapper.received{align-self:flex-start}.message-bubble-wrapper.system{align-self:center;max-width:90%;align-items:center}.message-bubble{padding:12px 16px;font-size:14px;line-height:1.5;word-wrap:break-word;border-radius:20px}.message-bubble-wrapper.sent .message-bubble{background:var(--w-msg-sent);color:var(--w-msg-sent-text);border-bottom-right-radius:4px}.message-bubble-wrapper.received .message-bubble{background:var(--w-brand-blue);color:#fff;border-bottom-left-radius:4px}.message-bubble-wrapper.system .message-bubble{background:transparent;color:var(--w-text-muted);border-radius:8px;font-size:12px;font-weight:500;padding:8px 16px;text-align:center;border:1px solid var(--w-border)}.system-msg-header{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:4px;font-weight:700;font-size:10px;color:var(--w-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.system-msg-header img{height:14px;opacity:.4;filter:grayscale(1) invert(1)}.message-time{display:block;font-size:10px;margin-top:6px;opacity:.6;color:var(--w-text-tertiary);font-variant-numeric:tabular-nums}.message-bubble-wrapper.sent .message-time{text-align:right}.chat-date-divider{text-align:center;margin:20px 0;display:flex;justify-content:center}.chat-date-divider span{background:var(--w-bg-surface);color:var(--w-text-secondary);font-size:11px;padding:6px 14px;border-radius:12px;font-weight:600}.chat-input-area{padding:16px 20px 24px;background:var(--w-bg-surface);border-top:1px solid var(--w-border);display:flex;flex-direction:column;position:relative;flex-shrink:0}.chat-typing-indicator{position:absolute;top:-36px;left:20px;background:var(--w-bg-surface);border:1px solid var(--w-border);padding:6px 12px;border-radius:12px;display:flex;align-items:center;gap:8px;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .3s ease;box-shadow:0 4px 12px #0000004d}.chat-typing-indicator.visible{opacity:1;visibility:visible;transform:translateY(0)}.chat-typing-indicator span{font-size:11px;font-weight:500;color:var(--w-text-secondary)}.typing-dots{display:flex;gap:3px}.typing-dots .dot{width:4px;height:4px;background:var(--w-brand-blue);border-radius:50%;animation:typingBlink 1.4s infinite ease-in-out both}.typing-dots .dot:nth-child(1){animation-delay:-.32s}.typing-dots .dot:nth-child(2){animation-delay:-.16s}@keyframes typingBlink{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.chat-input-wrapper{display:flex;align-items:center;width:100%;background:var(--w-bg-base);border-radius:24px;padding:6px 6px 6px 16px;border:1px solid var(--w-border);transition:border-color .2s ease,box-shadow .2s ease}.chat-input-wrapper:focus-within{border-color:var(--w-text-secondary)}.chat-input-field{flex:1;background:transparent;border:none;color:var(--w-text-primary);font-size:14px;outline:none;height:36px;font-family:var(--w-font-sans)}.chat-input-field::-moz-placeholder{color:var(--w-text-tertiary)}.chat-input-field::placeholder{color:var(--w-text-tertiary)}.chat-send-btn{width:36px;height:36px;border-radius:50%;background:var(--w-brand-green);color:#000;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;margin-left:8px;flex-shrink:0}.chat-send-btn:hover:not(:disabled){transform:scale(1.05);background:var(--w-brand-green-hover)}.chat-send-btn:active:not(:disabled){transform:scale(.95)}.chat-send-btn:disabled{background:var(--w-bg-hover);color:var(--w-text-muted);cursor:not-allowed}.send-icon-active{transform:translate(1px) translateY(-1px)}.message-bubble.has-media{padding:4px;background:transparent!important;border:1px solid var(--w-border)}.chat-media-wrapper{position:relative;border-radius:16px;overflow:hidden}.chat-attached-image{display:block;width:100%;max-width:240px;max-height:300px;-o-object-fit:cover;object-fit:cover;border-radius:14px}.chat-upload-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#12121266;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10;border-radius:inherit;animation:fadeInOverlay .2s ease-out forwards}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.spinner-glass-container{background:#000000a6;padding:10px;border-radius:50%;box-shadow:0 8px 24px #0006,0 0 0 1px #ffffff1a inset;display:flex;align-items:center;justify-content:center;color:var(--w-brand-green);filter:drop-shadow(0 2px 8px rgba(118,192,67,.4))}.audio-overlay{border-radius:20px}.custom-audio-player{display:flex;align-items:center;gap:12px;width:100%;max-width:220px;min-width:160px;padding:6px;background:var(--w-bg-surface);border-radius:20px;border:1px solid var(--w-border)}.message-bubble-wrapper.received .custom-audio-player{background:#ffffff26;border:none}.message-bubble-wrapper.sent .custom-audio-player{background:#ffffff1a;border:none}.audio-play-btn{width:32px;height:32px;border-radius:50%;background:var(--w-brand-blue);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:transform .2s,background .2s}.message-bubble-wrapper.received .audio-play-btn{background:#fff;color:var(--w-brand-blue)}.message-bubble-wrapper.sent .audio-play-btn{background:#fff;color:var(--w-msg-sent-text)}.audio-play-btn:hover{transform:scale(1.05)}.audio-play-btn:active{transform:scale(.95)}.audio-track-container{flex:1;display:flex;align-items:center;height:24px;position:relative}.audio-seek-bar{-webkit-appearance:none;width:100%;height:4px;border-radius:2px;background:#ffffff4d;outline:none;cursor:pointer;background-image:linear-gradient(#fff,#fff);background-size:0% 100%;background-repeat:no-repeat;position:relative;z-index:2}.message-bubble-wrapper.received .audio-seek-bar{background-image:linear-gradient(#fff,#fff);background-color:#ffffff4d}.message-bubble-wrapper.sent .audio-seek-bar{background-image:linear-gradient(#fff,#fff);background-color:#fff3}.message-bubble-wrapper.system .audio-seek-bar{background-image:linear-gradient(var(--w-brand-blue),var(--w-brand-blue));background-color:var(--w-border)}.audio-seek-bar::-webkit-slider-thumb{-webkit-appearance:none;height:10px;width:10px;border-radius:50%;background:#fff;cursor:pointer;-webkit-transition:transform .1s;transition:transform .1s;box-shadow:0 1px 3px #0000004d}.message-bubble-wrapper.system .audio-seek-bar::-webkit-slider-thumb{background:var(--w-brand-blue)}.audio-seek-bar::-webkit-slider-thumb:hover{transform:scale(1.2)}.audio-time{font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--w-text-secondary)}.message-bubble-wrapper.received .audio-time{color:#ffffffe6}.message-bubble-wrapper.sent .audio-time{color:var(--w-msg-sent-text);opacity:.8}.chat-action-btn{background:transparent;border:none;color:var(--w-text-secondary);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .2s,background .2s;flex-shrink:0}.chat-action-btn.attach-btn{margin-left:-4px;margin-right:4px}.chat-action-btn.attach-btn:hover{color:var(--w-text-primary);background:var(--w-bg-hover)}.chat-action-btn.camera-btn{margin-right:4px}.chat-action-btn.camera-btn:hover{color:var(--w-text-primary);background:var(--w-bg-hover)}.chat-action-btn.mic-btn{margin-left:8px}.chat-action-btn.mic-btn:hover{color:var(--w-brand-green);background:#76c0431a}.recording-ui-wrapper{flex:1;display:flex;align-items:center;justify-content:space-between;padding-left:8px;animation:slideInRight .2s ease}@keyframes slideInRight{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.recording-status{display:flex;align-items:center;gap:12px}.recording-pulse{width:10px;height:10px;background:#ef4444;border-radius:50%;animation:recordingBlink 1.5s infinite}@keyframes recordingBlink{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 6px #ef444400}to{box-shadow:0 0 #ef444400}}.recording-time{font-size:14px;font-weight:600;color:#ef4444;font-variant-numeric:tabular-nums;font-family:monospace}.recording-actions{display:flex;align-items:center;gap:8px}.rec-btn{display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:all .2s;border:none}.rec-btn.cancel{width:32px;height:32px;background:transparent;color:var(--w-text-muted)}.rec-btn.cancel:hover{color:#ef4444;background:#ef44441a}.rec-btn.send{width:36px;height:36px;background:var(--w-brand-green);color:#121212}.rec-btn.send:active{transform:scale(.9)}body.device-samsung .chat-window.expanded .chat-input-area{padding-bottom:calc(24px + env(safe-area-inset-bottom,24px))!important}body.device-samsung.keyboard-is-open .chat-window.expanded .chat-input-area{padding-bottom:12px!important}
