/* NZIMBU theme: charcoal, amber and restrained red from the official logo. */
:root{--color-primary:#222222;--color-secondary:#e7ddd0;--color-accent:#ee9800;--color-background:#fffaf2;--color-surface:#ffffff;--color-text:#222222;--color-muted:#62584b;--color-success:#216542;--color-warning:#795800;--color-error:#a32626;--color-focus:#915b00;--color-border:#aa9d8a;--color-error-surface:#ffecec;--color-success-surface:#e3f4e9;
--primary:var(--color-primary);--secondary:var(--color-secondary);--accent:var(--color-accent);--background:var(--color-background);--surface:var(--color-surface);--text:var(--color-text);--muted:var(--color-muted);--success:var(--color-success);--warning:var(--color-warning);--error:var(--color-error);font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:var(--text);background:var(--background)}*{box-sizing:border-box}body{margin:0}a{color:var(--primary);text-underline-offset:4px}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.header{max-width:1080px;margin:auto;padding:22px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.brand{text-decoration:none;font-weight:850;letter-spacing:.12em;font-size:22px;display:flex;align-items:center;gap:8px}.brand-dot{width:8px;height:8px;background:var(--accent);border-radius:50%}.header nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:14px}.header form{margin:0}.notification{padding:10px;border:1px solid var(--secondary);border-radius:50%}.text-button{border:0;background:none;color:var(--primary);min-height:44px;padding:8px 0}.container{max-width:920px;margin:25px auto;padding:0 20px;min-height:65vh}h1{font-size:clamp(26px,5vw,38px);letter-spacing:-.035em;margin:8px 0 18px;font-weight:650}.muted,small,dt{color:var(--muted)}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.15em}.intro{margin:55px 0 30px}.card{padding:28px;border:1px solid var(--secondary);border-radius:20px;background:var(--surface);margin-bottom:24px}.auth{max-width:470px;margin:30px auto}.stack{display:grid;gap:17px;margin-top:25px}label{display:grid;gap:8px;font-size:14px;font-weight:600}input{width:100%;min-height:48px;border:1px solid var(--color-border);border-radius:9px;padding:12px;background:var(--surface);color:var(--text)}.primary{min-height:50px;background:var(--primary);color:var(--surface);border:0;border-radius:10px;font-weight:650}.primary:disabled{opacity:.7;cursor:wait}.auth-link{display:block;text-align:center;margin-top:24px}.actions{display:grid;gap:16px}.action{display:flex;align-items:center;gap:22px;border:1px solid var(--secondary);border-radius:18px;background:var(--surface);padding:25px;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-weight:700;min-height:110px}.action>span:last-child{margin-left:auto}.action:hover{background:var(--secondary)}.action-icon{font-size:28px;background:var(--background);width:54px;height:54px;display:grid;place-items:center;border-radius:14px}.balance dl{margin:0;display:grid;gap:28px}.balance dd{margin:8px 0 0;font-size:30px;font-weight:650}.balance dd small{font-size:14px}.tabs{display:flex;gap:12px;margin-bottom:20px}.tabs a{flex:1;text-align:center;padding:16px;text-decoration:none;border-bottom:2px solid var(--secondary);text-transform:uppercase;font-weight:650}.tabs a[aria-current]{border-color:var(--primary)}.empty{text-align:center;color:var(--muted);padding:45px 20px}.profile div{margin:20px 0}.profile dd{margin:6px 0;overflow-wrap:anywhere}.alert,.notice{border-radius:10px;padding:16px;background:var(--color-error-surface);color:var(--error)}.notice{background:var(--color-success-surface);color:var(--success)}footer{padding:30px 20px;text-align:center;color:var(--muted);font-size:12px}@media(min-width:720px){.actions{grid-template-columns:repeat(3,1fr)}.action{align-items:flex-start;flex-direction:column;min-height:220px}.action>span:last-child{align-self:flex-end}.balance dl{grid-template-columns:repeat(3,1fr)}}

[hidden]{display:none!important}
.brand img{width:27px;height:auto;flex-shrink:0}.brand{gap:10px}
.identity-logo{width:47px;height:62px;object-fit:contain;display:block;margin-bottom:14px}
.auth .identity-logo{margin:0 auto 14px}.auth>.eyebrow{text-align:center}
.header nav>a{display:inline-flex;align-items:center;min-height:44px}
.intro{margin-top:28px}.intro h1{overflow-wrap:anywhere}
.action{border-top:3px solid var(--accent);transition:background .15s ease}
.action:hover{background:var(--background);border-color:var(--color-border)}
.action-icon{background:var(--background);color:var(--primary)}
.offline-banner{padding:16px;border:1px solid var(--warning);border-radius:12px;background:var(--background);color:var(--warning)}
.pwa-controls{font-size:14px;display:flex;justify-content:flex-end;gap:16px;flex-wrap:wrap}
.pwa-controls:has(> [hidden]):not(:has(> :not([hidden]))){display:none}
.offline-card{max-width:520px;margin:60px auto}.offline-card .primary{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;text-decoration:none}
input{min-width:0}small{line-height:1.5}h1,dd,p{overflow-wrap:anywhere}
@media(max-width:359px){.header{padding:16px}.header nav{width:100%;justify-content:space-between;gap:8px}.container{padding:0 16px}.card{padding:22px}.action{padding:20px;gap:16px}}

/* Request creation, private management and minimal public preview. */
select{font:inherit;min-height:48px;border:1px solid var(--color-border);border-radius:9px;padding:12px;background:var(--surface);color:var(--text);width:100%;min-width:0}select:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}
.receive-form,.request-result{max-width:620px;margin:28px auto}.request-types{border:0;padding:0;margin:4px 0}.request-types legend{font-size:14px;font-weight:650;margin-bottom:12px}.type-options{display:grid;gap:12px}.type-choice{display:flex;align-items:center;gap:14px;min-height:92px;border:1px solid var(--secondary);border-radius:12px;padding:16px;cursor:pointer}.type-choice:has(input:checked){border:2px solid var(--primary);padding:15px;background:var(--background)}.type-choice input{width:20px;min-height:20px;height:20px;margin:0;flex-shrink:0;accent-color:var(--primary)}.type-choice strong{display:block;font-size:16px;margin-bottom:5px}.type-choice small{display:block;font-weight:400}.request-total{font-size:clamp(24px,5vw,36px);font-weight:700;line-height:1.2}.request-total span{font-size:18px;font-weight:500}.request-details{display:grid;grid-template-columns:1fr;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--secondary)}.request-details dt{font-size:13px}.request-details dd{margin:5px 0 0;font-weight:600;font-size:15px;overflow-wrap:anywhere}.qr-section{text-align:center;padding:14px 0}.qr-section svg{display:block;width:280px;max-width:100%;height:auto;margin:auto;background:var(--surface)}.qr-section p{font-size:14px;line-height:1.55}.demand-section{display:grid;gap:14px;margin:24px 0}.demand-code{font-family:ui-monospace,Consolas,monospace;font-size:clamp(16px,4vw,22px);text-align:center;font-weight:700;letter-spacing:.02em}.demand-section #copy-feedback{min-height:22px;margin:0;color:var(--success);font-size:14px}.cancel-link{display:block;text-align:center;min-height:44px;padding:12px;margin-top:16px;color:var(--error)}.cancel-confirm{display:flex;align-items:center;gap:14px;line-height:1.5}.cancel-confirm input{width:22px;min-height:22px;height:22px;margin:0;flex-shrink:0;accent-color:var(--primary)}.request-link{display:inline-flex;align-items:center;min-height:44px}.receive-form .stack{gap:12px}
@media(min-width:560px){.type-options{grid-template-columns:1fr 1fr}.request-details{grid-template-columns:1fr 1fr}}
/* Keep the QR/code within comfortable reach on a phone. */
.request-details{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.request-details>div:nth-child(3) dd{font-family:ui-monospace,Consolas,monospace;font-size:13px}

/* Sender decisions and camera preview. */
.send-choices{display:grid;gap:16px;margin:24px 0}.send-choices .action{flex-direction:column;align-items:flex-start;gap:10px;min-height:110px}.send-choices small{text-transform:none;letter-spacing:0;font-weight:400}.decision-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.decision-actions form{margin:0}.decision-actions button{width:100%}.secondary{display:flex;align-items:center;justify-content:center;min-height:50px;padding:12px;background:var(--surface);color:var(--text);border:1px solid var(--color-border);border-radius:10px;text-decoration:none;font-weight:650;text-align:center}.recipient-name{font-size:22px;font-weight:650;margin-top:0}#camera-preview{display:block;width:100%;max-height:380px;object-fit:cover;border-radius:12px;background:var(--primary)}#camera-status,#paste-status{min-height:24px;font-size:14px}.manual-reference{margin:24px 0}.manual-reference summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:650}.manual-reference[open] .stack{margin-top:8px}@media(min-width:560px){.send-choices{grid-template-columns:1fr 1fr}}

.payment-methods{display:grid;gap:12px;margin:24px 0}.payment-methods .action{min-height:90px;flex-direction:column;align-items:flex-start;gap:10px}.payment-methods small{letter-spacing:0;text-transform:none;font-weight:400}.sandbox-banner{padding:16px;border:2px solid var(--warning);border-radius:10px;color:var(--warning);background:var(--background);font-weight:650}.provider-link{display:flex;align-items:center;justify-content:center;text-decoration:none;padding:14px}.request-result h2{font-size:22px;line-height:1.4}
.history-card a{display:grid;gap:.45rem;color:inherit;text-decoration:none;overflow-wrap:anywhere}.history-card a:focus-visible{outline:3px solid var(--amber,#ee9800);outline-offset:5px}.history-card strong{font-size:1.35rem}.history-item{font-family:monospace}.history-search{display:grid;gap:.6rem;margin:1rem 0}.history-search input{min-width:0;width:100%;box-sizing:border-box}.history-card{margin:1rem 0}.receipt dd{overflow-wrap:anywhere}.tabs a[aria-current]{background:#ee9800;color:#222222} [hidden]{display:none!important}

.receipt .amount{font-size:1.6rem;font-weight:700}

select,textarea{font:inherit;max-width:100%;width:100%;min-height:48px;border:1px solid var(--color-border);border-radius:9px;padding:12px;background:var(--surface);color:var(--text)}select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}textarea{min-height:90px;resize:vertical}.dis-amount{font-size:1.6rem;font-weight:700;overflow-wrap:anywhere}.dis-card a{display:grid;gap:.5rem;color:inherit;text-decoration:none;overflow-wrap:anywhere}.dis-card strong{font-size:1.4rem}.dis-item{font-family:monospace}.dis-status-nav{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}.dis-status-nav a{padding:.65rem}.dis-status-nav a[aria-current]{background:var(--accent);color:var(--primary);border-radius:8px}.dis-check{display:flex;align-items:center;gap:.7rem;line-height:1.5}.dis-check input{width:22px;min-height:22px;flex:0 0 22px}.request-details dd,.balance dd{overflow-wrap:anywhere}fieldset{min-width:0;border:1px solid var(--secondary);border-radius:10px;padding:16px}fieldset label{margin:.75rem 0}

/* Mobile-first administration: wrapping cards rather than wide data tables. */
.admin-nav{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.admin-nav a{border:1px solid #d8c8af;border-radius:9px;padding:10px 12px;text-decoration:none;overflow-wrap:anywhere}.admin-nav a[aria-current=page]{background:#222222;color:#fffaf2}
.admin-grid{display:grid;gap:12px;grid-template-columns:1fr}.admin-metric{font-size:2rem}.admin-filters{display:grid;grid-template-columns:1fr;gap:12px}.admin-filters label{min-width:0}.admin-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0}.admin-account-form+.admin-account-form{margin-top:25px;padding-top:20px;border-top:1px solid #d8c8af}.admin-audit-summary,code{overflow-wrap:anywhere;white-space:pre-wrap}.admin-tx h2{overflow-wrap:anywhere}#admin-content{min-width:0}#admin-content [hidden]{display:none!important}
@media(min-width:768px){.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

#admin-content h1,#admin-content h2,#admin-content p,#admin-content dd{overflow-wrap:anywhere}#admin-content .card{min-width:0}

/* Notification cards remain keyboard-accessible, compact and explicitly labelled read/unread. */
.header .notification{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;text-decoration:none;flex-shrink:0}#notification-badge{font-size:12px;font-weight:800;background:#ee9800;color:#222222;border-radius:20px;padding:2px 6px;white-space:nowrap}.notification-card{padding:0;margin:12px 0;overflow:hidden}.notification-card.notification-unread{border-left:4px solid #ee9800}.notification-open{margin:0}.notification-open button{display:grid;gap:8px;width:100%;text-align:left;border:0;background:transparent;color:inherit;font:inherit;padding:20px;min-height:50px;overflow-wrap:anywhere}.notification-open strong{font-size:1.1rem}.notification-message{white-space:pre-wrap;overflow-wrap:anywhere}.notification-state{font-size:.85rem;font-weight:700}.notification-open-label{font-size:.85rem;text-decoration:underline}.notification-detail h2{overflow-wrap:anywhere}.notification-recipients{display:grid;gap:12px;margin:20px 0}.notification-recipients a{overflow-wrap:anywhere;min-height:44px;display:flex;align-items:center}.notification-detail .secondary{margin:12px 0}#notification-content .tabs{margin-top:20px}.notification-open button:focus-visible{outline:3px solid #915b00;outline-offset:-5px}

.site-footer{padding:20px 16px;text-align:center}.site-footer nav{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:4px 20px}.site-footer a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:inherit;text-transform:uppercase;font-size:.8rem;overflow-wrap:anywhere}.site-footer small{display:block;margin-top:4px}.support-card{margin:12px 0}.support-card a{display:grid;gap:8px;min-height:44px;color:inherit;text-decoration:none;overflow-wrap:anywhere}.support-card strong{font-size:1.1rem}.support-card a:focus-visible{outline:3px solid #915b00}.support-ticket h2,.support-admin-card h2,.legal-page h2{overflow-wrap:anywhere}.support-message{margin:12px 0}.support-internal{border-left:4px solid #915b00}.support-controls form{margin:12px 0}#support-content .secondary{margin:12px 0}#support-content textarea{resize:vertical;min-height:100px}#support-content{min-width:0}
#support-content .tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}#support-content .tabs a{min-width:0;padding:14px 6px;font-size:.8rem;overflow-wrap:anywhere}

/* Shared final-release controls and keyboard navigation. */
:root{--space-small:8px;--space-medium:16px;--space-large:24px;--radius-control:10px;--control-height:50px}
body{line-height:1.5}button,input,select,textarea{font:inherit}.primary,.secondary{min-height:var(--control-height);border-radius:var(--radius-control);padding:12px 16px}.admin-nav a,.dis-status-nav a{min-height:44px;display:inline-flex;align-items:center}.history-card a:focus-visible{outline-color:var(--color-focus)}.tabs a{min-width:0;overflow-wrap:anywhere}.card{min-width:0}.skip-link{position:absolute;top:8px;left:8px;transform:translateY(-150%);z-index:10;background:var(--surface);padding:12px 16px;border:2px solid var(--color-focus);border-radius:var(--radius-control)}.skip-link:focus{transform:none}
@media(max-width:359px){.request-details{grid-template-columns:minmax(0,1fr)}.decision-actions{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Justified body copy on the three legal pages only. */
.legal-page p{text-align:justify;text-align-last:start;hyphens:auto}
