.grading-eventbar,.grading-actions,.grading-list-header,.grading-child-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.grading-eventbar{margin-bottom:1.5rem}.grading-eventbar label{display:grid;gap:.5rem;min-width:220px}.grading-tabs{display:flex;gap:.4rem;overflow:auto;border-bottom:1px solid #ded7cb;margin:1.5rem 0}.grading-tabs button{white-space:nowrap;padding:.8rem 1rem;background:transparent;border:0;border-bottom:3px solid transparent;font:inherit;cursor:pointer}.grading-tabs [aria-selected=true]{border-color:#e5a900;font-weight:700}.grading-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.grading-stats button{background:#fffcf5;border:1px solid #ded7cb;border-radius:10px;padding:1.2rem;text-align:left;color:inherit;cursor:pointer}.grading-stats strong{display:block;font-size:1.8rem}.grading-stats span{display:block;font-size:.9rem;margin-top:.5rem}.grading-field{display:grid;gap:.5rem;margin-bottom:1rem}.grading-field input,.grading-field select,.grading-field textarea,.grading-filters input,.grading-filters select{width:100%;min-height:44px;padding:.65rem;background:#fffdf8;border:1px solid #948978;border-radius:4px;font:inherit;color:inherit}.grading-filters{display:grid;grid-template-columns:1fr 1fr 2fr;gap:1rem;margin:1.2rem 0}.grading-filters label{display:grid;gap:.5rem}.grading-list-header{margin:1rem 0}.grading-student{background:#fffdf8;border:1px solid #ded7cb;border-radius:8px;margin:.6rem 0}.grading-student summary{display:flex;gap:1rem;align-items:center;padding:1rem;cursor:pointer;list-style:none}.grading-student summary:after{content:'＋';margin-left:.5rem}.grading-student[open] summary:after{content:'−'}.grading-student summary small{display:block;margin-top:.3rem;font-size:.8rem;color:#60584d}.grading-row-end{margin-left:auto;text-align:right}.grading-student-body{padding:0 1.2rem 1.2rem;border-top:1px solid #eee7db}.grading-badge{display:inline-block;padding:.25rem .65rem;border-radius:20px;background:#eee8dd;font-size:.75rem;line-height:1.5;text-transform:capitalize;font-weight:600}.grading-badge.registered,.grading-badge.paid,.grading-badge.pass,.grading-badge.double{background:#e3eee3;color:#225c32}.grading-badge.payment_review,.grading-badge.review,.grading-warning{background:#fff0ce;color:#745000}.grading-badge.fail,.grading-badge.rejected{background:#fbe3dd;color:#8f2817}.grading-sticky{position:sticky;bottom:12px;z-index:4;background:#fffcf5;border:1px solid #d2b566;box-shadow:0 4px 20px #0002;border-radius:8px;padding:.8rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.grading-sticky span{font-size:.85rem}.grading-picklist{max-height:420px;overflow:auto;margin:1rem 0}.grading-picklist label{padding:.65rem;border-bottom:1px solid #eee7db}.grading-picklist small{display:block}.grading-payment{padding:1rem 0;border-bottom:1px solid #ded7cb}.grading-payment summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;cursor:pointer}.grading-payment button,.grading-doc button{margin:.3rem}.grading-report-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:1rem 0}.grading-doc{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;padding:.8rem 0}.grading-event-info{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.grading-event-info h2{font-size:1.5rem;margin:.5rem 0}.grading-child h3{font-size:1.2rem;letter-spacing:0;text-transform:none;margin:0}.grading-child-heading p{font-size:.85rem;margin:.4rem 0 1rem;color:#60584d}.grading-option{display:flex;align-items:center;gap:.8rem;padding:1rem;border:1px solid #d6cdbd;border-radius:6px;margin:.7rem 0;cursor:pointer}.grading-option strong{margin-left:auto;white-space:nowrap}.grading-option small{display:block;color:#60584d}.grading-option input,.grading-list-header input,.grade-check{width:19px;height:19px;accent-color:#b78300;flex-shrink:0}.grading-child-details{font-size:.9rem}.grading-documents{border-top:1px solid #ded7cb;padding:1rem 0}.grading-documents summary{cursor:pointer;font-weight:600}.grading-upload{display:flex;gap:.8rem;align-items:end;flex-wrap:wrap;padding:.8rem 0}.grading-upload label{display:grid;gap:.5rem;flex:1;min-width:200px}.grading-text-button{background:none;border:0;text-decoration:underline;color:inherit;font:inherit;font-size:.9rem;cursor:pointer;padding:.5rem 0;margin-right:1rem}.grading-methods{display:grid;gap:.7rem;border:1px solid #ded7cb;padding:1rem;margin:1rem 0}.grading-total{display:flex;justify-content:space-between;padding:1rem 0;border-top:1px solid #ded7cb;font-size:1.15rem}.grading-terms{white-space:pre-line;font-size:.9rem}.grading-qr{width:240px;max-width:100%;height:auto}.grading-result{background:#e8f0e2;padding:1rem;border-radius:6px;margin:1rem 0}#grading-body fieldset{min-width:0;border:0;padding:0}#grading-body .admin-table input{width:100%;min-width:85px}#grading-body .admin-panel{margin-bottom:1rem}.grading-account-links{display:flex;flex-wrap:wrap;gap:.7rem}.grading-child,.grading-payment{overflow-wrap:anywhere}button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #9b7400;outline-offset:3px}@media(max-width:700px){.grading-stats{grid-template-columns:1fr 1fr;gap:.6rem}.grading-filters{grid-template-columns:1fr 1fr}.grading-filters label:last-child{grid-column:1/-1}.grading-student summary{gap:.6rem;padding:.8rem}.grading-student summary strong{font-size:.9rem}.grading-sticky{bottom:0;flex-wrap:wrap}.grading-sticky .button{width:100%}.grading-event-info,.grading-report-grid{grid-template-columns:1fr}.grading-child-heading{gap:.25rem}.grading-tabs{margin:1rem -1rem;padding:0 1rem}.grading-payment summary{align-items:start}.grading-row-end{max-width:35%}.grading-badge{font-size:.7rem}}
.academy-public .grading-methods label{display:flex;align-items:center;gap:.7rem;cursor:pointer}.academy-public .grading-methods input[type=radio]{width:18px;height:18px;min-height:18px;padding:0;flex-shrink:0;accent-color:#b78300}.grading-stats{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}@media(min-width:1000px){.admin-sidebar{overflow-y:auto;max-height:100vh}}
/* Grading results: bulk marking is staged until the explicit Save action. */
.grading-result-counts{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.2rem}.grading-result-counts>span{background:#f2ece1;border-radius:6px;padding:.6rem .85rem;font-size:.85rem}.grading-result-counts strong{font-size:1.15rem;margin-right:.3rem}.grading-bulk-tools{background:#fffcf5;border:1px solid #ded7cb;border-radius:8px;padding:1rem;margin-bottom:1rem}.grading-mark-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.grading-mark-buttons .button{min-height:44px;padding:.6rem 1rem}.grading-unsaved{border-left:4px solid #b78300}.grading-promotion-panel{margin-top:1.5rem}.grading-results-save .grading-actions{justify-content:flex-end}.grading-results-save .button{min-width:140px}#grading-body [hidden]{display:none!important}
/* Parent registration stays within the existing cream and gold design. */
body[data-academy=grading] .academy-public{max-width:1200px;padding-bottom:110px}body[data-academy=grading] .academy-page-heading h1{font-size:clamp(1.8rem,4vw,2.65rem);line-height:1.16}body[data-academy=grading] .academy-page-heading>p:last-child{font-size:1rem;max-width:600px}body[data-academy=grading] .admin-panel{border-radius:14px;background:#fffcf5}body[data-academy=grading] .grading-event-info{border-top:4px solid #e5a900;padding:1.3rem 1.5rem;margin-bottom:1.8rem}body[data-academy=grading] .grading-event-info p{margin:.5rem 0;font-size:.95rem}.grading-registration-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;align-items:start}.grading-children{min-width:0}.grading-children>.grading-list-header{margin:0 0 1rem}.grading-children>.grading-list-header h2{margin:0;font-size:1.2rem;display:flex;align-items:center;gap:.6rem}.grading-step{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#f5e4b4;color:#674800;font-size:.85rem;font-weight:700;flex-shrink:0}.grading-child{margin-bottom:1rem}.grading-child .grading-option{padding:1.05rem;border:2px solid #d6cdbd;background:#fffdf8;border-radius:9px;min-height:72px;transition:background .15s,border-color .15s}.grading-child .grading-option:hover{border-color:#b78300}.grading-child .grading-option.is-selected{border-color:#b78300;background:#fff5d9}.grading-child .grading-option b{font-size:1rem}.grading-child .grading-option small{font-size:.8rem;line-height:1.4;margin-top:.3rem}.grading-child .grading-option strong{font-size:1.05rem}.grading-child input[type=checkbox]{width:22px;height:22px;accent-color:#936800}.grading-child .grading-child-heading h3{margin:0;font-size:1.12rem}.grading-child .grading-child-details,.grading-child .grading-documents{font-size:.875rem;margin:1rem 0 0;padding-top:.5rem}.grading-child .grading-child-details summary,.grading-child .grading-documents summary{font-size:.875rem}.grading-payment-card{border:2px solid #d2b566!important;box-shadow:0 6px 22px #5a41000b;scroll-margin-top:24px}.grading-payment-heading{display:flex;gap:.7rem;align-items:center}.grading-payment-heading .eyebrow{font-size:.66rem;margin:0 0 .25rem;color:#745000}.grading-payment-heading h2{font-size:1.4rem;margin:0}.grading-payment-intro{font-size:.9rem;color:#60584d}.grading-price-lines{list-style:none;padding:0;margin:1rem 0}.grading-price-lines li{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid #e9e0d1;padding:.8rem 0;font-size:.9rem}.grading-price-lines small{display:block;font-size:.77rem;color:#60584d;margin-top:.15rem}.grading-price-lines strong{white-space:nowrap}.grading-payment-card .grading-total{background:#f8efd9;border-radius:8px;border:0;padding:1rem;margin:1rem 0 1.2rem;align-items:center;font-size:.95rem}.grading-payment-card .grading-total strong{font-size:1.6rem}.grading-payment-card .grading-field{font-size:.9rem;font-weight:600}.grading-payment-card input[type=email]{font-size:16px;min-height:48px;background:#fff}.grading-payment-card .grading-methods{margin-bottom:1rem}.grading-payment-card .grading-methods legend{font-size:.9rem}.grading-method-option{border:1px solid #d6cdbd;border-radius:8px;padding:.85rem;min-height:64px;background:#fffdf8}.grading-method-option:has(input:checked){border:2px solid #b78300;background:#fff5d9;padding:calc(.85rem - 1px)}.grading-method-option span strong{font-size:.9rem}.grading-method-option small{display:block;font-size:.75rem;line-height:1.5;color:#60584d}.grading-method-tag{margin-left:auto;border-radius:4px;background:#e3eee3;color:#225c32;padding:.2rem .4rem;font-size:.65rem;white-space:nowrap}.grading-payment-card details{font-size:.85rem}.grading-payment-card .grading-consent{font-size:.88rem;align-items:center}.academy-public .grading-primary{background:#e5a900;color:#171717;border:2px solid #b78300;font-size:1rem;font-weight:700;min-height:56px;padding:.85rem 1.15rem;border-radius:8px;width:100%;justify-content:center;box-shadow:0 3px 0 #af7e00;text-decoration:none}.academy-public .grading-primary:hover{background:#f0b916}.academy-public .grading-primary:disabled{background:#eee8dd;color:#60584d;border-color:#d6cdbd;box-shadow:none;cursor:not-allowed;opacity:1}.grading-payment-card .helper{font-size:.78rem;line-height:1.6;text-align:center;margin:1rem 0 0}.grading-select-hint{padding:1rem;background:#f2ece1;border-radius:8px;font-size:.9rem}.grading-payment-error{background:#fbe3dd;color:#8f2817;border-radius:6px;padding:.8rem;font-size:.9rem}.grading-payment-dock{position:fixed;bottom:0;left:0;right:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fffcf5;border-top:1px solid #d2b566;padding:.8rem max(16px,calc((100vw - 1160px)/2)) max(.8rem,env(safe-area-inset-bottom));box-shadow:0 -5px 24px #0000000e}.grading-payment-dock>span{flex-shrink:0}.grading-payment-dock small{display:block;font-size:.72rem;color:#60584d}.grading-payment-dock strong{font-size:1.3rem}.academy-public .grading-payment-dock .button{margin:0;width:auto;min-height:48px}.grading-history{margin-top:1.8rem}.grading-history h2{font-size:1.1rem}.grading-paynow-panel{max-width:680px;margin:1.5rem auto;scroll-margin-top:20px}.grading-paynow-panel .grading-primary{max-width:440px}.grading-paynow-panel .grading-qr{display:block;margin:1rem auto}.grading-child .grading-text-button{font-size:.8rem;color:#60584d}.grading-child-details p{white-space:pre-line}.grading-payment-card [aria-invalid=true]{outline:2px solid #b42318;outline-offset:2px}
@media(min-width:960px){.grading-registration-layout{grid-template-columns:minmax(0,1fr) 390px;gap:1.5rem}.grading-payment-card{position:sticky;top:20px}.grading-payment-dock{display:none}body[data-academy=grading] .academy-public{padding-bottom:60px}}
@media(max-width:700px){.grading-results-save .grading-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.grading-results-save .button{min-width:0;font-size:.85rem}.grading-child .grading-option{gap:.5rem;padding:.8rem}.grading-child .grading-option strong{font-size:.95rem}.grading-child .grading-option b{font-size:.95rem}.grading-child .grading-child-heading{align-items:start}.grading-method-tag{display:none}.grading-child,.grading-payment-card{padding:18px!important}.grading-payment-dock .grading-primary{font-size:.9rem;padding:.7rem .9rem}.grading-result-counts{gap:.4rem}.grading-result-counts>span{padding:.5rem;font-size:.75rem}.grading-bulk-tools .grading-actions{gap:.7rem}.grading-mark-buttons .button{font-size:.85rem}.grading-paynow-panel form button{width:100%}}

@media(max-width:959px){body[data-academy=grading]:has(#grading-payment-dock:not([hidden])) .floating-whatsapp{bottom:100px}}

/* Keep the single-student save action next to the result being edited. */
.grading-results-locked{border-left:4px solid #b78300;background:#fff0ce}.grading-results-locked p{margin:.4rem 0 0}.grading-row-save{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin:1.2rem 0;padding:1rem;background:#f8efd9;border-radius:8px}.grading-row-save .button{min-width:160px;min-height:48px}.grading-row-save .helper{margin:0;flex:1;min-width:180px}.grading-row-save .grading-row-error{color:#8f2817}.grading-result-field{font-weight:700}.grading-row-hint{color:#745000!important}.grading-row-save .button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:700px){.grading-row-save .button{width:100%}.grading-row-save .helper{min-width:0;flex-basis:100%}}

.grading-bulk-tools>summary{font-weight:700;cursor:pointer;min-height:32px}.grading-bulk-tools>summary:focus-visible{outline:3px solid #9b7400;outline-offset:3px}

/* Public grading details and direct registration. */
.grading-public-rates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grading-public-rates details{border:1px solid var(--line,#ded6c8);padding:16px;border-radius:10px;min-width:0}.grading-public-rates summary{display:flex;justify-content:space-between;gap:16px;cursor:pointer}.grading-public-rates summary strong{white-space:nowrap}.grading-public-rates p{overflow-wrap:anywhere}#register{scroll-margin-top:100px}#registration-error{color:#a92b18;margin-top:16px}.grading-submission-review{margin-bottom:24px}.grading-submission-review details{border-bottom:1px solid #ded6c8;padding:16px 0}.grading-submission-review summary{cursor:pointer}.grading-submission-review input{max-width:100%}@media(max-width:640px){.grading-public-rates{grid-template-columns:1fr}#public-grading-form>.button,#direct-payment>.button{width:100%}}

/* Parent grading clarity: keep key details visible and actions easy to identify. */
.academy-public .grading-public-rates details{margin:0;padding:16px;align-self:start}
.grading-public-rates summary{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;width:100%;gap:8px;list-style:none}
.grading-public-rates summary::-webkit-details-marker{display:none}
.grading-rate-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-weight:700}
.grading-report-time{display:block;color:#60584d;font-size:.9rem;font-weight:400;line-height:1.5}
.grading-report-time strong{color:#29251f;font-weight:600}
.grading-rate-more{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#60584d;font-size:.85rem}
.grading-details-icon{font-size:1.1rem;transition:transform .15s}
.grading-public-rates details[open] .grading-details-icon{transform:rotate(45deg)}
.grading-preparation-links{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;margin:16px 0 0;color:#948978}
.grading-preparation-links a{color:#785200;font-size:14px;font-weight:500;line-height:1.6;text-decoration:underline;text-underline-offset:3px}
.grading-preparation-links a:hover{color:#513900;text-decoration-thickness:2px}
.grading-preparation-links a:focus-visible{outline:3px solid #9b7400;outline-offset:3px}
.grading-child .grading-child-details{border-top:1px solid #ded7cb}
.grading-child .grading-detail-heading,.grading-child .grading-documents summary{font-family:inherit;font-size:.875rem;font-weight:600;line-height:1.6;letter-spacing:normal;text-transform:none;padding:8px 0;margin:0}
.grading-child .grading-child-details p{margin:6px 0 12px}
.grading-document-status{display:inline-block;vertical-align:middle;margin:3px 0 3px 6px;padding:3px 10px;border-radius:6px;background:#eee8dd;color:#51483a;font-size:.8rem;font-weight:600}
.grading-document-status.is-pending{background:#fff0ce;color:#745000}
.grading-documents .grading-upload{border:1px solid #ded7cb;background:#fffdf8;border-radius:8px;margin:12px 0;padding:16px}
.grading-documents .grading-upload label{min-width:0;flex:1 1 220px}
.grading-upload-title{font-size:1rem;font-weight:700}
.grading-upload-pending{color:#745000;font-size:.85rem;font-weight:600}
.grading-upload input[type=file]{max-width:100%;font:inherit}
.grading-document-submitted{border-left:3px solid #948978;padding:8px 12px;background:#f2ece1;border-radius:4px}
.grading-child .grading-optout-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;margin:12px 0 0;padding:12px 18px;border:1px solid #948978;border-radius:8px;background:#fffdf8;color:#51483a;font-size:1rem;font-weight:600;text-decoration:none;line-height:1.5}
.grading-child .grading-optout-button:hover{background:#eee8dd;border-color:#60584d}
@media(max-width:700px){.grading-preparation-links{gap:8px 12px}.grading-child .grading-optout-button{width:100%}.grading-documents .grading-upload{padding:12px}}

.academy-public .admin-panel:has(>.grading-preparation-links)>ul>li{font-size:calc(17px - 1pt)}


/* Report times remain visible while preparation details are collapsed. */
.grading-public-rate{border:1px solid #ded6c8;padding:16px;border-radius:10px;min-width:0;align-self:start}
.academy-public .grading-public-rate>details{border:0;border-top:1px solid #ded6c8;border-radius:0;margin:12px 0 0;padding:12px 0 0}
.grading-public-rate>.grading-report-time{margin:8px 0 0;font-size:1rem}
#grading-lookup-form{display:grid;gap:12px}#grading-lookup-form .button{justify-self:start;min-height:48px}
#grading-student-match{border-left:4px solid #b78300;background:#f8efd9;padding:12px 16px;margin:20px 0}
#lookup-error{color:#a92b18}.grading-reply-review{border-left:4px solid #b78300;padding:12px;margin:12px 0;background:#fff0ce}

/* Registration identity, submission confirmation and retained receipt copies. */
.grading-confirmation{display:flex;gap:16px;align-items:flex-start;border:2px solid #b78300;background:#fff6df}
.grading-confirmation.is-confirmed{border-color:#2b7042;background:#edf7ee}
.grading-confirmation h2{margin:0 0 8px}.grading-confirmation p{margin:6px 0}
.grading-confirmation-symbol{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:#b78300;color:#fff;font-weight:700;font-size:1.4rem}
.is-confirmed .grading-confirmation-symbol{background:#2b7042}.grading-confirmation-students,.grading-student-id{font-weight:600;overflow-wrap:anywhere}
.grading-saved-receipt{border-top:1px solid #ded6c8;margin-top:18px;padding-top:14px}.grading-saved-receipt h3{margin-top:0}
.grading-receipt-preview img{display:block;max-width:100%;width:auto;max-height:380px;object-fit:contain;border:1px solid #ded6c8;border-radius:8px;margin:14px 0}
.grading-receipt-preview a{display:inline-block;margin:8px 0;overflow-wrap:anywhere}.grading-payment-student{font-weight:600}
@media(max-width:640px){.grading-confirmation{gap:12px;padding:18px!important}.grading-saved-receipt .button{width:100%}}
