.recall-page{min-height:100vh;background:#f7f7f7;color:#202020;font-family:Arial,"Microsoft YaHei",sans-serif}
.recall-header{height:70px;box-sizing:border-box;align-items:center;padding:0 14px;border-bottom:1px solid #eee;z-index:900}
.recall-back{width:76px;font:36px/1 Arial;color:#333;text-decoration:none}
.recall-logo{display:block;width:100px;height:auto}
.recall-header-service{display:flex;align-items:center;gap:4px;background:#fff;border:1px solid #eee;border-radius:20px;color:#333;padding:7px;font-size:12px;cursor:pointer}
.recall-header-service img{width:18px;height:18px}
.recall-main{box-sizing:border-box;max-width:600px;margin:auto;padding:104px 20px 40px}
.recall-intro>span{font-size:11px;letter-spacing:2px;color:#eb0a1e}
.recall-intro h1{font-size:28px;line-height:1.4;font-weight:700;margin:8px 0 10px}
.recall-intro>p{font-size:13px;line-height:1.8;color:#777;margin-bottom:24px}
.recall-form,.recall-result,.recall-empty{padding:24px 20px;background:#fff;border-radius:12px;box-shadow:0 2px 12px #00000008;margin-bottom:18px}
.recall-form label{display:block;font-size:14px;font-weight:600;margin-bottom:10px}
.recall-form input{box-sizing:border-box;display:block;width:100%;height:48px;border:1px solid #ddd;background:#fafafa;border-radius:6px;padding:0 12px;font:16px Arial,"Microsoft YaHei",sans-serif;margin-bottom:22px;color:#202020}
.recall-form input:focus{outline:2px solid #eb0a1e;outline-offset:1px}
.recall-submit{width:100%;height:48px;background:#eb0a1e;color:#fff;border:0;border-radius:6px;font-size:15px;font-weight:600;cursor:pointer}
.recall-submit:disabled,.recall-contact:disabled{opacity:.6;cursor:wait}
.recall-error{color:#b20c1c;font-size:13px;line-height:1.7;margin:0 0 14px}
.recall-status{display:flex;align-items:center;gap:8px;padding-bottom:18px;border-bottom:1px solid #eee;color:#8c6419}
.recall-status h2{font-size:18px;font-weight:700;margin:0}
.recall-status-dot{display:block;width:8px;height:8px;background:currentColor;border-radius:50%}
.recall-status.affected{color:#d20a21}.recall-status.clear{color:#2c775b}.recall-status.completed{color:#3471a8}
.recall-result dl{margin:18px 0;font-size:13px}.recall-result dl>div{display:flex;gap:18px;line-height:1.8;margin:10px 0}
.recall-result dt{flex:0 0 65px;color:#888}.recall-result dd{margin:0;overflow-wrap:anywhere}
.recall-note{background:#fafafa;padding:14px;border-radius:6px}.recall-note h3{font-size:13px;font-weight:600;margin:0 0 8px}.recall-note p{white-space:pre-wrap;overflow-wrap:anywhere;color:#555;font-size:13px;line-height:1.8;margin:0}
.recall-updated{color:#999;font-size:11px;margin-top:12px}
.recall-contact,.recall-empty button{background:#fff;color:#d20a21;border:1px solid #edc8cd;padding:10px 16px;border-radius:6px;font-size:13px;cursor:pointer;margin-top:18px}
.recall-empty h2{font-size:18px;font-weight:600;margin-bottom:12px}.recall-empty p,.recall-source-note{font-size:12px;color:#888;line-height:1.9}
.recall-source-note{margin:24px 4px 0}.recall-loading{padding:100px 20px;color:#777;text-align:center}
body:has(.recall-result-dialog[open]){overflow:hidden}
.recall-result-dialog{border:0;padding:0;width:calc(100% - 32px);max-width:560px;max-height:88vh;max-height:88dvh;margin:auto;border-radius:18px;background:#fff;color:#202020;box-shadow:0 20px 80px #0003;font-family:Arial,"Microsoft YaHei",sans-serif;overflow:hidden}
.recall-result-dialog[open]{display:flex;flex-direction:column}
.recall-result-dialog::backdrop{background:#0008;backdrop-filter:blur(3px)}
.recall-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #eee;flex-shrink:0}
.recall-dialog-heading h2{font-size:17px;line-height:1.5;font-weight:600;margin:0}
.recall-dialog-close{border:0;background:#f5f5f5;border-radius:50%;width:32px;height:32px;font:24px/1 Arial;color:#666;cursor:pointer;flex-shrink:0}
.recall-dialog-content{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:0 20px}
.recall-dialog-content .recall-result{padding:20px 0;margin:0;box-shadow:none;border-radius:0}
.recall-dialog-content .recall-result+.recall-result{border-top:1px solid #eee}
.recall-dialog-actions{flex-shrink:0;border-top:1px solid #eee;padding:14px 20px max(14px,env(safe-area-inset-bottom));background:#fff}
.recall-dialog-return{display:block;width:100%;padding:12px 0 0;border:0;background:transparent;color:#888;font-size:12px;cursor:pointer}
.recall-result-dialog button:focus-visible{outline:2px solid #eb0a1e;outline-offset:2px}
@media(max-height:520px){.recall-result-dialog{max-height:96vh;max-height:96dvh}.recall-dialog-heading{padding:10px 16px}.recall-dialog-actions{padding:10px 16px}.recall-dialog-actions .recall-submit{height:40px}}
.recall-dialog-content .recall-empty{padding:24px 0;margin:0;box-shadow:none;border-radius:0}
.recall-input-wrap{position:relative;margin-bottom:22px}
.recall-input-wrap input{margin-bottom:0;padding-right:44px}
.recall-input-clear{position:absolute;right:8px;top:8px;width:32px;height:32px;border:0;border-radius:50%;padding:0;background:transparent;color:#999;font:22px/32px Arial;cursor:pointer;display:flex;align-items:center;justify-content:center}
.recall-input-clear:hover{color:#555;background:#eee}
.recall-input-clear:focus-visible{outline:2px solid #eb0a1e;outline-offset:1px}
.recall-input-clear:disabled{opacity:.4;cursor:default}
