[data-livepad-hidden] { display: none !important; }
#livepad-simple-toolbar { margin: 0 0 20px; padding: 14px 20px; background: #f4f7f5; border: 1px solid #dbe5df; border-radius: 8px; color: #253c30; font-size: 14px; }
#livepad-simple-toolbar p { margin: 0; }
#livepad-simple-toolbar p + p { margin-top: 8px; }
#livepad-simple-toolbar .livepad-test-notice { color: #6b6250; font-size: 12px; }
.livepad-simple-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.livepad-simple-actions a { display: inline-block; border: 1px solid #306347; border-radius: 6px; padding: 9px 14px; font-weight: 600; color: #254d37; background: white; text-decoration: none; }
.livepad-simple-actions a:first-child { background: #254d37; color: white; }
.livepad-simple-actions a:focus-visible { outline: 3px solid #8abfa1; outline-offset: 3px; }
[data-livepad-simple] [data-livepad-navigation] { display: flex; flex-direction: column; gap: 8px; }
[data-livepad-simple] [data-livepad-navigation] > div:has(a[href="/invoices"]) { order: -2; }
[data-livepad-simple] [data-livepad-navigation] > div:has(a[href="/clients"]) { order: -1; }

[data-livepad-simple] [data-cy="quickPopoverButton"] { display: none !important; }
/* The invoice-specific search/filter remains available. */
[data-livepad-simple] [data-cy="topNavbar"] button[aria-label="Search"] { display: none !important; }
.livepad-review { margin-top: 12px; padding: 12px; border: 1px solid #c4ccc7; border-radius: 6px; overflow-x: auto; }
.livepad-review h2 { font-weight: 700; margin-bottom: 6px; }
.livepad-review p, .livepad-review label { display: block; margin: 8px 0; }
.livepad-review textarea { display:block; width:100%; min-height:64px; padding:8px; border:1px solid #999; color:#222; background:#fff; }
.livepad-review button { margin:6px 8px 6px 0; padding:8px 12px; border:1px solid #315846; border-radius:4px; background:#fff; color:#244b37; }
.livepad-review button:disabled { opacity:.5; cursor:not-allowed; }
.livepad-review input:not([type=checkbox]) { display:block; border:1px solid #999; padding:6px; color:#222; background:#fff; }
.livepad-review input[type=checkbox] { margin-right:8px; }
.livepad-review table { width:100%; text-align:left; }
.livepad-review th, .livepad-review td { padding:8px; border-bottom:1px solid #ddd; }
.livepad-review a { text-decoration:underline; }
.livepad-review summary { cursor:pointer; padding:8px 0; }
.livepad-review h3 { font-weight:700; font-size:1.15rem; margin:12px 0; }
.livepad-review select { border:1px solid #999; padding:6px; background:#fff; color:#222; }
.livepad-review input[hidden] { display:none; }
.livepad-review td { vertical-align:top; }

/* Keep each billing-address label directly above its own full-width control. */
[data-livepad-simple] .livepad-address-row { display: block; padding-top: 10px; padding-bottom: 10px; }
[data-livepad-simple] .livepad-address-row > dt { display: block; margin: 0 0 6px; }
[data-livepad-simple] .livepad-address-row > dd { display: block; width: 100%; min-width: 0; margin: 0; }
[data-livepad-simple] .livepad-address-row input { width: 100%; box-sizing: border-box; }

[data-livepad-test-screen] main > :not(#livepad-simple-toolbar) { display: none !important; }
[data-livepad-test-link] { display: block; padding: 12px 16px; border-radius: 6px; font-weight: 600; color: inherit; }
[data-livepad-test-screen] [data-livepad-test-link] { background: #374151; color: white; }
[data-livepad-test-screen] .livepad-review input[type=email] { width: 100%; max-width: 480px; }

[data-livepad-test-screen] [data-livepad-navigation] a[href="/invoices"] { background: transparent !important; }


.livepad-invoice-guide { margin-top: 12px; }
.livepad-invoice-guide h2 { font-size: 16px; font-weight: 700; margin-bottom: 6px; }
.livepad-invoice-guide ol { list-style: decimal; padding-left: 22px; margin: 0; }
.livepad-invoice-guide li + li { margin-top: 5px; }


[data-livepad-design-link] {display:block;padding:12px 16px;border-radius:6px;font-weight:600;color:inherit}

.livepad-period-controls {display:flex;gap:12px;align-items:end;flex-wrap:wrap;}
.livepad-period-controls label {display:flex;flex-direction:column;gap:6px;}
.livepad-review table {display:block;max-width:100%;overflow-x:auto;}
.livepad-review td,.livepad-review th {padding:8px;text-align:left;}

/* Bank review is an extension of the native accounting UI; scope all overrides here. */
html[data-livepad-bank-screen] main > :not(#livepad-simple-toolbar) { display:none !important; }
html[data-livepad-bank-screen] #livepad-simple-toolbar { background:#f8fafc; border-color:#e2e8f0; padding:20px; }
.livepad-review.livepad-bank { border:0; padding:0; overflow:visible; color:#1e293b; max-width:1200px; margin:16px auto 0; line-height:1.5; }
.livepad-bank * { box-sizing:border-box; }
.livepad-bank h2 { font-size:24px; letter-spacing:-.025em; }
.livepad-bank h3 { overflow-wrap:anywhere; }
.livepad-bank p,.livepad-bank small { overflow-wrap:anywhere; }
.livepad-bank-steps { display:flex; flex-wrap:wrap; gap:8px 24px; list-style:none; padding:0; margin:12px 0 16px; color:#475569; font-weight:600; }
.livepad-bank-format { margin:12px 0; color:#64748b; }
.livepad-bank-upload { display:grid; grid-template-columns:minmax(200px,1fr) minmax(240px,1.3fr) auto; align-items:end; gap:16px; background:#fff; border:1px solid #e2e8f0; border-radius:8px; padding:18px; margin:16px 0; }
.livepad-bank label { font-size:14px; font-weight:500; }
.livepad-bank input:not([type=checkbox]),.livepad-bank select { min-height:42px; border:1px solid #cbd5e1; border-radius:6px; width:100%; min-width:0; margin-top:6px; background:#fff; color:#0f172a; padding:8px 10px; font:inherit; }
.livepad-bank input:disabled { background:#f1f5f9; color:#64748b; }
.livepad-bank input[type=file] { padding:7px; }
.livepad-bank input[type=file]::file-selector-button { border:0; border-radius:4px; background:#eff6ff; color:#1d4ed8; padding:4px 10px; margin-right:12px; cursor:pointer; }
.livepad-bank button { min-height:42px; border:1px solid #cbd5e1; border-radius:6px; padding:9px 14px; margin:0; background:#fff; color:#334155; font-weight:600; cursor:pointer; transition:background-color .15s,border-color .15s; }
.livepad-bank button:hover:not(:disabled) { background:#f1f5f9; border-color:#94a3b8; }
.livepad-bank button.livepad-bank-primary { background:#2563eb; border-color:#2563eb; color:#fff; }
.livepad-bank button.livepad-bank-primary:hover:not(:disabled) { background:#1d4ed8; border-color:#1d4ed8; }
.livepad-bank button:disabled { opacity:.55; cursor:not-allowed; }
.livepad-bank button.livepad-bank-quiet { background:transparent; color:#64748b; border-color:transparent; font-weight:500; padding-left:0; text-align:left; }
.livepad-bank :is(button,input,select,summary,a):focus-visible { outline:3px solid #93c5fd; outline-offset:3px; }
.livepad-bank-status { padding:12px 14px; margin:16px 0 !important; border-left:3px solid #3b82f6; background:#eff6ff; color:#1e40af; border-radius:4px; }
.livepad-bank-tools { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; margin:16px 0; }
.livepad-bank-tools label { display:flex; align-items:center; gap:10px; margin:0; }
.livepad-bank-tools select { margin:0; width:auto; max-width:100%; }
.livepad-bank-row { display:flex; flex-direction:column; gap:10px; border:1px solid #e2e8f0; border-radius:8px; padding:20px; margin:16px 0; background:#fff; color:#1e293b; box-shadow:0 1px 2px #0f172a06; }
.livepad-bank-row[hidden] { display:none; }
.livepad-bank-row.is-selected { border-color:#2563eb; box-shadow:0 0 0 1px #2563eb; }
.livepad-bank-row-heading { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.livepad-bank-row h4 { font-weight:600; color:#64748b; }
.livepad-bank-badge { border-radius:99px; padding:3px 10px; font-size:12px; font-weight:600; background:#eff6ff; color:#1d4ed8; }
.livepad-bank-badge[data-state=posted],.livepad-bank-badge[data-state=linked] { background:#ecfdf5; color:#047857; }
.livepad-bank-badge[data-state=review] { background:#fffbeb; color:#92400e; }
.livepad-bank-badge[data-state=ignored] { background:#f1f5f9; color:#64748b; }
.livepad-bank-transaction { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px 20px; overflow-wrap:anywhere; }
.livepad-bank-amount { font-size:23px; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.livepad-bank-row p { white-space:pre-wrap; }
.livepad-bank-row small { display:block; color:#64748b; font-size:13px; }
.livepad-bank-row summary { padding:0; color:#64748b; font-size:13px; }
.livepad-bank-row a { display:inline-block; color:#1d4ed8; text-decoration:underline; }
.livepad-bank-row-actions { order:10; border-top:1px solid #f1f5f9; padding-top:8px; }
.livepad-bank-allocation { display:grid; grid-template-columns:minmax(180px,1fr) 150px auto; gap:12px; align-items:end; padding:12px; background:#f8fafc; border-radius:6px; margin:8px 0; }
.livepad-bank-allocation label { min-width:0; margin:0; }
.livepad-bank-allocation select { max-width:100%; }
.livepad-bank-warning { color:#92400e; background:#fffbeb; padding:10px 12px; border-radius:6px; }
/* Native Tailwind resets appearance; width:auto previously collapsed this unstyled checkbox. */
.livepad-bank input[type=checkbox] { appearance:auto; -webkit-appearance:checkbox; width:20px; height:20px; min-width:20px; flex:0 0 20px; margin:2px 0 0; padding:0; accent-color:#2563eb; background-image:none !important; cursor:pointer; }
.livepad-bank label.livepad-bank-selection { display:flex; gap:12px; align-items:flex-start; padding:16px; margin:8px 0 0; border:1px solid #cbd5e1; background:#f8fafc; border-radius:6px; cursor:pointer; min-height:68px; }
.livepad-bank-selection:hover { border-color:#2563eb; }
.livepad-bank-selection:focus-within { outline:3px solid #93c5fd; outline-offset:2px; }
.livepad-bank-selection strong { display:block; font-weight:600; }
.livepad-bank-selection small { margin-top:4px; font-weight:400; }
.livepad-bank-row.is-selected .livepad-bank-selection { background:#eff6ff; border-color:#93c5fd; }
.livepad-bank-booking { position:sticky; bottom:12px; z-index:20; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; background:#fff; border:1px solid #cbd5e1; border-radius:8px; padding:16px 20px; box-shadow:0 4px 20px #0f172a14; margin:20px 0 4px; }
.livepad-bank-booking p { font-weight:600; color:#334155; }
.livepad-bank pre { white-space:pre-wrap; overflow-wrap:anywhere; }
@media(max-width:700px) {
 html[data-livepad-bank-screen] #livepad-simple-toolbar { padding:12px; }
 .livepad-bank-upload,.livepad-bank-allocation { grid-template-columns:minmax(0,1fr); }
 .livepad-bank-row { padding:14px; }
 .livepad-bank-tools { align-items:stretch; }
 .livepad-bank-tools label { flex-direction:column; align-items:stretch; width:100%; }
 .livepad-bank-booking { bottom:0; padding:12px; }
 .livepad-bank-booking button { width:100%; }
}

.livepad-bank-allocation-details { grid-column:1 / -1; font-size:13px; color:#475569; }
.livepad-bank-booking p { min-height:1.5em; }
@media(max-width:700px) { .livepad-bank-booking p { min-height:4.5em; } }

/* Help uses the browser's modal dialog for focus containment and Escape. */
.livepad-help-launch { padding:8px 14px; margin-top:8px; border:1px solid #64748b; border-radius:8px; color:#1e3a5f; background:#fff; font-weight:600; cursor:pointer; }
.livepad-help-dialog { position:fixed; inset:0; width:100%; height:100%; max-width:none; max-height:none; padding:0; margin:0; border:0; background:transparent; color:#172b44; overflow:hidden; }
.livepad-help-dialog::backdrop { background:rgba(15,23,42,.45); }
.livepad-help-shade { position:fixed; inset:0; background:rgba(15,23,42,.65); }
.livepad-help-spot { position:fixed; border:3px solid #60a5fa; border-radius:8px; box-shadow:0 0 0 200vmax rgba(15,23,42,.65); pointer-events:none; }
.livepad-help-panel { box-sizing:border-box; position:fixed; right:20px; top:20px; width:480px; max-width:calc(100% - 24px); max-height:calc(100dvh - 40px); overflow:auto; padding:24px; border:1px solid #cbd5e1; border-radius:16px; background:#fff; box-shadow:0 16px 48px #0f172a40; font-size:15px; line-height:1.6; }
.livepad-help-panel h2 { font-size:22px; font-weight:700; margin:0 0 12px; }
.livepad-help-panel p { margin:10px 0; }
.livepad-help-panel details { margin-top:12px; padding:12px; border:1px solid #cbd5e1; border-radius:10px; }
.livepad-help-panel summary { cursor:pointer; font-weight:650; }
.livepad-help-panel ol { list-style:decimal; padding-left:24px; }
.livepad-help-panel li { margin:14px 0; }
.livepad-help-panel button,.livepad-help-panel a { display:inline-block; margin:4px 0; padding:8px 12px; border:1px solid #64748b; border-radius:7px; background:#fff; color:#1e40af; cursor:pointer; text-decoration:none; font:inherit; }
.livepad-help-panel button:disabled { opacity:.4; cursor:default; }
.livepad-help-panel :focus-visible,.livepad-help-launch:focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
.livepad-help-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.livepad-help-meta { color:#526078; font-size:13px; }
.livepad-help-note { border-left:3px solid #2563eb; padding-left:10px; }
@media(max-width:600px) { .livepad-help-panel { right:12px; padding:16px; } }

.livepad-help-panel{font-family:system-ui,sans-serif}


/* Non-blocking coaching; the native application stays completely interactive. */
.livepad-training{position:fixed;right:16px;bottom:16px;z-index:1000;width:340px;max-width:calc(100vw - 24px);max-height:75dvh;overflow:auto;border:1px solid #93c5fd;border-radius:12px;background:#fff;color:#172b44;box-shadow:0 12px 36px #172b4426;font:14px/1.5 system-ui,sans-serif;padding:14px}
.livepad-training-header{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.livepad-training-header strong{font-size:12px;flex-basis:100%;color:#075985}.livepad-training h2{font-size:20px;font-weight:700;margin:10px 0}.livepad-training p{margin:10px 0}.livepad-training small{display:block;color:#64748b;margin-top:12px}.livepad-training details{padding:8px 0}.livepad-training summary{cursor:pointer;font-weight:600}.livepad-training-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.livepad-training button,.livepad-training a{font:inherit;display:inline-block;cursor:pointer;padding:7px 10px;border:1px solid #94a3b8;border-radius:6px;background:white;color:#1e40af;text-decoration:none}.livepad-training button:disabled{opacity:.4;cursor:default}.livepad-training :focus-visible{outline:3px solid #2563eb;outline-offset:3px}.livepad-training-target{outline:3px solid #3b82f6!important;outline-offset:4px}
@media(max-width:700px){.livepad-training{bottom:8px;right:8px;max-height:70dvh;width:calc(100vw - 16px);padding:10px}.livepad-training h2{font-size:17px}.livepad-training button,.livepad-training a{font-size:12px;padding:6px 8px}}

.livepad-help-home{width:620px;left:50%;right:auto;transform:translateX(-50%)}
.livepad-help-heading{display:flex;justify-content:space-between;align-items:start;gap:16px}.livepad-help-heading button{margin:0}
.livepad-help-card{border-top:1px solid #dbe3ed;padding:18px 0 8px}.livepad-help-card h3{font-size:17px;font-weight:700;margin:0}
.livepad-help-panel .livepad-help-primary{background:#1d4ed8;color:#fff;border-color:#1d4ed8}
.livepad-help-card details{border:0;padding:0;margin:10px 0}.livepad-help-card summary{font-size:14px;color:#475569}

.livepad-training-expect{border-left:3px solid #60a5fa;padding-left:10px;color:#334155}

/* The compact guide stays in document flow, so it cannot cover a native action. */
.livepad-training.is-collapsed{position:static;width:auto;max-width:none;max-height:none;overflow:visible;margin:0 0 12px;padding:10px 12px;box-shadow:none}
.livepad-training.is-collapsed .livepad-training-header strong{flex:1;flex-basis:auto;min-width:180px}

@media(min-width:1200px){html[data-livepad-coaching] main{padding-right:380px!important}}
