/* PAGE C03 Admin Transactions + PAGE C04 Add payments + PAGE C05 Vouchers (calm theme) — page-only styles on top of the shared fundd-table.css (branch admin-transactions-v1). */
.c03-page,.c03-modal,.c03-bulk,.c03-drawer,.ft-modal-bg{--g:#c3912e;--gd:#8a6418;--gb:#b8862a;--gs:#fbf5e8;--gl:#f0e2c2;--ink:#1c1f23;--ink2:#3d434b;--line:#e7e1d4;--in:#13804a;--out:#c62828;
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink)}
.c03-page *,.c03-modal *,.c03-bulk *,.c03-drawer *{box-sizing:border-box}
.c03-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0 0 16px}
.c03-head h1{font-size:28px;font-weight:800;margin:0;color:var(--ink);letter-spacing:-.01em}
.c03-head .c03-sub{font-size:15px;font-weight:500;color:var(--ink2);margin-top:2px}
#c03Actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.c03-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:44px;padding:0 16px;border-radius:12px;border:2px solid var(--g);background:#fff;color:var(--gd);font-weight:700;font-size:15px;cursor:pointer;white-space:nowrap;line-height:1;margin:0}
.c03-btn:hover{background:var(--gs)}.c03-btn:disabled{opacity:.5;cursor:default}
.c03-gold{background:var(--g);color:#fff}.c03-gold:hover{background:var(--gb)}
.c03-red{background:#c62828;border-color:#c62828;color:#fff}.c03-red:hover{background:#a91f1f}
.c03-mini{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 11px;border-radius:9px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font-weight:700;font-size:14px;cursor:pointer;white-space:nowrap}
.c03-mini:hover{border-color:var(--g);background:var(--gs)}.c03-mgold{border-color:var(--g);color:var(--gd)}
.c03-sp{flex:1}
.c03-hint{font-size:14px;font-weight:500;color:var(--ink2)}
.c03-p{font-size:15px;line-height:1.45;color:var(--ink2);margin:6px 0 10px}
.c03-page kbd{display:inline-block;border:1.5px solid #d8cfbc;border-bottom-width:2.5px;border-radius:6px;padding:0 6px;font-weight:700;font-size:13px;line-height:20px;font-family:inherit;background:#fff;color:var(--ink);box-shadow:none}
/* ---- 1. entry sheet ---- */
.c03-entry{border:2px solid var(--g);border-radius:14px;background:#fff;margin:0 0 14px;overflow:visible}
.c03-entry[hidden]{display:none}
.c03-entry-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:10px 14px;background:var(--gs);border-radius:12px 12px 0 0}
.c03-fold{border:0;background:none;font-weight:800;font-size:16px;color:var(--gd);cursor:pointer;padding:4px 0;display:inline-flex;gap:8px;align-items:center}
.c03-keys{font-size:14px;font-weight:500;color:var(--ink2)}
.c03-entry-scroll{overflow-x:auto;border-top:1px solid var(--line)}
.c03-sheet{width:100%;border-collapse:separate;border-spacing:0;font-size:15px}
.c03-sheet th{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--gd);text-align:left;padding:9px 6px 6px;border-bottom:2px solid var(--gl);white-space:nowrap}
.c03-sheet th.r{text-align:right}
.c03-sheet td{padding:7px 6px;vertical-align:middle;border-bottom:1px solid var(--line)}
.c03-in{width:100%;height:40px;border:1.5px solid #d8d1c2;border-radius:9px;padding:0 9px;font-weight:600;font-size:15px;line-height:1.2;font-family:inherit;color:var(--ink);background:#fff;min-width:0}
textarea.c03-in{height:auto;padding:8px 10px;line-height:1.4;resize:vertical}
.c03-in:focus{outline:0;border-color:var(--g);box-shadow:0 0 0 3px rgba(195,145,46,.2)}
.c03-in::placeholder{color:#7a7160;font-weight:500}
.c03-in.c03-bad{border-color:#c62828;box-shadow:0 0 0 3px rgba(198,40,40,.12);background:#fff8f8}
.c03-amt{text-align:right;font-variant-numeric:tabular-nums}
.c03-sheet td{overflow:visible}
.c03-feecell{white-space:nowrap}.c03-sw em{font-style:normal;font-weight:700;color:var(--ink2);font-variant-numeric:tabular-nums}
.c03-net{display:block;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--in);font-size:14.5px;margin-top:3px}
.c03-feebox .c03-net{display:inline;margin:0}
.c03-sw{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:700;color:var(--ink);cursor:pointer;margin:0;white-space:nowrap}
.c03-sw input{position:absolute;opacity:0;width:1px;height:1px}
.c03-sw span{width:36px;height:21px;border-radius:999px;background:#cfc8b9;position:relative;transition:background .15s;flex:none}
.c03-sw span:after{content:"";position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:#fff;transition:left .15s}
.c03-sw input:checked+span{background:var(--g)}.c03-sw input:checked+span:after{left:18px}
.c03-sw input:focus-visible+span{box-shadow:0 0 0 3px rgba(195,145,46,.35)}
.c03-ck{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:14.5px;margin:0;cursor:pointer;white-space:nowrap}
.c03-ck input{width:19px;height:19px;accent-color:var(--g);margin:0}
.c03-act{white-space:nowrap;text-align:right}.c03-staged .c03-act{white-space:normal}.c03-staged .c03-mini{height:30px;padding:0 8px;margin:2px 0}
.c03-add{height:40px;padding:0 10px;width:100%;border-radius:9px;border:2px solid var(--g);background:var(--g);color:#fff;font-weight:800;font-size:14.5px;cursor:pointer}
.c03-add:hover{background:var(--gb)}
.c03-x{margin-left:4px;font-size:18px;padding:0 9px}
.c03-sheet tr.c03-staged td{background:#fff7e0}
.c03-amtv{text-align:right;font-weight:800;font-variant-numeric:tabular-nums}
.c03-nofee{display:inline-block;font-size:12.5px;font-weight:700;color:#7a5200;background:#fff1cc;border-radius:6px;padding:1px 6px}
.c03-msg{font-size:14.5px;font-weight:700;color:#a61f1f;background:#fdeeee;border-radius:9px;padding:7px 11px}
.c03-msg.warn{color:#7a5200;background:#fff3d6}
.c03-entry-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;font-size:15px}
.c03-acwrap{position:relative}
.c03-ac{position:absolute;left:0;top:calc(100% + 4px);z-index:1080;background:#fff;border:1.5px solid var(--g);border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.16);min-width:260px;max-width:340px;overflow:hidden}
.c03-aci{padding:9px 12px;font-size:15px;font-weight:600;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.c03-aci b{display:inline-block;min-width:44px;color:var(--gd)}
.c03-aci.on,.c03-aci:hover{background:var(--gs)}
.c03-acct{display:flex;flex-direction:column;line-height:1.25}.c03-acct b{font-size:15px;font-variant-numeric:tabular-nums}.c03-acct span{font-size:13.5px;font-weight:600;color:var(--ink2);max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* gift aid sub-row */
.c03-gabox{border:1.5px dashed var(--g);border-radius:12px;padding:10px 12px;background:#fff}
.c03-gahead{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;margin-bottom:8px;font-size:15px}
.c03-found{font-size:14px;font-weight:700;color:#0f6a3c;background:#e2f4e9;border-radius:7px;padding:2px 8px}
.c03-gagrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.c03-gagrid>.c03-gaf:first-child{max-width:none}
.c03-gaf{display:flex;flex-direction:column;gap:4px;margin:0;min-width:0}
.c03-page .c03-gaf>span{font-size:13px;font-weight:800 !important;color:var(--gd);text-transform:uppercase;letter-spacing:.03em}
.c03-gaemail{margin-top:8px;max-width:360px}
.c03-gabox .c03-hint{margin-top:6px}
/* ---- C03 entry form (the "Add payments" draft row) ----
   Each field = its own label above its own input, so nothing overlaps or drifts at any width.
   Line 1: Account · Date · Donor. Line 2: Gateway · Ref · Amount · Fee · net · Gift Aid · Add.
   Very wide: both lines side by side. Laptop/tablet: two neat lines (fields wrap inside a line rather than squash).
   Phone (≤600px): one field per line. */
.c03-draft{display:flex;flex-wrap:wrap;gap:10px 14px;padding:12px 14px;background:#fffdf7;border-bottom:1px solid var(--line)}
.c03-l1,.c03-l2{display:flex;flex-wrap:wrap;gap:10px 10px;align-items:flex-start;min-width:0}
.c03-l1{flex:1 1 560px}.c03-l2{flex:3 1 880px}
.c03-fld{display:flex;flex-direction:column;min-width:0}
.c03-lab{display:block;font-size:13px;font-weight:800;color:var(--gd);text-transform:uppercase;letter-spacing:.03em;margin:0 0 4px;line-height:1.2;white-space:nowrap;cursor:default}
label.c03-lab{cursor:pointer}
.c03-f-acct{flex:1.2 1 190px}.c03-f-date{flex:0 1 170px;min-width:160px}.c03-f-name{flex:1.5 1 200px}
.c03-entry .c03-lab{font-weight:800 !important;color:var(--gd);font-size:13px}
.c03-f-gw{flex:1 1 160px}.c03-f-ref{flex:1 1 160px}.c03-f-amount{flex:0 1 130px;min-width:110px}
.c03-f-fee{flex:1.4 1 250px}.c03-f-ga{flex:0 0 auto}.c03-f-add{flex:.6 1 96px}
.c03-feebox{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:40px;padding:4px 10px;border:1.5px solid #e6dfcf;border-radius:9px;background:#fff}
.c03-feebox em{font-style:normal;font-weight:700;color:var(--ink2);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14.5px}
.c03-lab .c03-feepct{margin-left:10px;font-size:13.5px;line-height:1.2;text-transform:none;letter-spacing:0;vertical-align:baseline}
.c03-feepct{border:0;background:none;padding:0;font-size:14px;font-weight:700;color:var(--gd);text-decoration:underline;text-underline-offset:2px;cursor:pointer;white-space:nowrap}
.c03-procw{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:var(--ink2)}.c03-procw i{font-style:normal}
.c03-procw .c03-proc{width:64px;height:30px;padding:0 6px;font-size:14.5px;text-align:right}
.c03-gabtn{height:40px;padding:0 12px;border:1.5px solid #e6dfcf;border-radius:9px;background:#fff}
.c03-gabtn:has(input:checked){border-color:var(--g);background:var(--gs)}
.c03-msgrow{padding:8px 14px;background:#fffdf7;border-bottom:1px solid var(--line)}
.c03-garow{padding:0 14px 12px;background:#fffdf7;border-bottom:1px solid var(--line)}
.c03-draft+.c03-garow{margin-top:-1px;border-top:0}
.c03-stagedt th,.c03-stagedt td{white-space:normal}
.c03-stagedt th{white-space:nowrap}
@media (max-width:600px){
  .c03-draft{padding:12px}
  .c03-l1,.c03-l2{flex:1 1 100%}
  .c03-fld{flex:1 1 100%!important;min-width:0!important}
  .c03-f-ga{flex:0 0 auto!important}.c03-f-add{flex:1 1 0!important}.c03-f-add .c03-lab,.c03-f-ga .c03-lab{display:none}
  .c03-garow{padding:0 12px 12px}
}
/* staged (not yet saved) rows: a 9-column table only on wide screens; below that each one is a compact card */
@media (max-width:1199px){
  .c03-stagedt thead{display:none}
  .c03-stagedt,.c03-stagedt tbody,.c03-stagedt tr,.c03-stagedt td{display:block;width:100%}
  .c03-stagedt tr.c03-staged{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;padding:10px 14px;border-bottom:1px solid var(--line);background:#fff7e0}
  .c03-stagedt tr.c03-staged td{width:auto;padding:0;border:0;background:none!important;font-size:15px}
  .c03-stagedt tr.c03-staged td.c03-amtv{margin-left:auto;font-size:16px}
  .c03-stagedt tr.c03-staged td.c03-act{flex:0 0 auto}
  .c03-stagedt .c03-net{display:inline;margin-left:6px}
  .c03-entry-scroll{overflow:visible}
}
/* C03 tablets / small laptops: the admin header's buttons wrap to 2-3 rows and the fixed header then covers the page title
   and toolbar. On this page only, the header keeps its labels on one line and pushes the page down instead of covering it. */
@media (min-width:768px) and (max-width:1199px){
  body.admin-layout .main-header, body.admin-layout .main-header .navbar { height:auto !important; max-height:none !important; min-height:50px; }
  body.admin-layout.fixed .main-header { position:relative !important; }
  body.admin-layout.fixed .content-wrapper.c03-wrap { padding-top:0 !important; }
  body.admin-layout .main-header .navbar-custom-menu .navbar-nav > li > a { white-space:nowrap; }
}
@media (max-width:600px){.c03-stagedt tr.c03-staged td.c03-amtv{margin-left:0}.c03-stagedt tr.c03-staged td.c03-act{margin-left:auto}}
@media (max-width:760px){.c03-gabtn{height:46px}.c03-feebox{min-height:46px}}
/* table extras */
.c03-miss{display:block;font-size:13px;font-weight:700;color:#a61f1f;margin-top:2px;white-space:normal}
.ft-ga-allocated{color:#0f6a3c}
tr.c03-new td{animation:c03flash 2.4s ease-out}
@keyframes c03flash{0%{background:#e2f4e9}100%{background:transparent}}
.ft-mc .mc-acct{grid-column:1 / -1;font-size:13.5px;font-weight:600;color:var(--ink2)}.ft-mc .mc-acct b{color:var(--gd)}
.ft-mc .mc-amt.del{color:#8a8173;text-decoration:line-through}
/* ---- 4. bulk bar ---- */
.c03-bulk{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:1060;max-width:calc(100vw - 24px);font-family:"Inter",system-ui,sans-serif}
.c03-bulk[hidden]{display:none}
.c03-bulk-in{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#1c1f23;color:#fff;border-radius:16px;padding:10px 12px;box-shadow:0 14px 40px rgba(0,0,0,.3)}
.c03-bulk-n{font-size:15px;font-weight:600;padding:0 6px 0 4px;white-space:nowrap}
.c03-bb{height:38px;padding:0 13px;border-radius:10px;border:1.5px solid #4a4f57;background:#2b2f35;color:#fff;font-weight:700;font-size:14.5px;cursor:pointer;white-space:nowrap}
.c03-bb:hover:not(:disabled){background:#3a3f46}.c03-bb:disabled{opacity:.4;cursor:default}
.c03-bb.gold{background:var(--g,#c3912e);border-color:#c3912e}.c03-bb.danger{border-color:#e05353;color:#ffd2d2}
.c03-bb-grp{position:relative}.c03-bb-menu{position:absolute;bottom:calc(100% + 6px);left:0;display:flex;flex-direction:column;gap:4px;background:#1c1f23;border-radius:12px;padding:6px;box-shadow:0 10px 30px rgba(0,0,0,.3)}
.c03-bb-menu[hidden]{display:none}
body.c03-has-bulk .ft-pager{margin-bottom:84px}
/* ---- modals / wizard ---- */
.ft-modal.c03-modal{max-width:520px;font-family:"Inter",system-ui,sans-serif}
.ft-modal.c03-wizm{max-width:1060px}
.c03-cf h3,.c03-wiz h3{font-size:21px;font-weight:800;margin:0 0 6px}
.c03-cf-btns{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:14px}
.c03-lbl{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:700;color:var(--ink2,#3d434b);margin:0 0 10px}
.c03-lbl em{font-style:normal;font-weight:500;font-size:13.5px;color:#5b5446;min-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.c03-err{background:#fdeeee;color:#a61f1f;font-weight:700;font-size:14.5px;border-radius:9px;padding:8px 11px;margin-top:6px}
.c03-err[hidden]{display:none}
.c03-steps{display:flex;flex-wrap:wrap;gap:6px 22px;margin:4px 0 14px;font-weight:700;font-size:15px;color:#7a7160}
.c03-steps span{display:inline-flex;align-items:center;gap:8px}
.c03-steps i{font-style:normal;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:2px solid #d8d1c2;font-size:13px}
.c03-steps .on{color:var(--ink,#1c1f23)}.c03-steps .on i{border-color:#c3912e;background:#c3912e;color:#fff}
.c03-steps .done{color:#0f6a3c}.c03-steps .done i{border-color:#13804a;background:#13804a;color:#fff}
.c03-mapgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 14px}
.c03-sum4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.c03-sum4>div{border:1.5px solid #e7e1d4;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.c03-sum4 span{font-size:13.5px;font-weight:700;color:#3d434b}.c03-sum4 b{font-size:22px;font-weight:800}.c03-sum4 em{font-style:normal;font-size:13.5px;font-weight:600;color:#5b5446}
.c03-sum4 .ok{border-color:#9fd4b4;background:#f1faf4}.c03-sum4 .dup{border-color:#f0cf7a;background:#fffaeb}.c03-sum4 .un{border-color:#efb1b1;background:#fff6f6}
.c03-wbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.c03-revwrap{max-height:52vh;overflow:auto;border:1.5px solid #e7e1d4;border-radius:12px}
.c03-rev{width:100%;border-collapse:collapse;font-size:14.5px}
.c03-rev th{position:sticky;top:0;background:#fbf5e8;font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:#8a6418;text-align:left;padding:8px;z-index:1}
.c03-rev th.r,.c03-rev td.r{text-align:right}
.c03-rev td{padding:8px;border-top:1px solid #eee8db;vertical-align:top}
.c03-rev tbody tr:nth-child(even) td{background:#faf9f6}
.c03-rev tr.on td{background:#fffaf0!important}
.c03-rev input[type=checkbox]{width:19px;height:19px;accent-color:#c3912e;margin-top:3px}
.c03-rv-acct{height:36px;min-width:190px}
.c03-pill{display:inline-block;font-size:13px;font-weight:800;border-radius:999px;padding:3px 9px;white-space:nowrap}
.c03-pill.ok{background:#e2f4e9;color:#0f6a3c}.c03-pill.dup{background:#fff1cc;color:#7a5200}.c03-pill.un{background:#fde7e7;color:#a61f1f}
.c03-why{display:block;font-size:13px;font-weight:600;color:#4d4739;margin-top:3px;line-height:1.3}
.c03-seg{display:flex;gap:16px;margin-bottom:10px;font-weight:700;font-size:15px}
.c03-seg label{display:inline-flex;gap:6px;align-items:center;margin:0}
.c03-seg input{accent-color:#c3912e;width:18px;height:18px;margin:0}
/* ---- 5. panel forms + history ---- */
.c03-drawer .c03-form{background:#fffdf7;border:1.5px solid var(--gl,#f0e2c2);border-radius:12px;padding:12px!important;margin:10px 0}
.c03-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 8px}
.c03-netline{font-size:15px;font-weight:600;margin:0 0 10px}.c03-netline b{color:#13804a}
.c03-sub2{font-size:13.5px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:#8a6418;margin:4px 0 6px}
.c03-hl{list-style:none;margin:0;padding:0}.c03-hl>li{border-left:3px solid #e7d3a6;padding:2px 0 10px 10px;margin-bottom:4px}
.c03-hl-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 10px;font-size:14.5px}.c03-hl-top span{font-weight:600;color:#3d434b;font-size:13.5px}
.c03-hl-r{font-size:14px;font-style:italic;color:#3d434b;margin-top:2px}
.c03-hl-ch{margin:4px 0 0;padding-left:16px;font-size:14px}.c03-hl-ch s{color:#8a8173}
/* ---- 7. gift aid claims ---- */
.c03-claims{border:2px solid var(--g);border-radius:14px;background:#fff;padding:12px 14px;margin:0 0 14px}
.c03-claims[hidden]{display:none}
.c03-claims-top{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:16px}
.c03-claims-btns{display:flex;flex-wrap:wrap;gap:8px}
.c03-claimlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.c03-claim{border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.c03-claim-h{display:flex;justify-content:space-between;gap:8px;font-size:16px}.c03-claim-h span{font-weight:600;color:var(--ink2);font-size:14px}
.c03-claim-n{font-size:15px;font-weight:600}.c03-claim-ga{font-weight:800;color:#0f6a3c;white-space:nowrap}
.c03-claim-st{font-size:14px;font-weight:700;color:#7a5200}
.c03-cs-submitted .c03-claim-st{color:#14548a}.c03-cs-allocated{border-color:#9fd4b4;background:#f6fcf8}.c03-cs-allocated .c03-claim-st{color:#0f6a3c}
.c03-claim-b{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.c03-ga-view .c03-t-ready .ft-tot-v{color:var(--gd)}
/* ---- tablet ---- */
@media (max-width:1199px){
}
/* ---- phones: the entry sheet becomes a stacked form; review rows become cards ---- */
@media (max-width:760px){
  .c03-head h1{font-size:24px}
  #c03Actions{margin-left:0;width:100%}#c03Actions .c03-btn{flex:1 1 140px;height:46px}
  .c03-entry-scroll{overflow:visible}
  .c03-sheet thead{display:none}
  .c03-sheet,.c03-sheet tbody,.c03-sheet tr,.c03-sheet td{display:block;width:100%}
  .c03-add{width:100%;height:46px;font-size:16px}
  .c03-in{height:46px;font-size:16px}
  .c03-keys{display:none}
  .c03-entry-foot{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);border-radius:0 0 12px 12px}
  .c03-entry-foot .c03-btn{flex:1}
  .c03-bulk{left:8px;right:8px;transform:none;bottom:10px}
  .c03-bulk-in{justify-content:flex-start}.c03-bb{flex:1 1 auto}
  .c03-mapgrid{grid-template-columns:1fr}
  .c03-sum4{grid-template-columns:1fr 1fr}
  .ft-modal.c03-wizm{padding:16px 12px}
  .c03-revwrap{max-height:none;border:0}
  .c03-rev thead{display:none}.c03-rev,.c03-rev tbody,.c03-rev tr,.c03-rev td{display:block;width:100%}
  .c03-rev tr{border:1.5px solid var(--line,#e7e1d4);border-radius:12px;margin-bottom:8px;padding:8px 10px 8px 40px;position:relative}
  .c03-rev td{border:0;padding:2px 0;background:none!important}
  .c03-rev td:first-child{position:absolute;left:10px;top:10px;width:auto}
  .c03-rev td.r{text-align:left}
  .c03-3{grid-template-columns:1fr 1fr}
  .c03-claimlist{grid-template-columns:1fr}
}

/* The admin layout loads Font Awesome 4; the shared table (C02) uses a few Font Awesome 5 names — aliases so they show here too */
.fas{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased}
.fa-calendar-alt:before{content:"\f073"}.fa-file-pdf:before{content:"\f1c1"}.fa-clock:before{content:"\f017"}.fa-file-csv:before{content:"\f0f6"}

/* the admin layout's Bootstrap 3 styles labels/tables; keep the shared table's own look here */
.c03-page label{max-width:none;margin-bottom:0}
.c03-page .ft-pp{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-weight:600}
.c03-page .ft-pp select{width:auto}
.c03-page .ft-table{margin-bottom:0}
.c03-wrap .c03-head{padding-top:8px}
select.c03-in{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238a6418' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 10px center;padding-right:30px}
/* the admin theme gives every select a repeating arrow.png; the shared table's selects get one clean arrow here */
.c03-page select.ft-select,.c03-page select.c03-in{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238a6418' stroke-width='2'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 10px center !important;background-size:12px 8px !important;padding-right:30px}
.c03-page input[type=file][hidden]{display:none!important}

/* C03 mobile: the admin's custom-dashboard.css keeps .content-wrapper at margin-left: var(--sidebar-width) on phones too,
   which pushes this page off the screen. On this page only, phones get the full width (the menu still slides over). */
@media (max-width: 767px) {
  body.admin-layout .content-wrapper { margin-left: 0 !important; }
  body.admin-layout:not(.sidebar-open) .main-sidebar { transform: translate(-100%, 0) !important; }   /* no 40px strip over the sheet */
  body.admin-layout .main-header .navbar { margin-left: 0 !important; }
  body.admin-layout .main-header, body.admin-layout .main-header .navbar { height: auto !important; min-height: 50px; max-height: none !important; }
  body.admin-layout .main-header .navbar-custom-menu { float: none !important; clear: both; position: static !important; width: 100%; max-width: 100%; overflow-x: auto; white-space: nowrap; }
  body.admin-layout .main-header .navbar-custom-menu > * { white-space: nowrap; }
  /* the admin header wraps to ~3 rows on a phone; on this page it scrolls away instead of covering the sheet */
  body.admin-layout.fixed .main-header { position: relative !important; }
  body.admin-layout.fixed .content-wrapper.c03-wrap { padding-top: 0 !important; }
  body.admin-layout .main-sidebar { padding-top: 0; }
}
.c03-page .ft-top { flex-wrap: wrap; row-gap: 6px; }
.c03-page .ft-zoom { flex: none; }

@media (max-width: 480px) {
  .c03-page .ft-toggle { width: 100%; }
  .c03-page .ft-toggle .ft-seg-btn { flex: 1 1 auto; padding-left: 6px; padding-right: 6px; font-size: 12.5px; white-space: nowrap; }
}

/* ---- C03c tablet pass (768–1199px with the 270px admin menu) ---- */
/* bank import review on a tablet-width window: the Status column folds into the Payer cell (pill above the payer),
   so Payer and the account picker get room; dates and fees never break mid-value */
.c03-st-in{display:none}
@media (min-width:761px) and (max-width:1000px){
  .c03-rev th:nth-child(2),.c03-rev td[data-l="Status"]{display:none}
  .c03-st-in{display:block;margin-bottom:4px}
  .c03-st-in .c03-why{display:inline;margin-left:6px}
  .c03-rev td[data-l="Date"]{white-space:nowrap}
  .c03-rev td[data-l="Fee"]{white-space:nowrap}
  .c03-rev td[data-l="Fee"] .c03-why{display:inline;margin-left:4px}
  .c03-rv-acct{width:100%;min-width:230px}
}
/* the admin header on a tablet: the four header links fit on one row next to the menu button (a little tighter) */
@media (min-width:768px) and (max-width:991px){
  body.admin-layout .main-header .navbar{display:flex;align-items:center;justify-content:space-between;min-height:50px;flex-wrap:nowrap}
  body.admin-layout .main-header .navbar-custom-menu{float:none!important;margin-left:auto}
  body.admin-layout .main-header .navbar-custom-menu > .navbar-nav{display:flex;flex-wrap:nowrap;margin:0;float:none}
  body.admin-layout .main-header .navbar-custom-menu > .navbar-nav > li{float:none}
  body.admin-layout .main-header .navbar-custom-menu > .navbar-nav > li + li{margin-left:6px}
  body.admin-layout .main-header .navbar-custom-menu > .navbar-nav > li > a{font-size:13.5px;padding-left:10px!important;padding-right:10px!important;white-space:nowrap}
  body.admin-layout .main-header .navbar-custom-menu .dropdown-menu{right:0;left:auto}
}
/* table mode on a narrow sheet: Name / description keeps a readable width (no 4-line wrapping) */
.c03-page .ft-table td.ft-c-name{min-width:180px}
/* entry row on tablets / small laptops: line 2 (Gateway … Add) fits on one line from ~840px; when it wraps, Add stays a
   normal-sized button on the right instead of a 500px bar on its own */
@media (min-width:601px) and (max-width:1199px){
  .c03-f-gw,.c03-f-ref{flex:1 1 130px}.c03-f-amount{flex:0 1 110px;min-width:100px}.c03-f-fee{flex:1.4 1 200px}
  .c03-f-add{flex:1 1 90px;max-width:220px;margin-left:auto}
}
.ft-cards2 .ft-mc .mc-name,.ft-cards2 .ft-mc .mc-det{white-space:normal}
/* bulk bar on tablets: centred over the sheet, not over the side menu */
@media (min-width:768px) and (max-width:1199px){
  body.admin-layout:not(.sidebar-collapse) .c03-bulk:not([hidden]){left:282px;right:12px;transform:none;max-width:none;display:flex;justify-content:center;pointer-events:none}
  body.admin-layout:not(.sidebar-collapse) .c03-bulk-in{pointer-events:auto;justify-content:center}
}

/* C03d — Move back to pending: reason presets (radio pills) + refusal box; Gift Aid figure labels */
.c03-rsn{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 8px}
.c03-rsn-o{display:inline-flex;align-items:center;gap:7px;margin:0;padding:8px 12px;border:1px solid #d9cfbd;border-radius:8px;background:#fff;font-weight:600;font-size:15px;color:#2b2b2b;cursor:pointer;min-height:40px}
.c03-rsn-o input{accent-color:#c3912e;width:18px;height:18px;margin:0}
.c03-rsn-o:has(input:checked){border-color:#c3912e;background:#fbf5e9}
.c03-unap .c03-lbl > span{display:block;font-weight:700;font-size:14px;color:#3a3a3a}
.c03-unap textarea{margin-top:4px;width:100%}
.c03-unap-err{margin:8px 0;padding:10px 12px;border-radius:8px;background:#fdecea;border:1px solid #f1b8b2;color:#8a1f15;font-size:15px;line-height:1.4}
.c03-unap-err ul{margin:6px 0 0;padding-left:18px}
.c03-btn-sub{font-weight:600;opacity:.85}
.c03-claim-ga{font-weight:700;color:#7a5a17}
.c03-claims-btns{max-width:100%}
.c03-claims-btns .c03-btn{max-width:100%;white-space:normal;height:auto;min-height:44px;padding-top:9px;padding-bottom:9px;line-height:1.3;text-align:left;flex-wrap:wrap;column-gap:6px;row-gap:2px}

/* =====================================================================================================================
   C03e CALM THEME (Jacob's colleague, 3 Nov: "the attached one is more clean and neat" — the live fundd list).
   3 Nov (round 3): the rules moved to public/css/fundd-ui.css as the "Clean" look (.fundd-theme-clean on <html>/<body>),
   switchable per user with "Classic" (the first look). Only the +/− circle and "…" button shapes stay here. White rows, no zebra, thin light dividers, roomy rows, small uppercase
   grey headers (13px, readable), plain dark text, a small green/red +/− circle by the amount, a small green "Approved" pill,
   plain-text gateway, "…" menu at the row end. Gold #c3912e only as a small accent (focus, the primary button, ticks).
   ===================================================================================================================== */
/* amount: plain dark figure + small +/− circle */
.c03-pm{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-style:normal;font-size:13px;font-weight:700;line-height:1;flex:none;color:#fff}
.c03-pm-in{background:#22a35a}.c03-pm-out{background:#e5484d}.c03-pm-del{background:#b9bec5}
/* gateway: plain text, no tag box */
/* status: one small pill — green Approved, quiet others */
/* "…" row menu */
.c03-more{border:0;background:transparent;width:34px;height:30px;border-radius:8px;font-size:20px;line-height:1;color:#6b7280;cursor:pointer;letter-spacing:1px}
.c03-more:hover,.c03-more:focus-visible{background:#f2f3f5;color:var(--ink);outline:0}
/* tick boxes: gold only when ticked */
/* quieter chrome: totals, toolbar, toggle, search */
/* cards (tablet / phone): white, thin border, same +/− circle */
/* entry fold link + saved list (C04) */
.c03-pagelink{margin-left:auto;font-weight:600;color:#8a6418;white-space:nowrap}
.c03-pagelink:hover{color:#5f4510;text-decoration:underline}
.c03-entry-title{font-size:16px}
.c03-msg.hint{background:#f6f7f9;border-color:#e5e7eb;color:#3f454d}
.c03-saved{margin:16px 0 0;background:#fff;border:1px solid #eceef1;border-radius:10px;padding:14px 16px}
.c03-saved-h{display:flex;align-items:baseline;gap:12px;margin-bottom:8px;flex-wrap:wrap}
.c03-saved-h .c03-link{margin-left:auto}
.c03-link{background:none;border:0;padding:0;color:#8a6418;font-weight:600;cursor:pointer}
.c03-savedt td .c03-miss{display:block;font-size:13px;margin-top:3px}
/* C04: the Transactions table itself is only a data store on Add payments (duplicate check) — hidden */
.c03-mode-add .c03-table .ft-top,.c03-mode-add .c03-table .ft-totals,.c03-mode-add .c03-table .ft-chips,.c03-mode-add .c03-table .ft-bar,.c03-mode-add .c03-table .ft-scroll,.c03-mode-add .c03-table .ft-pager,.c03-mode-add .c03-claims,.c03-mode-add .c03-bulk{display:none!important}
/* Gift Aid "Missing details" */
.c03-missbox{background:#fffaf0;border:1px solid #f1e3c4;border-radius:10px;padding:12px 14px;margin:0 0 12px}
.c03-miss-ok{background:#f3faf5;border-color:#d7eedf;color:#1a6b3c;font-weight:500}
.c03-miss-h{display:flex;align-items:baseline;gap:10px;width:100%;background:none;border:0;padding:0;text-align:left;cursor:pointer;flex-wrap:wrap;color:#1f2328}
.c03-miss-h b{font-size:15px;color:#8a5a00}.c03-miss-h span{color:#545b64;font-size:14px;flex:1;min-width:220px}.c03-miss-h i{font-style:normal;color:#8a6418}
.c03-misslist{list-style:none;margin:10px 0 4px;padding:0}
.c03-misslist li{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(0,2fr) auto;gap:6px 12px;align-items:center;padding:9px 0;border-top:1px solid #f1e8d6}
.c03-ml-who{display:flex;flex-direction:column;line-height:1.3}.c03-ml-who b{font-weight:600}.c03-ml-who span{font-size:13px;color:#545b64}
.c03-ml-what{display:flex;flex-wrap:wrap;gap:5px}
.c03-ml-what em{font-style:normal;font-size:13px;background:#fff;border:1px solid #ecd9b0;color:#7a4f00;border-radius:999px;padding:2px 9px}
.c03-missw .c03-misslist{max-height:46vh;overflow:auto}
@media (max-width:640px){ .c03-misslist li{grid-template-columns:1fr auto} .c03-ml-what{grid-column:1 / -1;grid-row:2} }

/* ---- PAGE C04 / C05 top switch (partials/c04-switch) ---- */
.c04-top{display:flex;align-items:center;gap:14px;margin:0 0 16px;flex-wrap:wrap}
.c04-back{font-weight:600;color:#545b64;white-space:nowrap}.c04-back:hover{color:#1f2328}
.c04-switch{display:inline-flex;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;padding:4px;gap:4px}
.c04-sw{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 18px;border-radius:8px;color:#41474f;font-weight:500;font-size:15px;white-space:nowrap;text-decoration:none!important}
.c04-sw:hover{color:#1f2328;background:#fafafa}
.c04-sw.on{background:#fff;color:#1f2328;font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.08),inset 0 -2px 0 #c3912e}
.c04-sw i{color:#8a6418}
@media (max-width:520px){ .c04-switch{width:100%} .c04-sw{flex:1;justify-content:center;padding:0 8px} }
/* ---- PAGE C05 Vouchers ---- */
.c05-page .c05-co,.c05-page .c05-st{border:1px solid transparent;background:transparent;border-radius:8px;height:34px;padding:0 24px 0 6px;font-size:14px;color:#1f2328;cursor:pointer;max-width:190px;-webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23878d95' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center}
.c05-page .c05-co:hover,.c05-page .c05-st:hover,.c05-page .c05-co:focus,.c05-page .c05-st:focus{border-color:#dfe2e6;background-color:#fff;outline:0}
.c05-stw{display:inline-flex;align-items:center;gap:2px;border-radius:999px;padding-left:9px}
.c05-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#6b7385;flex:none}
.c05-s-pending .c05-dot,.c05-dot.c05-s-pending{background:#8b919c}
.c05-s-sent .c05-dot,.c05-dot.c05-s-sent{background:#2f6fde}
.c05-s-paidout .c05-dot,.c05-dot.c05-s-paidout{background:#22a35a}
.c05-s-loan .c05-dot,.c05-dot.c05-s-loan{background:#7357d6}
.c05-s-nofunds .c05-dot,.c05-dot.c05-s-nofunds{background:#e0701b}
.c05-s-rejected .c05-dot,.c05-dot.c05-s-rejected{background:#b42318}
.c05-s-query .c05-dot,.c05-dot.c05-s-query{background:#d2453d}
.c05-stw.c05-s-paidout{background:#e7f6ec}.c05-stw.c05-s-paidout .c05-st{color:#1a7f45;font-weight:500}
.c05-page .c05-note{border:1px solid transparent;background:transparent;border-radius:8px;height:34px;padding:0 8px;width:100%;min-width:120px;font-size:14px;color:#1f2328}
.c05-page .c05-note:hover,.c05-page .c05-note:focus{border-color:#dfe2e6;background:#fff;outline:0}
.c05-page .c05-note::placeholder{color:#9aa0a7}
.c05-no{font-variant-numeric:tabular-nums}.c05-dash{color:#9aa0a7}
.c05-date{color:#545b64;font-size:13.5px}.c05-added{color:#1a7f45;font-size:13.5px}
.c05-page .ft-table td{padding-top:12px;padding-bottom:12px}
.c05-page .ft-table td.ft-c-note{min-width:150px;white-space:normal}
.c05-page tr.c05-flash td{animation:c05flash 1.4s ease}
@keyframes c05flash{0%{background:#eaf7ef}100%{background:#fff}}
.c05-entry{background:#fff;border:1px solid #eceef1;border-radius:10px;padding:14px 16px;margin:0 0 14px}
.c05-eb{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.c05-eb-main{flex:1;min-width:260px;font-size:14.5px;color:#3f454d;line-height:1.5}.c05-eb-main>b{color:#1f2328}
.c05-eb-main kbd{background:#f3f4f6;border:1px solid #e1e4e8;border-radius:5px;padding:0 5px;font-size:12.5px;color:#1f2328;box-shadow:none}
.c05-eb-act{display:flex;gap:8px;flex-wrap:wrap}
.c05-dark{background:#1f2328!important;border-color:#1f2328!important;color:#fff!important}
.c05-msg{margin-top:6px;font-weight:600;color:#b42318}.c05-msg.ok{color:#1a7f45}
.c05-paste{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.c05-paste textarea{width:100%;border:1px solid #dfe2e6;border-radius:8px;padding:8px 10px;font-family:ui-monospace,Menlo,monospace;font-size:13.5px}
.c05-paste-b{display:flex;gap:8px;justify-content:flex-end}
.c05-row{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(100px,.8fr) minmax(130px,1fr) minmax(150px,1.2fr) minmax(130px,1fr) minmax(130px,1.2fr) auto;gap:10px;margin-top:12px;align-items:end;border-top:1px solid #f0f1f3;padding-top:12px}
.c05-f{display:flex;flex-direction:column;gap:4px;min-width:0;position:relative}
.c05-f>span{font-size:13px;font-weight:600;color:#545b64}.c05-f>span i{font-style:normal;font-weight:400;color:#7a8088}
.c05-f input,.c05-f select{height:42px;border:1px solid #dfe2e6;border-radius:8px;padding:0 10px;font-size:15px;color:#1f2328;background:#fff;width:100%;min-width:0}
.c05-f .c05-stw{padding:0;background:none}.c05-f .c05-stw .c05-dot{display:none}
.c05-f select.c05-co,.c05-f select.c05-st{max-width:none;height:42px;border-color:#dfe2e6;padding:0 26px 0 10px;font-size:15px}
.c05-f input:focus,.c05-f select:focus{outline:0;border-color:#c3912e;box-shadow:0 0 0 3px rgba(195,145,46,.16)}
.c05-f em{position:absolute;left:2px;top:100%;margin-top:2px;font-style:normal;font-size:12.5px;color:#545b64;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.c05-f-save .c03-btn{height:42px;white-space:nowrap}
.c05-f-acct{padding-bottom:0}
.c05-row{padding-bottom:16px}
@media (max-width:1180px){ .c05-row{grid-template-columns:repeat(3,minmax(0,1fr))} .c05-f-save{grid-column:auto} }
@media (max-width:560px){ .c05-row{grid-template-columns:1fr 1fr} .c05-f-acct,.c05-f-note,.c05-f-save{grid-column:1 / -1} .c05-f em{position:static} }
.c05-mc-ctl{grid-column:1 / -1;display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 2px}
.c05-mc-ctl .c05-co,.c05-mc-ctl .c05-st{border-color:#e5e7eb!important;background-color:#fff!important}
.c05-bulk .c05-bl{color:#c9ced9;font-size:13px;margin-left:6px}
.c05-bulk .c03-bb .c05-dot{width:7px;height:7px}

/* C03e calm: second pass after looking at it */
.c05-page select.c05-co,.c05-page select.c05-st{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23878d95' stroke-width='1.6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 7px center!important;background-size:10px 6px!important}
.c05-page select.c05-co{max-width:none;width:auto;min-width:0}
.c05-page .ft-table td.ft-c-company{min-width:170px}


.c05-page .ft-table td.ft-c-status{min-width:150px}
.c05-page select.c05-st{max-width:none;width:auto;min-width:96px}

.c03-mode-add .c03-table > :not(.c03-entry):not(.c03-saved){display:none!important}   /* C04: only the entry + saved list show (sort bar / layout switch of the hidden sheet too) */
