#fuuhyou-dock-app {
    max-width: 680px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.fd-hero { text-align: center; margin-bottom: 2rem; }

.fd-badge {
    display: inline-block;
    background: #E1F5EE;
    color: #0F6E56;
    font-size: 28px;
    font-weight: 500;
    padding: 4px 14px;
    border-radius: 99px;
    margin-bottom: 12px;
}

.fd-hero h1 { font-size: 26px; font-weight: 700; color: #1a1a1a; margin-bottom: 8px; line-height: 1.4; }
.fd-hero p { font-size: 14px; color: #666; }

.fd-search { display: flex; gap: 10px; margin-bottom: 2rem; }
.fd-search input { flex: 1; padding: 0 1rem; height: 44px; border: 1px solid #ddd; border-radius: 8px; font-size: 15px; }
.fd-search button { height: 44px; padding: 0 1.5rem; border-radius: 8px; background: #1D9E75; color: #fff; font-size: 14px; font-weight: 500; border: none; cursor: pointer; white-space: nowrap; }

.fd-loading { padding: 2rem 0; }

.fd-progress-wrap { display: flex; align-items: center; gap: 12px; margin-bottom: 1.5rem; }
.fd-progress-bar { flex: 1; height: 8px; background: #E1F5EE; border-radius: 99px; overflow: hidden; }
.fd-progress-fill { height: 100%; background: #1D9E75; border-radius: 99px; width: 0%; transition: width 0.5s ease; }
.fd-progress-pct { font-size: 14px; font-weight: 500; color: #1D9E75; min-width: 40px; }

.fd-steps { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.fd-steps li { font-size: 14px; color: #888; padding: 8px 12px; border-radius: 8px; background: #f9f9f9; }
.fd-steps li.done { color: #0F6E56; background: #E1F5EE; }
.fd-steps li.active { color: #1a1a1a; background: #fff; border: 1px solid #ddd; }

/* -----------------------------------------------
   結果ヘッダー
----------------------------------------------- */
.fd-result-header { margin-bottom: 1.5rem; }
.fd-result-header h2 { font-size: 16px; font-weight: 500; color: #666; margin: 0; }

/* -----------------------------------------------
   リスクパネル（レベル・レーダー・サマリー）
----------------------------------------------- */
.fd-risk-panel {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 16px;
    padding: 2rem 1.5rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

.fd-risk-level {
    font-size: 42px;
    font-weight: 900;
    letter-spacing: -1px;
    margin-bottom: 1rem;
    line-height: 1.1;
}

.fd-risk-level.safe     { color: #27ae60; }
.fd-risk-level.warning  { color: #e67e22; }
.fd-risk-level.danger   { color: #e74c3c; }
.fd-risk-level.critical { color: #c0392b; }

.fd-radar-wrap {
    margin: 0 auto 1rem;
    max-width: 260px;
}

.fd-summary-text {
    font-size: 15px;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 8px;
}

.fd-alert-text {
    font-size: 13px;
    color: #666;
    line-height: 1.6;
}

/* -----------------------------------------------
   セクション見出し
----------------------------------------------- */
.fd-section-title {
    font-size: 13px;
    font-weight: 700;
    color: #999;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin: 1.5rem 0 0.75rem;
    padding-bottom: 6px;
    border-bottom: 1px solid #eee;
}

/* -----------------------------------------------
   詳細項目
----------------------------------------------- */
.fd-items { display: flex; flex-direction: column; gap: 10px; margin-bottom: 1.5rem; }
.fd-item { background: #fff; border: 1px solid #eee; border-radius: 12px; padding: 1rem 1.25rem; }
.fd-item-header { display: flex; align-items: center; justify-content: space-between; }
.fd-item-label { font-size: 14px; font-weight: 500; color: #1a1a1a; }

.fd-tag { font-size: 11px; padding: 3px 10px; border-radius: 99px; font-weight: 500; }
.fd-tag-danger { background: #FCEBEB; color: #A32D2D; }
.fd-tag-safe { background: #EAF3DE; color: #3B6D11; }

.fd-words { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.fd-word { font-size: 12px; background: #FAECE7; color: #993C1D; padding: 3px 10px; border-radius: 99px; }

.fd-serp-list { margin-top: 8px; display: flex; flex-direction: column; gap: 4px; }
.fd-serp-item a { font-size: 13px; color: #1a73e8; text-decoration: none; }
.fd-serp-item a:hover { text-decoration: underline; }

/* -----------------------------------------------
   見積・CTA
----------------------------------------------- */
.fd-estimate-btn { width: 100%; padding: 12px; border-radius: 8px; border: 1px solid #1D9E75; background: #E1F5EE; color: #0F6E56; font-size: 14px; font-weight: 500; cursor: pointer; margin-bottom: 10px; }
.fd-estimate-area { background: #f9f9f9; border-radius: 12px; border: 1px solid #eee; padding: 1.25rem; margin-bottom: 10px; }
.fd-estimate-title { font-size: 14px; font-weight: 700; color: #1a1a1a; margin-bottom: 12px; }
.fd-estimate-row { display: flex; justify-content: space-between; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid #eee; font-size: 13px; gap: 12px; }
.fd-estimate-row:last-child { border-bottom: none; }
.fd-estimate-left { display: flex; flex-direction: column; gap: 3px; }
.fd-estimate-name { color: #666; }
.fd-estimate-period { font-size: 11px; color: #aaa; }
.fd-estimate-price { font-weight: 500; color: #1a1a1a; white-space: nowrap; }
.fd-estimate-total { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; padding-top: 12px; border-top: 1px solid #ddd; }
.fd-estimate-total span:first-child { font-size: 14px; font-weight: 500; }
.fd-estimate-total span:last-child { font-size: 18px; font-weight: 700; color: #0F6E56; }

.fd-cta-btn { width: 100%; padding: 14px; border-radius: 8px; border: none; background: #1D9E75; color: #fff; font-size: 15px; font-weight: 700; cursor: pointer; }
.fd-note { font-size: 11px; color: #aaa; text-align: center; margin-top: 8px; }

/* 非表示目安・注意書き */
.fd-estimate-right { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.fd-estimate-hide-guide { font-size: 11px; color: #1D9E75; white-space: nowrap; }
.fd-estimate-caution { font-size: 11px; color: #aaa; line-height: 1.6; margin-top: 10px; padding-top: 10px; border-top: 1px solid #eee; }

/* 説明文エリア */
.fd-description {
    max-width: 640px;
    margin: 2rem auto 0;
    padding: 1.5rem 2rem;
    background: #f8faf9;
    border-radius: 12px;
    border: 1px solid #e0ede9;
    font-size: 14px;
    color: #444;
    line-height: 1.8;
}

.fd-description-lead {
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 0.75rem;
}

.fd-description-title {
    font-weight: 700;
    color: #1D9E75;
    margin: 1rem 0 0.5rem;
}

.fd-description ul {
    padding-left: 1.25rem;
    margin: 0;
}

.fd-description ul li {
    margin-bottom: 0.25rem;
}

/* バッジフォントサイズ */
.fd-badge {
    font-size: 13px !important;
}
