/* Admin is a data-entry surface, not a showcase: plain tables, generous hit
   targets, no decoration. Styling lives here because the CSP forbids <style>
   blocks and style="" attributes. */

.admin-nav { display: flex; gap: 1rem; margin: .25rem 0 1.25rem;
             font-size: .9rem; }
.admin-error { color: #a4262c; font-weight: 600; }
.admin-login { display: flex; flex-direction: column; gap: .5rem;
               max-width: 22rem; }
.admin-login input, .admin-form input[type="text"], .admin-form textarea {
  padding: .5rem; font: inherit; width: 100%; }
.admin-login button, .admin-form button { min-height: 44px; padding: 0 1.1rem;
                                          align-self: start; }

.admin-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.admin-table th, .admin-table td { text-align: left; padding: .5rem .6rem;
                                   border-bottom: 1px solid #eef1f4;
                                   vertical-align: top; }
.admin-table th { font-size: .8rem; text-transform: uppercase;
                  letter-spacing: .05em; color: #7a8492; }
/* Untagged series sort to the top; the tint says why they are there. */
.admin-table tr.is-untagged td { background: #fffaf0; }
.admin-table tr.is-rejected td { background: #fdf3f3; }
.admin-flag { font-size: .72rem; text-transform: uppercase;
              letter-spacing: .05em; color: #7a8492; margin-left: .4rem; }

.admin-form { display: flex; flex-direction: column; gap: .5rem;
              max-width: 44rem; }
.admin-form label { font-size: .875rem; font-weight: 600; }
.admin-flags, .admin-categories { border: 1px solid #dfe4ea; padding: .75rem;
                                  display: flex; flex-wrap: wrap; gap: .75rem; }
.admin-flags label, .admin-categories label { font-weight: 400;
                                              display: flex; gap: .35rem;
                                              align-items: center; }
.admin-linked { margin-top: 2rem; padding-top: 1rem;
                border-top: 1px solid #dfe4ea; }

.dup { border: 1px solid #dfe4ea; padding: .9rem; margin: .9rem 0; }
.dup--auto { opacity: .85; }
.dup__pair { display: flex; flex-wrap: wrap; gap: 1.5rem; margin: .5rem 0 .8rem; }
.dup__side { flex: 1 1 16rem; }
.dup__meta { margin: .15rem 0 0; color: #5a6472; font-size: .88rem; }
.dup__score { margin: 0; font-size: .85rem; color: #5a6472; }
.dup__components { color: #98a1ad; }
.dup__conflicts { margin: .3rem 0 0; color: #a4262c; font-weight: 600;
                  font-size: .88rem; }
.dup form { display: flex; flex-wrap: wrap; gap: .5rem; }
.dup button { min-height: 44px; padding: 0 .9rem; }
.intake-last { font-weight: 600; }

[hidden] { display: none !important; }
