body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overflow-x:hidden;width:100%}:root{--mobile:640px;--tablet:768px;--laptop:1024px;--desktop:1280px}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@keyframes pulse-subtle{0%{box-shadow:0 2px 12px #0000000d;transform:scale(1)}50%{box-shadow:0 4px 15px #b91c1c1a;transform:scale(1.005)}to{box-shadow:0 2px 12px #0000000d;transform:scale(1)}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.spinner{display:inline-block;vertical-align:middle}.confirm-dialog-overlay{align-items:center;animation:fadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confirm-dialog{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:450px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.confirm-dialog-header{border-bottom:1px solid #e5e7eb;padding:24px 24px 16px}.confirm-dialog-header h3{color:#1f2937;font-size:20px;font-weight:700;margin:0}.confirm-dialog-body{padding:20px 24px}.confirm-dialog-body p{color:#4b5563;font-size:16px;line-height:1.5;margin:0}.confirm-dialog-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 24px}.confirm-dialog-btn{border:none;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;min-width:100px;padding:10px 20px;transition:all .2s}.confirm-dialog-btn.cancel{background:#f3f4f6;color:#374151}.confirm-dialog-btn.cancel:hover{background:#e5e7eb}.confirm-dialog-btn.confirm{background:#2563eb;color:#fff}.confirm-dialog-btn.confirm:hover{background:#1d4ed8}.confirm-dialog-btn:active{transform:scale(.98)}.chat-widget-container{align-items:flex-end;bottom:20px;display:flex;flex-direction:column;position:fixed;right:20px;z-index:2000}.chat-toggle-btn{align-items:center;background:linear-gradient(135deg,#1890ff,#096dd9);border:none;border-radius:50%;box-shadow:0 4px 18px #1890ff73;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:58px;justify-content:center;position:relative;transition:all .3s ease;width:58px}.chat-toggle-btn:hover{box-shadow:0 6px 24px #1890ff8c;transform:scale(1.08)}.chat-unread-badge{align-items:center;animation:popIn .3s ease;background:#ff4d4f;border:2px solid #fff;border-radius:50%;color:#fff;display:flex;font-size:11px;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 4px;position:absolute;right:-2px;top:-2px}@keyframes popIn{0%{transform:scale(0)}80%{transform:scale(1.2)}to{transform:scale(1)}}.chat-main-container{animation:slideInUp .25s cubic-bezier(.34,1.56,.64,1);background:#fff;border-radius:14px;box-shadow:0 8px 40px #00000029;display:flex;flex-direction:column;height:520px;margin-bottom:14px;overflow:hidden;width:390px}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-header{align-items:center;background:linear-gradient(135deg,#1890ff,#096dd9);color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:13px 16px}.chat-header h3{font-size:1rem;font-weight:600;margin:0}.chat-header-actions{align-items:center;display:flex;gap:6px}.chat-header-btn{align-items:center;background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:1rem;height:28px;justify-content:center;transition:background .2s;width:28px}.chat-header-btn:hover:not(:disabled){background:#ffffff59}.chat-header-btn:disabled{cursor:not-allowed;opacity:.4}.chat-body{background:#f5f7fa;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.conversation-list{flex:1 1;overflow-y:auto}.conversation-item{align-items:center;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:11px;padding:11px 15px;position:relative;transition:background .15s}.conversation-item:hover{background:#f0f7ff}.conversation-item.active{background:#e6f7ff;border-left:3px solid #1890ff}.conversation-item.has-unread{background:#f0f5ff;border-left:3px solid #1890ff}.conv-avatar{align-items:center;background:linear-gradient(135deg,#1890ff,#096dd9);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1rem;font-weight:700;height:42px;justify-content:center;width:42px}.conv-avatar.group{background:linear-gradient(135deg,#52c41a,#389e0d)}.conv-info{flex:1 1;min-width:0}.conv-name-row{align-items:center;display:flex;gap:6px;justify-content:space-between;margin-bottom:3px}.conv-name{color:#222;font-size:.9rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-name.unread{color:#1890ff;font-weight:700}.conv-time{color:#aaa;flex-shrink:0;font-size:.7rem}.conv-last-msg{color:#888;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-last-msg.unread{color:#333;font-weight:600}.conv-unread-dot{align-items:center;background:#ff4d4f;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:10px;font-weight:700;height:20px;justify-content:center;width:20px}.message-window{height:100%;overflow:hidden}.message-window,.messages-display{display:flex;flex:1 1;flex-direction:column}.messages-display{background:#f5f7fa;gap:8px;overflow-y:auto;padding:14px}.message-bubble{border-radius:14px;font-size:.88rem;line-height:1.45;max-width:78%;padding:8px 12px}.message-sent{align-self:flex-end;background:#1890ff;border-bottom-right-radius:4px;color:#fff}.message-received{align-self:flex-start;background:#fff;border-bottom-left-radius:4px;box-shadow:0 1px 4px #00000014;color:#222}.message-info{font-size:.68rem;font-weight:600;margin-bottom:2px;opacity:.75}.message-content{word-break:break-word}.message-time{font-size:.63rem;margin-top:4px;opacity:.65;text-align:right}.message-input-area{align-items:flex-end;background:#fff;border-top:1px solid #eee;display:flex;flex-shrink:0;gap:8px;padding:10px 12px}.message-input{border:1px solid #ddd;border-radius:18px;flex:1 1;font-family:inherit;font-size:.88rem;max-height:90px;outline:none;padding:7px 14px;resize:none;transition:border .2s}.message-input:focus{border-color:#1890ff}.message-send-btn{align-items:center;background:linear-gradient(135deg,#1890ff,#096dd9);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.85rem;height:34px;justify-content:center;transition:opacity .2s,transform .15s;width:34px}.message-send-btn:disabled{background:#ccc;cursor:not-allowed}.message-send-btn:not(:disabled):hover{transform:scale(1.1)}.new-chat-modal{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.chat-search-container{flex-shrink:0;padding:12px}.chat-search-input{border:1px solid #ddd;border-radius:18px;box-sizing:border-box;font-size:.9rem;outline:none;padding:7px 12px;transition:border .2s;width:100%}.chat-search-input:focus{border-color:#1890ff}.chat-tabs{border-bottom:1px solid #eee;display:flex;flex-shrink:0}.chat-tab{background:none;border:none;border-bottom:2px solid #0000;color:#888;cursor:pointer;flex:1 1;font-size:.8rem;font-weight:600;padding:8px;text-align:center;transition:all .2s}.chat-tab.active{border-bottom-color:#1890ff;color:#1890ff}.user-results{flex:1 1;overflow-y:auto}.group-section-header{align-items:center;background:#f8f8f8;border-bottom:1px solid #eee;color:#888;display:flex;font-size:.73rem;font-weight:700;justify-content:space-between;letter-spacing:.05em;padding:8px 12px 4px;text-transform:uppercase}.select-group-btn{background:#e6f7ff;border:1px solid #91d5ff;border-radius:4px;color:#1890ff;cursor:pointer;font-size:.7rem;font-weight:600;padding:2px 8px}.select-group-btn:hover{background:#bae7ff}.user-select-item{align-items:center;border-bottom:1px solid #f5f5f5;cursor:pointer;display:flex;gap:10px;padding:9px 12px;transition:background .15s}.user-select-item:hover{background:#f5f8ff}.user-select-item.selected{background:#e6f7ff}.chat-empty-state{align-items:center;color:#bbb;display:flex;flex:1 1;flex-direction:column;gap:10px;justify-content:center;padding:24px 16px;text-align:center}.chat-empty-icon{font-size:2.8rem;opacity:.4}.chat-new-btn{background:linear-gradient(135deg,#1890ff,#096dd9);border:none;border-radius:20px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:8px 20px;transition:opacity .2s,transform .15s}.chat-new-btn:hover{opacity:.9;transform:scale(1.03)}.selected-chips{background:#fff;border-bottom:1px solid #eee;display:flex;flex-shrink:0;flex-wrap:wrap;gap:5px;min-height:36px;padding:6px 12px}.selected-chip{align-items:center;background:#e6f7ff;border:1px solid #91d5ff;border-radius:12px;color:#096dd9;display:flex;font-size:.75rem;gap:4px;padding:2px 8px}.chip-remove{cursor:pointer;font-weight:700;opacity:.6}.chip-remove:hover{opacity:1}.user-role-badge{background:#f0f0f0;border-radius:3px;color:#666;flex-shrink:0;font-size:.65rem;padding:1px 5px}.user-role-badge.admin{background:#fff7e6;color:#d46b08}.user-role-badge.super_admin{background:#f9f0ff;color:#531dab}.user-role-badge.employee{background:#f6ffed;color:#389e0d}.user-role-badge.parent{background:#fff0f6;color:#c41d7f}
/*# sourceMappingURL=main.2e26c203.css.map*/