/**
 * Folder Manager - Tailwind補完スタイル
 * Tailwindで表現困難なスタイルのみ定義
 */

/* CSS Variables for theming */
.folder-manager--favorite,
.folder-manager--print-data {
    --fm-selected-bg: #dbeafe; /* blue-100 */
    --fm-selected-color: #1d4ed8; /* blue-700 */
    --fm-drag-over-color: #2563eb; /* blue-600 */
}

/* State Classes - Tailwindで表現困難なもの */
.folder-manager--favorite .fm-folder-item.is-selected > .fm-folder-header {
    background: var(--fm-selected-bg);
    color: var(--fm-selected-color);
    font-weight: 600;
}

/* 会社共有 疑似フォルダ - 選択状態（お気に入り） */
.folder-manager--favorite .fm-shared-folder-link.is-selected {
    background: var(--fm-selected-bg);
    color: var(--fm-selected-color);
    font-weight: 600;
}

/* SVG chevron 用（商品選択の select-favorite-chevron は category-select.css で制御） */
.folder-manager--favorite .fm-folder-toggle.is-open:not(.select-favorite-chevron) {
    transform: rotate(90deg);
}

.fm-folder-name.is-editing {
    background: #fff;
    border: 1px solid #2563eb; /* blue-600 */
    outline: none;
    white-space: normal;
    overflow: visible;
    cursor: text;
    pointer-events: auto;
}

.folder-manager--favorite .fm-folder-link:has(.fm-folder-name.is-editing),
.folder-manager--print-data .fm-folder-link:has(.fm-folder-name.is-editing) {
    pointer-events: none;
}

/* Drag States */
.fm-folder-item.is-dragging {
    opacity: 0.4;
}

.fm-folder-item.drag-over-top {
    box-shadow: inset 0 2px 0 0 var(--fm-drag-over-color);
}

.fm-folder-item.drag-over-bottom {
    box-shadow: inset 0 -2px 0 0 var(--fm-drag-over-color);
}

.fm-folder-item.drag-over-inside {
    background: var(--fm-selected-bg);
}

/* Collapsed States */
.fm-folder-children.is-collapsed,
.fm-context-menu.is-hidden {
    display: none;
}

.fm-context-menu {
    position: fixed;
    z-index: 2000;
}

.fm-folder-link {
    flex: 1 1 auto;
    min-width: 0;
    color: inherit;
    text-decoration: none;
    -webkit-user-drag: none;
}

.fm-drag-handle[draggable="true"] {
    -webkit-user-drag: element;
}

/* 印刷データ管理 — 印刷データ選択モーダル（ファイル一覧タブ）と同様のツリー */
.folder-manager--print-data .pd-tree-explorer {
    overflow: auto;
}

.folder-manager--print-data .pd-tree-root,
.folder-manager--print-data .pd-tree-children {
    list-style: none;
    margin: 0;
    padding: 0;
}

.folder-manager--print-data .pd-tree-children {
    display: none;
    padding-left: 1.25rem;
}

.folder-manager--print-data .pd-tree-item.is-open > .pd-tree-children {
    display: block;
}

.folder-manager--print-data .pd-tree-row {
    display: flex;
    align-items: center;
    gap: 0;
    min-height: 32px;
    padding: 0.25rem 0.5rem 0.25rem 0;
    border-radius: 0.375rem;
    cursor: pointer;
    white-space: nowrap;
    font-size: 0.8125rem;
    color: var(--pc-gray-800, #595757);
    box-sizing: border-box;
}

.folder-manager--print-data .pd-tree-row:hover {
    background-color: #f1f5f9;
}

.folder-manager--print-data .pd-tree-row.is-selected,
.folder-manager--print-data .fm-folder-item.is-selected > .fm-folder-header.pd-tree-row {
    background: #cfe8ff;
    font-weight: 600;
    color: var(--pc-gray-800, #595757);
}

.folder-manager--print-data .fm-shared-folder-link.pd-tree-row.is-selected {
    background: #cfe8ff;
    color: var(--pc-gray-800, #595757);
    font-weight: 600;
}

.folder-manager--print-data .pd-tree-link {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}

.folder-manager--print-data .pd-tree-toggle {
    width: 1.25rem;
    height: 1.25rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--pc-gray-800, #595757);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    cursor: pointer;
}

.folder-manager--print-data .pd-tree-toggle .bi {
    font-size: 0.75rem;
    transition: transform 0.15s ease;
}

.folder-manager--print-data .pd-tree-item.is-open > .pd-tree-row .pd-tree-toggle .bi {
    transform: rotate(90deg);
}

.folder-manager--print-data .pd-tree-toggle-placeholder {
    width: 1.25rem;
    flex-shrink: 0;
}

.folder-manager--print-data .pd-tree-row .tree-icon.folder {
    flex-shrink: 0;
    font-size: 1.1rem;
    color: #d6a027;
}

.folder-manager--print-data .pd-tree-label {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.folder-manager--print-data .pd-tree-drag-handle {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 1.5rem;
    width: 1.5rem;
    padding: 0.125rem 0;
    color: var(--pc-gray-500, #9fa0a0);
    cursor: grab;
    box-sizing: border-box;
}

.folder-manager--print-data .pd-tree-drag-handle:active {
    cursor: grabbing;
}

.folder-manager--print-data .pd-tree-drag-handle.invisible {
    visibility: hidden;
}

.folder-manager--print-data .pd-tree-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 1.5rem;
    width: 1.5rem;
    flex-shrink: 0;
    box-sizing: border-box;
}

.folder-manager--print-data .pd-tree-actions.invisible {
    visibility: hidden;
}

.folder-manager--print-data .pd-tree-menu-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.25rem;
    height: 1.25rem;
    padding: 0;
    font-size: inherit;
    color: var(--pc-gray-800, #595757);
    background: transparent;
    border: 0;
    border-radius: 0.125rem;
    cursor: pointer;
}

.folder-manager--print-data .pd-tree-menu-btn:hover {
    background: #e5e7eb;
    color: var(--pc-gray-800, #595757);
}

.folder-manager--print-data .pd-tree-row .fm-folder-name.is-editing {
    background: #fff;
    border: 1px solid #2563eb;
    outline: none;
    white-space: normal;
    overflow: visible;
    cursor: text;
    pointer-events: auto;
}

.folder-manager--print-data .pd-tree-link:has(.fm-folder-name.is-editing) {
    pointer-events: none;
}

.folder-manager--print-data .pd-tree-empty {
    padding: 0.5rem;
    font-size: 0.75rem;
    color: var(--pc-gray-500, #9fa0a0);
    text-align: center;
}
