.upload-callout-section{
max-width:980px;
}

.upload-callout-card{
display:grid;
grid-template-columns:minmax(0, 1.2fr) 240px;
gap:30px;
align-items:center;
padding:28px;
background:rgba(255,255,255,0.72);
border:1px solid rgba(88,102,79,0.14);
border-radius:30px;
box-shadow:0 18px 36px rgba(45,58,39,0.08);
text-align:left;
}

.upload-callout-copy p:last-of-type{
margin-bottom:0;
}

.upload-callout-actions{
margin-top:22px;
}

.upload-button{
display:inline-flex;
align-items:center;
justify-content:center;
padding:14px 24px;
background:#5f7057;
color:#fffdf7;
text-decoration:none;
border-radius:999px;
font-size:14px;
letter-spacing:0.12em;
text-transform:uppercase;
box-shadow:0 12px 22px rgba(45,58,39,0.14);
transition:transform 200ms ease, box-shadow 200ms ease, background-color 200ms ease;
}

.upload-button:hover,
.upload-button:focus-visible{
background:#4e5f49;
transform:translateY(-1px);
box-shadow:0 14px 26px rgba(45,58,39,0.16);
outline:none;
}

.upload-callout-qr{
text-align:center;
}

.upload-callout-qr img{
display:block;
width:220px;
max-width:100%;
margin:0 auto 12px;
border-radius:22px;
background:#fff;
padding:10px;
box-shadow:0 10px 24px rgba(45,58,39,0.08);
}

.upload-callout-qr p{
margin:0;
font-size:13px;
letter-spacing:0.08em;
text-transform:uppercase;
color:#5b6854;
}

.upload-page{
min-height:100vh;
padding:60px 20px;
}

.upload-shell{
max-width:860px;
margin:0 auto;
}

.upload-panel{
background:rgba(255,255,255,0.8);
border:1px solid rgba(88,102,79,0.14);
border-radius:32px;
padding:32px;
box-shadow:0 18px 36px rgba(45,58,39,0.08);
text-align:left;
}

.upload-panel h1{
font-size:48px;
margin-bottom:12px;
text-align:center;
}

.upload-panel-intro{
max-width:640px;
margin:0 auto 28px;
text-align:center;
line-height:1.7;
}

.upload-form{
display:grid;
gap:18px;
}

.upload-field{
display:grid;
gap:8px;
}

.upload-field label{
font-size:13px;
letter-spacing:0.08em;
text-transform:uppercase;
color:#5b6854;
}

.upload-field input,
.upload-field textarea{
width:100%;
box-sizing:border-box;
padding:14px 16px;
border:1px solid rgba(88,102,79,0.18);
border-radius:18px;
background:rgba(255,255,255,0.92);
font:inherit;
color:#2b2b2b;
}

.upload-field textarea{
min-height:120px;
resize:vertical;
}

.upload-field input[type="file"]{
padding:16px;
background:rgba(248,242,228,0.75);
}

.upload-help{
font-size:14px;
color:#5b6854;
margin:0;
}

.upload-submit{
justify-self:start;
border:none;
cursor:pointer;
}

.upload-alert{
padding:14px 16px;
border-radius:18px;
margin-bottom:22px;
font-size:15px;
line-height:1.6;
}

.upload-alert-success{
background:rgba(101,140,94,0.14);
border:1px solid rgba(101,140,94,0.28);
color:#25411f;
}

.upload-alert-error{
background:rgba(172,95,95,0.12);
border:1px solid rgba(172,95,95,0.26);
color:#6a2f2f;
}

.upload-list{
margin:10px 0 0;
padding-left:18px;
}

.upload-back{
display:inline-block;
margin-top:24px;
color:#173d2f;
text-decoration:none;
border-bottom:1px solid rgba(23,61,47,0.3);
padding-bottom:2px;
}

@media (max-width:768px){

.upload-callout-card{
grid-template-columns:1fr;
padding:22px;
}

.upload-callout-qr{
order:-1;
}

.upload-panel{
padding:24px 20px;
}

.upload-panel h1{
font-size:40px;
}

.upload-submit{
justify-self:stretch;
}

}
