body{min-height:100vh}
.shell{max-width:520px;margin:0 auto;min-height:100vh;background:var(--surface);display:flex;flex-direction:column}
@media (min-width:560px){body{padding:1.5rem 0}.shell{min-height:auto;border:1px solid var(--line);border-radius:32px;overflow:hidden}}
.head{background:var(--navy);color:#fff;padding:1.2rem 1.2rem 1.1rem;display:flex;gap:.8rem;align-items:center}
.head img{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:50%;padding:4px;flex:none}
.head h1{font-size:1.4rem}
.head .org{margin:0;color:#C9D2E4;font-size:.9rem}
.head .icon-btn{margin-left:auto;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.25);color:#fff}
.body{padding:1.2rem}
.intro{color:var(--ink-soft);margin:0 0 1rem}
form{display:grid;gap:1rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
@media (max-width:380px){.two{grid-template-columns:1fr}}
.file{position:absolute;width:1px;height:1px;opacity:0}
.upload{display:block;border:1px dashed var(--line);border-radius:14px;padding:.9rem;text-align:center;font-size:.95rem;font-weight:400;color:var(--ink-soft);cursor:pointer;background:var(--surface-2)}
.file:focus-visible+.hint,.upload:focus-within{outline:3px solid var(--focus)}
.upload.done{border-style:solid;color:var(--pos);background:var(--tint-green)}
.submit{width:100%;padding:.95rem;font-size:1.05rem}
.done{text-align:center;padding:1rem 0}
.done .ok{width:68px;height:68px;border-radius:50%;background:var(--tint-green);color:var(--pos);display:grid;place-items:center;margin:0 auto 1rem}
.done h2{font-size:1.6rem;margin-bottom:.5rem}
.done .note{text-align:left;background:var(--surface-2);border-radius:16px;padding:.9rem 1rem;font-size:.95rem}
.late{color:var(--bad);font-weight:500}
