:root{--app-bg:#f4f7fb;--app-ink:#172033;--app-muted:#687386;--app-blue:#174ea6;--app-blue-dark:#103d83;--app-border:#dfe5ee}*{box-sizing:border-box}body{background:var(--app-bg);color:var(--app-ink);font-family:Inter,Arial,sans-serif}.app-shell{max-width:1500px;padding-left:1.25rem;padding-right:1.25rem}.app-navbar{background:#fff;border-bottom:1px solid var(--app-border);min-height:68px}.navbar-brand{display:flex;align-items:center;gap:.65rem;font-size:1rem;font-weight:700;color:var(--app-ink)}.brand-mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--app-blue);color:#fff;font-weight:800;letter-spacing:-.04em}.user-label{font-size:.875rem;color:var(--app-muted)}.eyebrow{font-size:.75rem;letter-spacing:.11em;text-transform:uppercase;color:var(--app-blue);font-weight:700}.page-heading h1{letter-spacing:-.025em}.btn-primary{--bs-btn-bg:var(--app-blue);--bs-btn-border-color:var(--app-blue);--bs-btn-hover-bg:var(--app-blue-dark);--bs-btn-hover-border-color:var(--app-blue-dark)}.metric-card,.summary-card{background:#fff;border:1px solid var(--app-border);border-radius:14px;padding:1rem 1.1rem;min-height:100%}.metric-card span,.summary-card span{display:block;color:var(--app-muted);font-size:.78rem;margin-bottom:.4rem}.metric-card strong{font-size:1.75rem}.summary-card strong{font-size:1rem}.panel-card{border:1px solid var(--app-border);border-radius:14px;box-shadow:0 8px 28px rgba(32,53,82,.045);overflow:hidden}.panel-card .card-header{border-color:var(--app-border);padding:1rem 1.15rem}.table{--bs-table-bg:transparent}.table thead th{background:#edf2f8;color:#536075;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid var(--app-border);padding:.8rem}.table td{padding:.8rem;font-size:.86rem}.preview-table{min-width:1450px}.preview-table .remark-column{min-width:220px}.filename-cell{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identifier{font-variant-numeric:tabular-nums;white-space:nowrap}.size-cell{min-width:270px}.empty-state{text-align:center;color:var(--app-muted);padding:3rem!important}.back-link{color:var(--app-blue);font-size:.9rem;text-decoration:none}.upload-panel{max-width:800px}.upload-dropzone{border:2px dashed #bdc9d9;border-radius:14px;padding:3.25rem 1.5rem;text-align:center;background:#f9fbfd;transition:.15s ease}.upload-dropzone.is-dragging{border-color:var(--app-blue);background:#eef5ff}.upload-icon{margin:0 auto 1rem;width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:#e4efff;color:var(--app-blue);font-size:1.5rem;font-weight:700}.validation-item{display:flex;align-items:flex-start;gap:.8rem}.validation-item .badge{margin-top:.15rem}.raw-panel summary{cursor:pointer;font-weight:600}.raw-panel pre{white-space:pre-wrap;word-break:break-word;font:12px/1.55 Consolas,monospace;max-height:520px;overflow:auto;margin:0}.error-card{max-width:700px}.auth-page{min-height:100vh;background:linear-gradient(145deg,#eef3fa,#f8fafc)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1.25rem}.auth-card{width:min(100%,430px);border-radius:18px}.form-control:focus{border-color:#76a7ea;box-shadow:0 0 0 .2rem rgba(23,78,166,.12)}@media(max-width:575.98px){.app-shell{padding-left:1rem;padding-right:1rem}.metric-card strong{font-size:1.45rem}.page-heading .btn{width:100%}.table td{font-size:.82rem}}
.preview-table{min-width:1570px}
