.dashboard-container{flex-direction:column;font-family:sans-serif;display:flex}.tab-nav{border-bottom:2px solid #ccc;margin-bottom:1rem;display:flex}.tab{color:#555;border-bottom:2px solid transparent;margin-right:1rem;padding:.5rem 1rem;text-decoration:none;transition:color .2s,border-bottom .2s}.tab:hover{color:#000}.tab.active{color:#000;border-bottom:2px solid #0070f3}.tab-content,.active-page{padding:1rem}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.header-controls{align-items:center;gap:1rem;display:flex}.connection-status{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.85rem;display:flex}.status-indicator{font-size:.8rem;transition:opacity .2s}.status-indicator.connected{animation:2s infinite pulse}.status-indicator.disconnected{opacity:.6}.status-text{color:#495057;font-weight:500}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.active-page h1{color:#333;margin:0;font-size:1.8rem}.upload-section{align-items:center;gap:.75rem;display:flex}.upload-btn{color:#fff;cursor:pointer;background-color:#0070f3;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background-color .2s,transform .1s;display:inline-block}.upload-btn:hover{background-color:#0051a2;transform:translateY(-1px)}.upload-btn:active{transform:translateY(0)}.table-container{border-radius:8px;overflow-x:auto;box-shadow:0 2px 8px rgba(0,0,0,.1)}.data-table{border-collapse:collapse;background:#fff;width:100%;min-width:800px}.data-table th{color:#495057;text-align:left;text-transform:uppercase;letter-spacing:.5px;background-color:#f8f9fa;border-bottom:3px solid #dee2e6;padding:.5rem;font-size:.9rem;font-weight:600}.data-table th[scope=col]:nth-child(4),.data-table th[scope=col]:nth-child(5),.data-table th[scope=col]:nth-child(8){text-align:center}.data-table td{vertical-align:middle;border-bottom:1px solid #dee2e6;padding:.25rem .75rem}.data-table td.actions{white-space:nowrap}.data-table tr:hover{background-color:#f8f9fa}.data-table tr:last-child td{border-bottom:none}.mani-name{color:#495057;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-weight:500;overflow:hidden}.timestamp{color:#6c757d;min-width:150px;font-size:.9rem}.uploaded-by{color:#495057;font-weight:500}.status{text-align:center}.status-badge-minimal{text-transform:none;letter-spacing:0;white-space:nowrap;border:1px solid;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .875rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.status-badge-minimal .status-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.status-badge-minimal .status-text{font-weight:500;line-height:1}.status-badge-minimal:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.1)}.status-badge-minimal:focus{outline-offset:2px;outline:2px solid #3b82f6}.status-badge-minimal.uploading,.status-badge-minimal.validating{animation:2s infinite statusPulse}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.8}}@media (max-width:768px){.status-badge-minimal{gap:.375rem;padding:.375rem .625rem;font-size:.75rem}.status-badge-minimal .status-icon{width:.875rem;height:.875rem}}.actions{text-align:center;justify-content:center;align-items:center;gap:.25rem;min-width:100px;display:flex}.download{text-align:center;min-width:100px}.action-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:.25rem;font-size:1rem;transition:background-color .2s;display:inline-flex}.action-btn:hover{background-color:#e9ecef}.action-btn[title=Delete\ document]:hover{color:#721c24;background-color:#f8d7da}.action-btn[title=Archive\ document]:hover{color:#856404;background-color:#fff3cd}.action-btn[title=Approve\ document]:hover{color:#155724;background-color:#d4edda}.action-btn[title=Download\ file]:hover{color:#0c5460;background-color:#d1ecf1}.download-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:.25rem;font-size:1rem;transition:background-color .2s;display:inline-flex}.download-btn:hover{color:#0c5460;background-color:#d1ecf1}.download-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.header-controls{flex-wrap:wrap;justify-content:space-between;gap:.5rem;width:100%}.connection-status{padding:.4rem .6rem;font-size:.8rem}.upload-section{flex-shrink:0}.table-container{font-size:.8rem}.data-table th,.data-table td{padding:.5rem .25rem}.mani-name{max-width:120px}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s infinite loading}.skeleton-header{height:1.2rem;margin:.2rem 0}.skeleton-cell{height:1rem;margin:.2rem 0}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.error-state{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;margin:1rem 0}.toast-container{z-index:1000;flex-direction:column;gap:.5rem;max-width:400px;display:flex;position:fixed;top:1rem;right:1rem}.toast{background:#fff;border-left:4px solid;border-radius:8px;align-items:center;gap:.75rem;padding:1rem;transition:opacity .3s ease-out,transform .3s ease-out;animation:.3s ease-out slideIn;display:flex;box-shadow:0 4px 12px rgba(0,0,0,.15)}.toast-hidden{opacity:0;transform:translate(100%)}.toast-visible{opacity:1;transform:translate(0)}.toast-success{border-left-color:#4caf50}.toast-error{border-left-color:#f44336}.toast-warning{border-left-color:#ff9800}.toast-info{border-left-color:#2196f3}.toast-icon{flex-shrink:0;font-size:1.2rem}.toast-message{color:#333;flex:1;font-size:.9rem}.toast-close{cursor:pointer;color:#666;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:1.5rem;transition:background-color .2s;display:flex}.toast-close:hover{background-color:#f0f0f0}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.modal-overlay{z-index:1000;background-color:rgba(0,0,0,.5);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:#fff;border-radius:8px;width:100%;max-width:500px;max-height:90vh;animation:.3s ease-out modalSlideIn;overflow:hidden;box-shadow:0 10px 25px rgba(0,0,0,.2)}.modal-header{padding:1.5rem 1.5rem 0}.modal-title{color:#333;margin:0;font-size:1.25rem;font-weight:600}.modal-body{padding:1.5rem}.modal-message{color:#666;margin:0;line-height:1.5}.modal-footer{justify-content:flex-end;gap:.75rem;padding:0 1.5rem 1.5rem;display:flex}.modal-btn{cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-weight:500;transition:background-color .2s,transform .1s}.modal-btn-cancel{color:#495057;background-color:#f8f9fa;border:1px solid #dee2e6}.modal-btn-cancel:hover{background-color:#e9ecef}.modal-btn-confirm{color:#fff;background-color:#0070f3}.modal-btn-confirm:hover{background-color:#0051a2}.modal-btn-confirm.modal-danger{background-color:#dc3545}.modal-btn-confirm.modal-danger:hover{background-color:#c82333}.modal-btn-confirm.modal-warning{color:#212529;background-color:#ffc107}.modal-btn-confirm.modal-warning:hover{background-color:#e0a800}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.upload-progress{background-color:#e9ecef;border-radius:2px;width:100%;height:4px;margin-top:.5rem;overflow:hidden}.upload-progress-bar{background-color:#0070f3;border-radius:2px;height:100%;transition:width .3s}.upload-btn.uploading{cursor:not-allowed;background-color:#6c757d}.action-btn svg{transition:transform .2s}.action-btn:hover svg{transform:scale(1.1)}.action-btn:active svg{transform:scale(.95)}.action-btn:focus,.upload-btn:focus,.modal-btn:focus,.status-badge:focus{outline-offset:2px;outline:2px solid #0070f3}@media (prefers-contrast:high){.toast{border:2px solid}.modal{border:2px solid #000}.action-btn:hover{color:#fff;background-color:#000}}
