/* OneDrive Explorer — Windows 11 Style */
.od-rb-btn{background:none;border:none;padding:4px 8px;cursor:pointer;color:#1a1a1a;font-size:11px;border-radius:4px;display:inline-flex;align-items:center;gap:4px;}
.od-rb-btn:hover{background:#e8e8e8;}
.od-rb-btn:disabled{opacity:.35;cursor:not-allowed;}
.od-rb-btn i{font-size:12px;color:#424242;}
.od-rb-active{background:#e3f2fd !important;color:#0067c0;}
.od-rb-active i{color:#0067c0 !important;}
.od-rb-sep{width:1px;height:20px;background:#e0e0e0;margin:0 4px;}
.od-nav-btn{background:none;border:none;padding:4px 7px;cursor:pointer;color:#424242;font-size:12px;border-radius:4px;}
.od-nav-btn:hover:not(:disabled){background:#e8e8e8;}
.od-nav-btn:disabled{color:#bdbdbd;cursor:not-allowed;}
.od-path-bar{flex:1;display:flex;align-items:center;gap:2px;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;padding:3px 8px;margin:0 6px;min-height:26px;overflow-x:auto;}
.od-path-seg{font-size:12px;color:#1a1a1a;cursor:pointer;padding:1px 4px;border-radius:3px;white-space:nowrap;}
.od-path-seg:hover{background:#e3f2fd;color:#0067c0;}
.od-path-arrow{font-size:8px;color:#9e9e9e;margin:0 1px;}
.od-search-box{position:relative;width:280px;flex-shrink:0;}
.od-search-box input{width:100%;padding:6px 10px 6px 30px;border:1px solid #e0e0e0;border-radius:6px;font-size:12px;outline:none;background:#f5f5f5;color:#1a1a1a;}
.od-search-box input:focus{border-color:#0067c0;background:#fff;box-shadow:0 0 0 2px rgba(0,103,192,.15);}
.od-search-icon{position:absolute;left:10px;top:8px;font-size:12px;color:#9e9e9e;}
.od-search-dropdown{display:none;position:absolute;top:100%;right:0;width:380px;max-height:400px;overflow-y:auto;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.15);z-index:9999;margin-top:4px;}
.od-search-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;border-bottom:1px solid #f5f5f5;}
.od-search-item:hover{background:#f0f7ff;}
.od-tree-item{padding:4px 12px;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:12px;color:#1a1a1a;border-radius:4px;margin:1px 4px;}
.od-tree-item:hover{background:#e8e8e8;}
.od-tree-active{background:#e3f2fd !important;font-weight:500;}
.od-table{width:100%;border-collapse:collapse;font-size:12px;}
.od-th{text-align:left;padding:6px 10px;font-weight:600;color:#424242;border-bottom:1px solid #e0e0e0;cursor:pointer;user-select:none;position:sticky;top:0;background:#fafafa;z-index:1;font-size:11px;}
.od-th:hover{background:#f0f0f0;}
.od-tr{border-bottom:1px solid #f5f5f5;}
.od-tr:hover{background:#f5f5f5;}
.od-tr-sel{background:#e3f2fd !important;}
.od-tr-sel:hover{background:#d0e8fc !important;}
.od-td{padding:5px 10px;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.od-tile{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:4px;cursor:pointer;width:240px;border:1px solid transparent;}
.od-tile:hover{background:#f5f5f5;border-color:#e0e0e0;}
.od-tile-sel{background:#e3f2fd !important;border-color:#90caf9 !important;}
.od-tile-info{overflow:hidden;}
.od-tile-name{font-size:12px;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px;}
.od-tile-meta{font-size:10px;color:#9e9e9e;}
.od-icon-item{display:flex;flex-direction:column;align-items:center;padding:8px 4px;border-radius:4px;cursor:pointer;border:2px solid transparent;}
.od-icon-item:hover{background:#f5f5f5;}
.od-icon-sel{background:#e3f2fd !important;border-color:#90caf9 !important;}
.od-icon-thumb{width:50px;height:50px;object-fit:cover;border-radius:3px;}
.od-icon-name{font-size:10px;text-align:center;margin-top:4px;color:#1a1a1a;word-break:break-word;line-height:1.2;max-width:80px;}
.od-ctx-row{display:flex;align-items:center;gap:10px;padding:6px 14px;cursor:pointer;}
.od-ctx-row:hover{background:#f5f5f5;}
.od-tab{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#d8d8d8;border-radius:6px 6px 0 0;cursor:pointer;font-size:11px;color:#424242;max-width:160px;min-width:60px;height:22px;}
.od-tab:hover{background:#f0f0f0;}
.od-tab-active{background:#fff !important;color:#1a1a1a;font-weight:500;border:1px solid #d0d0d0;border-bottom:1px solid #fff;}
.od-tab-close{font-size:9px;color:#9e9e9e;margin-left:4px;padding:2px;border-radius:3px;}
.od-tab-close:hover{background:#e0e0e0;color:#d32f2f;}
.od-tab-new{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;cursor:pointer;color:#616161;font-size:11px;}
.od-tab-new:hover{background:#d0d0d0;}


/* ══════════ VENTANAS FLOTANTES GENÉRICAS (FLOAT_WIN) ══════════ */
.fw-window{transition:border-radius .2s;}
.fw-btn{background:none;border:none;color:rgba(255,255,255,0.85);font-size:12px;width:34px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;transition:background .15s;}
.fw-btn:hover{background:rgba(255,255,255,0.15);}
.fw-btn-close:hover{background:#c42b1c !important;color:#fff;}
.fw-btn-dock:hover{background:rgba(255,255,255,0.2);}

/* Resize handles */
.fw-resize{position:absolute;}
.fw-resize-n{top:0;left:8px;right:8px;height:5px;cursor:n-resize;}
.fw-resize-s{bottom:0;left:8px;right:8px;height:5px;cursor:s-resize;}
.fw-resize-e{right:0;top:8px;bottom:8px;width:5px;cursor:e-resize;}
.fw-resize-w{left:0;top:8px;bottom:8px;width:5px;cursor:w-resize;}
.fw-resize-ne{top:0;right:0;width:10px;height:10px;cursor:ne-resize;}
.fw-resize-nw{top:0;left:0;width:10px;height:10px;cursor:nw-resize;}
.fw-resize-se{bottom:0;right:0;width:10px;height:10px;cursor:se-resize;}
.fw-resize-sw{bottom:0;left:0;width:10px;height:10px;cursor:sw-resize;}


/* ══════════ TASKBAR (barra inferior estilo Windows) ══════════ */
.fw-taskbar {
    position: fixed;
    bottom: 0;
    left: 240px;
    right: 0;
    height: 40px;
    background: linear-gradient(180deg, #1e293b, #0f172a);
    border-top: 1px solid #334155;
    display: flex;
    align-items: center;
    padding: 0 12px;
    gap: 4px;
    z-index: 99970;
    box-shadow: 0 -2px 12px rgba(0,0,0,0.2);
}
.fw-taskbar-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 11px;
    font-weight: 500;
    color: #cbd5e1;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.06);
    transition: all 0.15s;
    max-width: 180px;
    white-space: nowrap;
    overflow: hidden;
}
.fw-taskbar-item:hover {
    background: rgba(255,255,255,0.12);
    color: #fff;
}
.fw-taskbar-item span {
    overflow: hidden;
    text-overflow: ellipsis;
}
.fw-taskbar-active {
    background: rgba(59,130,246,0.2) !important;
    border-color: rgba(59,130,246,0.4) !important;
    color: #fff !important;
}
.fw-taskbar-close {
    font-size: 9px;
    color: #64748b;
    margin-left: 4px;
    padding: 2px 3px;
    border-radius: 3px;
    transition: all 0.15s;
}
.fw-taskbar-close:hover {
    color: #fff;
    background: #dc2626;
}

/* System tray (derecha de la taskbar) */
.fw-taskbar-tray {
    display: flex;
    align-items: center;
    gap: 4px;
    padding-left: 8px;
    border-left: 1px solid #334155;
    margin-left: 4px;
}
.fw-tray-icon {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.15s;
    font-size: 13px;
}
.fw-tray-icon:hover {
    background: rgba(255,255,255,0.12);
}
.fw-tray-clock {
    font-size: 10px;
    color: #cbd5e1;
    text-align: right;
    line-height: 1.3;
    padding: 0 8px;
    cursor: default;
}

/* Preview tooltip al pasar mouse sobre item de taskbar */
.fw-taskbar-preview {
    position: fixed;
    display: none;
    width: 240px;
    height: 160px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.25), 0 0 0 1px rgba(0,0,0,0.06);
    overflow: hidden;
    z-index: 99975;
}
.fw-preview-header {
    padding: 6px 10px;
    font-size: 10px;
    font-weight: 600;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 6px;
}
.fw-preview-body {
    height: calc(100% - 28px);
    background: #f8fafc;
    overflow: hidden;
}
