*{box-sizing:border-box;}
.row>*{min-width:0;}
.card{border:1px solid #d7dde5;border-radius:14px;padding:20px;background:#fbfcfe;}
h1{margin:0 0 14px;}
label{display:block;font-weight:800;margin:13px 0 6px;color:#1f2937;}
input,select,button{width:100%;max-width:100%;display:block;padding:12px 13px;border-radius:12px;border:1px solid #c7ced8;font-size:16px;background:#fff;}
input[type="file"]{padding:10px;}
button{cursor:pointer;font-weight:900;background:#1f2937;color:#fff;border-color:#1f2937;}
button:disabled{opacity:.6;cursor:not-allowed;}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;}
.bar{width:100%;height:13px;border-radius:999px;background:#e9edf3;overflow:hidden;margin-top:15px;}
.bar>div{height:100%;width:0%;background:#1f2937;transition:width .2s ease;}
.meta{margin-top:9px;color:#374151;font-size:14px;line-height:1.35;}
.err{margin-top:10px;color:#a4001d;font-weight:800;display:none;word-break:break-word;}
.download{margin-top:17px;display:none;}
.download a{display:inline-block;padding:12px 15px;border-radius:12px;border:1px solid #1f2937;text-decoration:none;color:#1f2937;font-weight:900;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#fff;}
.hint{color:#64748b;font-size:13px;margin-top:10px;line-height:1.35;}
@media(max-width:720px){.row{grid-template-columns:1fr}.card{padding:15px}}
