:root{--color-primary: #6c7c64;--color-primary-hover: #596552;--color-accent: #a46d3e;--color-background-main: #f9fafb;--color-background-card: #ffffff;--color-text-dark: #1f2937;--color-text-medium: #6b7280;--color-border-dashed: #d1d5db;--color-dropzone-active-border: var(--color-primary);--color-dropzone-active-bg: #f5f8f5;--font-family-main: sans-serif;--font-weight-regular: 400;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem}body{font-family:var(--font-family-main);padding:0;margin:0}#app-upload{padding:0;margin:0;display:flex;flex-direction:column;height:100vh}header h1{margin:0;padding:4px 18px;font-size:var(--font-size-lg);color:#fff;background-color:var(--color-primary)}footer{background-color:var(--color-background-card);border-top:1px solid var(--color-border-dashed);padding:1rem;text-align:center;position:fixed;bottom:0;width:100%}footer p{font-size:14px;color:var(--color-text-medium);line-height:1.5;margin:0}footer a{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-semibold)}footer a:hover{color:var(--color-accent);text-decoration:underline}.file-selector{margin-inline:2rem;margin-block:4rem;border:1px solid var(--color-primary);margin-bottom:120px;padding:2rem;display:flex;align-items:center;justify-content:center;flex:1}.file-selector input{display:none}.file-selector label{background-color:var(--color-primary);color:#fff;border:none;cursor:pointer;font-size:14px;padding:4px 8px;-webkit-user-select:none;user-select:none}.file-selector label:hover{background-color:var(--color-primary-hover)}.notes{padding-inline:2rem;margin-top:1rem;max-width:900px;margin-inline:auto;line-height:1.6}.notes p{text-align:justify;font-size:15px;color:var(--color-text-medium);margin-bottom:1rem}#app-grid{height:100vh;display:none}.status{background-color:var(--color-text-medium);display:flex;justify-content:space-between;align-items:center;padding-inline:4px;height:24px;box-sizing:border-box}.status p{padding:0;margin:0;font-size:14px;color:#fff;font-weight:500}.status button{font-size:18px;color:#fff;font-weight:600;background-color:transparent;border:none;cursor:pointer}.status #status-auto-scroll{font-size:12px;background-color:var(--color-text-dark);color:#fff;padding:4px 8px}.grid{height:calc(100vh - 24px);position:relative}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#loading-container{height:100vh;width:100vw;display:none;justify-content:center;align-items:center;background-color:#f5f5f5a1;overflow:hidden;position:fixed;top:0;left:0}.loading{width:48px;height:48px;border-radius:50%;border:5px solid rgba(0,0,0,.1);border-top:5px solid #2563eb;animation:spin 1s linear infinite}*{box-sizing:border-box}.table{display:grid;border:1px solid #110202;overflow-y:hidden}.table-cell,.search-cell,.header-cell{padding:4px 8px;border:.5px solid #eee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff;box-sizing:border-box;font-size:12px;font-family:sans-serif;-webkit-user-select:none;user-select:none}.header-cell{background-color:#999;color:#fff;font-weight:600}.scrollbar-track{right:0;top:0;width:12px;height:100%;background:#fff;position:absolute;box-sizing:border-box}.scrollbar-thumb{width:100%;height:120px;background:#999;border-radius:6px;padding-inline:1px;cursor:pointer;transition:background .2s;position:absolute;left:0;right:0}.scrollbar-thumb:hover{background:#666}.scrollbar-thumb.is-dragging{background:#444}.grid-container{position:relative;width:100%;height:calc(100vh - 60px);overflow:hidden;background:#fff}.file-header{display:flex;justify-content:space-between;align-items:center;background:#1e40af;color:#fff;padding:.8rem 1.2rem;font-weight:500;font-size:.95rem;box-shadow:0 2px 6px #00000026}.close-btn{background:#fff3;color:#fff;border:none;padding:.3rem .6rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:.2s}.close-btn:hover{background:#ffffff59}.hidden{display:none!important}
