.appVisual30 .cardScan31 { margin:0 0 20px; padding:18px; border:1px solid #E2E4E8; background:#F2F3F5; border-radius:18px; color:#202226; }
.appVisual30 .cardScan31[hidden] { display:none !important; }
.appVisual30 .cardScan31 header { display:flex; align-items:center; gap:12px; }
.appVisual30 .scanIcon31 { display:grid; place-items:center; flex:none; width:40px; height:40px; border-radius:12px; background:#EAECF0; font-size:28px; font-weight:500; }
.appVisual30 .cardScan31 h2 { margin:0; font-size:calc(17px * var(--mc-text-scale,1)); line-height:1.35; letter-spacing:0; }
.appVisual30 .scanPrivacy31 { margin:4px 0 0; font-size:calc(12px * var(--mc-text-scale,1)); line-height:1.5; color:#62666E; }
.appVisual30 .scanModes32 { display:flex; gap:6px; background:#EAECF0; padding:5px; border-radius:13px; margin-top:16px; }
.appVisual30 .scanModes32 button { flex:1; min-width:0; min-height:44px; border:0; border-radius:9px; padding:9px 8px; background:transparent; color:#202226; font:inherit; font-size:calc(12px * var(--mc-text-scale,1)); line-height:1.45; white-space:normal; }
.appVisual30 .scanModes32 button[aria-pressed=true] { color:#202226; background:#fff; box-shadow:0 1px 4px #20222612; font-weight:600; }
.appVisual30 .scanGradeNotice32:empty { display:none; }
.appVisual30 .scanGradeNotice32 { margin-top:12px; padding:12px; background:#fff8e8; border:1px solid #e9dcc0; border-radius:12px; color:#6d5934; }
.appVisual30 .scanGradeNotice32 p,.appVisual30 .scanBack32 p { font-size:calc(12px * var(--mc-text-scale,1)); line-height:1.6; margin:0 0 12px; }
.appVisual30 .scanGradeNotice32 button { width:100%; white-space:normal; min-height:44px; padding:10px; border:1px solid #d5c39c; border-radius:10px; color:#6d5934; background:#fff; font:inherit; font-size:calc(12px * var(--mc-text-scale,1)); line-height:1.5; }
.appVisual30 .scanBack32 { margin-top:12px; border-top:1px solid #E2E4E8; }
.appVisual30 .scanBack32 summary { padding:14px 0; min-height:44px; font-size:calc(13px * var(--mc-text-scale,1)); cursor:pointer; }
.appVisual30 .scanBack32 p { color:#62666E; }
.appVisual30 .scanStatus31 { margin:14px 0; font-size:calc(13px * var(--mc-text-scale,1)); line-height:1.6; }
.appVisual30 .scanActions31 { display:flex; flex-wrap:wrap; gap:8px; }
.appVisual30 .scanActions31 button,.appVisual30 .scanApply31 { min-height:44px; padding:10px 14px; border:1px solid #E2E4E8; border-radius:12px; background:#fff; color:#202226; font:inherit; font-size:calc(13px * var(--mc-text-scale,1)); line-height:1.4; white-space:normal; }
.appVisual30 .scanActions31 .scanPrimary31,.appVisual30 .scanApply31 { color:#fff; background:#34373D; border-color:#34373D; }
.appVisual30 .scanFields31 { margin-top:16px; border:1px solid #E2E4E8; border-radius:14px; background:#fff; overflow:hidden; }
.appVisual30 .scanField31 { display:flex; align-items:flex-start; gap:12px; margin:0; padding:12px; min-height:56px; font-weight:400; }
.appVisual30 .scanField31+.scanField31 { border-top:1px solid #E2E4E8; }
.appVisual30 .scanField31 input[type=checkbox] { width:22px; height:22px; min-height:22px; flex:none; margin:12px 0 0; accent-color:#34373D; }
.appVisual30 .scanFieldBody31 { display:grid; min-width:0; gap:4px; overflow-wrap:anywhere; }
.appVisual30 .scanFieldBody31 small { color:#62666E; font-size:calc(11px * var(--mc-text-scale,1)); }
.appVisual30 .scanFieldBody31 strong { color:#202226; font-size:calc(15px * var(--mc-text-scale,1)); font-weight:600; }
.appVisual30 .scanFieldBody31 { flex:1; }
.appVisual30 .scanFieldBody31 select { width:100%; min-width:0; min-height:44px; padding:8px; box-sizing:border-box; background:#F8F9FA; color:#202226; border:1px solid #E2E4E8; border-radius:8px; font-size:calc(13px * var(--mc-text-scale,1)); }
.appVisual30 .scanEvidence32 { white-space:pre-wrap; font-size:calc(11px * var(--mc-text-scale,1)); line-height:1.55; color:#62666E; }
.appVisual30 .scanConflict32 { color:#8a6226; font-size:calc(11px * var(--mc-text-scale,1)); line-height:1.5; }
.appVisual30 .scanRaw31 h3 { font-size:calc(12px * var(--mc-text-scale,1)); margin:12px 0 6px; }
.appVisual30 .scanExisting31 { color:#766240; font-size:calc(11px * var(--mc-text-scale,1)); line-height:1.5; }
.appVisual30 .scanApply31 { width:100%; margin-top:12px; }
.appVisual30 .scanApply31:disabled { opacity:.45; }
.appVisual30 .scanRaw31 { margin-top:12px; }
.appVisual30 .scanRaw31 summary { min-height:44px; padding:12px 0; font-size:calc(12px * var(--mc-text-scale,1)); cursor:pointer; }
.appVisual30 .scanRaw31 p { padding:12px; border-radius:10px; background:#F2F3F5; margin:0; font-size:calc(12px * var(--mc-text-scale,1)); line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; user-select:text; -webkit-user-select:text; }
.appVisual30 .cardScan31 button:focus-visible,.appVisual30 .scanField31 input:focus-visible { outline:3px solid #34373D; outline-offset:3px; }
@media (prefers-reduced-motion:no-preference) { .appVisual30 .isScanning31 .scanIcon31 { animation:scanPulse31 1.4s ease-in-out infinite; } }
@keyframes scanPulse31 { 50% { opacity:.45; } }
