:root{font-family:system-ui,sans-serif;color:#e9edf3;background:#10141b}
*{box-sizing:border-box}
body{margin:0}
header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background:#080b10;border-bottom:1px solid #303745}
main{max-width:1100px;margin:auto;padding:2rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}
.card{background:#1a202b;border:1px solid #303745;border-radius:10px;padding:1.25rem;margin-bottom:1rem}
.narrow{max-width:440px;margin:4rem auto}
form{display:grid;gap:.8rem}
label{display:grid;gap:.35rem}
input{width:100%;padding:.75rem;border-radius:6px;border:1px solid #495365;background:#0f141c;color:#fff}
.check{display:flex;align-items:center}
.check input{width:auto}
button{border:1px solid #596579;background:#293243;color:#fff;border-radius:6px;padding:.55rem .8rem;cursor:pointer}
.primary{background:#087f5b;border-color:#0ca678}
.button-link{display:inline-block;color:#fff;padding:.55rem .8rem;border:1px solid #0ca678;border-radius:6px;text-decoration:none}
.button-link:hover{color:#fff;background:#099268;text-decoration:none}
.danger{background:#8f1d2c;border-color:#c92a2a}
button:disabled{cursor:wait;opacity:.65}
.item{display:flex;justify-content:space-between;gap:1rem;align-items:center;border-top:1px solid #303745;padding:.75rem 0}
.item form,header form{display:block}
.photo-row{justify-content:flex-start}
.photo-details{flex:1;overflow-wrap:anywhere}
.upload-thumbnail{width:112px;height:84px;object-fit:cover;border-radius:6px;border:1px solid #495365;background:#0f141c}
.notice{padding:.8rem;border-radius:6px}
.success{background:#184d3d}
.error{background:#65232c}
small{color:#b8c0cc}
@media(max-width:600px){main{padding:1rem}
.item{align-items:flex-start;flex-direction:column}
.upload-thumbnail{width:160px;height:120px}
}
