/* ========================================================================
   AI Auto Poster - Page-specific styles (Modern theme overlay)
   ------------------------------------------------------------------------
   元 admin-pages.css L1042 以降から分離。
   .aiap-theme-modern スコープでのみ有効なオーバーライドスタイル。
   ベーススタイル (admin-pages.css) を上書きする目的で、CSS の読み込み順は
   admin-pages.css → admin-pages-modern.css の順とする。
   ======================================================================== */

/* === サブタブ === */
.aiap-theme-modern .aiap-sub-tabs{
    background: var(--card);
    border: 1px solid var(--bdr);
    border-radius: var(--r);
    box-shadow: var(--sh-xs);
    padding: 4px;
    gap: 2px;
    margin-bottom: 16px;
}
.aiap-theme-modern .aiap-sub-tab{
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 500;
    color: var(--txt-m);
    border: none;
    border-radius: var(--r-sm);
    transition: all 0.15s ease;
}
.aiap-theme-modern .aiap-sub-tab:hover{
    background: var(--bg-hover);
    color: var(--txt);
}
.aiap-theme-modern .aiap-sub-tab.active{
    background: var(--primary);
    color: var(--primary-fg);
    box-shadow: var(--sh-xs);
}
/* === ページヘッダ === */
.aiap-theme-modern .aiap-page-head h1{
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--txt);
}
/* === プランカード === */
.aiap-theme-modern .aiap-plan-card-v2{
    background: var(--card);
    border: 1px solid var(--bdr);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-sm);
    transition: box-shadow 0.15s ease;
}
.aiap-theme-modern .aiap-plan-card-v2:hover{
    box-shadow: var(--sh-md);
}
.aiap-theme-modern .aiap-plan-card-v2-pro{
    background: linear-gradient(135deg, #18181b 0%, #27272a 100%);
    border-color: #18181b;
    color: #fafafa;
}
.aiap-theme-modern .aiap-plan-card-v2-pro .aiap-plan-card-v2-name,
.aiap-theme-modern .aiap-plan-card-v2-pro .aiap-plan-card-v2-stat,
.aiap-theme-modern .aiap-plan-card-v2-pro .aiap-plan-card-v2-label{
    color: #fafafa;
}
.aiap-theme-modern .aiap-plan-card-v2-bar{
    background: var(--bdr-l);
    border-radius: 9999px;
    overflow: hidden;
}
.aiap-theme-modern .aiap-plan-card-v2-bar-fill{
    background: var(--primary);
    border-radius: 9999px;
}
/* === プロバイダパネル === */
.aiap-theme-modern .aiap-provider-panel{
    border: 1px solid var(--bdr);
    border-radius: var(--r-lg);
    background: var(--card);
    box-shadow: var(--sh-xs);
    transition: all 0.15s ease;
}
.aiap-theme-modern .aiap-provider-panel:hover{
    border-color: var(--txt-l);
    box-shadow: var(--sh-md);
}
/* === ログ / WPテーブル === */
.aiap-theme-modern table.widefat,
.aiap-theme-modern .aiap-log-table{
    background: var(--card);
    border: 1px solid var(--bdr);
    border-radius: var(--r);
    box-shadow: var(--sh-xs);
    overflow: hidden;
    border-collapse: separate;
    border-spacing: 0;
}
.aiap-theme-modern table.widefat thead th,
.aiap-theme-modern table.widefat thead td,
.aiap-theme-modern .aiap-log-table thead th{
    background: var(--bg-soft);
    color: var(--txt-m);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border-bottom: 1px solid var(--bdr);
    padding: 10px 14px;
}
.aiap-theme-modern table.widefat tbody th,
.aiap-theme-modern table.widefat td,
.aiap-theme-modern .aiap-log-table td{
    padding: 12px 14px;
    border-bottom: 1px solid var(--bdr-l);
    font-size: 13px;
    color: var(--txt);
}
.aiap-theme-modern table.widefat tbody tr:last-child th,
.aiap-theme-modern table.widefat tbody tr:last-child td,
.aiap-theme-modern .aiap-log-table tbody tr:last-child td{
    border-bottom: 0;
}
/* === ログアイテム / リスト === */
.aiap-theme-modern .aiap-log-item{
    background: var(--card);
    border: 1px solid var(--bdr);
    border-radius: var(--r-sm);
    box-shadow: var(--sh-xs);
    transition: box-shadow 0.15s ease;
    margin-bottom: 6px;
}
.aiap-theme-modern .aiap-log-item:hover{
    box-shadow: var(--sh-sm);
}
.aiap-theme-modern .aiap-log-dot-success{ background: var(--green); }
.aiap-theme-modern .aiap-log-dot-error{   background: var(--red); }
.aiap-theme-modern .aiap-log-dot-warn,
.aiap-theme-modern .aiap-log-dot-warning{ background: var(--orange); }
.aiap-theme-modern .aiap-log-dot-info{    background: var(--blue); }
/* === 画像プリセットカード === */
.aiap-theme-modern .aiap-imgset-card,
.aiap-theme-modern .aiap-preset-card{
    border: 1px solid var(--bdr);
    border-radius: var(--r-lg);
    background: var(--card);
    box-shadow: var(--sh-xs);
    transition: all 0.15s ease;
}
.aiap-theme-modern .aiap-imgset-card:hover,
.aiap-theme-modern .aiap-preset-card:hover{
    border-color: var(--txt-l);
    box-shadow: var(--sh-md);
    transform: translateY(-1px);
}
/* アクティブ/選択状態の primary 枠 (Phase 13 DRY: imgset-card/preset-card/wizard-preset/
   wizard-option/provider-card の 5 種で同一スタイルなので集約) */
.aiap-theme-modern .aiap-imgset-card[aria-checked="true"],
.aiap-theme-modern .aiap-imgset-card.is-active,
.aiap-theme-modern .aiap-preset-card.is-active,
.aiap-theme-modern .aiap-wizard-preset.is-selected,
.aiap-theme-modern .aiap-wizard-option:has(input[type="radio"]:checked),
.aiap-theme-modern .aiap-provider-card.is-active,
.aiap-theme-modern .aiap-provider-card[aria-checked="true"]{
    border-color: var(--primary);
    box-shadow: 0 0 0 2px var(--primary), var(--sh-xs);
}
/* === FAQ === */
.aiap-theme-modern .aiap-faq-item{
    border: 1px solid var(--bdr);
    border-radius: var(--r);
    background: var(--card);
    box-shadow: var(--sh-xs);
    margin-bottom: 8px;
    transition: box-shadow 0.15s ease;
}
.aiap-theme-modern .aiap-faq-item:hover{
    box-shadow: var(--sh-sm);
}
.aiap-theme-modern .aiap-faq-item[open]{
    box-shadow: var(--sh-md);
}
.aiap-theme-modern .aiap-faq-item summary{
    padding: 14px 16px;
    font-weight: 500;
    color: var(--txt);
}
/* === 全フォーム要素統一 === */
.aiap-theme-modern .aiap-wrap input[type="text"],
.aiap-theme-modern .aiap-wrap input[type="number"],
.aiap-theme-modern .aiap-wrap input[type="email"],
.aiap-theme-modern .aiap-wrap input[type="password"],
.aiap-theme-modern .aiap-wrap input[type="url"],
.aiap-theme-modern .aiap-wrap input[type="search"],
.aiap-theme-modern .aiap-wrap input[type="time"],
.aiap-theme-modern .aiap-wrap textarea,
.aiap-theme-modern .aiap-wrap select{
    background: var(--card);
    border: 1px solid var(--bdr);
    border-radius: var(--r-sm);
    box-shadow: var(--sh-xs);
    transition: all 0.15s ease;
    color: var(--txt);
}
.aiap-theme-modern .aiap-wrap input:hover:not(:focus),
.aiap-theme-modern .aiap-wrap textarea:hover:not(:focus),
.aiap-theme-modern .aiap-wrap select:hover:not(:focus){
    border-color: var(--txt-l);
}
.aiap-theme-modern .aiap-wrap input:focus,
.aiap-theme-modern .aiap-wrap textarea:focus,
.aiap-theme-modern .aiap-wrap select:focus{
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(24, 24, 27, 0.1);
    outline: none;
}
/* ========================================================================
   サイドバーナビゲーション (タブ → サイドバー化)

   レイアウトの責任範囲:
   - .aiap-wrap は WordPress 管理画面の利用可能幅いっぱいに広げる
     (margin は WP コアの .wrap が制御するためここでは触らない)
   - .aiap-shell は sidebar 220px + main 可変幅で構成
   - 各タブ wrapper は親 .aiap-main の幅をそのまま使う
   ======================================================================== */
.aiap-theme-modern .aiap-wrap{
    width: auto;
    max-width: none;
    box-sizing: border-box;
}
/* Phase 10 root fix: 各タブの個別 max-width をすべて外す。
   admin.css L1724 にあった
     `.aiap-settings-form,.aiap-prompts-form,.aiap-quickpost{max-width:780px}`
   や、その他の個別ルールを theme-modern スコープで完全に上書きする。
   各タブの内側 wrapper は親 .aiap-main の幅をそのまま使うので、
   結果として全タブ同じ最大幅 (≒ 1100px) で揃う。 */
.aiap-theme-modern .aiap-settings-form,
.aiap-theme-modern .aiap-prompts-form,
.aiap-theme-modern .aiap-quickpost,
.aiap-theme-modern .aiap-imgset,
.aiap-theme-modern .aiap-provider-form{
    max-width: none;
    margin: 0;
}
.aiap-theme-modern .aiap-sidebar{
    background: var(--card);
    border: 1px solid var(--bdr);
    border-radius: var(--r);
    padding: 12px 8px;
    box-shadow: var(--sh-xs);
    position: sticky;
    top: 32px;
}
.aiap-theme-modern .aiap-sidebar nav.aiap-tabs{
    display: flex;
    flex-direction: column;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    gap: 0;
    margin: 0;
}
.aiap-theme-modern .aiap-sidebar-section{margin-bottom: 16px}
.aiap-theme-modern .aiap-sidebar-section:last-child{margin-bottom: 0}
.aiap-theme-modern .aiap-sidebar-section-title{
    font-size: 11px;
    font-weight: 600;
    color: var(--txt-l);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 6px 12px 8px;
}
/* サイドバー内のタブ (.aiap-tab を縦並びアイテムに変換) */
.aiap-theme-modern .aiap-sidebar .aiap-tab{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    margin: 0 0 2px;
    color: var(--txt-m);
    font-size: 13px;
    font-weight: 500;
    border-radius: var(--r-sm);
    text-decoration: none;
    background: transparent;
    border: none;
    box-shadow: none;
    transition: all 0.15s ease;
    line-height: 1.2;
    min-height: 0;
    height: auto;
}
.aiap-theme-modern .aiap-sidebar .aiap-tab:hover,
.aiap-theme-modern .aiap-sidebar .aiap-tab:focus{
    background: var(--bg-hover);
    color: var(--txt);
}
.aiap-theme-modern .aiap-sidebar .aiap-tab.is-active,
.aiap-theme-modern .aiap-sidebar .aiap-tab.is-active:hover{
    background: var(--primary);
    color: var(--primary-fg);
    box-shadow: var(--sh-xs);
}
.aiap-theme-modern .aiap-sidebar .aiap-tab .dashicons{
    width: 16px;
    height: 16px;
    font-size: 16px;
    line-height: 1;
    flex: 0 0 auto;
}
.aiap-theme-modern .aiap-sidebar .aiap-tab.is-active .dashicons,
.aiap-theme-modern .aiap-sidebar .aiap-tab.is-active .aiap-tab-label{
    color: var(--primary-fg);
}
.aiap-theme-modern .aiap-main .aiap-tab-panel{
    min-width: 0;
}
/* Phase 10: 画像設定タブが個別に max-width: 780px を持っていたので無効化して全タブで統一 */
.aiap-theme-modern .aiap-imgset{
    max-width: none;
    margin: 0;
}
/* ハンバーガー (モバイル用 toggle ボタン) */
.aiap-theme-modern .aiap-sidebar-toggle{
    display: none;
    align-items: center;
    gap: 8px;
    background: var(--card);
    border: 1px solid var(--bdr);
    border-radius: var(--r-sm);
    padding: 6px 12px;
    cursor: pointer;
    margin: 0 0 12px;
    box-shadow: var(--sh-xs);
    color: var(--txt);
    font-size: 13px;
    font-weight: 500;
    height: 36px;
    transition: all 0.15s ease;
}
.aiap-theme-modern .aiap-sidebar-toggle:hover{
    background: var(--bg-hover);
    border-color: var(--txt-l);
}
.aiap-theme-modern .aiap-sidebar-toggle .dashicons{
    width: 18px;
    height: 18px;
    font-size: 18px;
}
/* 緑バッジ (Phase 13 DRY: dash-pill-on / task-badge-on / quickpost-charcount.is-active の
   3 種で同一スタイルなので集約) */
.aiap-theme-modern .aiap-dash-pill-on,
.aiap-theme-modern .aiap-task-badge-on,
.aiap-theme-modern .aiap-quickpost-charcount.is-active{
    background: var(--green-bg);
    color: var(--green);
    border-color: #bbf7d0;
}
/* ========================================================================
   Phase 2: Settings accordion (<details>/<summary>)
   既存の .aiap-section に details セマンティクスを乗せる
   ======================================================================== */
.aiap-theme-modern details.aiap-section{
    background: var(--card);
    border: 1px solid var(--bdr);
    border-radius: var(--r);
    box-shadow: var(--sh-xs);
    margin-bottom: 10px;
    overflow: hidden;
    transition: box-shadow 0.15s ease;
}
.aiap-theme-modern details.aiap-section[open]{
    box-shadow: var(--sh-sm);
}
.aiap-theme-modern details.aiap-section > summary.aiap-section-header{
    list-style: none;
    cursor: pointer;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    user-select: none;
    transition: background 0.15s ease;
    position: relative;
    padding-right: 44px; /* シェブロン分のスペース */
}
.aiap-theme-modern details.aiap-section > summary.aiap-section-header::-webkit-details-marker{
    display: none;
}
.aiap-theme-modern details.aiap-section > summary.aiap-section-header:hover{
    background: var(--bg-soft);
}
/* シェブロン (▼ 風) を summary の右端に */
.aiap-theme-modern details.aiap-section > summary.aiap-section-header::after{
    content: "";
    position: absolute;
    right: 18px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-right: 2px solid var(--txt-m);
    border-bottom: 2px solid var(--txt-m);
    transform: translateY(-75%) rotate(45deg);
    transition: transform 0.2s ease;
}
.aiap-theme-modern details.aiap-section[open] > summary.aiap-section-header::after{
    transform: translateY(-25%) rotate(-135deg);
}
/* タイトル (h3) のスタイル調整 */
.aiap-theme-modern details.aiap-section .aiap-section-title{
    font-size: 14px;
    font-weight: 600;
    color: var(--txt);
    margin: 0;
    letter-spacing: -0.01em;
}
.aiap-theme-modern details.aiap-section .aiap-section-sub{
    font-size: 12px;
    color: var(--txt-m);
    margin: 2px 0 0;
    font-weight: 400;
}
.aiap-theme-modern details.aiap-section .aiap-section-title-row{
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
/* 中身は border-top で薄く区切る */
.aiap-theme-modern details.aiap-section > .aiap-section-body{
    border-top: 1px solid var(--bdr-l);
    padding: 16px 18px 18px;
}
/* 保存ボタン (フォーム下部) を右寄せでスティッキーっぽく */
.aiap-theme-modern .aiap-settings-form > p.submit{
    padding: 14px 0 0;
    margin: 14px 0 0;
    border-top: 1px solid var(--bdr);
    text-align: right;
}
/* ========================================================================
   Phase 3: Quick Start Wizard
   ======================================================================== */
.aiap-theme-modern .aiap-wizard{
    max-width: 720px;
    margin: 32px auto;
    background: var(--card);
    border: 1px solid var(--bdr);
    border-radius: var(--r-lg);
    box-shadow: var(--sh-md);
    overflow: hidden;
}
.aiap-theme-modern .aiap-wizard-header{
    padding: 28px 32px 20px;
    text-align: center;
    border-bottom: 1px solid var(--bdr-l);
    background: var(--bg-soft);
}
.aiap-theme-modern .aiap-wizard-eyebrow{
    font-size: 11px;
    font-weight: 600;
    color: var(--txt-l);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 4px;
}
.aiap-theme-modern .aiap-wizard-title{
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 6px;
    color: var(--txt);
    letter-spacing: -0.02em;
}
.aiap-theme-modern .aiap-wizard-sub{
    color: var(--txt-m);
    font-size: 13px;
    margin: 0 0 18px;
}
.aiap-theme-modern .aiap-wizard-progress{
    height: 4px;
    background: var(--bdr-l);
    border-radius: 9999px;
    overflow: hidden;
    margin: 0 auto 12px;
    max-width: 320px;
}
.aiap-theme-modern .aiap-wizard-progress-fill{
    width: 25%; /* Step 1/4 の初期値 (JS が現在ステップに応じて動的に上書きする) */
    height: 100%;
    background: var(--primary);
    border-radius: 9999px;
    transition: width 0.3s ease;
}
.aiap-theme-modern .aiap-wizard-stepnums{
    display: flex;
    gap: 8px;
    justify-content: center;
}
.aiap-theme-modern .aiap-wizard-stepnum{
    width: 24px;
    height: 24px;
    border-radius: 50%;
    border: 1px solid var(--bdr);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 600;
    color: var(--txt-l);
    background: var(--card);
    transition: all 0.2s ease;
}
.aiap-theme-modern .aiap-wizard-stepnum.is-active{
    background: var(--primary);
    color: var(--primary-fg);
    border-color: var(--primary);
}
.aiap-theme-modern .aiap-wizard-stepnum.is-done{
    background: var(--green);
    color: #fff;
    border-color: var(--green);
}
/* ステップコンテンツ */
.aiap-theme-modern .aiap-wizard-form{
    padding: 28px 32px;
}
.aiap-theme-modern .aiap-wizard-step{
    display: none;
}
.aiap-theme-modern .aiap-wizard-step.is-active{
    display: block;
    animation: aiap-wizard-fadein 0.25s ease;
}
.aiap-theme-modern .aiap-wizard-step-title{
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 6px;
    color: var(--txt);
    letter-spacing: -0.01em;
}
.aiap-theme-modern .aiap-wizard-step-sub{
    color: var(--txt-m);
    font-size: 13px;
    margin: 0 0 18px;
}
/* プリセット (Step 1) */
.aiap-theme-modern .aiap-wizard-presets{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 8px;
}
/* プリセット直後の入力フィールドとの間隔 (静的インライン style から CSS 化) */
.aiap-theme-modern .aiap-wizard-presets + .aiap-field{
    margin-top: 18px;
}
.aiap-theme-modern .aiap-wizard-preset{
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border: 1px solid var(--bdr);
    border-radius: var(--r);
    background: var(--card);
    cursor: pointer;
    text-align: left;
    transition: all 0.15s ease;
    box-shadow: var(--sh-xs);
}
.aiap-theme-modern .aiap-wizard-preset:hover{
    border-color: var(--txt-l);
    box-shadow: var(--sh-sm);
    transform: translateY(-1px);
}
/* .aiap-wizard-preset.is-selected の active 枠は上方で他コンポーネントと集約済み */
.aiap-theme-modern .aiap-wizard-preset-icon{
    font-size: 22px;
    flex: 0 0 auto;
}
.aiap-theme-modern .aiap-wizard-preset-name{
    font-size: 13px;
    font-weight: 500;
    color: var(--txt);
}
/* オプション (Step 2: 頻度) */
.aiap-theme-modern .aiap-wizard-options{
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.aiap-theme-modern .aiap-wizard-option{
    display: block;
    cursor: pointer;
    border: 1px solid var(--bdr);
    border-radius: var(--r);
    padding: 14px 16px;
    background: var(--card);
    box-shadow: var(--sh-xs);
    transition: all 0.15s ease;
}
.aiap-theme-modern .aiap-wizard-option:hover{
    border-color: var(--txt-l);
}
.aiap-theme-modern .aiap-wizard-option input[type="radio"]{
    display: none;
}
.aiap-theme-modern .aiap-wizard-option input[type="radio"]:checked + .aiap-wizard-option-body{
    color: var(--txt);
}
/* .aiap-wizard-option:has(input:checked) の active 枠は上方で他コンポーネントと集約済み */
.aiap-theme-modern .aiap-wizard-option-body{
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4px 12px;
}
.aiap-theme-modern .aiap-wizard-option-icon{
    grid-row: 1 / 3;
    align-self: center;
    font-size: 22px;
}
.aiap-theme-modern .aiap-wizard-option-name{
    font-size: 14px;
    font-weight: 600;
    color: var(--txt);
}
.aiap-theme-modern .aiap-wizard-option-desc{
    font-size: 12px;
    color: var(--txt-m);
}
/* レビュー (Step 4) */
.aiap-theme-modern .aiap-wizard-review{
    list-style: none;
    margin: 0 0 8px;
    padding: 16px 18px;
    background: var(--bg-soft);
    border: 1px solid var(--bdr-l);
    border-radius: var(--r);
}
.aiap-theme-modern .aiap-wizard-review li{
    padding: 6px 0;
    font-size: 13px;
    color: var(--txt);
    line-height: 1.6;
    border-bottom: 1px solid var(--bdr-l);
}
.aiap-theme-modern .aiap-wizard-review li:last-child{
    border-bottom: 0;
}
.aiap-theme-modern .aiap-wizard-review li strong{
    color: var(--txt-m);
    font-weight: 500;
    margin-right: 8px;
    min-width: 80px;
    display: inline-block;
}
/* アクション (戻る/次へ) */
.aiap-theme-modern .aiap-wizard-actions{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--bdr-l);
}
/* スキップリンク */
.aiap-theme-modern .aiap-wizard-skip{
    text-align: center;
    padding: 16px;
    margin: 0;
    background: var(--bg-soft);
    border-top: 1px solid var(--bdr-l);
}
.aiap-theme-modern .aiap-wizard-skip a{
    color: var(--txt-l);
    font-size: 12px;
    text-decoration: none;
}
.aiap-theme-modern .aiap-wizard-skip a:hover{
    color: var(--txt-m);
    text-decoration: underline;
}
/* === 全ヒーローを コンパクトなページタイトルに === */
.aiap-theme-modern .aiap-provider-hero,
.aiap-theme-modern .aiap-img-hero,
.aiap-theme-modern .aiap-imgset-hero{
    margin: 0 0 16px;
    padding: 0;
    background: transparent;
    border: 0;
}
.aiap-theme-modern .aiap-provider-hero-eyebrow,
.aiap-theme-modern .aiap-img-hero-eyebrow,
.aiap-theme-modern .aiap-imgset-eyebrow{
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: var(--txt-l);
    text-transform: uppercase;
    margin-bottom: 4px;
    display: block;
}
.aiap-theme-modern .aiap-provider-hero-title,
.aiap-theme-modern .aiap-img-hero-title,
.aiap-theme-modern .aiap-imgset-title{
    font-size: 20px;
    font-weight: 700;
    color: var(--txt);
    margin: 0 0 4px;
    letter-spacing: -0.02em;
    line-height: 1.3;
    border: 0;
    padding: 0;
}
.aiap-theme-modern .aiap-provider-hero-sub,
.aiap-theme-modern .aiap-img-hero-sub,
.aiap-theme-modern .aiap-imgset-lede{
    color: var(--txt-m);
    font-size: 13px;
    margin: 0;
    line-height: 1.5;
}
/* === プロバイダカード (選択カード) === */
.aiap-theme-modern .aiap-provider-card{
    border: 1px solid var(--bdr);
    border-radius: var(--r);
    background: var(--card);
    box-shadow: var(--sh-xs);
    transition: all 0.15s ease;
}
.aiap-theme-modern .aiap-provider-card:hover{
    border-color: var(--txt-l);
    box-shadow: var(--sh-md);
    transform: translateY(-1px);
}
/* === プロバイダパネル (展開時のフォーム) === */
.aiap-theme-modern .aiap-provider-panel{
    border: 1px solid var(--bdr);
    border-radius: var(--r);
    background: var(--card);
    box-shadow: var(--sh-xs);
    margin-top: 12px;
    overflow: hidden;
}
.aiap-theme-modern .aiap-provider-panel-header{
    padding: 14px 18px;
    border-bottom: 1px solid var(--bdr-l);
    background: var(--bg-soft);
    font-weight: 600;
    color: var(--txt);
    font-size: 14px;
}
/* === プロバイダフォーム === */
.aiap-theme-modern .aiap-provider-form{
    max-width: none;
    margin: 0;
}
/* === 画像プリセットカード (Phase 1 で対応済みだが念のため整える) === */
.aiap-theme-modern .aiap-imgset-card,
.aiap-theme-modern .aiap-preset-card{
    border-radius: var(--r);
}
/* === クイック投稿 === */
.aiap-theme-modern .aiap-quickpost{
    max-width: none;
    margin: 0;
}
.aiap-theme-modern .aiap-quickpost-form{
    background: var(--card);
    border: 1px solid var(--bdr);
    border-radius: var(--r);
    box-shadow: var(--sh-xs);
    padding: 20px 22px;
}
/* === ログテーブル / セクション === */
.aiap-theme-modern .aiap-logs-table-section,
.aiap-theme-modern .aiap-run-logs-section{
    background: var(--card);
    border: 1px solid var(--bdr);
    border-radius: var(--r);
    box-shadow: var(--sh-xs);
    padding: 0;
    overflow: hidden;
}
.aiap-theme-modern .aiap-logs-table-section .aiap-section-header,
.aiap-theme-modern .aiap-run-logs-section .aiap-section-header{
    padding: 14px 18px;
    background: var(--bg-soft);
    border-bottom: 1px solid var(--bdr-l);
}
.aiap-theme-modern .aiap-logs-table-section .aiap-section-body,
.aiap-theme-modern .aiap-run-logs-section .aiap-section-body{
    padding: 0;
    overflow-x: hidden; /* 共通ブレークポイント運用: 横スクロールではなく列幅調整で吸収 */
}
.aiap-theme-modern .aiap-logs-table-section table.widefat,
.aiap-theme-modern .aiap-run-logs-section table.widefat{
    border: 0;
    border-radius: 0;
    box-shadow: none;
    min-width: 0;
}
/* === セクション (アコーディオンじゃない素の section も整える) === */
.aiap-theme-modern .aiap-wrap > .aiap-section:not([class*="logs"]):not([class*="run"]),
.aiap-theme-modern .aiap-main .aiap-section:not(details):not([class*="logs"]):not([class*="run"]){
    background: var(--card);
    border: 1px solid var(--bdr);
    border-radius: var(--r);
    box-shadow: var(--sh-xs);
    margin-bottom: 12px;
}
.aiap-theme-modern .aiap-wrap > .aiap-section:not([class*="logs"]):not([class*="run"]) > .aiap-section-header,
.aiap-theme-modern .aiap-main .aiap-section:not(details):not([class*="logs"]):not([class*="run"]) > .aiap-section-header{
    padding: 14px 18px;
    border-bottom: 1px solid var(--bdr-l);
}
.aiap-theme-modern .aiap-wrap > .aiap-section:not([class*="logs"]):not([class*="run"]) > .aiap-section-body,
.aiap-theme-modern .aiap-main .aiap-section:not(details):not([class*="logs"]):not([class*="run"]) > .aiap-section-body{
    padding: 16px 18px 18px;
}
/* === FAQ アイテム (FAQ タブ用) === */
.aiap-theme-modern .aiap-faq-list{
    display: flex;
    flex-direction: column;
    gap: 8px;
}
/* === タスク一覧の各タスクカード === */
.aiap-theme-modern .aiap-task-row,
.aiap-theme-modern .aiap-task-card{
    background: var(--card);
    border: 1px solid var(--bdr);
    border-radius: var(--r);
    box-shadow: var(--sh-xs);
    transition: all 0.15s ease;
}
.aiap-theme-modern .aiap-task-row:hover,
.aiap-theme-modern .aiap-task-card:hover{
    border-color: var(--txt-l);
    box-shadow: var(--sh-sm);
}
/* === 警告色のチップ === */
.aiap-theme-modern .aiap-pro-cta,
.aiap-theme-modern .aiap-section-cta{
    color: var(--primary);
    text-decoration: none;
    font-weight: 600;
    font-size: 12px;
}
.aiap-theme-modern .aiap-pro-cta:hover,
.aiap-theme-modern .aiap-section-cta:hover{
    text-decoration: underline;
}
/* ========================================================================
   Phase 5: Task Management UX 強化 (タスク一覧カード)
   ======================================================================== */
.aiap-theme-modern .aiap-task-list{
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.aiap-theme-modern .aiap-task-card{
    background: var(--card);
    border: 1px solid var(--bdr);
    border-radius: var(--r);
    box-shadow: var(--sh-xs);
    transition: all 0.15s ease;
    overflow: hidden;
}
.aiap-theme-modern .aiap-task-card:hover{
    border-color: var(--txt-l);
    box-shadow: var(--sh-md);
}
.aiap-theme-modern .aiap-task-card.is-enabled{
    border-left: 3px solid var(--green);
}
.aiap-theme-modern .aiap-task-card.is-disabled{
    border-left: 3px solid var(--bdr);
    background: var(--bg-soft);
    opacity: 0.85;
}
.aiap-theme-modern .aiap-task-card-row{
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 16px;
}
.aiap-theme-modern .aiap-task-card-text{
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
/* === ヘッド: バッジ + ID === */
.aiap-theme-modern .aiap-task-card-head{
    display: flex;
    align-items: center;
    gap: 8px;
}
.aiap-theme-modern .aiap-task-badge{
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 10px;
    border-radius: 9999px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border: 1px solid transparent;
}
.aiap-theme-modern .aiap-task-badge::before{
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}
/* .aiap-task-badge-on の緑バッジは上方で他コンポーネントと集約済み */
.aiap-theme-modern .aiap-task-badge-off{
    background: var(--bg-hover);
    color: var(--txt-l);
    border-color: var(--bdr);
}
.aiap-theme-modern .aiap-task-id{
    font-size: 11px;
    color: var(--txt-l);
    font-weight: 500;
    font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;
}
/* === プロンプトテキスト === */
.aiap-theme-modern .aiap-task-card-prompt{
    font-size: 13px;
    color: var(--txt);
    line-height: 1.55;
    font-weight: 500;
    word-break: normal;
    overflow-wrap: break-word;
}
/* === メタ情報 (スケジュール / 実行回数 / 最終投稿) === */
.aiap-theme-modern .aiap-task-card-meta{
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: 2px;
    font-size: 12px;
    color: var(--txt-m);
}
.aiap-theme-modern .aiap-task-meta-item{
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--txt-m);
}
.aiap-theme-modern .aiap-task-meta-item .dashicons{
    width: 14px;
    height: 14px;
    font-size: 14px;
    color: var(--txt-l);
    line-height: 1;
}
/* === アクション === */
.aiap-theme-modern .aiap-task-card-actions{
    display: flex;
    gap: 4px;
    flex-shrink: 0;
    align-items: center;
}
.aiap-theme-modern .aiap-task-card-actions .aiap-btn-icon-only{
    width: 32px;
    height: 32px;
    border-radius: var(--r-sm);
    border: 1px solid var(--bdr);
    background: var(--card);
    color: var(--txt-m);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.15s ease;
    box-shadow: var(--sh-xs);
    padding: 0;
}
.aiap-theme-modern .aiap-task-card-actions .aiap-btn-icon-only:hover{
    background: var(--bg-hover);
    color: var(--txt);
    border-color: var(--txt-l);
}
.aiap-theme-modern .aiap-task-card-actions .aiap-btn-danger-icon:hover{
    background: var(--red);
    color: #fff;
    border-color: var(--red);
}
.aiap-theme-modern .aiap-task-card-actions .dashicons{
    width: 16px;
    height: 16px;
    font-size: 16px;
}
/* === 編集 details === */
.aiap-theme-modern .aiap-task-edit{
    border-top: 1px solid var(--bdr-l);
    background: var(--bg-soft);
    padding: 16px 18px;
}
.aiap-theme-modern .aiap-task-edit:not([open]){
    border-top: 0;
    padding: 0;
}
/* === セクションカウント (タスク数バッジ) === */
.aiap-theme-modern .aiap-section-count{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    border-radius: 9999px;
    background: var(--bg-soft);
    border: 1px solid var(--bdr);
    color: var(--txt-m);
    font-size: 11px;
    font-weight: 600;
}
/* === エディタ部分 (textarea + ヘッダ) === */
.aiap-theme-modern .aiap-quickpost-editor{
    padding: 22px 24px 16px;
    border-bottom: 1px solid var(--bdr-l);
    background: var(--card);
}
.aiap-theme-modern .aiap-quickpost-editor-head{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}
.aiap-theme-modern .aiap-quickpost-editor .aiap-editor-label{
    font-size: 14px;
    font-weight: 600;
    color: var(--txt);
    margin: 0;
    letter-spacing: -0.01em;
}
.aiap-theme-modern .aiap-quickpost-charcount{
    font-size: 11px;
    color: var(--txt-l);
    font-variant-numeric: tabular-nums;
    background: var(--bg-soft);
    padding: 2px 8px;
    border-radius: 9999px;
    border: 1px solid var(--bdr-l);
    transition: all 0.15s ease;
}
/* === Quick Post タスク選択セレクト (editor-head 内) === */
.aiap-theme-modern .aiap-quickpost-editor-head .aiap-editor-label{
    flex: 1 1 auto;
    min-width: 0;
}
.aiap-theme-modern .aiap-quickpost-task-select{
    flex: 1 1 100%;
    order: 3;
    min-width: 0;
    max-width: 100%;
    font-size: 12px;
}
.aiap-theme-modern .aiap-quickpost-task-select option:disabled{
    color: var(--txt-l);
}
/* === textarea を大きく見やすく === */
.aiap-theme-modern .aiap-quickpost-textarea{
    width: 100%;
    min-height: 130px;
    padding: 14px 16px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--txt);
    background: var(--card);
    border: 1px solid var(--bdr);
    border-radius: var(--r);
    box-shadow: var(--sh-xs);
    transition: all 0.15s ease;
    resize: vertical;
    font-family: inherit;
}
.aiap-theme-modern .aiap-quickpost-textarea::placeholder{
    color: var(--txt-l);
}
.aiap-theme-modern .aiap-quickpost-textarea:focus{
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(24, 24, 27, 0.08);
}
.aiap-theme-modern .aiap-quickpost-editor .aiap-editor-hint{
    font-size: 12px;
    color: var(--txt-l);
    margin: 8px 0 0;
}
/* === オプション 3 カード横並び === */
.aiap-theme-modern .aiap-quickpost-options-grid{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 12px;
    padding: 18px 24px;
    background: var(--bg-soft);
    border-bottom: 1px solid var(--bdr-l);
}
.aiap-theme-modern .aiap-quickpost-option-card{
    background: var(--card);
    border: 1px solid var(--bdr);
    border-radius: var(--r);
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    box-shadow: var(--sh-xs);
    transition: all 0.15s ease;
}
.aiap-theme-modern .aiap-quickpost-option-card:hover{
    border-color: var(--txt-l);
    box-shadow: var(--sh-sm);
}
.aiap-theme-modern .aiap-quickpost-option-label{
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    color: var(--txt-m);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.aiap-theme-modern .aiap-quickpost-option-label .dashicons{
    width: 14px;
    height: 14px;
    font-size: 14px;
    color: var(--txt-l);
}
.aiap-theme-modern .aiap-quickpost-option-card .aiap-select,
.aiap-theme-modern .aiap-quickpost-option-card .aiap-input-text{
    border-radius: var(--r-sm);
    height: 34px;
    font-size: 13px;
}
.aiap-theme-modern .aiap-quickpost-option-card .aiap-field-row{
    display: flex;
    align-items: center;
    gap: 6px;
}
.aiap-theme-modern .aiap-quickpost-option-card .aiap-field-unit{
    font-size: 12px;
    color: var(--txt-m);
}
/* === ピル (Yes/No/Auto) === */
.aiap-theme-modern .aiap-quickpost-pill-group{
    display: flex;
    gap: 0;
    background: var(--bg-soft);
    border: 1px solid var(--bdr);
    border-radius: var(--r-sm);
    padding: 3px;
}
.aiap-theme-modern .aiap-quickpost-pill{
    flex: 1;
    text-align: center;
    cursor: pointer;
    position: relative;
}
.aiap-theme-modern .aiap-quickpost-pill input{
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.aiap-theme-modern .aiap-quickpost-pill span{
    display: block;
    padding: 5px 6px;
    font-size: 11px;
    font-weight: 500;
    color: var(--txt-m);
    border-radius: 4px;
    transition: all 0.15s ease;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.aiap-theme-modern .aiap-quickpost-pill input:checked + span{
    background: var(--card);
    color: var(--txt);
    box-shadow: var(--sh-xs);
    font-weight: 600;
}
/* === CTA ボタン === */
.aiap-theme-modern .aiap-quickpost-action{
    padding: 18px 24px 22px;
    background: var(--card);
    display: flex;
    justify-content: flex-end;
}
.aiap-theme-modern .aiap-quickpost-cta{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 44px;
    padding: 0 24px;
    font-size: 14px;
    font-weight: 600;
    background: var(--primary);
    border: 1px solid var(--primary);
    color: var(--primary-fg);
    border-radius: var(--r);
    box-shadow: var(--sh-sm);
    cursor: pointer;
    transition: all 0.15s ease;
    letter-spacing: -0.01em;
}
.aiap-theme-modern .aiap-quickpost-cta:hover:not(:disabled){
    background: #27272a;
    box-shadow: var(--sh-md);
    transform: translateY(-1px);
}
.aiap-theme-modern .aiap-quickpost-cta:active:not(:disabled){
    transform: translateY(0);
    box-shadow: var(--sh-xs);
}
.aiap-theme-modern .aiap-quickpost-cta:disabled{
    opacity: 0.5;
    cursor: not-allowed;
}
.aiap-theme-modern .aiap-quickpost-cta .dashicons{
    width: 18px;
    height: 18px;
    font-size: 18px;
}
/* ヘッダ右に「+ タスク追加」CTA を置けるように */
.aiap-theme-modern .aiap-section-header.aiap-section-header-with-action{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
}
.aiap-theme-modern .aiap-section-header-with-action .aiap-section-title-row{
    display: flex;
    align-items: center;
    gap: 10px;
}
.aiap-theme-modern .aiap-section-header-cta{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    height: 34px;
    background: var(--primary);
    border: 1px solid var(--primary);
    color: var(--primary-fg);
    border-radius: var(--r-sm);
    font-size: 13px;
    font-weight: 500;
    box-shadow: var(--sh-xs);
    cursor: pointer;
    transition: all 0.15s ease;
    line-height: 1;
}
.aiap-theme-modern .aiap-section-header-cta:hover{
    background: #27272a;
    border-color: #27272a;
    box-shadow: var(--sh-sm);
}
.aiap-theme-modern .aiap-section-header-cta .dashicons{
    width: 16px;
    height: 16px;
    font-size: 16px;
}
/* タスク ID ラベル (連番) のスタイル更新 */
.aiap-theme-modern .aiap-task-id{
    font-size: 11px;
    color: var(--txt-l);
    font-weight: 500;
    font-family: inherit; /* 連番はモノスペースじゃなく通常フォント */
    background: var(--bg-soft);
    padding: 2px 8px;
    border-radius: 4px;
    border: 1px solid var(--bdr-l);
}
/* === タスク名 (Phase 8) === */
.aiap-theme-modern .aiap-task-name{
    font-size: 14px;
    font-weight: 600;
    color: var(--txt);
    margin-right: auto;
    letter-spacing: -0.01em;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.aiap-theme-modern .aiap-task-card-head{
    flex-wrap: wrap;
}
/* ========================================================================
   Phase 9: タスクカード 1 行レイアウト
   ======================================================================== */
.aiap-theme-modern .aiap-task-card-row-compact{
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
}
/* 左端の状態ドット */
.aiap-theme-modern .aiap-task-status-dot{
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--bdr);
}
.aiap-theme-modern .aiap-task-status-dot.is-on{
    background: var(--green);
    box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.15);
}
/* メイン: タスク名 + メタ情報 (2 行構成) */
.aiap-theme-modern .aiap-task-card-main{
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
/* 1 行目: 名前 + ID */
.aiap-theme-modern .aiap-task-name-line{
    display: flex;
    align-items: baseline;
    gap: 8px;
}
.aiap-theme-modern .aiap-task-name-line .aiap-task-name{
    margin-right: 0;
}
.aiap-theme-modern .aiap-task-id-mini{
    font-size: 11px;
    color: var(--txt-l);
    font-weight: 500;
    flex: 0 0 auto;
}
/* 2 行目: アイコン + テキスト */
.aiap-theme-modern .aiap-task-card-meta-line{
    display: flex;
    flex-wrap: wrap;
    gap: 4px 14px;
    font-size: 12px;
    color: var(--txt-m);
}
.aiap-theme-modern .aiap-task-card-meta-line .aiap-task-meta-item{
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.aiap-theme-modern .aiap-task-card-meta-line .aiap-task-meta-item .dashicons{
    width: 13px;
    height: 13px;
    font-size: 13px;
    color: var(--txt-l);
    line-height: 1;
}
/* アクション: 右端揃え (停止/編集/削除/追加) */
.aiap-theme-modern .aiap-task-card-row-compact .aiap-task-card-actions{
    flex: 0 0 auto;
    display: flex;
    gap: 4px;
    align-items: center;
}
/* 1 行レイアウト時はカードの左 border は維持、内側の status dot で動作中を示す */
.aiap-theme-modern .aiap-task-card.is-disabled .aiap-task-card-row-compact{
    opacity: 0.7;
}
/* Wide layout: ブラウザ横幅に追従させる
   (.aiap-wrap は L1250 で同等定義済みのため、ここでは追加せず .aiap-shell 系のみ。)
   既存の同セレクタ詳細度 (0,2,0) 定義より後にあるため !important なしで勝つ。 */
.aiap-theme-modern .aiap-shell,
.aiap-theme-modern .aiap-main,
.aiap-theme-modern .aiap-provider-form,
.aiap-theme-modern .aiap-settings-form,
.aiap-theme-modern .aiap-prompts-form,
.aiap-theme-modern .aiap-quickpost,
.aiap-theme-modern .aiap-imgset{
    width: 100%;
    max-width: none;
}
/* ========================================================================
   Quick Post progress layout fix
   - Prevent the "すぐに書き込み" status area and right-side video from being clipped.
   - Keep the wide layout fix intact.
   ======================================================================== */
.aiap-theme-modern .aiap-quickpost-form .aiap-progress,
.aiap-theme-modern .aiap-quickpost .aiap-progress{
    display: grid;
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 20px;
    align-items: start;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 22px 24px;
    background: var(--bg-soft);
    border: 0;
    border-top: 1px solid var(--bdr-l);
    border-radius: 0 0 var(--r-lg) var(--r-lg);
    overflow: visible;
}
.aiap-theme-modern .aiap-quickpost-form .aiap-progress-main,
.aiap-theme-modern .aiap-quickpost .aiap-progress-main{
    min-width: 0;
    width: 100%;
}
.aiap-theme-modern .aiap-quickpost-form .aiap-progress-media,
.aiap-theme-modern .aiap-quickpost .aiap-progress-media{
    width: 220px;
    max-width: 100%;
    justify-self: end;
    align-self: start;
}
.aiap-theme-modern .aiap-quickpost-form .aiap-progress-video,
.aiap-theme-modern .aiap-quickpost .aiap-progress-video{
    width: 100%;
    aspect-ratio: 16 / 10;
    height: auto;
    object-fit: cover;
    display: block;
    border-radius: var(--r);
    box-shadow: var(--sh-sm);
}
.aiap-theme-modern .aiap-quickpost-form .aiap-progress-result,
.aiap-theme-modern .aiap-quickpost .aiap-progress-result{
    max-width: 100%;
    overflow-wrap: anywhere;
}
.aiap-theme-modern .aiap-quickpost-form .aiap-progress-result .notice,
.aiap-theme-modern .aiap-quickpost .aiap-progress-result .notice{
    box-sizing: border-box;
    max-width: 100%;
}
