:root { --bg:#f8fafc; --fg:#111827; --mut:#6b7280; --line:#e5e7eb; --card:#fff; --acc:#2563eb; --ok:#059669; --warn:#b45309; --side:#1f2937; --sidefg:#e5e7eb; --row:34px; }
@media (prefers-color-scheme: dark) { :root { --bg:#0b1220; --fg:#e5e7eb; --mut:#9ca3af; --line:#1f2a3c; --card:#111a2b; --acc:#60a5fa; --side:#0f172a; } }
* { box-sizing: border-box; }
html, body { margin:0; height:100%; background:var(--bg); color:var(--fg); font:15px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.hidden { display:none !important; }
button { font:inherit; border:1px solid var(--line); background:var(--card); color:var(--fg); border-radius:6px; padding:6px 12px; cursor:pointer; }
button.pri { background:var(--acc); color:#fff; border-color:var(--acc); }
button.mini { padding:0 7px; font-size:13px; line-height:20px; }
input, select, textarea { font:inherit; color:var(--fg); background:var(--card); border:1px solid var(--line); border-radius:6px; padding:6px 8px; }
textarea { width:100%; min-height:120px; resize:vertical; }
a { color:var(--acc); }
.login { display:flex; align-items:center; justify-content:center; height:100%; }
.login form { display:flex; flex-direction:column; gap:10px; width:min(320px, 90vw); }
.shell { display:grid; grid-template-columns: 230px 1fr; height:100%; }
.side { background:var(--side); color:var(--sidefg); padding:12px 8px; overflow:auto; display:flex; flex-direction:column; gap:1px; }
.side a { color:var(--sidefg); text-decoration:none; padding:5px 10px; border-radius:6px; display:flex; justify-content:space-between; }
.side a.on, .side a:hover { background:#374151; }
.brand { font-weight:700; padding:4px 10px 10px; letter-spacing:.5px; }
.side-h { margin-top:14px; padding:4px 10px; color:#9ca3af; font-size:12px; text-transform:uppercase; display:flex; justify-content:space-between; }
.side-foot { margin-top:auto; padding-top:14px; font-size:13px; }
.count { color:#9ca3af; font-size:12px; }
.side .count.overdue { background:#dc2626; color:#fff; border-radius:9px; padding:0 6px; font-weight:600; }
.side .count.overdue:empty { display:none; }
main { overflow:auto; padding:0 20px 90px; }
.capture { position:sticky; top:0; z-index:5; display:flex; gap:8px; padding:12px 0; background:var(--bg); }
.capture input { flex:1; padding:9px 12px; font-size:16px; }
h2 { margin:6px 0 12px; font-size:20px; }
.toolbar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:12px; }
.chip { border:1px solid var(--line); border-radius:999px; padding:3px 11px; background:var(--card); cursor:pointer; font-size:14px; }
.chip.on { background:var(--acc); color:#fff; border-color:var(--acc); }
.list { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:8px; background:var(--card); }
.it { display:flex; gap:10px; align-items:flex-start; padding:9px 12px; border-top:1px solid var(--line); }
.it:first-child { border-top:0; }
.it .t { flex:1; cursor:pointer; }
.it .meta { color:var(--mut); font-size:13px; }
.it input[type=checkbox] { margin-top:4px; width:18px; height:18px; }
.empty { color:var(--mut); padding:24px; text-align:center; }
.tag { display:inline-block; font-size:12px; border-radius:4px; padding:0 6px; margin-right:4px; background:#e0e7ff; color:#3730a3; }
.tag.st { background:#dcfce7; color:#166534; }
.tag.warn { background:#fef3c7; color:#92400e; }
@media (prefers-color-scheme: dark) { .tag { background:#1e293b; color:#c7d2fe; } .tag.st { background:#052e1b; color:#86efac; } .tag.warn { background:#3b2a07; color:#fcd34d; } }
.clarify { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:18px; max-width:720px; }
.clarify .title { font-size:20px; width:100%; margin-bottom:10px; }
.keys { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.keys button kbd { font-size:11px; color:var(--mut); margin-left:6px; }
.hint { color:var(--warn); font-size:13px; }
.grid2 { display:grid; grid-template-columns: 140px 1fr; gap:8px 12px; align-items:center; }
/* table */
.tbl-wrap { border:1px solid var(--line); border-radius:8px; background:var(--card); overflow:auto; height:calc(100vh - 210px); position:relative; }
.tbl { display:grid; min-width:1100px; }
.tr { display:grid; grid-template-columns: 2.4fr .9fr 1fr 1.3fr .9fr .9fr 1fr .8fr .6fr .6fr .9fr; height:var(--row); border-bottom:1px solid var(--line); }
.tr > div { padding:6px 8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.th { position:sticky; top:0; background:var(--card); z-index:2; font-weight:600; font-size:13px; cursor:pointer; user-select:none; }
.tg { font-weight:600; background:var(--bg); padding:6px 8px; height:var(--row); border-bottom:1px solid var(--line); }
.cell-edit { width:100%; padding:2px 4px; }
/* board */
.board { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(220px,1fr); gap:10px; overflow:auto; }
.col { background:var(--card); border:1px solid var(--line); border-radius:8px; padding:8px; min-height:200px; }
.col.over { outline:2px dashed var(--acc); }
.col h3 { margin:2px 4px 8px; font-size:14px; text-transform:capitalize; }
.card { background:var(--bg); border:1px solid var(--line); border-radius:6px; padding:7px 9px; margin-bottom:6px; cursor:grab; font-size:14px; }
/* outline */
.ol { max-width:860px; }
.ol-row { display:flex; align-items:center; min-height:30px; }
.ol-row .bul { width:22px; text-align:center; cursor:pointer; color:var(--mut); user-select:none; flex:none; }
.ol-row .bul.has { color:var(--fg); font-weight:700; }
.ol-row input { flex:1; border:0; background:transparent; padding:4px 2px; border-radius:4px; }
.ol-row input:focus { outline:none; background:var(--card); box-shadow:0 0 0 1px var(--line); }
.crumbs { color:var(--mut); margin-bottom:8px; font-size:14px; }
.crumbs a { cursor:pointer; }
.suggest { position:absolute; z-index:20; background:var(--card); border:1px solid var(--line); border-radius:6px; box-shadow:0 6px 24px rgba(0,0,0,.15); min-width:180px; }
.suggest div { padding:5px 10px; cursor:pointer; }
.suggest div.on { background:var(--acc); color:#fff; }
.help { color:var(--mut); font-size:13px; margin-top:14px; }
/* GTD-26: the item popup. Wide screens: a centred window, never taller than the browser. Narrow screens:
   a full-screen sheet that follows the visual viewport (so both bars stay above the phone keyboard).
   Fixed top bar (Close, Prev, Next, n of N) and bottom bar (Duplicate, Delete, Save / Add); only the
   fields scroll. */
.panel { position:fixed; left:0; right:0; top:var(--vvtop, 0px); height:var(--vvh, 100vh); z-index:60; background:rgba(15,23,42,.45);
  display:flex; align-items:center; justify-content:center; padding:24px; }
.pop { background:var(--card); color:var(--fg); width:min(760px, 100%); max-height:100%; display:flex; flex-direction:column; border-radius:12px;
  box-shadow:0 20px 60px rgba(0,0,0,.35); overflow:hidden; outline:none; }
.pop-top, .pop-bot { flex:none; display:flex; flex-wrap:nowrap; gap:8px; align-items:center; padding:10px 14px; background:var(--card); }
.pop-top { border-bottom:1px solid var(--line); }
.pop-bot { border-top:1px solid var(--line); padding-bottom:calc(10px + env(safe-area-inset-bottom)); }
.pop-body { flex:1 1 auto; min-height:0; overflow:auto; padding:14px 16px; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
.pop-spacer { flex:1; }
.pop-pos { color:var(--mut); font-size:13px; white-space:nowrap; min-width:56px; text-align:center; }
.pop-top button, .pop-bot button { white-space:nowrap; }
.pop-state { font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pop-note { background:#eff6ff; color:#1e3a8a; border-radius:6px; padding:8px 10px; margin:0 0 10px; font-size:14px; }
.pop-note.processed { background:#fef3c7; color:#92400e; }
.pop-note.conflict { background:#fee2e2; color:#991b1b; }
.pop-note.prefill { background:#dcfce7; color:#166534; }
@media (prefers-color-scheme: dark) { .pop-note { background:#172554; color:#bfdbfe; } .pop-note.processed { background:#3b2a07; color:#fcd34d; } .pop-note.conflict { background:#450a0a; color:#fecaca; } .pop-note.prefill { background:#052e1b; color:#86efac; } }
.pop-msg:empty { display:none; }
.panel .row { margin-bottom:10px; }
.panel .row.needed label { color:var(--warn); font-weight:600; }
.panel .row.needed label::after { content:' (needed)'; }
.panel label { display:block; font-size:12px; color:var(--mut); margin-bottom:2px; }
.panel .pop-body input, .panel .pop-body select, .panel .pop-body textarea { width:100%; }
.panel .pop-body .actions input, .panel .pop-body .actions select { width:auto; flex:1; min-width:140px; }
.panel [data-f].dirty { border-color:var(--warn); }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; margin:-1px; padding:0; border:0; }
body.pop-open .toast { z-index:70; bottom:96px; }
.toast { z-index:70; }
.flash { outline:2px solid var(--acc); outline-offset:-2px; }
/* GTD-28: capture box with "Add with details" and the pre-fill hint */
.capture { flex-wrap:wrap; }
.capture-hint { flex-basis:100%; color:var(--ok); font-size:13px; margin-top:-4px; }
.phone-only { display:none; }
.palette { position:fixed; top:12vh; left:50%; transform:translateX(-50%); width:min(520px, 92vw); background:var(--card); border:1px solid var(--line); border-radius:10px; box-shadow:0 10px 40px rgba(0,0,0,.25); z-index:40; padding:8px; }
.palette input { width:100%; font-size:16px; }
.palette div div { padding:6px 10px; cursor:pointer; border-radius:6px; }
.palette div div.on { background:var(--acc); color:#fff; }
.toast { position:fixed; bottom:80px; left:50%; transform:translateX(-50%); background:#111827; color:#fff; padding:8px 14px; border-radius:8px; z-index:50;
  display:flex; flex-wrap:wrap; align-items:center; gap:10px; max-width:calc(100vw - 24px); }
.toast .toast-act { background:transparent; color:#93c5fd; border-color:#4b5563; min-height:36px; font-weight:600; }
.review li { margin-bottom:14px; }
.review li > label { font-weight:600; }
.tabs { display:none; }
.more a { display:block; padding:12px; border-bottom:1px solid var(--line); text-decoration:none; color:var(--fg); }
@media (max-width: 760px) {
  .shell { grid-template-columns: 1fr; }
  .side { display:none; }
  main { padding:0 12px calc(80px + env(safe-area-inset-bottom)); }
  .tabs { display:grid; grid-template-columns: repeat(5,1fr); position:fixed; bottom:0; left:0; right:0; background:var(--side); padding-bottom:env(safe-area-inset-bottom); z-index:25; }
  .tabs a { color:var(--sidefg); text-align:center; padding:14px 0; text-decoration:none; font-size:14px; }
  .tabs a.on { color:#fff; background:#374151; }
  .it { padding:12px; }
  .grid2 { grid-template-columns: 1fr; }
  .keys button { padding:10px 14px; }
  .tbl-wrap { height:calc(100vh - 260px); }
}
@media (max-width: 760px) { .pc-only { display:none; } .phone-only { display:inline; }
  .panel { padding:0; align-items:stretch; }
  .pop { width:100%; height:100%; max-height:none; border-radius:0; }
  .pop-top, .pop-bot { padding:6px 8px; gap:6px; }
  .pop-bot { padding-bottom:calc(6px + env(safe-area-inset-bottom)); }
  .pop-top button, .pop-bot button { min-height:44px; padding:6px 10px; }
  .pop-body { padding:12px; }
  .pop-state { display:none; }
  body.pop-open .toast { bottom:72px; }
}
/* ---- v2 additions ---- */
.acct { display:block; font-weight:400; font-size:12px; color:#9ca3af; letter-spacing:0; }
.who { color:#9ca3af; font-size:12px; padding:4px 10px 8px; }
.support { background:#7c2d12; color:#fff; font-size:12px; padding:6px 10px; border-radius:6px; margin:0 4px 8px; }
.tag.red, .overdue { background:#fee2e2; color:#991b1b; }
.it.overdue-row .t > div:first-child { color:#b91c1c; font-weight:600; }
.tag.asg { background:#fef9c3; color:#854d0e; }
.tag.bot { background:#ede9fe; color:#5b21b6; }
.tag.appr { background:#ffedd5; color:#9a3412; }
@media (prefers-color-scheme: dark) { .tag.red { background:#450a0a; color:#fecaca; } .tag.asg { background:#3a2e05; color:#fde68a; } .tag.bot { background:#2e1065; color:#ddd6fe; } .tag.appr { background:#431407; color:#fed7aa; } }
.actions { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0; }
.box { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:14px; margin-bottom:14px; }
.box h3 { margin:0 0 8px; font-size:15px; }
.tabsel { display:flex; gap:6px; margin-bottom:12px; }
table.grid { border-collapse:collapse; width:100%; background:var(--card); border:1px solid var(--line); border-radius:8px; font-size:14px; }
table.grid th, table.grid td { text-align:left; padding:6px 8px; border-bottom:1px solid var(--line); vertical-align:top; }
table.grid th { font-size:12px; color:var(--mut); font-weight:600; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size:12px; word-break:break-all; }
.secret { background:#fef3c7; color:#92400e; padding:8px; border-radius:6px; }
.form-row { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:6px 0; }
.form-row label { font-size:13px; color:var(--mut); }
.out { border-left:3px solid #8b5cf6; padding:4px 10px; margin:8px 0; }
.out pre { white-space:pre-wrap; margin:4px 0 0; font:13px/1.4 ui-monospace, monospace; max-height:240px; overflow:auto; }
.hist { font-size:13px; color:var(--mut); }
.hist div { padding:2px 0; }
.readonly-note { color:var(--mut); font-size:13px; margin:0 0 10px; }
.seats { font-size:14px; }
.seats b { font-size:18px; }
@media (max-width: 760px) { table.grid { font-size:13px; } .hide-phone { display:none; } }
/* v2 additions: role-based visibility, table columns, scrollable admin tables */
body:not(.p-write) .need-write, body:not(.p-manage) .need-manage, body:not(.p-admin) .need-admin,
body:not(.p-super) .need-super, body:not(.p-export-account) .need-export-account, body:not(.p-bin) .need-bin, body:not(.p-contexts) .need-contexts, body:not(.p-settings) .need-settings { display:none !important; }
.tr { grid-template-columns: 2.4fr .8fr 1fr 1.2fr 1fr .9fr .9fr 1fr .8fr .6fr .9fr; }
.tbl-scroll { overflow-x:auto; }
.panel label > input, .panel label > select, .panel label > textarea { margin-top:2px; color:var(--fg, inherit); font-size:15px; }
.form-row label { font-size:14px; }
.support a { color:#fff; }
/* Inbox list + clarify one by one (2026-10-13) */
.inbox-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.inbox-head h2 { margin:0; }
.inbox-head .count { color:var(--mut); font-weight:normal; }
.clarify-start.big { font-size:16px; padding:10px 18px; }
.inbox-row { cursor:pointer; }
.inbox-row:hover, .inbox-row:focus { background:rgba(37,99,235,.06); outline:none; }
.notes-preview { color:var(--mut); font-size:13px; margin-top:2px; overflow-wrap:anywhere; }
.clarify-nav { margin:4px 0 0; }
/* GTD-7: back / previous / next at the top of the clarify view. */
.clarify-topnav { display:flex; align-items:center; gap:8px; max-width:720px; margin:0 0 8px; }
.clarify-topnav .nav-back { font-weight:600; }
.clarify-topnav .nav-pos { flex:1; text-align:center; color:var(--mut); font-size:13px; }
.clarify-topnav button:disabled { opacity:.4; }
@media (max-width: 700px) { .clarify-topnav { position:sticky; top:0; z-index:5; background:var(--bg); padding:6px 0; } .clarify-topnav button { min-height:44px; min-width:64px; } }
@media (max-width: 700px) { .inbox-head .clarify-start { width:100%; } .clarify-nav button { flex:1; min-height:44px; } .inbox-row { padding:12px; } }
/* Admin: Bin (GTD-13) */
.bin-row { align-items:center; }
.bin-row .t { cursor:default; }
.bin-row .tt { overflow-wrap:anywhere; }
.bin-row button { flex:none; }
@media (max-width: 760px) { .bin-row { flex-wrap:wrap; } .bin-row .t { flex-basis:100%; } .bin-row button { min-height:44px; width:100%; } }
.app-version { color:var(--mut); font-size:12px; margin:10px 0 0; }
.side .app-version { color:#9ca3af; padding-top:0; }

/* GTD-14 Admin: Users */
.user-cards { display:grid; grid-template-columns:repeat(auto-fill, minmax(320px, 1fr)); gap:12px; margin-bottom:12px; }
.user-card .user-head { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:8px; }
.user-card .perms summary { cursor:pointer; margin:8px 0 4px; }
.perm-list { display:flex; flex-direction:column; gap:4px; }
.perm-list .perm { display:flex; align-items:center; gap:6px; font-size:14px; }
.perm-list .perm.by-role { color:var(--mut); }
@media (max-width: 700px) { .user-cards { grid-template-columns:1fr; } .perm-list .perm { min-height:36px; } .user-card select { min-height:40px; } }

/* GTD-16 contexts */
.ctx-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.ctx-row .ctx-name { flex:1 1 140px; min-width:0; font-weight:600; }
.ctx-row.ctx-hidden .ctx-name { opacity:.55; }
.ctx-row .ctx-actions { display:flex; gap:6px; }
.ctx-chips { display:flex; flex-wrap:wrap; gap:6px; margin:4px 0 6px; grid-column:1 / -1; }
.ctx-chip { font-size:13px; padding:4px 10px; border-radius:14px; }
.ctx-chip.on { background:var(--acc); color:#fff; border-color:var(--acc); }
@media (max-width: 700px) { .ctx-row .ctx-actions button { min-width:44px; min-height:44px; } .ctx-row .ctx-name { min-height:40px; font-size:16px; } .ctx-chip { min-height:36px; } }
/* GTD-17: small autosave indicator in the clarify view. One fixed-height line, so its text changing never
   moves the buttons under a finger or the mouse. */
.save-state { display:block; height:18px; line-height:18px; font-size:12px; color:var(--mut); text-align:right; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.save-state[data-state=failed] { color:#b91c1c; font-weight:600; }
/* GTD-18: "List | One by one" switch at the top of the Inbox (44px tap targets; full width on phones). */
.inbox-mode { display:inline-flex; border:1px solid var(--line); border-radius:8px; overflow:hidden; margin:0 0 10px; background:var(--card); }
.inbox-mode .seg { border:0; border-radius:0; min-height:40px; padding:8px 18px; font-weight:600; color:var(--mut); background:transparent; }
.inbox-mode .seg + .seg { border-left:1px solid var(--line); }
.inbox-mode .seg.on { background:var(--acc); color:#fff; cursor:default; }
@media (max-width: 700px) { .inbox-mode { display:flex; width:100%; max-width:720px; } .inbox-mode .seg { flex:1; min-height:44px; } }
.inbox-row.flash { animation:gtd-flash 2.5s ease-out; }
@keyframes gtd-flash { 0%, 40% { background:rgba(250,204,21,.45); } 100% { background:transparent; } }
/* GTD-19: slim system bar at the top of every screen (system name + version). Fixed, so it is there on
   every view, phone and PC; the page and the item panel start below it. Red on TEST. */
:root { --sysbar-h:0px; }
html:has(#sysbar:not(.hidden)), html.sysbar-on { --sysbar-h:22px; }
body { box-sizing:border-box; padding-top:var(--sysbar-h); }
.sysbar { position:fixed; top:0; left:0; right:0; height:22px; line-height:22px; z-index:60; background:#374151; color:#fff; font:600 12px/22px system-ui, sans-serif;
  text-align:center; padding:0 8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; letter-spacing:.02em; pointer-events:none; }
.sysbar.test { background:#dc2626; }
.sysbar.dev { background:#7c3aed; } /* DEV: purple, never mistaken for TEST red or production */
.swatches { display:inline-flex; flex-wrap:wrap; gap:4px; }
.swatch { min-width:34px; height:28px; padding:0 6px; border:2px solid transparent; border-radius:6px; font:600 12px system-ui, sans-serif; cursor:pointer; }
.swatch[aria-pressed=true] { border-color:#111827; box-shadow:0 0 0 2px #fff inset; }
.panel { top:var(--sysbar-h); }
.names .form-row input { min-width:min(320px, 70vw); }

/* GTD-20: Inbox list, tasks waiting for my Accept or Decline */
.pending-group { margin:0 0 14px; }
.pending-group > h3 { margin:0 0 8px; font-size:15px; }
.pending-group .assign-card { margin:0 0 8px; padding:10px 12px; }
.pending-group .assign-card h3 { margin:0 0 2px; font-size:15px; }
.pending-group .assign-card .actions { margin-top:6px; }
/* GTD-30: Change history. PC: a table with every column; phone: each change is a stacked card. */
.hist-filters { flex-wrap:wrap; gap:8px; align-items:center; }
.hist-filters .hf { font-size:13px; color:var(--mut); }
.hist-filters input[type=search] { min-width:min(260px, 100%); }
table.history { font-size:13px; }
table.history td { word-break:break-word; }
table.history .rec-id { font-size:11px; color:var(--mut); max-width:12ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
table.history .chg-f, table.history .chg-v { min-height:1.4em; }
table.history .chg-v .old { color:#991b1b; text-decoration:line-through; text-decoration-color:rgba(153,27,27,.35); }
table.history .chg-v .new { color:#166534; }
table.history .undo-why { font-size:11px; max-width:18ch; }
.tag.verb-create { background:#dcfce7; color:#166534; } .tag.verb-update { background:#dbeafe; color:#1e40af; }
.tag.verb-delete { background:#fee2e2; color:#991b1b; } .tag.verb-restore { background:#fef9c3; color:#854d0e; }
.tag.verb-undo { background:#ede9fe; color:#5b21b6; } .tag.verb-other { background:#f3f4f6; color:#374151; }
@media (max-width: 760px) {
  table.history, table.history tbody, table.history tr, table.history td { display:block; width:auto; }
  table.history thead { display:none; }
  table.history { border:0; background:transparent; }
  table.history tr { background:var(--card); border:1px solid var(--line); border-radius:10px; margin:0 0 10px; padding:6px 10px; }
  table.history td { border:0; padding:3px 0; display:grid; grid-template-columns:7.5em 1fr; gap:8px; }
  table.history td::before { content:attr(data-label); font-size:11px; color:var(--mut); font-weight:600; padding-top:2px; }
  table.history td > * { grid-column:2; }
  table.history .rec-id { max-width:none; white-space:normal; }
  table.history .undo-why { max-width:none; }
}
@media (prefers-color-scheme: dark) { .tag.verb-create { background:#052e1b; color:#86efac; } .tag.verb-update { background:#172554; color:#bfdbfe; } .tag.verb-delete { background:#450a0a; color:#fecaca; } .tag.verb-restore { background:#3b2a07; color:#fcd34d; } .tag.verb-undo { background:#2e1065; color:#ddd6fe; } table.history .chg-v .old { color:#fca5a5; } table.history .chg-v .new { color:#86efac; } }
.hist-chips { display:flex; flex-wrap:wrap; gap:6px; margin:4px 0 6px; }
.hist-chips .hist-chip { font-size:13px; }
.hist-chips .hist-clear { font-size:13px; }
.hist-meta { justify-content:space-between; align-items:center; }
@media (max-width: 760px) {
  .hist-filters .hf { flex:1 1 45%; display:flex; flex-direction:column; gap:2px; }
  .hist-filters .hf select, .hist-filters .hf input, .hist-filters input[type=search] { width:100%; min-height:40px; }
  .hist-filters input[type=search] { flex:1 1 100%; }
  .hist-chips .hist-chip, .hist-chips .hist-clear { min-height:36px; }
}
table.history td[data-label="ID"] { white-space:nowrap; }
.hist-filter-box > summary { cursor:pointer; font-weight:600; margin:4px 0; min-height:32px; display:flex; align-items:center; }
@media (max-width: 760px) { .hist-filter-box > summary { min-height:44px; } }
.hist-filter-box > summary { list-style:none; }
.hist-filter-box > summary::-webkit-details-marker { display:none; }
.hist-filter-box > summary::before { content:'\25B8'; margin-right:6px; }
.hist-filter-box[open] > summary::before { content:'\25BE'; }
