:root{--brand: #4f46e5;--brand-d: #4338ca;--bg: #f6f7f9;--card: #ffffff;--line: #e3e6ea;--text: #1f2430;--muted: #6b7280}*{box-sizing:border-box}html,body{margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%}.app{max-width:560px;margin:0 auto;min-height:100vh;background:var(--bg)}.header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;padding-top:max(14px,env(safe-area-inset-top));background:var(--brand);color:#fff;position:sticky;top:0;z-index:10}.header h1{font-size:18px;margin:0;font-weight:700;letter-spacing:.2px}.header button{background:transparent;border:1px solid rgba(255,255,255,.55);color:#fff;border-radius:8px;padding:6px 10px;font-size:13px;cursor:pointer}.content{padding:18px}.center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding-top:36px;text-align:center}.subtitle{color:var(--muted);font-size:15px;margin:6px 0 18px;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--brand);color:#fff;border:none;border-radius:10px;padding:14px 22px;font-size:16px;font-weight:600;cursor:pointer;width:100%;max-width:340px}.btn:active{background:var(--brand-d)}.btn.secondary{background:#374151}.btn:disabled{opacity:.5;cursor:default}.btn.block{width:100%;max-width:none}.btn.ghost{background:#fff;color:#374151;border:1px solid #cbd0d6}.btn.ghost:active{background:#f3f4f6}.actions{display:flex;flex-direction:column;gap:10px;margin-top:28px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:12px}.heading{font-size:22px;font-weight:700;margin:4px 0}label.field{display:block;font-size:12px;font-weight:700;color:#444;margin-top:14px}.lineLabel{font-size:11px;font-weight:700;color:#777;margin-top:8px;display:block}input.input,textarea.input{width:100%;border:1px solid #cbd0d6;border-radius:8px;padding:10px;font-size:15px;margin-top:6px;background:#fff;font-family:inherit}textarea.input{resize:vertical}.note{font-size:12px;color:var(--muted);margin-top:8px}.warn{color:#c0392b;font-weight:600}.totalBox{border:1px solid #cfe0ff;background:#eef4ff;border-radius:10px;padding:12px;margin-top:12px}.totalLabel{font-size:12px;font-weight:700;color:var(--brand)}.totalValue{font-size:20px;font-weight:700;color:#12325f;margin-top:2px}.totalRef{font-size:12px;color:#666;margin-top:4px}.link{color:var(--brand);font-size:14px;background:none;border:none;padding:0;cursor:pointer;margin-top:8px}.pickrow{padding:10px 4px;border-bottom:1px solid #eee;cursor:pointer;font-size:15px}.pickrow:hover{background:#f3f4ff}.selected{border:1px solid var(--brand);background:#eef2ff;border-radius:8px;padding:12px;margin-top:6px}.selectedName{font-weight:700;margin-top:4px}.suggest{border:1px solid #e0a800;background:#fff8e1;border-radius:8px;padding:10px;margin-top:8px;cursor:pointer}.suggestLabel{font-size:12px;color:#8a6d00}.tabs{display:flex;gap:8px;margin-top:8px}.tab{flex:1;border:1px solid #bbb;border-radius:8px;padding:9px;text-align:center;font-size:13px;background:#fff;cursor:pointer}.tab.active{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.chip{border:1px solid #bbb;border-radius:16px;padding:7px 12px;font-size:13px;background:#fff;cursor:pointer}.chip.active{background:var(--brand);border-color:var(--brand);color:#fff}.spinner{width:38px;height:38px;border:4px solid #d9dce0;border-top-color:var(--brand);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.preview{width:180px;height:240px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.pdfbadge{font-size:16px;color:#444;padding:22px;border:1px solid var(--line);border-radius:10px;background:#fafafa}.banner{background:#fde8e8;color:#9b1c1c;border:1px solid #f5b5b5;border-radius:8px;padding:10px 12px;font-size:14px;margin-top:12px}.success{font-size:17px;text-align:center;margin:20px 0;line-height:1.5}
