body { font-family: system-ui, sans-serif; max-width: 30rem; margin: 0 auto; padding: 1rem; line-height: 1.5; } header { display: flex; justify-content: space-between; font-size: .85rem; color: #555; margin-bottom: 1rem; } h2 { margin-top: 1.5rem; } label { display: block; margin: 1rem 0 .25rem; font-weight: 600; } input, select { font-size: 1.1rem; width: 100%; padding: .6rem; box-sizing: border-box; } a { color: #1a73e8; } small { color: #555; } /* Footnote under the file picker: which model auto-fills the form. */ .footnote { font-size: .8rem; color: #555; margin: .4rem 0 0; } .footnote code { background: #eee; padding: .05rem .3rem; border-radius: .25rem; } .footnote .err-inline { color: #a50e0e; } /* Skip-AI / "add anyway" inline checkboxes. */ label.check { display: flex; align-items: center; gap: .4rem; font-weight: 400; font-size: .9rem; margin: .5rem 0 0; } label.check input { width: auto; } /* Possible-duplicate warning panel. */ .dup-warn { background: #fef7e0; border: 1px solid #f0c000; color: #7a5a00; padding: .6rem; border-radius: .4rem; margin: 1rem 0; font-size: .9rem; } .dup-warn ul { margin: .4rem 0; padding-left: 1.1rem; } .dup-warn label.check { color: #7a5a00; font-weight: 600; } button.primary:disabled { background: #9aa0a6; } /* Tally matrix. */ .tally-wrap { overflow-x: auto; } table.tally { border-collapse: collapse; width: 100%; font-size: .95rem; } table.tally th, table.tally td { padding: .4rem .6rem; border-bottom: 1px solid #eee; } table.tally .num { text-align: right; font-variant-numeric: tabular-nums; } table.tally thead th { border-bottom: 2px solid #ccc; } table.tally tbody th { text-align: left; font-weight: 600; } table.tally .total { font-weight: 600; } table.tally tfoot { border-top: 2px solid #ccc; } table.tally tfoot th, table.tally tfoot td { font-weight: 700; } table.tally .grand { color: #137333; } table.tally .muted { color: #bbb; } /* Recent lists + tabs + pager. */ p.tabs a.active { font-weight: 700; text-decoration: none; color: #137333; } ul.recent { list-style: none; padding: 0; } ul.recent li { padding: .35rem 0; border-bottom: 1px solid #eee; font-size: .92rem; } ul.recent .amt { font-weight: 600; } ul.recent .meta { color: #333; } ul.recent .atts { margin-left: .15rem; } ul.recent .atts a { text-decoration: none; } ul.recent .when { color: #999; font-size: .8rem; margin-left: .35rem; white-space: nowrap; } p.pager { margin-top: 1rem; } .err { background: #fce8e6; color: #a50e0e; padding: .6rem; border-radius: .4rem; margin: .5rem 0; } .ok { color: #137333; font-weight: 600; font-size: 1.3rem; } /* Full-width primary submit button (upload form). */ button.primary { font-size: 1.1rem; width: 100%; padding: .6rem; margin-top: 1.5rem; background: #137333; color: #fff; border: 0; border-radius: .4rem; font-weight: 600; } /* Links styled as buttons. */ a.button { display: block; text-align: center; color: #fff; padding: .7rem; border-radius: .4rem; text-decoration: none; margin: .75rem 0; } a.button.green { background: #137333; } a.button.blue { background: #1a73e8; } /* Tag picker: trigger button, summary, chip mosaic, and the modal it opens. */ button.tags-btn { font-size: 1rem; padding: .5rem .8rem; border: 1px solid #1a73e8; background: #fff; color: #1a73e8; border-radius: .4rem; } .tags-summary { margin-left: .5rem; font-size: .9rem; color: #555; } #tags-hidden { display: none; } .modal { position: fixed; inset: 0; z-index: 10; background: rgba(0, 0, 0, .45); display: flex; align-items: center; justify-content: center; padding: 1rem; } .modal[hidden] { display: none; } .modal-card { background: #fff; border-radius: .5rem; padding: 1rem; width: 100%; max-width: 26rem; max-height: 80vh; overflow-y: auto; } .modal-card h2 { margin-top: 0; } .chips { display: flex; flex-wrap: wrap; gap: .4rem; margin: .5rem 0 1rem; } .chip { padding: .35rem .7rem; border: 1px solid #ccc; border-radius: 1rem; background: #f1f3f4; color: #333; font-size: .9rem; cursor: pointer; } .chip.sel { background: #137333; border-color: #137333; color: #fff; } .newtag { display: flex; gap: .4rem; margin-bottom: 1rem; } .newtag input { flex: 1; } /* Tag chips shown read-only in the recent list. */ ul.recent .tags { margin-left: .15rem; } ul.recent .tag { display: inline-block; font-size: .72rem; background: #e8f0fe; color: #1a56c4; border-radius: .8rem; padding: .02rem .4rem; margin-left: .2rem; } /* Inline rename/add rows on the manage page. */ form.row { display: flex; gap: .4rem; margin: .3rem 0; } form.row input { flex: 1; padding: .4rem; } form.row button { padding: .4rem .7rem; } .add input { border: 1px solid #137333; } form.row button.danger { background: #fce8e6; border: 1px solid #d93025; color: #a50e0e; } /* AI tab: read-only prompt + miss-review table. */ pre.prompt { white-space: pre-wrap; word-break: break-word; background: #f1f3f4; padding: .6rem; border-radius: .4rem; font-size: .78rem; max-height: 28rem; overflow-y: auto; } table.tally tr.miss th, table.tally tr.miss td { background: #fef7e0; }