*{box-sizing:border-box;}
.row>*{min-width:0;}
.card{border:1px solid #e1d8c7;border-radius:10px;padding:18px;background:#fffdf8;}
h1{margin:0 0 12px;}
label{display:block;font-weight:800;margin:12px 0 6px;color:#3c3328;}
input,select,button{width:100%;max-width:100%;display:block;padding:11px 12px;border-radius:8px;border:1px solid #cfc2ad;font-size:16px;background:#fff;}
input[type="file"]{padding:10px;}
button{cursor:pointer;font-weight:900;background:#3c3328;color:#fff;border-color:#3c3328;}
button:disabled{opacity:.6;cursor:not-allowed;}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;}
.bar{width:100%;height:12px;border-radius:999px;background:#eee7dc;overflow:hidden;margin-top:14px;}
.bar>div{height:100%;width:0%;background:#3c3328;transition:width .2s ease;}
.meta{margin-top:8px;color:#4f4539;font-size:14px;line-height:1.35;}
.err{margin-top:10px;color:#9f1239;font-weight:800;display:none;word-break:break-word;}
.download{margin-top:16px;display:none;}
.download a{display:inline-block;padding:11px 14px;border-radius:8px;border:1px solid #3c3328;text-decoration:none;color:#3c3328;font-weight:900;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#fff;}
.hint{color:#766b5d;font-size:13px;margin-top:10px;line-height:1.35;}
@media(max-width:720px){.row{grid-template-columns:1fr}.card{padding:14px}}
