.dm-documents-wrap { max-width: 100%; color: var(--dm-text-color, #172b35); font-size: var(--dm-portal-font-size, 16px) !important; }
.dm-documents-wrap input[type="hidden"], .dm-account-page input[type="hidden"] { display: none !important; }
.dm-public-portal__title { margin: 0 0 1.25rem; color: var(--dm-text-color, #172b35); font-size: 1.5rem !important; font-weight: 700 !important; }
.dm-public-portal__note { margin-top: 1.25rem; color: var(--bs-secondary-color); font-size: 0.95rem; }
.dm-document-filter { margin-bottom: 1.5rem; }
.dm-document-results { width: 100%; }
.dm-document-card { border-color: var(--bs-border-color); background-color: var(--dm-row-background, #fff); }
.dm-document-table tbody tr { --bs-table-bg: var(--dm-row-background, #fff); color: var(--dm-text-color, #172b35); }
.dm-document-table tbody tr:hover { --bs-table-hover-bg: var(--dm-row-hover, #eef6f8); --bs-table-hover-color: var(--dm-text-color, #172b35); }
.dm-document-category { color: var(--bs-secondary-color); }
.dm-document-filter .form-label { display: block !important; margin-bottom: 0.45rem; font-size: 1.25rem !important; line-height: 1.2 !important; font-weight: 700 !important; }
.dm-document-filter .form-control, .dm-document-filter .form-select { font-size: 1.1rem !important; line-height: 1.4 !important; }
.dm-document-filter .row { align-items: center; }
.dm-search-field, .dm-category-field { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 0.8rem; }
.dm-search-field .form-label, .dm-category-field .form-label { display: inline-block !important; flex: 0 0 auto; margin: 0 !important; font-size: 1.05rem !important; font-weight: 700 !important; line-height: 1.1 !important; }
.dm-search-field .form-control, .dm-category-field .form-select { display: inline-block !important; flex: 1 1 auto; min-width: 0; }
.dm-category-field .form-select { min-width: 0; }
.dm-document-filter .form-label { margin-bottom: 0.35rem !important; }
.dm-document-filter .form-select { min-height: 2.75rem; }
.dm-document-table th { font-size: 0.95rem !important; font-weight: 700 !important; }
.dm-document-table td { font-size: 0.9rem !important; }
.dm-sort-header, .dm-category-trigger { border: 0; padding: 0; background: transparent; color: inherit; font: inherit; font-weight: inherit; cursor: pointer; }
.dm-sort-header:hover, .dm-category-trigger:hover { color: var(--bs-primary); }
.dm-category-header { position: relative; display: inline-block; }
.dm-category-menu { display: none; position: absolute; z-index: 10; top: calc(100% + 0.5rem); left: 0; width: 15rem; padding: 0.75rem; border: 1px solid var(--bs-border-color); border-radius: 0.5rem; background: #fff; box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, .15); }
.dm-category-header:hover .dm-category-menu, .dm-category-header:focus-within .dm-category-menu { display: block; }
.dm-category-header-select { width: 100% !important; }
.dm-is-loading { opacity: 0.6; pointer-events: none; }
.dm-documents-wrap .dm-download-button, .dm-documents-wrap .dm-preview-button, .dm-documents-wrap .dm-document-edit-trigger { display: inline-flex !important; align-items: center; justify-content: center; min-width: 7.5rem; min-height: 2.5rem; padding: 0.6rem 1.15rem !important; border: 0 !important; border-radius: 999px !important; font-family: inherit; font-size: 0.95rem !important; font-weight: 700 !important; line-height: 1 !important; text-decoration: none !important; transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease; }
.dm-documents-wrap .dm-download-button { background: var(--dm-download-color, #0d6efd) !important; color: var(--dm-download-text, #fff) !important; box-shadow: 0 0.35rem 0.8rem var(--dm-download-shadow, #0d6efd) !important; }
.dm-documents-wrap .dm-download-button:hover { transform: translateY(-3px); background: var(--dm-download-hover, #0756c9) !important; color: var(--dm-download-text, #fff) !important; box-shadow: 0 0.65rem 1.1rem var(--dm-download-shadow, #0d6efd) !important; }
.dm-documents-wrap .dm-preview-button { background: var(--dm-preview-color, #198754) !important; color: var(--dm-preview-text, #fff) !important; box-shadow: 0 0.35rem 0.8rem var(--dm-preview-shadow, #198754) !important; }
.dm-documents-wrap .dm-preview-button:hover { transform: translateY(-3px); background: var(--dm-preview-hover, #146c43) !important; color: var(--dm-preview-text, #fff) !important; box-shadow: 0 0.65rem 1.1rem var(--dm-preview-shadow, #198754) !important; }
.dm-documents-wrap .dm-download-button:active, .dm-documents-wrap .dm-preview-button:active { transform: translateY(0) scale(0.97); }
.dm-preview-modal.show { display: block; background: rgba(12, 30, 42, 0.65); }
.dm-preview-modal .modal-dialog { max-width: min(92vw, 1100px); height: 88vh; }
.dm-preview-modal .modal-content { height: 100%; border: 0; box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.25); }
.dm-preview-modal .modal-body { min-height: 0; }
.dm-document-list-group { display: flex; flex-direction: column; gap: 0.75rem; }
.dm-document-list-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; border: 1px solid rgba(18, 52, 74, 0.14); border-radius: 0.85rem; background: #fff; box-shadow: 0 0.45rem 1rem rgba(9, 32, 46, 0.05); }
.dm-document-list-item-main { flex: 1 1 auto; min-width: 0; }
.dm-document-list-item-title { display: flex; align-items: center; gap: 0.65rem; flex-wrap: wrap; }
.dm-document-list-meta { display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; margin-top: 0.45rem; color: #5b6d79; font-size: 0.88rem; }
.dm-document-list-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 0.45rem; }
.dm-document-list-actions .dm-document-edit-trigger { background: var(--dm-edit-color, #f28c18) !important; color: var(--dm-edit-text, #fff) !important; box-shadow: 0 0.35rem 0.8rem var(--dm-edit-shadow, rgba(242, 140, 24, 0.45)) !important; }
.dm-document-list-actions .dm-document-edit-trigger:hover { background: var(--dm-edit-hover, #d97706) !important; color: var(--dm-edit-text, #fff) !important; box-shadow: 0 0.65rem 1.1rem var(--dm-edit-shadow, rgba(242, 140, 24, 0.45)) !important; }
.dm-document-editor-modal { position: fixed; z-index: 100000; inset: 0; display: none; padding: 1rem; background: rgba(9, 32, 46, 0.28); }
.dm-document-editor-modal.show { display: flex; align-items: center; justify-content: center; }
.dm-document-editor-modal .modal-dialog { width: min(100%, 760px); margin: 0; }
.dm-document-editor-modal .modal-content { border: 1px solid rgba(18, 52, 74, 0.14); border-radius: 1rem; background: #f4f6f8; box-shadow: 0 1rem 3rem rgba(9, 32, 46, 0.22); }
.dm-document-editor-modal .modal-header { padding: 1rem 1.1rem 0.75rem; border-bottom: 0; background: transparent; }
.dm-document-editor-modal .modal-title { margin: 0; color: #1d3343; font-size: clamp(1.5rem, 1.6vw, 2rem); font-weight: 800; }
.dm-document-editor-modal .modal-header .btn-close { margin-left: auto; width: 2.2rem; height: 2.2rem; padding: 0; border-radius: 0.5rem; background: transparent; opacity: 1; }
.dm-document-editor-modal .modal-header .btn-close:focus { box-shadow: none; }
.dm-document-editor-modal .modal-header .btn-close::before { content: '×'; display: block; color: #5b6d79; font-size: 2rem; line-height: 1; }
.dm-document-editor-modal .modal-body { padding: 0.25rem 1.1rem 1rem; }
.dm-document-editor-modal .form-label { display: block; margin-bottom: 0.45rem; color: #3b4b57; font-size: 1.05rem; font-weight: 700; }
.dm-document-editor-modal .form-control,
.dm-document-editor-modal .form-select { min-height: 2.8rem; border: 1px solid rgba(44, 90, 120, 0.22); border-radius: 0.6rem; background: #fff; box-shadow: none; }
.dm-document-editor-modal #dm-document-editor-title { width: 100%; min-height: 3.3rem; }
.dm-document-editor-modal .form-control:focus,
.dm-document-editor-modal .form-select:focus { border-color: rgba(42, 157, 244, 0.75); box-shadow: 0 0 0 0.2rem rgba(42, 157, 244, 0.12); }
.dm-document-editor-modal .modal-footer { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.85rem 1.1rem 1rem; border-top: 0; background: transparent; }
.dm-document-editor-modal .modal-footer .btn { min-height: 2.75rem; padding: 0.65rem 1.1rem; border-radius: 0.55rem; font-weight: 700; }
.dm-document-editor-modal .modal-footer .btn-outline-secondary { border-color: rgba(44, 90, 120, 0.35); background: #fff; color: #1d3343; }
.dm-document-editor-modal .btn-primary { border: 0; background: linear-gradient(180deg, #2a9df4, #1d7ed8); box-shadow: 0 0.45rem 1rem rgba(42,157,244,0.25); }
.dm-document-editor-modal .btn-primary:hover, .dm-document-editor-modal .btn-primary:focus { filter: brightness(1.03); }
.dm-document-editor-modal .dm-document-editor-delete { border: 1px solid rgba(220, 53, 69, 0.6); background: #fff; color: #d93025; }
.dm-document-editor-modal .dm-document-editor-delete:hover, .dm-document-editor-modal .dm-document-editor-delete:focus { background: #fff5f5; color: #c62828; }
.dm-document-editor-modal .dm-document-status-toggle { display: inline-flex; align-items: center; justify-content: center; min-width: 9rem; min-height: 3.25rem; padding: 0.65rem 1.2rem; border: 1px solid rgba(42, 157, 244, 0.35); border-radius: 0.75rem; background: rgba(42, 157, 244, 0.08); color: #1d3343; font-size: 1rem; font-weight: 700; }
.dm-document-editor-modal .dm-document-status-toggle.is-published { background: rgba(22, 131, 79, 0.12); border-color: rgba(22, 131, 79, 0.3); color: #0d6c3a; }
.dm-document-editor-modal .dm-document-status-toggle.is-unpublished { background: rgba(196, 75, 53, 0.10); border-color: rgba(196, 75, 53, 0.3); color: #b42318; }
.dm-preview-frame { display: block; width: 100%; height: 100%; min-height: 70vh; border: 0; }
.dm-preview-content { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; min-height: 70vh; padding: 2rem; background: #f7f9fb; overflow-y: auto; }
.dm-preview-image { display: block; max-width: 100%; max-height: 70vh; width: auto; height: auto; object-fit: contain; }
.dm-preview-loading { margin: auto; color: #495d6e; font-weight: 600; }
.dm-preview-pdf-page { display: block; max-width: 100%; height: auto; margin: 0 auto 1.25rem; background: #fff; box-shadow: 0 0.4rem 1rem rgba(9, 32, 46, 0.14); }
.dm-preview-unavailable { max-width: 32rem; padding: 2rem; border: 1px solid rgba(18, 52, 74, 0.1); border-radius: 1rem; background: #fff; color: #495d6e; text-align: center; box-shadow: 0 0.7rem 1.7rem rgba(9, 32, 46, 0.08); }

.dm-account-page { width: min(100%, 1180px); margin: 2rem auto; color: var(--dm-text-color, #172b35); }
.dm-account-page__header { margin-bottom: 1rem; padding: 1rem 1.5rem; border-radius: 0.8rem; background: linear-gradient(135deg, var(--dm-auth-secondary, #f28c18), var(--dm-auth-primary, #2a9df4)); color: #fff; box-shadow: 0 0.55rem 1.2rem rgba(18, 52, 74, 0.14); }
.dm-account-page__header h1 { margin: 0; color: #fff !important; font-size: clamp(1.25rem, 2.1vw, 1.75rem); font-weight: 800; }
.dm-account-page__header p { max-width: 42rem; margin: 0.25rem 0 0; font-size: 0.9rem; opacity: 0.92; }
.dm-account-page__header-content { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.dm-account-page__header-actions { display: flex; align-items: center; gap: 0.45rem; flex-shrink: 0; }
.dm-account-page__header-actions .dm-upload-inline-button { min-height: 2.5rem; padding: 0.55rem 1rem; border-radius: 999px; background: #c0392b; box-shadow: none; font-size: 0.85rem; }
.dm-account-page__header-actions .dm-upload-inline-button:hover, .dm-account-page__header-actions .dm-upload-inline-button:focus { background: #a93226; transform: none; }
.dm-account-page__header-actions .dm-account-documentation-link-header { display: inline-flex; align-items: center; justify-content: center; min-height: 2.5rem; padding: 0.55rem 1rem; border: 1px solid rgba(255, 255, 255, 0.5); border-radius: 999px; background: rgba(255, 255, 255, 0.08); color: #fff; font-size: 0.85rem; font-weight: 700; text-decoration: none; }
.dm-account-page__header-actions .dm-account-documentation-link-header:hover, .dm-account-page__header-actions .dm-account-documentation-link-header:focus { background: rgba(255, 255, 255, 0.16); color: #fff; text-decoration: none; }
.dm-account-logout { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; min-height: 2.75rem; padding: 0.65rem 1.15rem; border: 1px solid rgba(255, 255, 255, 0.72); border-radius: 999px; color: #fff; font-weight: 700; text-decoration: none; transition: background-color 180ms ease, color 180ms ease, transform 180ms ease; }
.dm-account-logout:hover, .dm-account-logout:focus { background: #fff; color: var(--dm-auth-primary, #2a9df4); transform: translateY(-2px); }
.dm-account-card, .dm-account-documents { margin-bottom: 1.25rem; padding: 1.75rem 2rem; border: 1px solid rgba(18, 52, 74, 0.1); border-radius: 1rem; background: #f7f9fb; box-shadow: 0 0.7rem 1.7rem rgba(9, 32, 46, 0.08); }
.dm-account-section + .dm-account-section { margin-top: 1rem; }
.dm-account-section, .dm-account-documents { overflow: hidden; }
.dm-account-section--profile h2 { margin: 0 0 1.25rem; color: #1d3343; font-size: 1.45rem; font-weight: 800; }
.dm-account-section summary, .dm-account-documents summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; list-style: none; cursor: pointer; color: #1d3343; font-size: 1.45rem; font-weight: 800; }
.dm-account-section summary::-webkit-details-marker, .dm-account-documents summary::-webkit-details-marker { display: none; }
.dm-account-section summary::after, .dm-account-documents summary::after { content: '+'; color: var(--dm-auth-link, #f28c18); font-size: 1.7rem; line-height: 1; }
.dm-account-section[open] summary::after, .dm-account-documents[open] summary::after { content: '-'; }
.dm-account-section[open] summary, .dm-account-documents[open] summary { margin-bottom: 1.25rem; }
.dm-account-password { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid rgba(18, 52, 74, 0.1); }
.dm-account-password h3 { margin: 0 0 1.25rem; color: #1d3343; font-size: 1.2rem; font-weight: 800; }
.dm-account-card .form-label { display: block; color: #495d6e; font-weight: 600; }
.dm-account-card .form-control { margin-top: 0.4rem; min-height: 3rem; border: 1px solid rgba(44, 90, 120, 0.15); border-radius: 0.7rem; background: #fff; }
.dm-account-card .form-control:focus { border-color: var(--dm-auth-primary, #2a9df4); box-shadow: 0 0 0 0.2rem var(--dm-auth-primary-soft, rgba(42,157,244,0.15)); }
.dm-account-help { margin: -0.5rem 0 1.25rem; color: #5b6d79; }
.dm-account-upload { background: rgba(255, 255, 255, 0.72); }
.dm-account-upload input[type="file"] { padding: 0.65rem 0.8rem; }
.dm-account-button { display: inline-flex; align-items: center; justify-content: center; min-width: 12rem; min-height: 3rem; padding: 0.75rem 1.5rem; border: 0; border-radius: 999px; background: linear-gradient(180deg, var(--dm-auth-secondary, #f28c18), var(--dm-auth-primary, #2a9df4)); color: #fff; font: inherit; font-weight: 700; box-shadow: 0 0.45rem 1rem var(--dm-auth-primary, #2a9df4); cursor: pointer; transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease; }
.dm-account-button:hover, .dm-account-button:focus { color: #fff; filter: brightness(1.04); transform: translateY(-2px); box-shadow: 0 0.65rem 1.2rem var(--dm-auth-primary, #2a9df4); }
.dm-account-documents .dm-documents-wrap { padding: 0; }
.dm-account-documentation-link { margin: -0.5rem 0 1rem; text-align: right; }
.dm-account-documentation-link a { color: var(--dm-auth-link, #f28c18); font-size: 0.9rem; font-weight: 700; text-decoration: none; }
.dm-account-documentation-link a:hover, .dm-account-documentation-link a:focus { color: var(--dm-auth-link-hover, #d96f00); text-decoration: underline; }
.dm-account-documents .dm-document-filter { margin-bottom: 1.25rem; }
.dm-account-documents .dm-document-table { margin-bottom: 0; background: #fff; }
.dm-account-documents .dm-document-table th, .dm-account-documents .dm-document-table td { padding: 0.05rem 0.3rem; line-height: 1.05; }
.dm-account-documents .dm-download-button, .dm-account-documents .dm-preview-button { min-width: 5.5rem; min-height: 2rem; padding: 0.35rem 0.65rem !important; font-size: 0.8rem !important; }
.dm-account-documents .dm-document-table td:last-child { white-space: nowrap; }
.dm-account-documents .dm-document-table td:last-child .dm-download-button, .dm-account-documents .dm-document-table td:last-child .dm-preview-button { display: inline-flex !important; width: 1.35rem; min-width: 1.35rem; height: 1.25rem; min-height: 1.25rem; margin: 0 0 0 0.1rem; padding: 0 !important; vertical-align: middle; }
.dm-account-documents .dm-document-table td:last-child .dm-preview-button { margin-left: 0; }
.dm-account-upload-launcher { margin: 1rem 0 2rem; text-align: right; }
.dm-upload-inline-action { display: flex; align-items: end; }
.dm-upload-inline-button { min-width: auto; min-height: 2.25rem; padding: 0.45rem 0.8rem; font-size: 0.85rem; white-space: nowrap; }
.dm-upload-dialog { width: min(92vw, 560px); padding: 0; border: 0; border-radius: 1rem; box-shadow: 0 1rem 3rem rgba(9, 32, 46, 0.28); color: var(--dm-text-color, #172b35); }
.dm-upload-dialog[open] { position: fixed; z-index: 100000; inset: 50% auto auto 50%; display: block; max-height: 88vh; margin: 0; transform: translate(-50%, -50%); overflow-y: auto; }
.dm-upload-dialog::backdrop { background: rgba(9, 32, 46, 0.62); }
.dm-upload-dialog[open]::backdrop { background: rgba(9, 32, 46, 0.62); }
.dm-upload-dialog__inner { padding: 1.5rem 1.75rem 1.75rem; background: #f7f9fb; }
.dm-upload-dialog__header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.dm-upload-dialog__header h2 { margin: 0; color: #1d3343; font-size: 1.45rem; font-weight: 800; }
.dm-upload-dialog__close { border: 0; background: transparent; color: #5b6d79; font-size: 1.8rem; line-height: 1; cursor: pointer; }
.dm-upload-dialog .form-label { display: block; margin-bottom: 1rem; color: #495d6e; font-weight: 600; }
.dm-upload-dialog .form-control { margin-top: 0.4rem; }
.dm-new-category-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; padding: 0.85rem 1rem; border: 1px solid rgba(42, 157, 244, 0.2); border-radius: 0.7rem; background: rgba(42, 157, 244, 0.05); }
.dm-upload-dialog__actions { display: flex; flex-wrap: wrap; gap: 0.65rem; margin-top: 1.25rem; }
.dm-upload-dialog__actions .dm-account-button { flex: 0 1 auto; min-width: 8rem; min-height: 2.5rem; padding: 0.6rem 1rem; font-size: 0.9rem; }
.dm-account-documents .table-responsive { overflow-x: auto; }
.dm-account-documents .dm-document-table { min-width: 0; table-layout: fixed; }
.dm-account-documents .dm-document-table th, .dm-account-documents .dm-document-table td { white-space: nowrap; }
.dm-account-documents .dm-document-table th:first-child, .dm-account-documents .dm-document-table td:first-child { width: 40%; white-space: normal; }
.dm-account-documents .dm-document-table th:nth-child(2), .dm-account-documents .dm-document-table td:nth-child(2) { width: 15%; }
.dm-account-documents .dm-document-table th:nth-child(3), .dm-account-documents .dm-document-table td:nth-child(3) { width: 19%; }
.dm-account-documents .dm-document-table td:nth-child(2), .dm-account-documents .dm-document-table td:nth-child(3) { vertical-align: middle !important; }
.dm-account-documents .dm-document-table td:nth-child(2) .dm-document-category-control, .dm-account-documents .dm-document-table td:nth-child(3) .dm-document-access-control { display: block; margin: 0 auto; }
.dm-account-documents .dm-document-table th:nth-child(4), .dm-account-documents .dm-document-table td:nth-child(4) { width: 10%; }
.dm-account-documents .dm-document-table th:nth-child(5), .dm-account-documents .dm-document-table td:nth-child(5) { width: 16%; }
.dm-document-title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 0.9rem; }
.dm-document-title-row { display: block; width: 100%; }
.dm-document-title { white-space: normal; overflow: visible; text-overflow: clip; word-break: normal; }
.dm-document-owner-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; justify-content: start; gap: 0.35rem; width: 100%; margin-top: 0.5rem; }
.dm-document-rename { display: contents; }
.dm-document-rename input { flex: 1 0 100%; width: 100%; min-width: 0; box-sizing: border-box; padding: 0.35rem 0.55rem; border: 1px solid var(--bs-border-color); border-radius: 0.35rem; }
.dm-document-rename select { width: 9rem; min-width: 0; padding: 0.35rem 0.55rem; border: 1px solid var(--bs-border-color); border-radius: 0.35rem; }
.dm-document-category-control { width: 100%; min-width: 8.5rem; height: 1.15rem; padding: 0 0.25rem; border: 1px solid var(--bs-border-color); border-radius: 0.2rem; background: #fff; }
.dm-category-save-status { display: block; margin-top: 0.3rem; color: #16834f; font-size: 0.75rem; }
.dm-category-save-status.is-error { color: #b42318; }
.dm-access-control { min-width: 11rem; }
.dm-document-access-control { width: 100%; height: 1.15rem; padding: 0 0.25rem; border: 1px solid var(--bs-border-color); border-radius: 0.2rem; background: #fff; }
.dm-access-groups { margin-top: 0.4rem; padding: 0.35rem; border: 1px solid var(--bs-border-color); border-radius: 0.35rem; background: #fff; }
.dm-access-groups label { display: block; margin: 0.25rem 0; font-size: 0.75rem; white-space: normal; }
.dm-access-save-status { display: block; margin-top: 0.3rem; color: #16834f; font-size: 0.75rem; }
.dm-access-save-status.is-error { color: #b42318; }
.dm-document-manage-button { padding: 0.35rem 0.6rem; border: 0; border-radius: 0.35rem; background: var(--dm-auth-primary, #2a9df4); color: #fff; font-size: 0.8rem; cursor: pointer; }
.dm-document-delete-button { background: #c0392b; }
.dm-document-rename input { grid-column: 1 / -1; display: block; width: 100% !important; max-width: none; }
.dm-document-rename select { grid-column: 1 / -1; }
.dm-document-delete { display: contents; }
.dm-document-status-toggle { display: inline-flex; align-items: center; justify-content: center; width: 1.8rem; height: 1.8rem; margin-left: 0.35rem; padding: 0; border: 0; border-radius: 50%; background: transparent; font-size: 1.1rem; font-weight: 700; line-height: 1; cursor: pointer; }
.dm-document-status-toggle.is-published { color: #16834f; }
.dm-document-status-toggle.is-unpublished { color: #c0392b; }
.dm-document-status-toggle:hover { background: rgba(18, 52, 74, 0.08); }
.dm-document-status-toggle:disabled { opacity: 0.55; cursor: wait; }
.dm-document-owner-actions > .dm-document-status-toggle { grid-column: 1 / -1; justify-self: start; }
.dm-public-documents .dm-document-table { table-layout: fixed; font-size: 0.82rem; }
.dm-public-documents .dm-document-table th, .dm-public-documents .dm-document-table td { padding-top: 0.15rem; padding-bottom: 0.15rem; line-height: 1.1; }
.dm-public-documents .dm-document-title { display: block; padding: 0; background: transparent; color: inherit; font: inherit; text-align: center; }
.dm-public-documents .dm-document-table th { font-size: 0.85rem !important; }
.dm-public-documents .dm-document-table th:first-child, .dm-public-documents .dm-document-table td:first-child { width: 43%; }
.dm-public-documents .dm-document-table th:nth-child(2), .dm-public-documents .dm-document-table td:nth-child(2) { width: 20%; }
.dm-public-documents .dm-document-table th:nth-child(3), .dm-public-documents .dm-document-table td:nth-child(3) { width: 12%; }
.dm-public-documents .dm-document-table th:nth-child(4), .dm-public-documents .dm-document-table td:nth-child(4) { width: 25%; }
.dm-public-documents .dm-document-table td:last-child { white-space: nowrap; }
.dm-public-documents .dm-document-table td:last-child .dm-download-button, .dm-public-documents .dm-document-table td:last-child .dm-preview-button { display: inline-flex !important; width: 5.5rem; min-width: 0; min-height: 1.65rem; margin: 0 0 0 0.2rem; padding: 0.25rem 0.35rem !important; font-size: 0.72rem !important; vertical-align: middle; }
.dm-public-documents .dm-document-table td:last-child .dm-preview-button { margin-left: 0; }
.dm-account-documents .dm-document-table td:last-child .dm-preview-button, .dm-account-documents .dm-document-table td:last-child .dm-download-button { width: 1.8rem; min-width: 1.8rem; height: 1.65rem; min-height: 1.65rem; padding: 0 !important; font-size: 0.9rem !important; }
.dm-account-documents .dm-document-table .dm-document-title-row { position: relative; display: flex; align-items: center; gap: 0.3rem; min-width: 0; width: 100%; padding-right: 2.7rem; }
.dm-account-documents .dm-document-table .dm-document-title-editable { flex: 1 1 auto; min-width: 0; overflow: hidden; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.dm-account-documents .dm-document-table .dm-document-title-editable:hover, .dm-account-documents .dm-document-table .dm-document-title-editable:focus { color: var(--bs-primary); text-decoration: underline; }
.dm-account-documents .dm-document-table .dm-document-title-row.is-editing .dm-document-title-editable { display: none; }
.dm-account-documents .dm-document-table .dm-document-owner-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 0.2rem; width: auto; margin: 0; }
.dm-account-documents .dm-document-table .dm-document-title-row > .dm-document-owner-actions { position: absolute; top: 50%; right: 0; transform: translateY(-50%); }
.dm-account-documents .dm-document-table .dm-document-rename { display: flex; align-items: center; gap: 0.15rem; }
.dm-account-documents .dm-document-table .dm-document-rename.is-editing { flex: 1 1 auto; min-width: 0; }
.dm-account-documents .dm-document-table .dm-document-title-row.is-editing > .dm-document-owner-actions { left: 0; right: 0; width: 100%; padding: 0.05rem 0; background: var(--dm-row-background, #fff); }
.dm-account-documents .dm-document-table .dm-document-title-row.is-editing .dm-document-rename { width: 100%; }
.dm-account-documents .dm-document-table .dm-document-delete { display: contents; }
.dm-account-documents .dm-document-table .dm-document-rename input[name="document_title"] { display: none !important; width: min(14rem, 40vw) !important; min-width: 5rem; height: 1.8rem; margin: 0; padding: 0.2rem 0.35rem; font-size: 0.8rem; }
.dm-account-documents .dm-document-table .dm-document-owner-actions.is-editing .dm-document-rename input[name="document_title"] { display: block !important; flex: 1 1 auto; width: auto !important; min-width: 0; }
.dm-account-documents .dm-document-table .dm-document-manage-button { display: inline-flex; align-items: center; justify-content: center; width: 1.15rem; height: 1.15rem; padding: 0; border-radius: 0.15rem; font-size: 0.65rem; line-height: 1; }
.dm-account-documents .dm-document-table .dm-document-rename button[type="submit"], .dm-account-documents .dm-document-table .dm-document-cancel-button { position: relative; z-index: 2; flex: 0 0 1.15rem; }
.dm-account-documents .dm-document-table .dm-document-rename button[type="submit"], .dm-account-documents .dm-document-table .dm-document-cancel-button { display: inline-flex !important; }
.dm-account-documents .dm-document-table .dm-document-owner-actions.is-editing .dm-document-rename button[type="submit"], .dm-account-documents .dm-document-table .dm-document-owner-actions.is-editing .dm-document-cancel-button { display: inline-flex !important; }
.dm-account-documents .dm-document-table .dm-document-title-row.is-editing .dm-document-rename button[type="submit"], .dm-account-documents .dm-document-table .dm-document-title-row.is-editing .dm-document-cancel-button { display: inline-flex !important; }
.dm-account-documents .dm-document-table .dm-document-title-row.is-editing > .dm-document-owner-actions { right: 0; }
.dm-account-documents .dm-document-table .dm-document-status-toggle { width: 1.15rem; height: 1.15rem; margin: 0; font-size: 0.7rem; }
.dm-account-documents .dm-document-table .dm-document-owner-actions > .dm-document-status-toggle { grid-column: auto; }

.dm-auth-shell { display: block; width: min(100%, 680px); min-height: 0; margin: 2rem auto; border: 1px solid rgba(18, 52, 74, 0.08); background: #ffffff; box-shadow: 0 1.25rem 3rem rgba(9, 32, 46, 0.12); overflow: hidden; }
.dm-auth-visual { position: relative; width: 100%; background: linear-gradient(180deg, var(--dm-auth-secondary, #f28c18) 0%, var(--dm-auth-primary, #2a9df4) 100%); }
.dm-auth-visual::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, rgba(255,255,255,0.05) 0, rgba(255,255,255,0.05) 1px, transparent 1px, transparent 24px), repeating-linear-gradient(90deg, rgba(255,255,255,0.04) 0, rgba(255,255,255,0.04) 1px, transparent 1px, transparent 24px), radial-gradient(circle at 20% 20%, rgba(255,255,255,0.18), transparent 18%), radial-gradient(circle at 72% 78%, rgba(255,255,255,0.12), transparent 22%); }
.dm-auth-visual__inner { position: relative; z-index: 1; min-height: 7.5rem; display: flex; flex-direction: column; justify-content: flex-start; padding: 1.5rem 2rem; color: #fff; }
.dm-auth-brand { display: flex; align-items: center; justify-content: space-between; gap: 2.5rem; font-weight: 800; font-size: clamp(1.35rem, 1.7vw, 2rem); }
.dm-auth-logo, .dm-auth-logo-mark { display: inline-flex; align-items: center; justify-content: center; width: auto; max-width: clamp(7rem, 20vw, 13rem); height: auto; max-height: 4rem; border-radius: 0; object-fit: contain; background: transparent; box-shadow: none; }
.dm-auth-logo-mark { font-size: 1.7rem; font-weight: 700; }
.dm-auth-brand__name { flex: 1; line-height: 1.1; text-align: right; }
.dm-auth-brand__subtitle { max-width: 34rem; margin: 1.2rem 0 0 auto; color: rgba(255,255,255,0.92); font-size: 1.05rem; line-height: 1.5; text-align: right; }
.dm-auth-eyebrow { margin: 2rem 0 0; font-size: 1.1rem; opacity: 0.9; }
.dm-auth-hero { max-width: 100%; margin: 0.75rem 0 0; font-size: clamp(2.25rem, 3vw, 3.35rem); line-height: 1.05; font-weight: 900; letter-spacing: 0.01em; overflow-wrap: anywhere; }
.dm-auth-divider { width: 80px; height: 4px; margin: 1.75rem 0; border-radius: 999px; background: rgba(255,255,255,0.8); }
.dm-auth-subtext { max-width: 26rem; margin: 0; font-size: 1.2rem; line-height: 1.5; opacity: 0.9; }
.dm-auth-panel { width: 100%; background: #f7f9fb; }
.dm-auth-panel__inner { max-width: 38rem; margin: 0 auto; padding: 3.5rem 2rem; }
.dm-auth-title { margin: 0 0 0.9rem; color: #1d3343; font-weight: 800; font-size: clamp(2rem, 2vw, 3rem); line-height: 1.1; }
.dm-auth-description { margin: 0 0 2rem; color: #5b6d79; font-size: 1.15rem; line-height: 1.6; }
.dm-auth-form { margin-top: 0.25rem; }
.dm-auth-field { margin-bottom: 1.1rem; }
.dm-auth-field label { display: block; margin-bottom: 0.45rem; color: #495d6e; font-weight: 600; }
.dm-auth-field .form-control, .dm-auth-field input[type="text"], .dm-auth-field input[type="email"], .dm-auth-field input[type="password"], .dm-auth-field input[type="tel"] { width: 100%; height: 3.25rem; padding: 0.8rem 1rem; border: 1px solid rgba(44, 90, 120, 0.15); border-radius: 0.8rem; background: rgba(255,255,255,0.8); color: #1d3343; font-size: 1.05rem; box-shadow: none; }
.dm-auth-field .form-control:focus, .dm-auth-field input:focus { border-color: var(--dm-auth-primary, #2a9df4); box-shadow: 0 0 0 0.2rem var(--dm-auth-primary-soft, rgba(42,157,244,0.15)); outline: none; }
.dm-auth-meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0.5rem 0 1.4rem; }
.dm-auth-check { display: inline-flex; align-items: center; gap: 0.65rem; color: #425a69; font-weight: 500; }
.dm-auth-check input { width: 1.1rem; height: 1.1rem; accent-color: var(--dm-auth-primary, #2a9df4); }
.dm-auth-link { color: var(--dm-auth-link, #f28c18); font-weight: 600; text-decoration: none; transition: color 180ms ease, filter 180ms ease; }
.dm-auth-link:hover, .dm-auth-link:focus { color: var(--dm-auth-link-hover, #d96f00); filter: none; text-decoration: underline; }
.dm-auth-submit { display: inline-flex; align-items: center; justify-content: center; min-width: 14rem; min-height: 3.6rem; margin-top: 0.4rem; padding: 1rem 2.4rem !important; border: 0 !important; border-radius: 999px !important; background: linear-gradient(180deg, var(--dm-auth-secondary, #f28c18), var(--dm-auth-primary, #2a9df4)) !important; color: #fff !important; font-family: inherit; font-size: 1.1rem !important; font-weight: 700 !important; line-height: 1 !important; letter-spacing: 0.04em; text-decoration: none; box-shadow: 0 0.55rem 1.1rem var(--dm-auth-primary, #2a9df4); transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease; }
.dm-auth-submit:hover, .dm-auth-submit:focus { color: #fff !important; filter: brightness(1.04); transform: translateY(-3px); box-shadow: 0 0.65rem 1.1rem var(--dm-auth-primary, #2a9df4); }
.dm-auth-submit:active { transform: translateY(0) scale(0.97); }
.dm-auth-footer-text { margin-top: 1.8rem; text-align: center; color: #576f7d; font-size: 1.08rem; }
.dm-auth-shell .dm-error, .dm-auth-shell .dm-success { margin: 1rem 0 1.2rem; padding: 0.8rem 1rem; border-radius: 0.75rem; font-weight: 600; }
.dm-auth-shell .dm-error { background: rgba(220, 38, 38, 0.08); color: #b42318; }
.dm-auth-shell .dm-success { background: rgba(16, 185, 129, 0.08); color: #0f7f5b; }
.dm-registration-popup { position: fixed; z-index: 100000; inset: 0; display: grid; place-items: center; padding: 1rem; background: rgba(9, 32, 46, 0.62); }
.dm-registration-popup__content { position: relative; width: min(100%, 32rem); max-width: 32rem; padding: 2rem; border: 1px solid rgba(18, 52, 74, 0.12); border-radius: 0.9rem; background: #fff; color: #1d3343; text-align: center; box-shadow: 0 1rem 3rem rgba(9, 32, 46, 0.28); }
.dm-registration-popup__close { position: absolute; top: 0.65rem; right: 0.75rem; border: 0; background: transparent; color: #5b6d79; font-size: 1.4rem; line-height: 1; cursor: pointer; }
.dm-registration-popup__icon { display: grid; place-items: center; width: 3rem; height: 3rem; margin: 0 auto 0.8rem; border-radius: 50%; background: rgba(16, 185, 129, 0.12); color: #0f7f5b; font-size: 1.7rem; font-weight: 800; }
.dm-registration-popup__content h2 { margin: 0 0 0.7rem; color: #1d3343; font-size: 1.35rem; }
.dm-registration-popup__content p { margin: 0 0 1.25rem; color: #495d6e; line-height: 1.5; }
.dm-registration-popup__confirm { min-width: 8rem; padding: 0.65rem 1rem; border: 0; border-radius: 0.45rem; background: var(--dm-auth-primary, #2a9df4); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
@media (max-width: 980px) {
  .dm-auth-panel__inner { padding: 2.3rem 1.5rem 2.8rem; }
}
@media (max-width: 560px) {
  .dm-account-page { margin: 1rem 0; }
  .dm-account-page__header, .dm-account-card, .dm-account-documents { padding: 1.25rem; border-radius: 0.75rem; }
  .dm-account-page__header-content { align-items: flex-start; flex-direction: column; }
  .dm-account-card .dm-account-section + .dm-account-section { margin-top: 1rem; }
  .dm-account-password { margin-top: 1.5rem; padding-top: 1.5rem; }
  .dm-account-button { width: 100%; }
  .dm-account-upload-launcher { text-align: left; }
  .dm-upload-dialog__inner { padding: 1.25rem; }
  .dm-new-category-fields { grid-template-columns: 1fr; }
  .dm-upload-dialog__actions { flex-direction: column; }
  .dm-search-field { display: block; }
  .dm-search-field .form-label { display: block !important; margin-bottom: 0.45rem !important; }
  .dm-document-owner-actions { grid-template-columns: auto auto; align-items: center; }
  .dm-document-rename input, .dm-document-rename select { width: 100%; }
  .dm-auth-shell { margin: 1rem 0; }
  .dm-auth-visual__inner { min-height: 6.5rem; padding: 1.25rem 1.1rem; }
  .dm-auth-brand { gap: 1.25rem; font-size: 1.2rem; }
  .dm-auth-brand__name { font-size: 1rem; }
  .dm-auth-brand__subtitle { margin-top: 0.8rem; font-size: 0.92rem; }
  .dm-auth-hero { font-size: 2.4rem; }
  .dm-auth-subtext { font-size: 1rem; }
  .dm-auth-meta { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
  .dm-auth-meta > * + * { display: inline-flex; margin-top: 0; }
  .dm-auth-check, .dm-auth-link { font-size: 0.88rem; }
  .dm-auth-title { font-size: 1.8rem; }
  .dm-auth-description { font-size: 1rem; }
  .dm-auth-field .form-control, .dm-auth-field input[type="text"], .dm-auth-field input[type="email"], .dm-auth-field input[type="password"], .dm-auth-field input[type="tel"] { height: 2.9rem; font-size: 1rem; }
  .dm-auth-submit { min-width: 12rem; min-height: 3.2rem; }
}
