/* 財産移動機能のCSS追加スタイル */

/* Bootstrap Iconsフォントの強制適用 - 優先度最高 */
.table [class^="bi-"], 
.table [class*=" bi-"],
.sub-item [class^="bi-"], 
.sub-item [class*=" bi-"],
[class^="bi-"], 
[class*=" bi-"] {
    font-family: "bootstrap-icons" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    vertical-align: -.125em !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    speak: none !important;
}

/* Bootstrap Iconsの表示確保 - より高い優先度 */
.table .bi::before,
.table [class^="bi-"]::before,
.table [class*=" bi-"]::before,
.sub-item .bi::before,
.sub-item [class^="bi-"]::before,
.sub-item [class*=" bi-"]::before,
.bi::before,
[class^="bi-"]::before,
[class*=" bi-"]::before {
    display: inline-block !important;
    font-family: "bootstrap-icons" !important;
    font-style: normal !important;
    font-weight: normal !important;
    font-variant: normal !important;
    text-transform: none !important;
    line-height: 1 !important;
    vertical-align: -.125em !important;
    /* content値はアイコン別に個別指定するため削除 */
}

/* 実際のアプリケーションでの表示確保 */
.table-container .bi::before,
.total-assets-table .bi::before,
[data-bs-toggle="tooltip"] .bi::before {
    display: inline-block !important;
    font-family: "bootstrap-icons" !important;
}

/* 資産移管アイコンのスタイル */
.asset-transfer-icon {
    display: inline-block !important;
    margin: 0 2px;
    transition: all 0.2s ease;
    position: relative;
    z-index: 1000;
    font-family: "bootstrap-icons" !important;
}

.asset-transfer-icon:hover {
    transform: scale(1.2);
    filter: brightness(1.2);
}

/* 具体的なアイコンクラスの強制適用 */
.bi-arrow-right-square,
.bi-arrow-left-square,
.bi-gear-fill {
    font-family: "bootstrap-icons" !important;
    font-size: 1.1em !important;
    display: inline-block !important;
}

/* Bootstrap Icons の具体的な文字コード指定 */
.table .bi-arrow-right-square::before,
.sub-item .bi-arrow-right-square::before,
.bi-arrow-right-square::before {
    content: "\f12f" !important;
    font-family: "bootstrap-icons" !important;
    display: inline-block !important;
    font-style: normal !important;
    font-weight: normal !important;
    line-height: 1 !important;
}

.table .bi-arrow-left-square::before,
.sub-item .bi-arrow-left-square::before,
.bi-arrow-left-square::before {
    content: "\f12e" !important;
    font-family: "bootstrap-icons" !important;
    display: inline-block !important;
    font-style: normal !important;
    font-weight: normal !important;
    line-height: 1 !important;
}

.table .bi-gear-fill::before,
.sub-item .bi-gear-fill::before,
.bi-gear-fill::before {
    content: "\f3f5" !important;
    font-family: "bootstrap-icons" !important;
    display: inline-block !important;
    font-style: normal !important;
    font-weight: normal !important;
    line-height: 1 !important;
}

/* 移動アイコン（青色） */
.asset-transfer-icon.text-primary:hover {
    color: #0056b3 !important;
}

/* 復元アイコン（緑色） */
.asset-transfer-icon.text-success:hover {
    color: #157347 !important;
}

/* Tooltipのz-indexを調整 */
.tooltip {
    z-index: 10000 !important;
}

.tooltip-inner {
    background-color: rgba(0, 0, 0, 0.9);
    color: white;
    font-size: 0.875rem;
    padding: 6px 12px;
    border-radius: 4px;
    max-width: 200px;
    text-align: center;
}

.tooltip.bs-tooltip-top .tooltip-arrow::before {
    border-top-color: rgba(0, 0, 0, 0.9);
}

/* ツールチップ位置調整 - アイコンを覆わないように */
.asset-transfer-icon[data-bs-toggle="tooltip"] {
    position: relative;
}

/* ツールチップの表示位置を右側に調整 */
.sub-item-name .asset-transfer-icon[data-bs-placement="right"] {
    margin-left: 8px;
}

/* より詳細なツールチップ位置調整 */
.asset-transfer-icon[data-bs-placement="right"] {
    margin-left: 6px;
    margin-right: 6px;
}

/* ツールチップがアイコンを隠さないように */
.tooltip.bs-tooltip-right {
    margin-left: 12px !important;
}

.tooltip.bs-tooltip-top {
    margin-bottom: 12px !important;
}

.tooltip.bs-tooltip-bottom {
    margin-top: 12px !important;
}

.tooltip.bs-tooltip-left {
    margin-right: 12px !important;
}

/* ツールチップが他の要素に隠れないように */
.table-container {
    overflow: visible !important;
}

.sub-item {
    position: relative;
    z-index: 1;
}

/* ツールチップの詳細な位置調整 */
.tooltip.bs-tooltip-right {
    margin-left: 8px !important;
}

.tooltip.bs-tooltip-top {
    margin-bottom: 8px !important;
}

/* アイコンのクリック可能領域を拡大 */
.asset-transfer-icon::before {
    content: '';
    position: absolute;
    top: -4px;
    left: -4px;
    right: -4px;
    bottom: -4px;
    z-index: -1;
}

/* アクション列のスタイル改善 */
.sub-item-name {
    display: flex;
    align-items: center;
    gap: 4px;
}

.sub-item-name .asset-name {
    flex: 1;
}

/* ホバー時のツールチップ位置調整 */
.asset-transfer-icon[data-bs-toggle="tooltip"] {
    position: relative;
}

/* ツールチップが他の要素に隠れないように */
.table-container {
    overflow: visible;
}

.sub-item {
    position: relative;
}

/* 対策項目アイコンとの区別 */
.bi-gear-fill {
    color: #ffc107 !important;
}

.bi-gear-fill:hover {
    color: #e0a800 !important;
}

/* アイコングループのレイアウト */
.icon-group {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-right: 8px;
}

/* 移動関連アイコンのスタイル */
.sub-item-name i[data-action] {
    transition: all 0.2s ease;
    padding: 2px 4px;
    border-radius: 3px;
    margin-right: 4px;
}

/* 対策項目アイコン */
.sub-item-name i[data-action="toggle-measure"]:hover {
    background-color: #fff3cd;
    transform: scale(1.15);
}

/* 財産移動アイコン */
.sub-item-name i[data-action="move-to-trust"]:hover {
    background-color: #e3f2fd;
    transform: scale(1.15);
}

/* 財産復元アイコン */
.sub-item-name i[data-action="revert-from-trust"]:hover {
    background-color: #e8f5e8;
    transform: scale(1.15);
}

/* アイコンガイド */
.icon-guide-item {
    padding: 8px 0;
    border-left: 3px solid transparent;
    padding-left: 12px;
    transition: all 0.2s ease;
}

.icon-guide-item:hover {
    border-left-color: #007bff;
    background-color: rgba(0, 123, 255, 0.05);
}

/* アイコンなし行の視覚的差別化 */
.sub-item:not([data-has-actions="true"]) .sub-item-name {
    padding-left: 24px; /* アイコンスペース分のインデント */
}

.sub-item[data-has-actions="true"] .sub-item-name {
    padding-left: 8px;
}

/* 移動モーダルのスタイル */
.transfer-summary .alert {
    border-left: 4px solid #007bff;
}

.revert-summary .alert {
    border-left: 4px solid #28a745;
}

.transfer-destination .list-group-item,
.revert-destination .list-group-item {
    border: 1px solid #dee2e6;
    border-radius: 0.375rem;
    background-color: #f8f9fa;
}

.transfer-note .alert-warning {
    border-left: 4px solid #ffc107;
}

.revert-note .alert-success {
    border-left: 4px solid #28a745;
}

/* ========================================
 * レスポンシブ対応 (Phase 5)
 * ======================================== */
@media (max-width: 768px) {
    .asset-transfer-icon {
        font-size: 1.2rem;
        padding: 6px;
        min-width: 44px;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    .sub-item {
        font-size: 0.85rem;
    }
    .table-container {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .icon-guide-item {
        padding: 6px 0;
        padding-left: 8px;
        font-size: 0.85rem;
    }
    .transfer-summary .alert,
    .revert-summary .alert {
        font-size: 0.85rem;
    }
}
