.message-page{min-height:100vh;background:#f5f5f5;padding-bottom:20px}.message-form-section{background:#fff;padding:16px;margin-bottom:12px}.form-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:20px}.form-title{font-size:18px;font-weight:600;color:#fff;margin:0 0 16px}.message-form{display:flex;flex-direction:column;gap:12px}.form-group{position:relative}.form-group input{width:100%;padding:14px 16px;border:none;border-radius:12px;font-size:15px;background:#fffffff2}.form-group textarea{width:100%;padding:14px 16px;border:none;border-radius:12px;font-size:15px;background:#fffffff2;resize:vertical;min-height:100px;font-family:inherit}.form-group input::placeholder,.form-group textarea::placeholder{color:#999}.form-group input:focus,.form-group textarea:focus{outline:none;box-shadow:0 0 0 3px #ffffff4d}.char-count{position:absolute;bottom:8px;right:12px;font-size:12px;color:#fffc;background:#0003;padding:2px 8px;border-radius:10px}.submit-btn{padding:14px 24px;background:#fff;color:#667eea;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #0003;transition:all .3s ease}.submit-btn:active{transform:scale(.95)}.message-list-section{padding:0 16px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-header h2{font-size:18px;font-weight:600;color:#333;margin:0}.message-list{display:flex;flex-direction:column;gap:12px}.message-item{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #0000000f}.message-main{display:flex;gap:12px;padding:16px}.message-avatar{width:44px;height:44px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:18px;flex-shrink:0}.message-content{flex:1;min-width:0}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.message-author{font-weight:600;color:#333;font-size:15px}.message-time{font-size:12px;color:#999}.message-body{color:#555;font-size:14px;line-height:1.5;margin-bottom:8px}.replies-count{font-size:13px;color:#667eea;font-weight:500}.replies-section{display:none;padding:0 16px 16px;background:#f8f9fa;border-top:1px solid #f0f0f0}.replies-section.show{display:block}.replies-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.reply-item{padding:10px;background:#fff;border-radius:10px;border-left:3px solid #e5e7eb}.reply-item.admin{background:linear-gradient(135deg,#667eea0d,#764ba20d);border-left-color:#667eea}.reply-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.reply-author{font-weight:500;font-size:13px;color:#333}.reply-item.admin .reply-author{color:#667eea}.reply-time{font-size:11px;color:#999}.reply-body{color:#555;font-size:13px;line-height:1.5}.message-footer{display:flex;border-top:1px solid #f0f0f0}.toggle-replies-btn,.reply-toggle-btn{flex:1;padding:12px;background:none;border:none;color:#667eea;font-size:14px;font-weight:500;cursor:pointer;transition:background .3s ease}.toggle-replies-btn:active,.reply-toggle-btn:active{background:#f8f9fa}.message-footer .reply-toggle-btn{border-left:1px solid #f0f0f0}.reply-form-wrapper{padding:16px;background:#f8f9fa;border-top:1px solid #e5e7eb}.reply-form{display:flex;flex-direction:column;gap:10px}.reply-form input,.reply-form textarea{width:100%;padding:12px 14px;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;font-family:inherit}.reply-form textarea{min-height:80px;resize:vertical}.form-actions{display:flex;gap:8px}.submit-reply-btn,.cancel-reply-btn{flex:1;padding:10px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .3s ease}.submit-reply-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.submit-reply-btn:active{transform:scale(.95)}.cancel-reply-btn{background:#fff;color:#666;border:1px solid #e5e7eb}.cancel-reply-btn:active{background:#f8f9fa}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:16px}.empty-icon{font-size:56px;margin-bottom:12px;opacity:.5}.empty-state h3{font-size:18px;color:#333;margin:0 0 8px}.empty-state p{font-size:14px;color:#999;margin:0}.load-more{padding:16px 0;text-align:center}.load-more-btn{display:inline-block;padding:12px 32px;background:#fff;color:#667eea;text-decoration:none;border-radius:24px;font-size:14px;font-weight:500;box-shadow:0 2px 8px #667eea4d;transition:all .3s ease}.load-more-btn:active{transform:scale(.95)}
