@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap";.wallet-connector{max-width:500px;margin:0 auto;padding:20px;border-radius:12px;box-shadow:0 4px 6px #0000001a;background:#fff}.wallet-connector.connected{border:2px solid #3b82f6}.wallet-connector.disconnected{border:2px solid #e5e7eb}.wallet-info{margin-bottom:16px}.wallet-address,.network-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 12px;background:#f9fafb;border-radius:6px}.address-label,.network-label{font-weight:600;color:#374151}.address-value{font-family:Monaco,Menlo,monospace;color:#1f2937;background:#e5e7eb;padding:2px 6px;border-radius:4px}.network-value.valid{color:#3b82f6;font-weight:600}.network-value.invalid{color:#ef4444;font-weight:600}.network-warning{margin:16px 0;padding:16px;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px}.warning-message{margin:0 0 12px;color:#92400e;font-weight:600}.network-options{display:flex;flex-direction:column;gap:8px}.network-switch-btn{padding:8px 16px;background:#f59e0b;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background-color .2s}.network-switch-btn:hover:not(:disabled){background:#d97706}.network-switch-btn:disabled{opacity:.6;cursor:not-allowed}.connection-prompt{text-align:center}.connection-prompt h3{margin:0 0 8px;color:#1f2937}.connection-prompt p{margin:0 0 20px;color:#6b7280}.connect-btn{width:100%;padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s;margin-bottom:20px}.connect-btn:hover:not(:disabled){background:#2563eb}.connect-btn:disabled{opacity:.6;cursor:not-allowed}.disconnect-btn{width:100%;padding:10px 20px;background:#ef4444;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s}.disconnect-btn:hover:not(:disabled){background:#dc2626}.disconnect-btn:disabled{opacity:.6;cursor:not-allowed}.supported-networks{text-align:left;margin-top:20px;padding:16px;background:#f9fafb;border-radius:8px}.supported-networks h4{margin:0 0 8px;color:#374151;font-size:14px}.supported-networks ul{margin:0;padding-left:20px;color:#6b7280;font-size:14px}.supported-networks li{margin-bottom:4px}.error-message{margin-top:16px;padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;display:flex;justify-content:space-between;align-items:flex-start}.error-message p{margin:0;color:#dc2626;font-size:14px;flex:1}.clear-error-btn{background:none;border:none;color:#dc2626;cursor:pointer;font-size:16px;padding:0;margin-left:8px;line-height:1}.clear-error-btn:hover{color:#b91c1c}@media (max-width: 640px){.wallet-connector{margin:0 16px;padding:16px}.network-options{flex-direction:column}.wallet-address,.network-info{flex-direction:column;align-items:flex-start;gap:4px}}.role-registration{max-width:600px;margin:0 auto;padding:2rem}.role-registration.loading,.role-registration.disconnected,.role-registration.registered{text-align:center}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}.connection-required{padding:2rem;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;color:#856404}.connection-required h3{margin-top:0;color:#856404}.registration-complete{padding:2rem;background-color:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724}.registration-complete h3{margin-top:0;color:#155724}.registration-form-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem}.registration-form-container h3{margin-top:0;margin-bottom:.5rem;color:#333;font-size:1.5rem}.registration-form-container>p{margin-bottom:2rem;color:#666;line-height:1.5}.registration-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-weight:600;color:#333;font-size:.9rem}.field-hint{font-weight:400;color:#666;font-size:.8rem;margin-left:.5rem}.form-select,.form-input{padding:.75rem;border:2px solid #e1e5e9;border-radius:6px;font-size:1rem;transition:border-color .2s ease}.form-select:focus,.form-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.form-select.error,.form-input.error{border-color:#dc3545}.form-select:disabled,.form-input:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.role-description{padding:.75rem;background-color:#f8f9fa;border-radius:6px;font-size:.9rem;color:#495057;border-left:4px solid #007bff}.did-hash-input-group{display:flex;gap:.5rem;align-items:flex-start}.input-with-prefix{flex:1;display:flex;align-items:center;border:2px solid #e1e5e9;border-radius:6px;overflow:hidden;transition:border-color .2s ease}.input-with-prefix:focus-within{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.input-with-prefix.error{border-color:#dc3545}.input-prefix{padding:.75rem .5rem;background-color:#f8f9fa;color:#6c757d;font-family:Courier New,monospace;font-size:.9rem;border-right:1px solid #e1e5e9}.input-with-prefix .form-input{border:none;border-radius:0;font-family:Courier New,monospace;font-size:.9rem}.input-with-prefix .form-input:focus{box-shadow:none}.generate-sample-btn{padding:.75rem 1rem;background-color:#6c757d;color:#fff;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background-color .2s ease;white-space:nowrap}.generate-sample-btn:hover:not(:disabled){background-color:#5a6268}.generate-sample-btn:disabled{background-color:#adb5bd;cursor:not-allowed}.character-count{font-size:.8rem;color:#6c757d;text-align:right}.error-message{color:#dc3545;font-size:.85rem;margin-top:.25rem}.submit-btn{padding:1rem 2rem;background-color:#007bff;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease;margin-top:1rem}.submit-btn:hover:not(:disabled){background-color:#0056b3}.submit-btn:disabled{background-color:#6c757d;cursor:not-allowed}.transaction-status{margin-top:2rem;padding:1.5rem;border-radius:8px}.status-pending{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404;display:flex;align-items:center;gap:.75rem}.status-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.status-success h4{margin-top:0;margin-bottom:1rem}.status-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.status-error h4{margin-top:0;margin-bottom:1rem}.transaction-hash{margin:1rem 0;padding:.75rem;background-color:#f8f9fa;border-radius:6px;font-family:Courier New,monospace;font-size:.85rem;word-break:break-all}.transaction-hash strong{display:block;margin-bottom:.5rem;font-family:inherit}.transaction-hash code{background:none;padding:0;color:#495057}.reset-btn,.retry-btn,.clear-error-btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background-color .2s ease;margin-top:1rem}.reset-btn{background-color:#28a745;color:#fff}.reset-btn:hover{background-color:#218838}.retry-btn{background-color:#007bff;color:#fff}.retry-btn:hover{background-color:#0056b3}.clear-error-btn{background-color:#6c757d;color:#fff;padding:.25rem .5rem;font-size:.8rem;margin-left:.5rem;margin-top:0}.clear-error-btn:hover{background-color:#5a6268}@media (max-width: 768px){.role-registration{padding:1rem}.registration-form-container{padding:1.5rem}.did-hash-input-group{flex-direction:column}.generate-sample-btn{align-self:flex-start}}@media (max-width: 480px){.role-registration{padding:.5rem}.registration-form-container{padding:1rem}.submit-btn{padding:.75rem 1.5rem}}.invoice-uploader{max-width:600px;margin:0 auto;padding:20px}.uploader-container{background:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 6px #0000001a;border:1px solid #e5e7eb}.uploader-container h3{margin:0 0 8px;color:#1f2937;font-size:1.5rem;font-weight:600}.uploader-container>p{margin:0 0 24px;color:#6b7280;font-size:.95rem}.upload-area{border:2px dashed #d1d5db;border-radius:8px;padding:40px 20px;text-align:center;background:#f9fafb;transition:all .2s ease;cursor:pointer}.upload-area:hover{border-color:#3b82f6;background:#eff6ff}.upload-area.drag-over{border-color:#3b82f6;background:#dbeafe;transform:scale(1.02)}.upload-content{margin-bottom:20px}.upload-icon{font-size:3rem;margin-bottom:16px;opacity:.7}.upload-content h4{margin:0 0 8px;color:#374151;font-size:1.1rem;font-weight:500}.upload-content p{margin:8px 0;color:#6b7280;font-size:.9rem}.browse-btn{background:#3b82f6;color:#fff;border:none;border-radius:6px;padding:10px 20px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.browse-btn:hover:not(:disabled){background:#2563eb}.browse-btn:disabled{background:#9ca3af;cursor:not-allowed}.upload-info{border-top:1px solid #e5e7eb;padding-top:16px;margin-top:16px}.upload-info p{margin:4px 0;color:#6b7280;font-size:.8rem}.file-processing{text-align:center;padding:40px 20px}.file-processing .spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top:3px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.file-processing p{color:#6b7280;font-size:.9rem;margin:0}.file-preview{border:1px solid #e5e7eb;border-radius:8px;padding:20px;background:#f9fafb}.file-info{display:flex;align-items:flex-start;gap:16px;margin-bottom:20px}.file-icon{font-size:2rem;opacity:.7;flex-shrink:0}.file-details{flex:1;min-width:0}.file-details h4{margin:0 0 8px;color:#1f2937;font-size:1rem;font-weight:500;word-break:break-word}.file-details p{margin:4px 0;color:#6b7280;font-size:.85rem}.file-hash{margin-top:12px;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px}.file-hash strong{display:block;margin-bottom:6px;color:#374151;font-size:.85rem}.file-hash code{display:block;background:#f3f4f6;padding:8px;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75rem;color:#1f2937;word-break:break-all;line-height:1.4}.clear-file-btn{background:#ef4444;color:#fff;border:none;border-radius:50%;width:32px;height:32px;font-size:1rem;cursor:pointer;transition:background-color .2s ease;flex-shrink:0}.clear-file-btn:hover:not(:disabled){background:#dc2626}.clear-file-btn:disabled{background:#9ca3af;cursor:not-allowed}.create-invoice-btn{width:100%;background:#3b82f6;color:#fff;border:none;border-radius:6px;padding:12px 20px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease}.create-invoice-btn:hover:not(:disabled){background:#059669}.create-invoice-btn:disabled{background:#9ca3af;cursor:not-allowed}.transaction-status{margin-top:20px;padding:20px;border-radius:8px}.status-pending{background:#fef3c7;border:1px solid #f59e0b;color:#92400e;display:flex;align-items:center;gap:12px}.status-pending .spinner.small{width:20px;height:20px;border:2px solid #fbbf24;border-top:2px solid #92400e;border-radius:50%;animation:spin 1s linear infinite}.status-success{background:#dbeafe;border:1px solid #3b82f6;color:#1e40af}.status-success h4{margin:0 0 8px;color:#1e40af;font-size:1.1rem}.status-success p{margin:0 0 16px;color:#047857}.transaction-hash,.invoice-hash{margin:12px 0;padding:12px;background:#ffffffb3;border-radius:6px}.transaction-hash strong,.invoice-hash strong{display:block;margin-bottom:6px;color:#1e40af;font-size:.85rem}.transaction-hash code,.invoice-hash code{display:block;background:#fffc;padding:8px;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75rem;color:#1f2937;word-break:break-all;line-height:1.4}.status-error{background:#fee2e2;border:1px solid #ef4444;color:#991b1b}.status-error h4{margin:0 0 8px;color:#991b1b;font-size:1.1rem}.status-error p{margin:0 0 16px;color:#b91c1c}.reset-btn,.retry-btn{background:#6b7280;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:.9rem;cursor:pointer;transition:background-color .2s ease}.reset-btn:hover,.retry-btn:hover{background:#4b5563}.access-denied{max-width:500px;margin:0 auto;padding:20px}.access-denied-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:30px;text-align:center}.access-denied-message h3{margin:0 0 12px;color:#991b1b;font-size:1.3rem}.access-denied-message p{margin:8px 0;color:#b91c1c;font-size:.95rem}.disconnected{max-width:500px;margin:0 auto;padding:20px}.connection-required{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:30px;text-align:center}.connection-required h3{margin:0 0 12px;color:#92400e;font-size:1.3rem}.connection-required p{margin:8px 0;color:#a16207;font-size:.95rem}.error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:6px;padding:12px 16px;margin-top:16px;display:flex;justify-content:space-between;align-items:center}.error-message p{margin:0;color:#991b1b;font-size:.9rem;flex:1}.clear-error-btn{background:none;border:none;color:#991b1b;font-size:1.2rem;cursor:pointer;padding:0;margin-left:12px;opacity:.7;transition:opacity .2s ease}.clear-error-btn:hover{opacity:1}@media (max-width: 640px){.invoice-uploader{padding:16px}.uploader-container{padding:20px}.upload-area{padding:30px 16px}.file-info{flex-direction:column;align-items:center;text-align:center}.file-details{order:1}.clear-file-btn{order:2;margin-top:12px}}.invoice-approver{width:100%;max-width:800px;margin:0 auto}.approver-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:24px;border:1px solid #e5e7eb}.approver-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;flex-wrap:wrap;gap:16px}.approver-header h3{margin:0 0 8px;color:#1f2937;font-size:1.5rem;font-weight:600}.approver-header p{margin:0;color:#6b7280;font-size:.95rem}.refresh-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:8px 16px;font-size:.9rem;color:#374151;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.refresh-btn:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.access-denied{display:flex;justify-content:center;align-items:center;min-height:300px}.access-denied-message{text-align:center;padding:32px;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;max-width:400px}.access-denied-message h3{margin:0 0 16px;color:#dc2626;font-size:1.25rem}.access-denied-message p{margin:8px 0;color:#7f1d1d}.disconnected{display:flex;justify-content:center;align-items:center;min-height:300px}.connection-required{text-align:center;padding:32px;background:#fef3c7;border:1px solid #fcd34d;border-radius:12px;max-width:400px}.connection-required h3{margin:0 0 16px;color:#d97706;font-size:1.25rem}.connection-required p{margin:0;color:#92400e}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.loading-state p{margin:16px 0 0;color:#6b7280;font-size:.95rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-icon{font-size:3rem;margin-bottom:16px;opacity:.6}.empty-state h4{margin:0 0 8px;color:#374151;font-size:1.25rem;font-weight:600}.empty-state p{margin:0 0 24px;color:#6b7280;font-size:.95rem}.refresh-empty-btn{background:#3b82f6;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:.9rem;cursor:pointer;transition:background-color .2s ease}.refresh-empty-btn:hover{background:#2563eb}.invoice-list{display:flex;flex-direction:column;gap:16px}.invoice-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:all .2s ease}.invoice-card:hover{border-color:#d1d5db;box-shadow:0 2px 4px #0000000d}.invoice-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:8px}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:500}.status-created{background:#fef3c7;color:#d97706;border:1px solid #fcd34d}.invoice-date{font-size:.85rem;color:#6b7280}.invoice-details{margin-bottom:20px}.detail-row{display:flex;align-items:flex-start;margin-bottom:12px;gap:12px}.detail-row:last-child{margin-bottom:0}.detail-row label{font-weight:500;color:#374151;min-width:100px;font-size:.9rem}.hash-display,.address-display{background:#f3f4f6;padding:4px 8px;border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.85rem;color:#1f2937;border:1px solid #e5e7eb;cursor:pointer;transition:background-color .2s ease}.hash-display:hover,.address-display:hover{background:#e5e7eb}.supplier-info{display:flex;flex-direction:column;gap:4px}.supplier-did{font-size:.8rem;color:#6b7280}.invoice-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.approve-btn{background:#3b82f6;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.approve-btn:hover:not(:disabled){background:#059669;transform:translateY(-1px)}.approve-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.transaction-status{margin-top:16px;padding:16px;border-radius:8px;border:1px solid #e5e7eb}.status-pending{display:flex;align-items:center;gap:8px;color:#d97706;font-size:.9rem}.status-success{background:#f0fdf4;border-color:#bbf7d0;color:#166534}.status-success h4{margin:0 0 8px;font-size:1rem;color:#1e40af}.status-success p{margin:0 0 12px;font-size:.9rem}.status-error{background:#fef2f2;border-color:#fecaca;color:#dc2626}.status-error h4{margin:0 0 8px;font-size:1rem;color:#dc2626}.status-error p{margin:0 0 12px;font-size:.9rem}.transaction-hash{margin-top:8px;font-size:.85rem}.transaction-hash strong{display:block;margin-bottom:4px}.transaction-hash code{background:#0000000d;padding:2px 6px;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.retry-btn{background:#ef4444;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:.85rem;cursor:pointer;transition:background-color .2s ease}.retry-btn:hover{background:#dc2626}.spinner{width:24px;height:24px;border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.spinner.small{width:16px;height:16px;border-width:2px}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:16px;margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.error-message p{margin:0;color:#dc2626;font-size:.9rem;flex:1}.clear-error-btn{background:none;border:none;color:#dc2626;font-size:1.2rem;cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s ease}.clear-error-btn:hover{background:#dc26261a}@media (max-width: 768px){.approver-container{padding:16px;margin:0 8px}.approver-header{flex-direction:column;align-items:stretch}.refresh-btn{align-self:flex-start}.invoice-header{flex-direction:column;align-items:flex-start}.detail-row{flex-direction:column;gap:4px}.detail-row label{min-width:auto;font-weight:600}.invoice-actions{justify-content:stretch}.approve-btn{width:100%;justify-content:center}}@media (max-width: 480px){.approver-container{padding:12px;margin:0 4px}.invoice-card{padding:16px}.hash-display,.address-display{font-size:.8rem;word-break:break-all}}.invoice-financer{width:100%;max-width:1200px;margin:0 auto;padding:20px}.financer-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.financer-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;text-align:center;position:relative}.financer-header h3{margin:0 0 10px;font-size:28px;font-weight:600}.financer-header p{margin:0 0 20px;font-size:16px;opacity:.9}.refresh-btn{background:#fff3;border:2px solid rgba(255,255,255,.3);color:#fff;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease}.refresh-btn:hover:not(:disabled){background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.access-denied{display:flex;align-items:center;justify-content:center;min-height:400px}.access-denied-message{text-align:center;padding:40px;background:#fff5f5;border:2px solid #fed7d7;border-radius:12px;color:#c53030}.access-denied-message h3{margin:0 0 15px;font-size:24px}.access-denied-message p{margin:10px 0;font-size:16px}.disconnected{display:flex;align-items:center;justify-content:center;min-height:400px}.connection-required{text-align:center;padding:40px;background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;color:#4a5568}.connection-required h3{margin:0 0 15px;font-size:24px;color:#2d3748}.connection-required p{margin:0;font-size:16px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#4a5568}.loading-state p{margin:20px 0 0;font-size:16px}.empty-state{text-align:center;padding:60px 20px;color:#4a5568}.empty-icon{font-size:64px;margin-bottom:20px}.empty-state h4{margin:0 0 10px;font-size:24px;color:#2d3748}.empty-state p{margin:0 0 30px;font-size:16px}.refresh-empty-btn{background:#667eea;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;transition:all .3s ease}.refresh-empty-btn:hover{background:#5a67d8;transform:translateY(-2px)}.invoice-list{padding:20px}.invoice-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;margin-bottom:20px;overflow:hidden;transition:all .3s ease}.invoice-card:hover{border-color:#cbd5e0;box-shadow:0 8px 25px #0000001a}.invoice-header{background:#f7fafc;padding:20px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px}.status-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:600}.status-approved{background:#c6f6d5;color:#22543d}.invoice-dates{text-align:right;font-size:14px;color:#4a5568}.invoice-dates div{margin-bottom:4px}.invoice-details{padding:20px}.detail-row{display:flex;align-items:flex-start;margin-bottom:15px;gap:15px}.detail-row label{font-weight:600;color:#2d3748;min-width:120px;flex-shrink:0}.hash-display,.address-display{background:#f7fafc;padding:8px 12px;border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;color:#4a5568;border:1px solid #e2e8f0}.entity-info{flex:1}.entity-did{margin-top:8px;font-size:12px;color:#718096;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.anti-fraud-notice{background:#edf2f7;border:2px solid #cbd5e0;border-radius:8px;padding:16px;margin:20px;display:flex;align-items:flex-start;gap:12px}.notice-icon{font-size:24px;flex-shrink:0}.notice-content{flex:1}.notice-content strong{color:#2d3748;font-size:16px}.notice-content p{margin:8px 0 0;color:#4a5568;font-size:14px;line-height:1.5}.invoice-actions{padding:20px;border-top:1px solid #e2e8f0;text-align:center}.finance-btn{background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;border:none;padding:14px 32px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;transition:all .3s ease;min-width:180px}.finance-btn:hover:not(:disabled){background:linear-gradient(135deg,#38a169,#2f855a);transform:translateY(-2px);box-shadow:0 8px 25px #48bb784d}.finance-btn:disabled{background:#a0aec0;cursor:not-allowed;transform:none;box-shadow:none}.transaction-status{margin:20px;padding:20px;border-radius:8px;border:2px solid}.status-pending{background:#fef5e7;border-color:#f6e05e;color:#744210;display:flex;align-items:center;gap:12px}.status-success{background:#f0fff4;border-color:#9ae6b4;color:#22543d}.status-success h4{margin:0 0 10px;font-size:18px}.status-success p{margin:0 0 15px}.status-error{background:#fed7d7;border-color:#fc8181;color:#c53030}.status-error h4{margin:0 0 10px;font-size:18px}.status-error p{margin:0 0 15px}.transaction-hash,.invoice-hash{background:#fffc;padding:12px;border-radius:6px;margin:10px 0;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.transaction-hash strong,.invoice-hash strong{display:block;margin-bottom:8px;font-family:inherit}.transaction-hash code,.invoice-hash code{font-size:14px;word-break:break-all}.retry-btn{background:#e53e3e;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease}.retry-btn:hover{background:#c53030}.spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}.spinner.small{width:20px;height:20px;border-width:2px}.error-message{background:#fed7d7;border:2px solid #fc8181;color:#c53030;padding:15px;margin:20px;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.clear-error-btn{background:none;border:none;color:#c53030;cursor:pointer;font-size:18px;font-weight:700;padding:5px;border-radius:4px;transition:background-color .3s ease}.clear-error-btn:hover{background:#c530301a}@media (max-width: 768px){.invoice-financer{padding:10px}.financer-header{padding:20px}.financer-header h3{font-size:24px}.invoice-header{flex-direction:column;align-items:flex-start}.invoice-dates{text-align:left}.detail-row{flex-direction:column;gap:8px}.detail-row label{min-width:auto}.anti-fraud-notice{flex-direction:column;text-align:center}.finance-btn{width:100%;min-width:auto}}@media (max-width: 480px){.financer-header h3{font-size:20px}.financer-header p{font-size:14px}.hash-display,.address-display{font-size:12px;padding:6px 8px}.transaction-hash code,.invoice-hash code{font-size:12px}}.invoice-verifier{max-width:800px;margin:0 auto;padding:20px}.verifier-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.verifier-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:24px;text-align:center}.verifier-header h3{margin:0 0 8px;font-size:1.5rem;font-weight:600}.verifier-header p{margin:0;opacity:.9;font-size:.95rem}.verification-form{padding:24px;border-bottom:1px solid #e5e7eb}.input-group{margin-bottom:20px}.input-group label{display:block;margin-bottom:8px;font-weight:500;color:#374151}.hash-input{width:100%;padding:12px 16px;border:2px solid #d1d5db;border-radius:8px;font-size:.9rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;transition:border-color .2s ease}.hash-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.hash-input:disabled{background-color:#f9fafb;cursor:not-allowed}.form-actions{display:flex;gap:12px;align-items:center}.verify-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;flex-shrink:0}.verify-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.verify-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.clear-btn{background:#6b7280;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.clear-btn:hover:not(:disabled){background:#4b5563}.clear-btn:disabled{opacity:.6;cursor:not-allowed}.verification-loading{padding:40px 24px;text-align:center;color:#6b7280}.verification-loading .spinner{width:32px;height:32px;border:3px solid #e5e7eb;border-top:3px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.verification-error{padding:24px;background:#fef2f2;border-left:4px solid #ef4444}.verification-error h4{margin:0 0 8px;color:#dc2626;font-size:1.1rem}.verification-error p{margin:0;color:#7f1d1d}.verification-not-found{padding:24px;background:#fffbeb;border-left:4px solid #f59e0b}.verification-not-found h4{margin:0 0 12px;color:#d97706;font-size:1.1rem}.verification-not-found p{margin:0 0 16px;color:#92400e}.not-found-help h5{margin:0 0 8px;color:#92400e;font-size:.95rem}.not-found-help ul{margin:0;padding-left:20px;color:#92400e}.not-found-help li{margin-bottom:4px;font-size:.9rem}.verification-results{padding:24px}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #e5e7eb}.results-header h4{margin:0;color:#059669;font-size:1.2rem}.invoice-status{padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-created,.status-approved{background:#dbeafe;color:#1e40af}.status-financed{background:#fef3c7;color:#92400e}.detail-section{margin-bottom:32px;padding:20px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.detail-section h5{margin:0 0 16px;color:#374151;font-size:1.1rem;font-weight:600;display:flex;align-items:center;gap:8px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item label{font-size:.85rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.detail-item span,.detail-item code{font-size:.9rem;color:#374151}.hash-display{background:#f3f4f6;padding:8px 12px;border-radius:6px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;word-break:break-all;border:1px solid #d1d5db}.status-badge{padding:4px 8px;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.entity-info{display:flex;flex-direction:column;gap:12px}.entity-address,.entity-role,.entity-did,.entity-registered{display:flex;flex-direction:column;gap:4px}.entity-address code,.entity-did code{background:#f3f4f6;padding:6px 10px;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;word-break:break-all;border:1px solid #d1d5db}.role-badge{padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;width:fit-content}.role-badge.supplier,.role-badge.buyer{background:#dbeafe;color:#1e40af}.role-badge.lender{background:#fef3c7;color:#92400e}.verification-status{display:flex;flex-direction:column;gap:12px}.status-item{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border-radius:6px;border:1px solid #e5e7eb}.status-icon{font-size:1.2rem;flex-shrink:0}.status-item span:last-child{color:#374151;font-size:.9rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.invoice-verifier{padding:12px}.verifier-header,.verification-form,.verification-results{padding:20px 16px}.results-header{flex-direction:column;align-items:flex-start;gap:12px}.detail-grid{grid-template-columns:1fr}.form-actions{flex-direction:column;align-items:stretch}.hash-input{font-size:.8rem}}.event-notifications{position:relative}.notification-bell{position:relative;background:transparent;border:none;font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:50%;transition:background-color .2s}.notification-bell:hover{background-color:#0000000d}.notification-badge{position:absolute;top:0;right:0;background-color:#e74c3c;color:#fff;font-size:.7rem;font-weight:700;padding:.15rem .4rem;border-radius:10px;min-width:18px;text-align:center}.notification-panel{position:absolute;top:100%;right:0;margin-top:.5rem;width:400px;max-width:90vw;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;max-height:500px;display:flex;flex-direction:column}.notification-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #eee}.notification-header h3{margin:0;font-size:1.1rem;font-weight:600}.notification-actions{display:flex;gap:.5rem;align-items:center}.btn-text{background:transparent;border:none;color:#3498db;font-size:.85rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:background-color .2s}.btn-text:hover{background-color:#3498db1a}.btn-close{background:transparent;border:none;font-size:1.2rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;color:#666;transition:background-color .2s}.btn-close:hover{background-color:#0000000d}.notification-list{overflow-y:auto;max-height:400px}.notification-empty{padding:3rem 2rem;text-align:center;color:#999}.notification-empty p{margin:.5rem 0}.notification-empty-hint{font-size:.85rem}.notification-item{display:flex;gap:1rem;padding:1rem;border-bottom:1px solid #f0f0f0;transition:background-color .2s}.notification-item:hover{background-color:#f9f9f9}.notification-item:last-child{border-bottom:none}.notification-item.unread{background-color:#f0f8ff}.notification-icon{font-size:1.5rem;flex-shrink:0}.notification-content{flex:1;min-width:0}.notification-message{margin:0 0 .5rem;font-size:.9rem;color:#333;word-wrap:break-word}.notification-meta{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem}.notification-time{color:#999}.notification-link{color:#3498db;text-decoration:none;white-space:nowrap}.notification-link:hover{text-decoration:underline}@media (max-width: 768px){.notification-panel{width:100vw;max-width:100vw;right:-1rem;border-radius:0;max-height:70vh}}.event-history{max-width:1200px;margin:0 auto;padding:2rem}.event-history-header{margin-bottom:2rem}.event-history-header h2{margin:0 0 .5rem;font-size:2rem;color:#2c3e50}.event-history-description{margin:0;color:#7f8c8d;font-size:1rem}.event-filters{display:flex;gap:1rem;align-items:flex-end;margin-bottom:2rem;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:200px}.filter-group label{font-size:.9rem;font-weight:600;color:#34495e}.filter-group select{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;background:#fff;cursor:pointer;transition:border-color .2s}.filter-group select:hover{border-color:#3498db}.filter-group select:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 3px #3498db1a}.btn-apply-filter{padding:.75rem 1.5rem;background:#3498db;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s;white-space:nowrap}.btn-apply-filter:hover{background:#2980b9}.event-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:2rem}.event-empty{text-align:center;padding:4rem 2rem;color:#95a5a6}.event-empty p{margin:.5rem 0;font-size:1.1rem}.event-empty-hint{font-size:.9rem}.event-timeline{position:relative;padding-left:2rem}.event-timeline:before{content:"";position:absolute;left:.5rem;top:0;bottom:0;width:2px;background:#ecf0f1}.event-timeline-item{position:relative;margin-bottom:2rem}.event-timeline-item:last-child{margin-bottom:0}.event-timeline-marker{position:absolute;left:-1.5rem;top:.5rem;width:1rem;height:1rem;border-radius:50%;border:3px solid white;box-shadow:0 0 0 2px currentColor}.event-timeline-content{margin-left:1rem}.event-card{background:#f8f9fa;border-radius:8px;padding:1.5rem;transition:transform .2s,box-shadow .2s}.event-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.event-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.event-card-title{margin:0;font-size:1.2rem;font-weight:600}.event-card-block{font-size:.85rem;color:#7f8c8d;background:#fff;padding:.25rem .75rem;border-radius:12px;white-space:nowrap}.event-card-body{margin-bottom:1rem}.event-detail{margin:.5rem 0;font-size:.95rem;color:#34495e;font-family:Courier New,monospace}.event-card-footer{display:flex;justify-content:flex-end}.event-tx-link{color:#3498db;text-decoration:none;font-size:.9rem;font-weight:600;transition:color .2s}.event-tx-link:hover{color:#2980b9;text-decoration:underline}@media (max-width: 768px){.event-history{padding:1rem}.event-filters{flex-direction:column;align-items:stretch}.filter-group{min-width:100%}.btn-apply-filter{width:100%}.event-timeline{padding-left:1.5rem}.event-timeline-marker{left:-1.25rem}.event-card-header{flex-direction:column;align-items:flex-start}}.landing-page{width:100%;overflow-x:hidden;position:relative}.hero-section{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:120px 20px 100px;text-align:center;position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 25%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none}.hero-section:after{content:"";position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.1));pointer-events:none}.hero-content{max-width:1200px;margin:0 auto;position:relative;z-index:1;animation:fadeInUp 1s ease-out}.hero-title{font-size:3.5rem;font-weight:800;margin-bottom:24px;line-height:1.2;text-shadow:0 4px 8px rgba(0,0,0,.1)}.hero-title .highlight{background:linear-gradient(45deg,gold,#ffed4e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;position:relative}.hero-title .highlight:after{content:"";position:absolute;bottom:-4px;left:0;right:0;height:3px;background:linear-gradient(45deg,gold,#ffed4e);border-radius:2px;animation:shimmer 2s infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%,to{opacity:1}50%{opacity:.7}}.hero-subtitle{font-size:1.25rem;margin-bottom:40px;opacity:.95;max-width:800px;margin-left:auto;margin-right:auto;line-height:1.6}.hero-actions{display:flex;gap:20px;justify-content:center;margin-bottom:60px;flex-wrap:wrap}.cta-button{padding:16px 40px;font-size:1.1rem;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;position:relative;overflow:hidden;box-shadow:0 4px 15px #0000001a}.cta-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.cta-button:hover:before{left:100%}.cta-button.primary{background:linear-gradient(135deg,gold,#ffed4e);color:#333;font-weight:700}.cta-button.primary:hover{transform:translateY(-3px);box-shadow:0 12px 25px #ffd70066}.cta-button.secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.8);backdrop-filter:blur(10px)}.cta-button.secondary:hover{background:#ffffff1a;border-color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px #fff3}.cta-button.large{padding:20px 50px;font-size:1.2rem}.hero-stats{display:flex;justify-content:center;gap:60px;flex-wrap:wrap}.stat{text-align:center}.stat-value{font-size:2.5rem;font-weight:700;margin-bottom:8px}.stat-label{font-size:1rem;opacity:.9}section{padding:80px 20px}.section-header{text-align:center;margin-bottom:60px}.section-header h2{font-size:2.5rem;font-weight:700;margin-bottom:16px;color:#333}.section-header p{font-size:1.2rem;color:#666}.features-section{background:#f8f9fa}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:1200px;margin:0 auto}.feature-card{background:#fff;padding:40px 30px;border-radius:16px;box-shadow:0 4px 6px #00000012;transition:all .4s cubic-bezier(.4,0,.2,1);text-align:center;position:relative;overflow:hidden;border:1px solid rgba(102,126,234,.1)}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,#667eea,#764ba2);transform:scaleX(0);transition:transform .4s ease}.feature-card:hover{transform:translateY(-12px);box-shadow:0 20px 40px #667eea26}.feature-card:hover:before{transform:scaleX(1)}.feature-card:hover .feature-icon{transform:scale(1.1);color:#764ba2}.feature-icon{width:60px;height:60px;margin:0 auto 20px;color:#667eea}.feature-icon svg{width:100%;height:100%}.feature-card h3{font-size:1.5rem;margin-bottom:16px;color:#333}.feature-card p{color:#666;line-height:1.6}.how-it-works-section{background:#fff}.workflow-container{display:flex;justify-content:center;align-items:center;gap:20px;max-width:1400px;margin:0 auto;flex-wrap:wrap}.workflow-step{flex:1;min-width:280px;background:#f8f9fa;padding:30px;border-radius:12px;position:relative}.step-number{width:60px;height:60px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;margin:0 auto 20px}.step-content h3{font-size:1.3rem;margin-bottom:12px;color:#333}.step-content p{color:#666;line-height:1.6;margin-bottom:16px}.step-details{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.detail-badge{background:#667eea;color:#fff;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:500}.workflow-arrow{font-size:2rem;color:#667eea;font-weight:700}.roles-section{background:#f8f9fa}.roles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;max-width:1200px;margin:0 auto}.role-card{background:#fff;padding:40px 30px;border-radius:12px;box-shadow:0 4px 6px #00000012;border-top:4px solid;transition:all .3s ease}.role-card.supplier,.role-card.buyer{border-top-color:#3b82f6}.role-card.lender{border-top-color:#f59e0b}.role-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #00000026}.role-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.role-icon{width:40px;height:40px}.role-icon svg{width:100%;height:100%}.role-card.supplier .role-icon,.role-card.buyer .role-icon{color:#3b82f6}.role-card.lender .role-icon{color:#f59e0b}.role-header h3{font-size:1.5rem;color:#333}.role-description{color:#666;margin-bottom:20px;line-height:1.6}.role-features{list-style:none;padding:0}.role-features li{padding:8px 0;color:#555;font-size:.95rem}.benefits-section{background:#fff}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;max-width:1200px;margin:0 auto}.benefit-item h4{font-size:1.3rem;margin-bottom:16px;color:#667eea}.benefit-item ul{list-style:none;padding:0}.benefit-item li{padding:10px 0 10px 30px;position:relative;color:#555;line-height:1.6}.benefit-item li:before{content:"✓";position:absolute;left:0;color:#3b82f6;font-weight:700;font-size:1.2rem}.cta-section{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;text-align:center}.cta-content h2{font-size:2.5rem;margin-bottom:16px;color:#fff}.cta-content p{font-size:1.2rem;margin-bottom:32px;opacity:.95}.cta-note{margin-top:20px;font-size:.9rem;opacity:.8}@media (max-width: 768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.section-header h2{font-size:2rem}.workflow-arrow{transform:rotate(90deg)}.hero-stats{gap:30px}.cta-content h2{font-size:2rem}}@media (max-width: 480px){.hero-title{font-size:2rem}.hero-actions{flex-direction:column}.cta-button{width:100%}}.help-page{min-height:100vh;background:linear-gradient(to bottom,#f8fafc,#f1f5f9);position:relative}.help-page:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(102,126,234,.03) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(118,75,162,.03) 0%,transparent 50%);pointer-events:none}.help-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:80px 20px 60px;text-align:center;position:relative;overflow:hidden}.help-header:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 70% 70%,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none}.help-header h1{font-size:2.5rem;margin-bottom:12px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1);position:relative;z-index:1}.help-header p{font-size:1.2rem;opacity:.9;position:relative;z-index:1;font-weight:400}.help-container{max-width:1400px;margin:-40px auto 0;padding:0 20px 60px;display:flex;gap:30px;min-height:600px;position:relative;z-index:1}.help-sidebar{flex:0 0 280px;background:#fffffff2;backdrop-filter:blur(10px);border-radius:16px;padding:24px;box-shadow:0 8px 32px #0000001a;height:fit-content;position:sticky;top:100px;border:1px solid rgba(255,255,255,.2)}.help-nav-item{width:100%;padding:14px 18px;border:none;background:transparent;text-align:left;cursor:pointer;border-radius:12px;font-size:1rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:12px;margin-bottom:6px;color:#374151;font-weight:500;position:relative;overflow:hidden}.help-nav-item:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#667eea1a,#764ba21a);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;z-index:-1}.help-nav-item:hover{color:#1f2937;transform:translate(4px)}.help-nav-item:hover:before{transform:scaleX(1)}.help-nav-item.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;box-shadow:0 4px 12px #667eea4d}.help-nav-item.active:before{display:none}.nav-icon{width:20px;height:20px;flex-shrink:0}.nav-icon svg{width:100%;height:100%}.help-nav-item .nav-icon{color:#6b7280}.help-nav-item:hover .nav-icon{color:#374151}.help-nav-item.active .nav-icon{color:#fff}.help-content{flex:1;background:#fffffff2;backdrop-filter:blur(10px);border-radius:16px;padding:48px;box-shadow:0 8px 32px #0000001a;overflow-y:auto;max-height:calc(100vh - 200px);border:1px solid rgba(255,255,255,.2);animation:fadeInUp .6s ease-out}.help-section h2{font-size:2rem;margin-bottom:30px;color:#333;display:flex;align-items:center;gap:12px}.section-icon{width:32px;height:32px;color:#667eea}.help-card{background:linear-gradient(135deg,#f8fafccc,#f1f5f9cc);padding:28px;border-radius:12px;margin-bottom:24px;border-left:4px solid transparent;border-image:linear-gradient(135deg,#667eea,#764ba2) 1;box-shadow:0 4px 12px #0000000d;transition:all .3s ease;position:relative;overflow:hidden}.help-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#667eea05,#764ba205);opacity:0;transition:opacity .3s ease;pointer-events:none}.help-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.help-card:hover:before{opacity:1}.help-card h3{font-size:1.3rem;margin-bottom:16px;color:#333}.help-card p{color:#555;line-height:1.6;margin-bottom:12px}.help-card p:last-child{margin-bottom:0}.help-card ol,.help-card ul{margin-left:20px;color:#555}.help-card li{margin-bottom:8px;line-height:1.6}.help-card a{color:#667eea;text-decoration:none;font-weight:600}.help-card a:hover{text-decoration:underline}.code-block{background:#2d3748;color:#e2e8f0;padding:16px;border-radius:6px;font-family:Courier New,monospace;margin:16px 0}.code-line{padding:4px 0;font-size:.9rem}.note{background:#e0f2fe;border-left:4px solid #0ea5e9;padding:12px;border-radius:4px;margin:16px 0;font-size:.95rem;display:flex;align-items:flex-start;gap:8px}.note-icon{width:16px;height:16px;color:#0ea5e9;flex-shrink:0;margin-top:2px}.warning{background:#fef3c7;border-left:4px solid #f59e0b;padding:12px;border-radius:4px;margin:16px 0;font-size:.95rem;display:flex;align-items:flex-start;gap:8px}.warning-icon{width:16px;height:16px;color:#f59e0b;flex-shrink:0;margin-top:2px}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600;margin-right:8px}.status-badge.created,.status-badge.approved{background:#dbeafe;color:#1e40af}.status-badge.financed{background:#fef3c7;color:#92400e}.faq-item{background:#f8f9fa;padding:24px;border-radius:8px;margin-bottom:20px;border-left:4px solid #667eea}.faq-item h3{font-size:1.2rem;margin-bottom:12px;color:#333}.faq-item p{color:#555;line-height:1.6}@media (max-width: 968px){.help-container{flex-direction:column}.help-sidebar{flex:1;position:static;display:flex;overflow-x:auto;padding:16px}.help-nav-item{flex-shrink:0;margin-right:8px;margin-bottom:0}.help-content{padding:24px}}@media (max-width: 480px){.help-header h1{font-size:2rem}.help-header p{font-size:1rem}.help-section h2{font-size:1.5rem}.help-content{padding:20px}.help-card{padding:16px}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:400px;padding:2rem;background:linear-gradient(135deg,#fee2e2,#fecaca);border-radius:8px;margin:1rem}.error-boundary-content{max-width:600px;text-align:center;background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 12px #0000001a}.error-icon{font-size:4rem;margin-bottom:1rem;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-boundary-content h2{margin:0 0 1rem;color:#dc2626;font-size:1.5rem}.error-message{color:#7f1d1d;margin:0 0 2rem;line-height:1.6}.error-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:1.5rem}.reset-btn,.reload-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s;font-size:1rem}.reset-btn{background:#3b82f6;color:#fff}.reset-btn:hover{background:#2563eb;transform:translateY(-2px)}.reload-btn{background:#6b7280;color:#fff}.reload-btn:hover{background:#4b5563;transform:translateY(-2px)}.error-details{text-align:left;margin-top:1.5rem;padding:1rem;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.error-details summary{cursor:pointer;font-weight:600;color:#374151;padding:.5rem}.error-details summary:hover{color:#1f2937}.error-stack,.component-stack{margin:1rem 0 0;padding:1rem;background:#1f2937;color:#f3f4f6;border-radius:4px;overflow-x:auto;font-size:.75rem;line-height:1.4;font-family:Monaco,Menlo,Ubuntu Mono,monospace}@media (max-width: 640px){.error-boundary{padding:1rem}.error-boundary-content{padding:1.5rem}.error-icon{font-size:3rem}.error-actions{flex-direction:column}.reset-btn,.reload-btn{width:100%}}:root{--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--primary-color: #667eea;--secondary-color: #764ba2;--accent-color: #3b82f6;--text-primary: #1f2937;--text-secondary: #6b7280;--text-muted: #9ca3af;--background-primary: #ffffff;--background-secondary: #f8fafc;--background-tertiary: #f1f5f9;--border-color: #e5e7eb;--border-light: #f3f4f6;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text-primary)}.App{text-align:center;min-height:100vh;display:flex;flex-direction:column;background:var(--background-primary);color:var(--text-primary);position:relative}.App:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 25% 25%,rgba(102,126,234,.02) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(118,75,162,.02) 0%,transparent 50%);pointer-events:none;z-index:-1}.App-header{background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-md);border-bottom:1px solid var(--border-light);position:sticky;top:0;z-index:100;transition:all var(--transition-normal)}.App-header:hover{box-shadow:var(--shadow-lg)}.header-bar{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:1rem 2rem;gap:2rem;position:relative}.logo-text{position:relative}.logo-text h1{margin:0;font-family:Playfair Display,serif;font-size:1.8rem;font-weight:600;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px;line-height:1.2;cursor:pointer;transition:all var(--transition-normal);position:relative}.logo-text h1:hover{transform:translateY(-1px);filter:brightness(1.1)}.logo-text h1:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--primary-gradient);transform:scaleX(0);transition:transform var(--transition-normal);border-radius:1px}.logo-text h1:hover:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:1rem}.header-wallet-connector{position:relative}.connect-wallet-btn{background:var(--primary-gradient);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.connect-wallet-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-slow)}.connect-wallet-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.connect-wallet-btn:hover:before{left:100%}.connect-wallet-btn:active{transform:translateY(0)}.connect-wallet-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.connect-wallet-btn:disabled:before{display:none}.header-error-tooltip{position:absolute;top:100%;right:0;background:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:.5rem;border-radius:6px;font-size:.8rem;white-space:nowrap;z-index:1000;margin-top:.5rem;display:flex;align-items:center;gap:.5rem;box-shadow:0 4px 6px #0000001a}.header-error-tooltip button{background:none;border:none;color:#dc2626;cursor:pointer;font-size:1rem;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center}.mobile-menu-toggle{display:none;background:#667eea;border:none;color:#fff;font-size:1.5rem;padding:.5rem 1rem;cursor:pointer;border-radius:6px}.nav-links{display:flex;gap:.5rem;flex:1;justify-content:center}.nav-link{background:transparent;border:none;color:var(--text-secondary);padding:.75rem 1.5rem;font-size:1rem;cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-normal);white-space:nowrap;font-weight:500;position:relative;overflow:hidden}.nav-link:before{content:"";position:absolute;inset:0;background:var(--background-secondary);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-normal);z-index:-1}.nav-link:hover{color:var(--text-primary);transform:translateY(-1px)}.nav-link:hover:before{transform:scaleX(1)}.nav-link.active{background:var(--primary-gradient);color:#fff;font-weight:600;box-shadow:var(--shadow-sm)}.nav-link.active:before{display:none}.user-info{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:var(--background-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.user-info:hover{background:var(--background-tertiary);box-shadow:var(--shadow-md)}.role-badge{background:var(--accent-color);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:600;box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.role-badge:hover{transform:scale(1.05)}.wallet-address{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:.875rem;color:var(--text-secondary);font-weight:500;letter-spacing:.5px}main{flex:1;display:flex;flex-direction:column;background:var(--background-primary);position:relative}.container{max-width:1200px;margin:0 auto;padding:2rem;width:100%;flex:1;animation:fadeInUp .6s ease-out}.container p{font-size:1.1rem;line-height:1.7;margin-bottom:2rem;color:var(--text-secondary)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.loading{animation:pulse 2s infinite}.fade-in{animation:fadeIn .5s ease-out}.slide-in-right{animation:slideInRight .5s ease-out}.dashboard-view{margin-top:2rem;text-align:left;background:var(--primary-gradient);border-radius:var(--radius-xl);padding:3rem 2rem;box-shadow:var(--shadow-xl);position:relative;overflow:hidden}.dashboard-view:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.1) 0%,transparent 50%);pointer-events:none}.dashboard-view h2{color:#fff;font-size:2rem;font-weight:600;margin:0 0 .5rem;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.1);position:relative;z-index:1}.dashboard-description{text-align:center;color:#ffffffe6;font-size:1.1rem;margin-bottom:2rem;position:relative;z-index:1;font-weight:400}.supplier-dashboard{margin-top:2rem;text-align:left}.supplier-dashboard h2{color:#fff;font-size:1.8rem;font-weight:600;margin:0 0 1.5rem;text-align:center}.buyer-dashboard{margin-top:2rem;text-align:left}.buyer-dashboard h2{color:#fff;font-size:1.8rem;font-weight:600;margin:0 0 1.5rem;text-align:center}.lender-dashboard{margin-top:2rem;text-align:left}.lender-dashboard h2{color:#fff;font-size:1.8rem;font-weight:600;margin:0 0 1.5rem;text-align:center}.verify-view,.events-view{margin-top:2rem}.welcome-message{background:linear-gradient(135deg,#667eea0d,#764ba20d);border:1px solid var(--border-light);padding:3rem;border-radius:var(--radius-xl);margin-top:2rem;text-align:center;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.welcome-message:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-gradient)}.welcome-message h2{font-size:2rem;margin-bottom:1rem;color:var(--text-primary);font-weight:600}.welcome-message p{font-size:1.2rem;color:var(--text-secondary);font-weight:400}.App-footer{background:#0003;padding:2rem;margin-top:3rem}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:2rem}.footer-content p{margin:0;opacity:.8}.footer-links{display:flex;gap:2rem}.footer-links a{color:#fff;text-decoration:none;opacity:.8;transition:opacity .3s}.footer-links a:hover{opacity:1;text-decoration:underline}.container .wallet-connector{background:var(--background-primary);color:var(--text-primary)}button:focus-visible,.nav-link:focus-visible,.connect-wallet-btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.App:before{display:none}}@media (prefers-contrast: high){:root{--border-color: #000000;--text-secondary: #000000;--background-secondary: #ffffff}.nav-link:hover{background:#000;color:#fff}}@media (prefers-color-scheme: dark){:root{--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-muted: #9ca3af;--background-primary: #111827;--background-secondary: #1f2937;--background-tertiary: #374151;--border-color: #374151;--border-light: #4b5563}.App-header{background:#1f2937f2}.welcome-message{background:linear-gradient(135deg,#667eea1a,#764ba21a);border-color:var(--border-color)}}@media (max-width: 968px){.nav-links{flex-wrap:wrap}.user-info{flex-direction:column;gap:.5rem;padding:.5rem}}@media (max-width: 768px){.header-bar{padding:1rem;flex-wrap:wrap;justify-content:space-between;gap:1rem}.logo-text h1{font-size:1.5rem}.mobile-menu-toggle{display:block;order:2;background:var(--primary-gradient);border:none;color:#fff;font-size:1.2rem;padding:.5rem .75rem;cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.mobile-menu-toggle:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.nav-links{display:none;flex-direction:column;width:100%;order:3;background:var(--background-secondary);border-radius:var(--radius-lg);padding:1rem;margin-top:1rem;box-shadow:var(--shadow-lg);border:1px solid var(--border-light);animation:slideInRight .3s ease-out}.nav-links.mobile-open{display:flex}.nav-link{width:100%;text-align:center;margin:.25rem 0;padding:1rem;font-size:1rem}.header-actions{order:4;width:100%;justify-content:center;margin-top:1rem;flex-wrap:wrap;gap:1rem}.user-info{width:auto;justify-content:center}.connect-wallet-btn{padding:.75rem 1.5rem;font-size:.9rem;min-width:140px}.container{padding:1rem}.dashboard-view{padding:2rem 1.5rem;margin-top:1rem}.dashboard-view h2,.supplier-dashboard h2,.buyer-dashboard h2,.lender-dashboard h2{font-size:1.5rem}.dashboard-description{font-size:1rem}.welcome-message{padding:2rem 1.5rem;margin-top:1rem}.welcome-message h2{font-size:1.5rem}.welcome-message p{font-size:1rem}.footer-content{flex-direction:column;text-align:center}.footer-links{flex-direction:column;gap:1rem}}@media (max-width: 480px){.header-bar{padding:.75rem}.logo-text h1{font-size:1.3rem}.nav-link{padding:.6rem 1rem;font-size:.9rem}.role-badge,.wallet-address{font-size:.75rem}.user-info{flex-direction:column;gap:.5rem;padding:.75rem}.connect-wallet-btn{padding:.5rem 1rem;font-size:.8rem}.header-error-tooltip{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);white-space:normal;max-width:280px}}*{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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{background:#4caf50;border:none;color:#fff;padding:12px 24px;text-align:center;text-decoration:none;display:inline-block;font-size:16px;margin:4px 2px;cursor:pointer;border-radius:8px;transition:background-color .3s}button:hover{background:#45a049}button:disabled{background:#ccc;cursor:not-allowed}input,select,textarea{width:100%;padding:12px;margin:8px 0;display:inline-block;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:16px}.error{color:#f44336;background:#f443361a;padding:12px;border-radius:4px;margin:8px 0}.success{color:#4caf50;background:#4caf501a;padding:12px;border-radius:4px;margin:8px 0}.loading{color:#2196f3;background:#2196f31a;padding:12px;border-radius:4px;margin:8px 0}
