.loading{padding:2rem;text-align:center}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 12px #00000014;max-width:360px;width:100%}.login-card h1{margin:0 0 .5rem;font-size:1.25rem}.login-desc{color:#666;margin:0 0 .5rem;font-size:.9rem}.login-hint{color:#888;margin:0 0 1rem;font-size:.8rem}.login-card form label{display:block;margin-bottom:1rem;font-size:.9rem;font-weight:500}.login-card form input{width:100%;padding:.5rem .75rem;margin-top:.25rem;border:1px solid #ccc;border-radius:6px}.login-error{color:#c00;font-size:.85rem;margin:0 0 1rem}.login-card form button{width:100%;padding:.6rem;background:#2563eb;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer}.login-card form button:disabled{opacity:.7;cursor:not-allowed}.desk{display:flex;height:100vh;overflow:hidden}.desk-sidebar{width:320px;min-width:280px;display:flex;flex-direction:column;border-right:1px solid #e5e7eb;background:#f9fafb}.desk-sidebar-header{padding:1rem 1rem .5rem;flex-shrink:0}.desk-title{margin:0;font-size:1.15rem;font-weight:600}.desk-bot-ref{font-size:.8rem;color:#6b7280}.desk-toolbar{display:flex;gap:.5rem;align-items:center;padding:.75rem 1rem;flex-shrink:0}.desk-filter{padding:.35rem .6rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;background:#fff}.desk-btn-refresh{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:.85rem;cursor:pointer}.desk-btn-refresh:hover:not(:disabled){background:#f3f4f6}.desk-btn-refresh:disabled{opacity:.6;cursor:not-allowed}.desk-list-wrap{flex:1;overflow-y:auto;padding:0 .5rem 1rem}.desk-loading,.desk-empty{padding:1.5rem 1rem;text-align:center;color:#6b7280;font-size:.9rem}.desk-list{list-style:none;margin:0;padding:0}.desk-list-item{display:block;padding:.75rem;margin-bottom:.35rem;border-radius:8px;text-decoration:none;color:inherit;background:#fff;border:1px solid #e5e7eb;transition:border-color .15s,background .15s}.desk-list-item:hover{border-color:#93c5fd;background:#fefce8}.desk-list-item.active{border-color:#2563eb;background:#eff6ff}.desk-item-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin-bottom:.25rem}.desk-item-id{font-weight:600;color:#4b5563;font-size:.85rem}.desk-item-topic{font-weight:500;font-size:.9rem}.desk-item-new{display:inline-flex;align-items:center;color:#2563eb;margin-left:auto}.desk-item-status{font-size:.7rem;padding:.15rem .35rem;border-radius:4px}.desk-item-status.status-open{background:#dcfce7;color:#166534}.desk-item-status.status-closed{background:#f3f4f6;color:#6b7280}.desk-item-contact{font-size:.85rem;color:#4b5563;margin-bottom:.2rem}.desk-item-username{margin-left:.35rem;color:#6b7280}.desk-item-preview{font-size:.8rem;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desk-item-time{font-size:.75rem;color:#9ca3af}.desk-main{flex:1;display:flex;flex-direction:column;min-width:0;background:#fff;overflow:hidden}.desk-placeholder,.desk-loading-main{flex:1;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:1rem}.desk-main-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid #e5e7eb;flex-shrink:0}.desk-btn-refresh-main{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:.9rem;cursor:pointer}.desk-btn-refresh-main:hover{background:#f9fafb}.desk-main-meta{display:flex;gap:.75rem;align-items:center;font-size:.9rem;color:#4b5563}.desk-main-meta .status-open{color:#166534}.desk-main-meta .status-closed{color:#6b7280}.desk-btn-close{margin-left:auto;padding:.4rem .75rem;border:1px solid #dc2626;border-radius:6px;background:#fff;color:#dc2626;font-size:.9rem;cursor:pointer}.desk-btn-close:hover:not(:disabled){background:#fef2f2}.desk-btn-close:disabled{opacity:.6}.desk-contact{padding:.75rem 1.25rem;background:#f9fafb;font-size:.9rem;display:flex;flex-wrap:wrap;gap:.5rem 1rem;border-bottom:1px solid #e5e7eb}.desk-messages{flex:1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.desk-msg{max-width:85%;padding:.6rem .9rem;border-radius:10px}.desk-msg-operator{align-self:flex-end;background:#eff6ff;border:1px solid #bfdbfe}.desk-msg-user{align-self:flex-start;background:#f3f4f6;border:1px solid #e5e7eb}.desk-msg-meta{font-size:.75rem;color:#6b7280;margin-bottom:.25rem}.desk-msg-content{margin:0;font-size:.95rem;white-space:pre-wrap;word-break:break-word}.desk-msg-attachments{margin-top:.35rem}.desk-link-btn{background:none;border:none;padding:0;color:#2563eb;text-decoration:underline;cursor:pointer;font-size:.85rem}.desk-reply{padding:1rem 1.25rem;border-top:1px solid #e5e7eb;flex-shrink:0}.desk-reply-textarea{width:100%;padding:.6rem .75rem;border:1px solid #d1d5db;border-radius:8px;font-size:.95rem;font-family:inherit;resize:vertical;min-height:72px}.desk-reply-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.desk-reply-actions{display:flex;align-items:center;gap:1rem;margin-top:.5rem}.desk-file-label{font-size:.9rem;color:#4b5563;cursor:pointer}.desk-file-label input{display:none}.desk-btn-send{padding:.45rem 1rem;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer}.desk-btn-send:hover:not(:disabled){background:#1d4ed8}.desk-btn-send:disabled{opacity:.6;cursor:not-allowed}*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:#f5f5f5}#root{min-height:100vh;height:100vh}
