/* (C) SSoft 2026 z-print@bk.ru */
:root { font-family: Inter, system-ui, sans-serif; color: #1f2937; background: #f4f6f8; }
* { box-sizing: border-box; }
body { margin: 0; }
.container { width: min(920px, calc(100% - 32px)); margin: 40px auto; }
header { margin-bottom: 24px; }
h1 { margin: 0; font-size: 2.2rem; }
header p { margin-top: 6px; color: #667085; }
.drop-zone { min-height: 240px; border: 2px dashed #98a2b3; border-radius: 18px; background: white; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; transition: .15s; }
.drop-zone.active { border-color: #2563eb; background: #eff6ff; transform: scale(1.005); }
button { border: 0; border-radius: 10px; padding: 11px 16px; background: #2563eb; color: white; font-weight: 650; cursor: pointer; }
button.secondary { background: #e5e7eb; color: #111827; }
button.primary-action { background: #198754; }
button.primary-action:hover { background: #157347; }
button:disabled { opacity: .5; cursor: not-allowed; }
.panel { margin-top: 20px; background: white; border-radius: 16px; padding: 20px; box-shadow: 0 8px 24px rgba(16,24,40,.06); }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
h2 { margin: 0 0 16px; font-size: 1.15rem; }
.file-list { list-style: none; padding: 0; margin: 0; }
.file-list li { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-top: 1px solid #eaecf0; }
.file-list li:first-child { border-top: 0; }
.file-list small, .empty, .status { color: #667085; }
.status { min-height: 1.5em; margin-bottom: 0; }
.actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
table { border-collapse: collapse; width: 100%; }
th, td { padding: 9px; text-align: left; border-bottom: 1px solid #eaecf0; }
.progress-box { margin-top: 16px; padding: 14px 16px; border: 1px solid #bfdbfe; background: #eff6ff; border-radius: 12px; display: flex; gap: 14px; align-items: center; }
.progress-box[hidden] { display: none; }
.progress-copy { flex: 1; display: grid; gap: 5px; }
.progress-copy > span { color: #475467; font-size: .92rem; }
.spinner { width: 26px; height: 26px; border: 3px solid #bfdbfe; border-top-color: #2563eb; border-radius: 50%; animation: spin .8s linear infinite; flex: none; }
.indeterminate { height: 5px; overflow: hidden; border-radius: 99px; background: #dbeafe; margin-top: 4px; }
.indeterminate span { display: block; width: 38%; height: 100%; background: #2563eb; border-radius: inherit; animation: slide 1.2s ease-in-out infinite; }
.operation-time { margin-top: 14px; padding: 10px 12px; border-radius: 10px; background: #f8fafc; color: #475467; }
.operation-time details { margin-top: 6px; font-size: .9rem; }
.timing-details { margin-top: 5px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .82rem; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes slide { 0% { transform: translateX(-110%); } 50% { transform: translateX(165%); } 100% { transform: translateX(-110%); } }
@media (max-width: 600px) { .container { margin-top: 20px; } .drop-zone { min-height: 190px; } .panel-head { align-items: flex-start; } }

footer { margin: 22px 0 8px; text-align: center; color: #98a2b3; font-size: .76rem; }

/* (C) SSoft 2026 z-print@bk.ru */
.web-version-note {
  margin: 0.35rem 0 1rem;
  font-size: 0.9rem;
  line-height: 1.45;
  opacity: 0.8;
}

.web-version-note a {
  font-weight: 600;
}


/* (C) SSoft 2026 z-print@bk.ru */
.btn-success {
  background: #198754;
  color: white;
}
/* Нестандартные форматы из краткого отчёта pdfsizes (std: "No") */
.non-standard-format {
  color: #8b0000;
  font-weight: 600;
}
