:root{color-scheme:light}body{margin:0;background:#faf8f0;color:#233e34;font:15px/1.55 Arial,sans-serif}header{position:sticky;top:0;background:white;border-bottom:1px solid #d8dfd4;padding:12px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand img{width:50px;height:44px;object-fit:contain}a{color:#104c3d}header span,.small{font-size:12px}main{max-width:900px;margin:auto;padding:24px 18px}h1{font-size:28px}h2{font-size:20px}.note{padding:12px;background:#e4eee5;border-radius:8px}#auth{display:flex;justify-content:center;margin:24px 0}.card{padding:20px;border:1px solid #d8dfd4;background:white;border-radius:12px}.row{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.grid div{background:#e4eee5;border-radius:8px;padding:14px}.grid strong{font-size:25px;display:block}.grid span{font-size:12px}button{font:inherit;background:#104c3d;color:white;border:0;padding:10px 14px;border-radius:7px;cursor:pointer}button:disabled{opacity:.6;cursor:wait}details{margin-top:18px}summary{cursor:pointer;font-weight:bold}#status{min-height:24px;overflow-wrap:anywhere}*:focus-visible{outline:3px solid #a57b20;outline-offset:3px}.skip{position:absolute;left:-10000px}.skip:focus{left:12px;top:12px;background:white;z-index:100}@media(max-width:600px){header{padding:10px 14px}header span{width:100%;order:3}.grid{grid-template-columns:1fr}.card{padding:16px}main{padding:16px}}

.input-area{border-top:1px solid #d8dfd4;margin-top:20px;padding-top:14px}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-weight:600;margin:8px 0}input[type=file],textarea,select{box-sizing:border-box;width:100%;max-width:100%;font:inherit;padding:8px;border:1px solid #bacbbd;border-radius:6px;background:white;color:inherit}textarea{resize:vertical}.check{display:flex;align-items:flex-start;gap:8px;font-size:13px}.check input{flex:none;margin-top:4px}.secondary{background:white;color:#104c3d;border:1px solid #bacbbd}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.5 Arial,sans-serif;max-height:180px;overflow:auto}#input-feedback{overflow-wrap:anywhere;min-height:1.5em}h3{font-size:17px;margin:4px 0}button[disabled]{cursor:not-allowed}input[type=file]{font-size:13px}#input-review details{min-width:0}@media(max-width:600px){.input-grid{grid-template-columns:1fr}}

#saved-report{margin-top:16px;padding:16px;border:1px solid #d8dfd4;border-radius:10px;scroll-margin-top:120px;overflow-wrap:anywhere}
#saved-report-summary{margin:4px 0 12px}
.report-next{padding:8px 12px;background:#e4eee5;border-radius:6px;margin:0 0 12px}
.report-next strong,.report-finding p strong{display:block}
.report-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.report-tabs button{padding:6px 10px}
.report-findings{margin:0;padding-inline-start:24px}
.report-finding{border-bottom:1px solid #d5ded5;padding:6px 0;font-weight:600}
.report-finding:last-child{border-bottom:0}
.report-finding p{font-weight:400;margin:3px 0 0}
.report-notes{margin-top:10px}
#submission-list .row{padding:6px 0;gap:8px}
#credit-review{margin-top:8px}
#credit-review p{margin:6px 0}
main:has(#dashboard:not([hidden])){padding-block:12px}
main:has(#dashboard:not([hidden]))>h1,
main:has(#dashboard:not([hidden]))>#status,
main:has(#dashboard:not([hidden]))>#auth{display:none}
main:has(#dashboard:not([hidden]))>.note{margin:0 0 8px;padding:5px 10px;font-size:12px}
#dashboard> .row h2{margin:0}
body:has(#dashboard:not([hidden])) header>span{display:none}
#input-form>p{margin:6px 0}
#input-form label{margin:4px 0}
#input-form .input-grid{gap:8px}
#input-form input[type=file]{padding:5px}
#input-form #file-guidance{margin:4px 0}
#credit-review{padding:8px 10px}
#credit-review p{margin:3px 0 5px}
#input-feedback:empty{display:none}
#assessment-history{margin-top:10px;padding-top:8px;border-top:1px solid #d8dfd4}
#saved-report-content>details{margin:8px 0}
#saved-report-content>button{padding:5px 9px;font-size:13px}
.report-tabs{margin-top:8px}
@media(max-width:600px){
 body:has(#dashboard:not([hidden])) header{padding-block:6px;font-size:13px}
 #dashboard{padding:12px}
 #credit-review button{padding:7px 10px}
 #assessment-history{margin-top:6px;padding-top:5px}
}
[role=tab][aria-selected=true]{background:#104c3d;color:white}
[role=tab][aria-selected=false]{background:#e3ede4;color:#163e35}

.assessment-kicker{margin:0;color:#536c5e;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.assessment-heading h2{font-size:clamp(21px,3vw,29px);line-height:1.2}
#input-form .assessment-intro{color:#405a4d;margin:6px 0 10px}
#input-form .upload-card{position:relative;display:flex;align-items:center;gap:10px;min-width:0;min-height:44px;margin:0;padding:8px 12px;border:1px dashed #a89978;border-radius:10px;background:#fcfaf5;cursor:pointer}
#input-form .upload-card:hover,#input-form .upload-card.has-file{background:#e8f0e7;border-style:solid}
.upload-card:focus-within{outline:3px solid #a57b20;outline-offset:2px}
#input-form .upload-card input{position:absolute;inset:0;opacity:0;height:100%;cursor:pointer}
.upload-number{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#104c3d;color:white;font-size:13px;font-weight:700}
.upload-copy{display:grid;flex:1;min-width:0;line-height:1.35}
.upload-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#405a4d;font-weight:400}
.upload-arrow{color:#104c3d;font-size:18px}
#credit-review{display:flex;align-items:center;justify-content:space-between;gap:5px 14px;flex-wrap:wrap;border:1px solid #ddd3bc;border-radius:10px;background:#fcfaf5}
#credit-balance{font-size:13px;font-weight:700}
.assessment-action-copy{flex:1 1 230px}
#confirm-input:disabled{background:#e9e1cf;color:#405147;opacity:1}
#assessment-history>summary{font-size:13px;color:#405a4d}
#submission-list button{padding:5px 9px;font-size:13px}
#checkout-packs{justify-content:flex-start}
#saved-report{background:#f7faf6;border-top:3px solid #104c3d}
.report-next{border-inline-start:3px solid #a57b20}
.report-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:start}
.report-overview .report-next{margin:0}
.report-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.report-metric{background:#e4eee5;border-radius:7px;padding:5px 8px;font-size:12px;line-height:1.3}
.report-metric strong{font-size:17px;display:block}
.report-metric-1,.report-priority{background:#f1e0b0;color:#5e4208}
.report-metric-3{background:#f3d5c2;color:#71300e}
.report-progress{font-size:12px;margin:3px 0;color:#405a4d}
.report-progress:empty{display:none}
.report-cards{padding-inline-start:22px}
.report-cards .report-finding{background:white;border:1px solid #ddd5c0;border-radius:8px;padding:8px 10px;margin:5px 0}
.report-cards h4{margin:0;font-size:14px}
.report-priority{display:inline-block;padding:2px 7px;border-radius:999px;font-size:11px;margin-bottom:3px}
.report-actions{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.report-actions button{padding:5px 8px;font-size:13px;min-height:36px}
.report-evidence{margin-top:5px;font-size:13px;font-weight:400}
.report-evidence blockquote{margin:3px 0 6px;padding-inline-start:8px;border-inline-start:2px solid #b6cbbd}
.report-response{background:#e8f0e7;border-radius:6px;padding:5px 8px}
@media(max-width:600px){.report-overview{grid-template-columns:1fr}.report-metric strong{display:inline;margin-inline-end:4px}}
.header-account{display:none;align-items:center;gap:8px;position:relative;margin-inline-start:auto}
.header-account #logout{padding:6px 10px;white-space:nowrap}
body:has(#dashboard:not([hidden])) .header-account{display:flex}
@media(max-width:600px){body:has(#dashboard:not([hidden])) header #public-preview{display:none}}
.assessment-toolbar{position:sticky;top:69px;z-index:1;background:white;padding:5px 0}
body:has(#dashboard:not([hidden])) header{z-index:2}
.credit-bar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:#e8f0e7;border-radius:7px;padding:5px 2px;text-align:center;font-size:12px}
.credit-bar span+span{border-inline-start:1px solid #c6d7ca}
.credit-bar strong{color:#104c3d;margin-inline-start:3px}
#credit-adjustments{margin:2px 0 0;text-align:right;color:#405a4d}
.assessment-tabs{display:flex;gap:12px;border-bottom:1px solid #d8dfd4}
.assessment-tabs button[role=tab]{background:transparent;color:#405a4d;border-radius:0;padding:5px 8px;font-size:13px;border-bottom:2px solid transparent}
.assessment-tabs button[aria-selected=true]{border-bottom-color:#104c3d;color:#104c3d;font-weight:700}
#assessment-history{border:0;margin:0;padding:4px 0}
@media(max-width:600px){
 .assessment-toolbar{top:57px}
 #dashboard .assessment-intro{display:none}
 #dashboard:has(#saved-report:not([hidden])) .assessment-kicker{display:none}
 #saved-report{margin-top:8px;padding:10px}
 #saved-report-summary{margin-bottom:6px}
 .report-next{margin-bottom:6px}
}
#input-form .jd-card{align-items:flex-start;cursor:auto}
#input-form .jd-card:hover{background:#fcfaf5;border-style:dashed}
#input-form .jd-card.has-file{background:#e8f0e7;border-style:solid}
.jd-copy{flex:1;min-width:0}
.jd-copy label{margin:0 0 4px}
.jd-copy textarea{min-height:96px;resize:vertical;font-size:13px}
.jd-copy p{margin:6px 0 0}
#input-form .jd-card input[type=file]{position:absolute;inset:auto;width:1px;height:1px;opacity:0;overflow:hidden;padding:0}
.jd-card:focus-within .jd-file-link{outline:2px solid #a57b20}
label.jd-file-link{display:inline;margin:0;font-weight:600;text-decoration:underline;cursor:pointer;color:#17483a}
#jd-selection{font-weight:600}
@media(max-width:640px){.input-grid{grid-template-columns:1fr}}
@media(max-width:640px){
 .jd-copy label[for=jd-text]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);margin:0}
 .jd-copy textarea{min-height:40px;height:40px;padding:6px 8px}
 .jd-copy textarea:focus,.jd-copy textarea:not(:placeholder-shown){height:120px}
 .jd-copy p{margin:4px 0 0;line-height:1.3}
 #input-form .jd-card .upload-number{margin-top:2px}
}
#input-form .input-grid{align-items:start}
.report-confirm{margin:14px 0 0;padding:10px 14px;border:1px solid #d8dfd4;border-radius:10px;background:#fcfaf5}.report-confirm h3{margin:0 0 6px;font-size:15px}.report-confirm ul{margin:0;padding-left:18px}.report-confirm li{margin:4px 0;font-size:14px}
.report-tabs{margin-top:14px;padding-top:12px;border-top:1px solid #c9d6cc}
.report-tabs button[role=tab][aria-selected=false]{background:#fff;color:#163e35;border:1px solid #9fb5a6}
.report-tabs button[role=tab][aria-selected=true]{border:1px solid #104c3d}
.report-tabs button[hidden]{display:none}
.report-evidence strong{display:block;margin-top:4px;font-size:12px;color:#405a4d}.report-evidence-more{margin-top:12px}.report-evidence-more h4{margin:0 0 6px}
.run-name[hidden]{display:none}
.run-name{display:flex;align-items:center;gap:8px;margin:6px 0}
.run-name span{font-weight:700;white-space:nowrap}
.run-name input{flex:1;min-width:0}
#submission-list .row input{flex:1;min-width:0}
#saved-report-name{margin:0 0 4px;color:#405a4d}
/* Phone-size screens have no spare height above the Run button: the name is taken from the job description and can be changed in History. */
@media(max-width:600px){.run-name{display:none!important}}
/* History rows: the name takes the free space, the buttons sit together at the right edge. */
#submission-list .row>span{flex:1;min-width:0;overflow-wrap:anywhere}
#submission-list .row button{flex:none;min-width:88px}
/* History table */
.history-table{width:100%;border-collapse:collapse;font-size:14px}
.history-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#405a4d;padding:4px 8px 6px;border-bottom:2px solid #d8dfd4}
.history-table td{padding:8px;border-bottom:1px solid #e4e9e0;vertical-align:middle}
.history-table td:nth-child(2){white-space:nowrap}
#submission-list tr.row{display:table-row}
#submission-list .history-actions{white-space:nowrap;text-align:right}
#submission-list .history-actions button{margin-left:6px}
#submission-list td>input{width:100%;box-sizing:border-box}
@media(max-width:600px){
 .history-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .history-table,.history-table tbody{display:block}
 #submission-list tr.row{display:block;padding:6px 0;border-bottom:1px solid #d8dfd4}
 .history-table td{display:block;border:0;padding:1px 8px}
 .history-table td[data-label]:not([data-label=""])::before{content:attr(data-label) ": ";font-weight:600;color:#405a4d}
 .history-table td:first-child::before{content:none!important}
 #submission-list .history-actions{text-align:left;padding-top:6px}
 #submission-list .history-actions button{margin:0 6px 0 0}
}
.history-table tfoot td{font-weight:700;border-top:2px solid #d8dfd4;border-bottom:0}
.history-table tfoot td:first-child{text-align:right}
@media(max-width:600px){
 .history-table tfoot,.history-table tfoot tr{display:block}
 .history-table tfoot td:first-child{text-align:left}
 .history-table tfoot td:nth-child(2)::before{content:"Total credits used: ";font-weight:600;color:#405a4d}
 .history-table tfoot td:first-child{display:none}
 .history-table tfoot td:last-child{display:none}
}
/* History polish: tabs that read as tabs, credit column centred, Actions heading over its buttons */
.report-back{margin:0 0 8px;padding:5px 10px;font-size:13px}
.assessment-tabs{gap:4px;border-bottom:2px solid #d8dfd4}
.assessment-tabs button[role=tab]{color:#405a4d;font-weight:600;background:transparent;box-shadow:none;border-radius:6px 6px 0 0;border-bottom:3px solid transparent;margin-bottom:-2px}
.assessment-tabs button[role=tab]:hover{background:#eef4ee;color:#163e35}
.assessment-tabs button[role=tab]:focus-visible{outline:2px solid #104c3d;outline-offset:-2px}
.assessment-tabs button[aria-selected=true],.assessment-tabs button[aria-selected=true]:hover{background:transparent;color:#104c3d;font-weight:700;border-bottom-color:#104c3d;box-shadow:none}
@media(min-width:601px){
 .assessment-tabs button[role=tab]{font-size:15px;padding:8px 20px}
 .history-table th:nth-child(4),.history-table td:nth-child(4){text-align:center}
 .history-table th:last-child{text-align:right}
 .history-table tfoot td:nth-child(2){text-align:center}
}
/* Credit summary: bolder values and a short explainer that opens over the page */
.credit-bar strong{font-weight:800;font-size:14px}
.assessment-heading{position:relative;align-items:flex-start}
.credit-help{position:relative;margin-left:auto}
.credit-help-btn{background:transparent;border:0;color:#104c3d;font-size:13px;font-weight:700;padding:4px 0;text-decoration:underline;cursor:pointer}
.credit-help-panel{position:absolute;right:0;top:100%;z-index:5;width:min(320px,86vw);background:#fff;border:1px solid #9fb5a6;border-radius:8px;box-shadow:0 6px 18px rgba(16,76,61,.18);padding:10px 12px;font-size:13px;text-align:left}
.credit-help-panel[hidden]{display:none}
.credit-help-panel p{margin:0 0 6px}
.credit-help-panel dl{margin:0}
.credit-help-panel dt{font-weight:700;color:#104c3d;margin-top:4px}
.credit-help-panel dd{margin:0}
/* The whole credit row and both tabs are bold, labels as well as values. */
.credit-bar{font-weight:700}
.assessment-tabs button[role=tab]{font-weight:700}
/* Purchases table reuses the History table look */
.orders-table th:nth-child(2),.orders-table td:nth-child(2),.orders-table th:nth-child(3),.orders-table td:nth-child(3){text-align:center}
.orders-table td:first-child{white-space:nowrap}
.orders-table .history-actions{white-space:nowrap;text-align:right}
@media(max-width:600px){
 .orders-table tr{display:block;padding:6px 0;border-bottom:1px solid #d8dfd4}
 .orders-table td:nth-child(n){text-align:left}
 .orders-table td:first-child::before{content:none!important}
 .orders-table .history-actions{padding-top:6px}
}
@media(min-width:601px){.orders-table th:nth-child(4),.orders-table td:nth-child(4){text-align:left}}
.orders-table tr.unpaid td:nth-child(2){color:#7a8c81;text-decoration:line-through}
.orders-table tr.adjustment td{background:#f6f8f4}
.orders-table tfoot td{font-weight:700;border-top:2px solid #d8dfd4;border-bottom:0}
@media(min-width:601px){.orders-table tfoot td:nth-child(2){text-align:center}}
@media(max-width:600px){
 .orders-table tfoot,.orders-table tfoot tr{display:block}
 .orders-table tfoot td:nth-child(1){display:inline;padding:1px 0 1px 8px}
 .orders-table tfoot td:nth-child(1)::after{content:": "}
 .orders-table tfoot td:nth-child(2){display:inline;padding:0}
 .orders-table tfoot td:nth-child(3){display:none}
}
/* In-progress message: bold, a slow fade in and out (not a hard blink), and animated dots. */
#input-feedback.working{font-weight:800;color:#104c3d;animation:working-pulse 1.4s ease-in-out infinite}
#input-feedback.working::after{content:'…';display:inline-block;width:1.2em;text-align:left;animation:working-dots 1.2s steps(4,end) infinite;overflow:hidden;vertical-align:bottom}
@keyframes working-pulse{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes working-dots{0%{width:0}100%{width:1.2em}}
@media(prefers-reduced-motion:reduce){#input-feedback.working{animation:none}#input-feedback.working::after{animation:none;width:auto}}
/* One size, all bold: the credit row reads as a single line of labels and numbers. */
.credit-bar,.credit-bar span,.credit-bar strong{font-size:13px;font-weight:700}
/* Compact one-line History rows (desktop): long names are cut with an ellipsis; the full name is in the tooltip. */
@media(min-width:601px){
 #submission-list .history-table{table-layout:fixed}
 #submission-list .history-table th,#submission-list .history-table td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #submission-list .history-table th:nth-child(2){width:165px}
 #submission-list .history-table th:nth-child(3){width:120px}
 #submission-list .history-table th:nth-child(4){width:100px}
 #submission-list .history-table th:nth-child(5){width:190px}
 #submission-list .history-table th{overflow:visible;text-overflow:clip}
 #submission-list .history-table td{padding:5px 8px}
 #submission-list .history-table td.history-actions{overflow:visible;text-overflow:clip}
 #submission-list .history-actions button{padding:4px 9px;font-size:12px;min-height:0;margin-left:4px}
}
@media(max-width:600px){
 .assessment-heading{flex-wrap:nowrap;gap:6px}
 .assessment-heading h2{font-size:19px;white-space:nowrap}
 .credit-help-btn{font-size:12px;white-space:nowrap}
}

/* Removed and On hold appear only when above zero. Removed is tinted so it is easy to find. */
#refunded-cell strong,#held-cell strong{color:#8a3b12}
#refunded-cell,#held-cell{background:#fbeee3;border-radius:5px}
/* Six cells do not fit one phone row: wrap into rows of three. */
@media(max-width:600px){.credit-bar.credit-bar--wide{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);row-gap:4px}.credit-bar.credit-bar--wide span{border-inline-start:0}}
/* Report feedback: one row of ratings, no heavy box */
.report-feedback{margin:18px 0 0;padding:12px 14px;border:1px solid #d8dfd4;border-radius:10px;background:#fcfaf5}
.report-feedback fieldset{border:0;margin:0 0 10px;padding:0}
.report-feedback legend{padding:0;margin:0 0 6px;font-weight:700;font-size:15px}
.report-feedback fieldset label{display:inline-block;margin:0 14px 4px 0;font-weight:400;font-size:14px}
.report-feedback>label{display:block;font-weight:700;font-size:14px}
.report-feedback textarea{font-weight:400;display:block;width:100%;box-sizing:border-box;margin:4px 0 10px;font:inherit}
/* Admin page */
#admin-body h2{margin:30px 0 8px}#admin-body h2:first-child{margin-top:6px}
#admin-body table{border-collapse:collapse;width:100%}
#admin-body th,#admin-body td{border-bottom:1px solid #e3e8df;padding:8px 10px;text-align:left;vertical-align:top;font-size:14px}
#admin-body th{font-size:13px;color:#4a5b50}
.danger-zone{margin-top:34px;padding:14px 18px;border:1px solid #d9aaa6;border-radius:10px;background:#fdf6f5}
.danger-zone h2{margin:0 0 6px!important;color:#8a2b24}
button.danger{background:#a8322b;border-color:#a8322b;color:#fff}button.danger:hover:not(:disabled){background:#8a2b24}
