:root{--plum: #421f42;--plum-dark: #331933;--navy: #253746;--teal: #00f4d3;--teal-dark: #00c9ae;--teal-light: #99d9d9;--ink: var(--navy);--muted: #64798a;--line: #d9e2e2;--accent: var(--teal);--accent-dark: var(--teal-dark);--error-bg: #fdecec;--error-line: #d64545}*{box-sizing:border-box}body{margin:0;font-family:Poppins,Segoe UI,system-ui,-apple-system,Arial,sans-serif;font-size:15px;color:var(--ink);background:#f4f6f8}.app-header{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:var(--plum);color:#fff}.app-header-brand{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}.app-header-logo{height:11rem;width:auto;display:block}.app-header-title{display:flex;flex-direction:column}.app-header h1{margin:0;font-size:1.15rem;font-weight:700}.subtitle{margin:.15rem 0 0;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--teal-light);opacity:1}.account button.secondary{border-color:#ffffff8c;color:#fff}.account button.secondary:hover:not(:disabled){background:#ffffff1f}.account{display:flex;align-items:center;gap:.75rem;font-size:.85rem}main{padding:1.5rem;max-width:1400px}button{font:inherit;font-weight:600;padding:.55rem 1.15rem;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:var(--plum);cursor:pointer}button:hover:not(:disabled){background:var(--accent-dark);border-color:var(--accent-dark)}button:disabled{opacity:.55;cursor:default}button.secondary{background:transparent;border-color:var(--navy);color:var(--navy)}button.secondary:hover:not(:disabled){background:#2537460f}.card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:1.25rem;max-width:34rem}.card h2{margin-top:0;font-size:1rem}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.75rem}.toolbar label{font-weight:600}.transaction-lock{margin:0 0 .75rem;padding:.45rem .7rem;border-left:4px solid var(--plum);background:#f4f7fb;font-size:1.5rem;font-weight:700;text-decoration:underline}select{font:inherit;padding:.45rem .5rem;border:1px solid var(--line);border-radius:4px;background:#fff;max-width:30rem}.status,.busy{color:var(--muted);font-size:.85rem;margin:.5rem 0}.error{background:var(--error-bg);border-left:4px solid var(--error-line);padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem}.error p{margin:.35rem 0 0;white-space:pre-wrap}.table-scroll{overflow:auto;max-height:70vh;background:#fff;border:1px solid var(--line);border-radius:6px}table{border-collapse:collapse;width:100%;font-size:.85rem}th,td{border-bottom:1px solid var(--line);padding:.4rem .5rem;text-align:left;vertical-align:top;max-width:14rem}thead th{position:sticky;top:0;background:#eef2f6;white-space:nowrap;z-index:1}tbody tr:nth-child(2n){background:#fafbfc}td.row-number{color:var(--muted);text-align:right;white-space:nowrap}.notice{background:#fff8e6;border-left:4px solid #d9a406;padding:.75rem 1rem;border-radius:4px;margin-bottom:1rem;max-width:60rem}.notice p{margin:.35rem 0 0}.notice summary{cursor:pointer;font-weight:700}.notice[open] summary{margin-bottom:.35rem}.notice ul{margin:.35rem 0 0;padding-left:1.2rem}.notice li{margin:.3rem 0}.status[data-kind=error]{color:var(--error-line);font-weight:600}.status[data-kind=success]{color:#1c7c4a;font-weight:600}.status[data-kind=warning]{color:#8a5300;font-weight:600}.new-row>td{background:#f4f7fb;border-top:2px solid var(--plum);padding:.85rem 1rem;position:sticky;left:0;z-index:2;box-shadow:2px 0 6px #00000014}.new-row-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.6rem 1rem;width:min(40rem,90vw)}.new-row-field{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;font-weight:600}.new-row-field-wide,.new-row-actions,.new-row-message{grid-column:1 / -1}.new-row-field select,.new-row-field input{font:inherit;font-weight:400;padding:.3rem .4rem;width:100%;box-sizing:border-box}.new-row-actions{display:flex;gap:.5rem;margin-top:.25rem}.new-row-message,.new-row-failure{color:var(--error-line);font-weight:600;font-size:.8rem;margin:0}.new-row-note{margin:0;font-size:.75rem;color:#5a6472}
