/* ── Shared nestable base ── */ #ie_tree_wrapper .dd { max-width: 100%; } #ie_tree_wrapper .dd-empty { display: none; } #ie_tree_wrapper .dd-item > button[data-action="collapse"] { display: none; } #ie_tree_wrapper .ie-dd-handle { cursor: move; transition: border-color .15s, background .15s, box-shadow .15s, transform .12s; height: auto !important; } #ie_tree_wrapper .ie-dd-handle.ie-node-selected { outline: 2px solid #3c8dbc; outline-offset: 2px; box-shadow: 0 0 0 4px rgba(60,141,188,.12); } #ie_tree_wrapper .ie-node-actions .btn i { pointer-events: none; } /* ── Theme picker ── */ .ie-theme-picker { margin-bottom: 14px; } .ie-theme-picker-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 10px 14px; background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%); border: 1px solid #dde2e8; border-radius: 8px; cursor: pointer; text-align: right; } .ie-theme-picker-toggle:hover { background: linear-gradient(135deg, #eef2f6 0%, #e8edf3 100%); } .ie-theme-default-bar { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; margin: 10px 0 4px; background: #fffbeb; border: 1px solid #fde68a; border-radius: 6px; font-size: 12px; } .ie-theme-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: 10px; padding: 12px 0 4px; max-height: 420px; overflow-y: auto; } .ie-theme-card { position: relative; border: 2px solid #e2e8f0; border-radius: 10px; padding: 10px 8px 8px; cursor: pointer; background: #fff; transition: border-color .15s, box-shadow .15s, transform .12s; } .ie-theme-card:hover { border-color: #3c8dbc; box-shadow: 0 4px 14px rgba(60,141,188,.18); transform: translateY(-1px); } .ie-theme-card.active { border-color: #3c8dbc; background: #eef6fc; box-shadow: 0 0 0 1px #3c8dbc; } .ie-theme-card.is-default { border-color: #f59e0b; } .ie-theme-card.is-default.active { box-shadow: 0 0 0 1px #f59e0b, 0 4px 14px rgba(245,158,11,.15); } .ie-theme-pin { position: absolute; top: 6px; left: 6px; width: 24px; height: 24px; padding: 0; border: none; background: rgba(255,255,255,.9); border-radius: 50%; color: #cbd5e1; font-size: 12px; line-height: 24px; z-index: 2; box-shadow: 0 1px 3px rgba(0,0,0,.08); } .ie-theme-pin:hover { color: #f59e0b; background: #fff; } .ie-theme-card.is-default .ie-theme-pin { color: #f59e0b; } .ie-theme-default-badge { display: none; position: absolute; top: 6px; right: 6px; font-size: 9px; font-weight: 700; padding: 2px 5px; border-radius: 4px; background: #f59e0b; color: #fff; } .ie-theme-card.is-default .ie-theme-default-badge { display: block; } .ie-theme-card-name { font-size: 11px; font-weight: 600; margin-bottom: 6px; color: #334155; line-height: 1.3; min-height: 28px; } .ie-theme-preview { height: 52px; border-radius: 6px; overflow: hidden; position: relative; background: #f8fafc; } .ie-theme-preview .pv-row { height: 14px; margin-bottom: 3px; border-radius: 3px; display: flex; align-items: center; gap: 4px; padding: 0 5px; } .ie-theme-preview .pv-indent-1 { margin-right: 8px; } .ie-theme-preview .pv-indent-2 { margin-right: 16px; } .ie-theme-preview .pv-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; } .ie-theme-preview .pv-bar { height: 5px; border-radius: 3px; flex: 1; } /* preview skins */ .pv-classic .pv-row { background: #fafafa; border: 1px solid #d1d5db; } .pv-card .pv-row { background: #fff; border: 1px solid #d8dee6; box-shadow: 0 1px 2px rgba(0,0,0,.06); } .pv-card .pv-row:first-child { border-right: 3px solid #3c8dbc; } .pv-minimal .pv-row { background: #fff; border-bottom: 1px solid #eee; border-radius: 0; } .pv-industrial .pv-row { background: #ececec; border-right: 4px solid #444; } .pv-striped .pv-row:nth-child(odd) { background: #f1f5f9; } .pv-striped .pv-row:nth-child(even) { background: #fff; } .pv-compact .pv-row { height: 11px; margin-bottom: 2px; background: #f1f5f9; } .pv-color .pv-row:nth-child(1) { background: #e8f4fc; } .pv-color .pv-row:nth-child(2) { background: #e8f8ee; } .pv-color .pv-row:nth-child(3) { background: #f3e8fc; } .pv-orgchart { background: #f8fafc; } .pv-orgchart .pv-row { background: #fff; border: 1px solid #cbd5e1; } .pv-orgchart .pv-indent-1::before, .pv-orgchart .pv-indent-2::before { content: ''; position: absolute; right: 2px; top: 0; width: 2px; height: 100%; background: #94a3b8; } .pv-blueprint { background: #1e3a5f; background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 8px 8px; } .pv-blueprint .pv-row { background: rgba(37,99,235,.25); border: 1px solid #60a5fa; } .pv-gradient .pv-row:nth-child(1) { background: linear-gradient(90deg, #6366f1, #8b5cf6); opacity: .85; } .pv-gradient .pv-row:nth-child(2) { background: linear-gradient(90deg, #8b5cf6, #a855f7); opacity: .7; } .pv-gradient .pv-row:nth-child(3) { background: linear-gradient(90deg, #a855f7, #ec4899); opacity: .55; } .pv-neon { background: #0f172a; } .pv-neon .pv-row { background: #1e293b; border: 1px solid #00f5d4; box-shadow: 0 0 6px rgba(0,245,212,.3); } .pv-glass { background: linear-gradient(135deg, #e2e8f0, #f8fafc); } .pv-glass .pv-row { background: rgba(255,255,255,.55); border: 1px solid rgba(255,255,255,.8); backdrop-filter: blur(4px); } .pv-pastel .pv-row:nth-child(1) { background: #fecdd3; } .pv-pastel .pv-row:nth-child(2) { background: #bbf7d0; } .pv-pastel .pv-row:nth-child(3) { background: #bfdbfe; } .pv-timeline { background: #f0f9ff; } .pv-timeline .pv-row { background: #fff; border-right: 3px solid #0ea5e9; } .pv-material .pv-row { background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.12); } .pv-branch { background: #f0fdf4; } .pv-branch .pv-row { background: #fff; border: 1px solid #86efac; } .pv-aurora { background: linear-gradient(135deg, #1e1b4b, #312e81); } .pv-aurora .pv-row { background: rgba(255,255,255,.1); border: 1px solid rgba(124,58,237,.5); } .pv-indented { background: #f8fafc; } .pv-indented .pv-row { background: #fff; border: 1px solid #d8dee6; box-shadow: 0 1px 2px rgba(0,0,0,.04); } .pv-indented .pv-indent-1 { margin-right: 10px; border-right: 2px solid #3c8dbc; } .pv-indented .pv-indent-2 { margin-right: 20px; border-right: 2px solid #00a65a; } /* ── Tree connector mixin (themes 8, 14, 16) ── */ .ie-tree-theme-8 .dd-item, .ie-tree-theme-14 .dd-item, .ie-tree-theme-16 .dd-item { position: relative; } .ie-tree-theme-8 .dd-list .dd-list, .ie-tree-theme-14 .dd-list .dd-list, .ie-tree-theme-16 .dd-list .dd-list { border-right: 2px solid #cbd5e1; margin-right: 14px; padding-right: 16px; position: relative; } .ie-tree-theme-8 .dd-list .dd-list > .dd-item::before, .ie-tree-theme-14 .dd-list .dd-list > .dd-item::before, .ie-tree-theme-16 .dd-list .dd-list > .dd-item::before { content: ''; position: absolute; right: -18px; top: 26px; width: 14px; height: 2px; background: #94a3b8; z-index: 0; } .ie-tree-theme-14 .dd-list .dd-list { border-right-color: #38bdf8; } .ie-tree-theme-14 .dd-list .dd-list > .dd-item::before { background: #38bdf8; } .ie-tree-theme-16 .dd-list .dd-list { border-right-color: #4ade80; } .ie-tree-theme-16 .dd-list .dd-list > .dd-item::before { background: #4ade80; border-radius: 0 0 0 4px; } /* ══ THEME 1 — Enhanced Classic ══ */ .ie-tree-theme-1 .dd-list { padding-right: 26px; } .ie-tree-theme-1 .dd-item { margin-bottom: 4px; } .ie-tree-theme-1 .ie-dd-handle { padding: 10px 12px; background: linear-gradient(180deg, #fafafa, #f3f4f6); border: 1px solid #d1d5db; border-right: 3px solid #3c8dbc; border-radius: 6px; box-shadow: 0 1px 2px rgba(0,0,0,.04); } .ie-tree-theme-1 .ie-dd-handle:hover { background: #f0f7ff; border-color: #93c5fd; } .ie-tree-theme-1 .ie-node-row { display: flex; align-items: center; min-height: 40px; } .ie-tree-theme-1 .ie-node-drag { display: none; } .ie-tree-theme-1 .ie-node-body { flex: 1; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; } .ie-tree-theme-1 .ie-node-title { display: flex; align-items: center; gap: 6px; } .ie-tree-theme-1 .ie-node-title strong { font-size: 13px; } .ie-tree-theme-1 .ie-node-meta { display: flex; gap: 5px; font-size: 11px; } .ie-tree-theme-1 .ie-node-meta code { background: #e5e7eb; padding: 1px 5px; border-radius: 3px; } .ie-tree-theme-1 .ie-node-actions { display: flex; flex-direction: row; gap: 2px; border: none; background: transparent; padding: 0 0 0 8px; } .ie-tree-theme-1 .ie-node-actions-row { display: flex; gap: 2px; } .ie-tree-theme-1 .ie-node-actions .btn { width: 26px; height: 26px; padding: 0; font-size: 11px; } /* ══ THEME 2 — Card Pro ══ */ .ie-tree-theme-2 .dd-list { padding-right: 28px; } .ie-tree-theme-2 .dd-item { margin-bottom: 8px; } .ie-tree-theme-2 .ie-dd-handle { padding: 0; background: #fff; border: 1px solid #d8dee6; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,.05), 0 1px 2px rgba(0,0,0,.03); min-height: 54px; } .ie-tree-theme-2 .ie-dd-handle:hover { background: #f8fbff; border-color: #3c8dbc; box-shadow: 0 4px 12px rgba(60,141,188,.15); transform: translateY(-1px); } .ie-tree-theme-2 .ie-node-row { display: flex; align-items: stretch; min-height: 54px; } .ie-tree-theme-2 .ie-node-drag { display: flex; align-items: center; justify-content: center; width: 30px; flex-shrink: 0; background: linear-gradient(180deg, #f8fafc, #f1f5f9); border-left: 1px solid #e8ecf0; border-radius: 8px 0 0 8px; color: #94a3b8; cursor: grab; font-size: 12px; } .ie-tree-theme-2 .ie-node-body { flex: 1 1 auto; min-width: 0; padding: 9px 12px; display: flex; flex-direction: column; justify-content: center; gap: 4px; } .ie-tree-theme-2 .ie-node-title { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; } .ie-tree-theme-2 .ie-node-title strong { font-size: 13px; word-break: break-word; } .ie-tree-theme-2 .ie-node-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; font-size: 11px; } .ie-tree-theme-2 .ie-node-meta code { background: #f0f3f6; padding: 2px 6px; border-radius: 4px; font-size: 11px; } .ie-tree-theme-2 .ie-node-actions { display: flex; flex-direction: column; justify-content: center; gap: 3px; padding: 6px 8px; flex-shrink: 0; border-right: 1px solid #e8ecf0; background: #fafbfc; border-radius: 0 8px 8px 0; } .ie-tree-theme-2 .ie-node-actions-row { display: flex; gap: 3px; justify-content: flex-end; } .ie-tree-theme-2 .ie-node-actions .btn { width: 28px; height: 28px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 5px; font-size: 12px; } .ie-tree-theme-2 .dd-item > .dd-list > .dd-item > .ie-dd-handle { border-right: 4px solid #3c8dbc; } .ie-tree-theme-2 .dd-item > .dd-list > .dd-item > .dd-list > .dd-item > .ie-dd-handle { border-right: 4px solid #00a65a; } .ie-tree-theme-2 .dd-item > .dd-list > .dd-item > .dd-list > .dd-item > .dd-list > .dd-item > .ie-dd-handle { border-right: 4px solid #f39c12; } /* ══ THEME 3 — Clean Minimal ══ */ .ie-tree-theme-3 .dd-list { padding-right: 20px; } .ie-tree-theme-3 .dd-item { margin-bottom: 0; } .ie-tree-theme-3 .ie-dd-handle { padding: 0; background: #fff; border: none; border-bottom: 1px solid #e5e7eb; border-radius: 0; box-shadow: none; min-height: 46px; } .ie-tree-theme-3 .ie-dd-handle:hover { background: #f9fafb; } .ie-tree-theme-3 .ie-node-row { display: flex; align-items: center; min-height: 46px; } .ie-tree-theme-3 .ie-node-drag { display: none; } .ie-tree-theme-3 .ie-node-body { flex: 1; padding: 8px 10px; display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 10px; } .ie-tree-theme-3 .ie-node-title { display: flex; align-items: center; gap: 8px; } .ie-tree-theme-3 .ie-node-title strong { font-weight: 600; color: #1e293b; } .ie-tree-theme-3 .ie-node-title::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: #3c8dbc; flex-shrink: 0; } .ie-tree-theme-3 .ie-node-meta { display: flex; gap: 8px; font-size: 11px; color: #64748b; } .ie-tree-theme-3 .ie-node-meta code { background: none; color: #475569; } .ie-tree-theme-3 .ie-node-type { background: none !important; color: #3c8dbc !important; border: 1px solid #93c5fd !important; } .ie-tree-theme-3 .ie-node-actions { display: flex; flex-direction: row; gap: 2px; border: none; background: transparent; padding: 4px 8px; } .ie-tree-theme-3 .ie-node-actions .btn { width: 26px; height: 26px; padding: 0; font-size: 11px; opacity: .6; } .ie-tree-theme-3 .ie-dd-handle:hover .ie-node-actions .btn { opacity: 1; } /* ══ THEME 4 — Industrial Metal ══ */ .ie-tree-theme-4 .dd-list { padding-right: 24px; } .ie-tree-theme-4 .dd-item { margin-bottom: 5px; } .ie-tree-theme-4 .ie-dd-handle { padding: 0; background: linear-gradient(180deg, #ececec 0%, #d8d8d8 100%); border: 1px solid #a8a8a8; border-right: 5px solid #374151; border-radius: 3px; box-shadow: inset 0 1px 0 rgba(255,255,255,.6), 0 1px 2px rgba(0,0,0,.1); min-height: 50px; } .ie-tree-theme-4 .ie-dd-handle:hover { background: linear-gradient(180deg, #e4e4e4, #d0d0d0); } .ie-tree-theme-4 .ie-node-row { display: flex; align-items: stretch; min-height: 50px; } .ie-tree-theme-4 .ie-node-drag { display: flex; align-items: center; justify-content: center; width: 26px; background: #b8b8b8; color: #444; font-size: 11px; border-left: 1px solid #999; } .ie-tree-theme-4 .ie-node-body { flex: 1; padding: 7px 10px; display: flex; flex-direction: column; justify-content: center; gap: 3px; } .ie-tree-theme-4 .ie-node-title strong { font-family: Tahoma, sans-serif; font-size: 13px; letter-spacing: .2px; } .ie-tree-theme-4 .ie-node-meta code { font-family: Consolas, monospace; background: #c4c4c4; font-size: 11px; padding: 1px 4px; } .ie-tree-theme-4 .ie-node-actions { display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 4px 6px; background: #b8b8b8; border-right: 1px solid #999; } .ie-tree-theme-4 .ie-node-actions .btn { width: 26px; height: 26px; padding: 0; border-radius: 2px; } .ie-tree-theme-4 .dd-item > .dd-list > .dd-item > .ie-dd-handle { border-right-color: #3c8dbc; } .ie-tree-theme-4 .dd-item > .dd-list > .dd-item > .dd-list > .dd-item > .ie-dd-handle { border-right-color: #00a65a; } .ie-tree-theme-4 .dd-item > .dd-list > .dd-item > .dd-list > .dd-item > .dd-list > .dd-item > .ie-dd-handle { border-right-color: #f39c12; } /* ══ THEME 5 — Striped Table ══ */ .ie-tree-theme-5 .dd-list { padding-right: 24px; } .ie-tree-theme-5 .dd-item { margin-bottom: 0; } .ie-tree-theme-5 .dd-list > .dd-item:nth-child(odd) > .ie-dd-handle { background: #f1f5f9; } .ie-tree-theme-5 .dd-list > .dd-item:nth-child(even) > .ie-dd-handle { background: #fff; } .ie-tree-theme-5 .ie-dd-handle { padding: 0; border: 1px solid #e2e8f0; border-radius: 0; box-shadow: none; min-height: 48px; } .ie-tree-theme-5 .ie-dd-handle:hover { background: #e0f2fe !important; } .ie-tree-theme-5 .ie-node-row { display: flex; align-items: center; min-height: 48px; } .ie-tree-theme-5 .ie-node-drag { display: none; } .ie-tree-theme-5 .ie-node-body { flex: 1; display: grid; grid-template-columns: minmax(120px, 1fr) minmax(80px, auto) minmax(60px, auto); align-items: center; gap: 8px; padding: 7px 12px; } .ie-tree-theme-5 .ie-node-title { display: flex; align-items: center; gap: 6px; } .ie-tree-theme-5 .ie-node-meta { display: contents; } .ie-tree-theme-5 .ie-node-meta code { grid-column: 2; background: #e2e8f0; padding: 2px 6px; border-radius: 3px; } .ie-tree-theme-5 .ie-qty { grid-column: 3; text-align: center; color: #64748b; font-weight: 600; } .ie-tree-theme-5 .ie-node-meta .label-success { display: none; } .ie-tree-theme-5 .ie-node-actions { display: flex; flex-direction: row; flex-wrap: wrap; gap: 2px; padding: 4px 8px; border: none; background: transparent; max-width: 160px; } .ie-tree-theme-5 .ie-node-actions .btn { width: 24px; height: 24px; padding: 0; font-size: 10px; } /* ══ THEME 6 — Compact Fast ══ */ .ie-tree-theme-6 .dd-list { padding-right: 16px; } .ie-tree-theme-6 .dd-item { margin-bottom: 2px; } .ie-tree-theme-6 .ie-dd-handle { padding: 0; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 4px; min-height: 34px; box-shadow: none; } .ie-tree-theme-6 .ie-dd-handle:hover { background: #f1f5f9; border-color: #cbd5e1; } .ie-tree-theme-6 .ie-node-row { display: flex; align-items: center; min-height: 34px; } .ie-tree-theme-6 .ie-node-drag { display: none; } .ie-tree-theme-6 .ie-node-body { flex: 1; padding: 3px 8px; display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 4px; } .ie-tree-theme-6 .ie-node-title strong { font-size: 12px; } .ie-tree-theme-6 .ie-node-type { font-size: 9px !important; padding: 1px 4px !important; } .ie-tree-theme-6 .ie-node-meta { font-size: 10px; gap: 3px; display: flex; } .ie-tree-theme-6 .ie-node-meta code { font-size: 10px; padding: 0 3px; background: #e2e8f0; } .ie-tree-theme-6 .ie-node-actions { display: flex; flex-direction: row; gap: 1px; padding: 2px 4px; border: none; background: transparent; } .ie-tree-theme-6 .ie-node-actions .btn { width: 22px; height: 22px; padding: 0; font-size: 10px; border-radius: 3px; } /* ══ THEME 7 — Color by Type ══ */ .ie-tree-theme-7 .dd-list { padding-right: 24px; } .ie-tree-theme-7 .dd-item { margin-bottom: 5px; } .ie-tree-theme-7 .ie-dd-handle { padding: 0; border: 1px solid rgba(0,0,0,.06); border-radius: 8px; min-height: 50px; box-shadow: 0 1px 3px rgba(0,0,0,.04); } .ie-tree-theme-7 .dd-item[data-item-type="assembly"] > .ie-dd-handle { background: linear-gradient(135deg, #dbeafe, #e8f4fc); border-color: #93c5fd; } .ie-tree-theme-7 .dd-item[data-item-type="subassembly"] > .ie-dd-handle { background: linear-gradient(135deg, #d1fae5, #e8f8ee); border-color: #6ee7b7; } .ie-tree-theme-7 .dd-item[data-item-type="device"] > .ie-dd-handle { background: linear-gradient(135deg, #ede9fe, #f3e8fc); border-color: #c4b5fd; } .ie-tree-theme-7 .dd-item[data-item-type="part"] > .ie-dd-handle { background: #fff; border-color: #e5e7eb; } .ie-tree-theme-7 .dd-item[data-item-type="tool"] > .ie-dd-handle { background: #fffbeb; border-color: #fcd34d; } .ie-tree-theme-7 .dd-item[data-item-type="consumable"] > .ie-dd-handle { background: #fef2f2; border-color: #fca5a5; } .ie-tree-theme-7 .ie-node-row { display: flex; align-items: center; min-height: 50px; } .ie-tree-theme-7 .ie-node-drag { display: none; } .ie-tree-theme-7 .ie-node-body { flex: 1; padding: 8px 12px; display: flex; flex-direction: column; gap: 4px; } .ie-tree-theme-7 .ie-node-title { display: flex; align-items: center; gap: 6px; } .ie-tree-theme-7 .ie-node-meta { display: flex; flex-wrap: wrap; gap: 5px; font-size: 11px; } .ie-tree-theme-7 .ie-node-actions { display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 6px; border: none; background: rgba(255,255,255,.6); border-radius: 8px 0 0 8px; } .ie-tree-theme-7 .ie-node-actions .btn { width: 26px; height: 26px; padding: 0; } /* ══ THEME 8 — Org Chart ══ */ .ie-tree-theme-8 .dd-list { padding-right: 8px; } .ie-tree-theme-8 .dd-item { margin-bottom: 8px; } .ie-tree-theme-8 .ie-dd-handle { padding: 0; background: #fff; border: 2px solid #cbd5e1; border-radius: 8px; min-height: 48px; box-shadow: 0 2px 6px rgba(0,0,0,.06); } .ie-tree-theme-8 .ie-dd-handle:hover { border-color: #3b82f6; box-shadow: 0 4px 12px rgba(59,130,246,.15); } .ie-tree-theme-8 .ie-node-row { display: flex; align-items: center; min-height: 48px; } .ie-tree-theme-8 .ie-node-drag { display: none; } .ie-tree-theme-8 .ie-node-body { flex: 1; padding: 8px 12px; } .ie-tree-theme-8 .ie-node-title strong { color: #1e293b; } .ie-tree-theme-8 .ie-node-actions { display: flex; gap: 2px; padding: 6px 8px; background: #f8fafc; border-radius: 8px 0 0 8px; } .ie-tree-theme-8 .ie-node-actions .btn { width: 26px; height: 26px; padding: 0; } /* ══ THEME 9 — Blueprint ══ */ .ie-tree-theme-9 { background: #1e3a5f; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 20px 20px; border-radius: 8px; padding: 12px; } .ie-tree-theme-9 .dd-list { padding-right: 24px; } .ie-tree-theme-9 .dd-item { margin-bottom: 6px; } .ie-tree-theme-9 .ie-dd-handle { padding: 0; background: rgba(37,99,235,.15); border: 1px solid #60a5fa; border-radius: 4px; min-height: 48px; color: #e0f2fe; box-shadow: inset 0 0 20px rgba(96,165,250,.1); } .ie-tree-theme-9 .ie-dd-handle:hover { background: rgba(37,99,235,.25); border-color: #93c5fd; } .ie-tree-theme-9 .ie-node-row { display: flex; align-items: center; min-height: 48px; } .ie-tree-theme-9 .ie-node-drag { display: none; } .ie-tree-theme-9 .ie-node-body { flex: 1; padding: 8px 12px; } .ie-tree-theme-9 .ie-node-title strong { color: #f0f9ff; } .ie-tree-theme-9 .ie-node-meta { color: #93c5fd; } .ie-tree-theme-9 .ie-node-meta code { background: rgba(0,0,0,.2); color: #bae6fd; } .ie-tree-theme-9 .ie-node-type { background: #2563eb !important; border: none !important; } .ie-tree-theme-9 .ie-node-actions { padding: 6px; } .ie-tree-theme-9 .ie-node-actions .btn { width: 26px; height: 26px; padding: 0; opacity: .9; } /* ══ THEME 10 — Depth Gradient ══ */ .ie-tree-theme-10 .dd-list { padding-right: 24px; } .ie-tree-theme-10 .dd-item { margin-bottom: 6px; } .ie-tree-theme-10 .ie-dd-handle { padding: 0; border: none; border-radius: 8px; min-height: 48px; color: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.12); } .ie-tree-theme-10 .dd-list > .dd-item > .ie-dd-handle { background: linear-gradient(135deg, #6366f1, #8b5cf6); } .ie-tree-theme-10 .dd-list .dd-list > .dd-item > .ie-dd-handle { background: linear-gradient(135deg, #8b5cf6, #a855f7); } .ie-tree-theme-10 .dd-list .dd-list .dd-list > .dd-item > .ie-dd-handle { background: linear-gradient(135deg, #a855f7, #ec4899); } .ie-tree-theme-10 .dd-list .dd-list .dd-list .dd-list > .dd-item > .ie-dd-handle { background: linear-gradient(135deg, #ec4899, #f43f5e); } .ie-tree-theme-10 .ie-node-row { display: flex; align-items: center; min-height: 48px; } .ie-tree-theme-10 .ie-node-drag { display: none; } .ie-tree-theme-10 .ie-node-body { flex: 1; padding: 8px 12px; } .ie-tree-theme-10 .ie-node-title strong { color: #fff; } .ie-tree-theme-10 .ie-node-meta { color: rgba(255,255,255,.85); } .ie-tree-theme-10 .ie-node-meta code { background: rgba(0,0,0,.2); color: #fff; } .ie-tree-theme-10 .ie-node-type { background: rgba(255,255,255,.2) !important; border: 1px solid rgba(255,255,255,.4) !important; color: #fff !important; } .ie-tree-theme-10 .ie-node-actions { padding: 6px; } .ie-tree-theme-10 .ie-node-actions .btn { width: 26px; height: 26px; padding: 0; } /* ══ THEME 11 — Dark Neon ══ */ .ie-tree-theme-11 { background: #0f172a; border-radius: 8px; padding: 12px; } .ie-tree-theme-11 .dd-list { padding-right: 24px; } .ie-tree-theme-11 .dd-item { margin-bottom: 8px; } .ie-tree-theme-11 .ie-dd-handle { padding: 0; background: #1e293b; border: 1px solid #00f5d4; border-radius: 6px; min-height: 48px; box-shadow: 0 0 12px rgba(0,245,212,.15), inset 0 0 20px rgba(0,245,212,.03); } .ie-tree-theme-11 .ie-dd-handle:hover { border-color: #7b2ff7; box-shadow: 0 0 16px rgba(123,47,247,.3); } .ie-tree-theme-11 .dd-item[data-item-type="assembly"] > .ie-dd-handle { border-color: #00f5d4; } .ie-tree-theme-11 .dd-item[data-item-type="subassembly"] > .ie-dd-handle { border-color: #7b2ff7; } .ie-tree-theme-11 .dd-item[data-item-type="device"] > .ie-dd-handle { border-color: #f72585; } .ie-tree-theme-11 .ie-node-row { display: flex; align-items: center; min-height: 48px; } .ie-tree-theme-11 .ie-node-drag { display: none; } .ie-tree-theme-11 .ie-node-body { flex: 1; padding: 8px 12px; } .ie-tree-theme-11 .ie-node-title strong { color: #f1f5f9; } .ie-tree-theme-11 .ie-node-meta { color: #94a3b8; } .ie-tree-theme-11 .ie-node-meta code { background: #334155; color: #00f5d4; } .ie-tree-theme-11 .ie-node-actions { padding: 6px; } .ie-tree-theme-11 .ie-node-actions .btn { width: 26px; height: 26px; padding: 0; } /* ══ THEME 12 — Glass ══ */ .ie-tree-theme-12 { background: linear-gradient(135deg, #e2e8f0 0%, #f8fafc 50%, #e0e7ff 100%); border-radius: 10px; padding: 12px; } .ie-tree-theme-12 .dd-list { padding-right: 24px; } .ie-tree-theme-12 .dd-item { margin-bottom: 8px; } .ie-tree-theme-12 .ie-dd-handle { padding: 0; background: rgba(255,255,255,.55); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,.7); border-radius: 10px; min-height: 50px; box-shadow: 0 4px 16px rgba(0,0,0,.06); } .ie-tree-theme-12 .ie-dd-handle:hover { background: rgba(255,255,255,.75); box-shadow: 0 6px 20px rgba(0,0,0,.1); } .ie-tree-theme-12 .ie-node-row { display: flex; align-items: center; min-height: 50px; } .ie-tree-theme-12 .ie-node-drag { display: none; } .ie-tree-theme-12 .ie-node-body { flex: 1; padding: 8px 12px; } .ie-tree-theme-12 .ie-node-actions { padding: 6px 8px; background: rgba(255,255,255,.4); border-radius: 10px 0 0 10px; } .ie-tree-theme-12 .ie-node-actions .btn { width: 26px; height: 26px; padding: 0; } /* ══ THEME 13 — Soft Pastel ══ */ .ie-tree-theme-13 .dd-list { padding-right: 24px; } .ie-tree-theme-13 .dd-item { margin-bottom: 8px; } .ie-tree-theme-13 .ie-dd-handle { padding: 0; border: none; border-radius: 20px; min-height: 48px; box-shadow: 0 2px 8px rgba(0,0,0,.06); } .ie-tree-theme-13 .dd-list > .dd-item:nth-child(3n+1) > .ie-dd-handle { background: #fecdd3; } .ie-tree-theme-13 .dd-list > .dd-item:nth-child(3n+2) > .ie-dd-handle { background: #bbf7d0; } .ie-tree-theme-13 .dd-list > .dd-item:nth-child(3n) > .ie-dd-handle { background: #bfdbfe; } .ie-tree-theme-13 .ie-node-row { display: flex; align-items: center; min-height: 48px; } .ie-tree-theme-13 .ie-node-drag { display: none; } .ie-tree-theme-13 .ie-node-body { flex: 1; padding: 8px 14px; } .ie-tree-theme-13 .ie-node-type { border-radius: 12px !important; } .ie-tree-theme-13 .ie-node-actions { padding: 6px 10px; } .ie-tree-theme-13 .ie-node-actions .btn { width: 26px; height: 26px; padding: 0; border-radius: 50%; } /* ══ THEME 14 — Vertical Timeline ══ */ .ie-tree-theme-14 .dd-list { padding-right: 8px; } .ie-tree-theme-14 .dd-item { margin-bottom: 10px; } .ie-tree-theme-14 .ie-dd-handle { padding: 0; background: #fff; border: 1px solid #e0f2fe; border-right: 4px solid #0ea5e9; border-radius: 0 8px 8px 0; min-height: 48px; box-shadow: 0 2px 6px rgba(14,165,233,.1); } .ie-tree-theme-14 .ie-dd-handle:hover { border-right-color: #0284c7; background: #f0f9ff; } .ie-tree-theme-14 .dd-list > .dd-item > .ie-dd-handle::before { content: ''; position: absolute; right: -6px; top: 50%; transform: translateY(-50%); width: 12px; height: 12px; border-radius: 50%; background: #0ea5e9; border: 3px solid #fff; box-shadow: 0 0 0 2px #0ea5e9; z-index: 1; } .ie-tree-theme-14 .dd-item > .ie-dd-handle { position: relative; } .ie-tree-theme-14 .ie-node-row { display: flex; align-items: center; min-height: 48px; } .ie-tree-theme-14 .ie-node-drag { display: none; } .ie-tree-theme-14 .ie-node-body { flex: 1; padding: 8px 12px; } .ie-tree-theme-14 .ie-node-actions { padding: 6px 8px; } .ie-tree-theme-14 .ie-node-actions .btn { width: 26px; height: 26px; padding: 0; } /* ══ THEME 15 — Material Design ══ */ .ie-tree-theme-15 .dd-list { padding-right: 24px; } .ie-tree-theme-15 .dd-item { margin-bottom: 10px; } .ie-tree-theme-15 .ie-dd-handle { padding: 0; background: #fff; border: none; border-radius: 4px; min-height: 52px; box-shadow: 0 2px 4px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.06); } .ie-tree-theme-15 .ie-dd-handle:hover { box-shadow: 0 6px 16px rgba(0,0,0,.12), 0 2px 4px rgba(0,0,0,.08); transform: translateY(-2px); } .ie-tree-theme-15 .ie-node-row { display: flex; align-items: stretch; min-height: 52px; } .ie-tree-theme-15 .ie-node-drag { display: flex; align-items: center; justify-content: center; width: 4px; background: #1976d2; border-radius: 4px 0 0 4px; } .ie-tree-theme-15 .ie-node-body { flex: 1; padding: 10px 14px; display: flex; flex-direction: column; justify-content: center; gap: 4px; } .ie-tree-theme-15 .ie-node-title strong { font-size: 14px; color: #212121; } .ie-tree-theme-15 .ie-node-meta { font-size: 12px; color: #757575; } .ie-tree-theme-15 .ie-node-actions { display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 8px; background: #fafafa; } .ie-tree-theme-15 .ie-node-actions .btn { width: 28px; height: 28px; padding: 0; border-radius: 50%; } /* ══ THEME 16 — Branch Tree ══ */ .ie-tree-theme-16 .dd-list { padding-right: 8px; } .ie-tree-theme-16 .dd-item { margin-bottom: 6px; } .ie-tree-theme-16 .ie-dd-handle { padding: 0; background: #f0fdf4; border: 1px solid #86efac; border-radius: 8px; min-height: 46px; } .ie-tree-theme-16 .ie-dd-handle:hover { background: #dcfce7; border-color: #4ade80; } .ie-tree-theme-16 .ie-node-row { display: flex; align-items: center; min-height: 46px; } .ie-tree-theme-16 .ie-node-drag { display: none; } .ie-tree-theme-16 .ie-node-body { flex: 1; padding: 7px 12px; } .ie-tree-theme-16 .ie-node-title strong { color: #14532d; } .ie-tree-theme-16 .ie-node-type { background: #15803d !important; } .ie-tree-theme-16 .ie-node-actions { padding: 6px 8px; } .ie-tree-theme-16 .ie-node-actions .btn { width: 26px; height: 26px; padding: 0; } /* ══ THEME 17 — Aurora ══ */ .ie-tree-theme-17 { background: linear-gradient(135deg, #1e1b4b 0%, #312e81 40%, #1e3a5f 100%); border-radius: 10px; padding: 14px; } .ie-tree-theme-17 .dd-list { padding-right: 24px; } .ie-tree-theme-17 .dd-item { margin-bottom: 8px; } .ie-tree-theme-17 .ie-dd-handle { padding: 0; background: rgba(255,255,255,.08); border: 1px solid transparent; border-radius: 8px; min-height: 50px; background-clip: padding-box; position: relative; box-shadow: 0 2px 12px rgba(0,0,0,.2); } .ie-tree-theme-17 .ie-dd-handle::before { content: ''; position: absolute; inset: -1px; border-radius: 9px; background: linear-gradient(135deg, #7c3aed, #06b6d4, #f472b6); z-index: -1; } .ie-tree-theme-17 .ie-dd-handle:hover { background: rgba(255,255,255,.12); box-shadow: 0 4px 20px rgba(124,58,237,.3); } .ie-tree-theme-17 .ie-node-row { display: flex; align-items: center; min-height: 50px; position: relative; z-index: 1; } .ie-tree-theme-17 .ie-node-drag { display: none; } .ie-tree-theme-17 .ie-node-body { flex: 1; padding: 8px 12px; } .ie-tree-theme-17 .ie-node-title strong { color: #f8fafc; } .ie-tree-theme-17 .ie-node-meta { color: #c4b5fd; } .ie-tree-theme-17 .ie-node-meta code { background: rgba(0,0,0,.3); color: #a5f3fc; } .ie-tree-theme-17 .ie-node-type { background: rgba(124,58,237,.6) !important; border: none !important; } .ie-tree-theme-17 .ie-node-actions { padding: 6px 8px; } .ie-tree-theme-17 .ie-node-actions .btn { width: 26px; height: 26px; padding: 0; } /* ── Clipboard bar ── */ .ie-clipboard-bar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 8px 12px; margin-bottom: 10px; background: #eff6ff; border: 1px dashed #3b82f6; border-radius: 6px; font-size: 12px; } /* ── Indented tree base (all themes) ── */ .ie-tree-indented .dd-list { padding-right: 0; } .ie-tree-indented .dd-list .dd-list { margin-right: 32px; padding-right: 6px; border-right: 2px solid #dbeafe; position: relative; } .ie-tree-indented .dd-item { margin-bottom: 6px; position: relative; } .ie-tree-indented .dd-list .dd-list > .dd-item::before { content: ''; position: absolute; right: -34px; top: 22px; width: 20px; height: 2px; background: #93c5fd; z-index: 0; } /* Toggle button */ .ie-btn-toggle-branch, .ie-toggle-spacer { width: 28px; height: 28px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #cbd5e1; border-radius: 4px; background: #f8fafc; color: #475569; font-size: 12px; padding: 0; cursor: pointer; margin-left: 6px; } .ie-btn-toggle-branch:hover { background: #e2e8f0; border-color: #94a3b8; color: #1e293b; } .ie-toggle-spacer { border: none; background: transparent; cursor: default; } /* ══ THEME 18 — Indented Pro ══ */ .ie-tree-theme-18 .dd-item { margin-bottom: 8px; } .ie-tree-theme-18 .ie-dd-handle { padding: 0; background: #fff; border: 1px solid #d8dee6; border-radius: 6px; box-shadow: 0 1px 3px rgba(0,0,0,.05); min-height: 48px; } .ie-tree-theme-18 .ie-dd-handle:hover { border-color: #3c8dbc; box-shadow: 0 2px 8px rgba(60,141,188,.12); } .ie-tree-theme-18 .ie-node-row { display: flex; align-items: center; min-height: 48px; } .ie-tree-theme-18 .ie-node-drag { display: flex; align-items: center; justify-content: center; width: 22px; color: #94a3b8; font-size: 11px; flex-shrink: 0; cursor: grab; } .ie-tree-theme-18 .ie-node-body { flex: 1; min-width: 0; padding: 6px 10px; display: flex; flex-direction: column; gap: 3px; } .ie-tree-theme-18 .ie-node-title { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; } .ie-tree-theme-18 .ie-node-title strong { font-size: 13px; color: #1e293b; } .ie-tree-theme-18 .ie-qty { color: #64748b; font-size: 12px; font-weight: 600; } .ie-tree-theme-18 .ie-node-meta { display: flex; flex-wrap: wrap; gap: 5px; font-size: 11px; } .ie-tree-theme-18 .ie-node-meta code { background: #fee2e2; color: #b91c1c; padding: 1px 6px; border-radius: 3px; font-size: 11px; } .ie-tree-theme-18 .ie-node-actions { display: flex; flex-direction: column; justify-content: center; gap: 3px; padding: 4px 6px; flex-shrink: 0; border-right: 1px solid #eef2f6; background: #fafbfc; border-radius: 6px 0 0 6px; } .ie-tree-theme-18 .ie-node-actions-row { display: flex; gap: 3px; justify-content: flex-end; } .ie-tree-theme-18 .ie-node-actions .btn { width: 28px; height: 28px; padding: 0; border-radius: 5px; font-size: 12px; } .ie-tree-theme-18 .dd-item[data-item-type="device"] > .ie-dd-handle { border-right: 3px solid #3c8dbc; } .ie-tree-theme-18 .dd-item[data-item-type="assembly"] > .ie-dd-handle, .ie-tree-theme-18 .dd-item[data-item-type="subassembly"] > .ie-dd-handle { border-right: 3px solid #00a65a; } .ie-tree-theme-18 .dd-list .dd-list { border-right-color: #93c5fd; } .ie-tree-theme-18 .dd-list .dd-list .dd-list { border-right-color: #86efac; } @media (max-width: 768px) { .ie-theme-grid { grid-template-columns: repeat(2, 1fr); max-height: 360px; } .ie-theme-default-bar { flex-direction: column; align-items: stretch; } .ie-tree-theme-2 .ie-node-row, .ie-tree-theme-4 .ie-node-row, .ie-tree-theme-15 .ie-node-row { flex-wrap: wrap; } .ie-tree-theme-2 .ie-node-actions, .ie-tree-theme-4 .ie-node-actions, .ie-tree-theme-15 .ie-node-actions { flex-direction: row; width: 100%; border-top: 1px solid #e8ecf0; border-right: none; } .ie-tree-theme-5 .ie-node-body { grid-template-columns: 1fr; } .ie-tree-theme-18 .ie-node-row { flex-wrap: wrap; } .ie-tree-theme-18 .ie-node-actions { flex-direction: row; width: 100%; border-top: 1px solid #eef2f6; border-right: none; border-radius: 0 0 6px 6px; } .ie-tree-indented .dd-list .dd-list { margin-right: 20px; } }