.utility-main{min-height:60vh;padding-block:28px 60px}.utility-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:36px;box-shadow:0 8px 22px #183e3504}.utility-card>h1,.workspace-heading h1{font-size:clamp(32px,4vw,46px);letter-spacing:-1.5px;line-height:1.15;margin:18px 0}.utility-card>h1 em{font-family:var(--serif);font-weight:400}.utility-card>p:not(.eyebrow){color:var(--body);font-size:14px;line-height:1.8;margin-bottom:24px}.generator-card{max-width:800px;margin:auto}.notice-card,.login-card{max-width:580px;margin:15px auto 40px}.utility-label{display:block;font-weight:600;font-size:13px;margin:24px 0 9px}.utility-input,.copy-row input{width:100%;font:inherit;color:var(--ink);background:#fcfdf9;border:1px solid #dce3d6;border-radius:10px;padding:13px 15px;min-height:48px}.copy-row{display:flex;gap:12px}.copy-row input{min-width:0}.copy-row .button{width:auto;flex-shrink:0;padding:12px 22px}.utility-feedback{min-height:20px;margin:12px 0!important;font-size:12px!important}.generator-summary{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.generator-summary dt,.record-details dt{font-size:12px;color:var(--muted);margin-bottom:5px}.generator-summary dd{font-size:13px;overflow-wrap:anywhere}.json-response{font:12px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f7ef;border:1px solid var(--line);border-radius:12px;padding:20px;margin:0}.login-card .button{margin-top:24px}.utility-error{color:var(--error)!important;background:var(--error-bg);padding:12px;border-radius:9px}.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.workspace-heading p{color:var(--body);font-size:13px}.utility-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border:1px solid #cdd8c5;border-radius:9px;background:#f6f8f1;font:600 12px var(--sans);color:var(--forest);cursor:pointer}.payment-list{display:grid;gap:18px}.payment-record{padding:24px}.record-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.record-top h2{font-size:15px;letter-spacing:0;overflow-wrap:anywhere;margin-top:4px}.utility-caption{color:var(--body);font-size:12px}.record-status{font-size:11px;white-space:nowrap;background:#edf3e5;border-radius:7px;padding:6px 9px}.record-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:23px 0}.record-details dd{font-size:13px;overflow-wrap:anywhere}.record-details small{display:block;font-size:12px;color:var(--body);margin-top:4px}.record-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.review-form{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.review-form summary{font-size:13px;cursor:pointer}.review-form form{max-width:600px}.review-form .utility-secondary{margin-top:15px}textarea.utility-input{resize:vertical}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #649c64;outline-offset:3px}@media(max-width:760px){.utility-main{padding-top:5px}.utility-card{padding:25px}.workspace-heading{align-items:flex-start}.workspace-heading h1{font-size:30px}.record-details{grid-template-columns:repeat(2,minmax(0,1fr))}.record-top{align-items:flex-start}.generator-summary{grid-template-columns:1fr}.copy-row{flex-direction:column}.copy-row .button{width:100%}.utility-input,.copy-row input{font-size:16px}.record-top h2{font-size:12px}.utility-card>h1{font-size:35px}.notice-card,.login-card{margin-top:0}}


/* Admin workspace. Shared generator and customer checkout styles stay unchanged. */
.admin-page .container { width: min(1240px, calc(100% - 80px)); }
.admin-site-header { height: 104px; border-bottom: 1px solid #e4e9dd; }
.admin-main { padding-block: 38px 58px; }
.admin-topnav { display: flex; align-items: center; gap: 24px; min-width: 0; }
.admin-topnav > a { color: var(--forest); font-size: 12px; font-weight: 650; }
.admin-topnav form { display: flex; }
.admin-topnav button { display: inline-flex; align-items: center; gap: 12px; min-height: 40px; padding: 5px 0 5px 20px; border-left: 1px solid #dce4d4; background: none; color: #61705c; font: 500 12px var(--sans); }
.admin-access-label { padding: 7px 10px; border: 1px solid #d9e3ce; border-radius: 6px; color: #748267; font-size: 9px; font-weight: 650; letter-spacing: 1.2px; white-space: nowrap; }
.admin-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.admin-heading .eyebrow { margin: 0 0 12px; font-size: 10px; letter-spacing: 1.7px; }
.admin-heading h1 { margin: 0; font-size: clamp(30px, 3.4vw, 43px); font-weight: 550; line-height: 1.2; letter-spacing: -1.9px; }
.admin-heading h1 > span { color: #9cba72; }
.admin-heading p:not(.eyebrow) { margin-top: 10px; color: #74806e; font-size: 12px; line-height: 1.8; }
.admin-button { display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-height: 42px; padding: 10px 16px; border: 1px solid transparent; border-radius: 8px; font: 600 12px/1.5 var(--sans); text-align: center; cursor: pointer; transition: background 150ms ease, border-color 150ms ease; }
.admin-button-primary { background: var(--forest); color: #f6f9ee; }
.admin-button-primary:hover:not(:disabled) { background: #245044; }
.admin-button-secondary { border-color: #dce3d4; background: #fafcf6; color: #53674a; }
.admin-button-secondary:hover:not(:disabled):not([aria-disabled]) { border-color: #acbf9b; background: #f0f5e8; }
.admin-button:disabled, .admin-button[aria-disabled] { opacity: .48; cursor: not-allowed; }
.admin-feedback { margin: 0 0 22px; padding: 13px 16px; border: 1px solid #dae5ce; border-radius: 9px; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.admin-feedback-success { background: #edf5e5; color: #45643b; }
.admin-feedback-error { border-color: #ead2cd; background: #fbefeb; color: #9c4238; }
.admin-feedback-warning { border-color: #eed6b4; background: #fff6e9; color: #835322; }
.admin-context { margin-bottom: 20px; color: #7a8473; font-size: 11px; }
.admin-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-bottom: 25px; }
.admin-metric { position: relative; min-width: 0; padding: 22px 24px; border: 1px solid #e1e7d9; border-radius: 15px; background: #fff; }
.admin-metric > p { margin-bottom: 13px; color: #6f7c65; font-size: 11px; }
.admin-metric > strong { display: block; color: var(--forest); font-size: 35px; font-weight: 550; line-height: 1.2; letter-spacing: -1.3px; overflow-wrap: anywhere; }
.admin-metric > strong.admin-metric-money { font-size: clamp(21px, 2.2vw, 29px); padding-top: 6px; padding-bottom: 2px; letter-spacing: -1px; }
.admin-metric > span:last-child { display: block; margin-top: 9px; color: #89927f; font-size: 10px; line-height: 1.7; }
.admin-metric-icon { position: absolute; top: 19px; right: 20px; color: #a9bb97; font-size: 21px; font-weight: 400; }
.admin-create-card { display: grid; grid-template-columns: minmax(180px, .85fr) minmax(0, 2fr); align-items: center; gap: 28px; padding: 25px; border: 1px solid #dce6d1; border-radius: 15px; background: #eef4e6; scroll-margin-top: 25px; }
.admin-kicker { margin-bottom: 8px; color: #839173; font-size: 9px; font-weight: 650; line-height: 1.6; letter-spacing: 1.4px; }
.admin-create-intro h2 { color: var(--forest); font-size: 20px; font-weight: 600; letter-spacing: -.7px; line-height: 1.5; }
.admin-create-intro > p:last-child { margin-top: 5px; color: #7a886b; font-size: 11px; line-height: 1.7; }
.admin-create-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 14px; min-width: 0; }
.admin-create-form > .admin-button { margin-top: 25px; min-height: 44px; }
.admin-form-field { min-width: 0; }
.admin-form-field label { display: block; margin-bottom: 8px; color: #42543a; font-size: 11px; font-weight: 600; line-height: 1.5; }
.admin-form-field label > span { color: #8d987f; font-weight: 400; }
.admin-form-field input, .admin-form-field select, .admin-form-field textarea { width: 100%; min-width: 0; min-height: 44px; padding: 11px 12px; border: 1px solid #dae3d0; border-radius: 8px; background: #fdfefb; color: var(--ink); font: 450 12px/1.6 var(--sans); }
.admin-form-field input::placeholder, .admin-form-field textarea::placeholder { color: #919b85; opacity: 1; }
.admin-form-field select { padding-right: 26px; }
.admin-form-field textarea { resize: vertical; }
.admin-form-field small { display: block; margin-top: 6px; color: #879578; font-size: 9px; line-height: 1.65; }
.admin-amount-input { display: flex; align-items: center; min-width: 0; border: 1px solid #dae3d0; border-radius: 8px; background: #fdfefb; }
.admin-amount-input input { flex: 1; width: 0; border: 0; background: transparent; }
.admin-amount-input > span { flex: 0 0 auto; margin-right: 12px; color: #899a79; font-size: 10px; }
.admin-generated-card { margin-top: 20px; padding: 25px; border: 1px solid #cbdcba; border-radius: 15px; background: #f4faec; }
.admin-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.admin-section-heading h2 { color: var(--forest); font-size: 22px; font-weight: 550; letter-spacing: -.7px; line-height: 1.4; }
.admin-generated-url { display: flex; gap: 12px; min-width: 0; }
.admin-generated-url input { flex: 1; width: 0; min-width: 0; padding: 12px; border: 1px solid #d7e3cb; border-radius: 8px; background: #fff; color: #415b35; font: 11px/1.7 ui-monospace, SFMono-Regular, Consolas, monospace; }
.admin-generated-meta { margin-top: 11px; color: #849375; font-size: 10px; line-height: 1.8; overflow-wrap: anywhere; }
.admin-generated-meta > span { margin-inline: 7px; }
.admin-json-details { margin-top: 16px; padding-top: 13px; border-top: 1px solid #deead2; }
.admin-json-details summary { width: fit-content; color: #5c744b; font-size: 11px; cursor: pointer; }
.admin-json-details pre { margin-block: 12px; padding: 15px; border: 1px solid #e0ead7; border-radius: 8px; background: #fff; color: #526647; font: 11px/1.8 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-json-details .admin-button { min-height: 34px; padding: 6px 12px; font-size: 10px; }
.admin-payments-section { margin-top: 37px; }
.admin-page-count { color: #8a957f; font-size: 11px; white-space: nowrap; }
.admin-page-count > span { margin-inline: 7px; color: #bec8b2; }
.admin-filters { display: grid; grid-template-columns: minmax(180px, 1.4fr) minmax(130px, 1fr) minmax(100px, .8fr) minmax(115px, 1fr) auto auto; align-items: end; gap: 11px; margin-bottom: 20px; }
.admin-filters .admin-button { min-height: 44px; }
.admin-clear-filters { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding-inline: 2px; color: #87977b; font-size: 11px; text-decoration: underline; text-underline-offset: 4px; }
.admin-table-wrap { overflow: hidden; border: 1px solid #dfe6d6; border-radius: 13px; background: #fff; }
.admin-payment-table { width: 100%; table-layout: fixed; border-collapse: collapse; text-align: left; }
.admin-payment-table th { padding: 14px 13px; border-bottom: 1px solid #e6ebdf; background: #f5f8f0; color: #839176; font-size: 9px; font-weight: 600; letter-spacing: .2px; line-height: 1.6; }
.admin-payment-table th:nth-child(1) { width: 18%; }
.admin-payment-table th:nth-child(2) { width: 18%; }
.admin-payment-table th:nth-child(3) { width: 12%; }
.admin-payment-table th:nth-child(4) { width: 13%; }
.admin-payment-table th:nth-child(5) { width: 9%; }
.admin-payment-table th:nth-child(6) { width: 12%; }
.admin-payment-table th:nth-child(7) { width: 13%; }
.admin-payment-table th:nth-child(8) { width: 5%; }
.admin-payment-table td { padding: 18px 13px; border-bottom: 1px solid #edf0e7; color: #65755b; font-size: 10px; line-height: 1.7; vertical-align: middle; overflow-wrap: anywhere; }
.admin-payment-table tbody tr:last-child td { border-bottom: 0; }
.admin-payment-table tbody tr:hover { background: #fcfef8; }
.admin-payment-reference > a { color: #35542a; font-size: 11px; font-weight: 600; }
.admin-payment-reference > a:hover { text-decoration: underline; text-underline-offset: 3px; }
.admin-payment-reference > small, .admin-customer-cell > small { display: block; margin-top: 5px; color: #939f87; font-size: 9px; line-height: 1.6; }
.admin-customer-cell > strong { color: #4d6242; font-size: 11px; font-weight: 550; }
.admin-amount-cell { color: #435e35 !important; font-weight: 600; }
.admin-badge { display: inline-flex; align-items: center; min-height: 25px; padding: 4px 8px; border: 1px solid transparent; border-radius: 6px; background: #f0f3eb; color: #8a967f; font-size: 9px; font-weight: 550; line-height: 1.5; }
.admin-badge[data-status="approved"] { background: #eaf4e1; color: #608447; }
.admin-badge[data-status="pending"] { background: #fbf2de; color: #a4863f; }
.admin-badge[data-status="processing"] { background: #edf2ed; color: #6c8372; }
.admin-badge[data-status="rejected"] { background: #f9eae5; color: #a96556; }
.admin-badge[data-status="review_required"] { background: #f3ece7; color: #9a7e68; }
.admin-receipt-link { color: #6e8b56; font-size: 10px; white-space: nowrap; }
.admin-receipt-link > span { margin-right: 4px; }
.admin-muted { color: #a1aa97; font-size: 10px; }
.admin-review-label { display: inline-flex; align-items: center; gap: 6px; color: #8c9881; font-size: 10px; }
.admin-review-label > span { flex: 0 0 auto; width: 5px; height: 5px; border-radius: 50%; background: #bec9b2; }
.admin-review-label[data-review="accepted"] > span { background: #9abb77; }
.admin-review-label[data-review="flagged"] > span { background: #c49a6c; }
.admin-date-cell { color: #89987b !important; font-size: 9px !important; }
.admin-row-action > a { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-width: 28px; min-height: 34px; color: #88a16f; font-size: 18px; }
.admin-row-action-text { display: none; }
.admin-empty-state { padding: 48px 20px; border: 1px dashed #d8e1cd; border-radius: 13px; background: #fafcf6; text-align: center; }
.admin-empty-icon { display: inline-flex; align-items: center; justify-content: center; width: 45px; height: 45px; margin-bottom: 15px; border: 1px solid #dfe8d4; border-radius: 13px; color: #94af78; font-size: 26px; }
.admin-empty-state h3 { color: var(--forest); font-size: 20px; font-weight: 550; letter-spacing: -.5px; }
.admin-empty-state p { margin: 9px 0 20px; color: #87977a; font-size: 12px; line-height: 1.8; }
.admin-pagination { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 19px; }
.admin-pagination > p { max-width: 430px; color: #8d9c80; font-size: 10px; line-height: 1.8; }
.admin-pagination > p > span { display: block; }
.admin-pagination nav { display: flex; align-items: center; gap: 10px; }
.admin-pagination .admin-button { min-height: 35px; padding: 7px 11px; font-size: 10px; white-space: nowrap; }
.admin-pagination-current { padding-inline: 3px; color: #7c8e6e; font-size: 10px; white-space: nowrap; }
.admin-back-link { display: inline-flex; align-items: center; min-height: 30px; margin-bottom: 18px; color: #7d916d; font-size: 11px; }
.admin-detail-heading { align-items: flex-start; }
.admin-detail-reference { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 11px !important; overflow-wrap: anywhere; }
.admin-detail-heading-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; padding-top: 10px; }
.admin-detail-heading-actions .admin-badge { min-height: 29px; font-size: 10px; }
.admin-detail-heading-actions .admin-button { min-height: 39px; font-size: 11px; }
.admin-detail-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(290px, .9fr); align-items: start; gap: 23px; }
.admin-detail-main, .admin-detail-sidebar { display: grid; gap: 23px; min-width: 0; }
.admin-panel { min-width: 0; padding: 27px; border: 1px solid #dfe6d5; border-radius: 16px; background: #fff; }
.admin-panel-heading { margin-bottom: 20px; }
.admin-panel-heading h2 { color: var(--forest); font-size: 22px; font-weight: 550; letter-spacing: -.8px; line-height: 1.4; }
.admin-panel-heading-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.admin-detail-amount { padding: 20px; border: 1px solid #e1e9d7; border-radius: 10px; background: #f5f9ee; }
.admin-detail-amount > span { display: block; margin-bottom: 10px; color: #90a17e; font-size: 10px; }
.admin-detail-amount > strong { display: block; color: var(--forest); font-size: clamp(25px, 2.7vw, 34px); font-weight: 500; letter-spacing: -1.2px; overflow-wrap: anywhere; }
.admin-detail-amount > small { display: block; margin-top: 9px; color: #9aae85; font-size: 9px; }
.admin-detail-list { margin-top: 12px; }
.admin-detail-list > div { display: grid; grid-template-columns: 155px minmax(0, 1fr); align-items: baseline; gap: 20px; padding: 15px 0; border-bottom: 1px solid #eef1e8; }
.admin-detail-list > div:last-child { padding-bottom: 0; border-bottom: 0; }
.admin-detail-list dt { color: #9aac89; font-size: 11px; line-height: 1.7; }
.admin-detail-list dd { min-width: 0; color: #596f48; font-size: 12px; line-height: 1.8; overflow-wrap: anywhere; }
.admin-monospace { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 11px !important; }
.admin-panel-copy, .admin-empty-copy { color: #81986d; font-size: 12px; line-height: 1.9; }
.admin-panel-note { margin-top: 20px; color: #9fb18f; font-size: 10px; line-height: 1.9; }
.admin-review-panel { border-color: #d2e0c3; background: #f7faf2; }
.admin-review-panel .admin-panel-copy { margin-bottom: 23px; }
.admin-review-panel form { display: grid; gap: 19px; }
.admin-review-panel .admin-button { justify-self: start; }
.admin-file-type { display: inline-flex; padding: 6px 9px; border: 1px solid #dce8ce; border-radius: 6px; color: #91a976; font-size: 10px; }
.admin-receipt-preview { display: flex; align-items: center; justify-content: center; min-height: 190px; max-height: 360px; padding: 15px; overflow: hidden; border: 1px solid #e1e7d8; border-radius: 10px; background: #f4f7ee; }
.admin-receipt-preview img { display: block; max-width: 100%; max-height: 320px; object-fit: contain; }
.admin-receipt-pdf { flex-direction: column; gap: 10px; min-height: 220px; }
.admin-receipt-pdf svg { width: 45px; height: 45px; margin-bottom: 5px; color: #a1b78b; }
.admin-receipt-pdf strong { color: #6c8757; font-size: 13px; font-weight: 550; }
.admin-receipt-pdf > span { color: #a1b28e; font-size: 10px; }
.admin-receipt-metadata { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-top: 18px; }
.admin-receipt-metadata > div:first-child { min-width: 0; }
.admin-receipt-metadata strong { display: block; color: #607c4b; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.admin-receipt-metadata > div:first-child > span { display: block; margin-top: 5px; color: #a2b68d; font-size: 10px; }
.admin-receipt-metadata > div:first-child > span > span { margin-inline: 5px; }
.admin-receipt-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.admin-receipt-actions .admin-button { min-height: 35px; padding: 7px 12px; font-size: 10px; }
.admin-empty-receipt { padding: 28px 18px; border: 1px dashed #dfe7d4; border-radius: 10px; background: #fafcf6; text-align: center; }
.admin-empty-receipt > span { display: block; margin-bottom: 10px; color: #b2c59b; font-size: 30px; }
.admin-empty-receipt > strong { color: #819c68; font-size: 13px; font-weight: 550; }
.admin-empty-receipt p { margin-top: 6px; color: #b0c09f; font-size: 10px; }
.admin-activity-list { display: grid; gap: 23px; list-style: none; }
.admin-activity-list > li { position: relative; padding-left: 22px; }
.admin-activity-list > li::before { position: absolute; top: 15px; bottom: -25px; left: 4px; width: 1px; background: #e4ebdc; content: ''; }
.admin-activity-list > li:last-child::before { display: none; }
.admin-activity-dot { position: absolute; top: 5px; left: 0; width: 9px; height: 9px; border: 2px solid #d5e4c5; border-radius: 50%; background: #a8c28b; }
.admin-activity-list > li > div > strong { display: block; color: #718e5a; font-size: 12px; font-weight: 550; line-height: 1.7; overflow-wrap: anywhere; }
.admin-activity-list time { display: block; margin-top: 4px; color: #b2c29f; font-size: 9px; line-height: 1.7; }
.admin-event-details { margin-top: 9px; }
.admin-event-details summary { width: fit-content; color: #a0b78a; font-size: 10px; cursor: pointer; }
.admin-event-details dl { display: grid; gap: 10px; margin-top: 12px; padding: 12px; border: 1px solid #e4ecdc; border-radius: 8px; background: #fafcf7; }
.admin-event-details dt { color: #a4b793; font-size: 9px; line-height: 1.7; }
.admin-event-details dd { margin-top: 2px; color: #75955e; font-size: 11px; line-height: 1.7; overflow-wrap: anywhere; }
.admin-login-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .85fr); align-items: center; gap: 80px; max-width: 1000px; margin: 45px auto 50px; }
.admin-login-intro > .eyebrow { margin-bottom: 25px; font-size: 10px; }
.admin-login-intro h1 { font-size: clamp(36px, 4.4vw, 58px); line-height: 1.15; letter-spacing: -2.7px; }
.admin-login-intro > p:not(.eyebrow) { max-width: 330px; margin-top: 26px; color: #859875; font-size: 13px; line-height: 1.9; }
.admin-login-assurance { display: flex; align-items: center; gap: 14px; width: fit-content; margin-top: 35px; padding: 17px 22px; border: 1px solid #dce7d1; border-radius: 12px; background: #edf5e3; }
.admin-login-assurance > span { color: #a5be8b; font-size: 28px; }
.admin-login-assurance p { color: #91a67c; font-size: 10px; line-height: 1.9; }
.admin-login-assurance strong { color: #718e5c; font-weight: 500; }
.admin-login-card { padding: 35px; }
.admin-login-card h2 { margin-block: 9px 8px; color: var(--forest); font-size: 31px; font-weight: 550; line-height: 1.3; letter-spacing: -1.2px; }
.admin-login-card > p:not(.admin-kicker):not(.admin-feedback):not(.admin-login-footnote) { margin-bottom: 30px; color: #8ba077; font-size: 12px; line-height: 1.8; }
.admin-access-mark { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-bottom: 25px; border-radius: 13px; background: var(--forest); color: #d5eea8; font-size: 27px; }
.admin-login-card form { display: grid; gap: 22px; }
.admin-login-card .admin-button { width: 100%; }
.admin-login-footnote { margin: 19px 0 0 !important; color: #b0c09f !important; font-size: 10px !important; text-align: center; }
.admin-page > .page-footer { border-top: 1px solid #e4e9dd; }
.admin-page > .page-footer > span:last-child { margin-left: auto; }
.admin-toast { position: fixed; z-index: 50; bottom: 24px; left: 50%; max-width: min(420px, calc(100% - 32px)); padding: 13px 19px; transform: translateX(-50%); border: 1px solid #d3e2c2; border-radius: 10px; background: #f5fbea; color: #648a46; font-size: 12px; line-height: 1.8; text-align: center; box-shadow: 0 5px 22px #16370e12; }
.admin-copy-buffer { position: fixed; top: 0; left: -10000px; width: 1px; height: 1px; }
.admin-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

@media (max-width: 1050px) {
  .admin-filters { grid-template-columns: minmax(180px, 1.5fr) repeat(3, minmax(105px, 1fr)); }
  .admin-filters > .admin-button { grid-column: 1 / 2; }
  .admin-clear-filters { justify-self: start; }
  .admin-create-card { grid-template-columns: 1fr; gap: 20px; }
  .admin-create-intro > p:last-child { margin-top: 3px; }
}
@media (max-width: 950px) {
  .admin-table-wrap { border: 0; background: transparent; }
  .admin-payment-table, .admin-payment-table tbody { display: block; }
  .admin-payment-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .admin-payment-table tbody { display: grid; gap: 15px; }
  .admin-payment-table tr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 20px; padding: 21px; border: 1px solid #dfe7d5; border-radius: 13px; background: #fff; }
  .admin-payment-table td { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 6px; min-width: 0; padding: 0; border: 0; font-size: 11px; }
  .admin-payment-table td::before { color: #a0b18b; font-size: 9px; content: attr(data-label); }
  .admin-payment-reference { grid-column: 1 / 3; }
  .admin-customer-cell { grid-column: 1 / 3; }
  .admin-payment-reference > a, .admin-customer-cell > strong { font-size: 12px; }
  .admin-payment-reference > small, .admin-customer-cell > small { margin-top: 0; font-size: 10px; }
  .admin-payment-table .admin-row-action { grid-column: 1 / -1; align-items: stretch; padding-top: 9px; border-top: 1px solid #edf2e6; }
  .admin-row-action > a { justify-content: space-between; font-size: 14px; }
  .admin-row-action-text { display: inline; font-size: 11px; }
  .admin-detail-grid { grid-template-columns: 1fr; }
  .admin-detail-sidebar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; }
  .admin-login-layout { gap: 40px; }
}
@media (max-width: 760px) {
  .admin-page .container { width: calc(100% - 40px); }
  .admin-site-header { height: 90px; gap: 15px; }
  .admin-main { padding-top: 28px; }
  .admin-topnav { gap: 15px; }
  .admin-topnav .admin-access-label { display: none; }
  .admin-topnav button { padding-left: 15px; font-size: 11px; }
  .admin-heading { align-items: flex-start; gap: 20px; }
  .admin-heading h1 { font-size: 32px; letter-spacing: -1.5px; }
  .admin-heading > .admin-button { min-height: 39px; padding: 9px 12px; font-size: 10px; }
  .admin-metrics { gap: 10px; }
  .admin-metric { padding: 17px 15px; }
  .admin-metric > p { max-width: 140px; font-size: 10px; line-height: 1.7; }
  .admin-metric-icon { top: 13px; right: 13px; font-size: 16px; }
  .admin-metric > strong { font-size: 30px; }
  .admin-metric > strong.admin-metric-money { font-size: 21px; padding-top: 9px; }
  .admin-metric > span:last-child { font-size: 9px; }
  .admin-pagination { align-items: flex-start; flex-direction: column; }
  .admin-panel { padding: 24px; }
  .admin-detail-heading { flex-direction: column; gap: 17px; }
  .admin-detail-heading-actions { justify-content: flex-start; padding: 0; }
  .admin-detail-sidebar { grid-template-columns: 1fr; }
  .admin-login-layout { grid-template-columns: 1fr; gap: 35px; max-width: 520px; margin: 10px auto 20px; }
  .admin-login-intro h1 { font-size: 43px; }
  .admin-login-intro > p:not(.eyebrow) { margin-top: 17px; }
  .admin-login-assurance { display: none; }
  .admin-login-card { padding: 29px; }
}
@media (max-width: 560px) {
  .admin-site-header .brand-wordmark { font-size: 23px; }
  .admin-site-header .brand-mark { width: 32px; height: 32px; }
  .admin-topnav > a { display: none; }
  .admin-access-label { font-size: 8px; letter-spacing: .8px; }
  .admin-heading { flex-direction: column; }
  .admin-heading > .admin-button { min-height: 42px; }
  .admin-context { font-size: 10px; }
  .admin-metrics { grid-template-columns: 1fr; gap: 10px; }
  .admin-metric { min-height: 107px; padding: 17px 19px; }
  .admin-metric > p { max-width: none; margin-bottom: 9px; font-size: 11px; }
  .admin-metric > strong { font-size: 29px; }
  .admin-metric > strong.admin-metric-money { padding: 0; font-size: 25px; }
  .admin-metric > span:last-child { margin-top: 7px; }
  .admin-create-card, .admin-generated-card { padding: 21px; }
  .admin-create-form { grid-template-columns: 1fr; gap: 18px; }
  .admin-create-form > .admin-button { margin-top: 0; }
  .admin-form-field input, .admin-form-field select, .admin-form-field textarea { font-size: 16px; }
  .admin-generated-url { flex-direction: column; }
  .admin-generated-url input { flex: auto; width: 100%; min-height: 44px; }
  .admin-generated-card .admin-section-heading { align-items: flex-start; }
  .admin-generated-card .admin-section-heading h2 { font-size: 21px; }
  .admin-section-heading { align-items: flex-start; }
  .admin-section-heading h2 { font-size: 21px; }
  .admin-page-count { padding-top: 5px; font-size: 10px; }
  .admin-filters { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 15px 11px; }
  .admin-search-field { grid-column: 1 / -1; }
  .admin-filters > .admin-button { grid-column: auto; }
  .admin-clear-filters { justify-self: end; }
  .admin-payment-table tr { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; padding: 20px; }
  .admin-payment-reference, .admin-customer-cell, .admin-date-cell { grid-column: 1 / -1; }
  .admin-pagination nav { gap: 8px; width: 100%; justify-content: space-between; }
  .admin-pagination .admin-button { font-size: 10px; }
  .admin-detail-list > div { grid-template-columns: 105px minmax(0, 1fr); gap: 15px; }
  .admin-detail-list dt { font-size: 10px; }
  .admin-detail-list dd { font-size: 11px; }
  .admin-detail-heading-actions { gap: 9px; }
  .admin-detail-heading-actions > form { width: 100%; margin-top: 4px; }
  .admin-panel { padding: 22px; }
  .admin-panel-heading h2 { font-size: 21px; }
  .admin-detail-amount { padding: 17px; }
  .admin-detail-amount > strong { font-size: 27px; }
  .admin-receipt-preview { min-height: 170px; }
  .admin-receipt-metadata { align-items: flex-start; }
  .admin-receipt-actions { width: 100%; }
  .admin-review-panel .admin-button { width: 100%; }
  .admin-login-intro h1 { font-size: 36px; letter-spacing: -1.8px; }
  .admin-login-card { padding: 25px; }
  .admin-login-card h2 { font-size: 29px; }
  .admin-page > .page-footer { flex-wrap: wrap; gap: 10px 20px; font-size: 10px; }
  .admin-page > .page-footer > span:nth-child(2) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .admin-button { transition: none; }
}

.admin-generated-guide { margin-top: 10px; color: #627a50; font-size: 11px; line-height: 1.8; }


/* Keep operational text legible at the compact workspace sizes. */
.admin-context, .admin-page-count, .admin-metric > p, .admin-metric > span:last-child,
.admin-create-intro > p:last-child, .admin-form-field small, .admin-generated-meta,
.admin-pagination > p, .admin-pagination-current, .admin-back-link,
.admin-detail-list dt, .admin-panel-note, .admin-receipt-metadata > div:first-child > span,
.admin-receipt-pdf > span, .admin-event-details dt, .admin-empty-receipt p { color: #66795b; }
.admin-kicker, .admin-access-label { color: #697d5c; }
.admin-form-field input::placeholder, .admin-form-field textarea::placeholder { color: #6b7a60; }
.admin-payment-table th { color: #687a5c; font-size: 10px; }
.admin-payment-table td { color: #526748; font-size: 11px; }
.admin-payment-reference > a, .admin-customer-cell > strong { font-size: 12px; }
.admin-payment-reference > small, .admin-customer-cell > small { color: #687a5c; font-size: 10px; }
.admin-muted, .admin-review-label { color: #697b5c; }
.admin-date-cell { color: #697c5b !important; font-size: 10px !important; }
.admin-badge { color: #65775a; font-size: 10px; }
.admin-badge[data-status="approved"] { color: #4f7038; }
.admin-badge[data-status="pending"] { color: #816526; }
.admin-badge[data-status="processing"] { color: #59725e; }
.admin-badge[data-status="rejected"] { color: #994c3d; }
.admin-badge[data-status="review_required"] { color: #7b5e48; }
.admin-panel-copy, .admin-empty-copy, .admin-receipt-pdf strong,
.admin-activity-list > li > div > strong, .admin-event-details dd { color: #5e784a; }
.admin-activity-list time { color: #6b805e; font-size: 10px; }
.admin-event-details summary, .admin-receipt-link { color: #5d7946; }
.admin-login-intro > p:not(.eyebrow) { color: #64765a; }
.admin-login-card > p:not(.admin-kicker):not(.admin-feedback):not(.admin-login-footnote) { color: #687b5b; }
.admin-login-footnote { color: #6b7e5f !important; }
.admin-login-assurance p, .admin-login-assurance strong { color: #61784e; }

.admin-signed-in-user { max-width: 180px; overflow: hidden; color: #66795b; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 760px) { .admin-signed-in-user { display: none; } }
