@font-face { font-family: 'Montserrat'; font-weight: 400; font-display: swap; src: url('/fonts/montserrat-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-weight: 600; font-display: swap; src: url('/fonts/montserrat-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-weight: 700; font-display: swap; src: url('/fonts/montserrat-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-weight: 800; font-display: swap; src: url('/fonts/montserrat-latin-800-normal.woff2') format('woff2'); }
:root { --green:#0F6939; --green-dark:#0a4d29; --red:#DC1B23; --ink:#1d2421; --muted:#5d6b64; --line:#dfe5e1; --bg:#f4f7f5; --card:#fff; }
* { box-sizing: border-box; }
body { margin:0; font-family: Montserrat, system-ui, sans-serif; color:var(--ink); background:var(--bg); line-height:1.5; }
.top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:10px 16px; background:#fff; border-bottom:3px solid var(--green); position:sticky; top:0; z-index:5; }
.brand { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--green); font-weight:800; font-size:1.15rem; letter-spacing:.02em; }
.brand b { color:var(--red); }
nav { display:flex; flex-wrap:wrap; gap:4px; }
nav a, nav button { font:inherit; font-size:.9rem; font-weight:600; color:var(--green-dark); background:none; border:0; padding:8px 10px; border-radius:6px; cursor:pointer; text-decoration:none; }
nav a[aria-current] { background:#e6f1eb; }
main { max-width:1100px; margin:0 auto; padding:24px 16px 48px; outline:none; }
h1 { font-size:1.6rem; margin:0 0 4px; color:var(--green); font-weight:800; }
h2 { font-size:1.15rem; margin:24px 0 8px; }
.muted { color:var(--muted); }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:18px; margin:14px 0; }
.narrow { max-width:420px; margin:40px auto; }
label { display:block; font-weight:600; font-size:.9rem; margin:12px 0 4px; }
input, select, textarea { width:100%; font:inherit; padding:10px 12px; border:1px solid #c9d3cd; border-radius:8px; background:#fff; }
textarea { min-height:100px; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
@media (max-width:640px) { .grid2 { grid-template-columns:1fr; } h1 { font-size:1.35rem; } }
.btn { display:inline-block; font:inherit; font-weight:700; padding:10px 18px; border-radius:8px; border:2px solid var(--green); background:var(--green); color:#fff; cursor:pointer; margin-top:14px; text-decoration:none; }
.btn.ghost { background:#fff; color:var(--green); }
.btn.red { border-color:var(--red); background:#fff; color:var(--red); }
.btn:disabled { opacity:.6; cursor:wait; }
.err { color:var(--red); font-weight:600; margin-top:10px; }
.ok { color:var(--green); font-weight:600; margin-top:10px; }
table { width:100%; border-collapse:collapse; background:#fff; border:1px solid var(--line); border-radius:10px; overflow:hidden; font-size:.92rem; }
th, td { text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top; }
th { background:#eef4f0; font-weight:700; color:var(--green-dark); }
td.num, th.num { text-align:right; white-space:nowrap; }
tr.link { cursor:pointer; } tr.link:hover td { background:#f7faf8; }
.table-wrap { overflow-x:auto; }
.pill { display:inline-block; font-size:.78rem; font-weight:700; padding:2px 8px; border-radius:99px; background:#eef4f0; color:var(--green-dark); text-transform:capitalize; }
.pill.requested { background:#fff4e0; color:#8a5a00; } .pill.quoted { background:#e7f0ff; color:#1f4f9a; } .pill.accepted, .pill.delivered { background:#e3f4ea; color:var(--green-dark); } .pill.declined, .pill.cancelled, .pill.expired { background:#fde8e8; color:#9b1c1c; }
.timeline { list-style:none; padding:0; margin:0; } .timeline li { border-left:3px solid var(--green); padding:2px 0 14px 14px; position:relative; } .timeline li::before { content:''; position:absolute; left:-8px; top:6px; width:13px; height:13px; border-radius:50%; background:var(--green); }
.row { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; }
.foot { text-align:center; color:var(--muted); font-size:.8rem; padding:20px 16px 30px; }
dl.facts { display:grid; grid-template-columns:max-content 1fr; gap:6px 16px; margin:0; } dl.facts dt { font-weight:700; color:var(--muted); } dl.facts dd { margin:0; }

@media (max-width:640px) { .top { padding:8px 12px; } nav { width:100%; justify-content:flex-start; } nav a, nav button { padding:6px 8px; font-size:.85rem; } th, td { padding:8px; } }

/* Phase 1 screens */
.grid3 { display:grid; grid-template-columns:repeat(3,1fr); gap:0 14px; }
.grid4 { display:grid; grid-template-columns:repeat(4,1fr); gap:0 14px; }
@media (max-width:900px) { .grid4 { grid-template-columns:1fr 1fr; } .grid3 { grid-template-columns:1fr 1fr; } }
@media (max-width:640px) { .grid3, .grid4 { grid-template-columns:1fr; } }
.btn.small { padding:6px 12px; font-size:.85rem; margin-top:6px; }
.link-btn { font:inherit; background:none; border:0; color:var(--green-dark); text-decoration:underline; cursor:pointer; padding:2px 4px; }
.inline-msg { margin-left:8px; font-size:.88rem; } .inline-msg.ok { color:var(--green); font-weight:600; } .inline-msg.err { color:var(--red); font-weight:600; }
label.check { display:flex; align-items:center; gap:6px; font-weight:600; margin:12px 0 4px; } label.check input { width:auto; }
.notice { font-weight:800; text-transform:uppercase; border:2px solid var(--ink); padding:10px 12px; border-radius:6px; background:#fffdf3; }
.pre { white-space:pre-wrap; }
table.editor input, table.editor select { padding:6px 8px; font-size:.85rem; min-width:70px; }
table.editor td { padding:4px 6px; }
ul.missing { margin:4px 0 10px; padding-left:20px; color:#8a3b00; }
.stack { display:flex; flex-direction:column; gap:4px; align-items:flex-start; }
details { margin:8px 0; } details summary { cursor:pointer; color:var(--green-dark); font-weight:600; }
details.inline { display:inline-block; margin:0 0 0 6px; }
textarea.tall { min-height:260px; font-size:.85rem; }
section h3 { margin:0 0 6px; font-size:1rem; }
.eei { margin-top:14px; border-top:1px solid var(--line); padding-top:10px; }
.picker select { max-width:420px; }
.pill.required, .pill.not_assessed, .pill.draft, .pill.unmatched, .pill.expected { background:#fff4e0; color:#8a5a00; }
.pill.filed, .pill.exempt, .pill.issued, .pill.posted, .pill.billed, .pill.accrued, .pill.matched, .pill.received, .pill.departed, .pill.arrived, .pill.released, .pill.closed { background:#e3f4ea; color:var(--green-dark); }
.pill.void, .pill.ignored { background:#fde8e8; color:#9b1c1c; }
table.editor input[aria-label='Value USD'], table.editor input[aria-label='Schedule B'] { min-width:110px; }
table.editor input[aria-label='Description'] { min-width:160px; }
.small { font-size:.8rem; }
.bar { display:inline-flex; align-items:center; gap:6px; } .bar .track { display:inline-block; width:120px; height:10px; background:#e3ece6; border-radius:5px; overflow:hidden; } .bar .fill { display:block; height:100%; background:var(--green); } .bar.over .fill { background:var(--red); }
.pill.on_hand, .pill.planning, .pill.disputed, .pill.possible_match, .pill.not_checked, .pill.damaged, .pill.wet, .pill.short, .pill.over { background:#fff4e0; color:#8a5a00; }
.pill.loaded, .pill.good, .pill.clear, .pill.cleared, .pill.invoiced, .pill.resolved { background:#e3f4ea; color:var(--green-dark); }
.pill.blocked { background:#fde8e8; color:#9b1c1c; }
.pair { display:grid; grid-template-columns:1fr 1fr; gap:6px; }

/* Phase 4: intermodal, dispatch, yard, driver app */
.card.warn { border-color:#e8c37a; background:#fffaf0; }
ul.alerts { list-style:none; padding:0; margin:0; display:grid; gap:6px; }
li.alert { background:#fff; border:1px solid var(--line); border-left:5px solid #c9a227; border-radius:8px; padding:8px 12px; }
li.alert.critical { border-left-color:var(--red); } li.alert.info { border-left-color:#4a7fc1; }
.pill.planned, .pill.dispatched, .pill.enroute { background:#fff4e0; color:#8a5a00; }
.pill.completed, .pill.in { background:#e3f4ea; color:var(--green-dark); } .pill.out { background:#eceff0; color:var(--muted); }
.date-pick { width:auto; }
.slots { display:flex; flex-wrap:wrap; gap:6px; } .slot { display:inline-block; min-width:48px; text-align:center; padding:6px 8px; border-radius:6px; background:#e3f4ea; color:var(--green-dark); font-weight:700; font-size:.82rem; } .slot.full { background:#fde8e8; color:#9b1c1c; }
ul.plain { margin:0; padding-left:16px; }
canvas.sig { width:100%; max-width:600px; height:auto; aspect-ratio:600/220; border:2px dashed #9fb3a8; border-radius:8px; background:#fff; touch-action:none; display:block; }
.card.move .route { font-size:1.05rem; font-weight:700; margin:6px 0 10px; overflow-wrap:anywhere; }
.card.move.done { opacity:.75; }
.btn.big { padding:14px 20px; font-size:1.05rem; width:100%; margin-top:10px; }
.big { font-size:1.15rem; }
form.photo { margin-top:12px; border-top:1px solid var(--line); padding-top:8px; }
td .pair select { min-width:120px; }

/* Phase 5: ocean line */
.tabs { display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 4px; border-bottom:2px solid var(--line); }
.tab { padding:8px 12px; font-weight:700; color:var(--green-dark); text-decoration:none; border-radius:8px 8px 0 0; }
.tab.on { background:#e6f1eb; }
button.tab-btn { background:none; border:0; font:inherit; font-weight:700; cursor:pointer; }
button.tab-btn.on { background:#e6f1eb; }
.chips { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0; } .chip { padding:4px 10px; border-radius:99px; background:#eef4f0; color:var(--green-dark); font-weight:600; font-size:.85rem; text-decoration:none; text-transform:capitalize; } .chip.on { background:var(--green); color:#fff; }
.meter { margin:4px 0 10px; font-size:.88rem; } .meter .track { height:8px; background:#e3ece6; border-radius:4px; overflow:hidden; margin-top:3px; } .meter .track i { display:block; height:100%; background:var(--green); } .meter .track i.full { background:var(--red); }
.pill.open, .pill.in_force, .pill.confirmed, .pill.on_board, .pill.full_at_terminal, .pill.accepted { background:#e3f4ea; color:var(--green-dark); }
.pill.requested, .pill.pending, .pill.not_filed, .pill.not_in_force, .pill.released, .pill.discharged, .pill.hold { background:#fff4e0; color:#8a5a00; }
.pill.overdue, .pill.off_hire { background:#fde8e8; color:#9b1c1c; } .pill.available { background:#e7f0ff; color:#1f4f9a; }
table.editor input.wide { min-width:150px; }
pre.key { white-space:pre-wrap; word-break:break-all; background:#f4f7f5; border:1px solid var(--line); padding:10px; border-radius:6px; font-size:.95rem; } .pill.active { background:#e3f4ea; color:var(--green-dark); } .pill.revoked { background:#fde8e8; color:#9b1c1c; }

/* Phase 7: finance and admin */
.kpis .card { margin:0 0 10px; } .kpi { font-size:1.5rem; font-weight:800; color:var(--green-dark); margin:2px 0; }
ul.todo { margin:0; padding-left:1.2rem; } ul.todo li { margin:4px 0; }
.navsearchform { display:inline-flex; margin:0; } .navsearch { width:150px; padding:6px 10px; border:1px solid var(--line); border-radius:99px; font:inherit; font-size:.9rem; }
@media (max-width:640px) { .navsearch { width:100%; } .navsearchform { flex:1 1 100%; } }
table.editor input.qty { width:80px; } table.roles td, table.roles th { text-align:center; } table.roles td:first-child { text-align:left; font-weight:700; }
.override { margin-top:8px; display:flex; flex-wrap:wrap; gap:6px; align-items:center; } .override input { flex:1 1 220px; }
.pill.posted, .pill.reconciled { background:#e3f4ea; color:var(--green-dark); } .pill.draft { background:#fff4e0; color:#8a5a00; } .pill.disposed, .pill.void { background:#eceff0; color:#555; }
@media (max-width:640px) { dl.facts { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); } dl.facts dt, dl.facts dd { overflow-wrap:anywhere; } }
.pill.overdue { background:#fde8e8; color:#9b1c1c; } .pill.due_soon, .pill.date_needed { background:#fff4e0; color:#8a5a00; } .pill.scheduled { background:#e3f4ea; color:var(--green-dark); } .pill.not_applicable { background:#eceff0; color:#555; }

/* Phone: a long staff menu folds behind a Menu button so each screen starts with its own content. */
.menubtn { display:none; }
@media (max-width:640px) {
  .menubtn { display:inline-block; margin-left:auto; font:inherit; font-size:.9rem; font-weight:700; color:var(--green-dark); background:#e6f1eb; border:0; border-radius:6px; padding:8px 14px; cursor:pointer; }
  .menubtn.none { display:none; }
  .top:not(.open) nav.many { display:none; }
}
/* Church edition menu (Phase 1, 25 Oct 2026): the tabs of one top-menu item, in labelled groups (Finance: Money in, Money out…). */
nav.chtabs { gap:6px 18px; align-items:center; padding-bottom:4px; }
nav.chtabs .tabgroup { display:flex; flex-wrap:wrap; align-items:center; gap:4px; }
nav.chtabs .tabgroup-label { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted, #667); margin-right:2px; }
nav.chtabs .tab { padding:6px 10px; border-radius:8px; }
@media (max-width:640px) { nav.chtabs .tabgroup { flex:1 1 100%; } nav.chtabs .tab { padding:6px 8px; font-size:.92rem; } }
/* Phase 4 governance: small status labels (Safe Church). */
.badge { display:inline-block; padding:2px 8px; border-radius:10px; font-size:.8rem; line-height:1.4; background:#eef0ef; color:#33413a; }
.badge.ok { background:#e3f2e6; color:#1f5d2c; }
.badge.warn { background:#fdecc8; color:#7a4b00; }
/* Phase 5 roll: count tiles */
.tiles { display:grid; grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); gap:8px; margin:8px 0 12px; }
.tile { background:#fff; border:1px solid var(--line, #dde3df); border-radius:10px; padding:8px 10px; } .tile strong { font-size:1.3rem; }
/* Church library folders (26 Oct 2026) */
details.folder { border: 1px solid var(--line, #ddd); border-radius: 8px; margin: 8px 0; padding: 6px 10px; background: #fff; }
details.folder > summary { cursor: pointer; padding: 6px 0; }
details.folder .table-wrap { margin-top: 6px; }
input[type=search] { width: 100%; max-width: 420px; margin: 8px 0; }
/* Church calendar (27 Oct 2026). Month grid on wider screens; on a phone the day-by-day list carries everything. */
.badge.bad { background:#fde8e8; color:#9b1c1c; } .badge.mine { background:#e7f0ff; color:#1f4f9a; }
.calbar { display:flex; flex-wrap:wrap; align-items:flex-end; gap:8px; margin:8px 0; } .calbar .btn { margin-top:0; } .calmonth { margin:0 6px; min-width:10ch; }
.calfilters { display:flex; flex-wrap:wrap; gap:8px; margin-left:auto; } .calfilters > div { min-width:220px; } .calfilters label { margin-top:0; }
.calgrid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); border:1px solid var(--line); border-radius:10px; overflow:hidden; background:var(--line); gap:1px; margin:10px 0 18px; }
.calhead { background:#eef4f0; font-weight:700; font-size:.8rem; padding:6px; text-align:center; color:var(--green-dark); }
.calday { background:#fff; min-height:96px; padding:4px; min-width:0; } .calday.other { background:#f7f9f8; } .calday.other .calnum { color:#9aa59f; }
.calday.today { box-shadow:inset 0 0 0 2px var(--green); } .calnum { font-size:.78rem; font-weight:700; margin-bottom:2px; }
.calchip { display:block; width:100%; text-align:left; font:inherit; font-size:.72rem; line-height:1.25; padding:2px 4px; margin:0 0 2px; border:0; border-left:3px solid var(--green); border-radius:4px; background:#eef4f0; color:var(--ink); cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.calchip.k-task { border-left-color:#8a5a00; background:#fff6e6; } .calchip.k-prep, .calchip.k-review { border-left-color:#1f4f9a; background:#eef3fd; } .calchip.k-regional { border-left-color:#6b3fa0; background:#f4eefb; }
.calchip.k-worship { border-left-color:var(--red); background:#fdf0f0; } .calchip.proposed { opacity:.6; border-left-style:dashed; } .calchip.done { text-decoration:line-through; opacity:.6; } .calchip.late { box-shadow:inset 0 0 0 1px #c53030; }
.calmore { font-size:.7rem; color:var(--muted); }
.calgroup h3 { font-size:.95rem; margin:16px 0 6px; color:var(--green-dark); }
details.calitem { border:1px solid var(--line); border-left:4px solid var(--green); border-radius:8px; background:#fff; margin:6px 0; }
details.calitem > summary { padding:8px 10px; cursor:pointer; line-height:1.6; } details.calitem > .card { margin:0; border:0; border-top:1px solid var(--line); border-radius:0 0 8px 8px; }
details.calitem.k-task { border-left-color:#8a5a00; } details.calitem.k-prep, details.calitem.k-review { border-left-color:#1f4f9a; } details.calitem.k-regional { border-left-color:#6b3fa0; } details.calitem.k-worship { border-left-color:var(--red); }
details.calitem.s-proposed { border-left-style:dashed; } details.calitem.s-done, details.calitem.s-cancelled { opacity:.7; }
.caltime { display:inline-block; min-width:5.5em; font-weight:700; font-size:.85rem; color:var(--muted); }
.calacts { display:flex; flex-wrap:wrap; gap:8px; } .calacts .btn { margin-top:6px; }
fieldset.calpeople { border:1px solid var(--line); border-radius:8px; padding:4px 12px 10px; margin:12px 0; min-width:0; } fieldset.calpeople legend { font-weight:700; font-size:.9rem; padding:0 4px; }
.calchecks { display:flex; flex-wrap:wrap; gap:0 16px; align-items:center; } .calchecks label.check { margin:6px 0 0; font-weight:500; }
.calscroll { max-height:200px; overflow-y:auto; border-top:1px solid var(--line); margin-top:6px; padding-top:4px; }
ul.callist { margin:0; padding-left:18px; }
@media (max-width:760px) { .calgrid { display:none; } .calfilters { margin-left:0; width:100%; } .calfilters > div { min-width:0; flex:1 1 100%; } .caltime { min-width:0; } }
/* Phone app and electronic forms (27 Oct 2026). */
.none { display:none !important; } .hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.appbar { display:none; }
@media (max-width:760px) {
  body.has-appbar { padding-bottom:calc(64px + env(safe-area-inset-bottom)); }
  body.has-appbar .appbar { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:20; background:#fff; border-top:1px solid var(--line); padding:4px 4px calc(4px + env(safe-area-inset-bottom)); justify-content:space-around; box-shadow:0 -2px 10px rgba(0,0,0,.06); }
  .appbtn { flex:1 1 0; display:flex; justify-content:center; text-decoration:none; color:var(--muted); background:none; border:0; font:inherit; padding:4px 2px; border-radius:8px; min-height:52px; cursor:pointer; }
  .appbtn > span { display:flex; flex-direction:column; align-items:center; gap:1px; } .appbtn.on { color:var(--green); background:#f3f6f4; }
  .appicon { font-size:1.35rem; line-height:1.2; } .applabel { font-size:.72rem; font-weight:700; white-space:nowrap; }
}
.apphello { font-size:1.15rem; font-weight:700; margin:6px 0 12px; }
.apptiles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:6px 0 10px; }
@media (max-width:900px) { .apptiles { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.apptile { display:block; background:#fff; border:1px solid var(--line); border-radius:12px; padding:14px; text-decoration:none; color:var(--ink); min-height:104px; }
.apptile > span { display:flex; flex-direction:column; gap:2px; } .apptile:hover, .apptile:focus { border-color:var(--green); }
.apptile.hot { border-color:var(--red); box-shadow:inset 4px 0 0 var(--red); }
.tilebig { font-size:1.6rem; font-weight:800; color:var(--green); line-height:1.1; } .tilelabel { font-weight:700; } .tilesub { font-size:.8rem; color:var(--muted); }
ul.applist { padding-left:18px; } ul.applist li { margin:4px 0; } ol.appsteps li { margin:6px 0; }
.cfbar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; } .cfbar input[type=search] { flex:1 1 260px; max-width:none; margin:0; } .cfbar > div { flex:0 1 260px; }
.cfsec h3 { margin:18px 0 6px; color:var(--green-dark); font-size:.95rem; }
.cfcards { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:8px; }
.cfcard, .cfrow { display:block; background:#fff; border:1px solid var(--line); border-radius:10px; padding:10px 12px; text-decoration:none; color:var(--ink); }
.cfcard > span, .cfrow > span { display:flex; flex-direction:column; gap:2px; } a.cfcard:hover, a.cfrow:hover { border-color:var(--green); }
div.cfcard { opacity:.75; } .cfcard.k-reserved { opacity:.55; }
.cfcode { font-size:.75rem; font-weight:800; color:var(--green); } .cftitle { font-weight:700; } .cfmeta { font-size:.8rem; color:var(--muted); }
.cflist { display:flex; flex-direction:column; gap:8px; margin:8px 0; }
.cfinstr { background:#f7faf8; border-left:4px solid var(--green); padding:8px 12px; border-radius:6px; } .cfnote { color:var(--muted); font-size:.9rem; }
.cfhead { margin:18px 0 4px; font-size:1rem; color:var(--green-dark); }
fieldset.cfchecks, fieldset.cfgrid { border:1px solid var(--line); border-radius:8px; padding:4px 12px 10px; margin:12px 0; min-width:0; } fieldset.cfchecks legend, fieldset.cfgrid legend { font-weight:700; font-size:.9rem; padding:0 4px; }
fieldset.cfchecks label.check { font-weight:500; margin:6px 0 0; } .cfwrites input { margin-top:6px; }
.cfgridhead { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:6px; font-size:.78rem; font-weight:700; color:var(--muted); margin-top:6px; }
.cfgridrow { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); gap:6px; margin-top:6px; } .cfgridrow input { padding:8px; }
.cfcell { margin:0; font-weight:400; } .cfcelllabel { display:none; }
@media (max-width:760px) {
  .cfgridhead { display:none; } .cfgridrow { grid-auto-flow:row; grid-template-columns:1fr; border:1px solid var(--line); border-radius:8px; padding:8px; }
  .cfcelllabel { display:block; font-size:.78rem; font-weight:700; color:var(--muted); margin-bottom:2px; }
}
.cfconfirm { align-items:flex-start !important; } .cfsig { border-top:1px dashed var(--line); padding-top:6px; margin-top:6px; }
ol.cfsteps { padding-left:20px; } ol.cfsteps li { margin:6px 0; } ol.cfsteps li.st-pending b { color:var(--red); } ol.cfsteps li.st-waiting { color:var(--muted); }

.cfpagetitle{margin:.2rem 0 .3rem;font-size:1.25rem}
