/* Документы организации */
.client-tabs {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 16px 0 20px;
    padding: 5px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: var(--surface);
    box-shadow: var(--shadow-xs);
}
.client-tabs a {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    gap: 8px;
    padding: 0 17px;
    border-radius: 9px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 750;
}
.client-tabs a:hover { color: var(--ink); background: var(--surface-subtle); }
.client-tabs a.is-active { color: var(--primary-dark); background: var(--primary-soft); }
.client-tabs a span { display: inline-flex; min-width: 24px; height: 24px; align-items: center; justify-content: center; border-radius: 999px; background: rgba(255, 255, 255, .8); font-size: 11px; }

.document-page-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; padding: 4px 0 2px; }
.document-page-hero h1 { max-width: 950px; margin: 6px 0 4px; color: var(--ink); font-size: 31px; line-height: 1.14; }
.document-readonly-banner { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; padding: 14px 17px; border: 1px solid #ecd6a7; border-radius: 12px; color: #815f14; background: #fffaf0; }
.document-readonly-banner strong { font-size: 14px; }
.document-readonly-banner span { flex: 1; color: #826f47; font-size: 12px; }
.document-readonly-banner form { margin: 0; }
.document-readonly-banner--trash { border-color: #f0c8c8; color: var(--danger); background: #fff7f7; }

.document-upload-card { margin-bottom: 18px; overflow: hidden; border: 1px solid #9fdcd5; border-radius: 15px; background: var(--surface); box-shadow: 0 14px 34px rgba(13, 109, 101, .1); }
.document-upload-card[hidden] { display: none; }
.document-upload-card > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 20px; border-bottom: 1px solid var(--line); background: linear-gradient(100deg, #effaf8, #fff); }
.document-upload-card > header > div { display: flex; align-items: center; gap: 12px; }
.document-upload-card h2 { margin: 0 0 2px; color: var(--ink); font-size: 18px; }
.document-upload-card header p { margin: 0; color: var(--muted); font-size: 12px; }
.document-section-icon { display: inline-flex; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 11px; color: var(--primary); background: #dff5f1; }
.document-section-icon svg { width: 21px; height: 21px; fill: currentColor; }
.document-upload-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; padding: 20px; }
.document-upload-form input,
.document-upload-form select,
.document-upload-form textarea { width: 100%; }
.document-upload-form select[multiple] { min-height: 132px; padding: 8px; }
.document-files-field { grid-column: span 2; }
.document-outlets-field { grid-column: span 2; grid-row: span 2; }
.document-description-field { grid-column: span 3; }
.document-upload-actions { display: flex; align-items: flex-end; justify-content: flex-end; gap: 9px; }
.document-upload-form input[type="file"],
.document-version-composer input[type="file"] { min-height: 48px; padding: 7px; border: 1px dashed #9fc9c5; border-radius: 9px; background: #f7fbfb; }
.document-upload-form input[type="file"]::file-selector-button,
.document-version-composer input[type="file"]::file-selector-button { margin-right: 11px; padding: 8px 12px; border: 0; border-radius: 7px; color: var(--primary-dark); background: var(--primary-soft); font: inherit; font-weight: 750; cursor: pointer; }

.document-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 11px; margin-bottom: 17px; }
.document-stats a { display: grid; min-height: 78px; align-content: center; gap: 3px; padding: 13px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow-xs); transition: .18s ease; }
.document-stats a:hover { transform: translateY(-1px); border-color: #b7d8d4; box-shadow: 0 8px 18px rgba(16, 37, 58, .08); }
.document-stats a.is-active { border-color: #8fd4cc; background: #f0fbf9; box-shadow: inset 3px 0 var(--primary); }
.document-stats strong { color: var(--ink); font-size: 21px; }
.document-stats span { color: var(--muted); font-size: 11px; }
.document-stats .document-stat--trash strong { color: #9b5b5b; }

.document-toolbar { margin-bottom: 17px; }
.document-filters { display: grid; grid-template-columns: minmax(290px, 1.7fr) repeat(3, minmax(145px, .8fr)); gap: 12px; align-items: end; }
.document-search { min-width: 0; }
.document-filters .select-field input { width: 100%; }
.document-filter-actions { display: flex; gap: 8px; align-items: center; }

.document-list { display: grid; gap: 10px; }
.document-row { display: grid; grid-template-columns: 48px minmax(280px, 1fr) 135px auto; align-items: center; gap: 14px; min-height: 90px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); box-shadow: var(--shadow-xs); }
.document-row:hover { border-color: #b9d8d5; box-shadow: 0 9px 22px rgba(16, 37, 58, .07); }
.document-row--deleted { opacity: .78; background: #fafafa; }
.document-file-icon { display: inline-flex; width: 46px; height: 46px; flex: 0 0 46px; align-items: center; justify-content: center; border-radius: 11px; color: #596a7e; background: #edf1f5; }
.document-file-icon span { font-size: 9px; font-weight: 850; letter-spacing: -.02em; }
.document-file-icon--pdf { color: #bb3e3e; background: #fff0f0; }
.document-file-icon--doc,
.document-file-icon--docx { color: #2f63ad; background: #edf3ff; }
.document-file-icon--jpg,
.document-file-icon--jpeg,
.document-file-icon--png { color: #7460a8; background: #f2effb; }
.document-file-icon--zip { color: #a16d13; background: #fff6df; }
.document-row__main { min-width: 0; }
.document-row__title { display: flex; min-width: 0; align-items: center; flex-wrap: wrap; gap: 7px; }
.document-row__title > a { overflow: hidden; max-width: min(560px, 100%); color: var(--ink); font-size: 14px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.document-row__title > a:hover { color: var(--primary); }
.document-row__main > p { overflow: hidden; margin: 5px 0; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.document-links { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; color: #63738a; font-size: 10px; }
.document-links span { position: relative; }
.document-links span + span::before { position: absolute; left: -7px; content: "·"; }
.document-trash-badge { padding: 3px 7px; border-radius: 999px; color: #9b4747; background: #fff0f0; font-size: 9px; font-weight: 800; }
.document-row__version { display: grid; justify-items: start; gap: 2px; }
.document-row__version strong { color: var(--ink-soft); font-size: 11px; }
.document-row__version span,
.document-row__version small { color: var(--muted); font-size: 9px; }
.document-row__actions { display: flex; align-items: center; justify-content: flex-end; gap: 3px; }
.document-row__actions form { margin: 0; }
.document-empty { min-height: 150px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface); }

.document-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 17px; align-items: start; }
.document-detail-layout__main,
.document-detail-layout__side { display: grid; gap: 16px; }
.document-version-composer { display: grid; grid-template-columns: minmax(280px, 1fr) auto; align-items: end; gap: 12px; padding: 16px 18px; border-bottom: 1px solid var(--line); background: #fbfdfd; }
.document-version-list { display: grid; }
.document-version-row { display: grid; grid-template-columns: 46px minmax(0, 1fr) 160px auto; align-items: center; gap: 13px; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.document-version-row:last-child { border-bottom: 0; }
.document-version-row.is-current { background: #f8fcfb; }
.document-version-row > div:nth-child(2) { display: grid; min-width: 0; gap: 3px; }
.document-version-row > div:nth-child(2) strong { display: flex; align-items: center; gap: 8px; color: var(--ink); font-size: 13px; }
.document-version-row > div:nth-child(2) strong em { padding: 3px 7px; border-radius: 999px; color: var(--primary-dark); background: var(--primary-soft); font-size: 8px; font-style: normal; text-transform: uppercase; }
.document-version-row > div:nth-child(2) span { overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.document-version-meta { display: grid; gap: 2px; color: var(--muted); font-size: 9px; }
.document-outlet-chip { display: block; margin-bottom: 5px; padding: 7px 9px; border-radius: 7px; color: var(--ink-soft); background: var(--surface-subtle); font-size: 10px; }
.document-danger-zone p { margin: 0 0 14px; color: var(--muted); font-size: 11px; line-height: 1.6; }
.document-edit-card { max-width: 1050px; }
.document-edit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.document-edit-grid select[multiple] { min-height: 130px; }

.document-heading-actions { display: flex; align-items: center; gap: 9px; }
.license-document-group + .license-document-group { border-top: 1px solid var(--line); }
.license-document-group > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px 10px; background: #fbfdfd; }
.license-document-group > header > div { display: grid; gap: 2px; }
.license-document-group > header strong { color: var(--ink); font-size: 13px; }
.license-document-group > header span { color: var(--muted); font-size: 9px; }
.license-document-group > header > span { display: inline-flex; min-width: 27px; height: 27px; align-items: center; justify-content: center; border-radius: 999px; color: var(--ink-soft); background: #edf1f5; font-size: 10px; font-weight: 800; }
.license-document-group--outlets > header { background: #faf9fd; }
.document-attachment-row { grid-template-columns: 46px minmax(0, 1fr) auto auto; }

@media (max-width: 1280px) {
    .document-upload-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .document-description-field { grid-column: 1 / -1; }
    .document-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .document-search { grid-column: span 2; }
    .document-detail-layout { grid-template-columns: minmax(0, 1fr) 340px; }
}

@media (max-width: 980px) {
    .document-page-hero { align-items: flex-start; flex-direction: column; }
    .document-page-hero .button { align-self: stretch; }
    .document-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .document-row { grid-template-columns: 46px minmax(0, 1fr) auto; }
    .document-row__version { grid-column: 2; grid-row: 2; display: flex; gap: 8px; }
    .document-row__actions { grid-column: 3; grid-row: 1 / span 2; }
    .document-detail-layout { grid-template-columns: 1fr; }
    .document-detail-layout__side { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .client-tabs { overflow-x: auto; }
    .client-tabs a { flex: 1 0 auto; justify-content: center; }
    .document-upload-form,
    .document-filters { grid-template-columns: 1fr; }
    .document-files-field,
    .document-outlets-field,
    .document-description-field,
    .document-search { grid-column: auto; }
    .document-upload-actions,
    .document-filter-actions { justify-content: stretch; }
    .document-upload-actions .button,
    .document-filter-actions .button { flex: 1; }
    .document-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .document-row { grid-template-columns: 42px minmax(0, 1fr); gap: 11px; }
    .document-row__version { grid-column: 2; }
    .document-row__actions { grid-column: 1 / -1; grid-row: auto; justify-content: flex-end; padding-top: 8px; border-top: 1px solid var(--line); }
    .document-detail-layout__side { grid-template-columns: 1fr; }
    .document-version-composer { grid-template-columns: 1fr; }
    .document-version-row { grid-template-columns: 42px minmax(0, 1fr) auto; }
    .document-version-meta { grid-column: 2; }
    .document-version-row .button { grid-column: 3; grid-row: 1 / span 2; }
    .document-attachment-row { grid-template-columns: 42px minmax(0, 1fr) auto; }
    .document-attachment-row .attachment-row__meta { display: none; }
}
