*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#f6f8fc;color:#202124;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}button.primary{background:#1a73e8;color:#fff;border:none;padding:8px 14px;border-radius:999px;font-weight:500;font-size:14px}button.primary:disabled{background:#9aa0a6;cursor:not-allowed}button.ghost{background:transparent;border:1px solid #dadce0;padding:6px 12px;border-radius:999px;color:#202124;font-size:14px}button.ghost:hover{background:#f1f3f4}button.ghost.small{padding:4px 10px;font-size:12px}.loading{display:flex;align-items:center;justify-content:center;height:100vh;color:#9aa0a6;font-size:28px}.login-wrap{height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f6f8fc,#e8f0fe)}.login-card{background:#fff;border-radius:12px;padding:40px 48px;box-shadow:0 1px 3px #3c404326,0 4px 16px #3c40431f;display:flex;flex-direction:column;align-items:center;gap:20px;min-width:320px}.login-logo{width:56px;height:56px;border-radius:50%;background:#1a73e8;color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:600}.login-title{font-size:18px;color:#5f6368}.code-row{display:flex;gap:12px}.code-input{width:52px;height:60px;text-align:center;font-size:28px;border:2px solid #dadce0;border-radius:8px;outline:none;transition:border-color .15s}.code-input:focus{border-color:#1a73e8}.login-err{color:#c5221f;font-size:14px}.login-btn{width:100%;padding:12px;font-size:15px}.app{display:flex;flex-direction:column;height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#fff;border-bottom:1px solid #e8eaed;height:56px;flex-shrink:0}.brand{font-size:18px;font-weight:500;color:#5f6368}.topbar-right{display:flex;align-items:center;gap:12px}.profile{display:flex;align-items:center;gap:10px;margin-left:8px;padding-left:12px;border-left:1px solid #e8eaed}.profile-email{font-size:13px;color:#5f6368}.avatar-btn{width:36px;height:36px;border-radius:50%;border:none;padding:0;background:#1a73e8;color:#fff;font-weight:600;overflow:hidden;display:flex;align-items:center;justify-content:center}.avatar-btn img{width:100%;height:100%;object-fit:cover}.main{flex:1;display:flex;min-height:0}.thread-list{width:380px;border-right:1px solid #e8eaed;background:#fff;overflow-y:auto;flex-shrink:0}.empty{padding:40px 20px;text-align:center;color:#9aa0a6}.empty.large{font-size:18px;padding-top:120px}.thread-row{display:flex;gap:12px;padding:14px 16px;border-bottom:1px solid #f1f3f4;cursor:pointer;align-items:flex-start;position:relative}.thread-row:hover{background:#f8f9fa}.thread-row.active{background:#e8f0fe}.thread-row.unread .thread-from,.thread-row.unread .thread-subject{font-weight:700;color:#202124}.thread-avatar{width:36px;height:36px;border-radius:50%;background:#1a73e8;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.thread-main{flex:1;min-width:0}.thread-line1{display:flex;justify-content:space-between;gap:8px}.thread-from{font-size:14px;font-weight:500;color:#202124;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.thread-time{font-size:12px;color:#5f6368;white-space:nowrap;flex-shrink:0}.thread-subject{font-size:14px;color:#202124;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-preview{font-size:13px;color:#5f6368;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-badge{background:#1a73e8;color:#fff;border-radius:999px;padding:2px 7px;font-size:11px;font-weight:600;align-self:center}.thread-view{flex:1;overflow-y:auto;background:#fff;display:flex;flex-direction:column;min-width:0}.thread-header{padding:20px 28px;border-bottom:1px solid #e8eaed;display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;background:#fff;z-index:1}.thread-header h2{margin:0;font-size:20px;font-weight:400}.messages{padding:16px 28px 80px}.msg{background:#fff;border:1px solid #e8eaed;border-radius:8px;padding:16px 20px;margin-bottom:12px}.msg.in{background:#f6f8fc}.msg-head{display:flex;gap:12px;margin-bottom:12px}.msg-avatar{width:36px;height:36px;border-radius:50%;background:#5f6368;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;flex-shrink:0}.msg.out .msg-avatar{background:#1a73e8}.msg-meta{flex:1;min-width:0}.msg-from{font-size:14px}.msg-arrow{margin:0 6px;color:#9aa0a6}.msg-to{color:#5f6368;font-size:13px}.msg-sub{font-size:12px;color:#5f6368;margin-top:2px;display:flex;align-items:center;gap:8px}.msg-body{font-size:14px;line-height:1.6;color:#202124}.msg-body pre{font-family:inherit;white-space:pre-wrap;word-wrap:break-word;margin:0}.msg-body img{max-width:100%;height:auto}.badge{display:inline-block;padding:1px 8px;font-size:11px;border:1px solid #dadce0;border-radius:999px;text-transform:uppercase;font-weight:600;letter-spacing:.3px}.composer{position:fixed;right:24px;bottom:0;width:560px;max-width:calc(100vw - 48px);max-height:80vh;background:#fff;border-radius:8px 8px 0 0;box-shadow:0 8px 24px #3c40434d;display:flex;flex-direction:column;z-index:100}.composer-head{background:#404040;color:#fff;padding:10px 16px;border-radius:8px 8px 0 0;display:flex;justify-content:space-between;align-items:center}.composer-title{font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-head .ghost{background:transparent;border:none;color:#fff;font-size:22px;padding:0 4px}.composer-body{padding:12px 16px 16px;display:flex;flex-direction:column;gap:8px;min-height:0}.composer-field{display:flex;align-items:center;gap:8px;border-bottom:1px solid #e8eaed;padding:6px 0}.composer-label{font-size:12px;color:#5f6368;min-width:50px}.composer-static{font-size:13px;color:#5f6368}.composer-input{flex:1;border:none;outline:none;font-size:14px;padding:4px 0}.composer-textarea{border:none;outline:none;font-size:14px;padding:12px 0;min-height:220px;resize:vertical;font-family:inherit}.composer-actions{display:flex;gap:8px;align-items:center;padding-top:8px;border-top:1px solid #f1f3f4}.composer-err{color:#c5221f;font-size:13px;padding:6px 0}
