.signin-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.signin-card{background:#fff;padding:2.5rem;border-radius:12px;box-shadow:0 10px 40px #0003;width:100%;max-width:400px}.signin-title{font-size:2rem;font-weight:600;color:#333;margin-bottom:2rem;text-align:center}.signin-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{font-size:.9rem;font-weight:500;color:#555}.form-group input{padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .3s,box-shadow .3s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.error-message{color:#e74c3c;font-size:.9rem;text-align:center;padding:.5rem;background-color:#fee;border-radius:6px;border:1px solid #fcc}.signin-button{padding:.875rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:.5rem}.signin-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.signin-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.signin-button:disabled:hover{transform:none;box-shadow:none}.dashboard-container{display:flex;flex-direction:column;height:100vh;overflow:hidden}.dashboard-content{display:flex;flex:1;overflow:hidden}.dashboard-main{flex:1;background-color:#f9fafb;overflow-y:auto;padding:2rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:#fff;box-shadow:0 2px 4px #0000001a;border-bottom:1px solid #e5e7eb}.header-left{display:flex;align-items:center}.header-title{font-size:1.5rem;font-weight:600;color:#333}.header-right{display:flex;align-items:center;gap:1.5rem}.header-actions{display:flex;align-items:center;gap:1rem}.total-amount{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#f3f4f6;border-radius:8px}.total-label{font-size:.9rem;color:#6b7280}.total-value{font-size:1.1rem;font-weight:700;color:#059669}.etherscan-link{display:flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background-color:#667eea;color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none}.etherscan-link:hover{background-color:#5568d3;transform:translateY(-1px);box-shadow:0 2px 4px #667eea4d}.etherscan-link:active{transform:translateY(0)}.user-info{display:flex;align-items:center}.username{font-size:.95rem;color:#4b5563;font-weight:500}.signout-button{padding:.5rem 1.25rem;background-color:#ef4444;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s}.signout-button:hover{background-color:#dc2626}.sidebar{width:200px;background-color:#fff;border-right:1px solid #e5e7eb;padding:1.5rem 0}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;padding:0 1rem}.nav-button{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:none;border:none;border-radius:8px;font-size:1rem;color:#6b7280;cursor:pointer;transition:all .2s;text-align:left}.nav-button:hover{background-color:#f3f4f6;color:#374151}.nav-button.active{background-color:#667eea;color:#fff;font-weight:500}.nav-icon{font-size:1.2rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:#111827}.modal-close{background:none;border:none;font-size:2rem;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.modal-close:hover{color:#111827}.modal-close:disabled{opacity:.5;cursor:not-allowed}.transaction-form{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:500;color:#374151}.optional{color:#6b7280;font-weight:400;font-size:.85rem}.form-group input,.form-group select{padding:.75rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled,.form-group select:disabled{background-color:#f3f4f6;cursor:not-allowed}.image-preview{margin-top:.5rem;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;max-width:200px}.image-preview img{width:100%;height:auto;display:block}.error-message{color:#e74c3c;font-size:.9rem;padding:.75rem;background-color:#fee;border-radius:6px;border:1px solid #fcc}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}.btn-cancel,.btn-submit{padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel{background-color:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-cancel:hover{background-color:#e5e7eb}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.btn-submit:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.history-view{height:100%;display:flex;flex-direction:column}.history-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem}.history-header-actions{display:flex;align-items:center;gap:1rem}.btn-refresh{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-refresh:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;color:#667eea}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.btn-refresh svg{transition:transform .3s}.btn-refresh:not(:disabled):hover svg{transform:rotate(180deg)}.history-title{font-size:1.75rem;font-weight:600;color:#111827;margin-bottom:.5rem}.history-subtitle{color:#6b7280;font-size:.95rem}.btn-add-transaction{padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:transform .2s,box-shadow .2s;white-space:nowrap}.btn-add-transaction:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.error-banner{background-color:#fee;color:#e74c3c;padding:1rem;border-radius:8px;border:1px solid #fcc;margin-bottom:1.5rem}.history-content{flex:1}.loading-state,.empty-state{display:flex;justify-content:center;align-items:center;min-height:300px;color:#9ca3af;font-size:1rem}.transactions-table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;border:1px solid #e5e7eb}.transactions-table{width:100%;border-collapse:collapse}.transactions-table thead{background-color:#f9fafb}.transactions-table th{padding:1rem;text-align:left;font-weight:600;color:#374151;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid #e5e7eb}.transactions-table td{padding:1rem;border-bottom:1px solid #f3f4f6;color:#374151;font-size:.95rem}.transactions-table tbody tr:hover{background-color:#f9fafb}.transactions-table tbody tr:last-child td{border-bottom:none}.amount-cell{font-weight:600;color:#059669}.resource-cell{max-width:250px}.resource-empty{color:#9ca3af;font-style:italic}.resource-text-container{display:flex;align-items:center;gap:.5rem;max-width:250px}.resource-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#374151}.btn-copy{display:flex;align-items:center;justify-content:center;padding:.375rem;background:none;border:1px solid #d1d5db;border-radius:4px;color:#6b7280;cursor:pointer;transition:all .2s;flex-shrink:0}.btn-copy:hover{background-color:#f3f4f6;border-color:#9ca3af;color:#374151}.btn-copy:active{background-color:#e5e7eb}.btn-open-image{padding:.5rem 1rem;background-color:#667eea;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-open-image:hover{background-color:#5568d3}.btn-open-image:active{background-color:#4a5bc4}.status-badge{display:inline-block;padding:.375rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500;text-transform:capitalize}.status-pending{background-color:#fef3c7;color:#92400e}.status-confirmed{background-color:#d1fae5;color:#065f46}.btn-confirm{padding:.5rem 1rem;background-color:#059669;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-confirm:hover{background-color:#047857}.btn-confirm:disabled{opacity:.6;cursor:not-allowed}.confirmed-text{color:#059669;font-weight:500;font-size:.875rem}.chat-view{height:100%;display:flex;flex-direction:column;background-color:#fff}.chat-container{display:flex;flex-direction:column;height:100%;max-width:100%}.chat-header-bar{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb;background:#fff}.chat-page-title{font-size:1.5rem;font-weight:600;color:#111827;margin:0}.btn-refresh-chat{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-refresh-chat:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;color:#667eea}.btn-refresh-chat:disabled{opacity:.6;cursor:not-allowed}.btn-refresh-chat svg{transition:transform .3s}.btn-refresh-chat:not(:disabled):hover svg{transform:rotate(180deg)}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem;background:linear-gradient(to bottom,#f7f7f8,#fff)}.load-more-container{display:flex;justify-content:center;padding:1rem 0}.load-more-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.load-more-btn:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.load-more-btn:disabled{opacity:.6;cursor:not-allowed}.spinner-small{animation:spin 1s linear infinite}.chat-loading,.chat-empty{display:flex;justify-content:center;align-items:center;min-height:300px;color:#9ca3af;font-size:1rem}.chat-message{display:flex;flex-direction:column;max-width:85%;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-user{align-self:flex-end;align-items:flex-end}.message-other{align-self:flex-start;align-items:flex-start}.message-content{background:#fff;border-radius:12px;padding:.875rem 1rem;box-shadow:0 1px 2px #0000000d;border:1px solid rgba(0,0,0,.05)}.message-user .message-content{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;gap:.75rem}.message-sender{font-weight:600;font-size:.875rem;opacity:.9}.message-user .message-sender{opacity:1}.message-time{font-size:.75rem;opacity:.7}.message-user .message-time{opacity:.9}.message-text{font-size:.95rem;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.message-image{margin-top:.5rem}.message-image img{max-width:300px;max-height:300px;border-radius:8px;cursor:pointer;transition:transform .2s;object-fit:cover}.message-image img:hover{transform:scale(1.02)}.chat-error{background-color:#fee;color:#e74c3c;padding:.75rem 1rem;margin:0 1rem;border-radius:8px;font-size:.875rem;border:1px solid #fcc}.chat-input-container{border-top:1px solid #e5e7eb;background:#fff;padding:1rem}.image-preview-container{position:relative;display:inline-block;margin-bottom:.75rem;margin-left:3rem}.image-preview-container img{max-width:200px;max-height:200px;border-radius:8px;border:1px solid #e5e7eb}.remove-image-btn{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:#ef4444;color:#fff;border:2px solid white;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;transition:background-color .2s}.remove-image-btn:hover{background:#dc2626}.chat-input-wrapper{display:flex;align-items:flex-end;gap:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:.75rem;transition:border-color .2s,box-shadow .2s}.chat-input-wrapper:focus-within{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.attach-image-btn{display:flex;align-items:center;justify-content:center;padding:.5rem;background:none;border:none;color:#6b7280;cursor:pointer;border-radius:6px;transition:background-color .2s,color .2s;flex-shrink:0}.attach-image-btn:hover{background-color:#e5e7eb;color:#374151}.chat-input{flex:1;border:none;background:transparent;resize:none;font-size:.95rem;color:#374151;font-family:inherit;max-height:200px;overflow-y:auto;padding:.5rem;outline:none}.chat-input::placeholder{color:#9ca3af}.send-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:pointer;transition:transform .2s,box-shadow .2s;flex-shrink:0}.send-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{opacity:.5;cursor:not-allowed}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#9ca3af}.settings-view{display:flex;flex-direction:column;height:100%;background:#fff}.settings-header{padding:2rem 2rem 1rem;border-bottom:1px solid #e5e7eb;background:#fff}.settings-title{font-size:1.75rem;font-weight:600;color:#111827;margin:0 0 .5rem}.settings-subtitle{font-size:.95rem;color:#6b7280;margin:0}.settings-content{flex:1;overflow-y:auto;padding:2rem}.settings-form{max-width:600px}.settings-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:2rem;margin-bottom:2rem}.section-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 .5rem}.section-description{font-size:.875rem;color:#6b7280;margin:0 0 1.5rem}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.optional{color:#6b7280;font-weight:400;font-size:.8rem}.form-input{width:100%;padding:.75rem 1rem;font-size:.95rem;color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;transition:all .2s;box-sizing:border-box}.form-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-input:disabled{background-color:#f9fafb;cursor:not-allowed;opacity:.6}.form-help{display:block;font-size:.75rem;color:#6b7280;margin-top:.375rem}.checkbox-group{display:flex;align-items:flex-start}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-input{width:20px;height:20px;margin-top:2px;cursor:pointer;accent-color:#667eea;flex-shrink:0}.checkbox-input:disabled{cursor:not-allowed;opacity:.6}.checkbox-text{display:flex;flex-direction:column;gap:.25rem;flex:1}.checkbox-text strong{font-size:.95rem;font-weight:500;color:#111827}.checkbox-description{font-size:.875rem;color:#6b7280}.error-message{padding:.75rem 1rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem;margin-bottom:1rem}.success-message{padding:.75rem 1rem;background-color:#f0fdf4;border:1px solid #86efac;border-radius:8px;color:#16a34a;font-size:.875rem;margin-bottom:1rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;padding-top:1rem;border-top:1px solid #e5e7eb}.btn-save{padding:.75rem 1.5rem;background-color:#667eea;color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-save:hover:not(:disabled){background-color:#5568d3;transform:translateY(-1px);box-shadow:0 4px 6px #667eea33}.btn-save:active:not(:disabled){transform:translateY(0)}.btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-state{display:flex;justify-content:center;align-items:center;padding:3rem;color:#6b7280}.info-group{display:flex;flex-direction:column;gap:1rem}.info-item{display:flex;align-items:center;gap:.75rem}.info-label{font-size:.875rem;font-weight:500;color:#6b7280;min-width:100px}.info-value{font-size:.95rem;font-weight:500;color:#111827;text-transform:capitalize}.ether-lock-section{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.lock-info{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.lock-icon{font-size:1.5rem}.lock-text strong{display:block;color:#92400e;margin-bottom:.25rem}.lock-text p{margin:0;color:#a16207;font-size:.875rem}.unlock-form{margin-top:1rem}.password-input-group{display:flex;gap:.75rem;align-items:flex-end}.password-input-group .form-input{flex:1}.btn-unlock{padding:.75rem 1.25rem;background-color:#f59e0b;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-unlock:hover:not(:disabled){background-color:#d97706;transform:translateY(-1px)}.btn-unlock:disabled{opacity:.6;cursor:not-allowed;transform:none}.ether-unlock-section{background:#d1fae5;border:1px solid #10b981;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.unlock-info{display:flex;align-items:center;gap:1rem}.unlock-icon{font-size:1.5rem}.unlock-text{flex:1}.unlock-text strong{display:block;color:#065f46;margin-bottom:.25rem}.unlock-text p{margin:0;color:#047857;font-size:.875rem}.btn-lock{padding:.5rem 1rem;background-color:#6b7280;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-lock:hover{background-color:#4b5563;transform:translateY(-1px)}@media (max-width: 768px){.settings-header{padding:1.5rem 1rem 1rem}.settings-content{padding:1.5rem 1rem}.settings-section{padding:1.5rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#root{width:100%;min-height:100vh}
