@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&display=swap');
:root{--bg:#f4f7fb;--card:#fff;--ink:#0b1f3a;--muted:#6a788b;--line:#dde5ef;--primary:#0f5fff;--primary-dark:#0747bd;--success:#0f8a4b;--danger:#c62828;--soft:#eef4ff}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:radial-gradient(circle at top left,rgba(15,95,255,.1),transparent 34rem),linear-gradient(180deg,#f7faff 0%,var(--bg) 100%)}.page{min-height:100vh;display:grid;place-items:center;padding:32px 16px}.card{width:min(760px,100%);background:var(--card);border:1px solid var(--line);border-radius:28px;box-shadow:0 24px 80px rgba(11,31,58,.12);overflow:hidden}.hero{padding:28px 32px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#081f41 0%,#123d78 100%);color:white}.brand{display:flex;align-items:center;gap:14px}.logo-mark{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:white;color:#123d78;font-weight:800;font-size:24px}.brand-name{font-size:24px;font-weight:800;letter-spacing:-.03em}.brand-subtitle{color:rgba(255,255,255,.72);font-size:14px;margin-top:2px}.badge{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.12);padding:8px 12px;border-radius:999px;font-size:13px}.intro{padding:30px 32px 8px}.intro h1{margin:0 0 8px;font-size:34px;letter-spacing:-.04em}.intro p{margin:0;color:var(--muted);line-height:1.5}.upload-form{padding:24px 32px 32px}.grid,.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:8px;margin-bottom:16px}.field span{font-size:14px;font-weight:700;color:#2f4056}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:14px;font-size:16px;color:var(--ink);background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(15,95,255,.1)}input:disabled,select:disabled{background:#f6f8fb;color:var(--muted)}.action-grid{margin:4px 0 16px}.action-card{border:1px solid var(--line);background:white;border-radius:20px;padding:20px 16px;min-height:132px;cursor:pointer;display:grid;place-items:center;text-align:center;transition:.16s;color:var(--ink)}.action-card:hover{transform:translateY(-1px);border-color:var(--primary);box-shadow:0 12px 28px rgba(15,95,255,.12)}.action-card.camera{background:linear-gradient(180deg,#eef4ff,#fff)}.action-card.file{background:linear-gradient(180deg,#f7faff,#fff)}.action-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:var(--soft);font-size:24px;margin-bottom:8px}.action-card strong{font-size:17px}.action-card small{color:var(--muted);margin-top:4px}.drop-zone{border:2px dashed #b8c8dc;background:var(--soft);border-radius:22px;padding:26px 20px;margin:10px 0 16px;text-align:center;transition:.16s}.drop-zone.dragover{border-color:var(--primary);background:#e7efff;transform:translateY(-1px)}.upload-icon{width:48px;height:48px;border-radius:16px;margin:0 auto 10px;display:grid;place-items:center;background:white;color:var(--primary);font-size:30px;font-weight:800;box-shadow:0 8px 24px rgba(15,95,255,.16)}.drop-zone h2{margin:0 0 6px;font-size:20px}.drop-zone p{margin:0;color:var(--muted)}.primary{width:100%;border:0;border-radius:14px;padding:16px 18px;font-size:17px;font-weight:800;cursor:pointer;color:white;background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 14px 30px rgba(15,95,255,.24)}.primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.file-preview{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:14px;border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:16px}.file-thumb{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;font-size:13px;font-weight:800;background:#f0f4fa;color:#2f4056}.file-preview p{margin:4px 0 0;color:var(--muted);font-size:14px}.link-button{border:0;background:transparent;color:var(--primary);font-weight:800;cursor:pointer}.tips,.locked{border:1px solid #d6e4ff;background:#f7faff;border-radius:16px;padding:14px 16px;color:#2f4056;line-height:1.45;margin-bottom:18px}.locked{margin:24px 32px 32px;border-color:#ffd0d0;background:#fff1f1}.locked h2{margin:0 0 6px;color:#a11616}.locked p{margin:0}.tips ul{margin:8px 0 0 18px;padding:0}.tips li{margin:3px 0}.status{margin-top:16px;border-radius:16px;padding:16px;line-height:1.45}.status.success{color:var(--success);background:#ecf9f2;border:1px solid #bfe7d0}.status.error{color:var(--danger);background:#fff1f1;border:1px solid #ffd0d0}.hidden{display:none}.footer{padding:18px 32px 28px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}@media(max-width:640px){.page{padding:0;display:block}.card{min-height:100vh;border-radius:0;border:0}.hero,.intro,.upload-form,.footer{padding-left:20px;padding-right:20px}.locked{margin-left:20px;margin-right:20px}.grid,.action-grid{grid-template-columns:1fr;gap:0}.action-grid{gap:12px}.action-card{min-height:118px}.intro h1{font-size:30px}.badge{display:none}.file-preview{grid-template-columns:48px 1fr}.file-preview .link-button{grid-column:1/-1;text-align:left;padding:0}}