*{box-sizing:border-box;}
.row>*{min-width:0;}
.card{border:1px solid #d9d9e8;border-radius:18px;padding:20px;background:#fdfdff;}
h1{margin:0 0 13px;}
label{display:block;font-weight:800;margin:13px 0 6px;color:#23223d;}
input,select,button{width:100%;max-width:100%;display:block;padding:13px;border-radius:14px;border:1px solid #c6c5dc;font-size:16px;background:#fff;}
input[type="file"]{padding:10px;}
button{cursor:pointer;font-weight:900;background:#25245a;color:#fff;border-color:#25245a;}
button:disabled{opacity:.6;cursor:not-allowed;}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;}
.bar{width:100%;height:15px;border-radius:999px;background:#ecebfa;overflow:hidden;margin-top:15px;}
.bar>div{height:100%;width:0%;background:#25245a;transition:width .2s ease;}
.meta{margin-top:9px;color:#3f3e5d;font-size:14px;line-height:1.35;}
.err{margin-top:10px;color:#b00020;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:14px;border:1px solid #25245a;text-decoration:none;color:#25245a;font-weight:900;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#fff;}
.hint{color:#666482;font-size:13px;margin-top:10px;line-height:1.35;}
@media(max-width:720px){.row{grid-template-columns:1fr}.card{padding:15px}}
