*{box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--tg-theme-bg-color: #ffffff;--tg-theme-text-color: #000000;--tg-theme-hint-color: #999999;--tg-theme-link-color: #3390ec;--tg-theme-button-color: #3390ec;--tg-theme-button-text-color: #ffffff;--tg-theme-secondary-bg-color: #f0f0f0;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}body{margin:0;padding:0;min-height:100vh;background:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-text-color, #000000);overflow-y:auto;overscroll-behavior:none}#root{min-height:100vh}button{font-family:inherit;-webkit-tap-highlight-color:transparent}input{font-family:inherit}button,.email-item{-webkit-user-select:none;user-select:none}input{-webkit-appearance:none;appearance:none}.email-list{display:flex;flex-direction:column;gap:12px;width:100%}.list-title{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--tg-theme-text-color, #333)}.email-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--tg-theme-bg-color, #ffffff);border-radius:12px;transition:background-color .2s}.email-item:active{background:var(--tg-theme-secondary-bg-color, #f0f0f0)}.email-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.email-icon{font-size:24px;flex-shrink:0}.email-address{color:var(--tg-theme-text-color, #000000);font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-btn{background:transparent;border:none;font-size:20px;cursor:pointer;padding:8px;border-radius:8px;transition:background-color .2s;flex-shrink:0;color:var(--tg-theme-text-color, #000000)}.delete-btn:hover:not(:disabled){background:var(--tg-theme-secondary-bg-color, #f0f0f0)}.delete-btn:active:not(:disabled){background:var(--tg-theme-secondary-bg-color, #e0e0e0)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-text{color:var(--tg-theme-text-color, #000000);font-size:18px;font-weight:600;margin:0 0 8px}.empty-hint{color:var(--tg-theme-hint-color, #999999);font-size:14px;margin:0}.smtp-user-list{display:flex;flex-direction:column;gap:12px}.smtp-user-item{background:var(--tg-theme-bg-color, #ffffff);border-radius:12px;padding:16px;box-shadow:0 2px 8px #0000001a;display:flex;justify-content:space-between;align-items:center;transition:transform .2s,box-shadow .2s}.smtp-user-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.user-info{display:flex;align-items:center;gap:12px;flex:1}.user-icon{font-size:24px}.username{font-size:16px;font-weight:500;color:var(--tg-theme-text-color, #333333);word-break:break-all}.action-buttons{display:flex;gap:8px}.edit-btn,.delete-btn,.save-btn,.cancel-btn{padding:8px 12px;border:none;border-radius:8px;font-size:20px;cursor:pointer;transition:transform .2s,background-color .2s;color:#fff}.edit-btn{background-color:#4caf50}.edit-btn:hover:not(:disabled){background-color:#45a049}.delete-btn{background-color:#f44336}.save-btn{background-color:var(--tg-theme-button-color, #2196F3)}.save-btn:hover:not(:disabled){opacity:.8}.cancel-btn{background-color:var(--tg-theme-hint-color, #999999)}.cancel-btn:hover:not(:disabled){opacity:.8}.edit-btn:active:not(:disabled),.delete-btn:active:not(:disabled),.save-btn:active:not(:disabled),.cancel-btn:active:not(:disabled){transform:scale(.95)}.edit-btn:disabled,.delete-btn:disabled,.save-btn:disabled,.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.edit-password-form{width:100%}.password-input-wrapper{display:flex;gap:8px;margin-top:12px}.password-input{flex:1;padding:12px;border:2px solid var(--tg-theme-hint-color, #dddddd);border-radius:8px;font-size:16px;background:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000);transition:border-color .2s}.password-input:focus{outline:none;border-color:#2196f3}.password-input.error{border-color:#f44336}.password-input:disabled{background-color:var(--tg-theme-secondary-bg-color, #f5f5f5);cursor:not-allowed}.error-message{margin-top:8px;color:#f44336;font-size:14px}.empty-text{font-size:18px;font-weight:600;margin-bottom:8px;color:var(--tg-theme-text-color, #333333)}.empty-hint{font-size:14px;color:var(--tg-theme-hint-color, #999999)}.add-smtp-user-form{background:var(--tg-theme-bg-color, #ffffff);border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px}.input-group{display:flex;flex-direction:column}.username-input,.password-input{padding:12px;border:2px solid var(--tg-theme-hint-color, #dddddd);border-radius:8px;font-size:16px;background:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000);transition:border-color .2s}.username-input:focus,.password-input:focus{outline:none;border-color:#2196f3}.username-input.error,.password-input.error{border-color:#f44336}.username-input:disabled,.password-input:disabled{background-color:var(--tg-theme-secondary-bg-color, #f5f5f5);cursor:not-allowed}.add-btn{padding:12px 24px;background-color:var(--tg-theme-button-color, #2196F3);color:var(--tg-theme-button-text-color, #ffffff);border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s,transform .2s;display:flex;align-items:center;justify-content:center;gap:4px}.add-btn:hover:not(:disabled){background-color:#0b7dda}.add-btn:active:not(:disabled){transform:scale(.98)}.add-btn:disabled{background-color:#ccc;cursor:not-allowed}.admin-binding-manager{display:flex;flex-direction:column;gap:24px}.binding-form{background:var(--tg-theme-bg-color, #ffffff);border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a}.form-title,.list-title{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--tg-theme-text-color, #333333)}.form-fields{display:flex;flex-direction:column;gap:12px}.user-id-input,.address-input{padding:12px;border:2px solid var(--tg-theme-hint-color, #dddddd);border-radius:8px;font-size:16px;background:var(--tg-theme-bg-color, #ffffff);color:var(--tg-theme-text-color, #000000);transition:border-color .2s}.user-id-input:focus,.address-input:focus{outline:none;border-color:#2196f3}.user-id-input.error,.address-input.error{border-color:#f44336}.user-id-input:disabled,.address-input:disabled{background-color:var(--tg-theme-secondary-bg-color, #f5f5f5);cursor:not-allowed}.bind-btn{padding:12px 24px;background-color:var(--tg-theme-button-color, #2196F3);color:var(--tg-theme-button-text-color, #ffffff);border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s,transform .2s;display:flex;align-items:center;justify-content:center;gap:4px}.bind-btn:hover:not(:disabled){background-color:#0b7dda}.bind-btn:active:not(:disabled){transform:scale(.98)}.bind-btn:disabled{background-color:#ccc;cursor:not-allowed}.error-message{color:#f44336;font-size:14px;margin-top:8px}.bindings-list{background:var(--tg-theme-bg-color, #ffffff);border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a}.binding-items{display:flex;flex-direction:column;gap:12px}.binding-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--tg-theme-secondary-bg-color, #f9f9f9);border-radius:8px;transition:background-color .2s}.binding-item:hover{background:var(--tg-theme-secondary-bg-color, #f0f0f0);opacity:.8}.binding-info{flex:1;display:flex;flex-direction:column;gap:12px}.user-section,.email-section{display:flex;align-items:center;gap:8px}.user-icon,.email-icon{font-size:20px;flex-shrink:0}.user-details{display:flex;flex-direction:column;gap:2px}.user-name{font-size:14px;font-weight:600;color:var(--tg-theme-text-color, #333333)}.user-id{font-size:12px;color:var(--tg-theme-hint-color, #999999)}.email-address{font-size:14px;color:var(--tg-theme-text-color, #555555);word-break:break-all}.delete-btn{padding:8px 12px;border:none;border-radius:8px;font-size:20px;background-color:#f44336;color:#fff;cursor:pointer;transition:transform .2s,background-color .2s;flex-shrink:0}.delete-btn:hover:not(:disabled){background-color:#da190b}.delete-btn:active:not(:disabled){transform:scale(.95)}.delete-btn:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;padding:48px 24px;color:var(--tg-theme-hint-color, #666666)}.empty-icon{font-size:64px;margin-bottom:16px;color:var(--tg-theme-hint-color, #999999)}.empty-text{font-size:16px;color:var(--tg-theme-hint-color, #999999)}.message-list{display:flex;flex-direction:column;gap:12px}.message-item{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 3px #0000001a;cursor:pointer;transition:all .2s;display:flex;justify-content:space-between;align-items:center;gap:12px}.message-item:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.message-item:active{transform:translateY(0)}.message-content{flex:1;min-width:0}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;gap:8px}.message-sender{font-weight:600;color:#333;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-date{font-size:12px;color:#888;white-space:nowrap}.message-subject{font-size:14px;font-weight:500;color:#555;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:8px}.attachment-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;background:#e3f2fd;color:#1976d2;border-radius:4px;font-size:11px;font-weight:600}.message-preview{font-size:13px;color:#888;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-arrow{color:#ccc;flex-shrink:0}.message-detail{display:flex;flex-direction:column;gap:16px;padding-bottom:20px}.detail-header{display:flex;align-items:center;padding:8px 0}.back-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fff;border:1px solid #ddd;border-radius:8px;color:#333;font-size:14px;cursor:pointer;transition:all .2s}.back-btn:hover{background:#f5f5f5;border-color:#bbb}.detail-info{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a}.detail-subject{font-size:20px;font-weight:600;color:#333;margin:0 0 16px}.detail-meta{display:flex;flex-direction:column;gap:8px}.meta-row{display:flex;gap:12px;font-size:14px}.meta-label{font-weight:600;color:#666;min-width:50px}.meta-value{color:#333;word-break:break-word}.attachments-section{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 3px #0000001a}.attachments-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#333;margin:0 0 12px}.attachments-list{display:flex;flex-direction:column;gap:8px}.attachment-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#f8f9fa;border-radius:8px;gap:12px}.attachment-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.attachment-name{font-size:14px;font-weight:500;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-size{font-size:12px;color:#888}.download-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#1976d2;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background .2s;flex-shrink:0}.download-btn:hover{background:#1565c0}.view-mode-toggle{display:flex;gap:8px;background:#fff;padding:4px;border-radius:8px;box-shadow:0 1px 3px #0000001a;width:fit-content}.toggle-btn{padding:8px 16px;background:transparent;border:none;border-radius:6px;font-size:14px;font-weight:500;color:#666;cursor:pointer;transition:all .2s}.toggle-btn.active{background:#1976d2;color:#fff}.content-section{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 3px #0000001a;min-height:300px}.html-content iframe{width:100%;min-height:400px;border:none;border-radius:8px;background:#fff}.text-content{font-family:Courier New,monospace;font-size:14px;color:#333;white-space:pre-wrap;word-wrap:break-word}.text-content pre{margin:0;font-family:inherit;white-space:pre-wrap;word-wrap:break-word}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:16px}.error-icon{color:#f44336}.primary-btn{padding:12px 24px;background:#1976d2;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.primary-btn:hover{background:#1565c0}#root{width:100%;min-height:100vh;background:var(--tg-theme-secondary-bg-color, #f0f0f0)}.app-container{max-width:600px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.app-header{padding:20px 16px 16px;background:var(--tg-theme-bg-color, #ffffff);border-bottom:1px solid var(--tg-theme-secondary-bg-color, #f0f0f0)}.app-title{margin:0;font-size:20px;font-weight:600;color:var(--tg-theme-text-color, #000000);display:flex;align-items:center;gap:8px}.admin-badge{display:inline-block;padding:2px 8px;background-color:#4caf50;color:#fff;border-radius:4px;font-size:12px;font-weight:600}.tab-container{display:flex;gap:8px;padding:12px 16px;background:var(--tg-theme-bg-color, #ffffff);border-bottom:1px solid var(--tg-theme-secondary-bg-color, #f0f0f0)}.tab-btn{flex:1;padding:12px 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;background:var(--tg-theme-secondary-bg-color, #f0f0f0);color:var(--tg-theme-text-color, #000000);display:flex;align-items:center;justify-content:center;gap:4px}.tab-btn:hover{opacity:.8}.tab-btn.active{background:var(--tg-theme-button-color, #2196F3);color:var(--tg-theme-button-text-color, #ffffff)}.app-main{flex:1;padding:16px;display:flex;flex-direction:column}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:var(--tg-theme-bg-color, #ffffff)}.loading-spinner{font-size:48px;color:var(--tg-theme-hint-color, #999999);animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{margin-top:16px;font-size:16px;color:var(--tg-theme-hint-color, #999999)}.error-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fee;border:1px solid #fcc;border-radius:12px;margin-bottom:16px}.error-icon{font-size:20px;flex-shrink:0}.error-text{color:#c00;font-size:14px;flex:1}
