@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap";body.modal-open{overflow:hidden}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,#root{margin:0;padding:0;width:100%}body{min-height:100vh}html,body{height:100%;margin:0;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif}.landing-container{scroll-behavior:smooth}.landing{position:relative;height:100vh;background:#f2f2f2;display:flex;justify-content:center;align-items:center;overflow:hidden}.top-wave{position:absolute;top:0;left:0;width:100%;height:35vh;overflow:hidden;z-index:2}.top-wave svg{width:100%;height:100%;transform:rotate(180deg);transform-origin:center;display:block}.hero-content{position:relative;text-align:center;z-index:3;display:flex;flex-direction:column;align-items:center;gap:2rem}.hero-content h1{font-size:clamp(2rem,6vw,4rem);color:#262262;margin-bottom:2rem}.hero-content .dfm-logo{width:300px;height:auto;max-width:80vw;margin-bottom:1rem}.btn-login{display:inline-block;width:25vw;min-width:180px;max-width:300px;padding:1rem 2rem;font-size:clamp(1rem,2vw,1.75rem);background:#fff;color:#262262;border:none;border-radius:2rem;text-decoration:none;text-align:center;box-shadow:0 4px 10px #0000001a;cursor:pointer;transition:opacity .2s ease}.btn-login:hover{opacity:.9}.bottom-wave{position:absolute;bottom:0;left:0;width:100%;height:35vh;overflow:hidden;z-index:1}.bottom-wave svg{width:100%;height:100%;display:block}.scroll-section{height:100vh;background:#1d3e7b;display:flex;align-items:center;justify-content:center}.scroll-content{text-align:center;color:#fff;opacity:0;transform:translateY(50px);animation:fadeInUp 1s ease-out .5s forwards}.scroll-content h2{font-size:3rem;margin-bottom:1rem;font-weight:300}.scroll-content p{font-size:1.2rem;opacity:.8}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}body{scrollbar-width:none;-ms-overflow-style:none}body::-webkit-scrollbar{display:none}.account-dropdown-container{position:absolute;top:30px;right:20px;z-index:100}.landing-container .dfm-logo{display:block!important}.db-banner{position:fixed;top:20px;right:20px;z-index:1000;min-width:300px;max-width:400px;padding:16px;border-radius:8px;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease-out}.db-banner.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.db-banner.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.db-banner-content{display:flex;align-items:flex-start;gap:12px}.db-banner-icon{font-size:20px;flex-shrink:0}.db-banner-message{flex:1}.db-banner-message strong{display:block;margin-bottom:4px;font-size:14px}.db-banner-message p{margin:0;font-size:12px;opacity:.8}.db-banner-close{background:none;border:none;font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:.6;transition:opacity .2s}.db-banner-close:hover{opacity:1}.account-icon{width:40px!important;height:auto!important;cursor:pointer!important;transition:transform .2s ease!important;display:block!important;margin:0!important}.account-icon:hover{transform:scale(1.05)}.home-link-button{background:transparent;color:#1a94d8;border:1px solid #1a94d8;padding:8px 14px;border-radius:8px;cursor:pointer;font-weight:600;letter-spacing:.01em}.home-link-button:hover{background:#1a94d81f}.signout-link-button{background:transparent;color:#1a94d8;border:1px solid #1a94d8;padding:8px 14px;border-radius:8px;cursor:pointer;font-weight:600;letter-spacing:.01em}.signout-link-button:hover{background:#ffffff1f}.account-dropdown{position:absolute;top:50px;right:0;background:#fff;border-radius:1rem;box-shadow:0 8px 32px #0000002e;padding:1rem;min-width:160px;z-index:101;display:flex;flex-direction:column;align-items:stretch;animation:dropdownFadeIn .2s ease-out}.account-dropdown-container{position:relative;display:flex;justify-content:flex-end;align-items:center;flex-shrink:0;min-width:fit-content}.account-dropdown:before{content:"";position:absolute;top:-10px;right:20px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid #fff}.dropdown-btn{padding:.5rem 1.5rem;border-radius:.75rem;border:none;cursor:pointer;font-weight:600;transition:box-shadow .2s,filter .2s,background .2s,color .2s;font-size:.9rem}.dropdown-btn.sign-out,.dropdown-btn.home{margin-bottom:.5rem;background:#87aabe;color:#262262}.dropdown-btn.sign-out:hover,.dropdown-btn.home:hover{background:#1a94d8;color:#fff;box-shadow:0 4px 12px #1a94d84d}.dropdown-btn.cancel{background:#f2f2f2;color:#858485}.dropdown-btn.cancel:hover{background:#b0b0b0;color:#fff;filter:brightness(1.08);box-shadow:0 4px 12px #0000002e}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.account-icon{width:35px}.account-dropdown{top:45px;min-width:140px}.dropdown-btn{padding:.4rem 1.2rem;font-size:.85rem}}.refresh-btn{border:none;padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.refresh-btn:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.refresh-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.content-area{flex:1;padding:1rem;background:#f8f9fa;overflow-y:auto;width:100%;margin:0}.schedule-container{max-width:100%}.schedule-placeholder{text-align:center;color:#6b7280;padding:2rem;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.schedule-placeholder p{font-size:1rem;margin-bottom:.5rem}.schedule-placeholder small{font-size:.875rem;color:#9ca3af}.schedule-grid{display:flex;gap:1rem;min-height:400px;align-items:flex-start;width:100%}.schedule-column{flex:1 1 0;display:flex;flex-direction:column;min-width:0}.column-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-radius:6px;font-weight:600;font-size:.875rem;margin-bottom:.75rem}.column-header.pending{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.column-header.this-week{background:#fef3c7;color:#d97706;border:1px solid #fed7aa}.column-header.this-month{background:#dbeafe;color:#2563eb;border:1px solid #bfdbfe}.column-icon{font-size:1rem}.column-title{flex:1}.column-count{background:#0000001a;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:700}.column-items{display:flex;flex-direction:column;gap:.5rem;flex:1}.column-empty{background:#f3f4f6;color:#6b7280;border:1px dashed #e5e7eb;border-radius:6px;padding:.75rem;text-align:center}.schedule-card{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:.75rem;box-shadow:0 1px 2px #0000000d;transition:all .15s ease;cursor:pointer;width:100%}.schedule-card:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.schedule-card.pending{border-left:3px solid #dc2626;background:#fef2f2}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem;gap:.5rem}.card-title{font-size:.875rem;font-weight:600;color:#1f2937;flex:1;min-width:0;line-height:1.2}.card-date{font-size:.75rem;color:#6b7280;background:#f3f4f6;padding:.25rem .5rem;border-radius:4px;flex-shrink:0;white-space:nowrap}.card-date.overdue{background:#dc2626;color:#fff;font-weight:600}.card-content{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.card-description{font-size:.75rem;color:#6b7280;line-height:1.3}.card-customer{font-size:.75rem;color:#2563eb;font-weight:500;background:#eff6ff;padding:.25rem .5rem;border-radius:4px;display:inline-block;width:fit-content}.card-phase-status{font-size:.75rem;color:#047857;font-weight:500;background:#d1fae5;padding:.25rem .5rem;border-radius:4px;width:fit-content}.phase-status-control{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.phase-status-label{font-size:.75rem;color:#4b5563;font-weight:500}.phase-status-select{padding:.35rem .5rem;font-size:.75rem;border:1px solid #d1d5db;border-radius:4px;background:#fff;color:#374151}.phase-status-select:disabled{opacity:.6;cursor:not-allowed}.status-loading{font-size:.75rem;color:#6b7280}.phase-status-message{margin-bottom:.75rem;padding:.75rem;border-radius:6px;font-size:.85rem;border:1px solid transparent}.phase-status-message.success{background:#dcfce7;border-color:#bbf7d0;color:#166534}.phase-status-message.error{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.card-actions{display:flex;justify-content:flex-end;gap:.5rem}.complete-btn{background:#10b981;color:#fff;border:none;border-radius:4px;padding:.25rem .75rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease}.complete-btn:hover{background:#059669;transform:translateY(-1px)}.register-btn{background:#3b82f6;color:#fff;border:none;border-radius:4px;padding:.25rem .75rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.register-btn:hover{background:#2563eb;transform:translateY(-1px)}.submit-btn{background:#8b5cf6;color:#fff;border:none;border-radius:4px;padding:.25rem .75rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.submit-btn:hover{background:#7c3aed;transform:translateY(-1px)}.assign-btn{background:#f59e0b;color:#fff;border:none;border-radius:4px;padding:.25rem .75rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease}.assign-btn:hover{background:#d97706;transform:translateY(-1px)}.modal-header h3{margin:0;color:#1f2937;font-size:1rem}.form-group select,.form-group input[type=date]{width:100%;padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem}.modal-content .form-group textarea{min-height:72px}.schedule-footer-actions{margin-top:12px;display:flex;justify-content:flex-end}.add-misc-btn{background:#2563eb;color:#fff;border:none;border-radius:8px;padding:10px 14px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s ease}.add-misc-btn:hover{background:#1d4ed8;transform:translateY(-1px)}.update-btn{background:#3b82f6;color:#fff;border:none;border-radius:4px;padding:.25rem .75rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease}.update-btn:hover{background:#2563eb;transform:translateY(-1px)}.delete-btn{background:#ef4444;color:#fff;border:none;border-radius:4px;padding:.25rem .75rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease}.delete-btn:hover{background:#dc2626;transform:translateY(-1px)}@media (max-width: 1024px){.sidebar{width:200px}.main-content{margin-left:200px;margin-top:80px;min-height:calc(100vh - 80px)}.content-header{width:calc(100% - 200px)}.sidebar-text{font-size:13px}.sidebar-item{padding:10px 12px;gap:12px}.schedule-grid{flex-direction:column;gap:.75rem}}@media (max-width: 768px){.sidebar{width:180px}.main-content{margin-left:180px;margin-top:70px;min-height:calc(100vh - 70px)}.content-header{width:calc(100% - 180px);height:70px}.content-header{padding:0 1.5rem;height:70px;flex-direction:column;text-align:center}.content-header h1{font-size:1.3rem}.sidebar-item{padding:8px 12px;gap:10px}.sidebar-icon{width:20px;height:20px;font-size:16px}.schedule-card{padding:.5rem}.card-title{font-size:.8rem}.card-description{font-size:.7rem}}@media (max-width: 480px){.sidebar{width:160px}.main-content{margin-left:160px;margin-top:60px;min-height:calc(100vh - 60px)}.content-header{width:calc(100% - 160px);height:60px}.content-header{padding:0 1rem;height:60px}.content-header h1{font-size:1.1rem}.content-area{padding:.5rem}.sidebar-item{padding:6px 8px;gap:8px}.sidebar-icon{width:18px;height:18px;font-size:14px}.schedule-card{padding:.5rem}.card-title{font-size:.75rem}.card-description{font-size:.7rem}.complete-btn{padding:.2rem .5rem;font-size:.7rem}}.sample-registration-modal{max-width:600px;width:90vw;max-height:90vh;overflow-y:auto}.sample-registration-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:600;color:#374151;font-size:14px}.form-input,.form-select,.form-textarea{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:all .2s ease;background-color:#fff}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled,.form-select:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.form-textarea{resize:vertical;min-height:80px}.form-file{padding:8px 12px;border:2px dashed #d1d5db;border-radius:6px;background-color:#f9fafb;cursor:pointer;transition:all .2s ease}.form-file:hover{border-color:#3b82f6;background-color:#eff6ff}.form-file:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-help{font-size:12px;color:#6b7280;margin-top:4px}.error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px;border-radius:6px;font-size:14px;margin-bottom:16px}.loading-message{text-align:center;padding:40px 20px;color:#6b7280;font-size:16px}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid #e5e7eb}.btn-primary,.btn-secondary{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;min-width:100px}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px #3b82f633}.btn-primary:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{background-color:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.btn-secondary:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}@media (max-width: 768px){.sample-registration-modal{width:95vw;margin:10px}.form-row{grid-template-columns:1fr;gap:16px}.form-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:18px;font-weight:600;color:#111827}.close-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px;transition:all .2s ease}.close-btn:hover{background-color:#f3f4f6;color:#374151}.modal-body{padding:24px}.sample-instruction-submission-modal{max-width:600px;width:90%}.sample-instruction-submission-form{display:flex;flex-direction:column;gap:1.5rem}.sample-instruction-submission-form .form-group{display:flex;flex-direction:column;gap:.5rem}.sample-instruction-submission-form label{font-weight:500;color:#333}.sample-instruction-submission-form .form-input,.sample-instruction-submission-form .form-textarea,.sample-instruction-submission-form .form-file{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;width:100%;box-sizing:border-box}.sample-instruction-submission-form .form-textarea{resize:vertical;min-height:100px}.sample-instruction-submission-form .form-help{font-size:.875rem;color:#666;margin-top:.25rem}.sample-instruction-submission-form .error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:4px;border:1px solid #fcc}.sample-instruction-submission-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.sample-instruction-submission-form .btn-primary,.sample-instruction-submission-form .btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.sample-instruction-submission-form .btn-primary{background-color:#007bff;color:#fff}.sample-instruction-submission-form .btn-primary:hover:not(:disabled){background-color:#0056b3}.sample-instruction-submission-form .btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.sample-instruction-submission-form .btn-secondary{background-color:#6c757d;color:#fff}.sample-instruction-submission-form .btn-secondary:hover:not(:disabled){background-color:#5a6268}.sample-inventory-assignment-modal{max-width:600px;width:90%}.sample-info-banner{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;padding:12px 16px;margin-bottom:20px;color:#0369a1;font-size:14px}.sample-inventory-assignment-form{display:flex;flex-direction:column;gap:1.5rem}.sample-inventory-assignment-form .form-group{display:flex;flex-direction:column;gap:.5rem}.sample-inventory-assignment-form label{font-weight:500;color:#333}.sample-inventory-assignment-form .form-input,.sample-inventory-assignment-form .form-textarea,.sample-inventory-assignment-form .form-file{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;width:100%;box-sizing:border-box}.sample-inventory-assignment-form .form-textarea{resize:vertical;min-height:100px}.sample-inventory-assignment-form .form-help{font-size:.875rem;color:#666;margin-top:.25rem}.sample-inventory-assignment-form .error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:4px;border:1px solid #fcc}.sample-inventory-assignment-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.sample-inventory-assignment-form .btn-primary,.sample-inventory-assignment-form .btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s}.sample-inventory-assignment-form .btn-primary{background-color:#007bff;color:#fff}.sample-inventory-assignment-form .btn-primary:hover:not(:disabled){background-color:#0056b3}.sample-inventory-assignment-form .btn-primary:disabled{background-color:#ccc;cursor:not-allowed}.sample-inventory-assignment-form .btn-secondary{background-color:#6c757d;color:#fff}.sample-inventory-assignment-form .btn-secondary:hover:not(:disabled){background-color:#5a6268}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;color:#374151;font-size:14px}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.conditional-home-loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:18px;background-color:#f5f5f5;color:#333}.preview-btn{background:#fff;color:#1976d2;border:2px solid #1976d2;box-shadow:none;padding:.5rem 1.2rem;border-radius:4px;font-weight:600;font-size:1rem;text-decoration:none;transition:background .15s,color .15s}.preview-btn:disabled{opacity:.6;cursor:not-allowed}.preview-btn:not(:disabled):hover{background:#1976d2;color:#fff}.data-count-wrapper{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.campaign-count-btn{background:#1976d2;color:#fff;border:none;box-shadow:none;padding:.5rem 1rem;border-radius:4px;font-weight:600;font-size:1rem;cursor:pointer}.total-docs{font-size:.9rem;color:#555}.upload-footer{background:transparent!important;box-shadow:none!important;padding:0;display:flex;justify-content:space-between;align-items:center}.upload-footer .btn-back,.upload-footer .btn-next{background:#1976d2;color:#fff;border:none;box-shadow:none;padding:.5rem 1rem;border-radius:4px;text-decoration:none}.upload-page{position:relative;min-height:100vh;background:#f2f2f2;overflow-y:auto;padding-bottom:4rem;box-sizing:border-box}.step-title{font-size:1.5rem;font-weight:600;margin:1rem auto;color:#262262;text-align:center;max-width:500px;width:90%;display:block;padding:0}.upload-box{background:linear-gradient(135deg,#fff6,#fff3);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid rgba(38,34,98,.2);border-radius:16px;box-shadow:0 8px 32px #26226226;margin:0 auto;padding:3.5rem 2.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;max-width:900px;width:99%;box-sizing:border-box;transition:all .3s ease;overflow-x:visible;overflow-y:visible}.upload-box:hover{transform:translateY(-2px);box-shadow:0 12px 40px #26226240;border-color:#2622624d;background:linear-gradient(135deg,#ffffff80,#ffffff4d)}.upload-text{color:#626163;margin-bottom:1.5rem;font-size:1.1rem;font-weight:500}.btn-upload-styled{cursor:pointer;background:linear-gradient(135deg,#262262e6,#262262b3);border:2px solid rgba(38,34,98,1);border-radius:12px;padding:1.5rem 2rem;color:#fff;font-size:1rem;font-weight:600;text-align:center;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:.5rem;min-width:200px;box-shadow:0 4px 20px #2622624d}.btn-upload-styled:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 30px #26226266;background:linear-gradient(135deg,#262262,#262262cc);border-color:#262262}.btn-upload-styled .upload-icon{font-size:2.5rem;margin-bottom:.5rem}.btn-upload-styled .upload-formats{font-size:.8rem;opacity:.8;font-weight:400}.btn-upload-grey{cursor:pointer;width:160px;height:auto;-webkit-user-select:none;user-select:none}.btn-upload-grey:hover{transform:scale(1.05)}.file-display{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;overflow:visible;position:relative}.scroll-indicator{position:absolute;top:50%;transform:translateY(-50%);background:linear-gradient(135deg,#262262cc,#26226299);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;font-weight:700;z-index:10;opacity:.8;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.scroll-indicator:hover{opacity:1;transform:translateY(-50%) scale(1.1);box-shadow:0 4px 12px #26226266}.scroll-left{left:-20px}.scroll-right{right:-20px}.files-list{display:flex;flex-direction:row;gap:1rem;width:100%;max-width:none;margin:0 auto;align-items:flex-start;overflow-x:auto;overflow-y:hidden;padding:.5rem;white-space:nowrap;scrollbar-width:auto;scrollbar-color:rgba(38,34,98,.7) rgba(255,255,255,.2);border:2px dashed rgba(255,255,255,.3);border-radius:8px;background:#ffffff0d}.files-list::-webkit-scrollbar{height:16px;background:#ffffff1a}.files-list::-webkit-scrollbar-track{background:#fff3;border-radius:8px;border:1px solid rgba(255,255,255,.3)}.files-list::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#262262cc,#26226299);border-radius:8px;border:1px solid rgba(255,255,255,.4);box-shadow:0 2px 4px #0003}.files-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,#262262,#262262cc);box-shadow:0 2px 6px #0000004d}.files-list::-webkit-scrollbar-corner{background:#ffffff1a}.file-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1rem;background:linear-gradient(135deg,#ffffff1f,#ffffff14);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.25);border-radius:12px;box-shadow:0 4px 16px #0000001a;position:relative;width:300px;min-width:300px;flex-shrink:0;box-sizing:border-box;text-align:center}.file-item.completed{padding:1rem;gap:.75rem;width:200px;min-width:200px;max-width:200px;margin:0;min-height:auto;display:flex;flex-direction:column;justify-content:center;align-items:center;flex-shrink:0}.file-item:hover{box-shadow:0 4px 12px #00000026;background:linear-gradient(135deg,#ffffff2e,#ffffff1f)}.file-item.processing{border-color:#ffc107;background:linear-gradient(135deg,#ffc1071a,#ffc1070d)}.file-item.completed{border-color:#28a745;background:linear-gradient(135deg,#28a7451a,#28a7450d)}.file-item.existing{border-color:#6c757d;background:linear-gradient(135deg,#6c757d1a,#6c757d0d);position:relative}.file-item.existing:before{content:"Previously Uploaded";position:absolute;top:-8px;right:-8px;background:#6c757d;color:#fff;font-size:.6rem;padding:2px 6px;border-radius:4px;font-weight:500}.file-item.error{border-color:#dc3545;background:linear-gradient(135deg,#dc35451a,#dc35450d)}.file-status{font-size:.75rem;font-weight:500;margin-top:.15rem;white-space:normal;word-break:break-word;overflow-wrap:anywhere;text-overflow:unset;overflow:visible}.file-item.processing .file-status{color:#e68900}.file-item.completed .file-status{color:#1e7e34;font-size:.65rem;margin-top:.05rem;white-space:normal;word-break:break-word;overflow-wrap:anywhere;text-overflow:unset;overflow:visible}.file-item.existing .file-status{color:#495057;font-size:.65rem;margin-top:.05rem;font-style:italic;white-space:normal;word-break:break-word;overflow-wrap:anywhere;text-overflow:unset;overflow:visible}.file-item.error .file-status{color:#bd2130;white-space:normal;word-break:break-word;overflow-wrap:anywhere;text-overflow:unset;overflow:visible}.file-details{margin-top:.75rem;padding-top:0;border-top:none;text-align:center;width:100%}.details-toggle{background:linear-gradient(135deg,#2622624d,#26226233);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);color:#fff;padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.75rem;font-weight:500;transition:all .3s ease;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;gap:.3rem;width:auto;margin:0 auto .5rem}.excel-download+.details-toggle{margin-top:12px}.details-toggle:hover{background:linear-gradient(135deg,#26226280,#26226266);transform:translateY(-1px)}.details-content{margin-top:.5rem;padding:.5rem;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border:1px solid rgba(255,255,255,.2);border-radius:6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;box-sizing:border-box;transition:all .3s ease;overflow:hidden}.processor-type{font-size:.75rem;color:#fff;margin-bottom:.4rem;font-weight:600;text-align:center;background:linear-gradient(135deg,#262262cc,#26226299);padding:.4rem .8rem;border-radius:8px;border:1px solid rgba(38,34,98,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #2622624d}.data-sections{font-size:.7rem;color:#fff;line-height:1.4;text-align:center;background:linear-gradient(135deg,#262262b3,#26226280);padding:.5rem .8rem;border-radius:8px;border:1px solid rgba(38,34,98,.8);word-wrap:break-word;white-space:normal;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #26226233}.details-content .saved-files{font-size:.7rem;color:#444;margin-top:.3rem;padding:.3rem .5rem;background:#fffc;border-radius:4px;border:1px solid rgba(38,34,98,.2);text-align:center}.file-error{margin-top:.5rem;padding:.5rem;background:#dc35451a;border:1px solid rgba(220,53,69,.3);border-radius:6px;font-size:.75rem;color:#721c24;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.file-icon{font-size:1.5rem;color:#262262;flex-shrink:0;align-self:center;margin-bottom:.5rem}.file-item.completed .file-icon{display:none}.file-info{display:flex;flex-direction:column;gap:.25rem;min-width:0;text-align:center;align-items:center;width:100%;justify-content:center}.file-item.completed .file-info{gap:.05rem;width:100%}.file-name{font-weight:600;color:#262262;font-size:1rem;word-break:break-word;line-height:1.3;text-align:center}.file-item.completed .file-name{font-size:.75rem;font-weight:700;color:#1e7e34;text-align:center;margin-bottom:.02rem;line-height:1.1}.file-size{color:#666;font-size:.9rem;flex-shrink:0;text-align:center}.file-item.completed .file-info{text-align:center;align-items:center}.file-item.completed .file-size{font-size:.6rem;color:#888}.remove-file-btn{position:absolute;top:-8px;left:-8px;background:#f44;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;opacity:0}.file-item.completed .remove-file-btn{width:20px;height:20px;font-size:14px;top:-6px;left:-6px}.file-item:hover .remove-file-btn{opacity:1}.remove-file-btn:hover{background:#c00}.upload-another-btn{background:linear-gradient(135deg,#2622624d,#26226233);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.3);color:#fff;padding:.75rem 1.5rem;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;box-shadow:0 4px 16px #26226233}.upload-another-btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px #2622624d;background:linear-gradient(135deg,#26226280,#26226266)}.back-button{position:fixed;left:2rem;bottom:4rem;background:transparent;border:2px solid #AAA;color:#555;padding:.75rem 1.5rem;font-size:1rem;border-radius:.5rem;text-decoration:none;text-align:center;cursor:pointer;display:flex;align-items:center;gap:.5rem;z-index:50}.back-button:hover{box-shadow:0 4px 12px #0000002e;color:#fff;text-decoration:none;transform:translateY(-2px)}.next-button{position:fixed;right:2rem;bottom:4rem;background:transparent;border:2px solid #AAA;color:#555;padding:.75rem 1.5rem;font-size:1rem;border-radius:.5rem;text-decoration:none;text-align:center;cursor:pointer;display:flex;align-items:center;gap:.5rem;z-index:50}.next-button:hover{box-shadow:0 4px 12px #0000002e;color:#fff;text-decoration:none;transform:translateY(-2px)}.next-button:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.next-button:disabled:hover{box-shadow:none;color:#555;transform:none}.upload-footer{position:fixed;bottom:0;left:0;right:0;width:100%;background:#f2f2f2;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;z-index:10}.upload-footer .btn-back,.upload-footer .btn-next{background:transparent;border:2px solid #AAA;color:#555;padding:.75rem 1.5rem;font-size:1rem;border-radius:.5rem;text-decoration:none;text-align:center;cursor:pointer;transition:box-shadow .2s,background .2s,color .2s}.upload-footer .btn-next:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.upload-footer .btn-next:disabled:hover{background:transparent}.upload-footer .btn-next:hover:not(:disabled),.upload-footer .btn-back:hover{box-shadow:0 4px 12px #0000002e;background:#1a3a6b;color:#fff}.saved-files{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.2)}.saved-files-title{font-weight:600;color:#262262;margin-bottom:.5rem;font-size:.9rem}.saved-file-item{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;margin-bottom:.5rem;background:linear-gradient(135deg,#ffffff14,#ffffff0a);border:1px solid rgba(255,255,255,.15);border-radius:8px;transition:all .2s ease}.saved-file-item:hover{background:linear-gradient(135deg,#ffffff1f,#ffffff14);border-color:#ffffff40}.saved-file-name{font-size:.85rem;color:#262262;font-weight:500;word-break:break-all}.collection-selector{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.collection-selector label{font-size:.8rem;color:#555;font-weight:500;min-width:65px}.collection-select{flex:1;padding:.4rem .6rem;border:1px solid rgba(38,34,98,.2);border-radius:6px;background:#ffffffe6;color:#262262;font-size:.8rem;outline:none;transition:all .2s ease}.collection-select:focus{border-color:#262262;box-shadow:0 0 0 2px #2622621a;background:#fff}.collection-select:hover{border-color:#2622624d}@media (max-width: 600px){.dfm-logo{display:none}.top-right-icons{top:30px;right:30px}.back-button,.next-button{position:static;width:100%;max-width:100%;margin:.5rem 0 0;left:unset;right:unset;bottom:unset;border-radius:.5rem;font-size:1rem;justify-content:center;z-index:10}.responsive-nav-buttons{display:flex;flex-direction:column;gap:.75rem;width:100%;margin:1.5rem 0 0;align-items:stretch}}@media (max-width: 400px){.dfm-logo{display:none}.top-right-icons{top:20px;right:20px}.back-button,.next-button{font-size:.95rem;padding:.6rem .5rem}.responsive-nav-buttons{gap:.5rem;margin-top:1rem}}@media (max-height: 500px){.dfm-logo{display:none}}.file-count-indicator{position:absolute;top:15px;right:20px;background:linear-gradient(135deg,#262262e6,#262262b3);color:#fff;padding:.4rem .8rem;border-radius:20px;font-size:.8rem;font-weight:600;border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #2622624d;z-index:5}.excel-download{margin-top:4px;display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}.download-excel-btn{background:linear-gradient(135deg,#f4ecc5,#f0e4a8);color:#262262;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:500;transition:all .2s ease;box-shadow:0 2px 4px #f4ecc54d;display:flex;align-items:center;gap:4px;white-space:nowrap}.download-excel-btn:hover{background:linear-gradient(135deg,#f0e4a8,#ead78a);transform:translateY(-1px);box-shadow:0 3px 6px #f4ecc566}.download-excel-btn:active{transform:translateY(0);box-shadow:0 1px 2px #f4ecc580}.download-excel-btn.downloaded{background:linear-gradient(135deg,#28a745,#20a536);color:#fff;cursor:default;opacity:.8}.download-excel-btn.downloaded:hover{background:linear-gradient(135deg,#28a745,#20a536);transform:none;box-shadow:0 2px 4px #28a7454d}.download-excel-btn:disabled{cursor:not-allowed;pointer-events:none}.excel-filename{font-size:10px;color:#262262;font-style:italic;text-align:center;word-break:break-word;overflow-wrap:anywhere;line-height:1.2;max-width:100%;padding:0 4px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;min-height:1.5em}.excel-warning-backdrop{position:fixed;inset:0;background:#26226240;z-index:9999;display:flex;align-items:center;justify-content:center}.excel-warning-modal{background:linear-gradient(135deg,#f5f7fa,#e9ecf3);border:2px solid #262262;border-radius:18px;box-shadow:0 8px 40px #2622622e;padding:2rem 2.5rem;min-width:320px;max-width:90vw;color:#262262;display:flex;flex-direction:column;align-items:center;animation:popup-fade-in .2s}@keyframes popup-fade-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.excel-warning-title{font-size:1.35rem;font-weight:700;margin-bottom:.7rem;color:#262262;text-align:center}.excel-warning-message{font-size:1rem;color:#262262;margin-bottom:1.2rem;text-align:center}.excel-warning-message ul{margin:.5rem 0 .5rem 1.2rem;padding:0;text-align:left;color:#262262;font-size:.98rem}.excel-warning-actions{display:flex;gap:1.2rem;justify-content:center;width:100%}.excel-warning-btn{padding:.6rem 1.5rem;border-radius:8px;border:none;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.excel-warning-btn.confirm{background:linear-gradient(135deg,#28a745,#20a536);color:#fff}.excel-warning-btn.confirm:hover{background:linear-gradient(135deg,#218838,#1e7e34)}.excel-warning-btn.confirm{background:linear-gradient(135deg,#262262,#4a4e69);color:#fff}.excel-warning-btn.confirm:hover{background:linear-gradient(135deg,#1a1d3a,#262262)}.excel-warning-btn.cancel{background:linear-gradient(135deg,#e9ecf3,#f5f7fa);color:#262262;border:1.5px solid #262262}.excel-warning-btn.cancel:hover{background:#dbe1ea;color:#262262}.preview-modal-backdrop{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:12000}.preview-modal{width:min(1200px,90vw);max-height:90vh;background:#fff;border-radius:10px;box-shadow:0 8px 30px #00000040;overflow:hidden;display:flex;flex-direction:column;pointer-events:auto}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#0f3d62;color:#fff}.preview-body{padding:16px;overflow:auto}.close-btn{background:transparent;color:#fff;border:none;font-size:22px;cursor:pointer}.primary{background:#0f7ae5;color:#fff;border:none;padding:8px 14px;border-radius:6px;cursor:pointer}.preview-loading{padding:20px}.preview-error{color:#b00020;padding:10px;background:#ffecec;border-radius:6px}.raw-json{background:#0a0a0a;color:#e5e5e5;padding:12px;border-radius:6px}.preview-fullpage{display:flex;flex-direction:column;min-height:100vh;max-width:100vw}.preview-fullpage .preview-toolbar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #e7e7e7;background:#fafbfc;position:sticky;top:0;z-index:5}.preview-fullpage .preview-container{flex:1;min-height:0;padding:16px;max-width:100%;overflow:auto;display:flex;flex-direction:column;gap:16px}.preview-fullpage .preview-meta{display:flex;gap:12px;align-items:center;color:#39546b}.preview-fullpage .meta-item{font-size:.9rem;opacity:.85}.excel-section{margin-bottom:24px}.table-container.compact{overflow-x:auto;overflow-y:hidden;border:1px solid #e2e8f0;border-radius:8px;background:#fff;max-width:100%}.preview-table{width:100%;border-collapse:collapse;table-layout:fixed}.preview-table th,.preview-table td{padding:6px 8px;border-bottom:1px solid #eef2f7;font-size:12.5px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-table th,.preview-table td{max-width:220px}.preview-table th{position:sticky;top:0;background:#f7f9fc;z-index:1}.preview-empty{padding:12px;color:#6b7a8a}.excel-grid{margin:12px 0 24px;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff}.excel-grid-title{background:#f5f7fa;padding:8px 12px;border-bottom:1px solid #e2e8f0;font-weight:600}.excel-grid-table{overflow:auto}.excel-grid-header{display:grid;position:sticky;top:0;background:#fafbfc;border-bottom:1px solid #e2e8f0;grid-auto-flow:column;grid-auto-columns:minmax(120px,auto)}.excel-grid-body{display:block}.excel-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(120px,auto);border-bottom:1px solid #f1f5f9}.cell{padding:6px 8px;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell.header{font-weight:600;color:#39546b}.upload-status-banner.success .upload-status-content{justify-content:center}.wizard-btn-left,.wizard-btn-right{top:140%!important;transform:translateY(0)!important}.btn-ghost{background:transparent;border:1px solid #aaaaaa;color:#565656;padding:.5rem 1.2rem;font-weight:500;font-size:.92rem;border-radius:6px;cursor:pointer;transition:background-color .15s ease;text-decoration:none}.btn-ghost:disabled{opacity:.6;cursor:not-allowed}.btn-ghost:not(:disabled):hover{background:#1876d2;color:#fff}.wizard-btn-right .btn-next{background:#f8f9fa;color:#262262;border:1.5px solid #dee2e6;box-shadow:none;padding:.5rem 1.2rem;border-radius:4px;font-weight:600;font-size:1rem;text-decoration:none;transition:background .15s,color .15s,border .15s;outline:none}.wizard-btn-right .btn-next:disabled{opacity:.6;cursor:not-allowed;background:#f1f1f1;color:#aaa;border-color:#eee}.wizard-btn-right .btn-next:not(:disabled):hover{background:#e9ecef;color:#262262;border-color:#adb5bd}.json-editor-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.json-editor-title{margin:0;font-size:1.25rem;font-weight:600;color:#262262}.json-editor-controls{display:flex;align-items:center;gap:12px}.version-history-dropdown{padding:.5rem .75rem;border-radius:.5rem;border:1px solid #dee2e6;font-size:.875rem;background:#fff;color:#262262}.preview-page *{transition:none!important}.preview-page button:hover,.preview-page .file-item:hover,.preview-page .section-header:hover{transition:background-color .15s ease,color .15s ease!important}.preview-page{position:relative;min-height:100vh;background:#f2f2f2;overflow:hidden;padding-bottom:4rem;box-sizing:border-box;display:flex;flex-direction:column}.upload-wizard{display:flex;align-items:center;justify-content:center;margin:2rem 1rem}.upload-wizard .step{display:flex;flex-direction:column;align-items:center}.upload-wizard .circle{width:36px;height:36px;border-radius:50%;background:#ececec;color:#777;display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:.5rem}.upload-wizard .step.active .circle{background:#262262;color:#fff}.upload-wizard .label{font-size:.9rem;font-weight:600;color:#262262}.upload-wizard .subtitle{font-size:.8rem;color:#777}.upload-wizard .line{flex:1;height:2px;background:#aaa;margin:0 1rem}.step-title{font-size:1.3rem;font-weight:600;margin:.5rem 1rem 2rem;color:#262262}.table-container{flex:1;overflow:auto;margin:0 2rem}.preview-table{width:100%;border-collapse:collapse}.preview-table th{background:#262262;color:#fff;padding:.75rem;border:1px solid #262262}.preview-table td{padding:.5rem;border:1px solid #262262;background:#fff}.preview-table tr:nth-child(2n) td{background:#f2f2f2}.upload-footer .btn-back{transform:translateY(2rem);display:flex;align-items:center;justify-content:center;width:200px;height:60px;background:#262262;color:#fff;border:none;border-radius:1.5rem;font-size:clamp(.9rem,2vw,1.1rem);cursor:pointer;box-shadow:0 4px 10px #0000001a;text-decoration:none;text-align:center;transition:box-shadow .2s,background .2s,color .2s;white-space:nowrap;margin-left:3rem}.upload-footer .btn-next{transform:translateY(2rem);display:flex;align-items:center;justify-content:center;width:200px;height:60px;background:#262262;color:#fff;border:none;border-radius:1.5rem;font-size:clamp(.9rem,2vw,1.1rem);cursor:pointer;box-shadow:0 4px 10px #0000001a;text-decoration:none;text-align:center;transition:box-shadow .2s,background .2s,color .2s;white-space:nowrap;margin-right:3rem}.upload-footer .btn-back:hover{background:#0d70a8;color:#fff;box-shadow:0 6px 18px #0d70a838;filter:brightness(1.08)}.upload-footer .btn-next:hover:not(:disabled){background:#0d70a8;color:#fff;box-shadow:0 6px 18px #0d70a838;filter:brightness(1.08)}.upload-footer .btn-next:disabled{opacity:.6;cursor:not-allowed;background:#f2f2f2!important;border:none!important;color:#666!important;box-shadow:none!important;filter:none!important}.account-btn-home{margin-bottom:.5rem;padding:.5rem 1.5rem;border-radius:.75rem;background:#87aabe;color:#262262;border:none;cursor:pointer;font-weight:600}.account-btn-cancel{padding:.5rem 1.5rem;border-radius:.75rem;background:#f2f2f2;color:#858485;border:none;cursor:pointer;font-weight:600}*{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif!important}.view-controls{display:flex;justify-content:space-between;align-items:center;margin:1rem;padding:1rem;background:#fff;border-radius:.5rem;box-shadow:0 2px 8px #0000001a;flex-wrap:wrap;gap:1rem}.section-navigator select{padding:.5rem .75rem;border-radius:.5rem;border:1px solid #dee2e6;font-size:.875rem;font-weight:600;background:#fff;color:#262262;cursor:pointer;transition:all .2s}.section-navigator select:hover{background:#f8f9fa;border-color:#adb5bd}.view-toggle{display:flex;gap:.5rem}.view-toggle button{padding:.75rem 1.5rem;border:2px solid #87AABE;background:#fff;color:#262262;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .2s}.view-toggle button.active{background:#87aabe;color:#fff}.view-toggle button:hover:not(.active){background:#f0f8ff}.reload-btn{padding:.75rem 1.5rem;background:#262262;color:#fff;border:none;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .2s}.reload-btn:hover:not(:disabled){background:#1a1a4a}.reload-btn:disabled{opacity:.6;cursor:not-allowed}.error-banner{margin:0 2rem;padding:1rem;background:#f8d7da;border:1px solid #f5c6cb;border-radius:.5rem;color:#721c24;font-weight:600}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem;color:#262262}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #87AABE;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.json-preview-container{margin:1rem;flex:1}.json-preview-container .raw-json-view,.structured-view{display:flex;flex-direction:column;gap:1.5rem;max-width:95%;margin:0 auto}.json-section{background:#fff;border-radius:.75rem;padding:1.5rem;box-shadow:0 2px 8px #0000001a;margin:0}.json-section h3{margin:0 0 1rem;color:#262262;font-size:1.25rem;border-bottom:2px solid #87AABE;padding-bottom:.5rem}.metadata-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.metadata-grid>div{padding:.75rem;background:#f8f9fa;border-radius:.5rem;border-left:4px solid #87AABE}.status{padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:600;text-transform:uppercase}.status.ready_for_database{background:#d4edda;color:#155724}.schema-info{margin-top:1rem}.columns-list{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.column-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#f8f9fa;border-radius:.5rem;border-left:4px solid #87AABE}.col-name{font-weight:600;color:#262262;min-width:120px}.col-type{font-family:monospace;background:#e9ecef;padding:.25rem .5rem;border-radius:.25rem;font-size:.875rem}.badge{padding:.25rem .5rem;border-radius:.75rem;font-size:.75rem;font-weight:600;text-transform:uppercase}.badge.primary{background:#ffeaa7;color:#d63031}.badge.required{background:#ff7675;color:#fff}.badge.unit{background:#74b9ff;color:#fff}.data-table-container{overflow-x:auto;margin-top:1rem}.data-preview-table{width:100%;border-collapse:collapse;background:#fff}.data-preview-table th,.data-preview-table td{padding:.75rem;text-align:left;border-bottom:1px solid #dee2e6}.data-preview-table th{background:#f8f9fa;font-weight:600;color:#262262;border-bottom:2px solid #87AABE}.data-preview-table td{font-family:monospace;font-size:.875rem}.more-rows{text-align:center;color:#6c757d;font-style:italic;margin-top:1rem}.errors-section,.warnings-section{margin-top:1rem}.errors-section h4,.warnings-section h4{margin:0 0 .75rem;color:#262262}.issue-item{padding:.75rem;border-radius:.5rem;margin-bottom:.5rem}.issue-item.error{background:#f8d7da;border-left:4px solid #dc3545;color:#721c24}.issue-item.warning{background:#fff3cd;border-left:4px solid #ffc107;color:#856404}.raw-json-view{background:#fff;border-radius:.75rem;overflow:hidden;box-shadow:0 2px 8px #0000001a}.json-editor-header{padding:1rem 1.5rem;background:#f8f9fa;border-bottom:1px solid #dee2e6}.json-editor-header h3{margin:0;color:#262262}.save-btn{padding:.5rem 1rem;border:none;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .2s}.save-btn.unsaved{background:#fff3cd;color:#856404}.save-btn.saved{background:#28a745;color:#fff}.save-btn:hover{background:#218838}.save-btn.unsaved:hover{background:#ffe8a1;color:#856404}.save-btn.saved:hover{background:#218838;color:#fff}.json-editor{width:100%;border:none;padding:1.5rem;font-family:Consolas,Monaco,Courier New,monospace;font-size:.875rem;line-height:1.5;resize:vertical;outline:none;background:#f8f9fa}.json-editor:focus{background:#fff}.ready-indicator{background:#fff3cd;border:1px solid #ffeaa7;color:#856404;padding:5px 10px;border-radius:4px;font-size:.9em;font-weight:500;margin-right:10px}.ready-badge{position:absolute;top:-8px;left:-8px;background:#28a745;color:#fff;font-size:.8em;padding:2px 6px;border-radius:10px;font-weight:700}.json-editor:disabled{background:#f8f9fa;color:#6c757d;cursor:not-allowed;opacity:.7}.save-btn:disabled{background:#6c757d!important;border-color:#6c757d!important;color:#fff!important;cursor:not-allowed;opacity:.7}.save-btn:disabled:hover{background:#6c757d;border-color:#6c757d}.review-btn{padding:10px 20px;border:1px solid #28a745;background:#fff;color:#28a745;border-radius:5px;cursor:pointer;font-weight:500;transition:all .3s ease;flex-grow:1;max-width:200px}.review-btn:hover{background:#28a745;color:#fff}.file-info-banner{margin:0 2rem;padding:1rem;background:linear-gradient(135deg,#87aabe,#262262);color:#fff;border-radius:.5rem;box-shadow:0 2px 8px #0000001a}.file-info-content{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.file-name{font-size:1rem;font-weight:600}.file-time{font-size:.875rem;opacity:.9}.file-count{font-size:.875rem;opacity:.8;font-style:italic}@media (max-width: 768px){.file-info-content{flex-direction:column;align-items:flex-start;gap:.5rem}}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.summary-grid>div{padding:.75rem;background:#f8f9fa;border-radius:.5rem;border-left:4px solid #87AABE}.section-content{margin-top:1rem}.nested-object{margin-left:1rem;border-left:2px solid #dee2e6;padding-left:1rem}.object-item{margin-bottom:.75rem;display:flex;align-items:flex-start;gap:.75rem}.object-key{font-weight:600;color:#262262;min-width:150px;flex-shrink:0}.array-container{background:#f8f9fa;border-radius:.5rem;padding:1rem;margin:.5rem 0}.view-controls{display:flex;justify-content:space-between;align-items:center;margin:1rem 2rem;padding:1rem;background:#fff;border-radius:.5rem;box-shadow:0 2px 8px #0000001a;flex-wrap:wrap;gap:1rem}.expand-all-btn,.collapse-all-btn{padding:.5rem .75rem;border-radius:.5rem;border:1px solid #dee2e6;font-size:.875rem;background:#fff;color:#262262;font-weight:600;cursor:pointer;transition:all .2s;position:relative}.expand-all-btn:hover,.collapse-all-btn:hover{background:#f8f9fa;border-color:#adb5bd}.section-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:.75rem;margin:-.75rem -.75rem 1rem;border-radius:.5rem;transition:background-color .2s}.section-header:hover{background:#f8f9fa}.section-header h3{margin:0;display:flex;align-items:center;gap:.5rem}.expand-icon{font-size:.875rem;color:#87aabe;transition:transform .2s;width:1rem;display:inline-block}.section-info{font-size:.875rem;color:#6c757d;font-weight:500}.expand-toggle{background:none;border:1px solid #dee2e6;border-radius:.25rem;padding:.25rem .5rem;cursor:pointer;font-size:.75rem;color:#6c757d;transition:all .2s;margin-bottom:.5rem}.expand-toggle:hover{background:#f8f9fa;border-color:#87aabe;color:#262262}.expand-toggle.nested{background:#e9ecef;border-color:#adb5bd}.expand-toggle.array{background:#f8f9fa;border-color:#87aabe;color:#262262}.nested-content{margin-top:.5rem;border-left:2px solid #dee2e6;padding-left:1rem;margin-left:.5rem}.array-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dee2e6;padding-bottom:.5rem;margin-bottom:1rem}.section-header.first-section .section-info{color:#ffffffe6}.first-badge{background:#fff3;color:#fff;padding:.25rem .5rem;border-radius:.75rem;font-size:.75rem;font-weight:500;margin-left:.5rem}@media (max-width: 768px){.view-controls{flex-direction:column;align-items:stretch}.control-buttons{justify-content:center;flex-wrap:wrap}.section-header{flex-direction:column;align-items:flex-start;gap:.5rem}.section-info{align-self:flex-end}}.section-header.expanding{background:linear-gradient(135deg,#d4edda,#c3e6cb)!important;animation:expandPulse .5s ease-out}@keyframes expandPulse{0%{background:linear-gradient(135deg,#87aabe,#262262);transform:scale(1)}50%{background:linear-gradient(135deg,#d4edda,#c3e6cb);transform:scale(1.02)}to{background:linear-gradient(135deg,#87aabe,#262262);transform:scale(1)}}.expand-toggle.auto-expanded{background:#d4edda!important;border-color:#c3e6cb!important;color:#155724!important;position:relative}.expand-toggle.auto-expanded:after{content:"✓";position:absolute;right:.25rem;top:50%;transform:translateY(-50%);font-size:.6rem;color:#155724}.nested-content.auto-expanded{border-left-color:#28a745;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.array-header.auto-expanded{background:linear-gradient(135deg,#e8f5e8,#d4edda);border-radius:.25rem;margin:-.5rem -.5rem .5rem;padding:.75rem}.nested-object[data-depth="0"]{border-left-color:#87aabe;border-left-width:3px}.nested-object[data-depth="1"]{border-left-color:#6c757d;border-left-width:2px}.nested-object[data-depth="2"]{border-left-color:#adb5bd;border-left-width:1px}.auto-label{color:#28a745;font-size:.7rem;font-weight:600;opacity:.8}.multi-file-navigation{background:#fff;border:1px solid #e1e5e9;border-radius:12px;padding:24px;margin:1rem 2rem;box-shadow:0 2px 12px #00000014;min-width:90%;margin:0 auto;margin-bottom:1rem}.file-progress h3{margin:0 0 20px;color:#262262;font-size:1.25rem;font-weight:600}.file-management-controls{display:flex;gap:8px;margin-top:12px}.file-action-btn{padding:8px 16px;border-radius:6px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease;border:1px solid}.file-action-btn.delete-btn{background:#fff5f5;border-color:#fecaca;color:#dc2626}.file-action-btn.delete-btn:hover{background:#fef2f2;border-color:#fca5a5}.file-action-btn.select-btn{background:#f8fafc;border-color:#cbd5e1;color:#475569}.file-action-btn.select-btn:hover{background:#f1f5f9;border-color:#94a3b8}.file-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:24px}.file-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px;cursor:pointer;transition:all .2s ease;position:relative;box-sizing:border-box}.file-item:hover{border-color:#87aabe;box-shadow:0 4px 12px #87aabe26;transform:translateY(-1px)}.file-item.current{border-color:#262262;background:#f8f9ff;box-shadow:0 4px 16px #2622621f}.file-item.reviewed{border-color:#10b981;background:#f0fdf4}.file-item.current.reviewed{border-color:#10b981;background:#ecfdf5}.file-item.selected{border-color:#262262;background:#f0f4ff;box-shadow:0 4px 16px #26226233}.file-checkbox{position:absolute;right:12px;top:12px;width:18px;height:18px;accent-color:#262262;cursor:pointer;z-index:2}.file-info{display:flex;flex-direction:column;gap:12px;cursor:pointer}.file-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.file-name{font-weight:600;color:#1e293b;font-size:.95rem;flex:1;word-break:break-word}.file-status-indicators{display:flex;gap:6px;flex-shrink:0}.status-badge{padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.current{background:#dbeafe;color:#1d4ed8}.status-badge.ready{background:#dcfce7;color:#15803d}.file-collection-selector{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0;font-size:.875rem;width:100%;box-sizing:border-box}.file-collection-selector label{font-weight:600;color:#475569;margin:0;white-space:nowrap;font-size:.8rem;flex-shrink:0}.collection-select{background:#fff;border:1px solid #cbd5e1;border-radius:4px;padding:6px 8px;font-size:.8rem;color:#1e293b;cursor:pointer;transition:all .2s ease;flex:1;min-width:0;max-width:100%}.collection-select:hover:not(:disabled){border-color:#87aabe;box-shadow:0 2px 4px #87aabe1a}.collection-select:focus{outline:none;border-color:#262262;box-shadow:0 0 0 2px #2622621a}.collection-select:disabled{background:#f1f5f9;border-color:#e2e8f0;color:#64748b;cursor:not-allowed;opacity:.7}.locked-indicator{color:#64748b;font-size:.75rem;font-weight:500;margin-left:4px;opacity:.8;flex-shrink:0}.file-progress-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.file-progress-header h3{margin:0;color:#262262;font-size:1.25rem;font-weight:600}.navigation-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding-top:20px;border-top:1px solid #e2e8f0}.nav-btn{padding:12px 20px;border:1px solid #87AABE;background:#fff;color:#262262;border-radius:6px;cursor:pointer;font-weight:500;font-size:.875rem;transition:all .2s ease}.nav-btn:hover:not(:disabled){background:#87aabe;color:#fff;transform:translateY(-1px);box-shadow:0 4px 8px #87aabe33}.nav-btn:disabled{opacity:.5;cursor:not-allowed;border-color:#cbd5e1;color:#64748b;background:#f8fafc}.mark-ready-btn{display:flex;align-items:center;gap:8px;padding:14px 24px;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;border:none;min-width:180px;justify-content:center}.mark-ready-btn.not-ready{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b9814d}.mark-ready-btn.not-ready:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 6px 16px #10b98166}.mark-ready-btn.ready{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 4px 12px #f59e0b4d}.mark-ready-btn.ready:hover:not(:disabled){background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 6px 16px #f59e0b66}.mark-ready-btn.disabled{background:#f1f5f9;color:#64748b;cursor:not-allowed;box-shadow:none}.mark-ready-btn.disabled:hover{transform:none;box-shadow:none}.mark-ready-btn .btn-icon{font-size:.875rem;font-weight:600}.mark-ready-btn .btn-text{font-weight:600}.count-badge{font-weight:400;font-size:.85rem;opacity:.8}.review-warning{background:#fef3c7;border:1px solid #fde68a;color:#92400e;padding:12px 16px;border-radius:6px;text-align:center;font-weight:500;font-size:.875rem;margin-top:16px}.btn-next.disabled{opacity:.6;cursor:not-allowed;background:#f2f2f2!important;border:none!important;color:#666!important;box-shadow:none!important;filter:none!important}.btn-next.disabled:hover{background:#f2f2f2!important;border:none!important;color:#666!important;box-shadow:none!important;filter:none!important}.upload-status-banner{margin:0 2rem;padding:1rem 1.5rem;border-radius:8px;border:1px solid;background:#fff3cd;border-color:#ffeaa7;color:#856404;box-shadow:0 2px 8px #0000001a;animation:slideIn .3s ease-out}.upload-status-banner.success{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-color:#c3e6cb;color:#155724;max-width:900px;margin-left:auto;margin-right:auto;width:100%;text-align:center}.upload-status-banner.error{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-color:#f5c6cb;color:#721c24}.upload-status-content{display:flex;align-items:center;gap:12px;font-weight:500}.upload-spinner{width:20px;height:20px;border:3px solid #f3f3f3;border-top:3px solid #856404;border-radius:50%;animation:spin 1s linear infinite}.upload-status-banner.success .upload-spinner{border-top-color:#155724}.upload-status-banner.error .upload-spinner{border-top-color:#721c24}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ready-badge{position:absolute;top:-6px;right:-6px;background:linear-gradient(135deg,#28a745,#20c997);color:#fff;font-size:.65rem;padding:2px 6px;border-radius:8px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2);box-shadow:0 2px 4px #28a7454d;white-space:nowrap;max-width:50px;overflow:hidden;text-overflow:ellipsis;line-height:1.2;text-align:center;display:flex;align-items:center;justify-content:center}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.file-status{font-size:1.3rem;margin-right:10px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));transition:transform .2s ease}.file-item:hover .file-status{transform:scale(1.1)}.file-name{font-weight:600;color:#262262;font-size:.95rem;line-height:1.3;word-break:break-word}.file-item.current .file-name{color:#262262}.file-item.reviewed .file-name{color:#28a745}@media (max-width: 768px){.file-list{flex-direction:column}.file-item{max-width:100%;min-width:unset}.file-progress-header{flex-direction:column;gap:10px}.summary-info{justify-content:flex-start}.navigation-controls{flex-direction:column;gap:10px}.navigation-controls .nav-btn,.navigation-controls .review-btn{max-width:100%}}.view-controls{display:flex;justify-content:space-between;align-items:center;margin:1rem 2rem;padding:1rem;background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:8px;box-shadow:0 2px 8px #0000001a;border:1px solid #dee2e6;flex-wrap:wrap;gap:1rem;max-width:70%;margin:0 auto}.view-toggle{display:flex;gap:.5rem;background:#f8f9fa;padding:4px;border-radius:6px;border:1px solid #dee2e6}.view-toggle button{padding:.75rem 1.5rem;border:none;background:transparent;color:#6c757d;border-radius:4px;cursor:pointer;font-weight:600;transition:all .2s ease;position:relative}.view-toggle button.active{background:#262262;color:#fff;box-shadow:0 2px 4px #2622624d}.view-toggle button:hover:not(.active){background:#e9ecef;color:#262262}.control-buttons{display:flex;gap:.5rem;align-items:center}.expand-all-btn,.collapse-all-btn,.reload-btn{padding:.75rem 1.25rem;border:1px solid #87AABE;background:#fff;color:#262262;border-radius:6px;cursor:pointer;font-weight:600;font-size:.875rem;transition:all .2s ease;display:flex;align-items:center;gap:6px}.expand-all-btn:hover,.collapse-all-btn:hover{background:#87aabe;color:#fff;transform:translateY(-1px);box-shadow:0 4px 8px #87aabe4d}.reload-btn{border-color:#262262}.reload-btn:hover:not(:disabled){background:#262262;color:#fff;transform:translateY(-1px);box-shadow:0 4px 8px #2622624d}.reload-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.table-container{width:100%;overflow-x:auto;margin-bottom:1rem}.preview-table{width:100%;border-collapse:collapse;background:#fff;margin-bottom:.5rem;font-size:.98rem}.preview-table th,.preview-table td{border:1px solid #dee2e6;padding:.5rem .75rem;text-align:left;vertical-align:top}.preview-table th{background:#f8f9fa;color:#262262;font-weight:600;position:sticky;top:0;z-index:1}.preview-table tr:nth-child(2n){background:#f4f8fb}.preview-table tr:hover{background:#e6f0fa}.row-index{color:#888;font-size:.95em;font-weight:500;background:#f8f9fa}.cell-value{max-width:300px;word-break:break-word}.table-more-info{font-size:.95em;color:#888;margin-top:.25rem}.section-header-btn{background:none;border:none;color:#262262;cursor:pointer;font-size:1rem;font-weight:600;padding:.5rem .75rem;border-radius:6px;transition:all .2s;display:flex;align-items:center;gap:.5rem;width:100%;text-align:left;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid rgba(222,226,230,.6);margin-bottom:.5rem}.nested-section-container{margin:.5rem 0;border:1px solid #e1e8ed;border-radius:8px;overflow:hidden;background:#fff}.section-content{padding:1rem;background:#f8f9fa;border-top:1px solid #e1e8ed}.bv-preview-table{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:20px 0;overflow:hidden}.table-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px}.status-icon.bv-data{color:#007bff}.combo-tag.bv-data{background:#cce7ff;color:#004085;border:1px solid #b3d9ff}.bv-data-table{width:100%;border-collapse:collapse;font-size:14px}.bv-data-table th{background:#f8f9fa;padding:12px 16px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;white-space:nowrap}.bv-data-table td{padding:12px 16px;border-bottom:1px solid #e9ecef;vertical-align:middle}.bv-data-table tbody tr:hover{background-color:#f8f9fa}.bv-data-table tbody tr.duplicate-row{background-color:#fff3cd;border-left:4px solid #ffc107}.bv-data-table tbody tr.duplicate-row:hover{background-color:#ffeaa7}.editable-cell:hover{background-color:#e3f2fd;border:1px solid #2196f3}.edit-input{width:100%;padding:4px 8px;border:2px solid #2196f3;border-radius:4px;font-size:14px;outline:none;background:#fff}.edit-input:focus{border-color:#1976d2;box-shadow:0 0 0 2px #2196f333}.info-note{margin-top:16px;padding:12px 16px;background-color:#e3f2fd;border-left:4px solid #2196f3;border-radius:4px}.info-note p{margin:0;font-size:13px;color:#1976d2;line-height:1.4}@media (max-width: 768px){.table-info{flex-direction:column;gap:8px}.sample-status-summary{flex-direction:column;gap:16px}.status-section{min-width:auto}.status-combos{max-width:100%}.bv-data-table{font-size:12px}.bv-data-table th,.bv-data-table td{padding:8px 12px}.legend{flex-direction:column;gap:8px;align-items:center}}.bv-combined-graph{background:#f8f9fa;border-radius:8px;padding:20px;margin:20px 0;border:1px solid #e9ecef}.bv-combined-graph .no-data-message{text-align:center;color:#6c757d;font-style:italic;padding:40px}.bv-combined-graph .graph-header{margin-bottom:20px}.bv-combined-graph .graph-header h3{margin:0 0 10px;color:#1976d2;font-size:1.5rem}.bv-combined-graph .graph-info{display:flex;gap:20px;color:#6c757d;font-size:.9rem}.bv-combined-graph .chart-container{margin-bottom:20px;background:#fff;border-radius:8px;padding:20px;border:1px solid #e9ecef}.bv-combined-graph .data-summary{margin-top:20px}.bv-combined-graph .data-summary h4{margin:0 0 15px;color:#333;font-size:1.1rem}.bv-combined-graph .summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.bv-combined-graph .summary-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0000001a}.bv-combined-graph .summary-label{font-weight:700;color:#1976d2;margin-bottom:10px;font-size:1rem}.bv-combined-graph .summary-data{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:.9rem;color:#555}.bv-combined-graph .summary-data div{padding:4px 0}@media (max-width: 768px){.bv-combined-graph{padding:15px;margin:15px 0}.bv-combined-graph .graph-info{flex-direction:column;gap:5px}.bv-combined-graph .summary-grid,.bv-combined-graph .summary-data{grid-template-columns:1fr}}.tests-required-preview-table{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin:20px 0;overflow:hidden}.table-header{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff;padding:20px}.table-header h3{margin:0 0 10px;font-size:18px;font-weight:600}.table-info{display:flex;gap:20px;font-size:14px;opacity:.9}.sample-summary{background:#f8f9fa;border-bottom:1px solid #dee2e6;padding:16px 20px}.summary-section h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#495057}.summary-details{display:flex;flex-wrap:wrap;gap:24px}.summary-item{display:flex;flex-direction:column;gap:4px;min-width:150px}.summary-label{font-size:12px;font-weight:600;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:16px;font-weight:700;color:#495057}.size-distribution{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.size-tag{background:#e3f2fd;color:#1565c0;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:500;border:1px solid #bbdefb}.sample-status-summary{background:#f8f9fa;border-bottom:1px solid #dee2e6;padding:16px 20px;display:flex;gap:24px;flex-wrap:wrap}.status-section{flex:1;min-width:200px}.status-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:600;font-size:13px;color:#495057}.status-icon{font-size:16px}.status-icon.run-sheet{color:#28a745}.status-icon.tests-required{color:#ff6b6b}.status-title{flex:1}.status-count{background:#e9ecef;padding:2px 6px;border-radius:10px;font-size:11px;color:#6c757d}.status-combos{display:flex;flex-wrap:wrap;gap:6px}.combo-tag{padding:3px 8px;border-radius:12px;font-size:11px;font-weight:500;white-space:nowrap}.combo-tag.run-sheet{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.combo-tag.tests-required{background:#ffe6e6;color:#721c24;border:1px solid #ffcccc}.combo-more{font-size:11px;color:#6c757d;font-style:italic;align-self:center}.status-loading,.status-empty{font-size:12px;color:#6c757d;font-style:italic}.tests-required-data-table{width:100%;border-collapse:collapse;font-size:14px}.tests-required-data-table th{background:#f8f9fa;padding:12px 16px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #dee2e6;white-space:nowrap}.tests-required-data-table td{padding:12px 16px;border-bottom:1px solid #e9ecef;vertical-align:middle}.tests-required-data-table tbody tr:hover{background-color:#f8f9fa}.tests-required-data-table tbody tr.duplicate-row{background-color:#fff3cd;border-left:4px solid #ffc107}.tests-required-data-table tbody tr.duplicate-row:hover{background-color:#ffeaa7}.sample-id-cell{font-weight:500;color:#495057}.editable-cell{cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s;display:inline-block;min-width:60px}.editable-cell:hover{background-color:#ffe6e6;border:1px solid #ff6b6b}.edit-input{width:100%;padding:4px 8px;border:2px solid #ff6b6b;border-radius:4px;font-size:14px;outline:none;background:#fff}.edit-input:focus{border-color:#ee5a24;box-shadow:0 0 0 2px #ff6b6b33}.status-cell{text-align:center}.status{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status.available{background-color:#d4edda;color:#155724}.status.duplicate{background-color:#f8d7da;color:#721c24}.status.unknown{background-color:#e2e3e5;color:#6c757d}.loading{color:#6c757d;font-style:italic}.actions-cell{text-align:center}.recheck-btn{background:#6c757d;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:background-color .2s}.recheck-btn:hover:not(:disabled){background:#5a6268}.recheck-btn:disabled{background:#adb5bd;cursor:not-allowed}.table-footer{background:#f8f9fa;padding:16px 20px;border-top:1px solid #dee2e6}.legend{display:flex;gap:20px;justify-content:center}.legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#6c757d}.legend-color{width:12px;height:12px;border-radius:2px}.legend-color.available{background-color:#d4edda}.legend-color.duplicate{background-color:#f8d7da}.info-note{margin-top:16px;padding:12px 16px;background-color:#ffe6e6;border-left:4px solid #ff6b6b;border-radius:4px}.info-note p{margin:0;font-size:13px;color:#721c24;line-height:1.4}.no-data-message{padding:40px;text-align:center;color:#6c757d;font-style:italic}@media (max-width: 768px){.table-info{flex-direction:column;gap:8px}.sample-summary{padding:12px 16px}.summary-details{flex-direction:column;gap:16px}.summary-item{min-width:auto}.sample-status-summary{flex-direction:column;gap:16px}.status-section{min-width:auto}.status-combos{max-width:100%}.tests-required-data-table{font-size:12px}.tests-required-data-table th,.tests-required-data-table td{padding:8px 12px}.legend{flex-direction:column;gap:8px;align-items:center}}.viewdb-lift-btn{padding:.6rem 1.5rem;border-radius:8px;background:#262262;color:#fff;font-weight:600;text-decoration:none;font-size:1rem;box-shadow:0 2px 8px #26226214;transition:background .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1),transform .18s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;text-align:center}.viewdb-lift-btn:hover,.viewdb-lift-btn:focus{background:#1876d2;color:#fff;transform:translateY(-7px) scale(1.05);box-shadow:0 8px 24px #1a4a7c21}.analysis-content{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:40vh;gap:20px}.analysis-content .analysis-message{text-align:center;color:#626163;font-size:1.2rem}.analysis-content .btn-home{pointer-events:auto;display:block;margin:0 auto;text-align:center;display:flex;align-items:center;justify-content:center}.upload-footer{position:relative;margin-top:auto;margin-bottom:2rem;width:100%;display:flex;justify-content:space-between;z-index:4}.upload-footer .btn-back{transform:translateY(2rem);background:transparent;border:2px solid #AAA;color:#555;padding:.75rem 1.5rem;font-size:1rem;border-radius:.5rem;text-decoration:none;text-align:center;cursor:pointer;transition:box-shadow .2s,background .2s,color .2s}.upload-footer .btn-analyse{transform:translateY(2rem);background:transparent;border:2px solid #AAA;color:#555;padding:.75rem 1.5rem;font-size:1rem;border-radius:.5rem;text-decoration:none;text-align:center;cursor:pointer;transition:box-shadow .2s,background .2s,color .2s;margin-right:2rem}.upload-footer .btn-next{transform:translateY(2rem);background:transparent;border:2px solid #AAA;color:#555;padding:.75rem 1.5rem;font-size:1rem;border-radius:.5rem;text-decoration:none;text-align:center;cursor:pointer;transition:box-shadow .2s,background .2s,color .2s}.upload-footer .btn-analyse:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.upload-footer .btn-analyse:disabled:hover{background:transparent;box-shadow:none;color:#555}.upload-footer .btn-analyse:hover:not(:disabled){box-shadow:0 4px 12px #0000002e;background:#aaaaaa1a;color:#fff}.upload-footer .btn-next:hover{box-shadow:0 4px 12px #0000002e;background:#1a3a6b;color:#fff}.login-page{display:flex!important;align-items:center!important;justify-content:center!important;background:#f2f2f2!important;height:100vh!important;padding:2rem!important;box-sizing:border-box!important;margin:0!important}.login-page .login-card{background:#fff!important;width:100%!important;max-width:600px!important;padding:3rem 2.5rem!important;box-shadow:0 6px 18px #0000001a!important;border-radius:.75rem!important;margin:0!important}.login-page .login-card h1{text-align:center!important;font-size:3rem!important;margin-bottom:2rem!important;color:#000!important;border-bottom:1px solid #DDD!important;padding-bottom:.75rem!important}.login-page .login-form .form-group{margin-bottom:2.5rem!important}.login-page .login-form input{width:100%!important;padding:.75rem 0!important;font-size:1.1rem!important;border:none!important;border-bottom:2px solid #3973AD!important;background:transparent!important;outline:none!important;color:#333!important;box-sizing:border-box!important;border-radius:0!important;box-shadow:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;-webkit-border-radius:0!important;-moz-border-radius:0!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important}.login-page .login-form input::placeholder{color:#aaa!important}.login-page .login-form input:focus{outline:none!important;border:none!important;border-bottom:2px solid #3973AD!important;background:transparent!important;box-shadow:none!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important;border-radius:0!important;-webkit-border-radius:0!important;-moz-border-radius:0!important}.password-group{position:relative}.login-page .password-group input[type=password],.login-page .password-group input[type=text]{padding-right:3rem!important;box-sizing:border-box!important;width:100%!important;padding-left:0!important;margin:0!important;min-width:0!important;max-width:100%!important;display:block!important;border-radius:0!important;box-shadow:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;-webkit-border-radius:0!important;-moz-border-radius:0!important;-webkit-box-shadow:none!important;-moz-box-shadow:none!important}.login-page .toggle-password{position:absolute!important;right:.5rem!important;top:50%!important;transform:translateY(-50%)!important;cursor:pointer!important;font-size:1.25rem!important;color:#858485!important;background:none!important;border:none!important;padding:0!important;transition:filter .2s!important}.login-page .toggle-password:hover{filter:brightness(1.2)!important}.forgot-container{text-align:left;margin-top:1rem;margin-bottom:3rem}.forgot-link{font-size:1rem;color:#777;text-decoration:none;transition:box-shadow .2s,background .2s;border-radius:.5rem;padding:.25rem .5rem}.forgot-link:hover{box-shadow:0 2px 8px #0000001a;background:#ededed}.login-page .login-form .btn-login{width:100%!important;padding:1rem 0!important;background:linear-gradient(90deg,#3973ad,#4a90e2)!important;color:#fff!important;font-size:1.5rem!important;font-weight:700!important;border:none!important;border-radius:1rem!important;box-shadow:0 6px 18px #0000001f!important;cursor:pointer!important;transition:background .2s,box-shadow .2s,filter .2s!important;display:block!important;text-align:center!important;text-decoration:none!important;min-width:auto!important;max-width:none!important}.login-page .login-form .btn-login:hover{background:linear-gradient(90deg,#335e8c,#5eb6ff)!important;box-shadow:0 8px 24px #1a94d838,0 2px 8px #0000001f!important;filter:brightness(1.08)!important;opacity:1!important}.login-page .login-footer{position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;margin-top:3rem!important;width:100%!important}.login-page .cancel-link{display:block!important;margin-top:2rem!important;color:#858485!important;font-size:1.125rem!important;text-align:center!important;cursor:pointer!important;font-weight:400!important;transition:box-shadow .2s,background .2s!important;background:none!important;border-radius:.5rem!important;padding:.5rem 1rem!important}.login-page .cancel-link:hover{box-shadow:0 2px 8px #0000001a!important;background:#ededed!important}.login-page .input-error{color:#d32f2f!important;font-size:1rem!important;margin-top:.5rem!important;text-align:left!important}.register-container{margin-left:240px;padding:40px 48px;display:flex;justify-content:center;align-items:flex-start}.register-card{width:100%;max-width:840px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px #0000000f;padding:28px}.register-card h2{font-size:24px;font-weight:600;color:#111827}.register-subtitle{color:#6b7280;margin-top:4px;margin-bottom:20px}.register-error{border:1px solid #fecaca;background:#fef2f2;color:#b91c1c;padding:10px 12px;border-radius:8px;margin-bottom:16px}.register-form{display:flex;flex-direction:column;gap:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group label{font-size:13px;color:#374151}.form-group input{height:42px;border:1px solid #e5e7eb;border-radius:10px;padding:0 12px;font-size:14px;outline:none}.form-group input:focus{border-color:#93c5fd;box-shadow:0 0 0 3px #93c5fd59}.password-input{position:relative}.password-input .toggle-password{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:#2563eb;cursor:pointer}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:12px}.btn-primary{height:42px;padding:0 16px;background:#2563eb;color:#fff;border:none;border-radius:10px;cursor:pointer}.btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.btn-secondary{height:42px;padding:0 16px;background:#f3f4f6;color:#111827;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}@media (max-width: 860px){.form-row{grid-template-columns:1fr}}.predict-page{position:relative;min-height:100vh;background:#f2f2f2;padding:2rem;box-sizing:border-box}.top-right-icons{position:absolute;top:20px;right:20px;display:flex;gap:1rem;align-items:center;z-index:10}.page-header{margin-bottom:1rem}.page-header h1{font-size:2rem;color:#262262;margin:0}.upload-info{display:flex;align-items:center;color:#555;margin-top:.5rem}.form-container{position:relative;background:#e0e0e0;border:1px solid #aaa;border-radius:4px;padding:1.5rem;margin-top:2.5rem;width:100%;max-width:900px;min-width:600px;box-sizing:border-box;margin-left:auto;margin-right:auto;max-height:520px;overflow-y:auto}.btn-vars{width:180px;background:none;color:#262262;border:1px solid #bbb;border-radius:.5rem;font-weight:600;font-size:1rem;padding:.75rem;text-align:left;cursor:pointer}.add-vars-seamless{position:relative;margin-bottom:2rem;max-width:180px;margin-right:1.2rem}.vars-panel-seamless{position:absolute;left:0;top:100%;width:180px;max-height:320px;overflow-y:auto;background:#fff;color:#262262;border:1px solid #bbb;border-radius:.5rem;box-shadow:0 4px 16px #2622621a;padding:1rem;z-index:30}.vars-panel-seamless label{display:flex;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;font-weight:500;border-bottom:1px solid #e0e0e0}.vars-panel-seamless label:last-of-type{border-bottom:none;margin-bottom:.5rem}.vars-panel-seamless input{margin-right:.5rem;transform:scale(1.2)}.btn-add{margin-top:.5rem;width:100%;background:#262262;color:#fff;border:none;border-radius:.5rem;padding:.75rem;font-weight:700;cursor:pointer}.form-grid{display:flex;flex-direction:column;align-items:center;margin-top:1.5rem}.form-grid .col{width:100%;display:flex;flex-direction:column;align-items:flex-start}.form-grid label{position:relative;display:flex;flex-direction:column;color:#262262;margin-bottom:1rem;font-weight:600}.input-wrapper{position:relative;margin-top:.5rem}.input-wrapper input{width:100%;max-width:340px;min-width:220px;padding:.75rem 5rem .75rem .75rem;border:1px solid #bbb;border-radius:.5rem;font-size:1rem;box-sizing:border-box;text-align:left}.input-wrapper input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.input-wrapper input[type=number]::-webkit-outer-spin-button,.input-wrapper input[type=number]::-webkit-inner-spin-button{-webkit-appearance:inner-spin-button;position:absolute;right:3.5rem;top:0;bottom:0;height:auto;margin:.1rem 0;cursor:pointer}.form-grid select{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;max-width:340px;min-width:220px;padding:.75rem 2.5rem .75rem 1rem;border:1px solid #bbb;border-radius:.5rem;font-size:1rem;background-image:url('data:image/svg+xml,%3Csvg width="12" height="7" viewBox="0 0 12 7" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M6 7L0 0h12L6 7z" fill="%23585885"/%3E%3C/svg%3E');background-repeat:no-repeat;background-position:right 1rem center;box-sizing:border-box}.remove-var-btn{position:absolute;right:-2rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#858485;font-size:1.1rem;cursor:pointer}.remove-var-btn:hover{color:#262262}.input-unit{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);pointer-events:none;color:#858485;font-weight:600;font-size:1rem}.btn-submit{display:block;margin:1.5rem auto 0;background:#262262;color:#fff;border:none;border-radius:1.5rem;padding:1rem 2rem;font-size:1.25rem;cursor:pointer;box-shadow:0 4px 10px #0000001a}.btn-submit:hover{opacity:.9}.simple-predictions-section{margin-top:3rem;background:#e0e0e0;border:1px solid #aaa;border-radius:8px;padding:2rem;max-width:1200px;margin-left:auto;margin-right:auto;box-shadow:0 4px 6px #0000001a}.section-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid #bbb}.section-header h2{color:#262262;margin-bottom:.5rem;font-size:2rem;font-weight:700}.section-header p{color:#555;font-size:1.1rem;margin:0;line-height:1.5}.success-message{background:#d1fae5;color:#065f46;padding:1rem 1.5rem;border-radius:8px;border:1px solid #a7f3d0;margin-bottom:1.5rem;font-weight:600;text-align:center;animation:fadeInOut 3s ease-in-out}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-10px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.simple-predictions-content{display:grid;grid-template-columns:1fr 2fr;gap:2.5rem;align-items:start}.simple-input-section{background:#f9fafb;padding:2rem;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 2px 4px #0000000d;position:sticky;top:2rem}.simple-input-section .input-group{margin-bottom:1.5rem}.simple-input-section .input-group label{display:block;margin-bottom:.75rem;font-weight:600;color:#374151;font-size:.95rem;position:relative}.required-indicator{color:#ef4444;margin-left:.25rem;font-weight:700}.simple-input-section .input-group input{width:100%;padding:.875rem;border:2px solid #d1d5db;border-radius:8px;font-size:1rem;transition:all .2s ease;box-sizing:border-box;background:#fff}.simple-input-section .input-group input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.simple-input-section .input-group input.input-error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.simple-input-section .input-group input::placeholder{color:#9ca3af;font-style:italic}.error-message{color:#ef4444;font-size:.875rem;margin-top:.5rem;font-weight:500;display:flex;align-items:center;gap:.25rem}.grind-sizes-section{margin-bottom:2rem}.grind-sizes-section label{display:block;margin-bottom:.75rem;font-weight:600;color:#374151;font-size:.95rem;position:relative}.grind-size-note{margin-bottom:1rem;padding:.5rem .75rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#1e40af;font-size:.8rem;line-height:1.4}.grind-size-note small{color:inherit;font-weight:500}.grind-sizes-inputs{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.grind-size-input{display:flex;align-items:center;gap:.25rem}.grind-size-input input{width:90px;padding:.625rem;border:2px solid #d1d5db;border-radius:6px;font-size:.9rem;text-align:center;transition:all .2s ease}.grind-size-input input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.grind-size-input input.input-error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.remove-size-btn{background:#ef4444;color:#fff;border:none;border-radius:50%;width:28px;height:28px;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-weight:700}.remove-size-btn:hover{background:#dc2626;transform:scale(1.1)}.add-size-btn{background:#10b981;color:#fff;border:none;border-radius:50%;width:36px;height:36px;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-weight:700}.add-size-btn:hover{background:#059669;transform:scale(1.1)}.simple-predict-btn{width:100%;padding:1.125rem;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem}.simple-predict-btn:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 8px #2563eb33}.simple-predict-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.loading-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.simple-error-message{background:#fef2f2;color:#dc2626;padding:1rem 1.5rem;border-radius:8px;border:1px solid #fecaca;margin-bottom:1.5rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.error-icon{font-size:1.2rem}.simple-results-section{background:#fff;padding:2rem;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 2px 4px #0000000d}.target-selector{margin-bottom:2rem;display:flex;align-items:center;gap:1rem;padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.target-selector label{font-weight:600;color:#374151;font-size:.95rem;white-space:nowrap}.target-selector select{padding:.75rem;border:2px solid #d1d5db;border-radius:6px;font-size:.95rem;background:#fff;cursor:pointer;min-width:200px;transition:all .2s ease}.target-selector select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.chart-container{margin-bottom:2.5rem;width:100%}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.chart-header h3{color:#1f2937;margin:0;font-size:1.3rem;font-weight:600}.chart-actions{display:flex;gap:.75rem}.export-btn,.save-config-btn{padding:.5rem 1rem;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease;color:#374151;display:flex;align-items:center;gap:.25rem}.export-btn:hover,.save-config-btn:hover{background:#f3f4f6;border-color:#9ca3af;transform:translateY(-1px)}.chart-wrapper{width:100%;min-height:400px;max-height:600px;height:50vh;border:1px solid #e5e7eb;border-radius:8px;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000001a}.line-chart{width:100%;height:100%;display:block;max-width:100%;max-height:100%}.chart-legend{margin-top:1rem;display:flex;justify-content:center}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#6b7280;font-weight:500}.legend-color{width:16px;height:16px;border-radius:3px}.simple-predictions-table{margin-top:2.5rem}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.table-header h3{color:#1f2937;margin:0;font-size:1.3rem;font-weight:600}.export-table-btn{padding:.5rem 1rem;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease;color:#374151;display:flex;align-items:center;gap:.25rem}.export-table-btn:hover{background:#f3f4f6;border-color:#9ca3af;transform:translateY(-1px)}.table-container{border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb}.simple-predictions-table table{width:100%;border-collapse:collapse;background:#fff}.simple-predictions-table th,.simple-predictions-table td{padding:1rem;text-align:center;border-bottom:1px solid #e5e7eb;font-size:.9rem}.simple-predictions-table th{background:#f9fafb;font-weight:600;color:#374151;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.simple-predictions-table td{color:#6b7280;font-weight:500}.simple-predictions-table tr:hover{background:#f9fafb}.grind-size-cell{font-weight:600!important;color:#374151!important;background:#f3f4f6}.highlighted-cell{background:#dbeafe!important;color:#1e40af!important;font-weight:600!important}@media (max-width: 1200px){.simple-predictions-content{grid-template-columns:1fr;gap:2rem}.simple-input-section{position:static}}@media (max-width: 768px){.predict-page{padding:1rem}.simple-predictions-section{padding:1.5rem;margin-top:2rem}.section-header h2{font-size:1.5rem}.section-header p{font-size:1rem}.simple-input-section,.simple-results-section{padding:1.5rem}.grind-sizes-inputs{flex-direction:column;align-items:stretch}.grind-size-input{justify-content:center}.target-selector,.chart-header,.table-header{flex-direction:column;align-items:stretch}.chart-actions{justify-content:center}.chart-wrapper{min-height:300px;max-height:400px;height:40vh}.chart-container h3,.table-header h3{font-size:1.1rem}.simple-predictions-table th,.simple-predictions-table td{padding:.75rem .5rem;font-size:.8rem}}@media (max-width: 480px){.simple-predictions-section,.simple-input-section,.simple-results-section{padding:1rem}.grind-size-input input{width:70px;font-size:.8rem}.chart-wrapper{min-height:250px;max-height:300px;height:35vh}}.modal-overlay{position:fixed;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:9999}.modal-content{background:#fff;padding:2rem;border-radius:1.5rem;box-shadow:0 8px 32px #0000002e;min-width:320px;max-width:90vw}.modal-input{width:100%;padding:.5rem;font-size:1rem;margin-bottom:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:1rem}.modal-cancel{padding:.5rem 1.5rem;border-radius:1rem;background:#eee;border:none;cursor:pointer}.modal-save{padding:.5rem 1.5rem;border-radius:1rem;background:#0d70a8;color:#fff;border:none;cursor:pointer;font-weight:600;transition:box-shadow .2s,filter .2s}.modal-save:hover{background:#1a94d8!important;color:#fff;box-shadow:0 6px 18px #1a94d838;filter:brightness(1.08)}.modal-cancel:hover{box-shadow:0 4px 12px #0000002e;filter:brightness(1.08)}.magnet-spinner{position:relative;width:120px;height:100px;margin-bottom:1.5rem}.belt{position:absolute;left:0;width:100%;height:8px;background:repeating-linear-gradient(45deg,#444,#444 4px,#333 4px 8px);animation:move-belt 1.5s linear infinite}.top-belt{top:16px}.bottom-belt{bottom:16px}.magnet{position:absolute;top:16px;left:50%;transform:translate(-50%);width:80px;height:16px;background:#262262;border-radius:8px 8px 0 0;z-index:1}.iron{position:absolute;bottom:16px;width:6px;height:6px;background:#262262;border-radius:50%;opacity:.8;animation:bounce 1.8s ease-in-out infinite}.iron-0{left:12px;animation-delay:0s}.iron-1{left:32px;animation-delay:.3s}.iron-2{left:52px;animation-delay:.6s}.iron-3{left:72px;animation-delay:.9s}.iron-4{left:92px;animation-delay:1.2s}.iron-5{left:112px;animation-delay:1.5s}@keyframes move-belt{0%{background-position:0 0}to{background-position:16px 0}}@keyframes bounce{0%,to{bottom:16px}50%{bottom:48px}}.loading-page{position:relative;min-height:100vh;background:#f2f2f2;overflow:hidden;display:flex;flex-direction:column;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif}.loading-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.loading-spinner{width:60px;height:auto;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{margin-top:1rem;color:#666;font-size:1rem;text-transform:capitalize}.loading-footer{position:relative;width:100%;display:flex;justify-content:center;margin-top:2rem;margin-bottom:2rem}.btn-cancel{background:transparent;border:2px solid #AAA;color:#555;padding:.75rem 1.5rem;font-size:1rem;border-radius:.5rem;cursor:pointer;text-decoration:none;text-align:center;transition:box-shadow .2s,filter .2s,color .2s;margin-top:2rem}.btn-cancel:hover{box-shadow:0 4px 12px #0000002e;filter:brightness(1.08);color:#fff}.view-page{position:relative;min-height:100vh;background:#f2f2f2;overflow:hidden;display:flex;flex-direction:column;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif}.view-content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.view-text{color:#555;font-size:1.25rem;font-weight:400;margin-bottom:2rem}.btn-view{padding:.75rem 2rem;font-size:1.25rem;background:#262262;color:#fff;border:none;border-radius:2rem;box-shadow:0 4px 10px #0000001a;text-decoration:none;cursor:pointer;font-weight:600;transition:box-shadow .2s,filter .2s,background .2s}.btn-view:hover{box-shadow:0 6px 18px #00000038;background:#0d70a8;filter:brightness(1.08)}.window-content .document-header select,.window-content .document-header .control-btn,.window-content .document-header .delete-json-btn{width:160px;max-width:100%;box-sizing:border-box}.window-grid-1 .window-panel{max-width:1300px;width:92vw;min-width:350px;margin:0 auto}.window-grid-2 .window-panel{max-width:650px;width:48vw;min-width:320px}.window-grid-3 .window-panel,.window-grid-4 .window-panel{max-width:650px;width:40vw;min-width:260px}@media (max-width: 900px){.window-grid-1 .window-panel,.window-grid-2 .window-panel,.window-grid-3 .window-panel,.window-grid-4 .window-panel{width:98vw;max-width:100vw;min-width:0}}.viewdb-page{position:relative;min-height:100vh;background:#f2f2f2;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column;padding-bottom:80px}.main-content-container{flex:1;overflow-y:auto;padding:0 .5rem;max-width:2000px;margin:0 auto}.account-icon{position:static;width:40px;height:auto;cursor:pointer}.data-header{display:flex;flex-direction:column;margin:2rem auto 1rem;padding:1rem 1.5rem;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;border:1px solid #d1d5db;max-width:1050px}.header-main-row{display:flex;justify-content:space-between;align-items:center}.header-left{display:flex;align-items:center;gap:1rem}.collection-name{font-weight:600;color:#262262;font-size:1.1rem;margin:0}.data-count{background:linear-gradient(135deg,#87aabe,#6d8fa0);color:#fff;padding:.4rem .8rem;border-radius:16px;font-size:.8rem;font-weight:600;box-shadow:0 2px 8px #87aabe4d}.header-controls{display:flex;align-items:center;gap:.5rem}.control-select{padding:.4rem .8rem;border:1px solid #e1e8ed;border-radius:6px;font-size:.85rem;background:#fff;min-width:140px;transition:all .2s;box-shadow:0 1px 3px #0000000d}.control-select:focus{outline:none;border-color:#87aabe;box-shadow:0 0 0 2px #87aabe1a}.control-btn{padding:.4rem .6rem;background:#87aabe;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center}.control-btn:hover:not(:disabled){background:#6d8fa0;transform:translateY(-1px);box-shadow:0 2px 6px #87aabe4d}.control-btn:disabled{background:#bbb;cursor:not-allowed;opacity:.6;transform:none}.header-right{display:flex;align-items:center;gap:.5rem}.view-toggle{display:flex;gap:.25rem}.view-toggle button{padding:.4rem .8rem;border:1px solid #e1e8ed;background:#fff;color:#666;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:500;transition:all .2s;box-shadow:0 1px 3px #0000000d}.view-toggle button.active{background:linear-gradient(135deg,#262262,#3a3a7a);color:#fff;border-color:#262262;box-shadow:0 2px 8px #2622624d}.view-toggle button:hover:not(.active){background:#f5f5f5}.filtered-info{margin-bottom:.5rem;padding:.5rem 1rem;background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;color:#856404;font-size:.85rem}.filtered-count{font-weight:500}.header-document-selector{display:flex;align-items:flex-end;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.selector-info{display:flex;gap:.5rem;align-items:flex-end;font-size:.8rem;color:#6c757d;flex-shrink:0}.doc-count{font-weight:500}.selector-controls{display:flex;gap:.25rem;flex-shrink:0}.document-labels{display:flex;gap:.2rem;overflow-x:scroll;flex:1;padding:.1rem 0 .6rem;min-width:0;scrollbar-width:auto;scrollbar-color:#87AABE #f1f1f1}.doc-label{padding:.2rem .4rem;background:#fff;color:#6c757d;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:.7rem;font-weight:500;transition:all .2s;min-width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;white-space:nowrap}.doc-label:hover{background:#e9ecef;border-color:#adb5bd;transform:translateY(-1px)}.doc-label.active{background:linear-gradient(135deg,#87aabe,#6d8fa0);color:#fff;border-color:#87aabe;box-shadow:0 1px 4px #87aabe4d}.document-labels::-webkit-scrollbar{height:8px}.document-labels::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.document-labels::-webkit-scrollbar-thumb{background:#87aabe;border-radius:2px}.document-labels::-webkit-scrollbar-thumb:hover{background:#6d8fa0}.upload-footer{position:fixed;bottom:0;left:0;right:0;background:#f2f2f2;width:100%;display:flex;justify-content:flex-start;z-index:1000;padding:1rem 2rem;border-top:1px solid #AAA;box-shadow:0 -2px 10px #0000001a}.upload-footer .btn-back{background:transparent;border:2px solid #AAA;color:#555;padding:.75rem 1.5rem;font-size:1rem;border-radius:.5rem;text-decoration:none;text-align:center;cursor:pointer;transition:box-shadow .2s,background .2s,color .2s}.upload-footer .btn-back:hover{box-shadow:0 4px 12px #0000002e;background:#aaaaaa1a;color:#fff}.error-message{padding:1rem 1.5rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin:1rem 4rem;box-shadow:0 4px 20px #0000001a;max-width:1000px;margin-left:auto;margin-right:auto}.data-section{flex:1;margin:0;padding:0;width:100%;max-width:none;display:flex;flex-direction:column}.documents-window{background:#fff;border-radius:0;box-shadow:none;border:none;margin:0;padding:0;overflow:hidden;flex:1;display:flex;flex-direction:column}.placeholder-content{display:flex;flex-direction:column;height:100%;flex:1}.placeholder-header{padding:0;margin:0;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid rgba(222,226,230,.6)}.placeholder-header span{font-weight:500;color:#6c757d;font-style:italic}.placeholder-body{flex:1;display:flex;align-items:center;justify-content:center;padding:0;margin:0}.placeholder-message{text-align:center;color:#6c757d}.placeholder-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.placeholder-message p{margin:0;font-size:1.1rem;font-weight:500}.document-header{display:flex;justify-content:space-between;align-items:center;padding:0;margin:0;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-bottom:1px solid rgba(222,226,230,.6)}.document-header span{font-weight:500;color:#495057}.document-id{font-size:.8rem;color:#6c757d;background:linear-gradient(135deg,#e9ecef,#f8f9fa);padding:.2rem .6rem;border-radius:6px;font-family:Monaco,Menlo,monospace;border:1px solid rgba(222,226,230,.6)}.document-body{flex:1;overflow-y:auto;display:flex;flex-direction:column}.json-display{margin:0;padding:1rem;background:#f8f9fa;font-family:Monaco,Menlo,monospace;font-size:.8rem;line-height:1.4;color:#495057;overflow-x:auto}.structured-view{padding:.1rem}.field-item{margin-bottom:.25rem;padding-bottom:.25rem;border-bottom:1px solid #f0f0f0}.field-item:last-child{border-bottom:none;margin-bottom:0}.field-header{display:flex;align-items:center;gap:.5rem}.field-name{font-weight:600;color:#262262;font-size:.9rem}.field-type{font-size:.7rem;color:#6c757d;background:#e9ecef;padding:.125rem .375rem;border-radius:3px}.field-value{margin-left:.5rem;font-size:.8rem}.nested-object{margin-left:.5rem;border-left:2px solid #dee2e6;padding-left:.25rem}.object-item{margin-bottom:.15rem;display:flex;align-items:flex-start;gap:.25rem}.object-key{font-weight:500;color:#495057;min-width:80px}.object-value{flex:1}.array-container{margin-left:.25rem}.array-header{font-size:.8rem;color:#6c757d;margin-bottom:.25rem}.array-item{display:flex;align-items:flex-start;gap:.25rem;margin-bottom:.1rem}.array-index{font-weight:500;color:#6c757d;font-size:.8rem;min-width:40px}.array-more{font-style:italic;color:#6c757d;font-size:.75rem;margin-top:.1rem}.null-value{color:#6c757d;font-style:italic}.value-string{color:#198754}.value-number{color:#0d6efd}.value-boolean{color:#dc3545}.value-date{color:#6f42c1}.document-selector{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:8px;box-shadow:0 1px 6px #0000000f;border:1px solid rgba(255,255,255,.8);margin-bottom:1rem;padding:.75rem 1rem}.selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.selector-info{display:flex;gap:.75rem;align-items:center}.doc-count{font-size:.8rem;color:#6c757d;font-weight:500}.current-doc{background:linear-gradient(135deg,#87aabe,#6d8fa0);color:#fff;padding:.15rem .4rem;border-radius:4px;font-size:.7rem;font-weight:600}.selector-controls{display:flex;gap:.25rem}.nav-btn{padding:.25rem .4rem;background:linear-gradient(135deg,#87aabe,#6d8fa0);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .2s;min-width:24px;display:flex;align-items:center;justify-content:center}.nav-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 1px 4px #87aabe4d}.nav-btn:disabled{background:#bbb;cursor:not-allowed;opacity:.6;transform:none}.document-grid{display:flex;gap:.4rem;overflow-x:auto;padding:.25rem 0;max-height:60px}.document-card{background:#fff;border:1px solid #e9ecef;border-radius:6px;padding:.4rem .3rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:.2rem;position:relative;min-width:50px;flex-shrink:0}.document-card:hover{border-color:#87aabe;background:#f8f9fa;transform:translateY(-1px);box-shadow:0 1px 4px #87aabe33}.document-card.active{border-color:#87aabe;background:linear-gradient(135deg,#87aabe,#6d8fa0);color:#fff;box-shadow:0 1px 6px #87aabe66}.card-number{font-size:.7rem;font-weight:600;color:#6c757d;line-height:1}.document-card.active .card-number{color:#fff}.card-preview{display:flex;flex-direction:column;align-items:center;gap:.1rem}.preview-icon{font-size:.9rem;opacity:.7}.preview-id{font-size:.6rem;font-family:Monaco,Menlo,monospace;color:#6c757d;background:#e9ecef;padding:.05rem .2rem;border-radius:2px;line-height:1}.document-card.active .preview-id{background:#fff3;color:#fff}.card-info{display:none}.document-grid::-webkit-scrollbar{height:4px}.document-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.document-grid::-webkit-scrollbar-thumb{background:#87aabe;border-radius:2px}.document-grid::-webkit-scrollbar-thumb:hover{background:#6d8fa0}.empty-message{text-align:center;padding:2rem;background:#fff;border-radius:8px;color:#6c757d;margin-bottom:1rem}.btn-back{padding:.6rem 1.2rem;background:linear-gradient(135deg,#87aabe,#6d8fa0);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s;box-shadow:0 2px 8px #87aabe4d}.btn-back:hover{transform:translateY(-1px);box-shadow:0 4px 12px #87aabe66}.structured-table-view{width:100%;overflow-x:auto;padding:0;margin:0;min-width:0;scrollbar-width:auto;scrollbar-color:#87AABE #f1f1f1;display:flex;flex:1;flex-direction:column}.structured-table{width:100%;border-collapse:collapse;background:#f8f9fa;font-size:.8rem;box-shadow:none;table-layout:auto;flex:1}.structured-table th,.structured-table td{border:1px solid #e1e8ed;padding:.02rem .1rem;text-align:left;vertical-align:top;line-height:1.1}.structured-table tr:nth-child(2n){background-color:#f8f9fa}.structured-table tr:nth-child(odd){background-color:#fff}.structured-table tr:hover{background-color:#e3f2fd!important}.structured-table th.field-header{background:#e9ecef;color:#262262;font-weight:600;width:25%;min-width:0;max-width:30%;white-space:normal;overflow:visible;text-overflow:clip;word-wrap:break-word;overflow-wrap:break-word}.structured-table th.value-header{background:#e9ecef;color:#495057;font-weight:600;width:75%}.structured-table td.field-name{font-weight:600;color:#262262;background:transparent;width:25%;min-width:0;max-width:30%;white-space:normal;overflow:visible;text-overflow:clip;word-wrap:break-word;overflow-wrap:break-word}.structured-table td{background:#fff}.nested-table-container{margin:0 0 0 .02rem}.nested-table{width:100%;margin-left:.05rem;border-collapse:collapse;background:#f6f8fa;font-size:.65rem;table-layout:auto}.nested-table th,.nested-table td{border:1px solid #e1e8ed;padding:.01rem .05rem;line-height:1}.nested-table tr:nth-child(2n){background-color:#f8f9fa}.nested-table tr:nth-child(odd){background-color:#fff}.nested-table tr:hover{background-color:#e3f2fd!important}.nested-table td.field-name{font-weight:600;color:#495057;background:transparent;width:25%;min-width:0;max-width:30%;white-space:normal;overflow:visible;text-overflow:clip;word-wrap:break-word;overflow-wrap:break-word}.nested-table td{background:#fff}.expand-btn{background:none;border:none;color:#262262;font-weight:600;cursor:pointer;margin-right:.05rem;font-size:.75em;padding:0;outline:none}.expand-btn:focus{text-decoration:underline}.array-more{color:#6c757d;font-style:italic;font-size:.7em;padding-left:.25em}.section-header-btn{background:none;border:none;color:#262262;cursor:pointer;font-size:.75rem;font-weight:600;padding:.05rem .15rem;border-radius:1px;transition:all .2s;display:flex;align-items:center;gap:.05rem;width:100%;text-align:left;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid rgba(222,226,230,.6);margin-bottom:.05rem}.section-header-btn:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6);color:#1a1a1a;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.nested-section-container{margin:.05rem 0;border:1px solid #e1e8ed;border-radius:1px;overflow:hidden;background:#fff}.section-content{padding:.1rem;background:#f8f9fa;border-top:1px solid #e1e8ed}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.multi-window-container{display:flex;flex-direction:column;height:100%}.window-controls{display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid #e1e8ed;padding:.75rem 1rem;gap:.5rem;border-radius:12px 12px 0 0;box-shadow:0 2px 8px #0000000d;margin:.5rem .5rem 0}.window-tabs{display:flex;gap:.25rem;overflow-x:auto}.window-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#f8f9fa;border:1px solid #e1e8ed;border-bottom:none;border-radius:10px 10px 0 0;cursor:pointer;font-weight:600;font-size:.875rem;color:#666;transition:all .2s;min-width:180px;justify-content:space-between;box-shadow:0 1px 3px #0000000d}.window-tab:hover{background:#f0f4f8;color:#1976d2}.window-tab.active{background:#fff;color:#1976d2;border-color:#1976d2;box-shadow:0 -2px 8px #1976d226;transform:translateY(-1px)}.close-window-btn{background:none;border:none;color:#999;cursor:pointer;font-size:1.2rem;font-weight:700;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-window-btn:hover{background:#ffebee;color:#d32f2f}.add-window-btn{background:#f8f9fa;border:1px solid #e1e8ed;color:#1976d2;cursor:pointer;font-size:1.2rem;font-weight:700;padding:.75rem 1rem;border-radius:10px 10px 0 0;transition:all .2s;min-width:50px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000000d}.add-window-btn:hover{background:#1976d2;color:#fff;transform:translateY(-1px);box-shadow:0 2px 6px #1976d233}.window-grid{display:grid;gap:.5rem;min-height:700px;height:auto;max-height:calc(100vh - 200px)}.window-grid-1{grid-template-columns:1fr}.window-grid-2{grid-template-columns:1fr 1fr}.window-grid-3{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.window-grid-3 .window-panel[data-grid-index="0"]{grid-column:1 / 3;grid-row:1}.window-grid-3 .window-panel[data-grid-index="1"]{grid-column:1;grid-row:2}.window-grid-3 .window-panel[data-grid-index="2"]{grid-column:2;grid-row:2}.window-grid-4{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.window-panel{background:#fff;border:1px solid #e1e8ed;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 2px 8px #0000001a;min-height:600px}.window-header{background:#f8f9fa;border-bottom:1px solid #e1e8ed;padding:.5rem .75rem;display:flex;justify-content:space-between;align-items:center;font-weight:600;color:#1976d2;font-size:.8rem;flex-shrink:0}.window-title{display:flex;align-items:center;gap:.5rem}.window-content{flex:1;overflow:auto;display:flex;flex-direction:column;padding:.25rem;min-height:0}.window-content .document-header{margin:0;padding:.5rem;background:#f8f9fa;border-radius:0;border:none;border-bottom:1px solid #e1e8ed;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;min-height:auto}.window-content .document-header .delete-json-btn{width:100%;max-width:160px}.window-content .document-header select{width:100%;max-width:300px}.window-content .document-body{flex:1;overflow:auto;background:#fff;border-radius:0;border:none;display:flex;flex-direction:column}.window-content .structured-table-view{padding:0}.window-content .structured-table{font-size:.8rem;width:100%;max-width:none}.window-content .structured-table th,.window-content .structured-table td{padding:.01rem .05rem}.window-content .json-editor{font-size:.75rem!important;line-height:1.4!important;padding:.5rem!important;margin:0!important}.window-content .run-sheet-controls{margin:0;padding:.5rem;background:#f8f9fa;border-radius:0;border:none;border-bottom:1px solid #e1e8ed}.window-content .value-string,.window-content .value-number,.window-content .value-date,.window-content .value-url{word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%}.window-content .value-string{color:#2e7d32}.window-content .value-number{color:#1976d2}.window-content .value-date{color:#7b1fa2}.window-content .value-url{color:#1976d2;text-decoration:underline}.window-content .value-string:not(.value-url){white-space:pre-wrap;word-break:break-word}.window-content td:has(.value-string){max-width:none;overflow:visible;text-overflow:clip}.window-content .structured-table tr{min-height:.8rem}.window-content .structured-table tr:hover{background-color:#f8f9fa}.window-content .nested-section-container,.window-content .nested-table-container{margin:.02rem 0;border:1px solid #e1e8ed;border-radius:1px;overflow:hidden}.window-content .section-content{padding:.02rem;background:#f8f9fa}.delete-json-btn{background:linear-gradient(135deg,#fff,#ffeaea);color:#d32f2f;border:1.5px solid #d32f2f;border-radius:6px;padding:.25rem .5rem;font-weight:600;font-size:11px;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #d32f2f14;min-width:80px;max-width:200px;height:32px;display:flex;align-items:center;justify-content:center;white-space:nowrap;flex-shrink:0}.delete-json-btn:hover:not(:disabled){background:linear-gradient(135deg,#ffeaea,#ffd6d6);color:#fff;border-color:#b71c1c;box-shadow:0 2px 6px #d32f2f2e;transform:translateY(-1px)}.delete-json-btn:disabled{opacity:.6;cursor:not-allowed;background:#fff0f0;color:#d32f2f;border-color:#d32f2f}.delete-success-modal-overlay{position:fixed;inset:0;background:#00000040;z-index:2000;display:flex;align-items:center;justify-content:center}.delete-success-modal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #2622622e;padding:2.5rem 2.5rem 2rem;min-width:340px;max-width:90vw;display:flex;flex-direction:column;align-items:center;animation:slideIn .2s}.delete-success-modal-content{display:flex;flex-direction:column;align-items:center}.delete-success-ok-btn{background:#1976d2;color:#fff;border:none;border-radius:6px;padding:10px 32px;font-weight:600;font-size:16px;cursor:pointer;margin-top:8px;transition:background .2s}.delete-success-ok-btn:hover{background:#1251a3}.view-past-page{position:relative;min-height:100vh;background:#f2f2f2;padding:2rem;box-sizing:border-box;display:flex;flex-direction:column}.top-bar{display:flex;justify-content:space-between;align-items:center}.top-bar h1{margin:0;font-size:1.75rem;color:#262262}.top-icons{display:flex;gap:1rem;align-items:center}.account-icon{width:40px;height:auto;cursor:pointer}.main-content{display:flex;justify-content:center;align-items:center;flex:1;padding:2rem 0}.list-container{background:#fff;border:1px solid #AAA;border-radius:4px;overflow-y:auto;height:400px;max-height:400px;width:800px;max-width:90vw}.list-item{padding:.75rem 1rem;border-bottom:1px solid #DDD;cursor:pointer;transition:background .2s}.list-item:hover{background:#0000000d}.list-item:last-child{border-bottom:none}.upload-footer{position:relative;display:flex;justify-content:space-between;padding:2rem 0 0;z-index:4}.upload-footer .btn-back{align-self:flex-end;margin-left:2rem;margin-bottom:.5rem;background:transparent;border:2px solid #AAA;color:#555;padding:.75rem 1.5rem;font-size:1rem;border-radius:.5rem;cursor:pointer;text-decoration:none;text-align:center;transition:background .2s}.upload-footer .btn-back:hover{background:#aaaaaa1a}.btn-back{align-self:flex-start;background:transparent;border:2px solid #AAA;color:#555;padding:.5rem 1rem;border-radius:.5rem;cursor:pointer;transition:background .2s}.btn-back:hover{background:#aaaaaa1a}.redirect-message{text-align:center;background:#fff;padding:3rem;border-radius:10px;box-shadow:0 4px 20px #0000001a;max-width:500px;width:100%}.redirect-message p{margin:1rem 0;color:#555;font-size:1.1rem;line-height:1.6}.btn-primary{background:#007bff;color:#fff;border:none;padding:12px 24px;border-radius:25px;font-weight:500;cursor:pointer;transition:all .3s ease;font-size:1rem}.btn-primary:hover{background:#0056b3;transform:translateY(-2px);box-shadow:0 4px 15px #007bff4d}.analysis-page{position:relative;min-height:100vh;background:#f2f2f2;overflow:hidden;padding-bottom:4rem;box-sizing:border-box;display:flex;flex-direction:column}.top-right-icons{position:absolute;top:20px;right:20px;display:flex;gap:1rem;align-items:center;z-index:2}.dfm-logo{width:120px;height:auto}.account-icon{width:40px;height:auto}.page-header h1{font-size:2.25rem;color:#262262}.analysis-charts{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;padding:2rem}.chart-card{background:#fff;border-radius:8px;box-shadow:0 2px 6px #0000001a;padding:1rem}.chart-card h3{margin:0 0 .5rem;color:#262262;font-size:1rem;text-align:center}.upload-footer{position:relative;margin-top:auto;margin-bottom:2rem;width:100%;display:flex;align-items:center;justify-content:space-between;padding:2rem 0 0;z-index:4}.upload-footer .btn-back,.upload-footer .btn-next{transform:translateY(2rem);background:transparent;border:2px solid #AAA;color:#555;padding:.75rem 1.5rem;font-size:1rem;border-radius:.5rem;text-decoration:none;text-align:center;cursor:pointer}.upload-footer .btn-back{align-self:flex-end;margin-left:2rem;margin-bottom:.5rem;background:transparent;border:2px solid #AAA;color:#555;padding:.75rem 1.5rem;font-size:1rem;border-radius:.5rem;cursor:pointer;text-decoration:none;text-align:center;transform:translateY(2rem)}.upload-footer .btn-next{margin-left:auto}.upload-footer .btn-back:hover,.upload-footer .btn-next:hover{background:#aaaaaa1a}.account-dropdown-overlay{position:fixed;inset:0;background:transparent;z-index:100}.account-dropdown{position:absolute;top:70px;right:20px;background:#fff;border-radius:1rem;box-shadow:0 8px 32px #0000002e;padding:1rem;min-width:160px;z-index:101;display:flex;flex-direction:column;align-items:stretch}.account-dropdown-arrow{position:absolute;top:-10px;right:24px;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid #fff}.account-btn-home{margin-bottom:.5rem;padding:.5rem 1.5rem;border-radius:.75rem;background:#87aabe;color:#262262;border:none;cursor:pointer;font-weight:600;transition:box-shadow .2s,filter .2s,background .2s,color .2s}.account-btn-home:hover{background:#1a94d8;color:#fff}.account-btn-cancel{padding:.5rem 1.5rem;border-radius:.75rem;background:#f2f2f2;color:#858485;border:none;cursor:pointer;font-weight:600;transition:box-shadow .2s,filter .2s,background .2s,color .2s}.account-btn-cancel:hover{background:#b0b0b0;color:#fff;filter:brightness(1.08);box-shadow:0 4px 12px #0000002e}.btn-download{background:#262262;color:#fff;border:none;border-radius:2rem;padding:.75rem 2rem;font-size:1.25rem;font-weight:600;box-shadow:0 4px 10px #0000001a;cursor:pointer;margin-right:2rem;margin-left:auto;transition:box-shadow .2s,background .2s,color .2s}.btn-download:hover{background:#0d70a8;box-shadow:0 6px 18px #00000038}.sample-reg-page{position:relative;min-height:100vh;background:#f2f2f2;overflow-y:auto;padding-bottom:4rem;box-sizing:border-box}.account-icon{position:static;width:40px;height:auto}.upload-info img{width:20px;margin-right:.5rem}.sample-reg-container{max-width:900px;margin:40px auto;padding:24px;background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014}.sample-reg-table{width:100%;border-collapse:collapse;margin-top:24px;font-size:1.05rem}.sample-reg-table th,.sample-reg-table td{border:1px solid #e0e0e0;padding:12px 16px;text-align:left}.sample-reg-table th{background:#f5f7fa;font-weight:600;color:#2d3a4a}.sample-reg-table tbody tr:nth-child(2n){background:#f9fbfd}.sample-reg-table tbody tr:hover{background:#eaf3fb}.sample-reg-loading{margin:24px 0;color:#1976d2;font-weight:500}.sample-reg-error{margin:24px 0;color:#d32f2f;font-weight:500}.sample-reg-search{width:260px;padding:8px 14px;margin-bottom:18px;font-size:1rem;border:1px solid #cfd8dc;border-radius:6px;outline:none;transition:border .2s;margin-right:10px}.sample-reg-search:focus{border:1.5px solid #1976d2}.sample-reg-search-container{display:flex;align-items:center;gap:1rem;justify-content:left;margin-bottom:18px;flex-wrap:wrap}.sample-reg-search-container .sample-reg-search{margin-bottom:0;margin-right:0;justify-content:left}.sample-reg-expand-btn{background:none;border:none;font-size:1.1em;margin-right:8px;cursor:pointer;color:#1976d2;vertical-align:middle;outline:none;transition:color .2s}.sample-reg-expand-btn:hover{color:#0d47a1}.sample-reg-main-row{background:#f5f7fa}.sample-reg-details-row td{background:#f9fbfd;padding:0}.sample-reg-inner-table{width:100%;border-collapse:collapse;margin:0;font-size:.98rem}.sample-reg-inner-table th,.sample-reg-inner-table td{border:1px solid #e0e0e0;padding:8px 12px;text-align:left}.sample-reg-inner-table th{background:#e3eaf2;font-weight:500;color:#2d3a4a}.sample-reg-edit-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:20px;background:#f8f9fa;border-radius:8px;margin:16px 0}.sample-reg-edit-fields label{display:flex;flex-direction:column;gap:8px;font-weight:500;color:#333}.sample-reg-edit-input{padding:10px 12px;border:1px solid #ccc;border-radius:6px;font-size:14px;transition:border-color .2s,box-shadow .2s}.sample-reg-edit-input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.sample-reg-save-btn{background:#1976d2;color:#fff;border:none;border-radius:5px;padding:6px 18px;font-size:1rem;font-weight:500;cursor:pointer;margin-left:10px;transition:background .2s;align-self:center;margin-top:25px}.sample-reg-save-btn:disabled{background:#b0bec5;cursor:not-allowed}.sample-reg-save-btn:hover:not(:disabled){background:#1251a3}.sample-reg-save-success{color:#388e3c;margin-left:12px;font-weight:500}.sample-reg-save-error{color:#d32f2f;margin-left:12px;font-weight:500}.sample-reg-home-btn{background:#fff;color:#1976d2;border:1.5px solid #1976d2;border-radius:6px;padding:7px 18px;font-size:1rem;font-weight:500;cursor:pointer;margin-bottom:18px;margin-right:10px;transition:background .2s,color .2s}.sample-reg-home-btn:hover{background:#1976d2;color:#fff}.sample-reg-delete-btn{background:#f44336;color:#fff;border:none;border-radius:4px;padding:6px 18px;font-size:1rem;cursor:pointer;transition:background .2s;margin-left:10px;align-self:center;margin-top:25px}.sample-reg-delete-btn:hover:not(:disabled){background:#d32f2f}.sample-reg-delete-btn:disabled{background:#b0bec5;cursor:not-allowed}.sample-reg-actions{text-align:center;width:100px}.sample-reg-delete-success{color:#388e3c;font-size:.9rem;font-weight:500;margin-left:8px}.sample-reg-delete-error{color:#d32f2f;font-size:.9rem;font-weight:500;margin-left:8px}.delete-confirmation-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.delete-confirmation-dialog{background:#fff;padding:24px;border-radius:8px;box-shadow:0 4px 20px #00000026;max-width:400px;width:90%}.delete-confirmation-dialog h2{margin:0 0 16px;color:#d32f2f;font-size:1.5rem}.delete-confirmation-dialog p{margin:0 0 20px;color:#333;font-size:1rem;line-height:1.5}.delete-confirmation-buttons{display:flex;gap:12px;justify-content:flex-end}.sample-reg-confirm-delete-btn{background:#f44336;color:#fff;border:none;border-radius:5px;padding:8px 16px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.sample-reg-confirm-delete-btn:hover{background:#d32f2f}.sample-reg-cancel-delete-btn{background:#f5f5f5;color:#666;border:1px solid #ddd;border-radius:5px;padding:8px 16px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.sample-reg-cancel-delete-btn:hover{background:#e0e0e0}.sample-reg-add-btn{background:#4caf50;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.sample-reg-add-btn:hover{background:#388e3c}.sample-reg-add-row{display:flex;align-items:center;gap:12px;padding:16px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:18px;flex-wrap:wrap;max-width:100%;box-sizing:border-box}.sample-reg-add-row input{flex:1;min-width:200px;padding:8px 12px;border:1px solid #cfd8dc;border-radius:5px;font-size:.95rem;transition:border .2s}.sample-reg-add-row input:focus{border:1.5px solid #1976d2;outline:none}.sample-reg-add-row input::placeholder{color:#9e9e9e;font-style:italic}.sample-reg-add-row input[value]:not([value=""]){color:#9e9e9e;font-style:italic}.sample-reg-add-row input:focus{color:#333;font-style:normal}.sample-id-validation-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:16px;font-weight:700;pointer-events:none;z-index:2}.sample-id-validation-icon:contains("✓"){color:#388e3c}.sample-id-validation-icon:contains("✗"){color:#d32f2f}.sample-reg-add-row{position:relative}.sample-id-validation-icon{color:#d32f2f}.sample-id-validation-icon[title*=valid]{color:#388e3c}.sample-reg-add-row{display:flex;align-items:center;gap:20px;padding:20px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:18px;flex-wrap:wrap}.sample-reg-add-row input:first-child{width:250px}.sample-reg-add-row input:not(:first-child){flex:1;min-width:180px;max-width:200px}.sample-reg-add-row .sample-reg-save-error{color:#d32f2f;font-size:.9rem;font-weight:500;margin-left:8px;display:flex;align-items:center}.sample-reg-add-row .sample-reg-save-error:before{content:"⚠ ";margin-right:4px}.sample-reg-add-row .sample-reg-save-success{color:#388e3c;font-size:.9rem;font-weight:500;margin-left:8px;display:flex;align-items:center}.sample-reg-add-row .sample-reg-save-success:before{content:"✓ ";margin-right:4px}.sample-reg-suggest-btn{background:#ff9800;color:#fff;border:none;border-radius:5px;padding:8px 12px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap;flex-shrink:0}.sample-reg-suggest-btn:hover{background:#f57c00}.sample-reg-suggest-btn:active{background:#e65100}.sample-reg-cancel-btn{background:#f5f5f5;color:#666;border:1px solid #ddd;border-radius:5px;padding:7px 16px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap;margin-top:25px}.sample-reg-cancel-btn:hover{background:#e0e0e0;color:#333}.sample-reg-add-btn-group{display:flex;gap:12px;justify-content:flex-end;width:100%;margin-top:18px;align-items:center}@media (max-width: 768px){.sample-reg-add-row{flex-direction:column;align-items:stretch}.sample-reg-add-row input{min-width:auto}.sample-reg-add-row button{align-self:flex-start}}.sample-reg-add-row-top{width:100%;margin-bottom:18px;display:flex;justify-content:flex-start}.sample-reg-add-row-top input{width:250px}.sample-reg-add-row-bottom{width:100%;display:flex;gap:20px;justify-items:center;align-items:center;margin-bottom:10px}.sample-reg-add-row-bottom input{width:300px;min-width:0;max-width:100%}.sample-reg-sort-btn{background-color:#e0e7ef;color:#1a237e;border:1px solid #b0bec5;border-radius:4px;padding:8px 14px;margin-left:8px;font-size:1rem;cursor:pointer;transition:background .2s,color .2s,border .2s;box-shadow:0 1px 2px #1a237e0a}.sample-reg-sort-btn:hover{background-color:#c5cae9;color:#0d133d;border-color:#7986cb}.sample-reg-sort-btn:active{background-color:#b3b8d8;color:#0d133d;border-color:#5c6bc0}.sample-reg-sort-btn:focus{outline:2px solid #7986cb;outline-offset:2px}.sample-reg-filter-dropdown{padding:8px 14px;font-size:1rem;border:1px solid #cfd8dc;border-radius:6px;margin-right:10px;background:#f5f7fa;color:#2d3a4a;min-width:120px;outline:none;transition:border .2s}.sample-reg-filter-dropdown:focus{border:1.5px solid #1976d2}.sample-reg-search,.sample-reg-filter-dropdown,.sample-reg-add-btn,.sample-reg-sort-btn{height:44px;box-sizing:border-box;font-size:1rem;border-radius:8px;display:flex;align-items:center}.sample-reg-search{width:220px;padding:0 16px;border:1.5px solid #cfd8dc;margin-right:0}.sample-reg-filter-dropdown{padding:0 16px;border:1.5px solid #cfd8dc;background:#f5f7fa;color:#2d3a4a;min-width:150px;margin-right:0}.sample-reg-filter-dropdown:focus,.sample-reg-search:focus{border:1.5px solid #1976d2}.sample-reg-add-btn{padding:0 24px;font-weight:500;margin-left:8px;border-radius:8px;height:44px;display:flex;align-items:center}.sample-reg-sort-btn{padding:0 18px;margin-left:8px;border-radius:8px;height:44px;display:flex;align-items:center}@media (max-width: 900px){.sample-reg-search-container{flex-wrap:wrap;gap:10px}.sample-reg-search,.sample-reg-filter-dropdown,.sample-reg-add-btn,.sample-reg-sort-btn{width:100%;min-width:0;margin-left:0!important}}.combo-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #cfd8dc;border-radius:6px;box-shadow:0 2px 8px #00000014;z-index:10;max-height:180px;overflow-y:auto}.combo-dropdown-item{padding:8px 14px;cursor:pointer;font-size:1rem;color:#2d3a4a;transition:background .15s}.combo-dropdown-item:hover{background:#eaf3fb}.sample-reg-tab{background:#f5f7fa;color:#1976d2;border:1.5px solid #1976d2;border-radius:8px 8px 0 0;padding:10px 28px;font-size:1.1rem;font-weight:500;cursor:pointer;margin-bottom:-1.5px;transition:background .2s,color .2s}.sample-reg-tab-active{background:#1976d2;color:#fff;border:1.5px solid #1976d2;border-bottom:2.5px solid #fff;border-radius:8px 8px 0 0;padding:10px 28px;font-size:1.1rem;font-weight:600;cursor:pointer;margin-bottom:-1.5px;z-index:2}.sample-reg-add-row-top,.sample-reg-add-row-bottom{width:100%;display:flex;gap:20px;justify-content:center;align-items:center;flex-wrap:wrap;max-width:100%}@media (max-width: 900px){.sample-reg-add-row-bottom .sample-condition-input{min-width:0;max-width:100%;width:100%}}@media (max-width: 900px){.sample-reg-add-row-top,.sample-reg-add-row-bottom{flex-direction:column;align-items:stretch;gap:12px}.sample-reg-add-row-bottom>div,.sample-reg-add-row-bottom>input{min-width:0;max-width:100%;width:100%}}.sample-reg-run-link{color:#1976d2;background:none;border:none;cursor:pointer;padding:0;font-size:1rem}.sample-reg-bv-link{color:#388e3c;background:none;border:none;cursor:pointer;padding:0;font-size:1rem;font-weight:500}.sample-reg-bv-link:hover{color:#2e7d32;text-decoration:underline}.sample-reg-modal-overlay{position:fixed;inset:0;background:#0000002e;z-index:1000;display:flex;align-items:center;justify-content:center}.sample-reg-modal{background:#fff;border-radius:10px;box-shadow:0 4px 32px #0000002e;max-width:600px;width:95vw;padding:0 0 16px;position:relative;animation:fadeIn .2s;max-height:70vh;display:flex;flex-direction:column}.sample-reg-modal>div{overflow-y:auto;max-height:60vh}.sample-reg-modal-close{position:absolute;top:10px;right:15px;background:none;border:none;font-size:24px;cursor:pointer;color:#666}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fractional-size-edit-container{display:flex;align-items:center;gap:4px}.fractional-size-edit-input{width:80px;font-size:.9rem;padding:2px 4px;border:1px solid #ddd;border-radius:3px}.fractional-size-edit-input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.fractional-size-save-btn{background:#4caf50;color:#fff;border:none;border-radius:3px;padding:2px 6px;font-size:.8rem;cursor:pointer;transition:background-color .2s}.fractional-size-save-btn:hover:not(:disabled){background:#45a049}.fractional-size-save-btn:disabled{background:#ccc;cursor:not-allowed}.fractional-size-cancel-btn{background:#f44336;color:#fff;border:none;border-radius:3px;padding:2px 6px;font-size:.8rem;cursor:pointer;transition:background-color .2s}.fractional-size-cancel-btn:hover{background:#da190b}.fractional-size-edit-btn{background:none;border:none;color:#1976d2;cursor:pointer;font-size:.9rem;padding:0;margin-left:4px;transition:color .2s;text-decoration:underline}.fractional-size-edit-btn:hover{color:#1565c0;text-decoration:underline}.fractional-size-status{font-size:.8rem;margin-left:4px}.fractional-size-status.success{color:#4caf50}.fractional-size-status.error{color:#f44336}.sample-reg-container{padding:20px;max-width:1200px;margin:0 auto}.sample-reg-centered{text-align:center;padding:20px;color:#666}.sample-reg-loading{padding:32px;text-align:center}.sample-reg-content{padding:16px}.sample-reg-section{margin-bottom:20px}.sample-reg-section-title{margin:0 0 20px;color:#1976d2}.sample-reg-subtitle{margin:0 0 10px;color:#333}.sample-reg-flex-wrap{display:flex;flex-wrap:wrap;gap:10px}.sample-reg-flex-wrap-small{display:flex;flex-wrap:wrap;gap:8px}.sample-reg-flex-center{display:flex;align-items:center;gap:32px;margin-bottom:18px;font-size:1.15rem;font-weight:500}.sample-reg-flex-gap{display:flex;gap:16px;margin-bottom:24px}.sample-reg-grid-auto-fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.sample-reg-grid-2-col{display:grid;grid-template-columns:1fr 1fr;gap:5px;font-size:.8rem}.sample-reg-relative{position:relative}.sample-reg-relative-full{position:relative;width:100%}.sample-reg-relative-flex{position:relative;flex:1 1 200px;min-width:200px}.sample-reg-full-width{width:100%}.sample-reg-max-width{width:100%;max-width:900px;margin:0 auto}.sample-reg-primary-color{color:#1976d2}.sample-reg-success-color{color:#388e3c}.sample-reg-muted-color{color:#666}.sample-reg-bold{font-weight:700}.sample-reg-bold-primary{font-weight:700;color:#1976d2;margin-bottom:8px}.sample-reg-bold-success{font-weight:600;color:#388e3c;margin-bottom:4px;font-size:1rem}.sample-reg-bold-success-large{font-weight:600;color:#388e3c;margin-bottom:6px}.sample-reg-muted-text{font-weight:500;color:#888;margin-bottom:4px}.sample-reg-small-text{font-size:.9em;color:#666}.sample-reg-small-text-muted{font-size:12px;opacity:.9}.sample-reg-large-text{font-size:18px;font-weight:700}.sample-reg-bg-light{background:#f8f9fa;border-radius:8px;margin:20px 0;padding:20px}.sample-reg-bg-white{background:#fff;padding:20px;border-radius:8px;border:1px solid #e0e0e0}.sample-reg-bg-muted{background:#f5f7fa;padding:10px;border-radius:6px}.sample-reg-border-bottom{border-bottom:2px solid #e0e0e0;margin-bottom:20px}.sample-reg-table-full{width:100%;margin-bottom:18px;border-collapse:collapse}.sample-reg-table-header{font-weight:600;padding:6px 12px;color:#1976d2;width:140px}.sample-reg-table-cell{padding:6px 12px}.sample-reg-table-data{width:100%;border-collapse:collapse;background:#f8f9fa;font-size:.97rem}.sample-reg-table-data th{padding:2px 6px;background:#e3eafc;color:#1976d2;font-weight:500;font-size:.97rem}.sample-reg-table-data td{padding:2px 6px;border-bottom:1px solid #e0e0e0;vertical-align:top;font-size:.97rem}.sample-reg-table-nested{background:#fff;border-radius:4px;margin:0;width:100%;font-size:.95rem}.sample-reg-table-nested th{font-weight:500;color:#1976d2;padding:1px 4px;width:80px}.sample-reg-table-nested td{padding:1px 4px}.sample-reg-table-other{width:100%;border-collapse:collapse}.sample-reg-table-other th{font-weight:500;padding:4px 10px;color:#888}.sample-reg-table-other td{padding:4px 10px}.sample-reg-input-min-width{min-width:120px}.sample-reg-cursor-pointer{cursor:pointer}.sample-reg-button-link{color:#1976d2;background:none;border:none;cursor:pointer;padding:0}.sample-reg-margin-top{margin-top:20px}.sample-reg-margin-top-large{margin-top:40px}.sample-reg-margin-bottom{margin-bottom:12px}.sample-reg-margin-bottom-large{margin-bottom:18px}.sample-reg-margin-left{margin-left:8px}.sample-reg-margin-right{margin-right:8px}.sample-reg-padding{padding:20px}.sample-reg-padding-small{padding:10px}.sample-reg-overflow-x{overflow-x:auto}.sample-reg-grid-span-full{grid-column:1 / -1}.sample-reg-font-arial{font-family:Arial,sans-serif;font-size:14px;margin-top:30px}@media (max-width: 768px){.sample-reg-flex-wrap{flex-direction:column;gap:8px}.sample-reg-flex-center{flex-direction:column;gap:16px;text-align:center}.sample-reg-grid-auto-fit{grid-template-columns:1fr}}.sample-reg-modal-header{display:flex;margin-bottom:20px;border-bottom:2px solid #e0e0e0}.sample-reg-modal-tab{background:#f5f7fa;color:#1976d2;border:1.5px solid #1976d2;border-radius:8px 8px 0 0;padding:10px 28px;font-size:1.1rem;font-weight:500;cursor:pointer;margin-bottom:-1.5px;transition:background .2s,color .2s}.sample-reg-modal-tab-active{background:#1976d2;color:#fff;border:1.5px solid #1976d2;border-bottom:2.5px solid #fff;border-radius:8px 8px 0 0;padding:10px 28px;font-size:1.1rem;font-weight:600;cursor:pointer;margin-bottom:-1.5px;z-index:2}.sample-reg-modal-no-data{text-align:center;color:#666;padding:20px}.sample-reg-modal-debug{margin-top:20px;padding:16px;background-color:#f5f5f5;border-radius:8px}.sample-reg-modal-debug h4{margin:0 0 10px;color:#333}.sample-reg-modal-debug pre{font-size:.8rem;overflow:auto;max-height:200px}.sample-reg-chart-container{background:#fff;padding:20px;border-radius:8px;border:1px solid #e0e0e0}.sample-reg-chart-title{margin:0 0 20px;color:#1976d2}.sample-reg-chart-section{margin-bottom:20px}.sample-reg-chart-subtitle{margin:0 0 10px;color:#333}.sample-reg-chart-flex-wrap{display:flex;flex-wrap:wrap;gap:10px}.sample-reg-chart-flex-wrap-small{display:flex;flex-wrap:wrap;gap:8px}.sample-reg-chart-radio-label{display:flex;align-items:center;gap:8}.sample-reg-chart-variable-button{padding:6px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:.9rem;transition:all .2s}.sample-reg-chart-variable-button:hover{background:#f0f0f0}.sample-reg-chart-variable-button.selected{background:#1976d2;color:#fff;border-color:#1976d2}.sample-reg-chart-variable-button.disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.sample-reg-data-card{background:#fff;padding:15px;border-radius:6px;border:1px solid #e0e0e0;font-size:.9rem}.sample-reg-data-label{font-weight:700;color:#1976d2;margin-bottom:8px}.sample-reg-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;font-size:.8rem}.sample-reg-data-item{margin-bottom:12px}.sample-reg-data-title{font-weight:600;color:#388e3c;margin-bottom:4px;font-size:1rem}.sample-reg-data-title-large{font-weight:600;color:#388e3c;margin-bottom:6px}.sample-reg-data-json{background:#f5f7fa;padding:10px;border-radius:6px}.sample-reg-data-other{margin-top:18px}.sample-reg-data-other-title{font-weight:500;color:#888;margin-bottom:4px}.sample-reg-form-group,.sample-reg-form-group-full,.sample-reg-input-group{position:relative;flex:1 1 200px;min-width:200px}.sample-reg-input-full{width:100%}.sample-reg-input-number{width:100%;height:48px;font-size:1.1rem;padding:12px 16px;box-sizing:border-box;resize:vertical}.sample-reg-input-condition{min-width:320px;max-width:600px;width:100%;height:48px;font-size:1.1rem;padding:12px 16px;box-sizing:border-box;resize:vertical}.sample-reg-error-message{margin-right:8px;margin-top:20px}.sample-reg-error-message-inline{margin-right:8px}.sample-reg-error-message-left{margin-left:8px}.sample-reg-button-run{color:#1976d2;background:none;border:none;cursor:pointer;padding:0;font-size:1rem}.sample-reg-button-bv{color:#388e3c;background:none;border:none;cursor:pointer;padding:0;font-size:1rem;font-weight:500}.sample-reg-button-bv:hover{color:#2e7d32;text-decoration:underline}.sample-reg-button-run-item{margin-right:8px}.sample-reg-add-row-top{width:100%;display:flex;gap:20px;align-items:center;flex-wrap:wrap;max-width:100%;margin-bottom:10px;justify-content:center}.sample-reg-add-row-bottom{width:100%;display:flex;gap:20px;justify-content:center;align-items:center;flex-wrap:wrap;max-width:100%}.sample-reg-add-row-bottom>div,.sample-reg-add-row-bottom>input{flex:1 1 220px;min-width:180px;max-width:320px;box-sizing:border-box}.sample-reg-add-row-bottom .sample-condition-input{min-width:320px;max-width:600px;width:100%;height:48px;font-size:1.1rem;padding:12px 16px;box-sizing:border-box;resize:vertical}@media (max-width: 900px){.sample-reg-add-row-top,.sample-reg-add-row-bottom{flex-direction:column;align-items:stretch;gap:12px}.sample-reg-add-row-bottom>div,.sample-reg-add-row-bottom>input{min-width:0;max-width:100%;width:100%}.sample-reg-add-row-bottom .sample-condition-input,.sample-reg-input-condition{min-width:0;max-width:100%;width:100%}.sample-reg-search-container{flex-wrap:wrap;gap:10px}.sample-reg-search,.sample-reg-filter-dropdown,.sample-reg-add-btn,.sample-reg-sort-btn{width:100%;min-width:0;margin-left:0!important}}@media (max-width: 768px){.sample-reg-flex-wrap{flex-direction:column;gap:8px}.sample-reg-flex-center{flex-direction:column;gap:16px;text-align:center}.sample-reg-grid-auto-fit{grid-template-columns:1fr}.sample-reg-chart-flex-wrap{flex-direction:column;gap:8px}.sample-reg-modal-tab,.sample-reg-modal-tab-active{padding:8px 16px;font-size:1rem}}.sample-reg-instructions-options{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.sample-reg-instructions-options label{display:flex;align-items:center;gap:8px;font-weight:500;color:#333;cursor:pointer}.sample-reg-instructions-options input[type=checkbox]{width:16px;height:16px;cursor:pointer}.sample-reg-custom-instructions{margin-bottom:20px}.sample-reg-custom-instructions label{display:block;margin-bottom:8px;font-weight:500;color:#333}.sample-reg-custom-instructions textarea{width:100%;min-height:80px;padding:12px;border:1px solid #ccc;border-radius:4px;font-family:inherit;font-size:14px;resize:vertical}.sample-reg-custom-instructions textarea:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.sample-reg-target-particle-sizes,.sample-reg-charge-size,.sample-reg-number-of-charges{margin-bottom:16px}.sample-reg-target-particle-sizes label,.sample-reg-charge-size label,.sample-reg-number-of-charges label{display:block;margin-bottom:8px;font-weight:500;color:#333}.sample-reg-target-particle-sizes input,.sample-reg-charge-size input,.sample-reg-number-of-charges input{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px}.sample-reg-target-particle-sizes input:focus,.sample-reg-charge-size input:focus,.sample-reg-number-of-charges input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.sample-reg-actions{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.sample-reg-actions button{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.sample-reg-actions button:first-child{background:#1976d2;color:#fff}.sample-reg-actions button:first-child:hover{background:#1565c0}.sample-reg-actions button:nth-child(2){background:#388e3c;color:#fff}.sample-reg-actions button:nth-child(2):hover{background:#2e7d32}.sample-reg-actions button:nth-child(2):disabled{background:#ccc;color:#666;cursor:not-allowed}.sample-reg-actions button:nth-child(2):disabled:hover{background:#ccc}.sample-reg-actions button:last-child{background:#f5f5f5;color:#333;border:1px solid #ccc}.sample-reg-actions button:last-child:hover{background:#e0e0e0}.sample-reg-save-instructions-btn{background:#4caf50!important;color:#fff!important;border:1px solid #4caf50!important}.sample-reg-save-instructions-btn:hover{background:#388e3c!important;border-color:#388e3c!important}.sample-reg-instructions{margin-top:20px;padding:16px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px}.sample-reg-instructions h3{margin:0 0 12px;color:#1976d2;font-size:16px;font-weight:600}.sample-reg-instructions pre{margin:0;white-space:pre-wrap;font-family:Courier New,monospace;font-size:14px;line-height:1.5;color:#333;background:#fff;padding:12px;border-radius:4px;border:1px solid #e0e0e0;overflow-x:auto}.sample-reg-instructions-preview{margin:20px 0;padding:16px;background:#f0f8ff;border:2px solid #1976d2;border-radius:8px}.sample-reg-instructions-preview h3{margin:0 0 12px;color:#1976d2;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.sample-reg-preview-content{background:#fff;border-radius:4px;border:1px solid #e0e0e0;overflow:hidden}.sample-reg-preview-content pre{margin:0;white-space:pre-wrap;font-family:Courier New,monospace;font-size:13px;line-height:1.4;color:#333;background:#fafafa;padding:12px;border:none;border-radius:0;max-height:300px;overflow-y:auto}.sample-reg-instructions-btn{color:#9c27b0;background:linear-gradient(135deg,#f3e5f5,#e1bee7);border:2px solid #9c27b0;cursor:pointer;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;transition:all .3s ease;box-shadow:0 2px 4px #9c27b033;margin-top:16px;width:100%;text-align:center;display:flex;align-items:center;justify-content:center;gap:8px}.sample-reg-instructions-btn:hover{background:linear-gradient(135deg,#e1bee7,#ce93d8);border-color:#7b1fa2;box-shadow:0 4px 8px #9c27b04d;transform:translateY(-1px)}.sample-reg-instructions-btn:active{transform:translateY(0);box-shadow:0 2px 4px #9c27b033}@media (max-width: 768px){.sample-reg-instructions-options{padding:12px}.sample-reg-actions{flex-direction:column}.sample-reg-actions button{width:100%}.sample-reg-instructions pre{font-size:12px;padding:8px}}.sample-reg-particle-sizes-section{margin-bottom:20px;padding:16px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px}.sample-reg-particle-sizes-section h4{margin:0 0 12px;color:#1976d2;font-size:14px;font-weight:600}.sample-reg-particle-sizes-list{display:flex;flex-direction:column;gap:8px}.sample-reg-particle-size-item{display:flex;align-items:center;gap:8px}.sample-reg-unit-label{padding:8px 12px;background:#f5f5f5;border:1px solid #ccc;border-left:none;border-radius:0 4px 4px 0;color:#666;font-size:14px;font-weight:500;white-space:nowrap}.sample-reg-particle-size-input{flex:1;padding:8px 12px;border:1px solid #ccc;border-radius:4px 0 0 4px;font-size:14px;border-right:none}.sample-reg-particle-size-input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.sample-reg-particle-size-input:focus+.sample-reg-unit-label{border-color:#1976d2}.sample-reg-remove-size-btn{padding:6px 10px;background:#f44336;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:700;transition:background .2s}.sample-reg-remove-size-btn:hover{background:#d32f2f}.sample-reg-add-size-btn{padding:8px 16px;background:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background .2s;align-self:flex-start;margin-top:4px}.sample-reg-add-size-btn:hover{background:#388e3c}@media (max-width: 768px){.sample-reg-particle-size-item{flex-direction:column;align-items:stretch}.sample-reg-remove-size-btn{align-self:flex-end;width:fit-content}.sample-reg-add-size-btn{align-self:stretch}}.sample-reg-instructions-modal{max-width:90vw!important;max-height:90vh!important;width:800px!important;height:auto!important;overflow-y:auto}.sample-reg-particle-size-select{flex:1;padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;background:#fff;cursor:pointer}.sample-reg-particle-size-select:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.sample-reg-particle-size-select option{padding:4px 8px}@media (max-width: 900px){.sample-reg-instructions-modal{width:95vw!important;max-width:95vw!important;margin:20px}}.sample-reg-charge-config{margin-bottom:20px;padding:16px;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px}.sample-reg-charge-config h4{margin:0 0 12px;color:#1976d2;font-size:14px;font-weight:600}.sample-reg-charge-inputs{display:flex;gap:16px;flex-wrap:wrap}.sample-reg-charge-input-group{flex:1;min-width:200px}.sample-reg-charge-input-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.sample-reg-charge-input{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;box-sizing:border-box}.sample-reg-charge-input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}@media (max-width: 768px){.sample-reg-charge-inputs{flex-direction:column;gap:12px}.sample-reg-charge-input-group{min-width:auto}}.sample-reg-stock-data{margin:20px 0}.sample-reg-stock-input-group{margin-bottom:15px}.sample-reg-stock-input-group label{display:block;margin-bottom:5px;font-weight:500;color:#333}.sample-reg-stock-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .2s}.sample-reg-stock-input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.sample-reg-stock-size-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:15px;margin-bottom:15px;display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:15px;align-items:end}.sample-reg-stock-size-item .sample-reg-stock-input-group{margin-bottom:0}.sample-reg-stock-size-item .sample-reg-stock-input-group:last-child{display:flex;align-items:center;gap:8px}.sample-reg-stock-size-item .sample-reg-stock-input-group:last-child label{margin-bottom:0;white-space:nowrap}.sample-reg-stock-size-item .sample-reg-stock-input-group:last-child input[type=checkbox]{width:auto;margin:0}@media (max-width: 768px){.sample-reg-stock-size-item{grid-template-columns:1fr;gap:10px}.sample-reg-stock-size-item .sample-reg-stock-input-group:last-child{flex-direction:row;align-items:center}}.sample-reg-stock-summary{margin-top:8px;font-size:12px;color:#666}.sample-reg-stock-summary-item{margin-bottom:2px}.sample-reg-stock-summary-item strong{color:#1976d2}.stock-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.stock-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.stock-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px 16px;border-bottom:1px solid #e0e0e0;background:#fafafa}.stock-modal-header h2{margin:0;font-size:24px;font-weight:600;color:#1a1a1a}.stock-modal-close{background:none;border:none;font-size:28px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.stock-modal-close:hover{background:#f0f0f0;color:#333}.stock-modal-content{padding:32px;overflow-y:auto;flex:1}.stock-modal-description{color:#666;margin:0 0 32px;font-size:16px;line-height:1.5}.stock-section{margin-bottom:40px}.stock-section-title{margin:0 0 20px;font-size:20px;font-weight:600;color:#1976d2;display:flex;align-items:center}.stock-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.stock-head-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stock-input-group{display:flex;flex-direction:column}.stock-input-group label{font-weight:500;color:#333;margin-bottom:8px;font-size:14px}.stock-input{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:all .2s;background:#fff}.stock-input:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 3px #1976d21a}.stock-input-disabled{background:#f5f5f5;color:#666;cursor:not-allowed}.stock-add-btn{background:#4caf50;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.stock-add-btn:hover{background:#388e3c;transform:translateY(-1px)}.stock-empty-state{text-align:center;padding:40px 20px;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:12px;color:#666}.stock-empty-state p{margin:0;font-size:16px}.stock-sizes-list{display:flex;flex-direction:column;gap:16px}.stock-size-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;padding:20px;transition:all .2s}.stock-size-card:hover{border-color:#1976d2;box-shadow:0 4px 12px #1976d21a}.stock-size-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.stock-size-number{font-weight:600;color:#1976d2;font-size:16px}.stock-remove-btn{background:#dc3545;color:#fff;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s}.stock-remove-btn:hover{background:#c82333;transform:scale(1.1)}.stock-size-grid{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(100px,1fr) auto;gap:16px;align-items:end}.stock-checkbox-group{display:flex;align-items:center;min-width:0;flex-shrink:0}.stock-checkbox-label{display:flex;align-items:center;gap:6px;cursor:pointer;font-weight:500;color:#333;margin:0;white-space:nowrap;font-size:14px}.stock-checkbox{width:18px;height:18px;accent-color:#1976d2;cursor:pointer}.stock-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px 32px;border-top:1px solid #e0e0e0;background:#fafafa}.stock-btn{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:2px solid transparent;white-space:nowrap}.stock-btn-primary{background:#1976d2;color:#fff;border-color:#1976d2}.stock-btn-primary:hover{background:#1565c0;border-color:#1565c0;transform:translateY(-1px)}.stock-btn-secondary{background:#fff;color:#666;border-color:#ccc}.stock-btn-secondary:hover{background:#f5f5f5;border-color:#999}.stock-btn-danger{background:#dc3545;color:#fff;border-color:#dc3545}.stock-btn-danger:hover{background:#c82333;border-color:#c82333;transform:translateY(-1px)}@media (max-width: 768px){.stock-modal{margin:10px;max-height:95vh}.stock-modal-header{padding:20px 24px 16px}.stock-modal-header h2{font-size:20px}.stock-modal-content{padding:24px}.stock-head-grid{grid-template-columns:1fr;gap:16px}.stock-size-grid{grid-template-columns:1fr;gap:12px}.stock-modal-footer{padding:20px 24px;flex-direction:column}.stock-btn{width:100%}}@media (max-width: 1200px){.stock-size-grid{grid-template-columns:minmax(100px,1fr) minmax(100px,1fr) minmax(80px,1fr) auto;gap:12px}}@media (max-width: 900px){.stock-size-grid{grid-template-columns:1fr 1fr;gap:12px}.stock-checkbox-group{grid-column:span 2;justify-self:start}}.sample-reg-linked-sheets-summary{margin:8px 0;padding:6px 8px;background:#f8f9fa;border-radius:4px;border-left:3px solid #1976d2;font-size:12px;width:100%;box-sizing:border-box}.sample-reg-sheets-section{margin:2px 0;display:block;width:100%}.sample-reg-sheets-section strong{display:inline-block;margin-right:6px;font-size:11px;font-weight:600;min-width:25px}.sample-reg-sheets-list{display:inline;word-wrap:break-word;overflow-wrap:break-word}.sample-reg-sheet-tag{background:#e3f2fd;color:#1976d2;padding:1px 4px;border-radius:8px;font-size:10px;font-weight:500;border:1px solid #bbdefb;white-space:nowrap;margin-right:3px;margin-bottom:2px;display:inline-block}.sample-reg-sheets-section:has(strong[style*="color: #f57c00"]) .sample-reg-sheet-tag{background:#fff3e0;color:#f57c00;border-color:#ffcc02}.sample-reg-sheets-section:has(strong[style*="color: #388e3c"]) .sample-reg-sheet-tag{background:#e8f5e8;color:#388e3c;border-color:#c8e6c9}.sample-reg-settings-dropdown{position:absolute;top:100%;right:0;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:250px;margin-top:4px}.sample-reg-settings-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid #f0f0f0;display:flex;flex-direction:column;gap:2px;transition:background-color .2s}.sample-reg-settings-item:last-child{border-bottom:none}.sample-reg-settings-item:hover{background-color:#f8f9fa}.sample-reg-settings-item span:first-child{font-size:16px;margin-right:8px}.sample-reg-settings-item span:nth-child(2){font-weight:500;color:#333;font-size:14px}.sample-reg-settings-item small{color:#666;font-size:12px;margin-top:2px}.sample-reg-search-container{position:relative}.sample-reg-top-right-settings{position:absolute;top:10px;right:10px;z-index:100}.sample-reg-container{position:relative}.model-builder-page{position:relative;min-height:100vh;background:#f2f2f2;overflow-y:auto;padding-bottom:4rem;box-sizing:border-box}.top-right-icons{position:fixed;top:50px;right:50px;display:flex;align-items:center;gap:1rem;z-index:100}.dfm-logo{position:static;width:120px;height:auto}.page-header{margin:1.5rem 2rem 0}.page-header h1{font-size:2.25rem;color:#262262;margin:0}.upload-info{display:flex;align-items:center;margin-top:.5rem;color:#555}.model-builder-container{max-width:1200px;margin:40px auto;padding:24px;background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000014}.dataset-creator-section{margin-bottom:40px;padding:24px;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.dataset-creator-section h2{margin:0 0 20px;color:#1976d2;font-size:1.5rem}.dataset-creator-note{margin:0 0 20px;color:#666;font-size:.95rem;line-height:1.4}.dataset-controls{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.model-builder-btn{padding:10px 20px;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:120px}.model-builder-btn.primary{background:#1976d2;color:#fff}.model-builder-btn.primary:hover:not(:disabled){background:#1565c0;transform:translateY(-1px)}.model-builder-btn.primary:disabled{background:#ccc;cursor:not-allowed;transform:none}.model-builder-btn.secondary{background:#f5f5f5;color:#333;border:1px solid #ddd}.model-builder-btn.secondary:hover:not(:disabled){background:#e0e0e0;transform:translateY(-1px)}.model-builder-btn.secondary:disabled{background:#f5f5f5;color:#999;cursor:not-allowed;transform:none}.dataset-preview{margin-top:24px}.dataset-preview h3{margin:0 0 16px;color:#333;font-size:1.2rem}.dataset-table-container{overflow-x:auto;border:1px solid #e0e0e0;border-radius:6px}.dataset-table{width:100%;border-collapse:collapse;font-size:.9rem}.dataset-table th,.dataset-table td{padding:8px 12px;text-align:left;border-bottom:1px solid #e0e0e0}.dataset-table th{background:#f5f7fa;font-weight:600;color:#2d3a4a;position:sticky;top:0}.dataset-table tbody tr:hover{background:#f8f9fa}.dataset-preview-note{margin:12px 0 0;font-size:.85rem;color:#666;font-style:italic}.sample-selection-section h2{margin:0 0 20px;color:#1976d2;font-size:1.5rem}.model-builder-search-container{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;align-items:center}.model-builder-search{flex:1;min-width:200px;padding:10px 16px;border:1px solid #ddd;border-radius:6px;font-size:.95rem;background:#fff}.model-builder-search:focus{outline:none;border-color:#1976d2;box-shadow:0 0 0 2px #1976d233}.model-builder-filter-dropdown{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:.95rem;background:#fff;min-width:120px}.model-builder-filter-dropdown:focus{outline:none;border-color:#1976d2}.model-builder-sort-btn{padding:10px 16px;border:1px solid #ddd;border-radius:6px;background:#fff;color:#333;cursor:pointer;font-size:.95rem;transition:all .2s ease}.model-builder-sort-btn:hover{background:#f5f5f5;border-color:#1976d2}.model-builder-home-btn{padding:10px 20px;background:#f57c00;color:#fff;border:none;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:20px}.model-builder-home-btn:hover{background:#ef6c00;transform:translateY(-1px)}.model-builder-loading{margin:24px 0;color:#1976d2;font-weight:500}.model-builder-error{margin:24px 0;color:#d32f2f;font-weight:500}.data-availability-loading{margin:16px 0;color:#1976d2;font-weight:500;font-style:italic}.data-summary{margin:16px 0;color:#388e3c;font-weight:500;font-size:.95rem}.model-builder-table{width:100%;border-collapse:collapse;margin-top:24px;font-size:1.05rem}.model-builder-table th,.model-builder-table td{border:1px solid #e0e0e0;padding:12px 16px;text-align:left}.model-builder-table th{background:#f5f7fa;font-weight:600;color:#2d3a4a}.model-builder-table tbody tr:nth-child(2n){background:#f9fbfd}.model-builder-table tbody tr:hover{background:#eaf3fb}.sample-id-cell{font-weight:500;background:#f0f4f8;color:#1a2233}.model-builder-expand-btn{background:none;border:none;cursor:pointer;font-size:1.2rem;color:#1976d2;margin-right:8px;padding:0;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.model-builder-expand-btn:hover{color:#1565c0}.model-builder-main-row{background:#f8f9fa}.model-builder-details-row td{padding:0;background:#fafbfc}.model-builder-inner-table{width:100%;border-collapse:collapse;margin:16px;font-size:.95rem}.model-builder-inner-table th,.model-builder-inner-table td{border:1px solid #e0e0e0;padding:10px 12px;text-align:left}.model-builder-inner-table th{background:#e3eafc;font-weight:600;color:#1976d2}.model-builder-select-all-btn{padding:6px 12px;background:#4caf50;color:#fff;border:none;border-radius:4px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.model-builder-select-all-btn:hover{background:#45a049}.run-selection-container{display:flex;flex-wrap:wrap;gap:8px}.run-checkbox-label{display:flex;align-items:center;gap:4px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s ease}.run-checkbox-label:hover{background:#f0f4f8}.run-checkbox{margin:0;cursor:pointer}.run-checkbox-text{font-size:.9rem;color:#333}.sample-metadata{font-size:.85rem;color:#666}@media (max-width: 900px){.model-builder-container{margin:20px;padding:16px}.dataset-controls{flex-direction:column}.model-builder-btn{width:100%}.model-builder-search-container{flex-direction:column;align-items:stretch}.model-builder-search,.model-builder-filter-dropdown{width:100%}.model-builder-table{font-size:.9rem}.model-builder-table th,.model-builder-table td{padding:8px 10px}.run-selection-container{flex-direction:column;gap:4px}}@media (max-width: 600px){.page-header h1{font-size:1.8rem}.dataset-creator-section,.sample-selection-section{padding:16px}.model-builder-inner-table{margin:8px;font-size:.85rem}.model-builder-inner-table th,.model-builder-inner-table td{padding:6px 8px}}.ml-training-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.ml-header{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:20px 30px;border-radius:15px;box-shadow:0 4px 20px #0000001a;margin-bottom:30px}.ml-header h1{margin:0;color:#2c3e50;font-size:2.5rem;font-weight:600}.dfm-logo{height:50px;width:auto}.status-bar{display:flex;gap:30px;background:#fff;padding:20px 30px;border-radius:15px;box-shadow:0 4px 20px #0000001a;margin-bottom:30px}.status-item{display:flex;align-items:center;gap:10px}.status-item .label{font-weight:600;color:#2c3e50}.status-item .value{padding:5px 12px;border-radius:20px;font-weight:500;font-size:.9rem}.status-item .value.success{background:#d4edda;color:#155724}.status-item .value.warning{background:#fff3cd;color:#856404}.ml-content{background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;padding:30px}.progress-steps{display:flex;justify-content:space-between;margin-bottom:40px;position:relative}.progress-steps:before{content:"";position:absolute;top:25px;left:0;right:0;height:2px;background:#e9ecef;z-index:1}.step{display:flex;flex-direction:column;align-items:center;position:relative;z-index:2;flex:1}.step-number{width:50px;height:50px;border-radius:50%;background:#e9ecef;color:#6c757d;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.2rem;margin-bottom:10px;transition:all .3s ease}.step.active .step-number{background:#007bff;color:#fff;box-shadow:0 4px 15px #007bff4d}.step.completed .step-number{background:#28a745;color:#fff}.step-label{font-weight:500;color:#6c757d;text-align:center;font-size:.9rem}.step.active .step-label{color:#007bff;font-weight:600}.step.completed .step-label{color:#28a745}.message{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-radius:10px;margin-bottom:20px;font-weight:500}.message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:inherit;opacity:.7;transition:opacity .3s ease}.close-btn:hover{opacity:1}.step-content{margin-bottom:30px}.ml-step{max-width:800px;margin:0 auto}.ml-step h3{color:#2c3e50;margin-bottom:10px;font-size:1.8rem}.ml-step p{color:#6c757d;margin-bottom:25px;line-height:1.6}.file-upload-section{text-align:center;padding:30px;border:2px dashed #dee2e6;border-radius:15px;background:#f8f9fa;transition:all .3s ease}.file-upload-section:hover{border-color:#007bff;background:#f0f8ff}.file-input{display:none}.file-input-label{display:inline-block;padding:12px 24px;background:#007bff;color:#fff;border-radius:25px;cursor:pointer;font-weight:500;transition:all .3s ease;margin-bottom:15px}.file-input-label:hover{background:#0056b3;transform:translateY(-2px)}.file-info{background:#fff;padding:15px;border-radius:10px;margin:15px 0;text-align:left}.file-info p{margin:5px 0;color:#495057}.model-info{background:#f8f9fa;padding:20px;border-radius:10px;margin-bottom:25px}.model-info h4{color:#2c3e50;margin-bottom:15px}.model-info ul{list-style:none;padding:0}.model-info li{padding:8px 0;color:#495057;border-bottom:1px solid #e9ecef}.model-info li:last-child{border-bottom:none}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:25px}.result-item{background:#f8f9fa;padding:15px;border-radius:10px;display:flex;justify-content:space-between;align-items:center}.result-item .label{font-weight:600;color:#2c3e50}.result-item .value{font-weight:500;padding:5px 10px;border-radius:15px;font-size:.9rem}.result-item .value.success{background:#d4edda;color:#155724}.result-item .value.warning{background:#fff3cd;color:#856404}.performance-table,.predictions-table{margin-top:20px}.performance-table h5,.predictions-table h5{color:#2c3e50;margin-bottom:15px}.performance-table table,.predictions-table table{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px #0000001a}.performance-table th,.performance-table td,.predictions-table th,.predictions-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #e9ecef}.performance-table th,.predictions-table th{background:#f8f9fa;font-weight:600;color:#2c3e50}.performance-table tr:hover,.predictions-table tr:hover{background:#f8f9fa}.table-note{text-align:center;color:#6c757d;font-style:italic;margin-top:10px}.ml-btn{padding:12px 24px;border:none;border-radius:25px;font-weight:500;cursor:pointer;transition:all .3s ease;font-size:1rem;margin:5px}.ml-btn:disabled{opacity:.6;cursor:not-allowed}.ml-btn.primary{background:#007bff;color:#fff}.ml-btn.primary:hover:not(:disabled){background:#0056b3;transform:translateY(-2px);box-shadow:0 4px 15px #007bff4d}.ml-btn.secondary{background:#6c757d;color:#fff}.ml-btn.secondary:hover:not(:disabled){background:#545b62;transform:translateY(-2px)}.ml-btn.danger{background:#dc3545;color:#fff}.ml-btn.danger:hover:not(:disabled){background:#c82333;transform:translateY(-2px)}.action-buttons{display:flex;justify-content:center;gap:15px;margin-top:30px;padding-top:30px;border-top:1px solid #e9ecef}.training-logs{margin-top:40px;padding-top:30px;border-top:1px solid #e9ecef}.training-logs h3{color:#2c3e50;margin-bottom:20px}.logs-table{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 10px #0000001a}.logs-table table{width:100%;border-collapse:collapse}.logs-table th,.logs-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #e9ecef}.logs-table th{background:#f8f9fa;font-weight:600;color:#2c3e50}.logs-table tr:hover{background:#f8f9fa}@media (max-width: 768px){.ml-header{flex-direction:column;gap:15px;text-align:center}.ml-header h1{font-size:2rem}.status-bar{flex-direction:column;gap:15px}.progress-steps{flex-direction:column;gap:20px}.progress-steps:before{display:none}.step{flex-direction:row;gap:15px}.step-number{margin-bottom:0}.results-grid{grid-template-columns:1fr}.action-buttons{flex-direction:column;align-items:center}.ml-btn{width:100%;max-width:300px}.performance-table,.predictions-table,.logs-table{overflow-x:auto}.performance-table table,.predictions-table table,.logs-table table{min-width:600px}}.search-filters{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.search-input{flex:1;min-width:200px;padding:10px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:all .2s ease;background-color:#fff}.view-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:24px;padding:12px 20px;border:1px solid #e5e7eb;border-radius:10px;background:linear-gradient(120deg,#f8fafc,#f3f4f6)}.view-toggle-label{font-size:.95rem;font-weight:600;color:#1f2937;letter-spacing:.04em;text-transform:uppercase}.view-toggle-options{display:flex;gap:10px}.toggle-option{border:1px solid #d1d5db;background:#fff;color:#4b5563;padding:8px 16px;border-radius:999px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.toggle-option:hover{border-color:#3b82f6;color:#1d4ed8}.toggle-option.active{background:#262262;border-color:#262262;color:#fff;box-shadow:0 4px 12px #26226240}.customers-layout{margin-bottom:24px}.customers-section,.deposits-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;padding:24px}.section-subtitle{color:#6b7280;font-size:.9rem;margin-top:6px}.section-actions{display:flex;gap:12px}.customer-list{display:flex;flex-direction:column;gap:16px}.customer-card{border:1px solid #e5e7eb;border-radius:8px;background:#fff;cursor:pointer;transition:all .2s ease}.customer-card:hover{border-color:#3b82f6;box-shadow:0 2px 8px #0000001a}.customer-card.selected{border-color:#3b82f6;border-width:2px;box-shadow:0 4px 12px #3b82f633}.customer-card-main{padding:20px}.customer-basic-info{margin-bottom:16px}.customer-name-large{font-size:1.25rem;font-weight:600;color:#1a1a1a;margin-bottom:4px}.customer-location{font-size:.875rem;color:#6b7280;margin-bottom:4px}.customer-id{font-size:.875rem;color:#374151;font-weight:500}.customer-stats-row{display:flex;gap:24px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-item .stat-label{font-size:.75rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.stat-item .stat-value{font-size:1.125rem;font-weight:700;color:#1a1a1a}.customer-expanded-details{border-top:1px solid #e5e7eb;padding:20px;background:#f8fafc}.deposits-layout{margin-bottom:24px}.deposits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.deposit-card{border:1px solid #e5e7eb;border-radius:16px;padding:20px;background:#fff;box-shadow:0 8px 20px #0f172a14;display:flex;flex-direction:column;gap:16px;transition:transform .2s ease,box-shadow .2s ease}.deposit-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0f172a1f}.deposit-card-header{display:flex;justify-content:space-between;gap:12px}.deposit-card-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:4px}.deposit-card-header h3{margin:0;font-size:1.25rem;color:#111827}.deposit-card-subtitle{margin:4px 0 0;color:#4b5563;font-size:.9rem}.deposit-card-description{margin:8px 0 12px;padding:12px;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc;color:#1f2937;font-size:.92rem;line-height:1.5}.deposit-chip-stack{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end;font-size:.85rem;text-transform:uppercase;letter-spacing:.16em}.deposit-chip{padding:0;border:none;border-radius:0;background:transparent;color:#0f172a;font-weight:600}.deposit-chip.status{color:#0d8a50}.deposit-chip.type{color:#1d4ed8}.deposit-card-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.meta-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;display:block;margin-bottom:4px}.meta-value{font-size:.95rem;font-weight:600;color:#1f2937;word-break:break-word}.deposit-card-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.deposit-card-attachment{margin-bottom:4px}.metric{background:#f8fafc;border:1px dashed #e2e8f0;border-radius:10px;padding:12px}.metric-label{font-size:.75rem;color:#94a3b8;margin:0 0 6px}.metric-value{margin:0;font-size:1.1rem;font-weight:700;color:#111827}.deposit-card-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.view-customer-btn{background:#f97316;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.view-customer-btn:hover{background:#ea580c;box-shadow:0 4px 10px #f973164d}.deposit-section-info{padding:16px;background:#f8fafc;border-radius:8px;color:#374151;font-size:.875rem}.deposit-section-info p{margin:8px 0}.add-deposit-inline-btn{margin-top:16px}.page-note{margin-top:24px;padding:12px 16px;background:#fee2e2;border:1px solid #fca5a5;border-radius:8px}.page-note p{color:#991b1b;font-size:.875rem;margin:0;font-weight:500}.customer-container{max-width:1400px;margin:0 auto;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:#fafbfc;min-height:100vh}.customer-header{margin-bottom:32px;display:flex;justify-content:space-between;align-items:center;width:100%;position:relative}.customer-header>div:last-child{display:flex;justify-content:flex-end;align-items:center;margin-left:auto}.account-dropdown-container{position:relative;display:flex;justify-content:flex-end;align-items:center;margin-left:auto;flex-shrink:0}.customer-header>div{display:flex;justify-content:space-between;align-items:center;width:100%}.customer-header h1{color:#1a1a1a;font-size:2.25rem;font-weight:600;margin:0;letter-spacing:-.025em}.customer-header p{color:#6b7280;font-size:1rem;margin:4px 0 0;font-weight:400}.submit-message{padding:12px 16px;margin-bottom:24px;border-radius:8px;font-weight:500;font-size:.875rem}.submit-message.success{background-color:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.submit-message.error{background-color:#fee2e2;color:#991b1b;border:1px solid #fca5a5}.customer-list-container{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;overflow:hidden}.customer-list-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb;background-color:#f9fafb}.customer-list-header h2{color:#1a1a1a;font-size:1.5rem;font-weight:600;margin:0}.add-customer-btn{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.add-customer-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.customer-list{display:flex;flex-direction:column}.customer-row{border-bottom:1px solid #e5e7eb;transition:all .2s ease}.customer-row:last-child{border-bottom:none}.customer-row-main{display:flex;align-items:center;padding:20px 24px;cursor:pointer;transition:all .2s ease;position:relative}.customer-row-main:hover{background-color:#f8fafc}.customer-row-main.expanded{background-color:#f1f5f9;border-bottom:1px solid #e2e8f0}.customer-info{flex:1;min-width:0}.customer-name{font-size:1.125rem;font-weight:600;color:#1a1a1a;margin-bottom:4px;line-height:1.4}.customer-origin{font-size:.875rem;color:#6b7280;font-weight:400}.customer-stats{display:flex;gap:32px;margin:0 32px}.stat{display:flex;flex-direction:column;align-items:center;min-width:60px}.stat-label{font-size:.75rem;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.stat-value{font-size:1.25rem;font-weight:700;color:#1a1a1a}.customer-actions{display:flex;gap:8px;margin-right:16px;opacity:0;transition:opacity .2s ease}.customer-row-main:hover .customer-actions{opacity:1}.action-btn{padding:6px 12px;border:none;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.add-deposit-btn{background:#10b981;color:#fff}.add-deposit-btn:hover{background:#059669;transform:translateY(-1px)}.edit-customer-btn{background:#6b7280;color:#fff}.edit-customer-btn:hover{background:#4b5563;transform:translateY(-1px)}.sample-declaration-btn{background:#10b981;color:#fff}.sample-declaration-btn:hover{background:#059669;transform:translateY(-1px)}.expand-icon{font-size:1.25rem;color:#6b7280;font-weight:300;width:24px;text-align:center;transition:transform .2s ease}.customer-row-main.expanded .expand-icon{transform:rotate(0)}.customer-details{background-color:#f8fafc;border-top:1px solid #e2e8f0;padding:24px}.customer-details-info{display:grid;grid-template-columns:1fr 1fr;gap:32px}.detail-section h4{color:#1a1a1a;font-size:1rem;font-weight:600;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.detail-section p{color:#374151;font-size:.875rem;margin:8px 0;line-height:1.5}.detail-section p strong{color:#1a1a1a;font-weight:600}.no-deposits{color:#6b7280;font-style:italic;margin:16px 0}.deposits-list{display:flex;flex-direction:column;gap:12px}.deposit-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s ease}.deposit-item:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000001a}.deposit-info{flex:1}.deposit-name{font-weight:600;color:#1a1a1a;font-size:.875rem;margin-bottom:4px}.deposit-details{display:flex;gap:16px;flex-wrap:wrap}.deposit-details span{font-size:.75rem;color:#6b7280;background:#f3f4f6;padding:2px 8px;border-radius:4px}.deposit-description-text{margin:6px 0 8px;font-size:.85rem;color:#4b5563;line-height:1.4}.deposit-attachment-link{margin-top:10px}.deposit-actions{display:flex;gap:8px}.edit-deposit-btn,.delete-deposit-btn{padding:4px 8px;border:none;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.edit-deposit-btn{background:#3b82f6;color:#fff}.edit-deposit-btn:hover{background:#2563eb}.delete-deposit-btn{background:#ef4444;color:#fff}.delete-deposit-btn:hover{background:#dc2626}.loading-message,.empty-message{text-align:center;padding:48px 24px;color:#6b7280;font-size:1rem}.empty-message{font-style:italic}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-content.large{max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.modal-header h3{color:#1a1a1a;font-size:1.25rem;font-weight:600;margin:0}.close-btn{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.close-btn:hover{background:#f3f4f6;color:#374151}.customer-form,.deposit-form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.modal-form-content{flex:1;overflow-y:auto;padding:24px;min-height:0}.modal-form-content::-webkit-scrollbar{width:8px}.modal-form-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.modal-form-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.modal-form-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.form-section{margin-bottom:24px;padding:20px;background-color:#f8fafc;border-radius:8px;border:1px solid #e5e7eb}.form-section h4{color:#1a1a1a;font-size:1rem;font-weight:600;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.form-section.compact-section{padding:16px}.form-section.compact-section h4{margin-bottom:12px;font-size:.95rem}.form-grid-compact{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.form-grid-compact .form-group{margin-bottom:0}.form-grid-compact .form-group label{font-size:.8125rem;margin-bottom:4px;color:#4b5563;font-weight:500}.form-grid-compact .form-group input{padding:8px 10px;font-size:.8125rem}.form-group label{color:#374151;font-weight:500;font-size:.875rem;margin-bottom:6px}.form-group input{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:all .2s ease;background-color:#fff}.form-group textarea{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:all .2s ease;background-color:#fff;resize:vertical;min-height:100px}.current-attachment{margin-top:8px;display:flex;align-items:center;gap:8px;font-size:.85rem;color:#374151}.form-group input:required{border-left:3px solid #ef4444}.disabled-input{background-color:#f3f4f6!important;color:#6b7280!important;cursor:not-allowed!important}.file-selected{margin-top:.5rem;padding:.5rem;background-color:#f0f9ff;border:1px solid #0ea5e9;border-radius:4px;color:#0369a1}.file-selected small{color:#0369a1;font-weight:500}.form-actions{display:flex;gap:12px;justify-content:flex-end;padding:20px 24px;border-top:1px solid #e5e7eb;background:#fff;flex-shrink:0}.submit-button,.cancel-btn{padding:10px 20px;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.submit-button{background:#3b82f6;color:#fff}.submit-button:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.submit-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.cancel-btn{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}@media (max-width: 1024px){.customer-details-info{grid-template-columns:1fr;gap:24px}.customers-deposits-layout{grid-template-columns:1fr}}@media (max-width: 768px){.customer-container{padding:16px}.customer-header h1{font-size:1.875rem}.customer-row-main{flex-direction:column;align-items:flex-start;gap:16px}.customer-stats{margin:0;gap:24px}.customer-actions{opacity:1;margin-right:0;align-self:flex-end}.form-row{grid-template-columns:1fr}.form-grid-compact{grid-template-columns:repeat(2,1fr)}.modal-content{margin:16px;max-height:calc(100vh - 32px)}.deposit-item{flex-direction:column;align-items:flex-start;gap:12px}.deposit-actions{align-self:flex-end}.view-toggle{flex-direction:column;align-items:flex-start}.deposit-card-header{flex-direction:column}.deposit-card-meta,.deposit-card-metrics{grid-template-columns:1fr}.deposit-card-actions{justify-content:flex-start}}@media (max-width: 480px){.customer-header{flex-direction:column;align-items:flex-start;gap:16px}.customer-header>div{flex-direction:column;align-items:flex-start;gap:16px;width:100%}.account-dropdown-container{align-self:flex-end;margin-left:0}.customer-list-header{flex-direction:column;align-items:flex-start;gap:16px}.customer-stats{flex-direction:row;gap:32px}.form-grid-compact{grid-template-columns:1fr}.view-toggle-options{width:100%;justify-content:space-between}}@media (max-width: 1024px){.sidebar{width:200px}.main-content{margin-left:200px;margin-top:80px;min-height:calc(100vh - 80px)}.content-header{width:calc(100% - 200px)}.sidebar-text{font-size:13px}.sidebar-item{padding:10px 12px;gap:12px}}@media (max-width: 768px){.sidebar{width:180px}.main-content{margin-left:180px;margin-top:70px;min-height:calc(100vh - 70px)}.content-header{width:calc(100% - 180px);height:70px}.content-header{padding:0 1.5rem;height:70px;flex-direction:column;text-align:center}.content-header h1{font-size:1.3rem}.sidebar-item{padding:8px 12px;gap:10px}.sidebar-icon{width:20px;height:20px;font-size:16px}}@media (max-width: 480px){.sidebar{width:160px}.main-content{margin-left:160px;margin-top:60px;min-height:calc(100vh - 60px)}.content-header{width:calc(100% - 160px);height:60px}.content-header{padding:0 1rem;height:60px}.content-header h1{font-size:1.1rem}.content-area{padding:.5rem}.sidebar-item{padding:6px 8px;gap:8px}.sidebar-icon{width:18px;height:18px;font-size:14px}}.clickable-stat{cursor:pointer;transition:all .2s ease;border-radius:6px;padding:4px 8px;margin:0 2px}.clickable-stat:hover{background-color:#f0f9ff;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.clickable-stat:active{transform:translateY(0);background-color:#e0f2fe}.items-modal{max-width:800px;max-height:80vh;overflow:hidden}.items-modal .modal-body{max-height:60vh;overflow-y:auto;padding:20px}.items-list{display:flex;flex-direction:column;gap:16px}.item-card{border:1px solid #e5e7eb;border-radius:8px;padding:16px;background:#fff;box-shadow:0 1px 3px #0000001a;transition:box-shadow .2s ease}.item-card:hover{box-shadow:0 4px 6px #0000001a}.item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f3f4f6}.item-header h4{margin:0;color:#1f2937;font-size:16px;font-weight:600}.item-status{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.item-status.pending{background-color:#fef3c7;color:#92400e}.item-status.completed{background-color:#d1fae5;color:#065f46}.item-status.updated{background-color:#dbeafe;color:#1e40af}.item-status.uploaded{background-color:#d1fae5;color:#065f46}.item-status.stored_in_db{background-color:#fef3c7;color:#92400e}.item-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.item-details p{margin:0;font-size:14px;color:#6b7280;line-height:1.4}.item-details strong{color:#374151;font-weight:600}.loading-message,.empty-message{text-align:center;padding:40px 20px;color:#6b7280;font-size:16px}.loading-message{color:#3b82f6}.file-link{color:#3b82f6;text-decoration:none;font-weight:500;padding:4px 8px;border-radius:4px;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid #e5e7eb;cursor:pointer;font-size:14px}.file-link:hover{background-color:#eff6ff;color:#1d4ed8;border-color:#3b82f6;transform:translateY(-1px);box-shadow:0 2px 4px #3b82f61a}.file-link:active{transform:translateY(0);background-color:#dbeafe;border-color:#1d4ed8}.file-stored-locally{color:#6b7280;font-style:italic;padding:2px 6px;border-radius:4px;background-color:#f9fafb;display:inline-flex;align-items:center;gap:4px}.file-size{font-size:12px;color:#6b7280;font-weight:400;margin-left:4px}@media (max-width: 768px){.items-modal{max-width:95vw;margin:20px}.item-details{grid-template-columns:1fr}.item-header{flex-direction:column;align-items:flex-start;gap:8px}}.sample-list-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.sample-list-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb;background:#f9fafb}.header-actions{display:flex;gap:12px;align-items:center}.template-download-btn{background:#10b981;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.template-download-btn:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}.sample-list-header h2{margin:0;color:#1f2937;font-size:1.5rem;font-weight:600}.add-sample-btn{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s}.add-sample-btn:hover{background:#2563eb}.filter-controls{background:#f8fafc;border-bottom:1px solid #e5e7eb;padding:20px}.filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.filter-row:last-child{margin-bottom:0}.filter-group{display:flex;flex-direction:column;gap:6px}.filter-group label{font-size:.85rem;font-weight:500;color:#374151}.filter-input,.filter-select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;background:#fff;transition:border-color .2s}.filter-input:focus,.filter-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.clear-filters-btn{padding:8px 16px;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;align-self:flex-end}.clear-filters-btn:hover{background:#f9fafb;border-color:#9ca3af}.results-count{font-size:.85rem;color:#6b7280;font-weight:500;align-self:flex-end;padding:8px 0}.sample-list{max-height:70vh;overflow-y:auto}.sample-row{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.sample-row:hover{background:#f9fafb}.sample-row-main{display:flex;align-items:center;padding:16px 20px;cursor:pointer;transition:all .2s;position:relative}.sample-row-main:hover{background:#f3f4f6}.sample-row-main.expanded{background:#eff6ff;border-bottom:none}.sample-row-main.expanded:focus{outline:none;background:#eff6ff}body.modal-open .sample-row-main{outline:none!important;background:#f8fafc!important}body.modal-open .sample-row-main:focus{outline:none!important;background:#f8fafc!important}body.modal-open .sample-row-main.expanded{background:#f8fafc!important;outline:none!important}body.modal-open .sample-row-main.expanded:hover{background:#f3f4f6!important}body.modal-open .sample-row-main.expanded{background:#f8fafc!important;outline:none!important;opacity:.3!important;pointer-events:none!important}body.modal-open .sample-row-main.expanded .sample-details{display:none!important}body.modal-open .sample-list-container,body.modal-open .sample-list,body.modal-open .sample-row,body.modal-open .sample-row-main{pointer-events:none!important}body.modal-open .sample-list-container{opacity:.3!important;filter:blur(.3px)}.sample-info{flex:1;min-width:0}.sample-id{font-size:1.1rem;font-weight:600;color:#1f2937;margin-bottom:4px}.sample-customer{font-size:.9rem;color:#6b7280}.sample-stats{display:flex;gap:24px;margin-right:20px}.stat{display:flex;flex-direction:column;align-items:center;min-width:80px}.stat-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;font-weight:500;margin-bottom:2px}.stat-value{font-size:.9rem;color:#1f2937;font-weight:500}.sample-actions{display:flex;gap:8px;margin-right:12px}.action-btn{padding:6px 12px;border:none;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}.edit-sample-btn{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.edit-sample-btn:hover{background:#e5e7eb;border-color:#9ca3af}.delete-sample-btn{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.delete-sample-btn:hover{background:#fee2e2;border-color:#fca5a5}.expand-icon{font-size:1.2rem;color:#6b7280;font-weight:700;width:20px;text-align:center}.sample-details{background:#f8fafc;border-top:1px solid #e5e7eb;padding:20px}.sample-details-info{display:grid;grid-template-columns:1fr;gap:24px}.detail-section h4{margin:0 0 12px;color:#1f2937;font-size:1rem;font-weight:600}.detail-section p{margin:6px 0;color:#374151;font-size:.9rem}.detail-section p strong{color:#1f2937;font-weight:600}.file-link{background:none;border:none;color:#3b82f6;text-decoration:underline;cursor:pointer;font-size:inherit;padding:0;margin:0}.file-link:hover{color:#2563eb}.midsheet-download-section{margin-bottom:20px}.midsheet-download-card{display:flex;align-items:flex-start;gap:16px;padding:20px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;position:relative}.midsheet-download-card .midsheet-icon{font-size:32px;flex-shrink:0;margin-top:4px}.midsheet-content{flex:1}.midsheet-content h4{margin:0 0 8px;color:#0369a1;font-size:18px;font-weight:600}.midsheet-content p{margin:0 0 12px;color:#0369a1;font-size:14px;line-height:1.4}.midsheet-details{display:flex;align-items:center;gap:8px;margin-bottom:16px}.midsheet-filename{font-family:Courier New,monospace;font-size:13px;color:#0369a1;background:#ffffffb3;padding:4px 8px;border-radius:4px;border:1px solid #bae6fd}.midsheet-size{font-size:12px;color:#64748b;background:#ffffffb3;padding:4px 8px;border-radius:4px}.download-midsheet-btn{background:#0369a1;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.download-midsheet-btn:hover{background:#0284c7;transform:translateY(-1px);box-shadow:0 4px 8px #0369a14d}.close-midsheet-btn{position:absolute;top:12px;right:12px;background:none;border:none;font-size:20px;color:#64748b;cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.close-midsheet-btn:hover{background:#ffffff80;color:#374151}.test-uploads-list{margin-bottom:20px}.test-upload-item{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:12px}.test-upload-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.test-upload-info{display:flex;align-items:flex-start;gap:12px;flex:1}.test-type-icon{font-size:20px;margin-top:2px}.test-details h5{margin:0 0 4px;color:#1f2937;font-size:16px;font-weight:600}.test-meta{margin:0;color:#6b7280;font-size:13px}.test-upload-actions{display:flex;gap:8px}.download-test-btn{background:#3b82f6;color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.download-test-btn:hover{background:#2563eb;transform:translateY(-1px)}.delete-test-btn{background:#fee2e2;color:#dc2626;border:none;padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.delete-test-btn:hover{background:#fecaca;transform:translateY(-1px)}.midsheet-section{background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;padding:12px;margin-top:12px}.midsheet-section .midsheet-info{display:flex;align-items:center;gap:12px;padding:0;background:none;border:none;margin:0}.midsheet-section .midsheet-icon{font-size:18px;margin:0}.midsheet-section .midsheet-details{flex:1}.midsheet-section .midsheet-details strong{display:block;color:#0369a1;font-size:13px;margin-bottom:2px}.midsheet-section .midsheet-details p{margin:0;color:#0369a1;font-size:12px}.download-midsheet-btn-small{background:#0369a1;color:#fff;border:none;padding:4px 8px;border-radius:4px;font-size:11px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:4px}.download-midsheet-btn-small:hover{background:#0284c7;transform:translateY(-1px)}.test-upload-buttons{display:flex;gap:12px;flex-wrap:wrap}.test-upload-btn{padding:10px 16px;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.dryflow-btn{background:#f0f9ff;color:#0369a1;border:1px solid #bae6fd}.dryflow-btn:hover{background:#e0f2fe;border-color:#7dd3fc}.lab-btn{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.lab-btn:hover{background:#dcfce7;border-color:#86efac}.xrd-btn{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.xrd-btn:hover{background:#fde68a;border-color:#fcd34d}.sizes-list{max-height:200px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:4px;background:#fff}.size-item{padding:8px 12px;border-bottom:1px solid #f3f4f6;font-size:.85rem;color:#374151}.size-item:last-child{border-bottom:none}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001}.modal-content{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;color:#1f2937;font-size:1.25rem;font-weight:600}.close-btn{background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:4px;line-height:1}.close-btn:hover{color:#374151}.sample-form{padding:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group.full-width{grid-column:1 / -1}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:500;color:#374151;margin-bottom:6px;font-size:.9rem}.form-group input{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.form-group textarea{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s}.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.file-selected{margin-top:8px;padding:8px 12px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:4px;color:#0369a1;font-size:.85rem}.form-group small{margin-top:4px;font-size:.75rem;color:#6b7280}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.cancel-btn{padding:10px 20px;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:6px;font-weight:500;cursor:pointer;transition:all .2s}.submit-button{padding:10px 20px;border:none;background:#3b82f6;color:#fff;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s}.submit-button:hover:not(:disabled){background:#2563eb}.submit-button:disabled{background:#9ca3af;cursor:not-allowed}.loading-message,.empty-message{text-align:center;padding:40px 20px;color:#6b7280;font-size:1rem}.empty-message{background:#f9fafb;border-radius:6px;margin:20px}.submit-message{padding:12px 16px;border-radius:6px;margin-bottom:20px;font-weight:500}.submit-message.success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0}.submit-message.error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}@media (max-width: 768px){.filter-row{grid-template-columns:1fr;gap:12px}.sample-row-main{flex-direction:column;align-items:flex-start;gap:12px}.sample-stats{flex-wrap:wrap;gap:12px;margin-right:0}.sample-actions{margin-right:0;width:100%;justify-content:flex-end}.form-row{grid-template-columns:1fr}.modal-content{width:95%;margin:20px}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2147480000;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);isolation:isolate}.test-upload-modal{max-width:500px;width:100%;margin:20px;box-shadow:0 25px 50px -12px #00000040;border-radius:12px;overflow:hidden;animation:modalSlideIn .2s ease-out;position:relative;z-index:100000;background:#fff;isolation:isolate;contain:layout style paint;display:flex;flex-direction:column;max-height:90vh}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:16px 20px;position:relative;z-index:100001}.modal-header h3{margin:0;color:#1f2937;font-size:1.25rem;font-weight:600;letter-spacing:-.025em}.close-btn{position:absolute;top:16px;right:20px;background:none;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;padding:4px;line-height:1;border-radius:4px;transition:all .2s}.close-btn:hover{color:#374151;background:#f3f4f6}.modal-body{padding:20px;background:#fff;position:relative;z-index:100001;isolation:isolate;contain:layout style paint;display:flex;flex-direction:column;gap:0;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1 1 auto}.sample-info{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:20px;position:relative;z-index:10002;flex-shrink:0}.sample-info:after{content:"";display:block;height:1px;background:#e5e7eb;margin-top:12px;margin-left:-16px;margin-right:-16px}.sample-info h4{margin:0 0 12px;color:#1f2937;font-size:.95rem;font-weight:600}.sample-info p{margin:6px 0;color:#374151;font-size:.85rem;line-height:1.4}.sample-info p strong{color:#1f2937;font-weight:600}.test-upload-form{display:flex;flex-direction:column;gap:18px;position:relative;z-index:10002;background:#fff;padding:0;margin:0}.test-upload-form .form-group{display:flex;flex-direction:column;gap:6px;position:relative;z-index:10003;background:#fff;padding:0;margin:0}.test-upload-form .form-group label{font-weight:500;color:#374151;font-size:.9rem;margin-bottom:4px}.test-upload-form .form-group input[type=text],.test-upload-form .form-group input[type=date],.test-upload-form .form-group textarea{padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;transition:all .2s;background:#fff;color:#1f2937;font-family:inherit}.test-upload-form .form-group input[type=date]{position:relative;cursor:pointer}.test-upload-form .form-group input[type=date]::-webkit-calendar-picker-indicator{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;opacity:.6;transition:opacity .2s}.test-upload-form .form-group input[type=date]:hover::-webkit-calendar-picker-indicator{opacity:1}.test-upload-form .form-group input[type=text]:focus,.test-upload-form .form-group input[type=date]:focus,.test-upload-form .form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.test-upload-form .form-group input[type=text]::placeholder{color:#9ca3af}.midsheet-info{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-top:6px}.midsheet-icon{font-size:24px;flex-shrink:0;margin-top:2px}.midsheet-text{flex:1}.midsheet-text strong{display:block;color:#0369a1;font-size:14px;font-weight:600;margin-bottom:4px}.midsheet-text p{margin:0;color:#0369a1;font-size:13px;line-height:1.4}.file-upload-container{position:relative}.file-upload-input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.file-upload-display{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;background:#fff;transition:all .2s;cursor:pointer}.file-upload-display:hover{border-color:#3b82f6;background:#f8fafc}.file-upload-button{padding:8px 16px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#374151;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.file-upload-button:hover{background:#e5e7eb;border-color:#9ca3af}.file-upload-text{flex:1;color:#6b7280;font-size:.9rem;font-style:italic}.file-upload-text.has-file{color:#1f2937;font-style:normal;font-weight:500}.test-upload-form .form-group small{margin-top:6px;font-size:.75rem;color:#6b7280;line-height:1.4}.runs-input-row{display:flex;gap:8px}.runs-number-input{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:.9rem;flex:1}.runs-number-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.add-run-btn{padding:8px 14px;border:1px solid #d1d5db;background:#f9fafb;color:#111827;border-radius:8px;font-weight:500;cursor:pointer;font-size:.9rem}.add-run-btn:hover{background:#f3f4f6}.runs-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.run-chip{display:inline-flex;align-items:center;gap:6px;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;padding:6px 10px;border-radius:9999px;font-size:.85rem}.chip-remove{background:transparent;border:none;color:#4f46e5;font-size:14px;line-height:1;cursor:pointer}.chip-remove:hover{color:#3730a3}.runs-hint{display:block;margin-top:6px}.runs-error{color:#b91c1c!important}.include-head-checkbox-container{margin-top:16px;padding-top:16px;border-top:1px solid #e5e7eb}.include-head-label{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:0;background:transparent;border:none;border-radius:0;transition:all .2s ease;margin-bottom:8px;width:auto;max-width:fit-content}.include-head-label:hover .include-head-label-text{color:#1f2937}.include-head-label:has(.include-head-checkbox:focus){outline:none}.include-head-checkbox{width:16px;height:16px;min-width:16px;min-height:16px;max-width:16px;max-height:16px;margin:0;cursor:pointer;accent-color:#3b82f6;flex-shrink:0;flex-grow:0;border:1.5px solid #d1d5db;border-radius:3px;appearance:none;-webkit-appearance:none;-moz-appearance:none;position:relative;transition:all .2s ease;background:#fff;box-sizing:border-box}.include-head-checkbox:checked{background:#3b82f6;border-color:#3b82f6}.include-head-checkbox:checked:after{content:"";position:absolute;left:4px;top:1px;width:3px;height:6px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.include-head-checkbox:focus{outline:none;box-shadow:0 0 0 3px #3b82f61a}.include-head-label-text{font-weight:500;color:#374151;font-size:.9rem;white-space:nowrap}.include-head-hint{display:block;margin-top:6px;padding-left:26px;color:#6b7280;font-size:.8rem;line-height:1.5}.file-selected{margin-top:8px;padding:10px 12px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;color:#0369a1;font-size:.85rem;font-weight:500}.error-message{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;border-radius:8px;padding:10px 14px;font-size:.85rem;font-weight:500;margin-top:6px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb;position:relative;z-index:10003;background:#fff}.cancel-btn{padding:10px 20px;border:1px solid #d1d5db;background:#fff;color:#374151;border-radius:8px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s;min-width:80px}.cancel-btn:hover{background:#f9fafb;border-color:#9ca3af}.submit-button{padding:10px 20px;border:none;background:#3b82f6;color:#fff;border-radius:8px;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s;min-width:140px}.submit-button:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.submit-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}@media (max-width: 640px){.test-upload-modal{max-width:95%;margin:20px}.modal-header,.modal-body{padding-left:20px;padding-right:20px}.form-actions{flex-direction:column}.cancel-btn,.submit-button{width:100%}}.sample-declaration{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.sample-declaration-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;border-radius:15px;border:1px solid rgba(255,255,255,.2)}.sample-declaration-header h1{color:#fff;margin:0;font-size:2.5rem;font-weight:300;text-shadow:0 2px 4px rgba(0,0,0,.3)}.sample-declaration-nav{display:flex;gap:15px;margin-bottom:30px}.add-declaration-section{margin-bottom:30px}.add-button{background:linear-gradient(45deg,#4caf50,#45a049);color:#fff;border:none;padding:15px 30px;border-radius:8px;cursor:pointer;font-size:1.1rem;font-weight:500;transition:all .3s ease;box-shadow:0 4px 15px #4caf504d}.add-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.declaration-form{background:#fffffff2;padding:30px;border-radius:15px;margin-bottom:30px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.declaration-form h2{color:#333;margin-bottom:25px;font-size:1.8rem;font-weight:400}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.submit-button{background:linear-gradient(45deg,#4caf50,#45a049);color:#fff;border:none;padding:12px 30px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #4caf504d}.declarations-list{background:#fffffff2;padding:30px;border-radius:15px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.declarations-list h2{color:#333;margin-bottom:25px;font-size:1.8rem;font-weight:400}.declarations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.declaration-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.declaration-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.declaration-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.declaration-header h3{color:#333;margin:0;font-size:1.3rem;font-weight:500;flex:1}.declaration-description{color:#666;margin-bottom:15px;font-style:italic;line-height:1.4}.declaration-details{margin-bottom:15px}.declaration-actions{margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0}.download-button{display:inline-block;background:linear-gradient(45deg,#2196f3,#1976d2);color:#fff;text-decoration:none;padding:10px 20px;border-radius:6px;font-size:.9rem;font-weight:500;transition:all .3s ease;box-shadow:0 2px 8px #2196f34d}.download-button:hover{transform:translateY(-2px);box-shadow:0 4px 15px #2196f366;text-decoration:none;color:#fff}@media (max-width: 768px){.sample-declaration{padding:15px}.sample-declaration-header{flex-direction:column;gap:15px;text-align:center}.sample-declaration-header h1{font-size:2rem}.sample-declaration-nav{flex-direction:column}.declarations-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.declaration-header{flex-direction:column;gap:10px}.delete-button{align-self:flex-end}}.sample-receipt{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.sample-receipt-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:20px;border-radius:15px;border:1px solid rgba(255,255,255,.2)}.sample-receipt-header h1{color:#fff;margin:0;font-size:2.5rem;font-weight:300;text-shadow:0 2px 4px rgba(0,0,0,.3)}.sample-receipt-nav{display:flex;gap:15px;margin-bottom:30px}.nav-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:12px 24px;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.nav-button:hover{background:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.message{padding:15px;border-radius:8px;margin-bottom:20px;font-weight:500}.message.success{background:#4caf5033;color:#4caf50;border:1px solid rgba(76,175,80,.3)}.message.error{background:#f4433633;color:#f44336;border:1px solid rgba(244,67,54,.3)}.add-receipt-section{margin-bottom:30px}.add-button{background:linear-gradient(45deg,#ff9800,#f57c00);color:#fff;border:none;padding:15px 30px;border-radius:8px;cursor:pointer;font-size:1.1rem;font-weight:500;transition:all .3s ease;box-shadow:0 4px 15px #ff98004d}.add-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff980066}.receipt-form{background:#fffffff2;padding:30px;border-radius:15px;margin-bottom:30px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;width:95%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 40px #0003}.modal-content.two-column{display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.modal-header h3{margin:0;color:#1f2937}.close-btn{background:transparent;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer}.modal-body{display:flex;flex:1;min-height:0}.declaration-pane{padding:12px;border-right:1px solid #e5e7eb;overflow-y:auto;flex:1;min-width:0}.receipt-form-pane{padding:12px;overflow-y:auto;flex:1;min-width:0}.modal-content .form-group{margin-bottom:10px}.modal-content .form-group label{font-size:.85rem;margin-bottom:4px}.modal-content .form-group input,.modal-content .form-group textarea{padding:8px 10px;font-size:.85rem}.modal-content .form-actions{gap:8px;margin-top:12px}.modal-content .submit-button,.modal-content .cancel-button{padding:8px 14px;font-size:.85rem}.decl-details .detail{margin-bottom:8px;color:#374151}.muted{color:#9ca3af}.download-link{color:#1a94d8;text-decoration:none}.download-link:hover{text-decoration:underline}@media (max-width: 768px){.modal-body{flex-direction:column;height:auto;max-height:90vh}.declaration-pane{border-right:none;border-bottom:1px solid #e5e7eb}}.receipt-form h2{color:#333;margin-bottom:25px;font-size:1.8rem;font-weight:400}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:500;font-size:1rem}.form-group input,.form-group textarea{width:100%;padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s ease;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#ff9800;box-shadow:0 0 0 3px #ff98001a}.form-group small{color:#666;font-size:.9rem;margin-top:5px;display:block}.form-actions{display:flex;gap:15px;margin-top:25px}.submit-button{background:linear-gradient(45deg,#ff9800,#f57c00);color:#fff;border:none;padding:12px 30px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #ff98004d}.submit-button:disabled{opacity:.6;cursor:not-allowed}.cancel-button{background:#f44336;color:#fff;border:none;padding:12px 30px;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:500;transition:all .3s ease}.cancel-button:hover{background:#d32f2f;transform:translateY(-2px)}.receipts-list{background:#fffffff2;padding:30px;border-radius:15px;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.receipts-list h2{color:#333;margin-bottom:25px;font-size:1.8rem;font-weight:400}.loading,.error,.no-data{text-align:center;padding:40px;color:#666;font-size:1.1rem}.error{color:#f44336}.receipts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.receipt-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:20px;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.receipt-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.receipt-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.receipt-header h3{color:#333;margin:0;font-size:1.3rem;font-weight:500;flex:1}.delete-button{background:#f44336;color:#fff;border:none;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:1.2rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .3s ease;margin-left:10px}.delete-button:hover{background:#d32f2f;transform:scale(1.1)}.receipt-description{color:#666;margin-bottom:15px;font-style:italic;line-height:1.4}.receipt-details{margin-bottom:15px}.detail-item{margin-bottom:8px;font-size:.9rem;color:#555}.detail-item strong{color:#333;font-weight:500}.receipt-actions{margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0}.download-button{display:inline-block;background:linear-gradient(45deg,#ff9800,#f57c00);color:#fff;text-decoration:none;padding:10px 20px;border-radius:6px;font-size:.9rem;font-weight:500;transition:all .3s ease;box-shadow:0 2px 8px #ff98004d}.download-button:hover{transform:translateY(-2px);box-shadow:0 4px 15px #ff980066;text-decoration:none;color:#fff}@media (max-width: 768px){.sample-receipt{padding:15px}.sample-receipt-header{flex-direction:column;gap:15px;text-align:center}.sample-receipt-header h1{font-size:2rem}.sample-receipt-nav{flex-direction:column}.receipts-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.receipt-header{flex-direction:column;gap:10px}.delete-button{align-self:flex-end}}.archive-container{margin-left:240px;padding:40px 48px;max-width:1200px}.archive-tabs{display:flex;gap:8px;margin-bottom:24px;border-bottom:1px solid #e5e7eb}.tab-button{background:transparent;border:none;padding:12px 20px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s ease}.tab-button:hover{color:#374151;background:#f9fafb}.tab-button.active{color:#2563eb;border-bottom-color:#2563eb;background:#f8fafc}.archive-message{background:#dbeafe;color:#1e40af;padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.archive-message button{background:none;border:none;color:#1e40af;font-size:18px;cursor:pointer;padding:0;margin-left:12px}.upload-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px}.upload-forms{display:grid;grid-template-columns:1fr 1fr;gap:32px}.upload-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.upload-form h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#111827}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:13px;font-weight:500;color:#374151;margin-bottom:6px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#fff}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.form-group textarea{resize:vertical;min-height:80px}.btn-primary{background:#2563eb;color:#fff;border:none;border-radius:6px;padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-primary:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.btn-primary:disabled{background:#93c5fd;cursor:not-allowed;transform:none}.archive-list{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px}.empty-state{text-align:center;color:#6b7280;font-size:16px;padding:40px}.document-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.document-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .15s ease}.document-card:hover{border-color:#d1d5db;box-shadow:0 4px 6px -1px #0000001a}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.card-header h4{margin:0;font-size:16px;font-weight:600;color:#111827;flex:1}.card-date{font-size:12px;color:#6b7280;white-space:nowrap;margin-left:12px}.card-content{margin-bottom:16px}.card-content p{margin:0 0 8px;font-size:14px;color:#374151;line-height:1.4}.card-content p:last-child{margin-bottom:0}.card-actions{display:flex;gap:8px}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-secondary:hover{background:#e5e7eb;border-color:#9ca3af}@media (max-width: 1024px){.archive-container{margin-left:200px;padding:32px 24px}.upload-forms{grid-template-columns:1fr;gap:24px}.document-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}}@media (max-width: 768px){.archive-container{margin-left:180px;padding:24px 16px}.archive-tabs{flex-wrap:wrap;gap:4px}.tab-button{padding:8px 12px;font-size:13px}.upload-form{padding:16px}.document-card{padding:12px}.card-header{flex-direction:column;align-items:flex-start}.card-date{margin-left:0;margin-top:4px}}@media (max-width: 480px){.archive-container{margin-left:160px;padding:16px 12px}.document-grid{grid-template-columns:1fr}}*{margin:0;padding:0;box-sizing:border-box}html,body{margin:0;padding:0;height:100%}.app-layout{display:flex;min-height:100vh;background:#fff;margin:0;padding:0;position:relative;top:0;left:0}.sidebar{position:fixed;left:0;top:0;width:240px;height:100vh;background:#f8f9fa;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;z-index:100}.sidebar-header{padding:20px 16px;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;height:80px}.sidebar-logo{height:40px;width:auto;object-fit:contain}.sidebar-content{flex:1;padding:8px 0;overflow-y:auto}.sidebar-section{display:flex;flex-direction:column}.sidebar-item{display:flex;align-items:center;gap:16px;padding:12px 16px;background:transparent;border:none;color:#374151;font-size:14px;font-weight:400;cursor:pointer;transition:background-color .15s ease;text-align:left;width:100%}.sidebar-item:hover{background:#e5e7eb}.sidebar-item.active{background:#dbeafe;color:#1d4ed8;font-weight:500}.sidebar-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#6b7280}.sidebar-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer{padding:16px;border-top:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center}.main-content{margin:80px 0 0 240px;flex:1;display:flex;flex-direction:column;min-height:calc(100vh - 80px);padding:0}.content-header{display:flex;justify-content:space-between;align-items:center;padding:0 2rem;background:#262262;color:#fff;height:80px;width:calc(100% - 240px);position:fixed;top:0;right:0;z-index:99;margin:0}.content-header h1{margin:0;font-size:1.5rem;font-weight:600}.content-status{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.status-indicator{width:8px;height:8px;background:#4ade80;border-radius:50%}.content-area{flex:1;padding:1rem;background:#fff;overflow-y:auto}.return-home-btn{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;margin-bottom:20px;transition:all .2s ease}.return-home-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.search-filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.search-input{flex:1;min-width:180px;padding:10px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;transition:all .2s ease;background-color:#fff}.search-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.sort-section{margin-bottom:24px}.sort-btn{background:#3b82f6;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease}.sort-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.sort-icon{font-size:.75rem}.programs-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;padding:24px;margin-bottom:24px}.program-form-container{margin-top:24px}.form-message,.page-message{padding:12px 16px;border-radius:8px;font-size:.875rem;font-weight:500;margin-bottom:16px;border:1px solid transparent}.form-message.error,.page-message.error{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.form-message.success,.page-message.success{background:#d1fae5;color:#065f46;border-color:#a7f3d0}.form-message.info,.page-message.info{background:#dbeafe;color:#1e40af;border-color:#93c5fd}.program-form{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:24px}.form-column-left,.form-column-right{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.75rem;font-weight:600;color:#1a1a1a;text-transform:uppercase;letter-spacing:.05em}.form-group input,.form-group textarea,.form-group select{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;font-family:inherit;transition:all .2s ease;background-color:#fff}.form-group select{cursor:pointer}.form-group select:disabled{background-color:#f3f4f6;cursor:not-allowed;color:#6b7280}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;min-height:120px}.field-hint{font-size:.75rem;color:#6b7280;margin-top:-4px}.deposit-input-wrapper{display:flex;gap:8px;align-items:flex-start;margin-bottom:8px}.deposit-input-wrapper input,.deposit-input-wrapper select{flex:1}.add-deposit-btn{background:#3b82f6;color:#fff;border:none;padding:10px 16px;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s ease}.add-deposit-btn:hover:not(:disabled){background:#2563eb}.add-deposit-btn:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.remove-deposit-btn{background:#ef4444;color:#fff;border:none;padding:10px 12px;border-radius:6px;font-size:.875rem;cursor:pointer;transition:all .2s ease;min-width:36px}.remove-deposit-btn:hover{background:#dc2626}.form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:24px;border-top:1px solid #e5e7eb}.cancel-btn{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;padding:10px 20px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background:#e5e7eb}.submit-btn{padding:10px 20px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.section-header h2{color:#1a1a1a;font-size:1.5rem;font-weight:600;margin:0}.section-actions{display:flex;gap:12px;align-items:center}.green-btn{background:#10b981;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.green-btn:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.green-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.red-btn{background:#ef4444;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.red-btn:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.red-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none;box-shadow:none}.add-new-btn{white-space:nowrap}.table-container{overflow-x:auto}.programs-table{width:100%;border-collapse:collapse;font-size:.875rem}.programs-table thead{background:#f8fafc}.programs-table th{padding:12px 16px;text-align:left;font-weight:600;color:#1a1a1a;border-bottom:2px solid #e5e7eb;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.programs-table td{padding:12px 16px;border-bottom:1px solid #e5e7eb;color:#374151}.program-phase-label{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#eef2ff;color:#312e81;font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.program-phase-label.loading{background:#fef3c7;color:#92400e}.program-phase-label.empty{background:#f3f4f6;color:#4b5563}.programs-table tbody tr:hover{background:#f8fafc}.program-row.selected{background:#eff6ff}.program-row.selected td{border-top:1px solid #bfdbfe;border-bottom:1px solid #bfdbfe}.program-detail-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;border:1px solid #e5e7eb;padding:24px;margin-bottom:32px}.section-header.small{margin-bottom:16px}.program-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.program-detail-grid .form-group{margin-bottom:0}.description-group input{width:100%}.form-inline-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-top:8px}.program-phases-section{margin-top:32px}.program-phase-list{display:flex;flex-direction:column;gap:16px}.program-phase-card{border:1px solid #e5e7eb;border-radius:8px;padding:16px;background:#fff}.program-phase-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.program-phase-header h4{margin:0;font-size:1.1rem;color:#111827}.phase-type{display:inline-block;margin-top:4px;font-size:.75rem;color:#2563eb;background:#eff6ff;padding:2px 8px;border-radius:9999px}.program-phase-actions{display:flex;gap:8px}.phase-action-btn{background:#3b82f6;color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:.75rem;cursor:pointer;transition:background .2s ease}.phase-action-btn:hover{background:#2563eb}.phase-delete-btn{background:#ef4444}.phase-delete-btn:hover{background:#dc2626}.program-phase-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;font-size:.875rem;color:#374151}.phase-attachments{margin-top:12px;font-size:.85rem}.phase-attachments ul{padding-left:18px;margin:6px 0 0}.phase-modal-backdrop{position:fixed;inset:0;background:#0f172a66;display:flex;align-items:stretch;justify-content:stretch;z-index:1000}.phase-modal{background:#fff;padding:24px;border-radius:0;box-shadow:none;width:100vw;height:100vh;display:flex;flex-direction:column;gap:16px;overflow:hidden}.phase-modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e5e7eb;padding-bottom:12px;flex-shrink:0}.phase-modal-header h3{margin:0;font-size:1.2rem;color:#1f2937}.phase-modal-body{flex:1;overflow-y:auto;padding-right:4px;min-height:0}.phase-section{margin-top:24px;padding:16px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.phase-section h4{margin:0 0 16px;font-size:1rem;font-weight:600;color:#1f2937;padding-bottom:8px;border-bottom:2px solid #d1d5db}.phase-section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;align-items:start}.phase-section-grid .form-group{width:100%;margin-bottom:0}.phase-section-grid .form-group input,.phase-section-grid .form-group textarea,.phase-section-grid .form-group select{width:100%}.phase-section[data-section-type=operational-details] .phase-section-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.phase-section[data-section-type=environment-data] .phase-section-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.phase-section[data-section-type=notes] .phase-section-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.phase-section[data-section-type=phase-information] .phase-section-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.toggle-group{display:flex;justify-content:space-between;align-items:center}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#d1d5db;transition:.2s;border-radius:24px}.toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.2s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#10b981}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.phase-attachment-list{list-style:none;padding:0;margin:8px 0 0}.phase-attachment-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 10px;background:#f9fafb;border-radius:6px;font-size:.85rem}.phase-attachment-list li button{background:none;border:none;color:#ef4444;cursor:pointer}.attachment-link{background:none;border:none;color:#2563eb;cursor:pointer;text-decoration:underline;padding:0;font-size:inherit;font-family:inherit}.attachment-link:hover{color:#1d4ed8;text-decoration:none}.phase-attachments .attachment-link{color:#2563eb;text-decoration:underline;background:none;border:none;cursor:pointer;padding:0;font-size:inherit;font-family:inherit}.phase-attachments .attachment-link:hover{color:#1d4ed8;text-decoration:none}.phase-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding-top:12px;border-top:1px solid #e5e7eb;flex-shrink:0}.table-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #d1d5db}.table-section-header h4{margin:0;font-size:1rem;font-weight:600;color:#1f2937}.table-section-body{display:flex;flex-direction:column;gap:16px}.table-row{border:1px solid #e5e7eb;border-radius:8px;padding:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;background:#fff;align-items:start;box-shadow:0 1px 3px #0000001a}.table-row .form-group{width:100%;margin-bottom:0}.table-row .form-group input,.table-row .form-group textarea,.table-row .form-group select{width:100%}.table-row .delete-row-btn{grid-column:1 / -1;justify-self:flex-end;margin-top:8px}.delete-row-btn{background:#ef4444;color:#fff;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;transition:background .2s ease}.delete-row-btn:hover{background:#dc2626}.program-customer-cell{display:flex;flex-direction:column;gap:2px}.program-customer-name{font-weight:600;color:#111827}.program-customer-origin{font-size:.75rem;color:#6b7280}.program-deposit-name{font-size:.75rem;color:#2563eb}.empty-message{text-align:center;padding:48px 24px;color:#6b7280;font-size:1rem;font-style:italic}@media (max-width: 1024px){.program-form{grid-template-columns:1fr;gap:24px}.program-detail-grid{grid-template-columns:1fr}}@media (max-width: 768px){.sidebar{width:200px}.main-content{margin-left:200px;margin-top:80px;min-height:calc(100vh - 80px)}.content-header{width:calc(100% - 200px)}.search-filters{flex-direction:column}.search-input{min-width:100%}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.table-container{overflow-x:scroll}}@media (max-width: 480px){.sidebar{width:180px}.main-content{margin-left:180px;margin-top:70px;min-height:calc(100vh - 70px)}.content-header{width:calc(100% - 180px);height:70px;padding:0 1rem}.content-header h1{font-size:1.2rem}}.multicheck-group{margin-bottom:16px}.multicheck-options{display:flex;flex-direction:column;gap:8px;margin-top:8px}.multicheck-option{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#f9fafb;border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.multicheck-option:hover{background:#f3f4f6}.multicheck-option input[type=checkbox]{cursor:pointer;width:18px;height:18px;margin:0}.multicheck-option span{flex:1;font-size:.9rem;color:#374151}.multicheck-option.custom-option{background:#eff6ff;border:1px solid #bfdbfe}.multicheck-option.custom-option:hover{background:#dbeafe}.remove-custom-btn{background:#ef4444;color:#fff;border:none;border-radius:4px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;line-height:1;padding:0;flex-shrink:0}.remove-custom-btn:hover{background:#dc2626}.multicheck-custom{margin-top:8px;padding-top:8px;border-top:1px dashed #d1d5db}.add-more-btn{background:#f3f4f6;border:1px dashed #9ca3af;color:#6b7280;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.add-more-btn:hover{background:#e5e7eb;border-color:#6b7280;color:#374151}.custom-input-group{display:flex;gap:8px;align-items:center}.custom-input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem}.custom-input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.add-custom-btn,.cancel-custom-btn{padding:8px 16px;border-radius:6px;font-size:.9rem;cursor:pointer;border:none;transition:all .2s}.add-custom-btn{background:#2563eb;color:#fff}.add-custom-btn:hover{background:#1d4ed8}.cancel-custom-btn{background:#f3f4f6;color:#374151}.cancel-custom-btn:hover{background:#e5e7eb}
