.qr-scanner-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(43,100,97,.95);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.qr-scanner-container{width:100%;max-width:500px;background:#FFFFFF;border-radius:20px;padding:24px;display:flex;flex-direction:column;max-height:90vh;box-shadow:0 8px 24px #00000026}.qr-scanner-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #E8F0EB}.qr-scanner-header h2{margin:0;color:#2b6461;font-size:22px;font-weight:600;font-family:sans-serif}.qr-scanner-content{flex:1;display:flex;align-items:center;justify-content:center;min-height:300px;position:relative;background:#F5F5F5;border-radius:14px;padding:20px;margin-bottom:20px}.qr-reader{width:100%;max-width:400px;border-radius:14px;overflow:hidden;position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent}.qr-focus-indicator{position:absolute;width:60px;height:60px;border:2px solid #FFFFFF;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;box-shadow:0 0 10px #ffffff80;z-index:1000}.qr-focus-indicator.focusing{animation:qrFocusAnimation .6s ease-out forwards}@keyframes qrFocusAnimation{0%{opacity:1;transform:translate(-50%,-50%) scale(1.5)}50%{opacity:1;transform:translate(-50%,-50%) scale(.8)}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}.qr-scanner-error{text-align:center;padding:40px 20px}.qr-scanner-error p{color:#d32f2f;margin-bottom:24px;font-size:16px;font-weight:500}.qr-scanner-footer{padding-top:16px;border-top:2px solid #E8F0EB;text-align:center}.qr-scanner-footer p{color:#5b6c68;font-size:14px;margin:0;font-weight:500}#qr-reader{border:none!important;background:transparent!important}#qr-reader__dashboard,#qr-reader__camera_selection{display:none!important}#qr-reader__scan_region{border-radius:14px!important}@media (max-width: 768px){.qr-scanner-container{padding:20px;margin:10px}.qr-scanner-header h2{font-size:20px}.qr-scanner-content{min-height:250px;padding:15px}}.dark-theme .qr-scanner-overlay{background:rgba(18,50,47,.95)}.dark-theme .qr-scanner-container{background:var(--dark-bg-secondary, #243836);box-shadow:0 8px 24px #0006}.dark-theme .qr-scanner-header{border-bottom-color:var(--dark-border, #3a5553)}.dark-theme .qr-scanner-header h2{color:var(--dark-accent, #5DB075)}.dark-theme .qr-scanner-content{background:var(--dark-bg-tertiary, #2d4543)}.dark-theme .qr-scanner-error p{color:#e57373}.dark-theme .qr-scanner-footer{border-top-color:var(--dark-border, #3a5553)}.dark-theme .qr-scanner-footer p{color:var(--dark-text-secondary, #9DB5A8)}.ocr-scanner-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(43,100,97,.95);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.ocr-scanner-container{width:100%;max-width:500px;background:#FFFFFF;border-radius:20px;padding:24px;display:flex;flex-direction:column;max-height:90vh;box-shadow:0 8px 24px #00000026}.ocr-scanner-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #E8F0EB}.ocr-scanner-header h2{margin:0;color:#2b6461;font-size:22px;font-weight:600;font-family:sans-serif}.ocr-scanner-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;position:relative;background:#F5F5F5;border-radius:14px;padding:20px;margin-bottom:20px}.ocr-options{display:flex;flex-direction:column;gap:16px;width:100%;max-width:300px}.ocr-option-btn{--background: #2B6461;--color: #FFFFFF;--border-radius: 20px;--padding-top: 14px;--padding-bottom: 14px;font-weight:500;width:100%}.ocr-camera-view{width:100%;display:flex;flex-direction:column;align-items:center;gap:20px;position:relative}.ocr-video{width:100%;max-width:400px;border-radius:14px;background:#000;cursor:pointer;-webkit-tap-highlight-color:transparent}.focus-indicator{position:absolute;width:60px;height:60px;border:2px solid #FFFFFF;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;box-shadow:0 0 10px #ffffff80}.focus-indicator.focusing{animation:focusAnimation .6s ease-out forwards}@keyframes focusAnimation{0%{opacity:1;transform:translate(-50%,-50%) scale(1.5)}50%{opacity:1;transform:translate(-50%,-50%) scale(.8)}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}.ocr-camera-controls{display:flex;justify-content:center;gap:16px}.capture-btn{--background: #2B6461;--color: #FFFFFF;--border-radius: 50%;width:64px;height:64px;--padding: 0}.ocr-preview{width:100%;display:flex;justify-content:center}.ocr-preview-image{max-width:100%;max-height:400px;border-radius:14px;object-fit:contain}.ocr-processing{display:flex;flex-direction:column;align-items:center;gap:20px;padding:40px 20px}.ocr-processing p{color:#2b6461;font-size:16px;font-weight:500;margin:0}.ocr-scanner-error{text-align:center;padding:20px;background:#FFEBEE;border-radius:14px;width:100%}.ocr-scanner-error p{color:#d32f2f;margin:0;font-size:14px;font-weight:500}.ocr-scanner-footer{padding-top:16px;border-top:2px solid #E8F0EB;text-align:center}.ocr-scanner-footer p{color:#5b6c68;font-size:14px;margin:0;font-weight:500}@media (max-width: 768px){.ocr-scanner-container{padding:20px;margin:10px}.ocr-scanner-header h2{font-size:20px}.ocr-scanner-content{min-height:250px;padding:15px}.ocr-options{max-width:100%}}.dark-theme .ocr-scanner-overlay{background:rgba(18,50,47,.95)}.dark-theme .ocr-scanner-container{background:var(--dark-bg-secondary, #243836);box-shadow:0 8px 24px #0006}.dark-theme .ocr-scanner-header{border-bottom-color:var(--dark-border, #3a5553)}.dark-theme .ocr-scanner-header h2{color:var(--dark-accent, #5DB075)}.dark-theme .ocr-scanner-content{background:var(--dark-bg-tertiary, #2d4543)}.dark-theme .ocr-option-btn{--background: var(--dark-accent, #5DB075)}.dark-theme .ocr-processing p{color:var(--dark-accent, #5DB075)}.dark-theme .ocr-scanner-error{background:rgba(211,47,47,.2)}.dark-theme .ocr-scanner-error p{color:#e57373}.dark-theme .ocr-scanner-footer{border-top-color:var(--dark-border, #3a5553)}.dark-theme .ocr-scanner-footer p{color:var(--dark-text-secondary, #9DB5A8)}.cycle-tracking-container{background:#FFFFFF;border-radius:20px;padding:24px;margin:16px;box-shadow:0 6px 16px #00000014}.cycle-tracking-title{font-size:18px;font-weight:600;color:#12322f;margin:0 0 16px;display:flex;align-items:center;gap:8px}.cycle-tracking-loading,.cycle-tracking-error,.cycle-tracking-empty{display:flex;align-items:center;justify-content:center;gap:12px;padding:32px;color:#5b6c68;font-size:14px;background:#FFFFFF;border-radius:20px;margin:16px;box-shadow:0 6px 16px #00000014}.cycle-tracking-error{color:#d32f2f;background:#FFEBEE}.cycle-tracking-summary{display:flex;gap:24px;margin-bottom:20px;padding:12px 16px;background:#E8F0EB;border-radius:12px;flex-wrap:wrap}.summary-item{display:flex;align-items:center;gap:8px}.summary-label{font-size:13px;color:#5b6c68}.summary-value{font-size:14px;font-weight:600;color:#12322f}.summary-value.ecart-delay{color:#d97706}.summary-value.ecart-advance{color:#2563eb}.summary-value.ecart-perfect{color:#059669}.cycle-chart-wrapper{margin-bottom:24px}.cycle-tooltip{background:#12322F;color:#fff;padding:10px 14px;border-radius:8px;font-size:12px;line-height:1.6}.cycle-table-container{overflow-x:auto;border-radius:12px;background:#E8F0EB;padding:8px}.cycle-table{width:100%;border-collapse:collapse;background:#FFFFFF;border-radius:12px;overflow:hidden;min-width:500px}.cycle-table thead{background:#2B6461;color:#fff}.cycle-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:13px;white-space:nowrap}.cycle-table th:first-child,.cycle-table td:first-child{position:sticky;left:0;z-index:5}.cycle-table th:first-child{z-index:10;background:#2B6461}.cycle-table td:first-child{background:inherit;box-shadow:2px 0 4px #00000014}.cycle-table tfoot td:first-child{background:#F5FAF7}.cycle-table tbody tr{border-bottom:1px solid #E8F0EB;transition:background-color .2s}.cycle-table tbody tr:last-child{border-bottom:none}.cycle-table td{padding:12px 16px;font-size:13px;color:#12322f}.stage-cell{font-weight:500}.total-row{background:#F5FAF7!important;border-top:2px solid #2B6461}.status-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.status-badge.status-perfect{background:#D1FAE5;color:#059669}.status-badge.status-perfect:before{content:"✓"}.status-badge.status-delay{background:#FEF3C7;color:#d97706}.status-badge.status-advance{background:#DBEAFE;color:#2563eb}.status-badge.status-pending{background:#F1F5F9;color:#94a3b8}.status-badge.status-in-progress{background:#E0F2FE;color:#0284c7}@media (max-width: 768px){.cycle-tracking-container{padding:16px;margin:8px}.cycle-tracking-summary{flex-direction:column;gap:12px}.cycle-table th,.cycle-table td{padding:10px 12px;font-size:12px}.status-badge{padding:3px 8px;font-size:10px}}.dark-theme .cycle-tracking-container{background:var(--dark-bg-secondary, #243836);box-shadow:0 6px 16px #0000004d}.dark-theme .cycle-tracking-title{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .cycle-tracking-loading,.dark-theme .cycle-tracking-empty{background:var(--dark-bg-secondary, #243836);color:var(--dark-text-secondary, #9DB5A8);box-shadow:0 6px 16px #0000004d}.dark-theme .cycle-tracking-error{background:rgba(211,47,47,.2);color:#e57373}.dark-theme .cycle-tracking-summary{background:var(--dark-bg-tertiary, #2d4543)}.dark-theme .summary-label{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .summary-value{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .cycle-tooltip{background:#0f1a18}.dark-theme .cycle-table-container{background:var(--dark-bg-tertiary, #2d4543)}.dark-theme .cycle-table{background:var(--dark-bg-secondary, #243836)}.dark-theme .cycle-table thead,.dark-theme .cycle-table th:first-child{background:#12322F}.dark-theme .cycle-table td:first-child{box-shadow:2px 0 4px #0003}.dark-theme .cycle-table tfoot td:first-child{background:var(--dark-bg-tertiary, #2d4543)}.dark-theme .cycle-table tbody tr{border-bottom-color:var(--dark-border, #3a5553)}.dark-theme .cycle-table td{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .total-row{background:var(--dark-bg-tertiary, #2d4543)!important;border-top-color:var(--dark-accent, #5DB075)}.dark-theme .status-badge.status-perfect{background:rgba(5,150,105,.2);color:#4ade80}.dark-theme .status-badge.status-delay{background:rgba(217,119,6,.2);color:#fbbf24}.dark-theme .status-badge.status-advance{background:rgba(37,99,235,.2);color:#60a5fa}.dark-theme .status-badge.status-pending{background:var(--dark-bg-tertiary, #2d4543);color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .status-badge.status-in-progress{background:rgba(2,132,199,.2);color:#38bdf8}.custom-item ion-select::part(native),.custom-item select{width:100%;background:#FFFFFF;border-radius:14px;padding:12px 40px 12px 16px;border:none;box-shadow:inset 0 0 0 1px #0000000d;color:#12322f;font-family:sans-serif;font-size:16px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232B6461' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px;cursor:pointer}.custom-item ion-select::part(native),.custom-item select{width:100%;background:#FFFFFF;border-radius:14px;padding:12px 40px 12px 16px;border:none;box-shadow:inset 0 0 0 1px #0000000d;color:#12322f;font-family:sans-serif;font-size:16px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232B6461' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px;cursor:pointer}.login-title-section{text-align:center;padding:40px 16px 30px;background:transparent}.login-title{font-size:28px;font-weight:600;color:#12322f;margin:0;font-family:sans-serif}.login-form-container{padding:0 16px;max-width:500px;margin:0 auto}.login-form-container .custom-item{margin-bottom:16px}.reset-password-link{text-align:right;margin-bottom:24px;margin-top:8px}.reset-password-link a{color:#2b6461;text-decoration:none;font-size:14px;font-weight:500;font-family:sans-serif;transition:opacity .2s}.reset-password-link a:hover{opacity:.8;text-decoration:underline}.reset-password-link a:active{opacity:.6}.login-button{--background: #2B6461;--color: #FFFFFF;--border-radius: 20px;--padding-top: 14px;--padding-bottom: 14px;font-family:sans-serif;font-weight:500;font-size:16px;margin-top:8px}.dark-theme .login-title{color:var(--dark-accent, #5DB075)}.dark-theme .login-form-container .custom-item{--background: var(--dark-bg-tertiary, #2d4543);background:var(--dark-bg-tertiary, #2d4543);box-shadow:inset 0 0 0 1px var(--dark-border, #3a5553)}.dark-theme .login-form-container .custom-item ion-label{color:var(--dark-text-primary, #e8f0eb)!important}.dark-theme .login-form-container .custom-item ion-input{--background: var(--dark-bg-tertiary, #2d4543);--color: var(--dark-text-primary, #e8f0eb);color:var(--dark-text-primary, #e8f0eb)}.dark-theme .login-form-container .custom-item ion-input::part(native){background:var(--dark-bg-tertiary, #2d4543);color:var(--dark-text-primary, #e8f0eb)}.dark-theme .reset-password-link a{color:var(--dark-accent, #5DB075)}.logout-content{display:flex;align-items:center;justify-content:center}.logout-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;gap:1.5rem}.logout-spinner{width:64px;height:64px;color:var(--ion-color-primary)}.logout-container h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--ion-color-primary)}.logout-container p{margin:0;font-size:1rem;color:var(--ion-text-color);opacity:.7}.dark-theme .logout-container h2{color:var(--ion-color-primary-tint)}.dark-theme .logout-container p{color:var(--ion-color-light)}.custom-item ion-select::part(native),.custom-item select{width:100%;background:#FFFFFF;border-radius:14px;padding:12px 40px 12px 16px;border:none;box-shadow:inset 0 0 0 1px #0000000d;color:#12322f;font-family:sans-serif;font-size:16px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232B6461' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px;cursor:pointer}.logs-title-section{text-align:center;padding:20px 16px;background:transparent}.logs-title{font-size:24px;font-weight:600;color:#12322f;margin:0;font-family:sans-serif}.logs-header-actions{display:flex;gap:8px;align-items:center}.logs-console{background-color:#1a1a1a;border-radius:0;margin:0;padding:0;min-height:calc(100vh - 200px);box-shadow:inset 0 0 0 1px #ffffff1a}.logs-content{padding:16px;font-family:Courier New,Monaco,Menlo,monospace;font-size:13px;line-height:1.6;color:#e0e0e0;overflow-y:auto;max-height:calc(100vh - 200px)}.log-line{margin-bottom:4px;word-wrap:break-word;white-space:pre-wrap}.log-line:last-child{margin-bottom:0}.log-line [style*="color: #4A9EFF"],.log-line [style*="color: #4ADE80"],.log-line [style*="color: #FBBF24"],.log-line [style*="color: #F87171"]{font-weight:500}.logs-content::-webkit-scrollbar{width:8px}.logs-content::-webkit-scrollbar-track{background:#0F0F0F}.logs-content::-webkit-scrollbar-thumb{background:#4A4A4A;border-radius:4px}.logs-content::-webkit-scrollbar-thumb:hover{background:#5A5A5A}.dark-theme .logs-title{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .logs-console{background-color:#0f1a18;box-shadow:inset 0 0 0 1px var(--dark-border, #3a5553)}.dark-theme .logs-content{background:#0f1a18}.dark-theme .logs-content::-webkit-scrollbar-track{background:#0a1412}.dark-theme .logs-content::-webkit-scrollbar-thumb{background:var(--dark-border, #3a5553)}.dark-theme .logs-content::-webkit-scrollbar-thumb:hover{background:var(--dark-accent, #5DB075)}.custom-item ion-select::part(native),.custom-item select{width:100%;background:#FFFFFF;border-radius:14px;padding:12px 40px 12px 16px;border:none;box-shadow:inset 0 0 0 1px #0000000d;color:#12322f;font-family:sans-serif;font-size:16px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232B6461' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px;cursor:pointer}.database-page-wrapper{display:flex;flex-direction:column;height:100%;overflow:hidden;background:#E8F0EB}.database-title-section{text-align:center;padding:20px 16px 16px;background:transparent}.database-title{font-size:24px;font-weight:600;color:#12322f;margin:0;font-family:sans-serif}.database-record-count{font-size:18px;font-weight:400;color:#5b6c68}.dark-theme .database-record-count{color:#9db5a8}.favorite-btn.search-filter-btn{padding:8px 12px;display:flex;align-items:center;justify-content:center}.favorite-btn.search-filter-btn ion-icon{font-size:18px}.favorite-btn.search-filter-btn.active{background:#2B6461;color:#fff;border-color:#2b6461}.database-header-actions{display:flex;gap:2px;align-items:center}.header-action-btn ion-icon{font-size:20px;color:#fff}.header-action-btn.delete-btn:disabled{opacity:.4}.database-search-container{display:flex;align-items:center;gap:8px;padding:16px;background:#E8F0EB}.database-search-input{flex:1;background:#FFFFFF;border-radius:14px;padding:12px 16px;border:none;box-shadow:inset 0 0 0 1px #0000000d;font-family:sans-serif;font-size:16px;color:#12322f;outline:none}.database-search-input::placeholder{color:#5b6c68;opacity:1}.database-search-input:focus{box-shadow:inset 0 0 0 1px #2b64614d}.search-btn{--color: #FFFFFF;--background: #9DB5A8;margin:0;padding:8px;min-width:48px;height:48px;border-radius:14px}.search-btn::part(native){background:#9DB5A8;border-radius:14px}.search-btn ion-icon{font-size:24px;color:#fff}.database-table-container{padding:0 16px 80px;overflow-x:auto;overflow-y:auto;background:#E8F0EB;flex:1;min-height:0;-webkit-overflow-scrolling:touch;position:relative}.database-table-container::-webkit-scrollbar{height:12px;width:8px}.database-table-container::-webkit-scrollbar-track{background:rgba(0,0,0,.05);border-radius:6px}.database-table-container::-webkit-scrollbar-thumb{background:#2B6461;border-radius:6px;border:2px solid #E8F0EB}.database-table-container::-webkit-scrollbar-thumb:hover{background:#1a4a47}.database-table{width:100%;border-collapse:separate;border-spacing:0;background:#FFFFFF;border-radius:14px;box-shadow:0 6px 16px #00000014;min-width:800px}.database-table thead{background:#2B6461;color:#fff}.database-table thead tr th:first-child{border-top-left-radius:14px}.database-table thead tr th:last-child{border-top-right-radius:14px}.database-table th{padding:14px 12px;text-align:left;font-weight:600;font-size:14px;font-family:sans-serif;white-space:nowrap;position:sticky;top:0;z-index:10;background:#2B6461;box-shadow:0 2px 4px #0000001a}.database-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.database-table th.sortable:hover{background-color:#ffffff1a}.sort-icons{display:inline-flex;flex-direction:column;margin-left:6px;vertical-align:middle;gap:2px}.sort-icons ion-icon{font-size:12px;color:#ffffff80;transition:color .2s}.sort-icons .sort-active{color:#fff;opacity:1}.database-table tbody tr{border-bottom:1px solid #E8F0EB;transition:background-color .2s;cursor:pointer}.database-table tbody tr:last-child{border-bottom:none}.database-table tbody tr:hover{background-color:#f5f5f5}.database-table tbody tr.selected-row{background-color:#c5ddd3;border-left:4px solid #2B6461}.database-table td{padding:12px;font-size:14px;color:#12322f;font-family:sans-serif;white-space:nowrap}.database-table th:first-child,.database-table td:first-child{position:sticky;left:0;z-index:5}.database-table th:first-child{z-index:15;background:#2B6461}.database-table td:first-child{background:#FFFFFF;box-shadow:2px 0 4px #00000014}.database-table tbody tr:hover td:first-child{background-color:#f5f5f5}.database-table tbody tr.selected-row td:first-child{background-color:#c5ddd3}.database-table tbody tr.contaminated-row,.database-table tbody tr.contaminated-row td:first-child{background-color:#fff0f0}.database-table tbody tr.contaminated-row:hover,.database-table tbody tr.contaminated-row:hover td:first-child{background-color:#ffe0e0}.database-table tbody tr.batch-row,.database-table tbody tr.batch-row td:first-child{background-color:#e3f2fd}.database-table tbody tr.batch-row:hover,.database-table tbody tr.batch-row:hover td:first-child{background-color:#bbdefb}.database-table tbody tr.batch-row.selected-row{background-color:#90caf9;border-left:4px solid #1976D2}.database-table tbody tr.batch-row.selected-row td:first-child{background-color:#90caf9}.qr-code-cell{display:flex;align-items:center;gap:6px;cursor:pointer}.qr-code-cell:hover{background-color:#2b64611a;text-decoration:underline}.photo-indicator-icon{font-size:18px;color:#2b6461;flex-shrink:0;opacity:.8}.no-data{text-align:center;color:#5b6c68;padding:40px!important;font-style:italic}.cycle-cell{text-align:center}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;font-family:sans-serif}.status-actif{background-color:#e8f5e9;color:#2b6461}.status-inactif{background-color:#f5f5f5;color:#5b6c68}.status-en-attente{background-color:#fff9e6;color:#b8860b}.status-fini{background-color:#c8e6c9;color:#2e7d32}.database-actions-container-fixed{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;background:#2B6461;padding:6px 16px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));z-index:1000}ion-content.custom-content{--padding-bottom: 70px}.database-content-wrapper{display:flex;flex-direction:column;min-height:100%;background:#E8F0EB}.database-action-btn{display:flex;align-items:center;justify-content:center;padding:8px 20px;border:none;background:transparent;cursor:pointer;border-radius:10px;transition:all .2s ease;color:#fff;margin:0;min-width:60px;height:auto;--box-shadow: none;--background-focused: transparent;--background-hover: rgba(255, 255, 255, .15)}.database-action-btn::part(native){box-shadow:none!important;outline:none!important;border:none!important}.database-action-btn ion-icon{font-size:24px;color:#fff}.database-action-btn:hover:not(:disabled){background:rgba(255,255,255,.15)}.database-action-btn:disabled{opacity:.4;cursor:not-allowed}.database-action-btn:disabled ion-icon{color:#fff}@media (max-width: 768px){.database-table-container{padding:0 8px 90px}.database-table{font-size:12px}.database-table th,.database-table td{padding:8px 6px}ion-content.custom-content{--padding-bottom: 80px}.nav-buttons{gap:0}.header-action-btn,.menu-btn{min-width:36px;padding:4px}}.dark-theme .database-title{color:var(--dark-accent, #5DB075)}.dark-theme .favorite-btn.search-filter-btn.active{background:var(--dark-accent, #5DB075);border-color:var(--dark-accent, #5DB075)}.dark-theme .database-search-container{background:var(--dark-bg-primary, #1a2a28)}.dark-theme .database-search-input{background:var(--dark-bg-tertiary, #2d4543);color:var(--dark-text-primary, #e8f0eb);box-shadow:inset 0 0 0 1px var(--dark-border, #3a5553)}.dark-theme .database-search-input::placeholder{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .database-search-input:focus{box-shadow:inset 0 0 0 1px var(--dark-accent, #5DB075)}.dark-theme .database-table-container,.dark-theme .database-content-wrapper,.dark-theme .database-page-wrapper{background:var(--dark-bg-primary, #1a2a28)}.dark-theme .database-table{background:var(--dark-bg-secondary, #243836);box-shadow:0 6px 16px #0000004d}.dark-theme .database-table thead,.dark-theme .database-table th{background:#12322F}.dark-theme .database-table th.sortable:hover{background-color:#ffffff0d}.dark-theme .database-table tbody tr{border-bottom-color:var(--dark-border, #3a5553)}.dark-theme .database-table tbody tr:hover{background-color:var(--dark-bg-tertiary, #2d4543)}.dark-theme .database-table tbody tr.selected-row{background-color:#5db07526;border-left-color:var(--dark-accent, #5DB075)}.dark-theme .database-table td{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .database-table th:first-child{background:#12322F}.dark-theme .database-table td:first-child{background:var(--dark-bg-secondary, #243836);box-shadow:2px 0 4px #0003}.dark-theme .database-table tbody tr:hover td:first-child{background-color:var(--dark-bg-tertiary, #2d4543)}.dark-theme .database-table tbody tr.selected-row td:first-child{background-color:#5db07526}.dark-theme .database-table tbody tr.contaminated-row{background-color:#ff64641a}.dark-theme .database-table tbody tr.contaminated-row td:first-child{background-color:#ff646426}.dark-theme .database-table tbody tr.contaminated-row:hover,.dark-theme .database-table tbody tr.contaminated-row:hover td:first-child{background-color:#ff646433}.dark-theme .database-table tbody tr.batch-row{background-color:#42a5f526}.dark-theme .database-table tbody tr.batch-row td:first-child{background-color:#42a5f533}.dark-theme .database-table tbody tr.batch-row:hover,.dark-theme .database-table tbody tr.batch-row:hover td:first-child{background-color:#42a5f540}.dark-theme .database-table tbody tr.batch-row.selected-row{background-color:#42a5f559;border-left-color:#42a5f5}.dark-theme .database-table tbody tr.batch-row.selected-row td:first-child{background-color:#42a5f559}.dark-theme .photo-indicator-icon{color:var(--dark-accent, #5DB075)}.dark-theme .no-data{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .status-actif{background-color:#5db07533;color:var(--dark-accent, #5DB075)}.dark-theme .status-inactif{background-color:var(--dark-bg-tertiary, #2d4543);color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .status-en-attente{background-color:#ffc10733;color:#ffd54f}.dark-theme .status-fini{background-color:#4caf5033;color:#81c784}.dark-theme .database-actions-container-fixed{background:#12322F}.dark-theme .database-table-container::-webkit-scrollbar-track{background:rgba(255,255,255,.05)}.dark-theme .database-table-container::-webkit-scrollbar-thumb{background:var(--dark-accent, #5DB075);border-color:var(--dark-bg-primary, #1a2a28)}.dark-theme .database-table-container::-webkit-scrollbar-thumb:hover{background:#4a9962}.database-table td.clickable-cell{cursor:pointer;color:#5db075;text-decoration:underline;font-weight:500}.database-table td.clickable-cell:hover{background-color:#5db0751a}.dark-theme .database-table td.clickable-cell{color:#7dd98f}.dark-theme .database-table td.clickable-cell:hover{background-color:#5db07533}.explant-modal{--width: 90%;--max-width: 400px;--height: auto;--max-height: 70%;--border-radius: 16px}.explant-modal .modal-title{font-size:18px;font-weight:600;margin:0;padding:8px 16px;color:#12322f}.dark-theme .explant-modal .modal-title{color:#e8f0eb}.explant-modal-content{--background: #FFFFFF;--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0}.explant-modal-content ion-list{padding:0;margin:0}.dark-theme .explant-modal-content{--background: #1a2a28}.explant-modal-content ion-item{--background: transparent;--border-color: rgba(0, 0, 0, .1)}.dark-theme .explant-modal-content ion-item{--border-color: rgba(255, 255, 255, .1)}.explant-modal-content ion-item h3{font-size:14px;font-weight:600;color:#12322f;margin:0 0 4px}.dark-theme .explant-modal-content ion-item h3{color:#e8f0eb}.explant-modal-content ion-item p{font-size:16px;font-weight:500;color:#5db075;margin:0}.dark-theme .explant-modal-content ion-item p{color:#7dd98f}.explant-modal-content .no-data-text{text-align:center;padding:24px;color:#5b6c68;font-style:italic}.dark-theme .explant-modal-content .no-data-text{color:#9db5a8}.explant-table-container{padding:16px;overflow-x:auto}.explant-table{width:100%;border-collapse:collapse;background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.dark-theme .explant-table{background-color:#1a2a28}.explant-table thead{background-color:#5db075}.dark-theme .explant-table thead{background-color:#4a9962}.explant-table th{padding:12px 16px;text-align:left;font-weight:600;font-size:14px;color:#fff;border-bottom:2px solid #4a9962}.explant-table tbody tr{border-bottom:1px solid rgba(0,0,0,.1);transition:background-color .2s}.dark-theme .explant-table tbody tr{border-bottom:1px solid rgba(255,255,255,.1)}.explant-table tbody tr:hover{background-color:#5db0751a}.dark-theme .explant-table tbody tr:hover{background-color:#5db07533}.explant-table tbody tr:last-child{border-bottom:none}.explant-table td{padding:12px 16px;font-size:14px;color:#12322f}.dark-theme .explant-table td{color:#e8f0eb}.explant-table td.value-cell{font-weight:600;color:#5db075;font-size:16px}.dark-theme .explant-table td.value-cell{color:#7dd98f}.alert-button-danger{color:#d32f2f!important;font-weight:600!important}.alert-button-secondary{color:#1976d2!important}.alert-button-cancel{color:#757575!important}.settings-container{padding:20px;max-width:800px;margin:0 auto}.settings-title{color:#2b6461;font-size:28px;font-weight:600;margin-bottom:30px;text-align:center}.settings-section{background:white;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px #0000001a}.settings-section-title{color:#2b6461;font-size:18px;font-weight:600;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #E8F0EB}.custom-item{--padding-start: 0;--inner-padding-end: 0;margin-bottom:10px}.dark-theme .settings-container{background:var(--dark-bg-primary, #1a2a28)}.dark-theme .settings-section{background:var(--dark-bg-secondary, #243836);color:var(--dark-text-primary, #e8f0eb);box-shadow:0 2px 8px #0000004d}.dark-theme .settings-title{color:var(--dark-accent, #5DB075)}.dark-theme .settings-section-title{color:var(--dark-accent, #5DB075);border-bottom-color:var(--dark-border, #3a5553)}.dark-theme .custom-item{--background: var(--dark-bg-tertiary, #2d4543);--color: var(--dark-text-primary, #e8f0eb);border-radius:8px}.dark-theme .custom-item ion-select{--background: var(--dark-bg-tertiary, #2d4543);--color: #FFFFFF;color:#fff!important}.dark-theme .custom-item ion-select::part(text){color:#fff!important}.dark-theme .custom-item ion-select::part(placeholder){color:#ffffffb3!important}.dark-theme .custom-item ion-select::part(icon){color:#fff!important}.dark-theme .custom-item::part(native){background:var(--dark-bg-tertiary, #2d4543)}.dark-theme .custom-item ion-label{color:#fff!important}.dark-theme .custom-item ion-label[position=stacked]{color:#fffc!important}.dark-theme .custom-item ion-toggle{--background: var(--dark-bg-primary, #1a2a28);--background-checked: var(--dark-accent, #5DB075)}.dark-theme .menu-list ion-item{--background: transparent;--color: var(--dark-text-primary, #e8f0eb)}.font-size-control{display:flex;align-items:center;justify-content:center;gap:20px;padding:15px 0}.font-size-btn{--border-radius: 50%;--padding-start: 12px;--padding-end: 12px;width:48px;height:48px;min-width:48px;font-size:24px}.font-size-btn ion-icon{font-size:24px}.font-size-display{display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:10px 20px;border-radius:8px;background:#E8F0EB;min-width:100px;transition:background .2s}.font-size-display:hover{background:#d0e0d5}.font-size-value{font-size:28px;font-weight:700;color:#2b6461}.font-size-label{font-size:11px;color:#666;margin-top:2px}.font-size-preview{text-align:center;color:#555;margin-top:15px;padding:10px;background:#f5f5f5;border-radius:8px;transition:font-size .2s}.dark-theme .font-size-display{background:var(--dark-bg-tertiary, #2d4543)}.dark-theme .font-size-display:hover{background:var(--dark-bg-primary, #1a2a28)}.dark-theme .font-size-value{color:var(--dark-accent, #5DB075)}.dark-theme .font-size-label{color:var(--dark-text-secondary, #a0b0ae)}.dark-theme .font-size-preview{background:var(--dark-bg-tertiary, #2d4543);color:var(--dark-text-primary, #e8f0eb)}.debug-panel-settings{background:#1a1a2e;border-radius:8px;overflow:hidden;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.debug-actions{display:flex;justify-content:flex-end;padding:10px 15px;background:#16213e;border-bottom:1px solid #0f3460}.debug-content{max-height:400px;overflow-y:auto;overflow-x:auto;padding:15px;-webkit-overflow-scrolling:touch}.debug-empty{color:#888;font-style:italic;text-align:center;padding:30px}.debug-log{display:flex;flex-direction:column;gap:8px;padding:8px 0;border-bottom:1px solid #0f3460;font-size:12px;line-height:1.4}.debug-log:last-child{border-bottom:none}.debug-time{color:#8892b0;font-size:11px;min-width:90px}.debug-type{font-weight:600;min-width:60px}.debug-log-info .debug-type{color:#64ffda}.debug-log-success .debug-type{color:#4caf50}.debug-log-warning .debug-type{color:#ffc107}.debug-log-api .debug-type{color:#bb86fc}.debug-log-ocr .debug-type{color:#03dac6}.debug-log-page .debug-type{color:#64b5f6}.debug-log-button .debug-type{color:#81c784}.debug-log-dropdown .debug-type{color:#ffb74d}.debug-log-other .debug-type{color:#b39ddb}.debug-message{color:#ccd6f6;flex:1;word-break:break-word}.log-header{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;width:max-content;min-width:100%}.log-expand-icon{color:#4caf50;font-size:14px;cursor:pointer;flex-shrink:0;transition:transform .2s ease}.log-expand-icon:hover{color:#81c784}.debug-data{width:100%;background:#0f3460;padding:8px 12px;border-radius:4px;margin-top:8px;margin-left:22px;font-size:10px;color:#a8b2d1;overflow-x:auto;white-space:pre-wrap}.dark-theme .debug-panel-settings{background:#0d1117}.dark-theme .debug-actions{background:#161b22;border-bottom-color:#30363d}.dark-theme .debug-content{background:#0d1117}.dark-theme .debug-log{border-bottom-color:#21262d}.dark-theme .debug-data{background:#161b22}.logs-tabs{display:flex;background:#16213e;border-bottom:1px solid #0f3460}.logs-tab{flex:1;padding:12px 20px;background:transparent;border:none;color:#8892b0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;border-bottom:2px solid transparent}.logs-tab:hover{color:#ccd6f6;background:rgba(255,255,255,.05)}.logs-tab.active{color:#4caf50;border-bottom-color:#4caf50;background:rgba(76,175,80,.1)}.debug-ip{color:#8892b0;font-size:10px;margin-left:auto;flex-shrink:0}.debug-log-error .debug-message{color:#ff8a80}.debug-log-error .debug-type{color:#ff5252}.dark-theme .logs-tabs{background:#161b22;border-bottom-color:#30363d}.dark-theme .logs-tab{color:#8b949e}.dark-theme .logs-tab:hover{color:#c9d1d9;background:rgba(255,255,255,.03)}.dark-theme .logs-tab.active{color:#4caf50;border-bottom-color:#4caf50;background:rgba(76,175,80,.08)}@media (max-width: 768px){.debug-content{max-height:350px;padding:10px}.log-header{padding-right:20px}.debug-time{font-size:10px;min-width:75px}.debug-type{font-size:11px;min-width:50px}.debug-message{font-size:11px;white-space:nowrap}.debug-ip{font-size:9px}.logs-tab{padding:10px 12px;font-size:12px}.debug-panel-settings:after{content:"";position:absolute;right:0;top:0;bottom:0;width:20px;background:linear-gradient(to right,transparent,rgba(26,26,46,.8));pointer-events:none;opacity:.5}.debug-panel-settings{position:relative}}.timezone-info{margin-top:15px;padding:15px;background:#E8F0EB;border-radius:8px}.timezone-time-display{display:flex;align-items:center;gap:10px;padding:8px 0}.timezone-time-display.gmt{border-top:1px solid rgba(43,100,97,.2);margin-top:8px;padding-top:12px}.timezone-label{font-size:13px;color:#666;min-width:80px}.timezone-time{font-size:20px;font-weight:700;color:#2b6461;font-family:Monaco,Menlo,Consolas,monospace}.timezone-offset{font-size:12px;color:#888;background:rgba(43,100,97,.15);padding:2px 8px;border-radius:4px}.dark-theme .timezone-info{background:var(--dark-bg-tertiary, #2d4543)}.dark-theme .timezone-label{color:var(--dark-text-secondary, #a0b0ae)}.dark-theme .timezone-time{color:var(--dark-accent, #5DB075)}.dark-theme .timezone-offset{color:var(--dark-text-secondary, #a0b0ae);background:rgba(93,176,117,.15)}.dark-theme .timezone-time-display.gmt{border-top-color:#5db07533}.password-requirements{padding:.75rem 1rem;margin:.5rem 0;background:var(--ion-color-light);border-radius:8px;font-size:.85rem}.password-message{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem;font-weight:500}.password-message.success{background:rgba(76,175,80,.15);color:#2e7d32;border:1px solid rgba(76,175,80,.3)}.password-message.error{background:rgba(244,67,54,.15);color:#c62828;border:1px solid rgba(244,67,54,.3)}.password-change-actions{margin-top:1rem}.dark-theme .password-message.success{background:rgba(93,176,117,.2);color:var(--dark-accent, #5DB075);border-color:#5db07566}.dark-theme .password-message.error{background:rgba(244,67,54,.2);color:#ef9a9a;border-color:#f4433666}.toast-bottom-right{--start: auto;--end: 16px}.custom-item ion-select::part(native),.custom-item select{width:100%;background:#FFFFFF;border-radius:14px;padding:12px 40px 12px 16px;border:none;box-shadow:inset 0 0 0 1px #0000000d;color:#12322f;font-family:sans-serif;font-size:16px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232B6461' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px;cursor:pointer}.database-favorites-container{display:flex;gap:8px;padding:0 16px 16px;background:#E8F0EB;flex-wrap:wrap}.favorite-btn{background:#FFFFFF;border:2px solid #2B6461;color:#2b6461;border-radius:20px;padding:8px 16px;font-size:14px;font-weight:500;font-family:sans-serif;cursor:pointer;transition:all .2s;white-space:nowrap}.favorite-btn:hover{background:#F5F5F5}.favorite-btn.active{background:#5B6C68;color:#fff;border-color:#5b6c68}.custom-header ion-button{--color: #FFFFFF}.images-content{--padding-start: 12px;--padding-end: 12px;--padding-top: 12px;--padding-bottom: 12px}.images-search-container{display:flex;align-items:center;background:#FFFFFF;border-radius:12px;padding:4px 4px 4px 16px;margin:0 4px 16px;box-shadow:0 2px 8px #0000000f}.images-search-input{flex:1;border:none;outline:none;font-size:14px;color:#12322f;background:transparent;font-family:sans-serif}.images-search-input::placeholder{color:#9db5a8}.images-search-container .search-btn{--color: #2B6461;margin:0;--padding-start: 8px;--padding-end: 8px}.images-search-container .search-btn ion-icon{font-size:20px}.loading-container,.error-container,.empty-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.loading-container ion-spinner{margin-bottom:16px}.empty-container ion-icon{font-size:64px;color:#9db5a8;margin-bottom:16px}.empty-container p,.error-container p{color:#5b6c68;font-size:16px}.photo-card{margin:0;cursor:pointer;transition:transform .2s,box-shadow .2s;position:relative}.photo-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.photo-card.selected{border:3px solid #2B6461;box-shadow:0 0 0 2px #2b64614d}.photo-card-content{padding:8px;display:flex;flex-direction:column;position:relative}.photo-check-overlay{position:absolute;top:8px;right:8px;z-index:10;background:rgba(43,100,97,.9);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000004d}.photo-check-icon{font-size:20px;color:#fff}.photo-thumbnail{width:100%;height:150px;object-fit:cover;border-radius:8px;background:#f5f5f5}.video-thumbnail-container{position:relative;width:100%;height:150px}.video-thumbnail-container .photo-thumbnail{width:100%;height:100%;object-fit:cover}.video-play-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.3);border-radius:8px;pointer-events:none}.video-play-icon{font-size:48px;color:#fff;opacity:.9;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.photo-modal-video{max-height:80vh;max-width:100%;border-radius:8px}.photo-info{margin-top:8px;display:flex;flex-direction:column;gap:4px}.photo-info ion-label{font-size:12px;color:#5b6c68}.photo-qr-code{font-weight:600;color:#12322f;display:flex;flex-direction:column;gap:2px}.photo-qr-code .processed-codes{font-size:10px;font-weight:400;color:#5b6c68;letter-spacing:.5px}.photo-date{font-size:11px;color:#9db5a8}.photo-modal-video{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;background:#000}.debug-header-actions{display:flex;align-items:center;gap:8px}.debug-header-actions ion-button{--color: #00ff00;--padding-start: 4px;--padding-end: 4px;margin:0;height:28px}.debug-header-actions ion-icon{font-size:18px}.debug-log-share{border-left-color:#08f}.debug-log-success{border-left-color:#0f0}.debug-log-warning{border-left-color:#fa0}.dark-theme .database-favorites-container{background:var(--dark-bg-primary, #1a2a28)}.dark-theme .favorite-btn{background:var(--dark-bg-tertiary, #2d4543);border-color:var(--dark-border, #3a5553);color:var(--dark-text-primary, #e8f0eb)}.dark-theme .favorite-btn:hover{background:var(--dark-bg-secondary, #243836)}.dark-theme .favorite-btn.active{background:var(--dark-accent, #5DB075);color:#fff;border-color:var(--dark-accent, #5DB075)}.dark-theme .images-search-container{background:var(--dark-bg-tertiary, #2d4543);box-shadow:0 2px 8px #0000004d}.dark-theme .images-search-input{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .images-search-input::placeholder{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .loading-container,.dark-theme .error-container,.dark-theme .empty-container{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .empty-container ion-icon{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .empty-container p,.dark-theme .error-container p{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .photo-card{--background: var(--dark-bg-secondary, #243836)}.dark-theme .photo-card:hover{box-shadow:0 4px 12px #0006}.dark-theme .photo-card.selected{border-color:var(--dark-accent, #5DB075);box-shadow:0 0 0 2px #5db0754d}.dark-theme .photo-check-overlay{background:rgba(93,176,117,.9)}.dark-theme .photo-thumbnail{background:var(--dark-bg-tertiary, #2d4543)}.dark-theme .photo-info ion-label{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .photo-qr-code{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .photo-date{color:var(--dark-text-secondary, #9DB5A8)}.photos-grid{padding:0 4px}.photos-grid ion-row{margin:0 -4px}.photos-grid ion-col{padding:4px}.photo-card-small{margin:0;border-radius:8px}.photo-card-small .photo-card-content{padding:4px}.photo-card-small .photo-thumbnail{width:100%;aspect-ratio:1 / 1;height:auto;object-fit:cover;border-radius:6px}.photo-card-small .video-thumbnail-container{width:100%;aspect-ratio:1 / 1;height:auto;position:relative}.photo-card-small .video-thumbnail-container .photo-thumbnail{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.photo-card-small .video-play-icon{font-size:32px}.photo-card-small .photo-check-overlay{top:4px;right:4px;width:24px;height:24px}.photo-card-small .photo-check-icon{font-size:16px}.photo-card-small .photo-info{margin-top:4px;gap:2px}.photo-qr-small{font-size:11px!important}.photo-date-small{font-size:9px!important}.pagination-info{text-align:center;padding:8px 16px;color:#5b6c68;font-size:13px;font-family:sans-serif}.pagination-controls{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;background:#FFFFFF;border-radius:12px;margin:16px 4px;box-shadow:0 2px 8px #0000000f}.pagination-btn{--color: #2B6461;--padding-start: 8px;--padding-end: 8px;margin:0}.pagination-btn:disabled{--color: #9DB5A8;opacity:.5}.pagination-pages{display:flex;align-items:center;gap:4px}.page-btn{background:#F5F5F5;border:none;color:#5b6c68;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:500;font-family:sans-serif;cursor:pointer;transition:all .2s;min-width:36px}.page-btn:hover{background:#E8F0EB}.page-btn.active{background:#2B6461;color:#fff}.page-ellipsis{color:#9db5a8;padding:0 4px;font-size:14px}.dark-theme .pagination-info{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .pagination-controls{background:var(--dark-bg-secondary, #243836);box-shadow:0 2px 8px #0000004d}.dark-theme .pagination-btn{--color: var(--dark-accent, #5DB075)}.dark-theme .pagination-btn:disabled{--color: var(--dark-text-secondary, #9DB5A8)}.dark-theme .page-btn{background:var(--dark-bg-tertiary, #2d4543);color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .page-btn:hover{background:var(--dark-bg-primary, #1a2a28)}.dark-theme .page-btn.active{background:var(--dark-accent, #5DB075);color:#fff}.dark-theme .page-ellipsis{color:var(--dark-text-secondary, #9DB5A8)}.custom-header ion-toolbar{--background: #2B6461;--color: #FFFFFF}.header-actions{display:flex;align-items:center;gap:4px}.header-action-btn{--color: #FFFFFF;margin:0;padding:8px;min-width:40px;height:40px}.header-action-btn ion-icon{font-size:24px;color:#fff}.menu-popover{--offset-x: -8px}.menu-popover::part(content){right:8px!important;left:auto!important;transform:translate(0)!important;margin-left:auto;margin-right:8px}ion-popover.menu-popover{--offset-x: -8px}ion-popover.menu-popover::part(content){right:8px!important;left:auto!important;transform:translate(0)!important}.menu-list{background:#FFFFFF;border-radius:12px;padding:8px 0;margin:0;min-width:200px}.monitoring-content{--padding-start: 20px;--padding-end: 20px;--padding-top: 20px;--padding-bottom: 20px;--background: #E8F0EB}.monitoring-container{background:#FFFFFF;border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.monitoring-title{color:#12322f;font-size:24px;font-weight:600;margin-bottom:24px;text-align:center}.chart-wrapper{width:100%;background:#FFFFFF;border-radius:12px;padding:16px}.monitoring-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:#5b6c68;font-size:18px}.voice-sql-section{margin-bottom:30px}.voice-sql-section ion-card{margin:0;box-shadow:none;border:1px solid #E8F0EB}.voice-sql-section ion-card-header{padding:16px;background:#F5FAF7;border-bottom:1px solid #E8F0EB}.voice-sql-section ion-card-title{color:#12322f;font-size:20px;font-weight:600}.voice-sql-section ion-card-content{padding:20px}.voice-analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.clear-context-btn{--color: #5B6C68;margin:0}.clear-context-btn ion-icon{color:#5b6c68}.context-badge{display:inline-flex;align-items:center;gap:4px;background:#E3F2FD;color:#2196f3;font-size:12px;font-weight:600;padding:4px 10px;border-radius:12px;border:1px solid #2196F3;cursor:help;transition:all .2s ease}.context-badge:hover{background:#2196F3;color:#fff}.transcription-section{margin-bottom:20px}.transcript-input-wrapper{position:relative;display:flex;align-items:stretch}.transcript-textarea{--background: #FFFFFF;--border-color: #D1E0D8;--border-width: 1px;--border-radius: 8px;--padding-start: 12px;--padding-end: 56px;--padding-top: 12px;--padding-bottom: 12px;font-family:Inter,Segoe UI,sans-serif;font-size:14px;line-height:1.6;margin-top:0;border:1px solid #D1E0D8;border-radius:8px;flex:1}.transcription-icon-btn{--color: #FFFFFF;--padding-start: 8px;--padding-end: 8px;margin:0;min-width:40px;height:40px;--background: #9DB5A8;border-radius:14px;position:absolute;right:8px;bottom:8px;z-index:10;transition:all .3s ease}.transcription-icon-btn::part(native){background:#9DB5A8;border-radius:14px;transition:all .3s ease}.transcription-icon-btn ion-icon{font-size:20px;color:#fff}.transcription-icon-btn.listening{--background: #D32F2F;animation:pulse-mic 1.5s ease-in-out infinite}.transcription-icon-btn.listening::part(native){background:#D32F2F}.transcription-icon-btn.analyzing{--background: #2196F3;animation:pulse-mic-blue 1.5s ease-in-out infinite}.transcription-icon-btn.analyzing::part(native){background:#2196F3}@keyframes pulse-mic{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@keyframes pulse-mic-blue{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.sql-generation-section{margin-bottom:20px}.sql-textarea{--background: #F5F5F5;--border-color: #D1E0D8;--border-width: 1px;--border-radius: 8px;--padding-start: 12px;--padding-end: 12px;--padding-top: 12px;--padding-bottom: 12px;font-family:Consolas,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;color:#2b6461;background:#F5F5F5;border:1px solid #D1E0D8;border-radius:8px;max-height:calc(1.6em * 3 + 24px);overflow-y:auto;resize:none}.info-message{background:#E8F5F1;border-left:4px solid #2B6461;padding:12px 16px;border-radius:4px;margin-top:16px}.info-message p{margin:0;color:#12322f;font-size:13px;line-height:1.5}.info-message strong{color:#2b6461}.query-loading{text-align:center;padding:16px;color:#2196f3;font-size:14px;font-weight:500;background:#E3F2FD;border-radius:8px;margin-top:16px}.query-error{padding:12px 16px;background:#FFEBEE;border-left:4px solid #D32F2F;color:#d32f2f;font-size:14px;border-radius:4px;margin-top:16px}.query-results-section{margin-top:20px}.results-tabs-container{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px;border-bottom:2px solid #E8F0EB}.results-tabs{display:flex;gap:0}.results-tab{background:transparent;border:none;padding:12px 24px;font-size:15px;font-weight:500;color:#5b6c68;cursor:pointer;border-bottom:3px solid transparent;transition:all .2s ease;font-family:sans-serif;position:relative;bottom:-2px}.results-tab:hover:not(.disabled){color:#2b6461;background:#F5FAF7}.results-tab.active{color:#2b6461;border-bottom-color:#2b6461;font-weight:600}.results-tab.disabled{color:#d1e0d8;cursor:not-allowed;opacity:.6}.results-title{font-size:18px;font-weight:600;color:#12322f;margin:0 0 12px;font-family:sans-serif}.chart-section{margin-top:0}.chart-placeholder{text-align:center;color:#5b6c68;padding:20px;font-size:14px}.results-table-container{overflow-x:auto;background:#E8F0EB;border-radius:8px;padding:8px}.results-table{width:100%;border-collapse:collapse;background:#FFFFFF;border-radius:14px;overflow:hidden;box-shadow:0 6px 16px #00000014;min-width:600px}.results-table thead{background:#2B6461;color:#fff}.results-table th{padding:12px;text-align:left;font-weight:600;font-size:13px;font-family:sans-serif;white-space:nowrap}.results-table tbody tr{border-bottom:1px solid #E8F0EB;transition:background-color .2s}.results-table tbody tr:last-child{border-bottom:none}.results-table tbody tr:hover{background-color:#f5f5f5}.results-table tbody tr.clickable-row{cursor:pointer}.results-table tbody tr.clickable-row:hover{background-color:#e8f5f1}.results-table td{padding:10px 12px;font-size:13px;color:#12322f;font-family:sans-serif;white-space:nowrap}.results-count{text-align:right;padding:8px 12px 0;font-size:12px;color:#5b6c68;font-style:italic}.export-button{--background: transparent;--color: #2B6461;--padding-start: 4px;--padding-end: 4px;min-width:32px;height:32px;margin:0 0 -2px;--border-radius: 0;--box-shadow: none}.export-button::part(native){background:transparent;box-shadow:none}.export-button ion-icon{font-size:22px;color:#2b6461}.export-button:hover ion-icon{color:#12322f}.saved-searches-section{margin-bottom:20px}.saved-searches-dropdown-native{width:100%;background:#FFFFFF;border:1px solid #D1E0D8;border-radius:8px;padding:12px 36px 12px 12px;font-family:Inter,Segoe UI,sans-serif;font-size:14px;color:#12322f;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232B6461' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px;transition:border-color .2s ease,box-shadow .2s ease}.saved-searches-dropdown-native:hover:not(:disabled){border-color:#2b6461}.saved-searches-dropdown-native:focus{outline:none;border-color:#2b6461;box-shadow:0 0 0 2px #2b646133}.saved-searches-dropdown-native:disabled{background-color:#f5f5f5;color:#9db5a8;cursor:not-allowed}.saved-searches-dropdown-native option{padding:8px 12px;font-size:14px}.saved-searches-dropdown-native optgroup{font-weight:600;color:#2b6461;background:#F5FAF7}.search-group-header{font-weight:700!important;color:#2b6461!important;font-size:12px!important;text-transform:uppercase;letter-spacing:.5px;background:#F5FAF7!important}.transcription-buttons{position:absolute;right:8px;bottom:8px;z-index:10;display:flex;align-items:center;gap:4px}.transcription-buttons .transcription-icon-btn{position:static}.favorite-icon-btn{--background: #9DB5A8}.favorite-icon-btn::part(native){background:#9DB5A8}.favorite-icon-btn ion-icon{color:#fff}.favorite-icon-btn:disabled{--background: #D1E0D8;opacity:.6}.favorite-icon-btn:disabled::part(native){background:#D1E0D8}.favorite-icon-btn.is-favorite{--background: #FFB300}.favorite-icon-btn.is-favorite::part(native){background:#FFB300}.favorite-icon-btn.is-favorite ion-icon{color:#fff}.favorite-icon-btn.is-favorite:hover{--background: #FF8F00}.favorite-icon-btn.is-favorite:hover::part(native){background:#FF8F00}.send-icon-btn{--background: #9DB5A8}.send-icon-btn::part(native){background:#9DB5A8}.send-icon-btn ion-icon{color:#fff}.send-icon-btn:disabled{--background: #D1E0D8;opacity:.6}.send-icon-btn:disabled::part(native){background:#D1E0D8}.send-icon-btn.has-text:not(:disabled){--background: #2B6461}.send-icon-btn.has-text:not(:disabled)::part(native){background:#2B6461}.send-icon-btn.has-text:not(:disabled):hover{--background: #1E4A48}.send-icon-btn.has-text:not(:disabled):hover::part(native){background:#1E4A48}.log-section{margin-top:16px}.log-container{background:#1a1a2e;border-radius:8px;padding:16px;max-height:500px;overflow-y:auto;font-family:Consolas,Monaco,Courier New,monospace;font-size:12px}.log-empty{color:#888;text-align:center;padding:20px;font-style:italic}.log-entry{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid #2a2a4a}.log-entry:last-child{border-bottom:none}.log-timestamp{color:#666;font-size:11px;min-width:90px}.log-type{font-size:14px}.log-message{color:#e0e0e0;flex:1;word-break:break-word}.log-entry.log-request .log-message{color:#64b5f6}.log-entry.log-response .log-message{color:#81c784}.log-entry.log-error .log-message{color:#e57373}.log-entry.log-info .log-message{color:#fff59d}.log-data{width:100%;background:#0d0d1a;border-radius:4px;padding:8px;margin-top:4px;color:#b0bec5;font-size:11px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.log-actions{display:flex;gap:8px;margin-left:auto}.dark-theme .monitoring-content{--background: var(--dark-bg-primary, #1a2a28);background-color:var(--dark-bg-primary, #1a2a28)}.dark-theme .monitoring-container{background:var(--dark-bg-secondary, #243836);box-shadow:0 2px 8px #0000004d}.dark-theme .monitoring-title{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .chart-wrapper{background:var(--dark-bg-secondary, #243836)}.dark-theme .monitoring-placeholder{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .voice-sql-section ion-card{--background: var(--dark-bg-secondary, #243836);background:var(--dark-bg-secondary, #243836);border-color:var(--dark-border, #3a5553)}.dark-theme .voice-sql-section ion-card-header{background:var(--dark-bg-tertiary, #2d4543);border-bottom-color:var(--dark-border, #3a5553)}.dark-theme .voice-sql-section ion-card-title{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .section-title{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .section-icon{color:var(--dark-accent, #5DB075)}.dark-theme .clear-context-btn{--color: var(--dark-text-secondary, #9DB5A8)}.dark-theme .context-badge{background:rgba(33,150,243,.2);border-color:#2196f3}.dark-theme .transcript-textarea{--background: var(--dark-bg-tertiary, #2d4543);background:var(--dark-bg-tertiary, #2d4543);border-color:var(--dark-border, #3a5553);color:var(--dark-text-primary, #e8f0eb)}.dark-theme .transcript-textarea::part(native){background:var(--dark-bg-tertiary, #2d4543);color:var(--dark-text-primary, #e8f0eb)}.dark-theme .sql-textarea{--background: var(--dark-bg-tertiary, #2d4543);background:var(--dark-bg-tertiary, #2d4543);border-color:var(--dark-border, #3a5553);color:var(--dark-accent, #5DB075)}.dark-theme .info-message{background:rgba(43,100,97,.2);border-left-color:var(--dark-accent, #5DB075)}.dark-theme .info-message p{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .info-message strong{color:var(--dark-accent, #5DB075)}.dark-theme .query-loading{background:rgba(33,150,243,.2);color:#64b5f6}.dark-theme .query-error{background:rgba(211,47,47,.2);color:#e57373}.dark-theme .results-tabs-container{border-bottom-color:var(--dark-border, #3a5553)}.dark-theme .results-tab{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .results-tab:hover:not(.disabled){color:var(--dark-accent, #5DB075);background:var(--dark-bg-tertiary, #2d4543)}.dark-theme .results-tab.active{color:var(--dark-accent, #5DB075);border-bottom-color:var(--dark-accent, #5DB075)}.dark-theme .results-tab.disabled{color:var(--dark-text-secondary, #9DB5A8);opacity:.4}.dark-theme .results-title{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .chart-placeholder{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .results-table-container{background:var(--dark-bg-tertiary, #2d4543)}.dark-theme .results-table{background:var(--dark-bg-secondary, #243836);box-shadow:0 6px 16px #0000004d}.dark-theme .results-table thead{background:#12322F}.dark-theme .results-table tbody tr{border-bottom-color:var(--dark-border, #3a5553)}.dark-theme .results-table tbody tr:hover{background-color:var(--dark-bg-tertiary, #2d4543)}.dark-theme .results-table tbody tr.clickable-row:hover{background-color:#5db0751a}.dark-theme .results-table td{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .results-count{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .export-button{--color: var(--dark-accent, #5DB075)}.dark-theme .export-button ion-icon{color:var(--dark-accent, #5DB075)}.dark-theme .export-button:hover ion-icon{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .saved-searches-dropdown-native{background-color:var(--dark-bg-tertiary, #2d4543);border-color:var(--dark-border, #3a5553);color:var(--dark-text-primary, #e8f0eb);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235DB075' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px}.dark-theme .saved-searches-dropdown-native:hover:not(:disabled){border-color:var(--dark-accent, #5DB075)}.dark-theme .saved-searches-dropdown-native:focus{border-color:var(--dark-accent, #5DB075);box-shadow:0 0 0 2px #5db07533}.dark-theme .saved-searches-dropdown-native:disabled{background-color:var(--dark-bg-secondary, #243836);color:var(--dark-text-secondary, #9DB5A8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239DB5A8' d='M6 8L1 3h10z'/%3E%3C/svg%3E")}.dark-theme .saved-searches-dropdown-native option{background:var(--dark-bg-tertiary, #2d4543);color:var(--dark-text-primary, #e8f0eb)}.dark-theme .saved-searches-dropdown-native optgroup{background:var(--dark-bg-secondary, #243836);color:var(--dark-accent, #5DB075)}.dark-theme .favorite-icon-btn{--background: var(--dark-bg-tertiary, #2d4543)}.dark-theme .favorite-icon-btn::part(native){background:var(--dark-bg-tertiary, #2d4543)}.dark-theme .favorite-icon-btn:disabled{--background: var(--dark-bg-secondary, #243836)}.dark-theme .favorite-icon-btn:disabled::part(native){background:var(--dark-bg-secondary, #243836)}.dark-theme .send-icon-btn{--background: var(--dark-bg-tertiary, #2d4543)}.dark-theme .send-icon-btn::part(native){background:var(--dark-bg-tertiary, #2d4543)}.dark-theme .send-icon-btn:disabled{--background: var(--dark-bg-secondary, #243836)}.dark-theme .send-icon-btn:disabled::part(native){background:var(--dark-bg-secondary, #243836)}.dark-theme .send-icon-btn.has-text:not(:disabled){--background: var(--dark-accent, #5DB075)}.dark-theme .send-icon-btn.has-text:not(:disabled)::part(native){background:var(--dark-accent, #5DB075)}@media (max-width: 768px){.transcript-input-wrapper{flex-direction:column}.transcript-textarea{--padding-end: 12px;--padding-bottom: 70px;min-height:180px!important;height:180px!important}.transcript-textarea textarea{min-height:160px!important}.transcription-buttons{position:absolute;right:12px;bottom:16px;left:auto;display:flex;gap:10px}.transcription-buttons .transcription-icon-btn{min-width:48px;height:48px}.transcription-buttons .transcription-icon-btn ion-icon{font-size:24px}.sql-textarea{min-height:60px}}.custom-item ion-select::part(native),.custom-item select{width:100%;background:#FFFFFF;border-radius:14px;padding:12px 40px 12px 16px;border:none;box-shadow:inset 0 0 0 1px #0000000d;color:#12322f;font-family:sans-serif;font-size:16px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232B6461' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px;cursor:pointer}.custom-item ion-select::part(native),.custom-item select{width:100%;background:#FFFFFF;border-radius:14px;padding:12px 40px 12px 16px;border:none;box-shadow:inset 0 0 0 1px #0000000d;color:#12322f;font-family:sans-serif;font-size:16px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232B6461' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px;cursor:pointer}.nav-left{display:flex;align-items:center}.back-btn{--color: #FFFFFF;margin:0;padding:0;min-width:40px;height:40px}.batch-content{--padding-bottom: 40px}.batch-section{background:#FFFFFF;border-radius:14px;margin:16px;padding:16px;box-shadow:0 2px 8px #0000000f}.count-section{display:flex;justify-content:space-between;align-items:center;background:#9DB5A8}.count-label{font-size:16px;font-weight:500;color:#12322f;font-family:sans-serif}.count-controls{display:flex;align-items:center;gap:8px;background:#FFFFFF;border-radius:10px;padding:4px 8px}.count-btn{--color: #2B6461;--background: transparent;--padding-start: 4px;--padding-end: 4px;margin:0;min-width:36px;height:36px}.count-btn::part(native){background:transparent!important;color:#2b6461!important}.count-btn ion-icon{font-size:20px;color:#2b6461!important;--color: #2B6461 !important}.count-btn:not(:disabled):hover ion-icon{color:#1a4a47!important}.count-btn:disabled{opacity:.4}.count-btn:disabled ion-icon{color:#2b6461!important;opacity:.4}.count-btn:disabled::part(native){opacity:.4}.count-value{font-size:16px;font-weight:600;color:#12322f;min-width:32px;text-align:center;font-family:sans-serif}.mode-section{background:#E8F0EB}.mode-option{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.05)}.mode-option:last-of-type{border-bottom:none}.radio-label{display:flex;align-items:center;gap:12px;cursor:pointer;flex:1}.radio-label input[type=radio]{width:20px;height:20px;accent-color:#2B6461;cursor:pointer}.radio-text{font-size:16px;color:#12322f;font-family:sans-serif}.voice-btn{--color: #FFFFFF;--background: #9DB5A8;--padding-start: 8px;--padding-end: 8px;margin:0;min-width:40px;height:40px;border-radius:10px}.voice-btn::part(native){background:#9DB5A8;border-radius:10px}.voice-btn ion-icon{font-size:20px;color:#fff}.voice-btn.listening{--background: #D32F2F;animation:pulse 1.5s ease-in-out infinite}.voice-btn.listening::part(native){background:#D32F2F}.voice-btn.analyzing{--background: #1976D2}.voice-btn.analyzing::part(native){background:#1976D2}.voice-btn:disabled{opacity:.5}.existing-code-input{display:flex;gap:8px;margin-top:8px;align-items:center}.code-input-item{flex:1;margin-bottom:0!important}.code-input-item ion-input{text-transform:uppercase;font-weight:600;font-size:14px;letter-spacing:1.5px}.code-input-item.input-error::part(native){box-shadow:inset 0 0 0 2px #a12626!important}.scan-btn{--color: #FFFFFF;--background: #2B6461;--padding-start: 10px;--padding-end: 10px;margin:0;height:40px;border-radius:10px}.scan-btn::part(native){background:#2B6461;border-radius:10px}.scan-btn ion-icon{font-size:20px;color:#fff}.checking-text{color:#5b6c68;font-size:11px;margin-top:6px;font-style:italic;font-family:sans-serif}.error-text{color:#a12626;font-size:11px;margin-top:6px;font-family:sans-serif}.optional-label{color:var(--ion-color-medium);font-weight:400;font-size:.85em}.form-section{background:#E8F0EB;padding:8px 16px}.form-section .custom-item{margin-bottom:8px}.form-section .custom-item:last-child{margin-bottom:0}.form-section .disabled-item{pointer-events:none}.form-section .disabled-item ion-input{color:#12322f;font-style:italic;--color: #12322F}.dark-theme .form-section .disabled-item ion-input{color:#e0e0e0;--color: #e0e0e0}.generate-section{background:transparent;box-shadow:none;padding:0 16px;margin-top:8px}.generate-btn{--background: #2B6461;--color: #FFFFFF;--border-radius: 20px;--padding-top: 16px;--padding-bottom: 16px;font-family:sans-serif;font-weight:600;font-size:16px;letter-spacing:.5px;margin:0}.generate-btn:disabled{opacity:.6}.required-fields-warning{color:#e57373;font-size:13px;text-align:center;margin:0 0 12px;padding:8px;background:rgba(229,115,115,.1);border-radius:8px}.results-section{background:#FFFFFF;margin-top:20px}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:8px}.export-btn{--border-color: #2B6461;--color: #2B6461;--background: transparent;--border-radius: 10px;--padding-top: 8px;--padding-bottom: 8px;font-size:14px;margin:0}.export-btn::part(native){border:2px solid #2B6461}.export-btn:disabled{opacity:.5}.export-buttons{display:flex;gap:8px;flex-wrap:wrap}.codes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.code-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;border-radius:10px;background:#F5F5F5;border:2px solid #E0E0E0;min-height:70px;transition:all .3s ease}.code-card.proposed{background:#E3F2FD;border-color:#2196f3}.code-card.pending{background:#FFF8E1;border-color:#ffb300}.code-card.created{background:#E8F5E9;border-color:#4caf50}.code-card.error{background:#FFEBEE;border-color:#f44336}.code-text{font-size:18px;font-weight:700;color:#12322f;font-family:monospace;letter-spacing:2px}.code-status{font-size:16px;margin-top:4px}.code-error{font-size:10px;color:#d32f2f;margin-top:4px;text-align:center;word-break:break-word}.confirm-section{margin-top:20px;display:flex;justify-content:flex-end}.confirm-btn{--background: #FF6B35;--color: #FFFFFF;--border-radius: 20px;--padding-top: 14px;--padding-bottom: 14px;font-family:sans-serif;font-weight:700;font-size:16px;letter-spacing:.5px;margin:0;min-width:180px}.confirm-btn::part(native){background:#FF6B35}.confirm-btn:hover::part(native){background:#E55A2B}.confirm-btn:disabled{opacity:.7}@media (max-width: 400px){.codes-grid{grid-template-columns:repeat(3,1fr)}.code-card{padding:8px;min-height:60px}.code-text{font-size:16px}.results-header{flex-direction:column;align-items:flex-start}.export-buttons{width:100%}.export-btn{flex:1}}.dark-theme .batch-section{background:var(--dark-bg-secondary, #243836)}.dark-theme .count-section{background:#1a3a38}.dark-theme .count-label,.dark-theme .radio-text,.dark-theme .count-value{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .count-controls{background:var(--dark-bg-tertiary, #2d4543)}.dark-theme .mode-section,.dark-theme .form-section{background:var(--dark-bg-primary, #1a2a28)}.dark-theme .mode-option{border-bottom-color:var(--dark-border, #3a5553)}.dark-theme .code-card{background:var(--dark-bg-tertiary, #2d4543);border-color:var(--dark-border, #3a5553)}.dark-theme .code-card.proposed{background:#1a3a4a;border-color:#2196f3}.dark-theme .code-card.pending{background:#3a3a20;border-color:#ffb300}.dark-theme .code-card.created{background:#1b3d2a;border-color:var(--dark-accent, #5DB075)}.dark-theme .code-card.error{background:#3d2020;border-color:#f44336}.dark-theme .code-text{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .page-title,.dark-theme .main-title,.dark-theme .title-icon{color:var(--dark-accent, #5DB075)}.dark-theme .user-role{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .count-btn ion-icon{color:var(--dark-accent, #5DB075)!important;--color: var(--dark-accent, #5DB075) !important}.dark-theme .count-btn:not(:disabled):hover ion-icon{color:#7dc994!important}.dark-theme .code-input-item{--background: var(--dark-bg-tertiary, #2d4543) !important;background:var(--dark-bg-tertiary, #2d4543)!important}.dark-theme .code-input-item ion-input{color:var(--dark-text-primary, #e8f0eb)!important;--placeholder-color: var(--dark-text-secondary, #9DB5A8) !important}.dark-theme .checking-text{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .error-text{color:#ef5350}.dark-theme .export-btn{--border-color: var(--dark-accent, #5DB075);--color: var(--dark-accent, #5DB075)}.dark-theme .export-btn::part(native){border-color:var(--dark-accent, #5DB075)}.dark-theme .custom-item{--background: var(--dark-bg-tertiary, #2d4543) !important;background:var(--dark-bg-tertiary, #2d4543)!important;box-shadow:inset 0 0 0 1px var(--dark-border, #3a5553)!important}.dark-theme .custom-item::part(native){background:var(--dark-bg-tertiary, #2d4543)!important}.dark-theme .custom-item ion-label{color:var(--dark-text-primary, #e8f0eb)!important}.dark-theme .custom-item ion-input,.dark-theme .custom-item ion-select{--background: var(--dark-bg-tertiary, #2d4543) !important;--color: var(--dark-text-primary, #e8f0eb) !important;color:var(--dark-text-primary, #e8f0eb)!important}.dark-theme .custom-item ion-input::part(native),.dark-theme .custom-item ion-select::part(native){background:var(--dark-bg-tertiary, #2d4543)!important;color:var(--dark-text-primary, #e8f0eb)!important}.custom-item ion-select::part(native),.custom-item select{width:100%;background:#FFFFFF;border-radius:14px;padding:12px 40px 12px 16px;border:none;box-shadow:inset 0 0 0 1px #0000000d;color:#12322f;font-family:sans-serif;font-size:16px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232B6461' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px;cursor:pointer}.bm-content{--padding-bottom: 40px}.bm-section{background:#FFFFFF;border-radius:14px;margin:16px;padding:16px;box-shadow:0 2px 8px #0000000f}.video-section{text-align:center}.video-upload-card{background:linear-gradient(135deg,#E8F0EB 0%,#d0e0d8 100%);border:2px solid #2B6461;border-radius:20px;padding:32px 24px;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:12px}.video-upload-card:hover{background:linear-gradient(135deg,#d0e0d8 0%,#c0d5cc 100%);border-color:#1a4a47;transform:translateY(-2px);box-shadow:0 4px 16px #2b646126}.video-upload-card:active{transform:translateY(0) scale(.98)}.video-card-icon{background:rgba(43,100,97,.1);width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.video-icon{font-size:48px;color:#2b6461}.video-text{font-size:18px;font-weight:600;color:#12322f;margin:0;font-family:sans-serif}.video-text.selected{font-size:16px;font-weight:500;color:#2b6461}.video-info-note{font-size:14px;font-weight:400;color:#5b6c68;margin:0;font-family:sans-serif;text-align:center;max-width:280px;line-height:1.4}.video-size{font-size:13px;color:#5b6c68;margin:0;font-family:monospace;background:rgba(255,255,255,.7);padding:4px 12px;border-radius:12px}.video-upload-status{font-size:12px;margin:8px 0 0;padding:4px 12px;border-radius:12px;font-family:sans-serif}.video-upload-status.uploading{color:#856404;background:rgba(255,193,7,.2)}.video-upload-status.success{color:#155724;background:rgba(40,167,69,.2)}.progress-section{background:#E8F0EB}.progress-status{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;color:#12322f;font-family:sans-serif}.progress-section ion-progress-bar{--background: #d0e0d8;--progress-background: #2B6461;height:8px;border-radius:4px}.logs-section{background:#F5F5F5}.logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.logs-header h3{font-size:16px;font-weight:600;color:#12322f;margin:0;font-family:sans-serif}.logs-header ion-button{--color: #2B6461;font-size:14px}.logs-container{background:#FFFFFF;border-radius:10px;padding:12px;max-height:200px;overflow-y:auto;margin-bottom:12px}.log-item{display:flex;align-items:flex-start;gap:8px;padding:6px 0;font-size:13px;font-family:monospace;border-bottom:1px solid #F0F0F0}.log-item:last-child{border-bottom:none}.log-icon{flex-shrink:0;width:18px;text-align:center}.log-time{flex-shrink:0;color:#888;font-size:12px}.log-message{flex:1;color:#333;word-break:break-word}.log-success .log-icon{color:#4caf50}.log-error .log-icon{color:#f44336}.log-processing .log-icon{color:#2196f3;animation:spin 1s linear infinite}.log-info .log-icon{color:#9e9e9e}.json-preview{margin-top:12px;border-radius:10px;overflow:hidden;margin-bottom:12px}.json-header{background:#2B6461;color:#fff;padding:8px 12px;font-size:13px;font-weight:500}.json-content{background:#0a0a0a;color:#0f0;padding:12px;margin:0;font-family:Courier New,monospace;font-size:11px;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;max-height:200px;overflow-y:auto}.close-logs-btn{display:block;margin:0 auto;--border-color: #5B6C68;--color: #5B6C68}.results-section{background:#FFFFFF}.results-header{margin-bottom:16px}.results-header h3{font-size:16px;font-weight:600;color:#12322f;margin:0;font-family:sans-serif}.bm-table-container{overflow-x:auto;overflow-y:visible;margin-bottom:16px;-webkit-overflow-scrolling:touch}.bm-table{width:100%;border-collapse:collapse;background:#FFFFFF;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #0000000f;table-layout:auto}.bm-table thead{background:#2B6461;color:#fff}.bm-table th{padding:12px 10px;text-align:left;font-weight:600;font-size:13px;font-family:sans-serif;white-space:nowrap}.bm-table th:nth-child(2),.bm-table th:nth-child(3),.bm-table th:nth-child(4),.bm-table th:nth-child(6),.bm-table th:nth-child(7),.bm-table th:nth-child(8),.bm-table th:nth-child(9),.bm-table th:nth-child(10){text-align:center}.bm-table tbody tr{border-bottom:1px solid #E8F0EB;transition:background-color .2s}.bm-table tbody tr:last-child{border-bottom:none}.bm-table tbody tr:hover{background-color:#f5f5f5;cursor:pointer}.bm-table tbody tr.selected-row{background-color:#e8f0eb;border-left:4px solid #2B6461}.bm-table td{padding:10px;font-size:13px;color:#12322f;white-space:nowrap;font-family:sans-serif}.bm-code-cell{font-weight:700;font-family:monospace;font-size:15px;letter-spacing:1px;color:#2b6461;cursor:pointer;position:relative}.bm-code-cell:hover{background-color:#f0f8f5}.bm-confidence-cell{text-align:center}.confidence-badge{display:inline-block;padding:4px 8px;border-radius:10px;font-size:12px;font-weight:600}.confidence-badge.high{background:#E8F5E9;color:#2e7d32}.confidence-badge.medium{background:#FFF8E1;color:#f57c00}.confidence-badge.low{background:#FFEBEE;color:#c62828}.bm-comment-cell{white-space:nowrap;cursor:pointer;position:relative;max-width:250px;overflow:hidden;text-overflow:ellipsis}.bm-comment-cell:hover{background-color:#f0f8f5}.bm-comment-cell .no-comment{color:#999;font-style:italic}.inline-edit-input{width:100%;padding:4px 8px;border:2px solid #2B6461;border-radius:6px;font-size:inherit;font-family:inherit;font-weight:inherit;color:#12322f;background:#FFFFFF;outline:none}.inline-edit-input:focus{border-color:#2b6461;box-shadow:0 0 0 3px #2b64611a}.bm-code-cell .inline-edit-input{font-family:monospace;font-size:15px;font-weight:700;letter-spacing:1px;color:#2b6461;text-transform:uppercase;max-width:80px}.bm-comment-cell .inline-edit-input,.bm-comment-cell .inline-edit-textarea{width:100%;white-space:pre-wrap;word-break:break-word}.inline-edit-textarea{width:100%;padding:4px 8px;border:2px solid #2B6461;border-radius:6px;font-size:inherit;font-family:inherit;color:#12322f;background:#FFFFFF;outline:none;resize:vertical;min-height:40px}.inline-edit-textarea:focus{border-color:#2b6461;box-shadow:0 0 0 3px #2b64611a}.bm-date-cell{font-family:monospace;font-size:12px;color:#5b6c68;white-space:nowrap;text-align:center}.bm-rotation-cell{text-align:center}.rotation-badge{display:inline-block;padding:3px 8px;border-radius:8px;font-size:11px;font-weight:600;font-family:monospace}.rotation-badge.none{background:#E8F5E9;color:#2e7d32}.rotation-badge.low{background:#FFF8E1;color:#f57c00}.rotation-badge.high{background:#FFEBEE;color:#c62828}.bm-valid-cell{text-align:center}.valid-icon{font-size:22px}.valid-icon.valid-yes{color:#4caf50}.valid-icon.valid-no{color:#f44336}.bm-view-cell{text-align:center;width:50px}.view-icon{font-size:22px;color:#2b6461;cursor:pointer;transition:all .2s ease}.view-icon:hover{color:#1a4a47;transform:scale(1.15)}.bm-save-cell{text-align:center}.save-indicator{font-size:16px}.save-indicator.save-saving{animation:spin 1s linear infinite}.bm-videodate-cell{font-family:monospace;font-size:12px;color:#5b6c68;white-space:nowrap;text-align:center}.bm-actions-cell{text-align:center;width:60px}.delete-icon{font-size:20px;color:#f44336;cursor:pointer;transition:all .2s ease}.delete-icon:hover{color:#c62828;transform:scale(1.15)}.frame-preview-section{margin-top:16px;background:#F8FAF9;border:2px solid #2B6461;border-radius:12px;overflow:hidden}.frame-header{background:#2B6461;color:#fff;padding:10px 14px}.frame-header h4{margin:0;font-size:14px;font-weight:600;font-family:sans-serif}.frame-header h4 span{font-weight:400;opacity:.9}.frame-content{padding:16px;text-align:center;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center}.frame-loading{color:#2b6461}.frame-loading .loading-spinner{font-size:32px;display:inline-block;animation:spin 1s linear infinite}.frame-loading p{margin:12px 0 0;font-size:14px;color:#5b6c68}.frame-error{color:#c62828;background:#FFEBEE;padding:12px 16px;border-radius:8px}.frame-error p{margin:0;font-size:13px}.extracted-frame-img{max-width:100%;max-height:400px;border-radius:8px;box-shadow:0 4px 12px #00000026;transition:transform .3s ease;cursor:zoom-in}.extracted-frame-img:hover{opacity:.95}.zoom-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);z-index:9999;display:flex;justify-content:center;align-items:center;cursor:zoom-out;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.zoomed-frame-img{max-width:95vw;max-height:95vh;object-fit:contain;border-radius:4px;box-shadow:0 8px 32px #00000080;cursor:default;animation:zoomIn .2s ease}@keyframes zoomIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.frame-viewer{width:100%;display:flex;flex-direction:column;gap:12px}.frame-controls-top{display:flex;justify-content:center;align-items:center;gap:8px;padding:8px 0}.frame-controls-top .rotation-indicator{font-size:14px;font-weight:600;color:#2b6461;min-width:40px;text-align:center}.frame-image-container{display:flex;justify-content:center;align-items:center}.frame-controls-top .nav-btn{--padding-start: 8px;--padding-end: 8px}.frame-controls-top .nav-btn ion-icon{font-size:24px}.frame-controls-top .rotate-btn{--padding-start: 8px;--padding-end: 8px}.frame-controls-top .rotate-btn ion-icon{font-size:20px}.frame-controls-top .rotate-left-btn ion-icon{transform:scaleX(-1)}.frame-controls-bottom{display:flex;justify-content:flex-end;padding:4px 8px}.frame-controls-bottom .reset-link{font-size:12px;color:#5b6c68;cursor:pointer;text-decoration:underline}.frame-controls-bottom .reset-link:hover{color:#2b6461}.frame-controls-bottom .reset-link.disabled{opacity:.4;pointer-events:none;cursor:default}.frame-controls-top ion-button{--color: #FFFFFF;--background: #2B6461}.frame-controls-top ion-button:hover{--background: #1a4a47}.frame-controls-top ion-button ion-icon{color:#fff;font-size:20px}.frame-controls-top ion-button:hover ion-icon{color:#fff}.save-all-section{margin-top:20px}.save-all-btn{--background: #FF6B35;--color: #FFFFFF;--border-radius: 20px;--padding-top: 14px;--padding-bottom: 14px;font-family:sans-serif;font-weight:700;font-size:16px;letter-spacing:.5px;margin:0}.save-all-btn::part(native){background:#FF6B35}.save-all-btn:disabled{opacity:.7}@media (max-width: 400px){.video-upload-card{padding:24px 16px}.video-card-icon{width:64px;height:64px}.video-icon{font-size:36px}.video-text{font-size:16px}.video-info-note{font-size:13px;max-width:240px}.result-code{font-size:18px}.result-comment{font-size:13px}}.dark-theme .bm-section{background:var(--dark-bg-secondary, #243836)}.dark-theme .video-upload-card{background:linear-gradient(135deg,var(--dark-bg-secondary, #243836) 0%,var(--dark-bg-primary, #1a2a28) 100%);border-color:var(--dark-border, #3a5553)}.dark-theme .video-upload-card:hover{background:linear-gradient(135deg,var(--dark-bg-tertiary, #2d4543) 0%,var(--dark-bg-secondary, #243836) 100%);box-shadow:0 4px 16px #5db07526}.dark-theme .video-card-icon{background:rgba(93,176,117,.15)}.dark-theme .video-icon{color:var(--dark-accent, #5DB075)}.dark-theme .video-text{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .video-text.selected{color:var(--dark-accent, #5DB075)}.dark-theme .video-info-note{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .video-size{color:var(--dark-text-secondary, #9DB5A8);background:rgba(0,0,0,.3)}.dark-theme .video-upload-status.uploading{color:#ffc107;background:rgba(255,193,7,.15)}.dark-theme .video-upload-status.success{color:#5db075;background:rgba(93,176,117,.15)}.dark-theme .progress-section{background:var(--dark-bg-primary, #1a2a28)}.dark-theme .progress-status{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .logs-section{background:var(--dark-bg-primary, #1a2a28)}.dark-theme .logs-header h3{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .logs-container{background:var(--dark-bg-secondary, #243836)}.dark-theme .log-item{border-bottom-color:var(--dark-border, #3a5553)}.dark-theme .log-message{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .results-section{background:var(--dark-bg-secondary, #243836)}.dark-theme .results-header h3{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .result-card{background:var(--dark-bg-tertiary, #2d4543);border-color:var(--dark-border, #3a5553)}.dark-theme .result-code{color:var(--dark-accent, #5DB075)}.dark-theme .result-comment{background:var(--dark-bg-secondary, #243836);border-color:var(--dark-border, #3a5553);color:var(--dark-text-primary, #e8f0eb)}.dark-theme .bm-table{background:var(--dark-bg-secondary, #243836);box-shadow:0 2px 8px #0000004d}.dark-theme .bm-table thead{background:#12322F}.dark-theme .bm-table tbody tr{border-bottom-color:var(--dark-border, #3a5553)}.dark-theme .bm-table tbody tr:hover{background-color:var(--dark-bg-tertiary, #2d4543)}.dark-theme .bm-table td{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .bm-code-cell{color:var(--dark-accent, #5DB075)}.dark-theme .bm-code-cell:hover{background-color:#5db0751a}.dark-theme .confidence-badge.high{background:rgba(93,176,117,.2);color:var(--dark-accent, #5DB075)}.dark-theme .confidence-badge.medium{background:rgba(255,193,7,.2);color:#ffd54f}.dark-theme .confidence-badge.low{background:rgba(244,67,54,.2);color:#ef5350}.dark-theme .bm-comment-cell .no-comment{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .bm-comment-cell:hover{background-color:#5db0751a}.dark-theme .bm-date-cell,.dark-theme .bm-videodate-cell{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .rotation-badge.none{background:rgba(93,176,117,.2);color:var(--dark-accent, #5DB075)}.dark-theme .rotation-badge.low{background:rgba(255,193,7,.2);color:#ffd54f}.dark-theme .rotation-badge.high{background:rgba(244,67,54,.2);color:#ef5350}.dark-theme .bm-table tbody tr.selected-row{background-color:#5db07526;border-left-color:var(--dark-accent, #5DB075)}.dark-theme .inline-edit-input,.dark-theme .inline-edit-textarea{background:var(--dark-bg-tertiary, #2d4543);color:var(--dark-text-primary, #e8f0eb);border-color:var(--dark-accent, #5DB075)}.dark-theme .inline-edit-input:focus,.dark-theme .inline-edit-textarea:focus{box-shadow:0 0 0 3px #5db07533}.dark-theme .frame-preview-section{background:var(--dark-bg-secondary, #243836);border-color:var(--dark-border, #3a5553)}.dark-theme .frame-header{background:#12322F}.dark-theme .frame-content{background:var(--dark-bg-primary, #1a2a28)}.dark-theme .frame-loading{color:var(--dark-accent, #5DB075)}.dark-theme .frame-loading p{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .frame-error{background:rgba(244,67,54,.2);color:#ef5350}.dark-theme .view-icon{color:var(--dark-accent, #5DB075)}.dark-theme .view-icon:hover{color:#7bc88f}.dark-theme .delete-icon{color:#ef5350}.dark-theme .delete-icon:hover{color:#ff6b6b}.create-form-section{margin-top:24px;background:#F8FAF9;border:2px solid #2B6461;border-radius:14px;padding:20px}.create-form-header h3{color:#2b6461;font-size:18px;font-weight:600;margin:0 0 8px}.form-fields{margin-top:16px;display:flex;flex-direction:column;gap:12px}.form-fields .custom-item{--background: #FFFFFF;--border-radius: 10px;border-radius:10px;--padding-start: 12px;--padding-end: 12px;margin:0}.form-fields .disabled-item{--background: #F5F5F5;opacity:.7}.dark-theme .create-form-section{background:rgba(43,100,97,.1);border-color:var(--dark-accent, #5DB075)}.dark-theme .create-form-header h3{color:var(--dark-accent, #5DB075)}.dark-theme .form-fields .custom-item{--background: var(--dark-card-bg, #1E1E1E)}.dark-theme .form-fields .disabled-item{--background: rgba(255, 255, 255, .05)}.perf-section{background:#1a1a2e;color:#e0e0e0;font-family:Consolas,Monaco,Courier New,monospace;font-size:12px}.perf-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:8px 0;border-bottom:1px solid #333}.perf-title{font-weight:600;color:#5db075}.perf-clear-btn{background:#C62828;color:#fff;border:none;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:11px}.perf-clear-btn:hover{background:#B71C1C}.perf-logs{max-height:300px;overflow-y:auto;margin-top:8px}.perf-log-entry{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0;border-bottom:1px solid #333;align-items:baseline}.perf-time{color:#888;min-width:100px}.perf-msg{flex:1;color:#e0e0e0}.perf-duration{color:#ffd54f;font-weight:600;min-width:70px;text-align:right}.perf-details{width:100%;margin-top:4px}.perf-details summary{cursor:pointer;color:#5db075;font-size:11px}.perf-details pre{background:#0d0d1a;padding:8px;border-radius:4px;overflow-x:auto;font-size:11px;color:#aaa;margin-top:4px}.perf-info .perf-msg{color:#64b5f6}.perf-success .perf-msg{color:#81c784}.perf-warning .perf-msg{color:#ffb74d}.perf-error .perf-msg{color:#e57373}.perf-timing .perf-msg{color:#ce93d8}.bm-number-cell{text-align:center;cursor:pointer;min-width:40px;padding:4px 8px!important}.bm-number-cell:hover{background:rgba(43,100,97,.1)}.bm-conta-cell{background:rgba(244,67,54,.05)}.bm-reactive-cell{background:rgba(76,175,80,.05)}.bm-embryo-cell{background:rgba(33,150,243,.05)}.inline-edit-number{width:50px;padding:4px 6px;border:2px solid #2B6461;border-radius:4px;font-size:13px;text-align:center;background:white}.inline-edit-number:focus{outline:none;border-color:#5db075;box-shadow:0 0 0 2px #5db07533}.inline-edit-number::-webkit-outer-spin-button,.inline-edit-number::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.inline-edit-number[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.no-value{color:#999;font-style:italic}.repiquage-section{margin-left:8px!important;margin-right:8px!important;padding-left:12px!important;padding-right:12px!important}.custom-item ion-select::part(native),.custom-item select{width:100%;background:#FFFFFF;border-radius:14px;padding:12px 40px 12px 16px;border:none;box-shadow:inset 0 0 0 1px #0000000d;color:#12322f;font-family:sans-serif;font-size:16px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232B6461' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px;cursor:pointer}.climate-content{--background: #E8F0EB;background-color:#e8f0eb}.climate-controls{display:flex;justify-content:flex-end;padding:0 16px 8px}.refresh-btn{--background: #2B6461;--color: #FFFFFF;margin:0;padding:0;min-width:40px;height:40px;border-radius:50%}.refresh-btn ion-icon{font-size:24px;color:#fff}.refresh-btn.spinning ion-icon{animation:spin 1s linear infinite}.rooms-table-container{padding:16px;display:flex;justify-content:center}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;background:#FFFFFF;border-radius:12px;box-shadow:0 2px 8px #0000001a;width:100%;max-width:800px}.loading-container p{color:#5b6c68;margin-top:12px;font-size:14px}.error-container .error-text{color:#a12626;margin-bottom:16px;font-size:14px}.rooms-data-table{width:100%;max-width:800px;border-collapse:collapse;background:#FFFFFF;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.rooms-data-table thead{background:#2B6461;color:#fff}.rooms-data-table th{padding:14px 18px;text-align:left;font-weight:600;font-size:16px;font-family:sans-serif}.rooms-data-table th:first-child{text-align:left}.rooms-data-table th:not(:first-child){text-align:center}.rooms-data-table th ion-icon{font-size:24px;vertical-align:middle}.rooms-data-table tbody tr{border-bottom:1px solid #E8F0EB;transition:background-color .2s}.rooms-data-table tbody tr:last-child{border-bottom:none}.rooms-data-table tbody tr:hover{background-color:#f5f5f5}.rooms-data-table tbody tr.clickable-row{cursor:pointer;transition:all .2s ease}.rooms-data-table tbody tr.clickable-row:hover{background-color:#e8f0eb;transform:scale(1.01);box-shadow:0 2px 4px #0000001a}.rooms-data-table tbody tr.clickable-row.selected{background-color:#d1e8e5;border-left:4px solid #2B6461}.rooms-data-table tbody tr.clickable-row.selected td.room-name{color:#1a4745;font-weight:700}.rooms-data-table tbody tr.disabled-row{opacity:.5;cursor:not-allowed}.rooms-data-table tbody tr.disabled-row:hover{background-color:transparent}.rooms-data-table td{padding:14px 18px;font-size:16px;color:#12322f;font-family:sans-serif}.rooms-data-table td.room-name{font-weight:600;color:#2b6461;font-size:16px}.rooms-data-table td:not(.room-name){text-align:center;font-family:Courier New,monospace;font-weight:500;font-size:16px}.rooms-data-table td.temp-value{background:linear-gradient(135deg,#FFF5F5 0%,#FFE8E8 100%)}.rooms-data-table td.humidity-value{background:linear-gradient(135deg,#F5F9FF 0%,#E8F2FF 100%)}.rooms-data-table td.light-value{background:linear-gradient(135deg,#FFFEF5 0%,#FFFAE8 100%)}@media (max-width: 600px){.rooms-data-table{font-size:12px}.rooms-data-table th,.rooms-data-table td{padding:8px 10px}.rooms-data-table th ion-icon{font-size:18px}}.history-chart-container{padding:16px;display:flex;justify-content:center}.history-chart-card{background:#FFFFFF;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;width:100%;max-width:800px}.history-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.history-chart-title{color:#2b6461;font-size:18px;font-weight:600;margin:0}.history-period-select{--color: #12322F;--placeholder-color: #5B6C68;font-size:14px;min-width:120px}.history-loading,.history-error,.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:12px}.history-loading span{color:#5b6c68;font-size:14px}.history-error p{color:#a12626;font-size:14px;margin:0}.history-empty p{color:#5b6c68;font-size:14px;margin:0}.temp-stats-container{display:flex;justify-content:center;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid #E8F0EB;flex-wrap:wrap}.temp-stat-item{display:flex;flex-direction:column;align-items:center;padding:12px 20px;border-radius:8px;min-width:80px}.temp-stat-min{background:linear-gradient(135deg,#E3F2FD 0%,#BBDEFB 100%)}.temp-stat-max{background:linear-gradient(135deg,#FFEBEE 0%,#FFCDD2 100%)}.temp-stat-range{background:linear-gradient(135deg,#FFF3E0 0%,#FFE0B2 100%)}.temp-stat-label{font-size:12px;font-weight:600;text-transform:uppercase;color:#5b6c68;letter-spacing:.5px;margin-bottom:4px}.temp-stat-value{font-family:Courier New,monospace;font-size:18px;font-weight:700;color:#12322f}.temp-stat-min .temp-stat-value{color:#1565c0}.temp-stat-max .temp-stat-value{color:#c62828}.temp-stat-range .temp-stat-value{color:#e65100}@media (max-width: 600px){.temp-stats-container{gap:8px}.temp-stat-item{padding:8px 14px;min-width:70px}.temp-stat-label{font-size:10px}.temp-stat-value{font-size:16px}}@media (max-width: 600px){.history-chart-header{flex-direction:column;align-items:flex-start}.history-chart-card{padding:12px}.history-chart-title{font-size:16px}}.lab-plan-container{padding:16px;display:flex;justify-content:center;align-items:center}.lab-plan-wrapper{position:relative;width:100%;max-width:800px;background:#FFFFFF;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:16px;overflow:hidden;transition:all .5s ease;cursor:default}.lab-plan-wrapper.zoomed{max-width:1200px;padding:8px}.lab-plan-svg{width:100%;height:auto;display:block;transition:transform .5s ease,transform-origin .5s ease;transform-origin:center center}.lab-plan-wrapper.zoomed.zoom-room1 .lab-plan-svg{transform:scale(2.5);transform-origin:45% 80.61%}.lab-plan-wrapper.zoomed.zoom-room2 .lab-plan-svg{transform:scale(2.5);transform-origin:23% 29.09%}.lab-plan-wrapper.zoomed.zoom-room3 .lab-plan-svg{transform:scale(2.5);transform-origin:68% 31.8%}.lab-plan-wrapper.zoomed.zoom-sterile .lab-plan-svg{transform:scale(2.5);transform-origin:69% 66.73%}.lab-plan-wrapper.zoomed.zoom-entree .lab-plan-svg{transform:scale(2.5);transform-origin:23% 62.74%}.lab-plan-wrapper.zoomed.zoom-labo .lab-plan-svg{transform:scale(2.5);transform-origin:45% 52.38%}.clickable-zone{position:absolute;background:rgba(43,100,97,.05);border:1px solid rgba(43,100,97,.15);cursor:pointer;transition:all .3s ease;z-index:5;top:0;left:0;width:100%;height:100%}.clickable-zone:hover{background:rgba(43,100,97,.15);border:2px solid rgba(43,100,97,.5);box-shadow:0 0 12px #2b646166}.clickable-zone.room1-zone{clip-path:polygon(30.78% 71.36%,50.4% 59.87%,70.49% 78.06%,49.6% 93.21%)}.clickable-zone.room2-zone{clip-path:polygon(3.51% 19.84%,27.27% 6.44%,51.04% 31.48%,30.62% 44.24%)}.clickable-zone.room3-zone{clip-path:polygon(51.2% 21.28%,72.73% 7.88%,94.58% 30.85%,68.1% 44.72%)}.clickable-zone.sterile-zone{clip-path:polygon(58.53% 60.67%,73.68% 49.83%,93.94% 64.5%,77.03% 76.62%)}.clickable-zone.entree-zone{clip-path:polygon(47.05% 58.92%,27.11% 49.67%,7.66% 65.14%,22.01% 74.23%)}.clickable-zone.labo-zone{clip-path:polygon(34.13% 47.27%,47.69% 39.62%,66.19% 48.23%,50.08% 57.16%)}.temperature-overlay{position:absolute;background:rgba(43,100,97,.9);color:#fff;display:flex;flex-direction:column;align-items:center;padding:8px 12px;border-radius:8px;font-size:14px;font-weight:700;box-shadow:0 2px 6px #0003;pointer-events:none;z-index:10}.temperature-overlay .temp-label{font-size:10px;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.temperature-overlay .temp-value{font-family:Courier New,monospace;font-size:16px;font-weight:700}.temperature-overlay.room1{top:20%;left:15%}.temperature-overlay.room2{top:20%;right:15%}.temperature-overlay.room3{bottom:30%;left:15%}.temperature-overlay.lab{bottom:30%;right:15%}.temperature-overlay.cold{background:rgba(33,150,243,.9)}.temperature-overlay.normal{background:rgba(76,175,80,.9)}.temperature-overlay.warm{background:rgba(255,152,0,.9)}.temperature-overlay.hot{background:rgba(244,67,54,.9)}.climate-info{padding:16px;text-align:center}.last-update{font-size:12px;color:#5b6c68;font-style:italic;margin:0}@media (max-width: 600px){.lab-plan-wrapper{padding:8px}.temperature-overlay{padding:6px 10px;font-size:12px}.temperature-overlay .temp-value{font-size:14px}}.back-btn{--color: #FFFFFF;margin:0;padding:8px}.back-btn ion-icon{font-size:24px;color:#fff}.dark-theme .climate-content{--background: var(--dark-bg-primary, #1a2a28);background-color:var(--dark-bg-primary, #1a2a28)}.dark-theme .loading-container,.dark-theme .error-container{background:var(--dark-bg-secondary, #243836);box-shadow:0 2px 8px #0000004d}.dark-theme .loading-container p{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .error-container .error-text{color:#ef5350}.dark-theme .rooms-data-table{background:var(--dark-bg-secondary, #243836);box-shadow:0 2px 8px #0000004d}.dark-theme .rooms-data-table thead{background:#12322F}.dark-theme .rooms-data-table tbody tr{border-bottom-color:var(--dark-border, #3a5553)}.dark-theme .rooms-data-table tbody tr:hover{background-color:var(--dark-bg-tertiary, #2d4543)}.dark-theme .rooms-data-table tbody tr.clickable-row:hover{background-color:#5db07526}.dark-theme .rooms-data-table tbody tr.clickable-row.selected{background-color:#5db07533;border-left-color:var(--dark-accent, #5DB075)}.dark-theme .rooms-data-table tbody tr.clickable-row.selected td.room-name{color:var(--dark-accent, #5DB075)}.dark-theme .rooms-data-table td{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .rooms-data-table td.room-name{color:var(--dark-accent, #5DB075)}.dark-theme .rooms-data-table td.temp-value{background:rgba(244,67,54,.1)}.dark-theme .rooms-data-table td.humidity-value{background:rgba(33,150,243,.1)}.dark-theme .rooms-data-table td.light-value{background:rgba(255,193,7,.1)}.dark-theme .history-chart-card{background:var(--dark-bg-secondary, #243836);box-shadow:0 2px 8px #0000004d}.dark-theme .history-chart-title{color:var(--dark-accent, #5DB075)}.dark-theme .history-period-select{--color: var(--dark-text-primary, #e8f0eb);--placeholder-color: var(--dark-text-secondary, #9DB5A8);--background: var(--dark-bg-tertiary, #2d4543);color:#e8f0eb!important}.dark-theme .history-period-select::part(text){color:#e8f0eb!important}.dark-theme .history-period-select::part(placeholder){color:#9db5a8!important}.dark-theme .history-period-select::part(icon){color:#e8f0eb!important}.dark-theme .history-loading span,.dark-theme .history-empty p{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .history-error p{color:#ef5350}.dark-theme .lab-plan-wrapper{background:var(--dark-bg-secondary, #243836);box-shadow:0 2px 8px #0000004d}.dark-theme .last-update{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .temp-stats-container{border-top-color:var(--dark-border, #3a5553)}.dark-theme .temp-stat-min{background:linear-gradient(135deg,rgba(21,101,192,.2) 0%,rgba(21,101,192,.3) 100%)}.dark-theme .temp-stat-max{background:linear-gradient(135deg,rgba(198,40,40,.2) 0%,rgba(198,40,40,.3) 100%)}.dark-theme .temp-stat-range{background:linear-gradient(135deg,rgba(230,81,0,.2) 0%,rgba(230,81,0,.3) 100%)}.dark-theme .temp-stat-label{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .temp-stat-value{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .temp-stat-min .temp-stat-value{color:#64b5f6}.dark-theme .temp-stat-max .temp-stat-value{color:#ef5350}.dark-theme .temp-stat-range .temp-stat-value{color:#ffb74d}.custom-item ion-select::part(native),.custom-item select{width:100%;background:#FFFFFF;border-radius:14px;padding:12px 40px 12px 16px;border:none;box-shadow:inset 0 0 0 1px #0000000d;color:#12322f;font-family:sans-serif;font-size:16px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232B6461' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px;cursor:pointer}.admin-container{padding:1rem;max-width:1200px;margin:0 auto}.admin-tabs{margin-bottom:1.5rem;background:var(--ion-background-color);border-radius:8px;padding:.5rem}.tab-content,.admin-section{width:100%}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.section-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--ion-text-color)}.section-actions{display:flex;gap:.5rem;align-items:center}.auto-refresh-toggle{--background: transparent;--padding-start: 0;--inner-padding-end: 0}.users-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.user-card{margin:0;box-shadow:0 2px 8px #0000001a;transition:all .2s ease}.user-card.collapsed{cursor:pointer}.user-card.collapsed:hover{box-shadow:0 4px 12px #00000026}.user-card-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none}.user-card-header:hover{background:rgba(0,0,0,.02)}.user-card-header-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.expand-icon{font-size:1.2rem;color:var(--ion-color-medium);transition:transform .2s ease;flex-shrink:0}.user-card.expanded .expand-icon{transform:rotate(180deg)}.user-name{font-weight:600;font-size:1rem;color:var(--ion-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-header-email{font-size:.85rem;color:var(--ion-color-medium);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-initials-badge{background:var(--ion-color-primary);color:#fff;padding:.2rem .5rem;border-radius:4px;font-size:.75rem;font-weight:700;text-transform:uppercase;flex-shrink:0}.user-status-badge{padding:.2rem .6rem;border-radius:12px;font-size:.75rem;font-weight:500;flex-shrink:0}.user-status-badge.active{background:var(--ion-color-success-tint);color:var(--ion-color-success-shade)}.user-status-badge.inactive{background:var(--ion-color-danger-tint);color:var(--ion-color-danger-shade)}.user-card-content{padding:0 1rem;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.user-card.collapsed .user-card-content{max-height:0;padding-top:0;padding-bottom:0}.user-card.expanded .user-card-content{max-height:500px;padding-top:.5rem;padding-bottom:1rem}.user-actions-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--ion-color-light);background:var(--ion-color-light)}.user-email{font-size:.9rem;color:var(--ion-color-medium);margin:.25rem 0 0}.user-actions{display:flex;gap:.25rem}.user-details{display:flex;flex-direction:column;gap:.75rem}.user-detail-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--ion-color-light)}.user-detail-row:last-child{border-bottom:none}.detail-label{font-weight:600;color:var(--ion-color-medium);font-size:.9rem}.detail-value{color:var(--ion-text-color);font-size:.9rem}.detail-value.status{padding:.25rem .75rem;border-radius:12px;font-size:.85rem;font-weight:500}.detail-value.status.active{background:var(--ion-color-success-tint);color:var(--ion-color-success-contrast)}.detail-value.status.inactive{background:var(--ion-color-danger-tint);color:var(--ion-color-danger-contrast)}.detail-value.verified{color:var(--ion-color-success);font-weight:500}.detail-value.not-verified{color:var(--ion-color-danger);font-weight:500}.add-user-form{margin-top:2rem}.add-user-form .form-actions{margin-top:1rem;padding:0 1rem 1rem}.password-requirements{padding:.75rem 1rem;margin:.5rem 1rem;background:var(--ion-color-light);border-radius:8px;font-size:.85rem}.password-requirements .requirement{padding:.25rem 0;display:flex;align-items:center;gap:.5rem}.password-requirements .requirement ion-icon{font-size:1.1rem;flex-shrink:0}.password-requirements .requirement .valid{color:var(--ion-color-success)}.password-requirements .requirement .invalid{color:var(--ion-color-danger)}.dark-theme .password-requirements{background:var(--dark-bg-tertiary, #2d4543)}.dark-theme .password-requirements .requirement .valid{color:var(--dark-accent, #5DB075)}.dark-theme .password-requirements .requirement .invalid{color:#ef5350}.logs-container{width:100%}.logs-textarea{font-family:Courier New,Consolas,monospace;font-size:.85rem;background:#000000;color:#0f0;border-radius:4px;padding:1rem;min-height:400px;max-height:600px;border:1px solid #00ff00;overflow-x:auto;overflow-y:auto;white-space:pre;word-wrap:normal;word-break:normal}.logs-info{margin-top:1rem;padding:.75rem;background:var(--ion-color-light);border-radius:4px;border-left:3px solid var(--ion-color-primary)}.logs-info p{margin:0;font-size:.9rem;color:var(--ion-color-medium)}.dark-theme .admin-container{background:var(--dark-bg-primary, #1a2a28)}.dark-theme .admin-tabs{background:var(--dark-bg-secondary, #243836)}.dark-theme .section-header h2{color:var(--dark-accent, #5DB075)}.dark-theme .user-card{--background: var(--dark-bg-secondary, #243836);box-shadow:0 2px 8px #0000004d}.dark-theme .user-card.collapsed:hover{box-shadow:0 4px 12px #0006}.dark-theme .user-card-header:hover{background:rgba(255,255,255,.03)}.dark-theme .expand-icon{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .user-name{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .user-header-email{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .user-initials-badge{background:var(--dark-accent, #5DB075);color:var(--dark-bg-primary, #1a2a28)}.dark-theme .user-status-badge.active{background:rgba(93,176,117,.2);color:var(--dark-accent, #5DB075)}.dark-theme .user-status-badge.inactive{background:rgba(244,67,54,.2);color:#ef5350}.dark-theme .user-actions-footer{border-top-color:var(--dark-border, #3a5553);background:var(--dark-bg-tertiary, #2d4543)}.dark-theme .user-card ion-card-header{background:transparent}.dark-theme .user-card ion-card-title{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .user-email{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .user-detail-row{border-bottom-color:var(--dark-border, #3a5553)}.dark-theme .detail-label{color:var(--dark-text-secondary, #9DB5A8)}.dark-theme .detail-value{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .detail-value.status.active{background:rgba(93,176,117,.2);color:var(--dark-accent, #5DB075)}.dark-theme .detail-value.status.inactive{background:rgba(244,67,54,.2);color:#ef5350}.dark-theme .detail-value.verified{color:var(--dark-accent, #5DB075)}.dark-theme .detail-value.not-verified{color:#ef5350}.dark-theme .add-user-form{background:var(--dark-bg-secondary, #243836);border-radius:12px;padding:1rem}.dark-theme .add-user-form ion-item{--background: var(--dark-bg-tertiary, #2d4543);--color: var(--dark-text-primary, #e8f0eb)}.dark-theme .add-user-form ion-input,.dark-theme .add-user-form ion-select{--background: var(--dark-bg-tertiary, #2d4543);--color: var(--dark-text-primary, #e8f0eb)}.dark-theme .logs-textarea{background:var(--dark-bg-primary, #1a2a28);color:var(--dark-accent, #5DB075);border-color:var(--dark-accent, #5DB075)}.dark-theme .logs-info{background:var(--dark-bg-secondary, #243836);border-left-color:var(--dark-accent, #5DB075)}.dark-theme .logs-info p{color:var(--dark-text-secondary, #9DB5A8)}.database-stats-section{padding:0 1rem;max-width:1200px;margin:0 auto 1.5rem}.stats-card{margin:0;background:linear-gradient(135deg,#e8f5e9 0%,#c8e6c9 100%);border-radius:12px;overflow:hidden;box-shadow:0 2px 10px #4caf5026;border:1px solid rgba(76,175,80,.2)}.stats-card ion-card-header{background:rgba(76,175,80,.1);border-bottom:1px solid rgba(76,175,80,.15)}.stats-card ion-card-title{font-size:1.1rem;display:flex;align-items:center;color:#2e7d32;font-weight:600}.stats-card ion-card-content{padding:0}.stats-table{width:100%;border-collapse:collapse;font-size:.95rem}.stats-table th,.stats-table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid rgba(76,175,80,.12);color:#1b5e20}.stats-table th{font-weight:600;color:#388e3c;background:transparent;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.stats-table th:nth-child(2),.stats-table th:nth-child(3),.stats-table td:nth-child(2),.stats-table td:nth-child(3){text-align:right}.stats-table tbody tr:hover{background:rgba(76,175,80,.08)}.stats-total-row{background:rgba(76,175,80,.12)}.stats-total-row td{border-bottom:none;color:#1b5e20;font-weight:700}.stats-loading,.stats-error{text-align:center;padding:1.5rem;color:#388e3c}.stats-error{color:#c62828}.dark-theme .stats-card{background:linear-gradient(135deg,var(--dark-bg-secondary, #243836) 0%,var(--dark-bg-tertiary, #2d4543) 100%);border-color:var(--dark-border, #3a5553);box-shadow:0 4px 15px #0000004d}.dark-theme .stats-card ion-card-header{background:rgba(93,176,117,.1);border-bottom-color:var(--dark-border, #3a5553)}.dark-theme .stats-card ion-card-title{color:var(--dark-accent, #5DB075)}.dark-theme .stats-table th,.dark-theme .stats-table td{color:var(--dark-text-primary, #e8f0eb);border-bottom-color:var(--dark-border, #3a5553)}.dark-theme .stats-table th{color:var(--dark-accent, #5DB075)}.dark-theme .stats-table tbody tr:hover{background:rgba(93,176,117,.1)}.dark-theme .stats-total-row{background:rgba(93,176,117,.15)}.dark-theme .stats-total-row td,.dark-theme .stats-loading{color:var(--dark-accent, #5DB075)}.backup-section{padding:0 1rem;max-width:1200px;margin:0 auto 1.5rem}.backup-card{margin:0;background:linear-gradient(135deg,#e3f2fd 0%,#bbdefb 100%);border-radius:12px;overflow:hidden;box-shadow:0 2px 10px #2196f326;border:1px solid rgba(33,150,243,.2)}.backup-card ion-card-header{background:rgba(33,150,243,.1);border-bottom:1px solid rgba(33,150,243,.15)}.backup-card ion-card-title{font-size:1.1rem;display:flex;align-items:center;color:#1565c0;font-weight:600}.backup-message{padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem;font-weight:500}.backup-message.success{background:rgba(76,175,80,.15);color:#2e7d32;border:1px solid rgba(76,175,80,.3)}.backup-message.error{background:rgba(244,67,54,.15);color:#c62828;border:1px solid rgba(244,67,54,.3)}.backup-controls{display:flex;flex-direction:column;gap:1rem}.backup-select-container{display:flex;flex-direction:column;gap:.5rem}.backup-label{font-weight:600;color:#1565c0;font-size:.9rem}.backup-select{--background: white;--border-radius: 8px;--padding-start: 12px;--padding-end: 12px;border:1px solid rgba(33,150,243,.3);border-radius:8px;min-height:44px;width:100%}.backup-select::part(text){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.backup-buttons{display:flex;gap:1rem;flex-wrap:wrap}.backup-btn{--background: #1976d2;--background-hover: #1565c0;--border-radius: 8px;flex:1;min-width:150px}.restore-btn{--border-radius: 8px;flex:1;min-width:150px}.backup-info{margin-top:1rem;padding:.75rem;background:rgba(33,150,243,.08);border-radius:8px;border-left:3px solid #1976d2}.backup-info p{margin:0;font-size:.85rem;color:#1565c0}.backup-info code{background:rgba(33,150,243,.15);padding:.15rem .4rem;border-radius:4px;font-family:Courier New,monospace;font-size:.8rem}.dark-theme .backup-card{background:linear-gradient(135deg,#1a3040 0%,#243848 100%);border-color:#64b5f64d;box-shadow:0 4px 15px #0000004d}.dark-theme .backup-card ion-card-header{background:rgba(100,181,246,.1);border-bottom-color:#64b5f633}.dark-theme .backup-card ion-card-title{color:#64b5f6}.dark-theme .backup-label{color:#90caf9}.dark-theme .backup-select{--background: var(--dark-bg-tertiary, #2d4543);--color: var(--dark-text-primary, #e8f0eb);border-color:#90caf94d}.dark-theme .backup-message.success{background:rgba(93,176,117,.2);color:var(--dark-accent, #5DB075);border-color:#5db07566}.dark-theme .backup-message.error{background:rgba(244,67,54,.2);color:#ef9a9a;border-color:#f4433666}.dark-theme .backup-info{background:rgba(100,181,246,.1);border-left-color:#64b5f6}.dark-theme .backup-info p{color:#90caf9}.dark-theme .backup-info code{background:rgba(255,255,255,.1);color:#bbdefb}@media (max-width: 768px){.section-header{flex-direction:column;align-items:flex-start}.section-actions{width:100%;justify-content:flex-end}.user-card-header,.user-card-header-left{flex-wrap:wrap;gap:.5rem}.user-header-email{display:none}.user-actions-footer{flex-wrap:wrap;justify-content:center}.stats-table th,.stats-table td{padding:.5rem;font-size:.9rem}.backup-buttons{flex-direction:column}.backup-btn,.restore-btn{width:100%;min-width:unset}}.header-content{display:flex;justify-content:space-between;align-items:center;padding:0 8px}.logo-img{height:32px;width:auto}.back-btn,.menu-btn{--color: #FFFFFF}.menu-list{background:#FFFFFF;border-radius:12px;padding:8px 0;min-width:200px}.custom-content{--background: #f5f5f5}.dblogs-section{background:white;border-radius:12px;margin:16px;padding:16px;box-shadow:0 2px 8px #0000001a}.section-title{font-size:1.1rem;font-weight:600;color:#2b6461;margin:0 0 16px;display:flex;align-items:center;gap:8px}.section-title ion-icon{font-size:1.2rem}.table-selector{display:flex;align-items:flex-end;gap:12px;margin-bottom:16px;flex-wrap:wrap}.table-selector .custom-item{flex:1;min-width:250px;--background: #f9f9f9;border-radius:8px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#666}.loading-container ion-spinner{width:40px;height:40px;margin-bottom:12px}.table-container{border:1px solid #e0e0e0;border-radius:8px;overflow:hidden}.pagination-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f5f5f5;border-bottom:1px solid #e0e0e0}.total-info{font-size:.85rem;color:#666;font-weight:500}.pagination-controls{display:flex;align-items:center;gap:8px}.page-info{font-size:.85rem;color:#333;min-width:60px;text-align:center}.table-scroll-wrapper{overflow-x:auto;overflow-y:auto;max-height:60vh;-webkit-overflow-scrolling:touch}.data-table{width:100%;border-collapse:collapse;font-size:.8rem;white-space:nowrap}.data-table th{position:sticky;top:0;background:#2B6461;color:#fff;padding:10px 12px;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;border-right:1px solid rgba(255,255,255,.2);z-index:10}.data-table th:last-child{border-right:none}.data-table td{padding:8px 12px;border-bottom:1px solid #e8e8e8;border-right:1px solid #f0f0f0;vertical-align:top;max-width:300px}.data-table td:last-child{border-right:none}.data-table tr:nth-child(2n){background:#fafafa}.data-table tr:hover{background:#f0f8f7}.cell-content{overflow:hidden;text-overflow:ellipsis;max-width:300px;max-height:60px;line-height:1.4}.cell-content pre{margin:0;font-family:Monaco,Consolas,monospace;font-size:.7rem;white-space:pre-wrap;word-break:break-all}.no-data{text-align:center;padding:40px;color:#888;font-style:italic}@media (max-width: 768px){.dblogs-section{margin:8px;padding:12px}.table-selector{flex-direction:column}.table-selector .custom-item{width:100%}.pagination-header{flex-direction:column;gap:8px}.data-table{font-size:.75rem}.data-table th,.data-table td{padding:6px 8px}.cell-content{max-width:150px}}.table-scroll-wrapper::-webkit-scrollbar{width:8px;height:8px}.table-scroll-wrapper::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.table-scroll-wrapper::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.table-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.data-table th[title]:after{content:""}.ubibot-section{margin-top:16px}.section-description{color:#666;font-size:.9rem;margin-bottom:20px;line-height:1.5}.subsection-title{font-size:.95rem;font-weight:600;color:#333;margin:0 0 12px}.ubibot-stats{background:#f9f9f9;border-radius:8px;padding:16px;margin-bottom:20px}.stats-grid{display:flex;flex-wrap:wrap;gap:16px}.stat-item{display:flex;flex-direction:column;background:white;padding:12px 16px;border-radius:8px;border:1px solid #e0e0e0;min-width:120px}.stat-value{font-size:1.5rem;font-weight:700;color:#2b6461}.stat-label{font-size:.75rem;color:#666;margin-top:4px}.channel-stat{flex:1;min-width:200px;background:white;padding:12px 16px;border-radius:8px;border:1px solid #e0e0e0}.channel-name{font-weight:600;color:#2b6461;margin-bottom:6px}.channel-details{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:#555}.date-range{font-size:.75rem;color:#888}.no-data-text{color:#888;font-style:italic;margin:0}.loading-inline{padding:12px;text-align:center}.ubibot-download{background:#f9f9f9;border-radius:8px;padding:16px}.download-controls{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}.hours-input{flex:1;min-width:200px;max-width:300px;--background: white;border-radius:8px}.download-btn{--background: #2B6461;--color: white;--border-radius: 8px;height:48px;min-width:160px}.download-btn ion-spinner{margin-right:8px}.download-result{margin-top:16px;padding:16px;border-radius:8px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.download-result.success{background:#e8f5e9;border:1px solid #81c784}.download-result.error{background:#ffebee;border:1px solid #e57373}.result-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.result-icon{font-size:1.5rem}.download-result.success .result-icon{color:#4caf50}.download-result.error .result-icon{color:#f44336}.result-message{font-weight:500;font-size:.95rem}.result-details{display:flex;flex-wrap:wrap;gap:16px;margin-top:8px}.result-stat{display:flex;flex-direction:column;background:rgba(255,255,255,.7);padding:8px 12px;border-radius:6px;min-width:100px}.result-value{font-size:1.2rem;font-weight:700;color:#2b6461}.result-label{font-size:.7rem;color:#666;margin-top:2px}@media (max-width: 768px){.download-controls{flex-direction:column;align-items:stretch}.hours-input{max-width:none}.download-btn{width:100%}.stats-grid{flex-direction:column}.channel-stat{min-width:auto}.result-details{flex-direction:column;gap:8px}}.backup-card-header{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;padding:16px!important}.backup-card-header ion-card-title{margin:0;flex:1}.backup-icon-buttons{display:flex;gap:12px;align-items:center}.backup-icon{font-size:22px;color:#2b6461;cursor:pointer;transition:color .2s,opacity .2s}.backup-icon:hover:not(.disabled){color:#1a4a47}.backup-icon.disabled{color:#9db5a8;opacity:.6;cursor:not-allowed}.coverage-calendar-section{background:#f9f9f9;border-radius:8px;padding:16px;margin-bottom:20px}.calendar-header{display:flex;justify-content:center;align-items:center;gap:16px;margin-bottom:16px}.calendar-month-label{font-size:1rem;font-weight:600;color:#2b6461;min-width:150px;text-align:center;text-transform:capitalize}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;max-width:350px;margin:0 auto}.calendar-weekday{text-align:center;font-size:.75rem;font-weight:600;color:#666;padding:8px 4px;border-bottom:1px solid #e0e0e0}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.85rem;border-radius:6px;cursor:default;transition:transform .15s ease;position:relative}.calendar-day:hover{transform:scale(1.1);z-index:1}.calendar-day.full{background:#1565c0;color:#fff;font-weight:600}.calendar-day.partial{background:#64b5f6;color:#fff}.calendar-day.none{background:white;color:#333;border:1px solid #e0e0e0}.calendar-day.future{background:#f5f5f5;color:#bbb;border:1px solid #e8e8e8}.calendar-day.other-month{opacity:.4}.calendar-day.today{box-shadow:0 0 0 2px #2b6461}.calendar-legend{display:flex;justify-content:center;gap:20px;margin-top:16px;padding-top:12px;border-top:1px solid #e0e0e0}.legend-item{display:flex;align-items:center;gap:6px}.legend-color{width:16px;height:16px;border-radius:4px}.legend-color.full{background:#1565c0}.legend-color.partial{background:#64b5f6}.legend-color.none{background:white;border:1px solid #e0e0e0}.legend-label{font-size:.75rem;color:#666}@media (max-width: 480px){.calendar-grid{max-width:280px;gap:3px}.calendar-day{font-size:.75rem}.calendar-legend{flex-wrap:wrap;gap:12px}.calendar-month-label{font-size:.9rem;min-width:120px}}:root{--vert-fonce: #2B6461;--vert-moyen: #A0B1AD;--vert-tres-clair: #E8F0EB;--texte-principal: #12322F;--texte-secondaire: #5B6C68;--rouge-erreur: #A12626;--blanc: #FFFFFF}.custom-header{--background: #2B6461;--color: #FFFFFF}.custom-header ion-toolbar{--background: #2B6461;--color: #FFFFFF;padding:0;min-height:56px;height:auto}.header-content{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;width:100%;min-height:56px}.logo-section{display:flex;align-items:center;gap:8px}.logo-img{height:40px;width:auto;object-fit:contain}.nav-buttons{display:flex;gap:2px;align-items:center}.menu-btn{--color: #FFFFFF;margin:0;padding:8px;min-width:40px;height:40px}.menu-btn ion-icon{font-size:24px;color:#fff}.delete-btn{--color: #FFFFFF;margin:0;padding:8px;min-width:40px;height:40px}.delete-btn ion-icon{font-size:22px;color:#fff}.delete-btn:hover{--color: rgba(255, 255, 255, .8)}.delete-btn:hover ion-icon{color:#fffc}.menu-list{background:#FFFFFF;border-radius:12px;padding:8px 0;margin:0}.menu-list ion-item{--background: transparent;--color: #12322F;--padding-start: 16px;--padding-end: 16px;--min-height: 48px;font-family:sans-serif}.menu-list ion-item ion-icon{color:#2b6461;margin-right:12px}.menu-list ion-item ion-label{color:#12322f;font-weight:500}.menu-separator{--min-height: 8px;--padding-start: 16px;--padding-end: 16px;--inner-padding-start: 0;--inner-padding-end: 0;--background: transparent}.menu-separator .separator-line{width:100%;height:1px;background:#e0e0e0;margin:3px 0}.custom-content{--background: #E8F0EB;background-color:#e8f0eb}.title-section{background:transparent;padding:20px 16px;text-align:center;border-radius:0;margin:0;box-shadow:none}.main-title{font-size:24px;font-weight:600;color:#12322f;margin:0;display:flex;align-items:center;justify-content:center;gap:8px;font-family:sans-serif}.title-icon{font-size:20px;color:#2b6461}.user-role{margin:8px 0 0;font-size:14px;color:#5b6c68;font-family:sans-serif}.server-hostname{margin:4px 0 0;font-size:12px;color:#7a8a86;font-family:monospace}.action-cards{display:flex;gap:12px;padding:16px;overflow-x:auto;background:#E8F0EB}.action-card{min-width:100px;flex:1;margin:0;text-align:center;background:#FFFFFF;border-radius:20px;padding:0;box-shadow:0 6px 16px #00000014;border:none}.action-card.listening{background:#FFEBEE;animation:pulse-card 1.5s ease-in-out infinite}.action-card.analyzing{background:#E3F2FD;animation:pulse-card-blue 1.5s ease-in-out infinite}@keyframes pulse-card{0%,to{box-shadow:0 6px 16px #00000014}50%{box-shadow:0 6px 20px #d32f2f4d}}@keyframes pulse-card-blue{0%,to{box-shadow:0 6px 16px #00000014}50%{box-shadow:0 6px 20px #2196f34d}}.action-card ion-card-header{padding:24px 8px 0;background:transparent;display:flex;justify-content:center;align-items:center;min-height:60px}.action-card ion-card-content{padding:8px 12px 20px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center}.action-icon{font-size:40px;color:#2b6461;margin-bottom:12px;display:flex;align-items:center;justify-content:center}.action-title{font-size:14px;font-weight:600;margin:0;color:#12322f;font-family:sans-serif;text-align:center}.section-container{background:#E8F0EB;padding:12px 2px;margin:0;border-radius:0;box-shadow:none;border:none;width:100%}.qr-input-container{background-color:#9db5a8;padding:16px 20px;border-radius:0;margin:20px 0;box-shadow:0 4px 8px #0000000f;display:flex;justify-content:center;align-items:center}.qr-input-item{margin-bottom:0!important;--background: #FFFFFF;--border-radius: 14px;background:#FFFFFF;box-shadow:inset 0 0 0 1px #0000000d;padding:0!important;width:auto;min-width:fit-content}.qr-input-item::part(native){box-shadow:inset 0 0 0 1px #0000000d!important;border:none!important;background:#FFFFFF!important;border-radius:14px!important;padding:6px 10px;width:auto;min-width:fit-content}.qr-input-item ion-input{--placeholder-color: #5B6C68;--placeholder-opacity: 1;color:#12322f;width:auto;min-width:fit-content;text-align:center;font-size:24px;font-weight:700;font-family:sans-serif}.qr-input-item ion-input::part(native){font-size:24px;font-weight:700}.qr-input-item ion-input::part(placeholder){font-size:24px;font-weight:700}.code-status-icon{display:flex;align-items:center;justify-content:center;margin-left:8px;min-width:24px;height:24px}.code-status-loading{color:#5b6c68;font-size:18px;font-weight:700;animation:pulse 1.5s ease-in-out infinite}.code-status-valid{color:#4caf50;font-size:24px}.batch-codes-count{color:#4caf50;font-size:18px;font-weight:600;margin-left:2px}.code-status-invalid{color:#a12626;font-size:24px}.batch-link-button{--padding-start: 4px;--padding-end: 4px;margin:0;height:28px;min-height:28px}.batch-link-icon{color:#fff;font-size:20px}.batch-link-button:hover .batch-link-icon{color:var(--vert-moyen, #A0B1AD)}.dark-theme .batch-link-icon{color:#9db5a8}.dark-theme .batch-link-button:hover .batch-link-icon{color:#e8f0eb}.batch-id-container{margin:12px 16px;padding:12px;background:var(--vert-tres-clair, #E8F0EB);border-radius:12px}.batch-id-item{--background: transparent;--padding-start: 0;--padding-end: 0;--inner-padding-end: 0}.batch-id-display{display:flex;align-items:center;margin-top:4px}.batch-id-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--vert-fonce, #2B6461);color:#fff;border-radius:16px;font-weight:600;font-size:14px;cursor:pointer;transition:background-color .2s ease}.batch-id-badge:hover{background:var(--vert-moyen, #4a8a86)}.batch-id-icon{font-size:16px}.dark-theme .batch-id-container{background:var(--dark-bg-secondary, #243836)}.dark-theme .batch-id-badge{background:#3a5553;color:#e8f0eb}.dark-theme .batch-id-badge:hover{background:#4a6563}.batch-id-field-display{display:flex;align-items:center;min-height:36px;padding:8px 0}.batch-id-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--vert-fonce, #2B6461);color:#fff;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.batch-id-link:hover{background:var(--vert-moyen, #4a8a86)}.batch-id-link .batch-id-icon{font-size:16px}.batch-id-empty{color:var(--texte-secondaire, #5B6C68);font-style:italic;font-size:14px}.dark-theme .batch-id-link{background:#3a5553;color:#e8f0eb}.dark-theme .batch-id-link:hover{background:#4a6563}.dark-theme .batch-id-empty{color:#8a9a96}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.section-title{font-size:16px;font-weight:600;color:#12322f;margin:0 0 16px;display:flex;align-items:center;gap:8px;font-family:sans-serif}.section-icon{font-size:18px;color:#2b6461}.two-fields-row{display:flex;gap:2px;width:100%}.two-fields-item{flex:1;min-width:0}.two-fields-item .custom-item{margin-bottom:12px}.two-fields-row .two-fields-item .custom-item{--background: transparent;background:transparent;box-shadow:none;border-radius:0;padding:4px 0;margin-bottom:8px}.two-fields-row .two-fields-item .custom-item::part(native){background:transparent!important;box-shadow:none!important}.two-fields-row .two-fields-item .custom-item ion-label{font-size:16px;font-weight:600;margin-bottom:4px;color:#5b6c68}.two-fields-row .two-fields-item .custom-item ion-select,.two-fields-row .two-fields-item .custom-item ion-input{--background: #FFFFFF;background:#FFFFFF;border-radius:10px;box-shadow:inset 0 0 0 1px #00000014;--padding-start: 8px;--padding-end: 8px;--padding-top: 10px;--padding-bottom: 10px;font-size:14px;min-height:44px}.two-fields-row .two-fields-item .custom-item ion-select::part(native),.two-fields-row .two-fields-item .custom-item ion-input::part(native){background:#FFFFFF;border-radius:10px;padding:10px 8px;min-height:44px}.dark-theme .two-fields-row .two-fields-item .custom-item{--background: transparent !important;background:transparent!important}.dark-theme .two-fields-row .two-fields-item .custom-item::part(native){background:transparent!important}.dark-theme .two-fields-row .two-fields-item .custom-item ion-label{color:#9db5a8!important}.dark-theme .two-fields-row .two-fields-item .custom-item ion-select,.dark-theme .two-fields-row .two-fields-item .custom-item ion-input{--background: var(--dark-bg-secondary, #243836) !important;background:var(--dark-bg-secondary, #243836)!important;box-shadow:inset 0 0 0 1px #3a5553!important}.dark-theme .two-fields-row .two-fields-item .custom-item ion-select::part(native),.dark-theme .two-fields-row .two-fields-item .custom-item ion-input::part(native){background:var(--dark-bg-secondary, #243836)!important}.two-fields-row .two-fields-item .custom-item .date-picker-display,.two-fields-row .two-fields-item .custom-item .batch-id-field-display{background:#FFFFFF;border-radius:10px;box-shadow:inset 0 0 0 1px #00000014;padding:10px 8px;min-height:44px;font-size:14px;width:100%;display:flex;align-items:center}.two-fields-row .two-fields-item .custom-item .batch-id-empty{font-size:14px;color:#9db5a8}.dark-theme .two-fields-row .two-fields-item .custom-item .date-picker-display,.dark-theme .two-fields-row .two-fields-item .custom-item .batch-id-field-display{background:var(--dark-bg-secondary, #243836)!important;box-shadow:inset 0 0 0 1px #3a5553!important}.dark-theme .two-fields-row .two-fields-item .custom-item .batch-id-empty{color:#7a9a8a!important}.three-fields-row{display:flex;gap:8px;width:100%}.three-fields-item{flex:1;min-width:0}.three-fields-item .custom-item{margin-bottom:12px}.custom-item{--background: #FFFFFF;--border-radius: 14px;--border-width: 0;--border-style: none;--inner-padding-end: 16px;--inner-padding-start: 16px;--padding-start: 0;--padding-end: 0;margin-bottom:12px;border-radius:14px;padding:12px 16px;background:#FFFFFF;box-shadow:inset 0 0 0 1px #0000000d;border:none;--inner-border-width: 0}.custom-item::part(native){border:none!important;box-shadow:inset 0 0 0 1px #0000000d!important;background:#FFFFFF}.custom-item::part(detail-icon){color:#2b6461}.custom-item ion-label{font-weight:500;color:#12322f;margin-bottom:8px;font-family:sans-serif}.custom-item ion-select{width:100%;--placeholder-color: #5B6C68;--placeholder-opacity: 1;color:#12322f;font-family:sans-serif}.custom-item ion-select::part(native),.custom-item select{width:100%;background:#FFFFFF;border-radius:14px;padding:12px 40px 12px 16px;border:none;box-shadow:inset 0 0 0 1px #0000000d;color:#12322f;font-family:sans-serif;font-size:16px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232B6461' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px;cursor:pointer}.custom-item ion-select::part(native):focus,.custom-item select:focus{outline:none;box-shadow:inset 0 0 0 1px #0000000d}.custom-item ion-select::part(icon){display:none}.custom-item select option{color:#12322f;background:#FFFFFF;padding:8px}.custom-item ion-input{--placeholder-color: #5B6C68;--placeholder-opacity: 1;color:#12322f;font-family:sans-serif}.custom-item.small-label-item ion-label{font-size:12px;margin-bottom:4px}.custom-item.small-label-item ion-select,.custom-item.small-label-item ion-input{font-size:14px}.custom-item.small-label-item ion-select::part(text){font-size:14px}.date-picker-display{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 0;color:#12322f;font-family:sans-serif;cursor:pointer}.date-picker-display .placeholder{color:#5b6c68;opacity:1}.date-picker-display ion-icon{color:#2b6461;font-size:20px}.date-picker-modal-container{--width: auto;--height: auto;--border-radius: 16px}.date-picker-modal-container::part(content){width:auto;height:auto}.date-picker-modal-container ion-datetime{--background: #FFFFFF;margin:0;padding:0}.date-picker-modal-container ion-datetime::part(calendar-day-active){background:#2B6461;color:#fff}.date-picker-modal-container ion-datetime::part(calendar-day today){color:#2b6461;border:1px solid #2B6461}.warning-text{color:#a12626;font-size:12px;margin:8px 0 0;font-family:sans-serif}.notes-item{margin-bottom:12px;flex-direction:column;align-items:stretch}.notes-item ion-label{margin-bottom:8px}.notes-wrapper{position:relative;display:flex;flex-direction:column;gap:12px;width:100%;margin-top:8px}.notes-textarea{--background: #FFFFFF;--border-radius: 14px;--padding-start: 16px;--padding-end: 16px;--padding-top: 12px;--padding-bottom: 12px;--placeholder-color: #5B6C68;--placeholder-opacity: 1;--color: #12322F;background:#FFFFFF;border-radius:14px;box-shadow:inset 0 0 0 1px #0000000d;font-family:sans-serif;font-size:16px;font-weight:400;min-height:110px;width:100%;border:none}.notes-textarea::placeholder{color:#5b6c68;font-weight:400;opacity:1}.notes-textarea::part(native){background:#FFFFFF;border-radius:14px;box-shadow:inset 0 0 0 1px #0000000d;padding:12px 16px}.notes-icons{display:flex;justify-content:flex-end;gap:8px;align-items:center;width:fit-content;margin-left:auto}.notes-icon-btn{--color: #FFFFFF;--padding-start: 8px;--padding-end: 8px;margin:0;min-width:40px;height:40px;--background: #9DB5A8;border-radius:14px}.notes-icon-btn::part(native){background:#9DB5A8;border-radius:14px}.notes-icon-btn ion-icon{font-size:20px;color:#fff}.notes-icon-btn.listening{--background: #D32F2F;animation:pulse 1.5s ease-in-out infinite}.notes-icon-btn.listening::part(native){background:#D32F2F}.notes-icon-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.camera-capture-container{margin-top:16px;border-radius:14px;overflow:hidden;background:#000;position:relative}.camera-video{width:100%;max-height:300px;display:block;object-fit:cover}.camera-controls{display:flex;justify-content:center;align-items:center;gap:16px;padding:16px;background:rgba(0,0,0,.7)}.camera-capture-btn{--background: #2B6461 !important;--color: #FFFFFF !important;--ion-color-primary: #2B6461 !important;--ion-color-primary-contrast: #FFFFFF !important;--border-radius: 50%;width:64px;height:64px;--padding: 0;position:relative;z-index:10;cursor:pointer}.camera-capture-btn::part(native){background:#2B6461!important;background-color:#2b6461!important;color:#fff!important;opacity:1!important;border-radius:50%!important}.camera-capture-btn::part(native):hover,.camera-capture-btn::part(native):active,.camera-capture-btn::part(native):focus{background:#2B6461!important;background-color:#2b6461!important;opacity:1!important}.camera-capture-btn:not([disabled])::part(native){background:#2B6461!important;background-color:#2b6461!important;color:#fff!important;opacity:1!important}.camera-capture-btn ion-icon{color:#fff!important}.camera-capture-btn:not([disabled]) ion-icon{color:#fff!important;opacity:1!important}.camera-capture-btn[disabled]{opacity:.5;cursor:not-allowed}.camera-capture-btn[disabled]::part(native){background:#2B6461!important;background-color:#2b6461!important;color:#fff!important;opacity:.5!important}.camera-capture-btn[disabled] ion-icon{color:#fff!important;opacity:.5!important}.camera-capture-btn.ready::part(native){background:#2B6461!important;background-color:#2b6461!important;color:#fff!important;opacity:1!important}.camera-capture-btn.ready:not([disabled])::part(native){background:#2B6461!important;background-color:#2b6461!important;color:#fff!important;opacity:1!important}.camera-capture-btn.ready ion-icon{color:#fff!important;opacity:1!important}.camera-capture-btn.ready:not([disabled]) ion-icon{color:#fff!important;opacity:1!important}.camera-capture-btn:not([disabled]){--background: #2B6461 !important;--color: #FFFFFF !important;--ion-color-primary: #2B6461 !important;--ion-color-primary-contrast: #FFFFFF !important;opacity:1!important}.camera-capture-btn:not([disabled])::part(native){--background: #2B6461 !important;background:#2B6461!important;background-color:#2b6461!important;color:#fff!important;opacity:1!important}.camera-capture-btn ion-icon{color:#fff!important;--color: #FFFFFF !important}.camera-capture-btn:not([disabled]) ion-icon{color:#fff!important;--color: #FFFFFF !important;opacity:1!important}.camera-cancel-btn{--border-color: #FFFFFF;--color: #FFFFFF}.selected-photos-container{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.photo-preview{position:relative;width:150px;height:150px;border-radius:10px;overflow:hidden;background:#F5F5F5;border:2px solid #E8F0EB;cursor:pointer;transition:transform .2s,box-shadow .2s}.photo-preview:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.photo-preview-image{width:100%;height:100%;object-fit:cover;cursor:pointer}.photo-remove-btn{position:absolute;top:6px;right:6px;--background: #D32F2F;--color: #FFFFFF;--padding: 0;margin:0;width:28px;height:28px;min-width:28px;min-height:28px;border-radius:50%;z-index:10;box-shadow:0 2px 6px #0006;display:flex;align-items:center;justify-content:center}.photo-remove-btn::part(native){background:#D32F2F;border-radius:50%;padding:0;width:28px;height:28px;min-width:28px;min-height:28px;display:flex;align-items:center;justify-content:center}.photo-remove-btn ion-icon{font-size:18px;color:#fff}.photo-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;z-index:99999!important;padding:0;cursor:pointer}.photo-modal-content{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;cursor:default;z-index:99999!important;padding:10px;box-sizing:border-box;pointer-events:none}.photo-modal-content>*{pointer-events:auto}.photo-modal-close-btn{position:fixed;top:10px;right:10px;--color: #FFFFFF;--padding: 8px;margin:0;min-width:44px;height:44px;z-index:100001!important;background:rgba(0,0,0,.5);border-radius:50%}.photo-modal-close-btn::part(native){background:rgba(0,0,0,.5);border-radius:50%}.photo-modal-close-btn ion-icon{font-size:28px;color:#fff}.photo-modal-download-btn{position:fixed;top:10px;right:64px;--color: #FFFFFF;--padding: 8px;margin:0;min-width:44px;height:44px;z-index:100001!important;background:rgba(0,0,0,.5);border-radius:50%}.photo-modal-download-btn::part(native){background:rgba(0,0,0,.5);border-radius:50%}.photo-modal-download-btn ion-icon{font-size:22px;color:#fff}.photo-modal-image-wrapper{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#000}.photo-modal-zoom-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;touch-action:pinch-zoom;overflow:auto;-webkit-overflow-scrolling:touch}.photo-modal-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;background:#000;touch-action:pinch-zoom;-webkit-user-select:none;user-select:none}.photo-modal-image.rotated-portrait{transform:rotate(90deg);max-width:100vh;max-height:100vw}.photo-modal-video{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;background:#000}.photo-modal-info-overlay{position:fixed;bottom:20px;left:20px;right:20px;background:rgba(43,100,97,.85);color:#fff;padding:10px 16px;font-size:12px;font-weight:500;border-radius:8px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:100002!important;box-shadow:0 2px 12px #00000080}.photo-modal-copyright{position:fixed;bottom:70px;right:20px;color:#fff;background:rgba(0,0,0,.5);padding:4px 8px;font-size:10px;font-weight:500;z-index:100000!important;letter-spacing:1px;border-radius:4px}@media (max-width: 768px) and (orientation: portrait){.photo-modal-info-overlay{font-size:10px;padding:4px 8px;max-width:calc(100% - 100px)}}.liaison-qr-container{background-color:#9db5a8;padding:16px 20px;border-radius:0;margin:20px 0;box-shadow:0 4px 8px #0000000f;position:relative}.liaison-qr-container .section-title{margin-bottom:12px}.links-split-container{display:flex;gap:12px;width:100%}.link-section{flex:1;background:#FFFFFF;border-radius:10px;padding:12px}.production-split-container{display:flex;gap:2px;width:100%}.production-column{flex:1;display:flex;flex-direction:column;gap:0}.production-column .custom-item{--background: transparent;background:transparent;box-shadow:none;border-radius:0;padding:4px 0;margin-bottom:8px}.production-column .custom-item::part(native){background:transparent!important;box-shadow:none!important}.production-column .custom-item ion-label{font-size:16px;font-weight:600;margin-bottom:4px;color:#5b6c68}.production-column .custom-item ion-select,.production-column .custom-item ion-input{--background: #FFFFFF;background:#FFFFFF;border-radius:10px;box-shadow:inset 0 0 0 1px #00000014;--padding-start: 8px;--padding-end: 8px;--padding-top: 10px;--padding-bottom: 10px;font-size:14px;min-height:44px}.production-column .custom-item ion-select::part(native),.production-column .custom-item ion-input::part(native){background:#FFFFFF;border-radius:10px;padding:10px 8px;min-height:44px}.item-with-badge{position:relative;width:100%}.item-with-badge .custom-item{width:100%}.repiquage-badge{position:absolute;top:4px;right:4px;background:linear-gradient(135deg,#2B6461 0%,#1A4745 100%);color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:12px;box-shadow:0 2px 4px #0003;letter-spacing:.5px;z-index:10;cursor:default;-webkit-user-select:none;user-select:none}.dark-theme .repiquage-badge{background:linear-gradient(135deg,#5DB075 0%,#3D8F5A 100%);color:#1a2a28}.link-section-header{display:flex;align-items:center;gap:4px;margin-bottom:8px}.link-section-title{font-size:14px;font-weight:600;color:#12322f;margin:0;font-family:sans-serif}.link-input-wrapper{position:relative;display:flex;align-items:center;gap:4px;width:100%}.link-nav-btn{--padding-start: 0;--padding-end: 0;--background: transparent;margin:0;min-width:24px;height:24px}.link-nav-btn ion-icon{font-size:20px}.link-nav-btn.active{--color: #2B6461}.link-nav-btn.active:hover{--color: #1A4745}.link-nav-btn.disabled{--color: #A0B1AD;opacity:.5}.next-section .link-section-header{justify-content:flex-end}.add-next-btn{min-width:28px;height:28px;--padding-start: 4px;--padding-end: 4px}.add-next-btn ion-icon{font-size:18px}.next-codes-container{display:flex;flex-wrap:wrap;gap:8px;padding:8px;background:#FFFFFF;border-radius:10px;box-shadow:inset 0 0 0 1px #0000000d;min-height:40px;align-items:center;justify-content:flex-end}.next-codes-empty{color:#9db5a8;font-size:14px;font-style:italic}.next-code-badge{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2B6461 0%,#1A4745 100%);color:#fff;font-size:14px;font-weight:700;font-family:monospace;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #00000026;text-transform:uppercase;letter-spacing:1px}.next-code-badge:hover{background:linear-gradient(135deg,#1A4745 0%,#0F2D2B 100%);transform:translateY(-1px);box-shadow:0 4px 8px #0003}.next-code-badge:active{transform:translateY(0);box-shadow:0 2px 4px #00000026}.next-code-more{display:inline-flex;align-items:center;justify-content:center;background:#E8F0EB;color:#2b6461;font-size:10px;font-weight:700;width:18px;height:18px;min-width:18px;padding:0;border-radius:50%;cursor:pointer;transition:all .2s ease;border:1px dashed #2B6461;line-height:1}.next-code-more:hover{background:#D0E0D8}.next-code-less{display:inline-flex;align-items:center;justify-content:center;background:#E8F0EB;color:#5b6c68;font-size:10px;padding:4px 8px;border-radius:6px;cursor:pointer;transition:all .2s ease}.next-code-less:hover{background:#D0E0D8;color:#2b6461}.batch-codes-section{margin-top:8px;margin-bottom:12px;padding:12px 12px 12px 0;background:transparent}.batch-codes-header{margin-bottom:8px}.batch-codes-title{font-size:14px;font-weight:600;color:#2b6461;margin:0}.batch-codes-container{display:flex;flex-wrap:wrap;gap:8px;padding:8px;background:#F5F9F7;border-radius:10px;box-shadow:inset 0 0 0 1px #0000000d;min-height:40px;align-items:center}.batch-code-badge{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#5B8A84 0%,#3D6461 100%);color:#fff;font-size:13px;font-weight:700;font-family:monospace;padding:5px 10px;border-radius:6px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a;text-transform:uppercase;letter-spacing:1px}.batch-code-badge:hover{background:linear-gradient(135deg,#4A7A74 0%,#2D5451 100%);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.batch-code-badge:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.batch-code-more{display:inline-flex;align-items:center;justify-content:center;background:#E8F0EB;color:#5b8a84;font-size:10px;font-weight:700;padding:4px 8px;border-radius:6px;cursor:pointer;transition:all .2s ease;border:1px dashed #5B8A84}.batch-code-more:hover{background:#D8E8E0;color:#3d6461}.batch-code-less{display:inline-flex;align-items:center;justify-content:center;background:#E8F0EB;color:#5b6c68;font-size:10px;padding:4px 8px;border-radius:6px;cursor:pointer;transition:all .2s ease}.batch-code-less:hover{background:#D0E0D8;color:#2b6461}.prev-codes-container{display:flex;flex-wrap:wrap;gap:8px;padding:8px;background:#FFFFFF;border-radius:10px;box-shadow:inset 0 0 0 1px #0000000d;min-height:40px;align-items:center}.prev-input-wrapper{width:100%}.prev-input-wrapper .link-input-item{margin-bottom:0}.prev-badge-wrapper{display:flex;align-items:center;gap:8px}.prev-code-badge{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2B6461 0%,#1A4745 100%);color:#fff;font-size:14px;font-weight:700;font-family:monospace;padding:6px 12px;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #00000026;text-transform:uppercase;letter-spacing:1px}.prev-code-badge:hover{background:linear-gradient(135deg,#1A4745 0%,#0F2D2B 100%);transform:translateY(-1px);box-shadow:0 4px 8px #0003}.prev-code-badge:active{transform:translateY(0);box-shadow:0 2px 4px #00000026}.prev-code-edit{display:inline-flex;align-items:center;justify-content:center;background:#E8F0EB;color:#5b6c68;font-size:12px;padding:4px 8px;border-radius:6px;cursor:pointer;transition:all .2s ease}.prev-code-edit:hover{background:#D0E0D8;color:#2b6461}.link-input-item{margin-bottom:0!important;--background: #FFFFFF;--border-radius: 10px;background:#FFFFFF;box-shadow:inset 0 0 0 1px #0000000d;padding:0!important;flex:1}.link-input-item::part(native){box-shadow:inset 0 0 0 1px #0000000d!important;border:none!important;background:#FFFFFF!important;border-radius:10px!important;padding:6px 8px;width:100%}.link-input-item.input-error ion-input::part(native),.link-input-item.input-error::part(native){box-shadow:inset 0 0 0 2px #a12626!important;border:none!important}.link-input-item ion-input{--placeholder-color: #9DB5A8;--placeholder-opacity: 1;color:#12322f;font-size:22px;font-weight:600;font-family:monospace;text-align:center;text-transform:uppercase}.link-error-text{color:#a12626;font-size:11px;margin-top:6px;text-align:center;font-family:sans-serif}.metadata-container{background-color:#e8e8e8;padding:10px 14px;border-radius:12px;margin:16px;box-shadow:0 2px 6px #0000000f}.metadata-container .section-title{font-size:12px;margin-bottom:6px;font-weight:600}.metadata-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.metadata-grid .custom-item{margin-bottom:0;--min-height: 38px;--padding-top: 4px;--padding-bottom: 4px;--padding-start: 8px;--padding-end: 8px;--inner-padding-top: 2px;--inner-padding-bottom: 2px}.metadata-grid .custom-item ion-label{font-size:10px;font-weight:500;margin-bottom:1px;transform:scale(1)}.metadata-grid .custom-item ion-input{font-size:11px;--padding-top: 2px;--padding-bottom: 2px;--padding-start: 0;--padding-end: 0;min-height:20px}.readonly-item{opacity:.75}.readonly-item ion-input{--color: #5B6C68;cursor:not-allowed;font-size:11px}.readonly-item::part(native){background:#F5F5F5!important}.action-buttons-container{padding:20px 16px;background:#E8F0EB;display:flex;flex-direction:column;gap:12px}.action-button{--border-radius: 20px;--padding-top: 14px;--padding-bottom: 14px;font-family:sans-serif;font-weight:500;font-size:16px;margin:0}.save-button{--background: #2B6461;--color: #FFFFFF}.duplicate-button{--border-color: #2B6461;--color: #2B6461;--background: transparent}.duplicate-button::part(native){border:2px solid #2B6461}.new-button{--border-color: #2B6461;--color: #2B6461;--background: transparent}.new-button::part(native){border:2px solid #2B6461}.scroll-indicator{text-align:center;padding:20px;color:#5b6c68;font-size:12px;background:#E8F0EB;font-family:sans-serif}.scroll-indicator p{margin:0;color:#5b6c68}.scroll-icon{font-size:20px;margin-top:8px;color:#5b6c68}ion-button{--background: #2B6461;--color: #FFFFFF;--border-radius: 20px;font-family:sans-serif;font-weight:500}ion-card{--background: #FFFFFF;box-shadow:0 6px 16px #00000014;border-radius:20px;margin:0}ion-item{--border-color: transparent;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent}ion-select{--placeholder-color: #5B6C68;--placeholder-opacity: 1}ion-select[interface=native]::part(icon){display:none}ion-select::part(text){color:#12322f}ion-select[interface=native] option{color:#12322f;background:#FFFFFF;padding:8px}ion-button{--ripple-color: rgba(255, 255, 255, .3)}ion-content{--background: #E8F0EB;background-color:#e8f0eb}@media (max-width: 768px){.action-cards{flex-direction:row}.action-card{min-width:100px}.header-content{padding:12px}.nav-buttons{gap:4px}.nav-btn{padding:6px 8px}}@media (max-width: 992px){.metadata-grid{grid-template-columns:1fr!important}}@media (min-width: 993px){.metadata-grid{grid-template-columns:1fr 1fr}}.debug-panel{position:relative;background-color:#000;color:#0f0;font-family:Courier New,monospace;font-size:12px;max-height:400px;display:flex;flex-direction:column;box-shadow:0 -2px 10px #00000080;margin-top:20px;border-top:2px solid #333}.debug-header{background-color:#1a1a1a;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #333}.debug-header span{color:#0f0;font-weight:700}.debug-toggle{background:transparent;border:none;color:red;cursor:pointer;font-size:18px;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.debug-toggle:hover{background-color:#333;border-radius:4px}.debug-content{overflow-y:auto;padding:8px;flex:1}.debug-empty{color:#666;text-align:center;padding:20px;font-style:italic}.debug-log{margin-bottom:8px;padding:6px 8px;border-left:3px solid #333;background-color:#0a0a0a;word-wrap:break-word}.debug-log-info{border-left-color:#0f0}.debug-log-api{border-left-color:#08f}.debug-log-json{border-left-color:#fa0}.debug-log-field{border-left-color:#0ff}.debug-log-norm{border-left-color:#f0f}.debug-log-speech{border-left-color:#f80}.debug-log-config{border-left-color:#88f}.debug-log-error{border-left-color:red;background-color:#1a0000}.debug-time{color:#888;margin-right:8px;font-size:11px}.debug-type{color:#0f0;margin-right:8px;font-weight:700}.debug-message{color:#fff}.debug-data{margin-top:4px;margin-left:20px;color:#aaa;font-size:11px;background-color:#0f0f0f;padding:6px;border-radius:4px;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}.debug-show-btn{position:fixed;bottom:20px;right:20px;width:50px;height:50px;border-radius:50%;background-color:#000;color:#0f0;border:2px solid #00ff00;font-size:24px;cursor:pointer;z-index:9999;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00ff004d;transition:all .2s}.debug-show-btn:hover{background-color:#0f0;color:#000;transform:scale(1.1)}.dark-theme .custom-content{--background: var(--dark-bg-primary, #1a2a28);background-color:var(--dark-bg-primary, #1a2a28)}.dark-theme .title-section,.dark-theme .section-container{background:var(--dark-bg-primary, #1a2a28)}.dark-theme .main-title,.dark-theme .section-title,.dark-theme .section-icon{color:var(--dark-accent, #5DB075)}.dark-theme .qr-input-container{background-color:var(--dark-bg-secondary, #243836)!important}.dark-theme .qr-input-item{--background: var(--dark-bg-secondary, #243836) !important;background:var(--dark-bg-secondary, #243836)!important;box-shadow:inset 0 0 0 1px #3a5553!important}.dark-theme .qr-input-item::part(native){background:var(--dark-bg-secondary, #243836)!important;background-color:var(--dark-bg-secondary, #243836)!important;box-shadow:inset 0 0 0 1px #3a5553!important}.dark-theme .qr-input-item ion-input{color:#e8f0eb!important;--placeholder-color: #9DB5A8 !important}.dark-theme .qr-input-item ion-input::part(native){color:#e8f0eb!important;background:var(--dark-bg-secondary, #243836)!important}.dark-theme .custom-item{--background: var(--dark-bg-secondary, #243836) !important;background:var(--dark-bg-secondary, #243836)!important;background-color:var(--dark-bg-secondary, #243836)!important;box-shadow:inset 0 0 0 1px #3a5553!important}.dark-theme .custom-item::part(native){background:var(--dark-bg-secondary, #243836)!important;background-color:var(--dark-bg-secondary, #243836)!important;box-shadow:inset 0 0 0 1px #3a5553!important}.dark-theme .custom-item ion-label{color:#e8f0eb!important;--color: #e8f0eb !important}.dark-theme .custom-item ion-input,.dark-theme .custom-item ion-select,.dark-theme .custom-item ion-textarea{--background: var(--dark-bg-secondary, #243836) !important;background:var(--dark-bg-secondary, #243836)!important;background-color:var(--dark-bg-secondary, #243836)!important;--color: #e8f0eb !important;color:#e8f0eb!important}.dark-theme .custom-item ion-input::part(native),.dark-theme .custom-item ion-select::part(native),.dark-theme .custom-item ion-textarea::part(native),.dark-theme .custom-item select{background:var(--dark-bg-secondary, #243836)!important;background-color:var(--dark-bg-secondary, #243836)!important;color:#e8f0eb!important}.dark-theme .section-container ion-item{--background: var(--dark-bg-secondary, #243836) !important;background:var(--dark-bg-secondary, #243836)!important;background-color:var(--dark-bg-secondary, #243836)!important}.dark-theme .section-container ion-item::part(native){background:var(--dark-bg-secondary, #243836)!important;background-color:var(--dark-bg-secondary, #243836)!important}.dark-theme .custom-item ion-select{--placeholder-color: #9DB5A8 !important}.dark-theme .date-picker-display{color:#e8f0eb}.dark-theme .date-picker-display .placeholder{color:#9db5a8}.dark-theme .date-picker-display ion-icon{color:#6c9a96}.dark-theme .date-picker-modal-container ion-datetime{--background: #1a2a28;--background-rgb: 26, 42, 40;color:#e8f0eb}.dark-theme .action-buttons-container{background:#1a2a28!important}.dark-theme .readonly-item::part(native){background:#243836!important}.dark-theme .notes-textarea{--background: #2d4543 !important;background:#2d4543!important;--color: #e8f0eb !important;color:#e8f0eb!important}.dark-theme .notes-textarea::part(native){background:#2d4543!important;background-color:#2d4543!important}.dark-theme .notes-item{--background: #2d4543 !important;background:#2d4543!important}.dark-theme .notes-wrapper{background:transparent!important}.dark-theme .liaison-qr-container{background-color:var(--dark-bg-secondary, #243836)!important}.dark-theme .link-section{background:#2d4543!important}.dark-theme .link-section-title{color:#e8f0eb!important}.dark-theme .link-input-item{--background: #243836 !important;background:#243836!important}.dark-theme .link-input-item::part(native){background:#243836!important;box-shadow:inset 0 0 0 1px #3a5553!important}.dark-theme .link-input-item ion-input{color:#e8f0eb!important;--placeholder-color: #9DB5A8 !important}.dark-theme .link-nav-btn.active{--color: #5DB075}.dark-theme .link-nav-btn.active:hover{--color: #4CA066}.dark-theme .link-nav-btn.disabled{--color: #5B6C68}.dark-theme .next-codes-container{background:#2d4543;box-shadow:inset 0 0 0 1px #3a5553}.dark-theme .next-codes-empty{color:#7a9a8a}.dark-theme .next-code-badge{background:linear-gradient(135deg,#5DB075 0%,#3D8F5A 100%);color:#1a2a28}.dark-theme .next-code-badge:hover{background:linear-gradient(135deg,#4CA066 0%,#2D7F4A 100%)}.dark-theme .next-code-more{background:#3a5553;color:#5db075;border-color:#5db075}.dark-theme .next-code-more:hover{background:#4a6563}.dark-theme .next-code-less{background:#3a5553;color:#9db5a8}.dark-theme .next-code-less:hover{background:#4a6563;color:#5db075}.dark-theme .batch-codes-section{border-top-color:#5db07533}.dark-theme .batch-codes-title{color:#7ac794}.dark-theme .batch-codes-container{background:#2d4543;box-shadow:inset 0 0 0 1px #3a5553}.dark-theme .batch-code-badge{background:linear-gradient(135deg,#6A9A94 0%,#4A7A74 100%);color:#1a2a28}.dark-theme .batch-code-badge:hover{background:linear-gradient(135deg,#5A8A84 0%,#3A6A64 100%)}.dark-theme .batch-code-more{background:#3a5553;color:#7ac794;border-color:#7ac794}.dark-theme .batch-code-more:hover{background:#4a6563}.dark-theme .batch-code-less{background:#3a5553;color:#9db5a8}.dark-theme .batch-code-less:hover{background:#4a6563;color:#7ac794}.dark-theme .prev-codes-container{background:#2d4543;box-shadow:inset 0 0 0 1px #3a5553}.dark-theme .prev-code-badge{background:linear-gradient(135deg,#5DB075 0%,#3D8F5A 100%);color:#1a2a28}.dark-theme .prev-code-badge:hover{background:linear-gradient(135deg,#4CA066 0%,#2D7F4A 100%)}.dark-theme .prev-code-edit{background:#3a5553;color:#9db5a8}.dark-theme .prev-code-edit:hover{background:#4a6563;color:#5db075}.dark-theme .metadata-container{background-color:var(--dark-bg-secondary, #243836)!important}.dark-theme .metadata-grid .custom-item{--background: var(--dark-bg-secondary, #243836) !important;background:var(--dark-bg-secondary, #243836)!important}.dark-theme .metadata-grid .custom-item::part(native){background:var(--dark-bg-secondary, #243836)!important}.dark-theme .metadata-grid .custom-item ion-input{color:#e8f0eb!important}.dark-theme .readonly-item{opacity:.8}.dark-theme .readonly-item ion-input{--color: #9DB5A8 !important;color:#9db5a8!important}.dark-theme .warning-text{color:#ef5350!important}.dark-theme .production-split-container,.dark-theme .production-column{background:transparent!important}.dark-theme .production-column .custom-item{--background: transparent !important;background:transparent!important}.dark-theme .production-column .custom-item::part(native){background:transparent!important}.dark-theme .production-column .custom-item ion-label{color:#9db5a8!important}.dark-theme .production-column .custom-item ion-select,.dark-theme .production-column .custom-item ion-input{--background: var(--dark-bg-secondary, #243836) !important;background:var(--dark-bg-secondary, #243836)!important;box-shadow:inset 0 0 0 1px #3a5553!important}.dark-theme .production-column .custom-item ion-select::part(native),.dark-theme .production-column .custom-item ion-input::part(native){background:var(--dark-bg-secondary, #243836)!important}.dark-theme .action-cards{background:#1a2a28!important}.dark-theme .action-card{--background: #2d4543 !important;background:#2d4543!important;color:#e8f0eb!important;box-shadow:0 6px 16px #0000004d!important}.dark-theme .action-card ion-card-header,.dark-theme .action-card ion-card-content{background:transparent!important}.dark-theme .action-icon{color:#5db075!important}.dark-theme .action-title{color:#e8f0eb!important}.dark-theme .menu-list{background:var(--dark-bg-secondary, #243836)}.dark-theme .menu-list ion-item{--color: var(--dark-text-primary, #e8f0eb)}.dark-theme .menu-list ion-item ion-icon{color:var(--dark-accent, #5DB075)}.dark-theme .menu-list ion-item ion-label{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .menu-separator .separator-line{background:#3a5553}.dark-theme .user-role{color:#9db5a8!important}.dark-theme .server-hostname{color:#7a9a8a!important}.dark-theme .scroll-indicator{background:#1a2a28!important;color:#9db5a8!important}.dark-theme .scroll-indicator p,.dark-theme .scroll-icon{color:#9db5a8!important}.dark-theme .photo-preview{background:#2d4543!important;border-color:#3a5553!important}.dark-theme .video-log-container{background:#1a2a28!important}.dark-theme .video-log-processing{background:#2d4543!important}.dark-theme .video-log-processing span{color:#e8f0eb!important}.dark-theme .video-log-results{background:#2d4543!important}.hidden-file-input{display:none}.video-log-container{background:#E8F0EB;padding:16px;margin:0}.video-log-processing{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px;background:#FFFFFF;border-radius:14px;box-shadow:inset 0 0 0 1px #0000000d}.video-log-spinner{width:24px;height:24px;border:3px solid #E8F0EB;border-top-color:#2b6461;border-radius:50%;animation:spin-log 1s linear infinite}@keyframes spin-log{to{transform:rotate(360deg)}}.video-log-processing span{color:#12322f;font-size:14px;font-weight:500;font-family:sans-serif}.video-log-results{background:#FFFFFF;border-radius:14px;box-shadow:inset 0 0 0 1px #0000000d;overflow:hidden}.video-log-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#2B6461;border-bottom:2px solid #1F4A47}.video-log-header span{color:#fff;font-size:14px;font-weight:600;font-family:sans-serif}.video-log-close-btn{--color: #FFFFFF;--padding: 4px;margin:0;min-width:28px;height:28px}.video-log-close-btn ion-icon{font-size:20px;color:#fff}.video-log-json{background-color:#0a0a0a;color:#0f0;padding:16px;margin:0;font-family:Courier New,monospace;font-size:12px;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;max-height:300px;overflow-y:auto;border:none}.history-container{background-color:#e8e8e8;border-radius:12px;margin:16px;box-shadow:0 2px 6px #0000000f;overflow:hidden}.history-header{padding:12px 14px;-webkit-user-select:none;user-select:none}.history-header-clickable{cursor:pointer}.history-header-clickable:hover{background-color:#dedede}.history-header-disabled{cursor:not-allowed;opacity:.7}.history-title-row{display:flex;align-items:center;gap:8px}.history-title-row .section-title{margin-bottom:0;font-size:14px;flex:1}.history-expand-icon{font-size:18px;color:#2b6461;transition:transform .2s ease}.history-refresh-icon{font-size:18px;color:#2b6461;cursor:pointer;padding:4px;margin-left:auto;transition:transform .3s ease}.history-refresh-icon:hover{color:#1e4a48}.history-refresh-icon.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.history-hint{font-size:11px;color:#5b6c68;margin:4px 0 0 26px;font-style:italic}.history-content{background-color:#f5f5f5;padding:12px;border-top:1px solid #D0D0D0;max-height:300px;overflow-y:auto}.history-loading,.history-empty{text-align:center;padding:20px;color:#5b6c68;font-size:13px;font-style:italic}.history-list{display:flex;flex-direction:column;gap:8px}.history-entry{background:#FFFFFF;border-radius:10px;padding:10px 12px;border-left:4px solid #2B6461;box-shadow:0 1px 3px #00000014}.history-entry.history-action-INSERT{border-left-color:#4caf50}.history-entry.history-action-UPDATE{border-left-color:#2196f3}.history-entry.history-action-DELETE{border-left-color:#f44336}.history-entry.history-action-upload_photo{border-left-color:#9c27b0}.history-entry.history-action-delete_photo{border-left-color:#ff9800}.history-entry-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex-wrap:wrap}.history-entry-action{font-size:13px;font-weight:500;color:#12322f;flex:1;min-width:150px}.history-entry-date{font-size:11px;color:#5b6c68;white-space:nowrap}.history-entry-user{font-size:11px;color:#5b6c68;margin-top:4px}.history-content::-webkit-scrollbar{width:6px}.history-content::-webkit-scrollbar-track{background:#E0E0E0;border-radius:3px}.history-content::-webkit-scrollbar-thumb{background:#A0B1AD;border-radius:3px}.history-content::-webkit-scrollbar-thumb:hover{background:#2B6461}.dark-theme .history-container{background-color:var(--dark-bg-secondary, #243836)}.dark-theme .history-header-clickable:hover{background-color:var(--dark-bg-tertiary, #2d4543)}.dark-theme .history-content{background-color:var(--dark-bg-primary, #1a2a28);border-top-color:var(--dark-border, #3a5553)}.dark-theme .history-entry{background:var(--dark-bg-secondary, #243836)}.dark-theme .history-entry-action{color:var(--dark-text-primary, #e8f0eb)}.dark-theme .history-entry-date,.dark-theme .history-entry-user,.dark-theme .history-loading,.dark-theme .history-empty,.dark-theme .history-hint{color:var(--dark-text-secondary, #9DB5A8)}.fixed-bottom-bar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;background:#2B6461;padding:6px 16px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));z-index:1000}.bottom-bar-button{display:flex;align-items:center;justify-content:center;padding:8px 20px;border:none;background:transparent;cursor:pointer;border-radius:10px;transition:all .2s ease;color:#fff}.bottom-bar-button ion-icon{font-size:24px}.bottom-bar-button span{display:none}.bottom-bar-button:hover:not(:disabled){background:rgba(255,255,255,.15)}.bottom-bar-button:disabled{opacity:.4;cursor:not-allowed}.bottom-bar-spacer{height:50px}.dark-theme .fixed-bottom-bar{background:#12322F}.team-activity-content{--background: #f5f5f5}.team-activity-container{padding:20px;max-width:900px;margin:0 auto}.page-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.page-header .page-icon{font-size:2rem;color:#2b6461}.page-header h1{font-size:1.5rem;font-weight:600;color:#333;margin:0}.calendar-section{background:white;border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 2px 8px #00000014}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:12px}.calendar-header h2{font-size:1.1rem;font-weight:600;color:#333;margin:0}.calendar-title-row{display:flex;align-items:center;gap:8px}.calendar-legend{display:flex;align-items:center;gap:16px}.legend-item{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#666}.legend-dot{width:12px;height:12px;border-radius:50%;background:#e0e0e0}.legend-dot.has-tasks{background:#4CAF50}.calendar-loading,.calendar-error{display:flex;align-items:center;justify-content:center;padding:40px;color:#666}.calendar-error{color:#d32f2f}.month-calendar{width:100%}.month-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:20px}.month-nav-btn{width:36px;height:36px;border:none;border-radius:50%;background:#f5f5f5;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.month-nav-btn:hover{background:#e0e0e0;color:#333}.month-nav-btn ion-icon{font-size:1.2rem}.month-title{font-size:1.2rem;font-weight:600;color:#333;min-width:180px;text-align:center}.today-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;border-radius:20px;background:#e8f5e9;color:#2b6461;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;margin-left:8px}.today-btn:hover{background:#c8e6c9}.today-btn ion-icon{font-size:1rem}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-weekday{padding:10px 4px;text-align:center;font-size:.8rem;font-weight:600;color:#666;text-transform:uppercase}.calendar-weekday.weekend{color:#999}.calendar-day{aspect-ratio:1;padding:4px;border-radius:8px;background:#f8f8f8;border:2px solid transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:all .2s;position:relative;min-height:50px}.calendar-day.empty{background:transparent;cursor:default}.calendar-day:not(.empty):hover{background:#f0f0f0;transform:scale(1.05)}.calendar-day.weekend:not(.empty){background:#e8e8e8}.calendar-day.weekend .day-number{color:#888}.calendar-day.past:not(.empty){opacity:.6}.calendar-day.past .day-number{color:#999}.calendar-day.past.has-tasks{background:#fff3e0;opacity:1}.calendar-day.past.has-tasks .task-count{background:#ff9800}.calendar-day.today{border-color:#d32f2f;background:#ffebee}.calendar-day.today .day-number{color:#d32f2f;font-weight:700}.calendar-day.selected{background:#2B6461;color:#fff}.calendar-day.selected .day-number{color:#fff}.calendar-day.has-tasks:not(.past){background:#e8f5e9}.calendar-day.has-tasks.selected{background:#2B6461}.day-number{font-size:.95rem;font-weight:600;color:#333}.task-count{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#4CAF50;color:#fff;font-size:.65rem;font-weight:600;display:flex;align-items:center;justify-content:center}.records-section{background:white;border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 2px 8px #00000014}.records-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.records-header .records-icon{font-size:1.5rem;color:#4caf50}.records-header h2{font-size:1rem;font-weight:600;color:#333;margin:0}.records-count{font-size:.9rem;color:#666;font-weight:500}.records-loading,.records-empty{display:flex;align-items:center;justify-content:center;padding:40px;color:#666;font-size:.95rem}.records-table-container{overflow-x:auto;border-radius:8px;border:1px solid #e0e0e0}.records-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:500px}.records-table thead{background:#2B6461;color:#fff}.records-table th{padding:12px 16px;text-align:left;font-weight:600;white-space:nowrap}.records-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .2s}.records-table tbody tr:hover{background:#f8f8f8}.records-table tbody tr:last-child{border-bottom:none}.records-table td{padding:12px 16px;color:#333}.qr-link{background:none;border:none;color:#2b6461;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.qr-link:hover{background:#e8f5e9;text-decoration:underline}.status-overdue{color:#d32f2f;font-weight:600}.status-today{color:#f57c00;font-weight:600}.status-soon{color:#ffa000;font-weight:500}.status-upcoming{color:#388e3c}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:500;background:#f0f0f0;color:#666}.status-badge.status-in-progress{background:#e3f2fd;color:#1976d2}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;background:white;border-radius:12px;box-shadow:0 2px 8px #00000014}.empty-state .empty-icon{font-size:4rem;color:#ccc;margin-bottom:16px}.empty-state p{color:#888;font-size:1rem;text-align:center;margin:0}@media (max-width: 768px){.team-activity-container{padding:12px}.calendar-section,.records-section{padding:16px}.calendar-header{flex-direction:column;align-items:flex-start}.month-nav{gap:8px;flex-wrap:wrap}.month-title{font-size:1rem;min-width:140px}.today-btn{padding:6px 10px;font-size:.8rem}.calendar-day{min-height:40px}.day-number{font-size:.85rem}.task-count{min-width:16px;height:16px;font-size:.6rem}.records-header{flex-direction:column;align-items:flex-start}.records-table th,.records-table td{padding:10px 12px;font-size:.85rem}}@media (max-width: 480px){.calendar-weekday{font-size:.7rem;padding:6px 2px}.calendar-day{min-height:36px;border-radius:6px}.day-number{font-size:.8rem}.task-count{min-width:14px;height:14px;font-size:.55rem;top:1px;right:1px}}.dark-theme .team-activity-content{--background: #1a2a28}.dark-theme .page-header h1{color:#e0e0e0}.dark-theme .calendar-section,.dark-theme .records-section,.dark-theme .empty-state{background:#243836;box-shadow:0 2px 8px #0000004d}.dark-theme .calendar-header h2,.dark-theme .records-header h2{color:#e0e0e0}.dark-theme .legend-item{color:#9db5a8}.dark-theme .month-nav-btn{background:#2d4543;color:#9db5a8}.dark-theme .month-nav-btn:hover{background:#3a5553;color:#e0e0e0}.dark-theme .month-title{color:#e0e0e0}.dark-theme .today-btn{background:#2d4543;color:#5db075}.dark-theme .today-btn:hover{background:#3a5553}.dark-theme .calendar-weekday{color:#9db5a8}.dark-theme .calendar-weekday.weekend{color:#6a8a7a}.dark-theme .calendar-day{background:#2d4543}.dark-theme .calendar-day.empty{background:transparent}.dark-theme .calendar-day:not(.empty):hover{background:#3a5553}.dark-theme .calendar-day.weekend:not(.empty){background:#1e2e2c}.dark-theme .calendar-day.weekend .day-number{color:#6a8a7a}.dark-theme .calendar-day.past:not(.empty){opacity:.6}.dark-theme .calendar-day.past .day-number{color:#7a9a8a}.dark-theme .calendar-day.past.has-tasks{background:rgba(255,152,0,.2);opacity:1}.dark-theme .calendar-day.past.has-tasks .task-count{background:#ff9800}.dark-theme .calendar-day.today{border-color:#ef5350;background:rgba(211,47,47,.2)}.dark-theme .calendar-day.today .day-number{color:#ef5350}.dark-theme .calendar-day.selected{background:#5DB075}.dark-theme .calendar-day.selected .day-number{color:#fff}.dark-theme .calendar-day.has-tasks:not(.past){background:rgba(76,175,80,.2)}.dark-theme .calendar-day.has-tasks.selected{background:#5DB075}.dark-theme .day-number{color:#e0e0e0}.dark-theme .records-count{color:#9db5a8}.dark-theme .records-table-container{border-color:#3a5553}.dark-theme .records-table thead{background:#12322F}.dark-theme .records-table tbody tr{border-bottom-color:#3a5553}.dark-theme .records-table tbody tr:hover{background:#2d4543}.dark-theme .records-table td{color:#e0e0e0}.dark-theme .qr-link{color:#5db075}.dark-theme .qr-link:hover{background:rgba(93,176,117,.2)}.dark-theme .status-badge{background:#2d4543;color:#9db5a8}.dark-theme .status-badge.status-in-progress{background:rgba(25,118,210,.2);color:#64b5f6}.dark-theme .empty-state .empty-icon{color:#555}.dark-theme .empty-state p,.dark-theme .calendar-loading,.dark-theme .calendar-error,.dark-theme .records-loading,.dark-theme .records-empty{color:#9db5a8}.dark-theme .calendar-error{color:#ef5350}.batch-row{background:#f5f9f8;cursor:pointer;transition:background .2s}.batch-row:hover{background:#e8f5e9!important}.batch-cell{display:flex;align-items:center;gap:8px}.batch-chevron{font-size:1rem;color:#2b6461;transition:transform .2s}.batch-id{font-weight:600;color:#2b6461}.batch-count{font-size:.8rem;color:#666;font-weight:500}.batch-child-row{background:#fafafa}.batch-child-row td:first-child{border-left:3px solid #2B6461}.individual-row{background:white}.dark-theme .batch-row{background:#1e3533}.dark-theme .batch-row:hover{background:#2a4543!important}.dark-theme .batch-chevron,.dark-theme .batch-id{color:#5db075}.dark-theme .batch-count{color:#9db5a8}.dark-theme .batch-child-row{background:#243836}.dark-theme .batch-child-row td:first-child{border-left-color:#5db075}.dark-theme .individual-row{background:#243836}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-default-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width: 768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: .18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #3880ff) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 56, 128, 255) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #3171e0) !important;--ion-color-tint: var(--ion-color-primary-tint, #4c8dff) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #3dc2ff) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 61, 194, 255) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #36abe0) !important;--ion-color-tint: var(--ion-color-secondary-tint, #50c8ff) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #5260ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 82, 96, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #4854e0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #6370ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd36f) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 211, 111) !important;--ion-color-contrast: var(--ion-color-success-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-success-shade, #28ba62) !important;--ion-color-tint: var(--ion-color-success-tint, #42d77d) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #eb445a) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 235, 68, 90) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #cf3c4f) !important;--ion-color-tint: var(--ion-color-danger-tint, #ed576b) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #92949c) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 146, 148, 156) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #808289) !important;--ion-color-tint: var(--ion-color-medium-tint, #9d9fa6) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{left:0;right:0;top:0;bottom:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports (padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports (padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: env(safe-area-inset-top);--ion-safe-area-bottom: env(safe-area-inset-bottom);--ion-safe-area-left: env(safe-area-inset-left);--ion-safe-area-right: env(safe-area-inset-right)}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px #00000014}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px #00000014}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px #0000002e}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:.3s transform cubic-bezier(.25,.8,.5,1)}@media (prefers-reduced-motion: reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html:not(.hydrated) body{display:none}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}html{font-family:var(--ion-font-family)}@supports (-webkit-touch-callout: none){html{font:var(--ion-dynamic-font, 16px var(--ion-font-family))}}a{background-color:transparent;color:var(--ion-color-primary, #3880ff)}h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}h1{margin-top:20px;font-size:1.625rem}h2{margin-top:18px;font-size:1.5rem}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}.dark-theme{--dark-bg-primary: #1a2a28;--dark-bg-secondary: #243836;--dark-bg-tertiary: #2d4543;--dark-border: #3a5553;--dark-text-primary: #e8f0eb;--dark-text-secondary: #9DB5A8;--dark-accent: #5DB075;--ion-background-color: var(--dark-bg-primary);--ion-text-color: var(--dark-text-primary);--ion-color-primary: var(--dark-accent);--ion-color-primary-contrast: #ffffff}.dark-theme ion-content{--background: var(--dark-bg-primary);background-color:var(--dark-bg-primary);color:var(--dark-text-primary)}.dark-theme .custom-header{--background: #12322F;background-color:#12322f}.dark-theme ion-item{--background: var(--dark-bg-tertiary);--color: var(--dark-text-primary);--border-color: var(--dark-border)}.dark-theme ion-input,.dark-theme ion-select,.dark-theme ion-textarea{--background: var(--dark-bg-tertiary);--color: var(--dark-text-primary);--placeholder-color: var(--dark-text-secondary)}.dark-theme ion-card{--background: var(--dark-bg-secondary);color:var(--dark-text-primary)}.dark-theme ion-label{--color: var(--dark-text-primary) !important;color:var(--dark-text-primary)!important}.dark-theme ion-toggle{--background: var(--dark-bg-tertiary);--background-checked: var(--dark-accent);--handle-background: var(--dark-text-secondary);--handle-background-checked: #ffffff}ion-popover.backup-select-popover{--width: fit-content;--min-width: min(400px, 90vw);--max-width: 90vw}ion-popover.backup-select-popover .popover-content,ion-popover.backup-select-popover::part(content){min-width:min(400px,90vw);max-width:90vw;overflow-x:auto;left:16px!important;right:auto!important;transform:none!important}ion-popover.backup-select-popover ion-list{min-width:min(380px,85vw)}ion-popover.backup-select-popover ion-item{--min-height: 44px;font-size:.9rem}ion-popover.backup-select-popover ion-item ion-label{white-space:nowrap;overflow:visible}ion-popover.backup-select-popover ion-radio{margin-right:12px}@media (max-width: 500px){ion-popover.backup-select-popover{--min-width: 95vw;--max-width: 95vw;--offset-x: 0 !important;left:2.5vw!important;right:2.5vw!important}ion-popover.backup-select-popover ion-item ion-label{font-size:.85rem}}.dark-theme ion-popover.backup-select-popover{--background: var(--dark-bg-secondary, #243836)}.dark-theme ion-popover.backup-select-popover ion-item{--background: var(--dark-bg-secondary, #243836);--color: var(--dark-text-primary, #e8f0eb)}.dark-theme ion-popover{--background: var(--dark-bg-secondary, #243836)}.dark-theme ion-popover ion-list{background:var(--dark-bg-secondary, #243836)}.dark-theme ion-popover ion-item{--background: var(--dark-bg-secondary, #243836);--color: var(--dark-text-primary, #e8f0eb)}.dark-theme ion-popover ion-item ion-icon{color:var(--dark-accent, #5DB075)}.dark-theme ion-popover ion-item ion-label{color:var(--dark-text-primary, #e8f0eb)}.dark-theme ion-alert .alert-wrapper,body.dark-theme ion-alert .alert-wrapper{background:#243836!important}.dark-theme ion-alert .alert-head,body.dark-theme ion-alert .alert-head{background:#1a2a28!important}.dark-theme ion-alert .alert-title,body.dark-theme ion-alert .alert-title{color:#e8f0eb!important}.dark-theme ion-alert .alert-radio-group,body.dark-theme ion-alert .alert-radio-group{background:#243836!important}.dark-theme ion-alert .alert-radio-label,body.dark-theme ion-alert .alert-radio-label{color:#e8f0eb!important}.dark-theme ion-alert .alert-radio-inner,body.dark-theme ion-alert .alert-radio-inner{background-color:#5db075!important}.dark-theme ion-alert [aria-checked=true] .alert-radio-label,body.dark-theme ion-alert [aria-checked=true] .alert-radio-label{color:#5db075!important}.dark-theme ion-alert .alert-button-group,body.dark-theme ion-alert .alert-button-group{background:#1a2a28!important}.dark-theme ion-alert .alert-button,body.dark-theme ion-alert .alert-button{color:#5db075!important}.dark-theme ion-alert .alert-button:hover,body.dark-theme ion-alert .alert-button:hover{background:rgba(93,176,117,.1)!important}.dark-theme ion-select-popover,body.dark-theme ion-select-popover{--background: #243836 !important}.dark-theme ion-select-popover ion-list,body.dark-theme ion-select-popover ion-list{background:#243836!important}.dark-theme ion-select-popover ion-item,body.dark-theme ion-select-popover ion-item{--background: #243836 !important;--color: #e8f0eb !important}.dark-theme ion-select-popover ion-label,body.dark-theme ion-select-popover ion-label{color:#e8f0eb!important}.dark-theme ion-select-popover ion-radio,body.dark-theme ion-select-popover ion-radio{--color: #9DB5A8 !important;--color-checked: #5DB075 !important}:root{--app-font-scale: 1}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{zoom:var(--app-font-scale);width:100%;max-width:100vw;overflow-x:hidden}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (max-width: 768px){html,body{overflow-x:hidden;max-width:100vw}#root{width:100%;max-width:100vw}}
