.fp-panel {
            background: #fff;
            border-radius: 8px;
            box-shadow: 0 4px 12px rgb(0 0 0 / 8%);
            border: 1px solid #eef2f7;
            margin: 16px 0 20px;
            overflow: hidden;
        }
        .fp-panel-head {
            padding: 18px 20px;
            border-bottom: 1px solid #eef2f7;
            background: linear-gradient(135deg, #f8fafc 0%, #fff 100%);
        }
        .fp-panel-head-top {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            flex-wrap: wrap;
            margin-bottom: 10px;
        }
        .fp-panel-title { font-size: 1.05rem; font-weight: 600; color: #0f172a; }
        .fp-copy-btn {
            padding: 6px 14px;
            font-size: 0.8rem;
            font-weight: 600;
            border: 1px solid #cbd5e1;
            background: #fff;
            color: #334155;
            border-radius: 8px;
            cursor: pointer;
        }
        .fp-copy-btn:hover { background: #f8fafc; }
        .fp-progress { font-size: 0.84rem; color: #64748b; margin-bottom: 8px; }
        .fp-loading-inline {
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }
        .fp-spinner {
            display: inline-block;
            width: 14px;
            height: 14px;
            border: 2px solid #dbeafe;
            border-top-color: #3794f8;
            border-radius: 50%;
            animation: fpSpin 0.8s linear infinite;
            flex-shrink: 0;
            vertical-align: middle;
        }
@keyframes fpSpin { to { transform: rotate(360deg); } }
        .fp-id-label { font-size: 0.78rem; color: #64748b; margin-bottom: 4px; }
        .fp-id-value {
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            font-size: 0.82rem;
            word-break: break-all;
            color: #0f172a;
            line-height: 1.55;
        }
        .fp-id-value .fp-loading-inline {
            color: #94a3b8;
            font-family: "Noto Sans SC", sans-serif;
            font-size: 0.86rem;
        }
        .fp-risk-box {
            margin-top: 14px;
            padding: 10px 14px;
            border-radius: 10px;
            border: 1px solid #e2e8f0;
            background: #f8fafc;
            display: flex;
            align-items: center;
            gap: 12px;
            flex-wrap: wrap;
        }
        .fp-risk-label { font-size: 0.84rem; color: #64748b; font-weight: 600; }
        .fp-risk-level { font-size: 0.95rem; font-weight: 700; }
        .fp-risk-high { color: #dc2626; }
        .fp-risk-mid { color: #d97706; }
        .fp-risk-low { color: #059669; }
        .fp-table { width: 100%; border-collapse: collapse; }
        .fp-table th, .fp-table td {
            padding: 9px 14px;
            text-align: left;
            border-bottom: 1px solid #eef2f7;
            font-size: 0.86rem;
            vertical-align: top;
        }
        .fp-table th {
            width: 32%;
            background: #fafbfc;
            color: #475569;
            font-weight: 600;
        }
        .fp-table td {
            color: #0f172a;
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            font-size: 0.82rem;
            word-break: break-all;
        }
        .fp-sec td {
            background: #f1f5f9;
            color: #334155;
            font-weight: 700;
            font-size: 0.88rem;
            font-family: "Noto Sans SC", sans-serif;
            padding: 11px 14px;
            border-bottom: 1px solid #e2e8f0;
        }
@media (max-width: 768px) {
            .fp-table th { width: 38%; }
        }
