/* Reference: KakaoTalk drawer — chat room, type tabs, newest first, search.
   Keep the existing DAESIN palette and use readable labels instead of icon-only actions. */
.consumer-archive { max-width: 720px; margin: 0 auto; min-height: 100dvh; background: #fff; color: #1d1b20; font-size: 17px; padding-bottom: env(safe-area-inset-bottom, 16px); }
.archive-header { display: flex; align-items: center; gap: 16px; padding: 12px 16px; border-bottom: 1px solid #e5e7eb; }
.archive-header h1 { font-size: 22px; font-weight: 700; margin: 0; }
.consumer-archive a, .consumer-archive button, .consumer-archive input, .consumer-archive select { min-height: 48px; }
.archive-back { display: inline-flex; align-items: center; gap: 6px; font-size: 17px; text-decoration: none; color: inherit; }
.archive-intro { padding: 16px 16px 4px; font-size: 16px; color: #4b5563; line-height: 1.6; }
.archive-search { padding: 12px 16px; }
.archive-search label { display: block; margin-bottom: 8px; font-weight: 600; }
.archive-search-row { display: flex; gap: 8px; }
.archive-search input[type=search] { flex: 1; min-width: 0; width: 100%; border: 1px solid #9ca3af; border-radius: 8px; padding: 10px 12px; font-size: 17px; background: #f9fafb; }
.archive-search button, .archive-more { border: 1px solid #1e40af; background: #1e40af; color: white; border-radius: 8px; padding: 10px 16px; font-size: 17px; font-weight: 600; }
.archive-period { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; }
.archive-period label { margin: 0; white-space: nowrap; font-size: 16px; }
.archive-period select { min-width: 0; flex: 1; font-size: 17px; padding: 8px; border: 1px solid #9ca3af; border-radius: 8px; }
.archive-tabs { display: flex; border-bottom: 1px solid #d1d5db; padding: 0 8px; }
.archive-tabs a { flex: 1; display: flex; align-items: center; justify-content: center; padding: 8px 4px; font-size: 16px; color: #4b5563; text-decoration: none; border-bottom: 3px solid transparent; }
.archive-tabs a[aria-current=page] { font-weight: 700; color: #1d1b20; border-bottom-color: #1d1b20; }
.archive-room { margin: 0; padding: 14px 16px 8px; font-size: 17px; font-weight: 700; background: #f9fafb; }
.archive-room a { color: inherit; display: flex; align-items: center; text-decoration: none; }
.archive-item { padding: 16px; border-bottom: 1px solid #e5e7eb; }
.archive-open { width: 100%; display: flex; align-items: center; gap: 14px; border: 0; background: transparent; text-align: left; cursor: pointer; color: inherit; }
.archive-file-icon { flex: 0 0 52px; width: 52px; height: 56px; border: 1px solid #d1d5db; background: #f3f4f6; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 700; overflow: hidden; }
.archive-file-icon img { width: 100%; height: 100%; object-fit: cover; }
.archive-name { display: block; font-size: 18px; font-weight: 600; overflow-wrap: anywhere; line-height: 1.5; }
.archive-meta { display: block; color: #4b5563; font-size: 15px; margin-top: 4px; line-height: 1.5; }
.archive-linked { color: #374151; font-size: 15px; margin: 12px 0 0 66px; line-height: 1.6; }
.archive-warning { color: #b91c1c; }
.archive-empty { padding: 32px 20px; font-size: 18px; line-height: 1.7; text-align: center; }
.archive-more { display: flex; align-items: center; justify-content: center; text-decoration: none; margin: 20px 16px; }
.archive-status { padding: 0 16px; font-size: 16px; color: #b91c1c; }
.consumer-archive :focus-visible { outline: 3px solid #1e40af; outline-offset: 3px; }
.consumer-archive-link { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; min-height: 48px; padding: 8px; font-size: 17px; font-weight: 600; color: #1d1b20; }
.archive-viewer button { min-width: 48px; min-height: 48px; font-size: 17px; }
.archive-viewer p { font-size: 17px; }
