/* Archive pages use shared site tokens; uploaded documents stay inside a sandbox. */
.archive-intro > * + *, .archive-panel > * + * { margin-block-start: var(--space-3); }
.archive-toolbar, .archive-actions, .archive-pagination { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-3); }
.archive-toolbar { margin-block: var(--space-5); }
.archive-toolbar .archive-field:first-child { flex: 2 1 240px; }
.archive-toolbar .archive-field { flex: 1 1 180px; }
.archive-field { display: flex; flex-direction: column; gap: var(--space-2); min-width: 0; }
.archive-field label { font-weight: 600; }
.archive input, .archive select, .archive textarea { width: 100%; min-width: 0; min-height: 44px; padding: var(--space-2) var(--space-3); border: 1px solid var(--color-hairline); border-radius: 2px; background: var(--color-bg); color: var(--color-ink); font: inherit; }
.archive textarea { resize: vertical; min-height: 110px; }
.archive input[type="file"] { padding: var(--space-2); }
.archive button:disabled, .archive input:disabled, .archive textarea:disabled, .archive select:disabled { cursor: not-allowed; opacity: 0.65; }
.archive-message { padding-block: var(--space-3); color: var(--color-secondary); }
.archive-message[data-kind="error"] { color: var(--color-ink); border-block: 1px solid var(--color-hairline); }
.archive-list { padding: 0; margin: 0; list-style: none; }
.archive-item { padding-block: var(--space-4); border-bottom: 1px solid var(--color-hairline); }
.archive-item:first-child { border-top: 1px solid var(--color-hairline); }
.archive-item > * + * { margin-block-start: var(--space-2); }
.archive-item h3 { font-size: var(--text-h3); }
.archive-meta { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); color: var(--color-secondary); font-size: var(--text-small); }
.archive-pagination { justify-content: space-between; margin-block-start: var(--space-5); }
.archive-pagination span { font-size: var(--text-small); }
.archive-section { border-top: 1px solid var(--color-hairline); padding-block-start: var(--space-5); }
.archive-form { display: grid; gap: var(--space-4); margin-block-start: var(--space-4); }
.archive-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; display: grid; gap: var(--space-4); }
.archive-form-pair { display: grid; gap: var(--space-4); }
.archive-admin-grid { display: grid; gap: var(--space-6); }
.archive-panel { min-width: 0; }
.archive-panel--editor { border-top: 1px solid var(--color-hairline); padding-block-start: var(--space-5); }
.archive-tabs { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-block: var(--space-4); }
.archive-tabs [aria-pressed="true"] { border-color: var(--color-accent); text-decoration: underline; }
.archive-viewer { width: 100%; height: 70vh; min-height: 320px; margin-block-start: var(--space-4); }
.archive-view-summary { white-space: pre-wrap; }
.archive-dialog { width: min(560px, calc(100% - 40px)); max-height: calc(100vh - 40px); padding: var(--space-5); border: 1px solid var(--color-accent); border-radius: 2px; color: var(--color-ink); background: var(--color-bg); font: inherit; }
.archive-dialog::backdrop { background: var(--color-bg); opacity: 0.85; }
.archive-dialog .archive-actions { margin-block-start: var(--space-4); }
.archive-dialog p { margin-block-start: var(--space-3); }
.archive-locked { max-width: 68ch; }
@media (min-width: 768px) { .archive-form-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .archive-admin-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; } .archive-panel--editor { border-top: 0; padding-block-start: 0; } }
