:root{--primary-color: #1976d2;--primary-hover: #1565c0;--danger-color: #d32f2f;--danger-hover: #c62828;--success-color: #388e3c;--warning-color: #f57c00;--secondary-color: #757575;--background-color: #f5f5f5;--card-background: #ffffff;--border-color: #e0e0e0;--text-primary: #212121;--text-secondary: #757575;--shadow: 0 2px 4px rgba(0,0,0,.1);--shadow-hover: 0 4px 12px rgba(0,0,0,.15)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text-primary);background-color:var(--background-color)}.container{max-width:1200px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.header{background:var(--card-background);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow);padding:1.5rem 2rem}.header-content{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem;min-height:60px}.header-left{display:flex;flex-direction:column;gap:.25rem;min-width:0}.header-right{display:flex;align-items:center;gap:1.5rem;flex-shrink:0}.header h1{color:var(--primary-color);font-size:1.8rem;font-weight:600;margin:0}.logout-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--danger-color);color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease;white-space:nowrap;flex-shrink:0;min-width:fit-content}.logout-btn:hover{background:var(--danger-hover)}.logout-btn span{font-size:1rem}.doc-link{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--primary-color);color:#fff;text-decoration:none;border-radius:6px;font-size:.9rem;font-weight:500;transition:background-color .2s ease;white-space:nowrap;flex-shrink:0;min-width:fit-content}.doc-link:hover{background:var(--primary-hover)}.doc-link span{font-size:1rem}.property-info{color:var(--text-secondary);font-size:.9rem}.status-indicator{display:flex;align-items:center;gap:.5rem;white-space:nowrap;flex-shrink:0}.status-dot{width:8px;height:8px;border-radius:50%;background-color:var(--warning-color);animation:pulse 2s infinite}.status-dot.connected{background-color:var(--success-color);animation:none}.status-dot.error{background-color:var(--danger-color);animation:none}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.status-text{font-size:.9rem;color:var(--text-secondary)}.main-content{flex:1;padding:2rem;display:flex;flex-direction:column;gap:2rem}.import-status-section{background:var(--card-background);border-radius:8px;border:1px solid var(--border-color);box-shadow:var(--shadow);margin-bottom:1rem}.import-status-content{padding:1rem 1.5rem}.import-status-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.status-icon{font-size:1.2rem}.import-status-header h3{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-primary)}.import-status-details{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center}.status-item{display:flex;flex-direction:column;gap:.25rem}.status-label{font-size:.875rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.status-value{font-size:.95rem;font-weight:600;color:var(--text-primary)}.status-value.success{color:var(--success-color)}.status-value.warning{color:var(--warning-color)}.loading-text{color:var(--text-secondary);font-style:italic}.import-warning{background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;padding:.75rem;color:#856404;font-size:.9rem;display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.import-success{background:#d4edda;border:1px solid #c3e6cb;border-radius:4px;padding:.75rem;color:#155724;font-size:.9rem;display:flex;align-items:center;gap:.5rem;margin-top:.5rem}section{background:var(--card-background);border-radius:8px;box-shadow:var(--shadow);padding:2rem;transition:box-shadow .2s ease}section:hover{box-shadow:var(--shadow-hover)}.section-header{margin-bottom:1.5rem}.section-header h2{font-size:1.3rem;font-weight:600;margin-bottom:.5rem}.section-description{color:var(--text-secondary);font-size:.95rem}.input-group{margin-bottom:1.5rem}.input-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.input-with-button{display:flex;gap:.75rem}input[type=text],input[type=number],select{flex:1;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}input[type=text]:focus,input[type=number]:focus,select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #1976d233}.input-hint{color:var(--text-secondary);font-size:.85rem;margin-top:.25rem;display:block}.currency-input{position:relative;display:flex;align-items:center}.currency-symbol{position:absolute;left:.75rem;color:var(--text-secondary);font-weight:500;z-index:1}.currency-input input{padding-left:2rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,transform .1s ease;position:relative;min-width:120px}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover)}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover:not(:disabled){background-color:var(--danger-hover)}.btn-secondary{background-color:var(--secondary-color);color:#fff}.btn-secondary:hover:not(:disabled){background-color:#616161}.loading-spinner{width:20px;height:20px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn .btn-text{transition:opacity .2s ease}.btn.loading .btn-text{opacity:0}.btn.loading .loading-spinner{position:absolute}.transaction-card{border:1px solid var(--border-color);border-radius:6px;padding:1.5rem}.transaction-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:1.5rem}.summary-item{display:flex;flex-direction:column}.summary-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:.25rem}.summary-value{font-size:1.1rem;font-weight:600}.transaction-amount{color:var(--success-color)}.items-table{width:100%;border-collapse:collapse;margin-top:1rem}.items-table th,.items-table td{text-align:left;padding:.75rem;border-bottom:1px solid var(--border-color)}.items-table th{background-color:#fafafa;font-weight:600}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.form-group{display:flex;flex-direction:column}.form-actions{display:flex;flex-direction:column;gap:.75rem}.refund-warning{color:var(--warning-color);font-size:.85rem;display:flex;align-items:center;gap:.25rem}.results-card{border:1px solid var(--border-color);border-radius:6px;padding:1.5rem}.success-message{color:var(--success-color);background-color:#e8f5e8;border:1px solid #c8e6c9;padding:1rem;border-radius:4px;margin-bottom:1rem}.error-message{color:var(--danger-color);background-color:#ffebee;border:1px solid #ffcdd2;padding:1rem;border-radius:4px;margin-bottom:1rem}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--card-background);border-radius:8px;box-shadow:0 8px 32px #0000004d;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-header h3{margin:0}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:0;width:2rem;height:2rem}.modal-actions{padding:1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:1rem}.footer{background:var(--card-background);border-top:1px solid var(--border-color);padding:1.5rem 2rem;text-align:center;color:var(--text-secondary);font-size:.9rem}.footer-note{margin-top:.25rem;font-size:.8rem}@media (max-width: 768px){.main-content,.header{padding:1rem}.header-content{grid-template-columns:1fr;grid-template-rows:auto auto;gap:1rem}.header-left,.header-right{align-items:flex-start}.header-right{flex-direction:row;justify-content:space-between;align-items:center;gap:1rem}.logout-btn{font-size:.8rem;padding:.4rem .8rem}.form-row{grid-template-columns:1fr}.input-with-button{flex-direction:column}.transaction-summary{grid-template-columns:1fr}}.hidden{display:none!important}.text-success{color:var(--success-color)!important}.text-danger{color:var(--danger-color)!important}.text-warning{color:var(--warning-color)!important}.text-muted{color:var(--text-secondary)!important}.d-block{display:block!important}small.text-muted{font-size:.875em;margin-top:2px}.client-id-display{font-family:Monaco,Consolas,monospace;font-size:.9em;word-break:break-all;max-width:200px;display:inline-block;vertical-align:top}.main-container{display:block}.upload-section{background:var(--card-background);border-radius:8px;box-shadow:var(--shadow);margin-bottom:2rem;overflow:hidden}.upload-area{border:2px dashed var(--border-color);border-radius:8px;padding:3rem;margin:1.5rem;text-align:center;transition:all .3s ease;cursor:pointer}.upload-area:hover{border-color:var(--primary-color);background-color:#1976d205}.upload-area.dragover{border-color:var(--primary-color);background-color:#1976d20d;transform:scale(1.02)}.upload-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.upload-icon{font-size:3rem;opacity:.5}.upload-text{font-size:1.1rem;color:var(--text-primary);margin:0}.upload-link{color:var(--primary-color);text-decoration:underline;cursor:pointer}.upload-hint{font-size:.9rem;color:var(--text-secondary);margin:0}.upload-info{background:var(--card-background);border-radius:8px;padding:1.5rem;margin:1.5rem;border-left:4px solid var(--primary-color)}.upload-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.summary-item{text-align:center;padding:1rem;background:var(--background-color);border-radius:6px}.summary-value{font-size:1.5rem;font-weight:700;color:var(--primary-color);display:block}.summary-label{font-size:.9rem;color:var(--text-secondary);margin-top:.25rem}.matching-section,.processing-section{background:var(--card-background);border-radius:8px;box-shadow:var(--shadow);margin-bottom:2rem;overflow:hidden}.matching-summary{padding:1.5rem}.matching-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--background-color);padding:1rem;border-radius:6px;text-align:center;border-left:4px solid var(--border-color)}.stat-card.success{border-left-color:var(--success-color)}.stat-card.warning{border-left-color:var(--warning-color)}.stat-card.danger{border-left-color:var(--danger-color)}.stat-value{font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.stat-label{font-size:.85rem;color:var(--text-secondary)}.progress-container{margin:1.5rem}.progress-bar{width:100%;height:20px;background:var(--background-color);border-radius:10px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--success-color));width:0%;transition:width .3s ease;border-radius:10px}.progress-text{text-align:center;margin-top:.5rem;font-weight:500;color:var(--text-primary)}.processing-stats{padding:1.5rem;background:var(--background-color)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.history-section{background:var(--card-background);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}.operations-list{padding:1.5rem}.operation-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;border:1px solid var(--border-color);border-radius:6px;margin-bottom:1rem;transition:all .3s ease}.operation-item:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.operation-info{flex:1}.operation-name{font-weight:500;color:var(--text-primary);margin-bottom:.25rem}.operation-details{font-size:.9rem;color:var(--text-secondary)}.operation-status{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.operation-status.pending{background:rgba(117,117,117,.1);color:var(--text-secondary)}.operation-status.processing{background:rgba(25,118,210,.1);color:var(--primary-color)}.operation-status.completed{background:rgba(56,142,60,.1);color:var(--success-color)}.operation-status.failed{background:rgba(211,47,47,.1);color:var(--danger-color)}.operation-status.cancelled{background:rgba(245,124,0,.1);color:var(--warning-color)}.loading-state{text-align:center;padding:2rem;color:var(--text-secondary);font-style:italic}.refund-status-section{margin:2rem 0}.refund-status-card{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:1.5rem;display:flex;gap:1rem;align-items:flex-start}.refund-status-card.already-processed{background:#f8d7da;border-color:#f1aeb5}.status-icon{font-size:2rem;min-width:3rem;text-align:center}.status-content h3{margin:0 0 .5rem;color:#721c24;font-size:1.2rem}.status-content p{margin:0 0 1rem;color:#721c24}.refund-details{margin-top:1rem;padding-top:1rem;border-top:1px solid #f1aeb5}.refund-detail{margin-bottom:.5rem;font-size:.9rem;color:#721c24}.btn.disabled{background-color:#6c757d!important;border-color:#6c757d!important;cursor:not-allowed!important;opacity:.6!important}.btn.disabled:hover{background-color:#6c757d!important;border-color:#6c757d!important;transform:none!important;box-shadow:none!important}.matching-actions,.processing-actions{padding:1.5rem;background:var(--background-color);display:flex;gap:1rem;flex-wrap:wrap}@media (max-width: 768px){.upload-area{padding:2rem 1rem;margin:1rem}.upload-summary,.matching-stats,.stats-grid{grid-template-columns:1fr}.operation-item{flex-direction:column;align-items:flex-start;gap:1rem}.matching-actions,.processing-actions{flex-direction:column}.matching-actions .btn,.processing-actions .btn{width:100%}}.settings-container{flex:1;padding:2rem}.settings-nav{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:1px solid var(--border-color)}.tab-btn{background:none;border:none;padding:1rem 1.5rem;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;transition:all .3s ease;font-size:1rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tab-content{display:none}.tab-content.active{display:block}.settings-section{background:var(--card-background);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}.section-actions{padding:1.5rem;background:var(--background-color);border-bottom:1px solid var(--border-color)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:var(--card-background);padding:1.5rem;border-radius:8px;box-shadow:var(--shadow);text-align:center;border-left:4px solid var(--primary-color)}.tokens-list{padding:1.5rem}.token-card{background:var(--card-background);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;margin-bottom:1rem;transition:all .3s ease}.token-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-1px)}.token-card.expired{opacity:.7;border-color:var(--danger-color)}.token-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.token-info{flex:1}.token-name{font-size:1.1rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary)}.token-meta{display:flex;gap:1rem;align-items:center}.token-prefix{font-family:Monaco,Consolas,monospace;background:var(--background-color);padding:.25rem .5rem;border-radius:4px;font-size:.9rem;color:var(--text-primary)}.token-status{padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500;text-transform:uppercase}.token-status.active{background:rgba(56,142,60,.1);color:var(--success-color)}.token-status.expired{background:rgba(211,47,47,.1);color:var(--danger-color)}.token-actions{display:flex;gap:.5rem}.btn-small{padding:.5rem 1rem;font-size:.875rem}.token-details{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.token-detail{margin-bottom:1rem}.token-detail label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-primary)}.permissions-tags{display:flex;flex-wrap:wrap;gap:.5rem}.permission-tag{background:rgba(25,118,210,.1);color:var(--primary-color);padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.token-timestamps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:1rem}.timestamp{font-size:.9rem}.timestamp label{font-weight:500;color:var(--text-secondary);margin-bottom:.25rem}.timestamp span{color:var(--text-primary)}.timestamp.warning span{color:var(--warning-color);font-weight:500}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--card-background);border-radius:8px;box-shadow:0 10px 30px #0000004d;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.modal-content.large{max-width:600px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;font-size:1.2rem;display:flex;align-items:center;gap:.5rem}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:.5rem}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:1.5rem}.modal-actions{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid var(--border-color);background:var(--background-color)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-primary)}.form-group input,.form-group select{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #1976d21a}.input-hint{display:block;margin-top:.5rem;font-size:.875rem;color:var(--text-secondary)}.permission-groups{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.permission-preset{padding:.5rem 1rem;font-size:.875rem;border:1px solid var(--border-color);background:var(--card-background);transition:all .3s ease}.permission-preset:hover{border-color:var(--primary-color);background:rgba(25,118,210,.05)}.permission-preset.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.permissions-list{border:1px solid var(--border-color);border-radius:4px;max-height:200px;overflow-y:auto}.permission-item{padding:.75rem;border-bottom:1px solid var(--border-color)}.permission-item:last-child{border-bottom:none}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;font-size:.9rem}.checkbox-label input[type=checkbox]{width:auto;margin:0}.permission-name{font-weight:500;color:var(--text-primary);text-transform:capitalize}.permission-description{color:var(--text-secondary);font-size:.8rem;margin-left:auto}.token-created-content{text-align:center}.warning-banner{display:flex;align-items:center;gap:1rem;background:rgba(245,124,0,.1);border:1px solid var(--warning-color);border-radius:4px;padding:1rem;margin-bottom:1.5rem}.warning-icon{font-size:1.5rem}.warning-text{text-align:left;flex:1}.token-display{margin-bottom:1.5rem}.token-display label{display:block;font-weight:500;margin-bottom:.5rem;text-align:left}.token-input-group{display:flex;gap:.5rem}.token-input{flex:1;font-family:Monaco,Consolas,monospace;font-size:.9rem;background:var(--background-color)}.copy-btn{padding:.75rem 1rem}.token-usage{text-align:left;background:var(--background-color);border-radius:4px;padding:1rem}.token-usage h4{margin-bottom:.5rem;font-size:.9rem}.usage-code{display:block;font-family:Monaco,Consolas,monospace;font-size:.8rem;color:var(--text-primary);white-space:pre;line-height:1.4}.empty-state{text-align:center;padding:3rem 2rem;color:var(--text-secondary)}.empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state h3{margin-bottom:.5rem;color:var(--text-primary)}.coming-soon{text-align:center;padding:3rem 2rem;color:var(--text-secondary)}.coming-soon-icon{font-size:3rem;margin-bottom:1rem;opacity:.7}.coming-soon h3{margin-bottom:.5rem;color:var(--text-primary)}@media (max-width: 768px){.settings-container{padding:1rem}.settings-nav{flex-direction:column}.tab-btn{padding:1rem;justify-content:center}.token-header{flex-direction:column;gap:1rem}.token-actions{align-self:stretch}.token-actions .btn{flex:1}.permission-groups{flex-direction:column}.permission-preset{text-align:center}.modal-content{width:95%;margin:1rem}.modal-actions,.token-input-group{flex-direction:column}}
