.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:20px;background:#fafafa}.login-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden;pointer-events:none}.login-background .wave{position:absolute;width:200%;height:200%;background:radial-gradient(ellipse at center,rgba(76,175,80,.08) 0%,transparent 70%);border-radius:50%;animation:waveAnimation 20s infinite ease-in-out}.login-background .wave1{top:-50%;left:-50%;animation-delay:0s}.login-background .wave2{top:-30%;left:-30%;animation-delay:-7s}.login-background .wave3{top:-10%;left:-10%;animation-delay:-14s}@keyframes waveAnimation{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.login-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:40px;width:100%;max-width:400px;position:relative;z-index:1}.login-header{text-align:center;margin-bottom:32px}.login-header h1{font-size:24px;color:#333;margin-bottom:8px;font-weight:600}.login-header p{color:#666;font-size:14px}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:#333}.form-group input{padding:12px 16px;border:1px solid #ddd;border-radius:8px;font-size:16px;transition:border-color .2s,box-shadow .2s;font-family:inherit}.form-group input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.login-error{background-color:#ffebee;color:#c62828;padding:12px 16px;border-radius:8px;font-size:14px;border:1px solid #ffcdd2}.login-button{padding:12px 24px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:8px}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed}*{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:#fafafa;color:#333;overflow-x:hidden}.hamburger-button{background:#4caf50;color:#fff;border:none;border-radius:8px;width:44px;height:44px;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 8px #4caf504d}.hamburger-button:hover{background:#45a049;box-shadow:0 4px 12px #4caf5066;transform:translateY(-1px)}.hamburger-button:active{transform:translateY(0);box-shadow:0 2px 6px #4caf504d}.app{min-height:100vh;position:relative;padding:20px;background:#fafafa}.app-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden;pointer-events:none}.wave{position:absolute;width:200%;height:200%;background:radial-gradient(ellipse at center,rgba(76,175,80,.08) 0%,transparent 70%);border-radius:50%;animation:waveAnimation 20s infinite ease-in-out}.wave1{top:-50%;left:-50%;animation-delay:0s;background:radial-gradient(ellipse at center,rgba(102,187,106,.1) 0%,transparent 70%)}.wave2{top:-30%;right:-50%;animation-delay:-7s;animation-duration:25s;background:radial-gradient(ellipse at center,rgba(129,199,132,.08) 0%,transparent 70%)}.wave3{bottom:-50%;left:20%;animation-delay:-14s;animation-duration:30s;background:radial-gradient(ellipse at center,rgba(165,214,167,.06) 0%,transparent 70%)}@keyframes waveAnimation{0%,to{transform:translate(0) scale(1);opacity:.6}33%{transform:translate(30px,-30px) scale(1.1);opacity:.8}66%{transform:translate(-20px,20px) scale(.9);opacity:.7}}.container{max-width:1600px;margin:0 auto;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 8px 32px #00000014;padding:40px;position:relative;z-index:1}header{text-align:center;margin-bottom:40px;padding-bottom:25px;border-bottom:2px solid rgba(76,175,80,.1)}header h1{font-size:32px;font-weight:700;background:linear-gradient(135deg,#4caf50,#66bb6a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.main-layout{display:flex;gap:30px;align-items:flex-start}.settings-panel{flex:0 0 30%;min-width:0}.results-panel{flex:0 0 70%;min-width:0}.section{margin-bottom:30px;padding-bottom:25px;border-bottom:1px solid rgba(76,175,80,.1)}.section:last-child{border-bottom:none;margin-bottom:0}.section h3{font-size:18px;font-weight:600;margin-bottom:18px;color:#333}.error-message{background-color:#ffebee;border:1px solid #ef5350;border-radius:8px;padding:15px;margin-bottom:20px;color:#c62828}.file-uploader{width:100%}.drop-zone{border:2px dashed #c8e6c9;border-radius:12px;padding:40px;text-align:center;cursor:pointer;transition:all .3s ease;background-color:#f1f8f4}.drop-zone:hover:not(.disabled){border-color:#4caf50;background-color:#e8f5e9;transform:translateY(-2px);box-shadow:0 4px 12px #4caf5026}.drop-zone.dragging{border-color:#4caf50;background-color:#c8e6c9;transform:scale(1.02)}.drop-zone.disabled{opacity:.6;cursor:not-allowed}.drop-zone-content p{margin-bottom:15px;color:#666;font-size:15px}.btn-select{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #4caf5033}.btn-select:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.btn-select:disabled{background:#ccc;cursor:not-allowed;box-shadow:none}.file-list{margin-top:20px}.file-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.file-list-header h3{margin:0;font-size:16px}.file-list ul{list-style:none;max-height:200px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:8px;padding:10px;background-color:#fafafa}.file-list li{padding:8px;border-bottom:1px solid #eee}.file-list li:last-child{border-bottom:none}.file-name{font-size:14px;color:#333}.btn-clear{background-color:#ef5350;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s ease}.btn-clear:hover:not(:disabled){background-color:#e53935;transform:translateY(-1px)}.btn-clear:disabled{background-color:#ccc;cursor:not-allowed}.ocr-mode-selector{width:100%}.radio-group{display:flex;flex-direction:column;gap:12px}.radio-label{display:flex;align-items:center;cursor:pointer;padding:12px;border-radius:8px;transition:all .2s;border:2px solid transparent}.radio-label:hover:not(:has(input:disabled)){background-color:#f1f8f4;border-color:#c8e6c9}.radio-label:has(input:checked){background-color:#e8f5e9;border-color:#4caf50}.radio-label input[type=radio]{margin-right:10px;cursor:pointer;accent-color:#4caf50}.radio-label input[type=radio]:disabled{cursor:not-allowed}.progress-section{width:100%}.progress-bar-container{display:flex;flex-direction:column;gap:10px}.progress-bar{width:100%;height:32px;background-color:#e8e8e8;border-radius:16px;overflow:hidden;position:relative;box-shadow:inset 0 2px 4px #0000001a}.progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#66bb6a);transition:width .4s ease;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700;position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-fill.completed{background:linear-gradient(90deg,#4caf50,#66bb6a)}.progress-fill.failed{background:linear-gradient(90deg,#ef5350,#e53935)}.progress-text{font-size:14px;color:#666;margin-top:8px;font-weight:500}.log-viewer{width:100%}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.log-header h3{margin:0;font-size:16px}.btn-clear-log{background-color:#757575;color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px;transition:all .3s ease}.btn-clear-log:hover{background-color:#616161;transform:translateY(-1px)}.log-content{border:1px solid #e0e0e0;border-radius:8px;padding:15px;background-color:#fafafa;max-height:400px;overflow-y:auto;font-family:Courier New,monospace;font-size:13px;line-height:1.6}.log-empty{color:#999;font-style:italic;text-align:center;padding:20px}.log-entry{padding:4px 0;white-space:pre-wrap;word-break:break-word}.log-entry.log-progress{color:#2196f3}.log-entry.log-complete{color:#4caf50;font-weight:700}.log-entry.log-error{color:#ef5350;font-weight:700}.log-entry.log-log{color:#333}.results-section{width:100%}.btn-download{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:15px;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #4caf5033}.btn-download:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.table-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.table-section-header h3{margin:0;font-size:20px;font-weight:600;color:#333}.animated-table-container{width:100%;margin-top:20px}.animated-table-wrapper{overflow-x:auto;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000000d;background:#fff}.animated-table{width:100%;border-collapse:collapse;font-size:14px}.animated-table thead{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;position:sticky;top:0;z-index:10}.animated-table th{padding:14px 12px;text-align:left;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.animated-table tbody{background:#fff}.animated-table-row{opacity:0;transform:translateY(-10px);transition:opacity .4s ease-out,transform .4s ease-out;border-bottom:1px solid #f0f0f0}.animated-table-row.visible{opacity:1;transform:translateY(0)}.animated-table-row:hover{background-color:#f1f8f4}.animated-table-row:last-child{border-bottom:none}.animated-table td{padding:12px;color:#555;border-right:1px solid #f0f0f0;vertical-align:top;word-wrap:break-word;max-width:200px}.animated-table td:last-child{border-right:none}.animated-table td:first-child{font-weight:600;color:#4caf50;text-align:center;min-width:50px}.animated-table th:first-child{text-align:center}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#999}.empty-state p{font-size:18px;margin-bottom:10px;color:#666}.empty-state-subtitle{font-size:14px;color:#999}.animated-table-wrapper::-webkit-scrollbar{height:8px}.animated-table-wrapper::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.animated-table-wrapper::-webkit-scrollbar-thumb{background:#4caf50;border-radius:4px}.animated-table-wrapper::-webkit-scrollbar-thumb:hover{background:#66bb6a}.btn-primary{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;border:none;padding:14px 28px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;transition:all .3s ease;width:100%;box-shadow:0 2px 8px #4caf5033}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.btn-primary:disabled{background:#ccc;cursor:not-allowed;box-shadow:none;transform:none}.log-content::-webkit-scrollbar,.file-list ul::-webkit-scrollbar{width:8px}.log-content::-webkit-scrollbar-track,.file-list ul::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.log-content::-webkit-scrollbar-thumb,.file-list ul::-webkit-scrollbar-thumb{background:#4caf50;border-radius:4px}.log-content::-webkit-scrollbar-thumb:hover,.file-list ul::-webkit-scrollbar-thumb:hover{background:#66bb6a}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0}.modal-header h2{margin:0;font-size:20px;color:#333}.modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:#999;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background-color:#f0f0f0;color:#333}.modal-body{padding:20px}.modal-body p{margin:0 0 10px;color:#666;line-height:1.6}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid #e0e0e0}.btn-download-modal{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;box-shadow:0 2px 8px #4caf5033}.btn-download-modal:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.btn-close-modal{background-color:#757575;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .3s ease}.btn-close-modal:hover{background-color:#616161;transform:translateY(-1px)}@media (max-width: 1200px){.main-layout{flex-direction:column}.settings-panel,.results-panel{flex:1 1 100%}}@media (max-width: 768px){.container{padding:20px}header h1{font-size:24px}.table-section-header{flex-direction:column;align-items:flex-start;gap:15px}}.export-format-selector{display:flex;align-items:center;gap:10px;margin-bottom:10px}.export-format-label{font-size:14px;font-weight:500;color:#333}.export-format-select{padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;background-color:#fff;color:#333;cursor:pointer;transition:all .2s ease;min-width:100px}.export-format-select:hover:not(:disabled){border-color:#4caf50;box-shadow:0 2px 4px #4caf501a}.export-format-select:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.export-format-select:disabled{background-color:#f5f5f5;cursor:not-allowed;color:#999}.trade-mode-selector{width:100%;margin-bottom:15px}.trade-mode-toggle{display:flex;position:relative;background:#f5f5f5;border-radius:8px;padding:4px;box-shadow:inset 0 2px 4px #0000000f}.trade-mode-button{flex:1;padding:10px 20px;border:none;background:transparent;color:#666;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border-radius:6px;position:relative;z-index:1}.trade-mode-button:hover:not(:disabled):not(.active){color:#333;background:#ffffff80}.trade-mode-button.active{background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;box-shadow:0 2px 8px #4caf504d;transform:translateY(-1px)}.trade-mode-button:disabled{cursor:not-allowed;opacity:.5}.task-history-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:999;opacity:0;pointer-events:none;transition:opacity .3s ease}.task-history-overlay.open{opacity:1;pointer-events:all}.task-history-sidebar{position:fixed;top:0;left:-420px;width:420px;height:100vh;background:#fff;box-shadow:2px 0 16px #00000026;transition:left .3s ease;z-index:1000;overflow-y:auto;display:flex;flex-direction:column}.task-history-sidebar.open{left:0}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:20px;background:linear-gradient(135deg,#4caf50,#66bb6a);color:#fff;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:10}.sidebar-header h2{margin:0;font-size:20px;font-weight:600}.close-button{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-button:hover{background:#ffffff4d;transform:rotate(90deg)}.sidebar-controls{padding:15px 20px;background:#f5f5f5;border-bottom:1px solid #e0e0e0;display:flex;flex-direction:column;gap:12px}.control-group{display:flex;align-items:center;gap:10px}.control-group label{font-size:14px;font-weight:500;color:#333;min-width:60px}.format-select,.trade-mode-select{flex:1;padding:8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff;cursor:pointer;transition:all .2s ease}.format-select:hover,.trade-mode-select:hover{border-color:#4caf50}.format-select:focus,.trade-mode-select:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.refresh-button{padding:8px 16px;background:#4caf50;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.refresh-button:hover:not(:disabled){background:#45a049;transform:translateY(-1px)}.refresh-button:disabled{opacity:.5;cursor:not-allowed}.sidebar-error{padding:12px 20px;background:#ffebee;color:#c62828;font-size:13px;border-left:4px solid #f44336}.last-update{padding:8px 20px;font-size:12px;color:#666;background:#fafafa;border-bottom:1px solid #e0e0e0}.tasks-list{flex:1;overflow-y:auto;padding:20px}.loading-state,.empty-state{text-align:center;padding:40px 20px;color:#999;font-size:14px}.task-item{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px;margin-bottom:16px;transition:all .2s ease;box-shadow:0 2px 4px #0000000d}.task-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.task-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.task-status{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.task-user{font-size:13px;color:#666}.task-info{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.task-date,.task-files,.task-trade-mode{font-size:13px;color:#666}.task-message{font-size:13px;color:#333;background:#f5f5f5;padding:8px 12px;border-radius:6px;margin-bottom:12px;word-wrap:break-word}.task-progress{margin-bottom:12px}.progress-bar-container{width:100%;height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:4px}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#4caf50,#66bb6a);transition:width .3s ease;border-radius:4px}.progress-text{font-size:12px;color:#666;text-align:right}.task-actions{display:flex;gap:8px;margin-bottom:8px}.download-button,.delete-button{flex:1;padding:8px 12px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.download-button{background:#4caf50;color:#fff}.download-button:hover:not(:disabled){background:#45a049;transform:translateY(-1px)}.delete-button{background:#f5f5f5;color:#666}.delete-button:hover:not(:disabled){background:#ffebee;color:#f44336}.download-button:disabled,.delete-button:disabled{opacity:.5;cursor:not-allowed}.task-id{font-size:11px;color:#999;text-align:right;font-family:monospace}@media (max-width: 768px){.task-history-sidebar{width:100%;left:-100%}}
