.company-documents-page { min-height:calc(100vh - 82px); padding:34px clamp(24px,3vw,48px) 72px; background:#fff; }
.documents-catalog { width:100%; margin-top:30px; border:1px solid var(--cab-line-strong); border-radius:12px; background:#fff; }
.documents-catalog > header { display:flex; min-height:92px; padding:20px 28px; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--cab-line); }
.documents-catalog h2 { margin:0; color:var(--cab-ink); font-size:27px; }
.documents-catalog header p { margin:6px 0 0; color:var(--cab-muted); font-size:15px; }
.documents-catalog .cab-primary-action { min-height:48px; margin:0; border:0; cursor:pointer; }
.documents-help { padding:14px 28px; border-bottom:1px solid var(--cab-line); background:var(--cab-surface); }
.documents-help p { margin:0; color:var(--cab-copy); font-size:15px; }
.documents-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding:28px; gap:20px; }
.document-card { position:relative; overflow:hidden; border:1px solid var(--cab-line); border-radius:10px; background:#fff; }
.document-card.is-dragging { border-color:var(--cab-brand); opacity:.56; }
.document-card.is-drag-over { border-color:var(--cab-brand); background:var(--cab-soft-red); }
.document-card figure { aspect-ratio:2/3; margin:0; overflow:hidden; background:var(--cab-surface-strong); }
.document-card img { width:100%; height:100%; object-fit:cover; }
.document-card-body { display:flex; min-height:60px; padding:12px; align-items:center; justify-content:center; }
.document-actions { display:flex; align-items:center; gap:7px; }
.document-icon { display:inline-flex; width:38px; height:38px; padding:0; align-items:center; justify-content:center; border:1px solid var(--cab-line); border-radius:8px; background:#fff; color:var(--cab-copy); cursor:pointer; }
.document-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.document-icon:hover { border-color:var(--cab-line-strong); background:var(--cab-surface-strong); color:var(--cab-ink); }
.document-icon.is-danger:hover { border-color:var(--cab-danger); color:var(--cab-danger); }
.document-icon:disabled { color:var(--cab-disabled); opacity:.55; cursor:not-allowed; }
.document-icon:focus-visible,.documents-dialog button:focus-visible,.documents-dialog input:focus,.documents-delete-dialog button:focus-visible { outline:2px solid var(--cab-brand); outline-offset:2px; }
.documents-empty { padding:56px 28px; text-align:center; }
.documents-empty h3 { margin:0; color:var(--cab-ink); font-size:25px; }
.documents-empty p { margin:12px 0 24px; color:var(--cab-copy); font-size:16px; }
.documents-status { min-height:22px; margin:0; padding:0 28px 18px; color:var(--cab-success); font-size:15px; font-weight:650; }
/* Модальные окна – стили в cabinet-modals.css */

.company-documents-page .company-completion { max-width:none; }
@media (max-width:1180px) { .company-documents-page { padding:26px 24px 54px; } .documents-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:860px) { .documents-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .documents-catalog > header { padding:20px; align-items:stretch; flex-direction:column; } .documents-catalog > header .cab-primary-action { width:100%; } .documents-help { padding:14px 20px; } .documents-grid { grid-template-columns:1fr; padding:20px; } }
