/* Private proof review and the owner's Build folder. Shared painted lettering is loaded first. */
:root{color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body.approval-page{margin:0;background:#10161b;color:#f8f5e9;font-size:16px;line-height:1.7;background-image:radial-gradient(ellipse at 97% 14%,#d21b812b,transparent 34%),radial-gradient(ellipse at 2% 60%,#47c4e01c,transparent 35%)}
.approval-page a{color:inherit;text-underline-offset:5px}
.approval-page button,.approval-page input,.approval-page textarea{font:inherit}
.approval-page :focus-visible{outline:3px solid #5edbef;outline-offset:5px}
.approval-skip{position:absolute;top:-100px;left:16px;padding:12px;background:#f7cb52;color:#10161b!important;z-index:10}
.approval-skip:focus{top:8px}
.approval-header{max-width:1280px;margin:auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #ffffff24}
.approval-brand{display:flex;align-items:center;gap:15px;text-decoration:none;line-height:1.5;font-size:15px}
.approval-brand img{width:110px;height:110px;object-fit:contain}
.approval-home{white-space:nowrap}
.approval-main{max-width:1200px;margin:0 auto;padding:48px 32px 72px}
.approval-heading{max-width:870px;margin-bottom:32px}
.approval-eyebrow{color:#f7cb52;font-size:13px;margin:0 0 8px}
.approval-heading h1{font-size:clamp(34px,5.2vw,65px);font-weight:400;line-height:1.25;text-transform:uppercase;letter-spacing:-.5px;margin:0 0 24px;color:#fff;text-shadow:3px 3px 0 #0a0e11,5px 5px 0 #b9297d;transform:rotate(-1deg)}
.approval-heading>p:last-child{max-width:65ch;color:#e1e1db}
.approval-page h2{font-size:clamp(23px,3vw,32px);font-weight:400;line-height:1.4;margin:0 0 20px}
.approval-page h3{font-size:19px;font-weight:400;line-height:1.5;margin:0 0 12px}
.approval-message{padding:15px 18px;border:1px solid #5edbef80;background:#5edbef0d;border-radius:3px;overflow-wrap:anywhere}
.approval-message[data-kind=error]{border-color:#ff89b9;color:#ffc5dd;background:#ce266d16}
.approval-message[data-kind=success]{border-color:#8ee9aa;color:#b5f4c8;background:#42ad6412}
.approval-reference{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.approval-reference strong{font-size:22px;font-weight:400;overflow-wrap:anywhere}
.approval-badge{display:inline-block;padding:4px 11px;border:1px solid #f7cb5266;border-radius:3px;background:#f7cb520e;color:#f7cb52;font-size:12px;line-height:1.6}
.approval-notice{border-left:4px solid #f7cb52;padding:20px 24px;background:#f7cb520b;line-height:1.9;margin-bottom:28px}
.approval-review-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;margin-bottom:24px;align-items:start}
.approval-panel{min-width:0;padding:28px;border:1px solid #ffffff29;background:#171e24;border-radius:5px}
.approval-panel p{overflow-wrap:anywhere}
.approval-proof{display:block;width:100%;max-height:780px;object-fit:contain;background:repeating-conic-gradient(#e4e4e4 0 25%,#fff 0 50%) 50%/20px 20px;border-radius:3px}
.proof-placeholder{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px;border:1px dashed #ffffff39;background:#0b1117;color:#c0c9ca}
.proof-placeholder>span{font-size:62px;color:#f7cb52}
.proof-notes{white-space:pre-wrap;padding-top:12px}
.approval-small{font-size:12px;color:#bbc6cd;line-height:1.8}
.approval-text-link{display:inline-block;margin-top:15px;color:#f7cb52!important}
.approval-details{margin:0;display:grid;grid-template-columns:minmax(100px,.8fr) minmax(0,1.3fr);column-gap:15px;row-gap:12px}
.approval-details dt{color:#9facb5;font-size:13px}
.approval-details dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap;font-size:14px}
.approval-face{margin-top:25px;border-top:1px solid #ffffff29;padding-top:20px}
.approval-face img{max-width:190px;width:100%;height:auto;border-radius:4px;display:block}
.approval-submitted img{max-width:100%;max-height:420px;object-fit:contain}
.approval-action-panel{border-top:3px solid #e43b94}
.approval-confirm{display:flex;align-items:flex-start;gap:13px;padding:16px 0;cursor:pointer;max-width:850px}
.approval-confirm input{width:22px;height:22px;flex:none;margin-top:4px;accent-color:#f7cb52}
.approval-confirm span{font-size:14px;line-height:1.85}
.approval-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:18px}
.approval-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:2px solid #f7cb52;border-radius:2px;background:#f7cb52;color:#10161b!important;font-size:14px;line-height:1.6;text-decoration:none;cursor:pointer;box-shadow:3px 3px 0 #080c10;max-width:100%;text-align:center}
.approval-button:hover{background:#ffdc77;border-color:#ffdc77}
.approval-button-secondary{background:transparent;color:#f8f5e9!important;border-color:#8b9aa5}
.approval-button-secondary:hover{background:#ffffff12;border-color:#d3dce4}
.approval-button-quiet{background:transparent;color:#bbc6cd!important;border-color:transparent;box-shadow:none;text-decoration:underline;text-underline-offset:5px}
.approval-button-quiet:hover{background:#ffffff0a;border-color:transparent;color:white!important}
.approval-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.approval-receipt{padding:28px;margin-top:24px;border:2px solid #8ee9aa;background:#42ad6412}
.approval-receipt h2{color:#b5f4c8}
.approval-footer{border-top:1px solid #ffffff24;max-width:1280px;padding:28px 32px 40px;margin:auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 28px;font-size:13px;color:#bbc6cd}
.approval-footer p{margin:0}
.approval-footer .approval-small{width:100%}
.production-toolbar,.production-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.production-toolbar p{font-size:13px;overflow-wrap:anywhere;max-width:100%}
.production-section-nav{display:flex;gap:24px;flex-wrap:wrap;padding:24px 0;margin-bottom:18px;border-bottom:1px solid #ffffff24}
.production-section-nav a{color:#f7cb52}
.production-section-heading{margin:35px 0 5px}
.production-section-heading h2,.production-section-heading p{margin:0}
.production-section-heading p{font-size:13px;color:#aebdc8}
.approval-section-help{font-size:14px;color:#bbc6cd;max-width:75ch;margin-bottom:24px}
.production-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.production-card{display:flex;flex-direction:column;gap:20px;min-width:0}
.production-card .approval-reference{margin:0}
.production-card h3{margin:0}
.production-card .approval-details{font-size:13px}
.production-card .approval-details dd{font-size:13px}
.production-card .approval-actions{margin:0;gap:9px}
.production-card .approval-button{font-size:12px;padding:10px 14px}
.production-proof-form{border-top:1px solid #ffffff29;padding-top:22px;display:grid;gap:12px}
.production-proof-form label{font-size:13px;display:grid;gap:8px}
.production-proof-form input,.production-proof-form textarea,.review-link-fallback{width:100%;min-width:0;padding:12px;border:1px solid #85939e;border-radius:3px;background:#0d141a;color:white;font-size:14px;line-height:1.7}
.production-proof-form input[type=file]{padding:10px;font-size:12px}
.production-proof-form input::file-selector-button{border:0;background:#f7cb52;padding:8px;margin-right:10px;color:#10161b;border-radius:2px;cursor:pointer}
.production-proof-form .approval-button{justify-self:start}
.production-proof-form textarea{resize:vertical}
.production-preview{display:block;width:100%;max-height:440px;object-fit:contain;background:#080d11}
.production-empty{border:1px dashed #ffffff39;padding:28px;grid-column:1/-1;color:#bbc6cd}
.production-card .approval-message{font-size:13px;margin:0}
.production-card details{border-top:1px solid #ffffff24;padding-top:15px}
.production-card summary{cursor:pointer;color:#f7cb52}
.production-card details .approval-details{padding-top:18px}
.review-link-fallback{font-size:12px!important}
@media(max-width:760px){.approval-header{padding:12px 20px}.approval-brand{font-size:12px;gap:8px}.approval-brand img{width:85px;height:85px}.approval-main{padding:34px 20px 48px}.approval-review-grid,.production-cards{grid-template-columns:1fr}.approval-panel{padding:22px}.approval-details{grid-template-columns:minmax(95px,.7fr) minmax(0,1.3fr);gap:12px}.approval-heading h1{font-size:clamp(32px,8vw,50px)}.approval-notice{padding:16px 18px}.approval-footer{padding:25px 20px}.approval-actions>.approval-button{flex:1 1 160px}.production-toolbar>.approval-button{width:100%}.proof-placeholder{min-height:250px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Progress is stored with each private request; completed stages never reopen proof approval. */
.approval-progress-panel{border:1px solid #ffffff29;background:#171e24;padding:22px;margin-bottom:24px;border-radius:5px}
.approval-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;list-style:none;margin:0;padding:0;counter-reset:request-step}
.approval-progress li{position:relative;counter-increment:request-step;border-top:3px solid #405160;padding:14px 6px 5px;color:#b7c4cc;font-size:14px;line-height:1.5}
.approval-progress li:before{content:counter(request-step);display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:25px;height:25px;margin-right:7px;border:1px solid #82919c;border-radius:50%;font-size:12px}
.approval-progress li.is-complete{border-color:#83dbac;color:#c2f3d6}.approval-progress li.is-complete:before{content:'✓';border-color:#83dbac}
.approval-progress li[aria-current=step]{border-color:#f7cb52;color:#ffe9a8}.approval-progress li[aria-current=step]:before{background:#f7cb52;border-color:#f7cb52;color:#10161b}
.approval-progress-panel .approval-small{margin-top:18px}.approval-progress-panel .review-link-fallback{margin-top:16px}
.approval-fulfillment{margin-bottom:24px}.approval-fulfillment p:first-child{white-space:pre-wrap;margin-top:0}
.production-progress{grid-template-columns:repeat(auto-fit,minmax(75px,1fr));gap:8px}.production-progress li{font-size:12px;padding-left:0;padding-right:0}.production-progress li:before{display:flex;margin:0 0 7px}
.production-status-form h4{font-size:20px;margin:0}.production-status-form .approval-small{margin:0}
/* Keep detailed request information readable while preserving painted headings and actions. */
.approval-page :is(.approval-details dt,.approval-details dd,.approval-small,.approval-notice,.approval-notice p,.approval-message,.approval-confirm span,.approval-section-help,.approval-progress li,.production-proof-form label,.production-proof-form input,.production-proof-form textarea,.review-link-fallback,.approval-fulfillment p){font-family:Arial,Helvetica,sans-serif!important;letter-spacing:0}
.approval-page .approval-details :is(dt,dd){font-size:16px}.approval-page :is(.production-proof-form input,.production-proof-form textarea,.review-link-fallback){font-size:16px!important}
@media(max-width:520px){.approval-progress{grid-template-columns:1fr;gap:0}.approval-progress li{border-top:0;border-left:3px solid #405160;padding:8px 12px}.approval-progress li.is-complete{border-color:#83dbac}.approval-progress li[aria-current=step]{border-color:#f7cb52}.production-progress li:before{display:inline-flex;margin:0 7px 0 0}.approval-progress-panel{padding:18px}}
